diff --git a/apps/fabro-web/app/components/playground/canvas/canvas.tsx b/apps/fabro-web/app/components/playground/canvas/canvas.tsx new file mode 100644 index 000000000..54347c190 --- /dev/null +++ b/apps/fabro-web/app/components/playground/canvas/canvas.tsx @@ -0,0 +1,253 @@ +import { useCallback, useMemo, useRef, useState } from "react"; +import { MinusIcon, PlusIcon } from "@heroicons/react/20/solid"; + +import type { WorkflowDraft } from "../state/draft"; +import { renderCanvasDot } from "./render-canvas"; +import type { SimulationState } from "./simulation"; +import { useCanvasRender } from "./use-canvas-render"; + +const ZOOM_STEPS = [25, 50, 75, 100, 150, 200]; +const DEFAULT_ZOOM_INDEX = 3; // 100% + +/** + * Read a node's id from its SVG `
{error}
+ ) : ( +Loading canvas…
+