@dxos/react-ui-canvas 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/lib/index.mjs +9044 -1135
- package/dist/lib/index.mjs.map +1 -1
- package/dist/types/src/components/About/About.d.ts +13 -0
- package/dist/types/src/components/About/About.d.ts.map +1 -0
- package/dist/types/src/components/About/About.stories.d.ts +7 -0
- package/dist/types/src/components/About/About.stories.d.ts.map +1 -0
- package/dist/types/src/components/About/index.d.ts +2 -0
- package/dist/types/src/components/About/index.d.ts.map +1 -0
- package/dist/types/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/src/components/ControlFrame/ControlFrame.d.ts +8 -2
- package/dist/types/src/components/ControlFrame/ControlFrame.d.ts.map +1 -1
- package/dist/types/src/components/Layers/Layers.d.ts +30 -0
- package/dist/types/src/components/Layers/Layers.d.ts.map +1 -0
- package/dist/types/src/components/Layers/Layers.stories.d.ts +11 -0
- package/dist/types/src/components/Layers/Layers.stories.d.ts.map +1 -0
- package/dist/types/src/components/Layers/index.d.ts +2 -0
- package/dist/types/src/components/Layers/index.d.ts.map +1 -0
- package/dist/types/src/components/Palette/Palette.d.ts +20 -4
- package/dist/types/src/components/Palette/Palette.d.ts.map +1 -1
- package/dist/types/src/components/Palette/Palette.stories.d.ts +22 -0
- package/dist/types/src/components/Palette/Palette.stories.d.ts.map +1 -0
- package/dist/types/src/components/PartEditor/PartEditor.d.ts.map +1 -1
- package/dist/types/src/components/Properties/AlignField.d.ts +23 -0
- package/dist/types/src/components/Properties/AlignField.d.ts.map +1 -0
- package/dist/types/src/components/Properties/ClassField.d.ts +23 -0
- package/dist/types/src/components/Properties/ClassField.d.ts.map +1 -0
- package/dist/types/src/components/Properties/FontField.d.ts +7 -0
- package/dist/types/src/components/Properties/FontField.d.ts.map +1 -0
- package/dist/types/src/components/Properties/LayerField.d.ts +17 -0
- package/dist/types/src/components/Properties/LayerField.d.ts.map +1 -0
- package/dist/types/src/components/Properties/Properties.d.ts +27 -3
- package/dist/types/src/components/Properties/Properties.d.ts.map +1 -1
- package/dist/types/src/components/Properties/Properties.stories.d.ts +20 -0
- package/dist/types/src/components/Properties/Properties.stories.d.ts.map +1 -0
- package/dist/types/src/components/Properties/SceneField.d.ts +8 -0
- package/dist/types/src/components/Properties/SceneField.d.ts.map +1 -0
- package/dist/types/src/components/Properties/StyleGrid.d.ts +15 -5
- package/dist/types/src/components/Properties/StyleGrid.d.ts.map +1 -1
- package/dist/types/src/components/Properties/StyleGrid.stories.d.ts +7 -0
- package/dist/types/src/components/Properties/StyleGrid.stories.d.ts.map +1 -0
- package/dist/types/src/components/SceneLayer/SceneLayer.d.ts +31 -7
- package/dist/types/src/components/SceneLayer/SceneLayer.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/Dock.d.ts +22 -0
- package/dist/types/src/components/SceneView/Dock.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/Dock.stories.d.ts +15 -0
- package/dist/types/src/components/SceneView/Dock.stories.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/SceneView.d.ts +33 -7
- package/dist/types/src/components/SceneView/SceneView.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/SceneView.stories.d.ts +16 -6
- package/dist/types/src/components/SceneView/SceneView.stories.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/SceneViewContext.d.ts +36 -4
- package/dist/types/src/components/SceneView/SceneViewContext.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/Scored.stories.d.ts +4 -4
- package/dist/types/src/components/SceneView/Scored.stories.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/usePointerMachine.d.ts +3 -1
- package/dist/types/src/components/SceneView/usePointerMachine.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/useSceneCamera.d.ts +2 -2
- package/dist/types/src/components/SceneView/useSceneCamera.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/useSceneClipboard.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/useSceneKeys.d.ts.map +1 -1
- package/dist/types/src/components/SceneView/useSceneNavigation.d.ts +7 -4
- package/dist/types/src/components/SceneView/useSceneNavigation.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +2 -0
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useWheel.d.ts +5 -0
- package/dist/types/src/hooks/useWheel.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +4 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/model/atoms.d.ts +21 -3
- package/dist/types/src/model/atoms.d.ts.map +1 -1
- package/dist/types/src/model/projection.d.ts.map +1 -1
- package/dist/types/src/model/projections/constrained.d.ts +2 -1
- package/dist/types/src/model/projections/constrained.d.ts.map +1 -1
- package/dist/types/src/model/projections/dynamic.d.ts.map +1 -1
- package/dist/types/src/model/projections/lattice.d.ts.map +1 -1
- package/dist/types/src/model/registry.d.ts +21 -3
- package/dist/types/src/model/registry.d.ts.map +1 -1
- package/dist/types/src/model/store.d.ts +10 -2
- package/dist/types/src/model/store.d.ts.map +1 -1
- package/dist/types/src/model/types.d.ts +699 -338
- package/dist/types/src/model/types.d.ts.map +1 -1
- package/dist/types/src/playwright/SceneManager.d.ts +1 -1
- package/dist/types/src/playwright/SceneManager.d.ts.map +1 -1
- package/dist/types/src/utils/builder.d.ts +22 -41
- package/dist/types/src/utils/builder.d.ts.map +1 -1
- package/dist/types/src/utils/camera.d.ts +19 -10
- package/dist/types/src/utils/camera.d.ts.map +1 -1
- package/dist/types/src/utils/clipboard.d.ts +4 -2
- package/dist/types/src/utils/clipboard.d.ts.map +1 -1
- package/dist/types/src/utils/diagram.d.ts.map +1 -1
- package/dist/types/src/utils/group.d.ts +14 -0
- package/dist/types/src/utils/group.d.ts.map +1 -0
- package/dist/types/src/utils/group.test.d.ts +2 -0
- package/dist/types/src/utils/group.test.d.ts.map +1 -0
- package/dist/types/src/utils/gutter-route.d.ts +7 -0
- package/dist/types/src/utils/gutter-route.d.ts.map +1 -1
- package/dist/types/src/utils/hit.d.ts +3 -20
- package/dist/types/src/utils/hit.d.ts.map +1 -1
- package/dist/types/src/utils/index.d.ts +3 -0
- package/dist/types/src/utils/index.d.ts.map +1 -1
- package/dist/types/src/utils/lattice.d.ts +5 -0
- package/dist/types/src/utils/lattice.d.ts.map +1 -1
- package/dist/types/src/utils/layers.d.ts +35 -0
- package/dist/types/src/utils/layers.d.ts.map +1 -0
- package/dist/types/src/utils/layers.test.d.ts +2 -0
- package/dist/types/src/utils/layers.test.d.ts.map +1 -0
- package/dist/types/src/utils/parts.d.ts +25 -9
- package/dist/types/src/utils/parts.d.ts.map +1 -1
- package/dist/types/src/utils/ports.d.ts +2 -0
- package/dist/types/src/utils/ports.d.ts.map +1 -1
- package/dist/types/src/utils/properties.d.ts +4 -3
- package/dist/types/src/utils/properties.d.ts.map +1 -1
- package/dist/types/src/utils/route.d.ts +5 -0
- package/dist/types/src/utils/route.d.ts.map +1 -1
- package/dist/types/src/utils/scenes.d.ts +14 -0
- package/dist/types/src/utils/scenes.d.ts.map +1 -0
- package/dist/types/src/utils/scenes.test.d.ts +2 -0
- package/dist/types/src/utils/scenes.test.d.ts.map +1 -0
- package/dist/types/src/utils/shapes.d.ts +23 -9
- package/dist/types/src/utils/shapes.d.ts.map +1 -1
- package/dist/types/src/utils/style.d.ts +29 -6
- package/dist/types/src/utils/style.d.ts.map +1 -1
- package/dist/types/src/utils/style.test.d.ts +2 -0
- package/dist/types/src/utils/style.test.d.ts.map +1 -0
- package/dist/types/src/utils/testing.d.ts +2 -2
- package/dist/types/src/utils/testing.d.ts.map +1 -1
- package/dist/types/src/utils/undo.d.ts +15 -4
- package/dist/types/src/utils/undo.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -26
- package/src/components/About/About.stories.tsx +32 -0
- package/src/components/About/About.tsx +38 -0
- package/src/components/About/index.ts +5 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +17 -3
- package/src/components/ControlFrame/ControlFrame.tsx +138 -82
- package/src/components/Grid/Grid.stories.tsx +1 -1
- package/src/components/Layers/Layers.stories.tsx +131 -0
- package/src/components/Layers/Layers.tsx +216 -0
- package/src/components/Layers/index.ts +5 -0
- package/src/components/Palette/Palette.stories.tsx +135 -0
- package/src/components/Palette/Palette.tsx +230 -39
- package/src/components/PartEditor/PartEditor.tsx +4 -3
- package/src/components/Properties/AlignField.tsx +117 -0
- package/src/components/Properties/ClassField.tsx +44 -0
- package/src/components/Properties/FontField.tsx +73 -0
- package/src/components/Properties/LayerField.tsx +61 -0
- package/src/components/Properties/Properties.stories.tsx +113 -0
- package/src/components/Properties/Properties.tsx +240 -60
- package/src/components/Properties/SceneField.tsx +22 -0
- package/src/components/Properties/StyleGrid.stories.tsx +50 -0
- package/src/components/Properties/StyleGrid.tsx +54 -26
- package/src/components/SceneLayer/SceneLayer.tsx +497 -188
- package/src/components/SceneView/Constrained.stories.tsx +1 -1
- package/src/components/SceneView/Dock.stories.tsx +95 -0
- package/src/components/SceneView/Dock.tsx +146 -0
- package/src/components/SceneView/Dynamic.stories.tsx +1 -1
- package/src/components/SceneView/SceneView.stories.tsx +170 -18
- package/src/components/SceneView/SceneView.tsx +565 -151
- package/src/components/SceneView/SceneViewContext.ts +23 -2
- package/src/components/SceneView/Scored.stories.tsx +11 -11
- package/src/components/SceneView/usePointerMachine.ts +80 -20
- package/src/components/SceneView/useSceneCamera.ts +15 -8
- package/src/components/SceneView/useSceneClipboard.ts +4 -0
- package/src/components/SceneView/useSceneKeys.ts +6 -4
- package/src/components/SceneView/useSceneNavigation.ts +44 -33
- package/src/components/Toolbar/Toolbar.stories.tsx +14 -15
- package/src/components/Toolbar/Toolbar.tsx +15 -4
- package/src/components/index.ts +2 -0
- package/src/hooks/useWheel.ts +35 -0
- package/src/index.ts +4 -3
- package/src/model/atoms.ts +27 -3
- package/src/model/projection.ts +5 -0
- package/src/model/projections/constrained.test.ts +18 -10
- package/src/model/projections/constrained.ts +19 -8
- package/src/model/projections/dynamic.ts +5 -2
- package/src/model/projections/lattice.ts +15 -3
- package/src/model/registry.test.ts +14 -9
- package/src/model/registry.ts +39 -34
- package/src/model/store.ts +12 -2
- package/src/model/types.ts +124 -36
- package/src/playwright/SceneManager.ts +2 -2
- package/src/playwright/create.spec.ts +5 -3
- package/src/playwright/demo.spec.ts +2 -2
- package/src/playwright/lattice.spec.ts +4 -5
- package/src/playwright/scene.spec.ts +27 -25
- package/src/utils/builder.test.ts +46 -9
- package/src/utils/builder.ts +42 -18
- package/src/utils/camera.test.ts +22 -51
- package/src/utils/camera.ts +39 -32
- package/src/utils/clipboard.test.ts +23 -2
- package/src/utils/clipboard.ts +8 -4
- package/src/utils/diagram.test.ts +3 -1
- package/src/utils/diagram.ts +3 -25
- package/src/utils/group.test.ts +69 -0
- package/src/utils/group.ts +94 -0
- package/src/utils/gutter-route.test.ts +49 -0
- package/src/utils/gutter-route.ts +142 -16
- package/src/utils/hit.test.ts +4 -38
- package/src/utils/hit.ts +4 -26
- package/src/utils/index.ts +3 -0
- package/src/utils/lattice.ts +7 -1
- package/src/utils/layers.test.ts +139 -0
- package/src/utils/layers.ts +175 -0
- package/src/utils/parts.test.ts +66 -32
- package/src/utils/parts.ts +63 -41
- package/src/utils/ports.ts +7 -4
- package/src/utils/properties.test.ts +23 -6
- package/src/utils/properties.ts +66 -16
- package/src/utils/route.test.ts +51 -2
- package/src/utils/route.ts +133 -23
- package/src/utils/scenes.test.ts +38 -0
- package/src/utils/scenes.ts +54 -0
- package/src/utils/shapes.test.ts +33 -8
- package/src/utils/shapes.ts +51 -35
- package/src/utils/style.test.ts +54 -0
- package/src/utils/style.ts +153 -40
- package/src/utils/testing.test.ts +3 -3
- package/src/utils/testing.ts +21 -30
- package/src/utils/undo.test.ts +25 -2
- package/src/utils/undo.ts +50 -13
- package/dist/lib/chunk-Grid.mjs +0 -99
- package/dist/lib/chunk-Grid.mjs.map +0 -1
- package/dist/lib/scene.mjs +0 -6835
- package/dist/lib/scene.mjs.map +0 -1
- package/dist/lib/types.mjs +0 -16
- package/dist/lib/types.mjs.map +0 -1
- package/dist/types/src/archive/components/Canvas/Canvas.d.ts +0 -15
- package/dist/types/src/archive/components/Canvas/Canvas.d.ts.map +0 -1
- package/dist/types/src/archive/components/Canvas/Canvas.stories.d.ts +0 -18
- package/dist/types/src/archive/components/Canvas/Canvas.stories.d.ts.map +0 -1
- package/dist/types/src/archive/components/Canvas/index.d.ts +0 -2
- package/dist/types/src/archive/components/Canvas/index.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/CellGrid.d.ts +0 -21
- package/dist/types/src/archive/components/CellGrid/CellGrid.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/CellGrid.stories.d.ts +0 -21
- package/dist/types/src/archive/components/CellGrid/CellGrid.stories.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/headers/Ruler.d.ts +0 -15
- package/dist/types/src/archive/components/CellGrid/headers/Ruler.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/headers/TrackHeader.d.ts +0 -19
- package/dist/types/src/archive/components/CellGrid/headers/TrackHeader.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/headers/index.d.ts +0 -3
- package/dist/types/src/archive/components/CellGrid/headers/index.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/index.d.ts +0 -6
- package/dist/types/src/archive/components/CellGrid/index.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/input/index.d.ts +0 -3
- package/dist/types/src/archive/components/CellGrid/input/index.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/input/pointer.d.ts +0 -33
- package/dist/types/src/archive/components/CellGrid/input/pointer.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/input/wheel.d.ts +0 -14
- package/dist/types/src/archive/components/CellGrid/input/wheel.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/render/index.d.ts +0 -3
- package/dist/types/src/archive/components/CellGrid/render/index.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/render/overlay-layer.d.ts +0 -21
- package/dist/types/src/archive/components/CellGrid/render/overlay-layer.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/render/static-layer.d.ts +0 -36
- package/dist/types/src/archive/components/CellGrid/render/static-layer.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/state/atoms.d.ts +0 -23
- package/dist/types/src/archive/components/CellGrid/state/atoms.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/state/index.d.ts +0 -4
- package/dist/types/src/archive/components/CellGrid/state/index.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/state/types.d.ts +0 -39
- package/dist/types/src/archive/components/CellGrid/state/types.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/state/viewport.d.ts +0 -52
- package/dist/types/src/archive/components/CellGrid/state/viewport.d.ts.map +0 -1
- package/dist/types/src/archive/components/CellGrid/state/viewport.test.d.ts +0 -2
- package/dist/types/src/archive/components/CellGrid/state/viewport.test.d.ts.map +0 -1
- package/dist/types/src/archive/components/FPS.d.ts +0 -9
- package/dist/types/src/archive/components/FPS.d.ts.map +0 -1
- package/dist/types/src/archive/components/Grid/Grid.d.ts +0 -6
- package/dist/types/src/archive/components/Grid/Grid.d.ts.map +0 -1
- package/dist/types/src/archive/components/Grid/index.d.ts +0 -2
- package/dist/types/src/archive/components/Grid/index.d.ts.map +0 -1
- package/dist/types/src/archive/components/index.d.ts +0 -5
- package/dist/types/src/archive/components/index.d.ts.map +0 -1
- package/dist/types/src/archive/hooks/index.d.ts +0 -5
- package/dist/types/src/archive/hooks/index.d.ts.map +0 -1
- package/dist/types/src/archive/hooks/projection.d.ts +0 -60
- package/dist/types/src/archive/hooks/projection.d.ts.map +0 -1
- package/dist/types/src/archive/hooks/useCanvasContext.d.ts +0 -13
- package/dist/types/src/archive/hooks/useCanvasContext.d.ts.map +0 -1
- package/dist/types/src/archive/hooks/useDrag.d.ts +0 -6
- package/dist/types/src/archive/hooks/useDrag.d.ts.map +0 -1
- package/dist/types/src/archive/hooks/useWheel.d.ts +0 -8
- package/dist/types/src/archive/hooks/useWheel.d.ts.map +0 -1
- package/dist/types/src/archive/index.d.ts +0 -5
- package/dist/types/src/archive/index.d.ts.map +0 -1
- package/dist/types/src/archive/types.d.ts +0 -19
- package/dist/types/src/archive/types.d.ts.map +0 -1
- package/dist/types/src/archive/util/index.d.ts +0 -4
- package/dist/types/src/archive/util/index.d.ts.map +0 -1
- package/dist/types/src/archive/util/svg-path.d.ts +0 -4
- package/dist/types/src/archive/util/svg-path.d.ts.map +0 -1
- package/dist/types/src/archive/util/svg.d.ts +0 -32
- package/dist/types/src/archive/util/svg.d.ts.map +0 -1
- package/dist/types/src/archive/util/svg.stories.d.ts +0 -15
- package/dist/types/src/archive/util/svg.stories.d.ts.map +0 -1
- package/dist/types/src/archive/util/util.d.ts +0 -17
- package/dist/types/src/archive/util/util.d.ts.map +0 -1
- package/dist/types/src/scene.d.ts +0 -5
- package/dist/types/src/scene.d.ts.map +0 -1
- package/src/archive/components/Canvas/Canvas.stories.tsx +0 -111
- package/src/archive/components/Canvas/Canvas.tsx +0 -87
- package/src/archive/components/Canvas/index.ts +0 -5
- package/src/archive/components/CellGrid/CellGrid.stories.tsx +0 -239
- package/src/archive/components/CellGrid/CellGrid.tsx +0 -270
- package/src/archive/components/CellGrid/headers/Ruler.tsx +0 -71
- package/src/archive/components/CellGrid/headers/TrackHeader.tsx +0 -58
- package/src/archive/components/CellGrid/headers/index.ts +0 -6
- package/src/archive/components/CellGrid/index.ts +0 -9
- package/src/archive/components/CellGrid/input/index.ts +0 -6
- package/src/archive/components/CellGrid/input/pointer.ts +0 -236
- package/src/archive/components/CellGrid/input/wheel.ts +0 -68
- package/src/archive/components/CellGrid/render/index.ts +0 -6
- package/src/archive/components/CellGrid/render/overlay-layer.ts +0 -66
- package/src/archive/components/CellGrid/render/static-layer.ts +0 -112
- package/src/archive/components/CellGrid/state/atoms.ts +0 -43
- package/src/archive/components/CellGrid/state/index.ts +0 -7
- package/src/archive/components/CellGrid/state/types.ts +0 -40
- package/src/archive/components/CellGrid/state/viewport.test.ts +0 -50
- package/src/archive/components/CellGrid/state/viewport.ts +0 -94
- package/src/archive/components/FPS.tsx +0 -98
- package/src/archive/components/Grid/Grid.tsx +0 -17
- package/src/archive/components/Grid/index.ts +0 -5
- package/src/archive/components/index.ts +0 -8
- package/src/archive/hooks/index.ts +0 -8
- package/src/archive/hooks/projection.tsx +0 -156
- package/src/archive/hooks/useCanvasContext.ts +0 -32
- package/src/archive/hooks/useDrag.tsx +0 -96
- package/src/archive/hooks/useWheel.tsx +0 -80
- package/src/archive/index.ts +0 -8
- package/src/archive/types.ts +0 -14
- package/src/archive/util/index.ts +0 -7
- package/src/archive/util/svg-path.ts +0 -13
- package/src/archive/util/svg.stories.tsx +0 -46
- package/src/archive/util/svg.tsx +0 -128
- package/src/archive/util/util.ts +0 -50
- package/src/scene.ts +0 -9
|
@@ -2,7 +2,7 @@ import * as Atom from 'effect/reactivity/Atom';
|
|
|
2
2
|
import { type Clipboard } from '../utils/clipboard.ts';
|
|
3
3
|
import { type PartKey } from '../utils/parts.ts';
|
|
4
4
|
import { type UndoState } from '../utils/undo.ts';
|
|
5
|
-
import { type Bounds, type Camera, type ElementId, type Endpoint, type LinkId, type LinkType, type NodeId, type NodeType, type Point, type SceneId, type Side, type Tool } from './types.ts';
|
|
5
|
+
import { type Bounds, type Camera, type ElementId, type Endpoint, type LayerId, type LinkId, type LinkType, type NodeId, type NodeType, type Point, type SceneId, type Side, type Tool } from './types.ts';
|
|
6
6
|
export type Handle = 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw';
|
|
7
7
|
/**
|
|
8
8
|
* The pointer machine's state. A node gesture (move, resize, create, a spline point) shows its geometry
|
|
@@ -24,7 +24,8 @@ export type Drag =
|
|
|
24
24
|
/**
|
|
25
25
|
* Moving the selection; `anchor` is the pressed node's top-left, which is what snaps to the grid,
|
|
26
26
|
* and `delta` the resulting scene-space offset applied transiently to every selected node. With
|
|
27
|
-
* `copy` (⌘ held) the originals stay and copies land at `delta` instead.
|
|
27
|
+
* `copy` (⌘ held) the originals stay and copies land at `delta` instead. `raw` is the pointer's own offset, which
|
|
28
|
+
* the nodes follow while the drag is in flight; `delta` is where they land.
|
|
28
29
|
*/
|
|
29
30
|
| {
|
|
30
31
|
kind: 'move';
|
|
@@ -32,6 +33,7 @@ export type Drag =
|
|
|
32
33
|
origin: Point;
|
|
33
34
|
anchor: Point;
|
|
34
35
|
delta: Point;
|
|
36
|
+
raw?: Point;
|
|
35
37
|
copy?: boolean;
|
|
36
38
|
}
|
|
37
39
|
/** Resizing one node by a handle; `bounds` is the transient result. */
|
|
@@ -83,6 +85,11 @@ export type Drag =
|
|
|
83
85
|
to: Point;
|
|
84
86
|
target?: Endpoint;
|
|
85
87
|
};
|
|
88
|
+
/**
|
|
89
|
+
* Whether a move has left where it was pressed: until it does, a press on a selected node is a click, and the
|
|
90
|
+
* selection keeps its outline and handles rather than flickering off and on.
|
|
91
|
+
*/
|
|
92
|
+
export declare const isMoving: (drag: Drag | undefined) => boolean;
|
|
86
93
|
export type HistoryEntry = {
|
|
87
94
|
path: SceneId[];
|
|
88
95
|
camera: Camera;
|
|
@@ -96,11 +103,17 @@ export type EditingPart = {
|
|
|
96
103
|
id: NodeId;
|
|
97
104
|
part: PartKey;
|
|
98
105
|
};
|
|
106
|
+
/** Where the properties and layers panels sit: floating over the canvas, or docked in a column beside it. */
|
|
107
|
+
export type PanelMode = 'floating' | 'docked';
|
|
99
108
|
export type SceneViewAtoms = {
|
|
100
109
|
camera: Atom.Writable<Camera>;
|
|
101
110
|
path: Atom.Writable<SceneId[]>;
|
|
102
111
|
selection: Atom.Writable<ReadonlySet<ElementId>>;
|
|
103
112
|
hover: Atom.Writable<NodeId | undefined>;
|
|
113
|
+
/** The link under the pointer, which shows its end handles as a selected one does. */
|
|
114
|
+
linkHover: Atom.Writable<LinkId | undefined>;
|
|
115
|
+
/** The layer new shapes and links go on; unset (or a layer the scene does not have), the top one. */
|
|
116
|
+
layer: Atom.Writable<LayerId | undefined>;
|
|
104
117
|
/** The selected control point of a selected spline, if any. */
|
|
105
118
|
point: Atom.Writable<ControlPointRef | undefined>;
|
|
106
119
|
tool: Atom.Writable<Tool>;
|
|
@@ -108,7 +121,7 @@ export type SceneViewAtoms = {
|
|
|
108
121
|
linkType: Atom.Writable<LinkType>;
|
|
109
122
|
/** Grid shown and moves/resizes snapped to it. */
|
|
110
123
|
snap: Atom.Writable<boolean>;
|
|
111
|
-
/** Guides shown:
|
|
124
|
+
/** Guides shown: on a lattice, its cells. */
|
|
112
125
|
guides: Atom.Writable<boolean>;
|
|
113
126
|
/** On a lattice scene, snap lands on the lattice's cells rather than the basic grid. */
|
|
114
127
|
lattice: Atom.Writable<boolean>;
|
|
@@ -122,6 +135,11 @@ export type SceneViewAtoms = {
|
|
|
122
135
|
/** The last cut or copied fragment (`clipboard.ts`). */
|
|
123
136
|
clipboard: Atom.Writable<Clipboard | undefined>;
|
|
124
137
|
editing: Atom.Writable<EditingPart | undefined>;
|
|
138
|
+
/**
|
|
139
|
+
* The node whose embedded content takes input (an editor in a frame), entered by clicking the node; any other
|
|
140
|
+
* node's embedded content is inert, so a press anywhere on it selects and moves it.
|
|
141
|
+
*/
|
|
142
|
+
active: Atom.Writable<NodeId | undefined>;
|
|
125
143
|
/** Frames show their id, type and geometry. */
|
|
126
144
|
debug: Atom.Writable<boolean>;
|
|
127
145
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../../../src/model/atoms.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,IAAI;AACd,iEAAiE;AAC/D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE;AAC9B,8FAA8F;GAC5F;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,CAAA;CAAE;AACnF
|
|
1
|
+
{"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../../../src/model/atoms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/model/projection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/model/projection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,MAAM,EAIX,KAAK,KAAK,EACV,KAAK,OAAO,EAEb,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,UAAU,GAAG;IACvB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,gEAAgE;IAChE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACnD,iGAAiG;IACjG,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAIF,iGAAiG;AACjG,eAAO,MAAM,YAAY,UAAW,KAAK,UAAU,MAAM,KAAG,KAsG3D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAQlC,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,EAAE,YAQlC,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,iCAAkC,yBAAyB,KAAG,UAWjG,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Atom from 'effect/reactivity/Atom';
|
|
2
2
|
import type * as Registry from 'effect/reactivity/AtomRegistry';
|
|
3
3
|
import { type Projection } from '../projection.ts';
|
|
4
|
-
import { type BuiltinNodeType, type Capabilities, type Point, type Scene, type Size } from '../types.ts';
|
|
4
|
+
import { type BuiltinNodeType, type Capabilities, type NodeStyle, type Point, type Scene, type Size } from '../types.ts';
|
|
5
5
|
/** `subject <relation> object`: "A east of B", "A aligned with B" (same row). */
|
|
6
6
|
export type Relation = 'east' | 'west' | 'north' | 'south' | 'aligned';
|
|
7
7
|
export type Constraint = {
|
|
@@ -14,6 +14,7 @@ export type ConstrainedNode = {
|
|
|
14
14
|
id: string;
|
|
15
15
|
label?: string;
|
|
16
16
|
type?: BuiltinNodeType;
|
|
17
|
+
style?: NodeStyle;
|
|
17
18
|
};
|
|
18
19
|
export type ConstrainedModel = {
|
|
19
20
|
nodes: ConstrainedNode[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constrained.d.ts","sourceRoot":"","sources":["../../../../../src/model/projections/constrained.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"constrained.d.ts","sourceRoot":"","sources":["../../../../../src/model/projections/constrained.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAQhE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EAGjB,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,IAAI,EAGV,MAAM,aAAa,CAAC;AAErB,iFAAiF;AACjF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAExG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mCAAmC;IACnC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,2EAA2E;IAC3E,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,2EAA2E;IAC3E,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAQF,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AA0ClD,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,UAAU,UAAW,gBAAgB,KAAG,QAqEpD,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,KAAK,UAAW,gBAAgB,YAAW,kBAAkB,KAAQ,KAuBjF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,UAAW,gBAAgB,SAAS,KAAK,MAAM,MAAM,SAAS,KAAK,KAAG,gBAgChG,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,OAAO,WAAY,MAAM,KAAG,MAAM,GAAG,SAWjD,CAAC;AAKF,eAAO,MAAM,uBAAuB,EAAE,YAAuE,CAAC;AAE9G,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;IAChC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,2BAA2B,iCAAkC,4BAA4B,KAAG,UA2ExG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../../../../src/model/projections/dynamic.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../../../../src/model/projections/dynamic.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAQhE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EAIjB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,IAAI,EAEV,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAC/E,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,2EAA2E;IAC3E,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAQF,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,6FAA6F;AAC7F,eAAO,MAAM,WAAW,UAAW,UAAU,WAAW,OAAO,YAAW,cAAc,KAAQ,KAqD/F,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,YAAY,UAAW,UAAU,WAAW,OAAO,KAAG,OAIlE,CAAC;AAOF,eAAO,MAAM,mBAAmB,EAAE,YAAqE,CAAC;AAExG,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;IAChC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,2CAKjC,wBAAwB,KAAG,UA2E7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lattice.d.ts","sourceRoot":"","sources":["../../../../../src/model/projections/lattice.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"lattice.d.ts","sourceRoot":"","sources":["../../../../../src/model/projections/lattice.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,WAAW,EASjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EAIhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,MAAM,EAAa,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAEjH,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,EAAE,YAAyD,CAAC;AAsB5F;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAW,KAAK,UAAU,MAAM,QAAQ,WAAW,KAAG,MAAM,GAAG,SAyF1F,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,yBAAyB,GAAG;IACjE,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,qDAMjC,wBAAwB,KAAG,UAgB7B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type * as Schema from 'effect/Schema';
|
|
2
2
|
import { type ComponentType } from 'react';
|
|
3
|
-
import { type
|
|
3
|
+
import { type FormFieldMap } from '@dxos/react-ui-form';
|
|
4
|
+
import { type PartEditing, type PartField } from '../utils/parts.ts';
|
|
4
5
|
import { type SceneStore } from './store.ts';
|
|
5
6
|
import { type LinkType, type Node, type NodeBase, type NodeType, type Point, type Port, type Scene, type Size } from './types.ts';
|
|
6
7
|
export type NodeViewProps = {
|
|
@@ -19,6 +20,8 @@ export type NodeViewProps = {
|
|
|
19
20
|
opening?: boolean;
|
|
20
21
|
/** The text part of this node being edited in place, with the editor's callbacks. */
|
|
21
22
|
editing?: PartEditing;
|
|
23
|
+
/** The node's embedded content takes input (`SceneViewAtoms.active`); otherwise it should be inert. */
|
|
24
|
+
active?: boolean;
|
|
22
25
|
/** Opens the node (drills into a portal); absent where the layer is read-only. */
|
|
23
26
|
onOpen?: () => void;
|
|
24
27
|
};
|
|
@@ -41,6 +44,7 @@ export type NodeDef = {
|
|
|
41
44
|
component: ComponentType<NodeViewProps>;
|
|
42
45
|
/** A new node of the type with its default content, for the palette tool and drop-on-canvas. */
|
|
43
46
|
create: (props: CreateProps) => Node;
|
|
47
|
+
/** Size when created, in nominal units: one unit is the drawing's major grid cell. */
|
|
44
48
|
defaultSize: Size;
|
|
45
49
|
/** Explicit port layout; absent, the type gets `portsPerSide` ports spread along each side. */
|
|
46
50
|
ports?: (node: Node) => readonly Port[];
|
|
@@ -49,8 +53,22 @@ export type NodeDef = {
|
|
|
49
53
|
resizable?: boolean;
|
|
50
54
|
minSize?: Size;
|
|
51
55
|
maxSize?: Size;
|
|
52
|
-
/** Double-click opens the node (a
|
|
56
|
+
/** Double-click opens the node (a frame drills in; a text node edits, later). */
|
|
53
57
|
openable?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* The host's own way to open this node, when it has one (a frame showing an object rather than a scene):
|
|
60
|
+
* opening calls it instead of drilling in, and auto-drill passes the node by.
|
|
61
|
+
*/
|
|
62
|
+
hostOpen?: (node: Node) => (() => void) | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Controls floating above the node, flush with its right edge and at screen size, so they neither cover the node's
|
|
65
|
+
* content nor scale with the camera; renders nothing when it returns `null`.
|
|
66
|
+
*/
|
|
67
|
+
toolbar?: ComponentType<NodeViewProps>;
|
|
68
|
+
/** The text properties edited in place, in order; the first is the node's main text. */
|
|
69
|
+
parts?: readonly PartField[];
|
|
70
|
+
/** Properties-panel renderers for this type's fields, by path (e.g. a list as lines). */
|
|
71
|
+
fields?: FormFieldMap;
|
|
54
72
|
};
|
|
55
73
|
/**
|
|
56
74
|
* A node type as declared: a `NodeDef` whose fields may be left to its prototype. A prototype (a spec in
|
|
@@ -76,7 +94,7 @@ export type NodeRegistry = Readonly<Record<NodeType, NodeDef>>;
|
|
|
76
94
|
export type LinkRegistry = Readonly<Record<LinkType, LinkDef>>;
|
|
77
95
|
/**
|
|
78
96
|
* A framed shape with a centred, editable label: resizable, with ports spread along every side. The
|
|
79
|
-
* built-in rectangle and
|
|
97
|
+
* built-in rectangle and frame are both boxes; a host type can extend it too.
|
|
80
98
|
*/
|
|
81
99
|
export declare const boxPrototype: NodeDefSpec;
|
|
82
100
|
export declare const defaultNodePrototypes: Readonly<Record<string, NodeDefSpec>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/model/registry.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/model/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import * as Atom from 'effect/reactivity/Atom';
|
|
2
2
|
import type * as Registry from 'effect/reactivity/AtomRegistry';
|
|
3
|
-
import { type Scene, type SceneId } from './types.ts';
|
|
3
|
+
import { type Scene, type SceneId, type StyleMap } from './types.ts';
|
|
4
4
|
export type SceneMap = Readonly<Record<SceneId, Scene>>;
|
|
5
5
|
export type SceneStore = {
|
|
6
6
|
/** Every scene, keyed by id. Written through the registry. */
|
|
7
7
|
readonly scenes: Atom.Writable<SceneMap>;
|
|
8
8
|
/** Derived atom for one scene; stable per id so subscriptions do not churn. */
|
|
9
9
|
scene: (id: SceneId) => Atom.Atom<Scene | undefined>;
|
|
10
|
+
/** The drawing's style classes; a store without them offers none. */
|
|
11
|
+
readonly styles?: Atom.Writable<StyleMap>;
|
|
10
12
|
};
|
|
11
|
-
|
|
13
|
+
/** A store held in memory, which always keeps style classes. */
|
|
14
|
+
export type MemorySceneStore = SceneStore & {
|
|
15
|
+
readonly styles: Atom.Writable<StyleMap>;
|
|
16
|
+
};
|
|
17
|
+
export declare const createMemoryStore: (initial?: readonly Scene[], initialStyles?: StyleMap) => MemorySceneStore;
|
|
12
18
|
/** Replace one scene in the store (a no-op when the updater returns the same object). */
|
|
13
19
|
export declare const updateScene: (registry: Registry.AtomRegistry, store: SceneStore, id: SceneId, update: (scene: Scene) => Scene) => void;
|
|
14
20
|
export declare const putScene: (registry: Registry.AtomRegistry, store: SceneStore, scene: Scene) => void;
|
|
21
|
+
/** No classes: what a store without `styles` reads as. */
|
|
22
|
+
export declare const NO_STYLES: Atom.Atom<StyleMap>;
|
|
15
23
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/model/store.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/model/store.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,+EAA+E;IAC/E,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACrD,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;CAAE,CAAC;AAEzF,eAAO,MAAM,iBAAiB,aAAa,SAAS,KAAK,EAAE,kBAAsB,QAAQ,KAAQ,gBAgBhG,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,WAAW,aACZ,QAAQ,CAAC,YAAY,SACxB,UAAU,MACb,OAAO,UACH,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,KAC9B,IAUF,CAAC;AAEF,eAAO,MAAM,QAAQ,aAAc,QAAQ,CAAC,YAAY,SAAS,UAAU,SAAS,KAAK,KAAG,IAE3F,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAA2C,CAAC"}
|