           yield: { button: yieldBtn, editor: new YieldEditor(viewport, world) },
         };

         let oldGraphHash = graph.hash();

         setMode("graph");

         animate();

         function animate() {
            viewport.reset();
            if (graph.hash() != oldGraphHash) {
               world.generate();
               oldGraphHash = graph.hash();
            }
            const viewPoint = scale(viewport.getOffset(), -1);
            world.draw(ctx, viewPoint);
      