orcasvn-react-diagrams 0.1.81 → 0.2.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 +58 -26
- package/ai/api-contract.json +205 -0
- package/ai/invariants.json +41 -0
- package/ai/manifest.json +34 -0
- package/dist/cjs/index.js +4056 -10398
- package/dist/cjs/types/App.d.ts +1 -1
- package/dist/cjs/types/api/__tests__/createDiagramEditor.test.d.ts +1 -0
- package/dist/cjs/types/api/createDiagramEditor.d.ts +22 -0
- package/dist/cjs/types/api/index.d.ts +4 -0
- package/dist/cjs/types/api/types.d.ts +271 -0
- package/dist/cjs/types/displaybox/DisplayBox.d.ts +3 -0
- package/dist/cjs/types/displaybox/DisplayBox.test.d.ts +1 -0
- package/dist/cjs/types/displaybox/DisplayBoxControls.d.ts +18 -0
- package/dist/cjs/types/displaybox/DisplayBoxMetricsContext.d.ts +9 -0
- package/dist/cjs/types/displaybox/DisplayBoxSidebar.d.ts +13 -0
- package/dist/cjs/types/displaybox/DisplayBoxStage.d.ts +10 -0
- package/dist/cjs/types/displaybox/demos/AutoLayoutDemoTab.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/EngineEventsDemoTab.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/EventHandlersDemoTab.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/ExternalDragDropDemoTab.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/LinkCancelDemoTab.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/ObstacleRoutingDemoTab.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/SimpleDemo.d.ts +13 -0
- package/dist/cjs/types/displaybox/demos/SvgPathDemoTab.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/autoLayoutDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/basicDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/childConstraintsDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/customDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/engineEventsDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/eventHandlersDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/externalDragDropDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/gridOverlayDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/index.d.ts +3 -0
- package/dist/cjs/types/displaybox/demos/linkBendHandlesDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/linkCancelDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/linkPortCreationDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/multiLevelTreeDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/multipleElementsDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/nestedDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/obstacleRoutingDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/portBorderDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/portConstraintsDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/routingDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/selectionDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/shapeGalleryDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/shared.d.ts +19 -0
- package/dist/cjs/types/displaybox/demos/svgPathDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/demos/textDemo.d.ts +2 -0
- package/dist/cjs/types/displaybox/types.d.ts +59 -0
- package/dist/cjs/types/displaybox/useDemoControls.d.ts +26 -0
- package/dist/cjs/types/displaybox/useDemoEditor.d.ts +21 -0
- package/dist/cjs/types/displaybox/useOffsetSequence.d.ts +2 -0
- package/dist/cjs/types/engine/CommandQueue.d.ts +9 -0
- package/dist/cjs/types/engine/DiagramEngine.d.ts +115 -0
- package/dist/cjs/types/engine/EngineCommands.d.ts +28 -0
- package/dist/cjs/types/engine/EventBus.d.ts +6 -0
- package/dist/cjs/types/engine/SelectionState.d.ts +7 -0
- package/dist/cjs/types/engine/ViewportState.d.ts +7 -0
- package/dist/cjs/types/engine/__tests__/CommandQueue.test.d.ts +1 -0
- package/dist/cjs/types/engine/__tests__/DiagramEngine.test.d.ts +1 -0
- package/dist/cjs/types/engine/__tests__/EngineCommands.test.d.ts +1 -0
- package/dist/cjs/types/engine/__tests__/EventBus.test.d.ts +1 -0
- package/dist/cjs/types/engine/__tests__/SelectionState.test.d.ts +1 -0
- package/dist/cjs/types/engine/__tests__/ViewportState.test.d.ts +1 -0
- package/dist/cjs/types/engine/__tests__/createDiagramEngine.test.d.ts +1 -0
- package/dist/cjs/types/legacy/App.old.d.ts +4 -0
- package/dist/cjs/types/{components → legacy/components}/paper.d.ts +0 -4
- package/dist/cjs/types/{components → legacy/components}/viewControls/ruler.d.ts +4 -1
- package/dist/cjs/types/legacy/contexts/zoomPanContext.d.ts +23 -0
- package/dist/cjs/types/legacy/models/IEditorConfiguration.d.ts +7 -0
- package/dist/cjs/types/legacy/models/IPaperBounds.d.ts +6 -0
- package/dist/{esm/types → cjs/types/legacy}/models/implementations/EditorContext.d.ts +1 -1
- package/dist/cjs/types/{utils → legacy/utils}/positionUtil.d.ts +2 -1
- package/dist/cjs/types/measure/CanvasTextMeasurer.d.ts +7 -0
- package/dist/cjs/types/measure/TextMeasurer.d.ts +4 -0
- package/dist/cjs/types/measure/__tests__/CanvasTextMeasurer.test.d.ts +1 -0
- package/dist/cjs/types/models/DiagramModel.d.ts +45 -0
- package/dist/cjs/types/models/ElementModel.d.ts +22 -0
- package/dist/cjs/types/models/LinkModel.d.ts +16 -0
- package/dist/cjs/types/models/OwnershipIndex.d.ts +7 -0
- package/dist/cjs/types/models/PortModel.d.ts +17 -0
- package/dist/cjs/types/models/TextModel.d.ts +14 -0
- package/dist/cjs/types/models/__tests__/DiagramModel.test.d.ts +1 -0
- package/dist/cjs/types/models/__tests__/ElementModel.test.d.ts +1 -0
- package/dist/cjs/types/models/__tests__/LinkModel.test.d.ts +1 -0
- package/dist/cjs/types/models/__tests__/OwnershipIndex.test.d.ts +1 -0
- package/dist/cjs/types/models/__tests__/PortModel.test.d.ts +1 -0
- package/dist/cjs/types/models/__tests__/TextModel.test.d.ts +1 -0
- package/dist/cjs/types/renderer/RenderScheduler.d.ts +5 -0
- package/dist/cjs/types/renderer/RenderTypes.d.ts +17 -0
- package/dist/cjs/types/renderer/Renderer.d.ts +8 -0
- package/dist/cjs/types/renderer/__tests__/RenderScheduler.test.d.ts +1 -0
- package/dist/cjs/types/renderer/__tests__/RenderTypes.test.d.ts +1 -0
- package/dist/cjs/types/renderer/konva/KonvaHitTester.d.ts +12 -0
- package/dist/cjs/types/renderer/konva/KonvaInteraction.d.ts +88 -0
- package/dist/cjs/types/renderer/konva/KonvaLayers.d.ts +16 -0
- package/dist/cjs/types/renderer/konva/KonvaNodeFactory.d.ts +66 -0
- package/dist/cjs/types/renderer/konva/KonvaRenderer.d.ts +81 -0
- package/dist/cjs/types/renderer/konva/__tests__/KonvaHitTester.test.d.ts +1 -0
- package/dist/cjs/types/renderer/konva/__tests__/KonvaInteraction.test.d.ts +1 -0
- package/dist/cjs/types/renderer/konva/__tests__/KonvaLayers.test.d.ts +1 -0
- package/dist/cjs/types/renderer/konva/__tests__/KonvaNodeFactory.test.d.ts +1 -0
- package/dist/cjs/types/renderer/konva/__tests__/KonvaRenderer.test.d.ts +1 -0
- package/dist/cjs/types/reportWebVitals.test.d.ts +1 -0
- package/dist/cjs/types/strategies/DefaultRouter.d.ts +5 -0
- package/dist/cjs/types/strategies/DefaultSnapper.d.ts +8 -0
- package/dist/cjs/types/strategies/ObstacleRouter.d.ts +25 -0
- package/dist/cjs/types/strategies/RouterStrategy.d.ts +22 -0
- package/dist/cjs/types/strategies/SnapStrategy.d.ts +4 -0
- package/dist/cjs/types/strategies/__tests__/DefaultRouter.test.d.ts +1 -0
- package/dist/cjs/types/strategies/__tests__/DefaultSnapper.test.d.ts +1 -0
- package/dist/cjs/types/strategies/__tests__/ObstacleRouter.test.d.ts +1 -0
- package/dist/cjs/types/utils/__tests__/geometry.test.d.ts +1 -0
- package/dist/cjs/types/utils/__tests__/guards.test.d.ts +1 -0
- package/dist/cjs/types/utils/__tests__/ids.test.d.ts +1 -0
- package/dist/cjs/types/utils/__tests__/patches.test.d.ts +1 -0
- package/dist/cjs/types/utils/geometry.d.ts +9 -0
- package/dist/cjs/types/utils/guards.d.ts +5 -0
- package/dist/cjs/types/utils/ids.d.ts +1 -0
- package/dist/cjs/types/utils/patches.d.ts +4 -0
- package/dist/esm/index.js +4054 -10345
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/App.d.ts +1 -1
- package/dist/esm/types/api/__tests__/createDiagramEditor.test.d.ts +1 -0
- package/dist/esm/types/api/createDiagramEditor.d.ts +22 -0
- package/dist/esm/types/api/index.d.ts +4 -0
- package/dist/esm/types/api/types.d.ts +271 -0
- package/dist/esm/types/displaybox/DisplayBox.d.ts +3 -0
- package/dist/esm/types/displaybox/DisplayBox.test.d.ts +1 -0
- package/dist/esm/types/displaybox/DisplayBoxControls.d.ts +18 -0
- package/dist/esm/types/displaybox/DisplayBoxMetricsContext.d.ts +9 -0
- package/dist/esm/types/displaybox/DisplayBoxSidebar.d.ts +13 -0
- package/dist/esm/types/displaybox/DisplayBoxStage.d.ts +10 -0
- package/dist/esm/types/displaybox/demos/AutoLayoutDemoTab.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/EngineEventsDemoTab.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/EventHandlersDemoTab.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/ExternalDragDropDemoTab.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/LinkCancelDemoTab.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/ObstacleRoutingDemoTab.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/SimpleDemo.d.ts +13 -0
- package/dist/esm/types/displaybox/demos/SvgPathDemoTab.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/autoLayoutDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/basicDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/childConstraintsDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/customDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/engineEventsDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/eventHandlersDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/externalDragDropDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/gridOverlayDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/index.d.ts +3 -0
- package/dist/esm/types/displaybox/demos/linkBendHandlesDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/linkCancelDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/linkPortCreationDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/multiLevelTreeDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/multipleElementsDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/nestedDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/obstacleRoutingDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/portBorderDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/portConstraintsDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/routingDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/selectionDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/shapeGalleryDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/shared.d.ts +19 -0
- package/dist/esm/types/displaybox/demos/svgPathDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/demos/textDemo.d.ts +2 -0
- package/dist/esm/types/displaybox/types.d.ts +59 -0
- package/dist/esm/types/displaybox/useDemoControls.d.ts +26 -0
- package/dist/esm/types/displaybox/useDemoEditor.d.ts +21 -0
- package/dist/esm/types/displaybox/useOffsetSequence.d.ts +2 -0
- package/dist/esm/types/engine/CommandQueue.d.ts +9 -0
- package/dist/esm/types/engine/DiagramEngine.d.ts +115 -0
- package/dist/esm/types/engine/EngineCommands.d.ts +28 -0
- package/dist/esm/types/engine/EventBus.d.ts +6 -0
- package/dist/esm/types/engine/SelectionState.d.ts +7 -0
- package/dist/esm/types/engine/ViewportState.d.ts +7 -0
- package/dist/esm/types/engine/__tests__/CommandQueue.test.d.ts +1 -0
- package/dist/esm/types/engine/__tests__/DiagramEngine.test.d.ts +1 -0
- package/dist/esm/types/engine/__tests__/EngineCommands.test.d.ts +1 -0
- package/dist/esm/types/engine/__tests__/EventBus.test.d.ts +1 -0
- package/dist/esm/types/engine/__tests__/SelectionState.test.d.ts +1 -0
- package/dist/esm/types/engine/__tests__/ViewportState.test.d.ts +1 -0
- package/dist/esm/types/engine/__tests__/createDiagramEngine.test.d.ts +1 -0
- package/dist/esm/types/legacy/App.old.d.ts +4 -0
- package/dist/esm/types/{components → legacy/components}/paper.d.ts +0 -4
- package/dist/esm/types/{components → legacy/components}/viewControls/ruler.d.ts +4 -1
- package/dist/esm/types/legacy/contexts/zoomPanContext.d.ts +23 -0
- package/dist/esm/types/legacy/models/IEditorConfiguration.d.ts +7 -0
- package/dist/esm/types/legacy/models/IPaperBounds.d.ts +6 -0
- package/dist/{cjs/types → esm/types/legacy}/models/implementations/EditorContext.d.ts +1 -1
- package/dist/esm/types/{utils → legacy/utils}/positionUtil.d.ts +2 -1
- package/dist/esm/types/measure/CanvasTextMeasurer.d.ts +7 -0
- package/dist/esm/types/measure/TextMeasurer.d.ts +4 -0
- package/dist/esm/types/measure/__tests__/CanvasTextMeasurer.test.d.ts +1 -0
- package/dist/esm/types/models/DiagramModel.d.ts +45 -0
- package/dist/esm/types/models/ElementModel.d.ts +22 -0
- package/dist/esm/types/models/LinkModel.d.ts +16 -0
- package/dist/esm/types/models/OwnershipIndex.d.ts +7 -0
- package/dist/esm/types/models/PortModel.d.ts +17 -0
- package/dist/esm/types/models/TextModel.d.ts +14 -0
- package/dist/esm/types/models/__tests__/DiagramModel.test.d.ts +1 -0
- package/dist/esm/types/models/__tests__/ElementModel.test.d.ts +1 -0
- package/dist/esm/types/models/__tests__/LinkModel.test.d.ts +1 -0
- package/dist/esm/types/models/__tests__/OwnershipIndex.test.d.ts +1 -0
- package/dist/esm/types/models/__tests__/PortModel.test.d.ts +1 -0
- package/dist/esm/types/models/__tests__/TextModel.test.d.ts +1 -0
- package/dist/esm/types/renderer/RenderScheduler.d.ts +5 -0
- package/dist/esm/types/renderer/RenderTypes.d.ts +17 -0
- package/dist/esm/types/renderer/Renderer.d.ts +8 -0
- package/dist/esm/types/renderer/__tests__/RenderScheduler.test.d.ts +1 -0
- package/dist/esm/types/renderer/__tests__/RenderTypes.test.d.ts +1 -0
- package/dist/esm/types/renderer/konva/KonvaHitTester.d.ts +12 -0
- package/dist/esm/types/renderer/konva/KonvaInteraction.d.ts +88 -0
- package/dist/esm/types/renderer/konva/KonvaLayers.d.ts +16 -0
- package/dist/esm/types/renderer/konva/KonvaNodeFactory.d.ts +66 -0
- package/dist/esm/types/renderer/konva/KonvaRenderer.d.ts +81 -0
- package/dist/esm/types/renderer/konva/__tests__/KonvaHitTester.test.d.ts +1 -0
- package/dist/esm/types/renderer/konva/__tests__/KonvaInteraction.test.d.ts +1 -0
- package/dist/esm/types/renderer/konva/__tests__/KonvaLayers.test.d.ts +1 -0
- package/dist/esm/types/renderer/konva/__tests__/KonvaNodeFactory.test.d.ts +1 -0
- package/dist/esm/types/renderer/konva/__tests__/KonvaRenderer.test.d.ts +1 -0
- package/dist/esm/types/reportWebVitals.test.d.ts +1 -0
- package/dist/esm/types/strategies/DefaultRouter.d.ts +5 -0
- package/dist/esm/types/strategies/DefaultSnapper.d.ts +8 -0
- package/dist/esm/types/strategies/ObstacleRouter.d.ts +25 -0
- package/dist/esm/types/strategies/RouterStrategy.d.ts +22 -0
- package/dist/esm/types/strategies/SnapStrategy.d.ts +4 -0
- package/dist/esm/types/strategies/__tests__/DefaultRouter.test.d.ts +1 -0
- package/dist/esm/types/strategies/__tests__/DefaultSnapper.test.d.ts +1 -0
- package/dist/esm/types/strategies/__tests__/ObstacleRouter.test.d.ts +1 -0
- package/dist/esm/types/utils/__tests__/geometry.test.d.ts +1 -0
- package/dist/esm/types/utils/__tests__/guards.test.d.ts +1 -0
- package/dist/esm/types/utils/__tests__/ids.test.d.ts +1 -0
- package/dist/esm/types/utils/__tests__/patches.test.d.ts +1 -0
- package/dist/esm/types/utils/geometry.d.ts +9 -0
- package/dist/esm/types/utils/guards.d.ts +5 -0
- package/dist/esm/types/utils/ids.d.ts +1 -0
- package/dist/esm/types/utils/patches.d.ts +4 -0
- package/dist/index.d.ts +443 -633
- package/docs/API_CONTRACT.md +144 -0
- package/docs/ARCHITECTURE.md +31 -0
- package/docs/CAPABILITIES.md +38 -0
- package/docs/COMMANDS_EVENTS.md +60 -0
- package/docs/DOCUMENTATION_WORKFLOW.md +86 -0
- package/docs/INDEX.md +41 -0
- package/docs/INTEGRATION_PLAYBOOK.md +54 -0
- package/docs/PORTING_CHECKLIST.md +58 -0
- package/docs/STATE_INVARIANTS.md +56 -0
- package/docs/fixtures/basic-linked-elements.json +52 -0
- package/docs/fixtures/empty-state.json +11 -0
- package/docs/fixtures/nested-layout.json +54 -0
- package/package.json +21 -7
- package/dist/cjs/types/contexts/zoomContext.d.ts +0 -16
- package/dist/cjs/types/models/IEditorConfiguration.d.ts +0 -3
- package/dist/cjs/types/models/implementations/CustomPort.d.ts +0 -7
- package/dist/cjs/types/models/implementations/CustomPortFromJSXElement.d.ts +0 -7
- package/dist/cjs/types/models/implementations/CustomPortFromShape.d.ts +0 -7
- package/dist/cjs/types/models/implementations/diamondElement.d.ts +0 -11
- package/dist/cjs/types/models/implementations/rectangularFrameElement.d.ts +0 -11
- package/dist/esm/types/contexts/zoomContext.d.ts +0 -16
- package/dist/esm/types/models/IEditorConfiguration.d.ts +0 -3
- package/dist/esm/types/models/implementations/CustomPort.d.ts +0 -7
- package/dist/esm/types/models/implementations/CustomPortFromJSXElement.d.ts +0 -7
- package/dist/esm/types/models/implementations/CustomPortFromShape.d.ts +0 -7
- package/dist/esm/types/models/implementations/diamondElement.d.ts +0 -11
- package/dist/esm/types/models/implementations/rectangularFrameElement.d.ts +0 -11
- /package/dist/cjs/types/{components → legacy/components}/BBoxDebugger.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/CloseIcon.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/LinkDebugger.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/editor.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/elementShowbox.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/elements/dragDropHandlerElement.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/elements/element.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/elements/elementWrapper.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/links/elementLink.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/links/index.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/links/point.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/ports/index.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/ports/port.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapeShowbox.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/circle.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/customShape.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/halfCircle.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/index.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/polygon.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/rectangle.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/rectangularFrame.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/shapes/shapeWrapper.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/svgUtilsShowbox.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/texts/index.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/texts/text.d.ts +0 -0
- /package/dist/cjs/types/{components → legacy/components}/viewControls/selectionFrame.d.ts +0 -0
- /package/dist/cjs/types/{contexts → legacy/contexts}/editorConfigurationContext.d.ts +0 -0
- /package/dist/cjs/types/{contexts → legacy/contexts}/paperEventEmitterContext.d.ts +0 -0
- /package/dist/cjs/types/{hooks → legacy/hooks}/useKeyboardCommands.d.ts +0 -0
- /package/dist/cjs/types/{hooks → legacy/hooks}/useSelectionFrame.d.ts +0 -0
- /package/dist/cjs/types/{logs → legacy/logs}/Logger.d.ts +0 -0
- /package/dist/cjs/types/{logs → legacy/logs}/configureLogger.d.ts +0 -0
- /package/dist/cjs/types/{main.d.ts → legacy/main.d.ts} +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/customPortWithBuiltinShape.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/diamondElement.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContext.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextElementMoveAsPort.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextForOptimizeRerender.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextMultipleElements.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextSingleElement.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextSingleElementTestEvents.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextTriggerRenderElements.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextWithElementAnchorCenter.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/port1.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/port2.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/portIn.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/rectangularFrameElement.d.ts +0 -0
- /package/dist/cjs/types/{mocks → legacy/mocks}/textsWithFlexBox.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IEditorContext.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IElement.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IElementLink.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IElementLinkProps.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IElementProps.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IElementSelectorProps.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IFlexboxType.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IPort.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IPortProps.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IResizability.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IShape.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/IText.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/ITextProps.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/callbackTypes.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/enums/PositioningAnchor.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/enums/ResizingDirection.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/enums/SubObjectDirection.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/enums/TextAlign.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/enums/index.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/implementations/Element.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/implementations/ElementLink.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/implementations/Port.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/implementations/Text.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/implementations/index.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/index.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/position.d.ts +0 -0
- /package/dist/cjs/types/{models → legacy/models}/size.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/constants.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/elementLinkUtil.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/generateUniqueId.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/index.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/lineUtil.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/mathUtil.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/pathUtil.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/portSlideRailSVGUtil.d.ts +0 -0
- /package/dist/cjs/types/{utils → legacy/utils}/svgUtil.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/BBoxDebugger.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/CloseIcon.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/LinkDebugger.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/editor.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/elementShowbox.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/elements/dragDropHandlerElement.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/elements/element.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/elements/elementWrapper.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/links/elementLink.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/links/index.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/links/point.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/ports/index.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/ports/port.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapeShowbox.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/circle.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/customShape.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/halfCircle.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/index.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/polygon.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/rectangle.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/rectangularFrame.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/shapes/shapeWrapper.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/svgUtilsShowbox.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/texts/index.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/texts/text.d.ts +0 -0
- /package/dist/esm/types/{components → legacy/components}/viewControls/selectionFrame.d.ts +0 -0
- /package/dist/esm/types/{contexts → legacy/contexts}/editorConfigurationContext.d.ts +0 -0
- /package/dist/esm/types/{contexts → legacy/contexts}/paperEventEmitterContext.d.ts +0 -0
- /package/dist/esm/types/{hooks → legacy/hooks}/useKeyboardCommands.d.ts +0 -0
- /package/dist/esm/types/{hooks → legacy/hooks}/useSelectionFrame.d.ts +0 -0
- /package/dist/esm/types/{logs → legacy/logs}/Logger.d.ts +0 -0
- /package/dist/esm/types/{logs → legacy/logs}/configureLogger.d.ts +0 -0
- /package/dist/esm/types/{main.d.ts → legacy/main.d.ts} +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/customPortWithBuiltinShape.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/diamondElement.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContext.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContextElementMoveAsPort.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContextForOptimizeRerender.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContextMultipleElements.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContextSingleElement.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContextSingleElementTestEvents.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContextTriggerRenderElements.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/editorContextWithElementAnchorCenter.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/port1.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/port2.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/portIn.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/rectangularFrameElement.d.ts +0 -0
- /package/dist/esm/types/{mocks → legacy/mocks}/textsWithFlexBox.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IEditorContext.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IElement.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IElementLink.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IElementLinkProps.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IElementProps.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IElementSelectorProps.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IFlexboxType.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IPort.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IPortProps.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IResizability.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IShape.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/IText.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/ITextProps.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/callbackTypes.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/enums/PositioningAnchor.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/enums/ResizingDirection.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/enums/SubObjectDirection.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/enums/TextAlign.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/enums/index.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/implementations/Element.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/implementations/ElementLink.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/implementations/Port.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/implementations/Text.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/implementations/index.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/index.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/position.d.ts +0 -0
- /package/dist/esm/types/{models → legacy/models}/size.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/constants.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/elementLinkUtil.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/generateUniqueId.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/index.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/lineUtil.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/mathUtil.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/pathUtil.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/portSlideRailSVGUtil.d.ts +0 -0
- /package/dist/esm/types/{utils → legacy/utils}/svgUtil.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,46 +1,78 @@
|
|
|
1
|
-
#
|
|
1
|
+
# orcasvn-react-diagrams
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Diagram editor library with a Konva-backed editor (`createDiagramEditor`) and an engine-only API (`createDiagramEngine`).
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```bash
|
|
8
|
+
npm install orcasvn-react-diagrams
|
|
9
|
+
```
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Node engine for this repository/toolchain: `>=18.17.0 <19.0.0`.
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
|
|
13
|
+
## Quick Start
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
```ts
|
|
16
|
+
import { createDiagramEditor } from 'orcasvn-react-diagrams';
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
const editor = createDiagramEditor({
|
|
19
|
+
container: document.getElementById('diagram-root') as HTMLDivElement,
|
|
20
|
+
width: 960,
|
|
21
|
+
height: 600,
|
|
22
|
+
initialState: { elements: [], ports: [], links: [], texts: [] },
|
|
23
|
+
});
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
editor.addElement({
|
|
26
|
+
id: 'node-1',
|
|
27
|
+
position: { x: 80, y: 80 },
|
|
28
|
+
size: { width: 160, height: 100 },
|
|
29
|
+
shapeId: 'default',
|
|
30
|
+
});
|
|
31
|
+
```
|
|
21
32
|
|
|
22
|
-
|
|
33
|
+
## API Docs
|
|
23
34
|
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
- Human-first docs index: `docs/INDEX.md`
|
|
36
|
+
- API contract: `docs/API_CONTRACT.md`
|
|
37
|
+
- State invariants: `docs/STATE_INVARIANTS.md`
|
|
38
|
+
- Integration: `docs/INTEGRATION_PLAYBOOK.md`
|
|
26
39
|
|
|
27
|
-
|
|
28
|
-
Your app is ready to be deployed!
|
|
40
|
+
Machine-readable docs shipped in npm package:
|
|
29
41
|
|
|
30
|
-
|
|
42
|
+
- `ai/manifest.json`
|
|
43
|
+
- `ai/api-contract.json`
|
|
44
|
+
- `ai/invariants.json`
|
|
31
45
|
|
|
32
|
-
|
|
46
|
+
UNPKG examples:
|
|
33
47
|
|
|
34
|
-
|
|
48
|
+
- `https://unpkg.com/orcasvn-react-diagrams@<version>/ai/manifest.json`
|
|
49
|
+
- `https://unpkg.com/orcasvn-react-diagrams@<version>/docs/INDEX.md`
|
|
35
50
|
|
|
36
|
-
|
|
51
|
+
Node subpath export:
|
|
37
52
|
|
|
38
|
-
|
|
53
|
+
- `orcasvn-react-diagrams/ai-manifest`
|
|
39
54
|
|
|
40
|
-
|
|
55
|
+
## External Drag And Drop
|
|
41
56
|
|
|
42
|
-
|
|
57
|
+
```ts
|
|
58
|
+
const world = editor.clientToWorld(
|
|
59
|
+
{ x: event.clientX, y: event.clientY },
|
|
60
|
+
stageContainer
|
|
61
|
+
);
|
|
43
62
|
|
|
44
|
-
|
|
63
|
+
editor.addElement({
|
|
64
|
+
id,
|
|
65
|
+
position: { x: world.x - width / 2, y: world.y - height / 2 },
|
|
66
|
+
size: { width, height },
|
|
67
|
+
shapeId,
|
|
68
|
+
});
|
|
69
|
+
```
|
|
45
70
|
|
|
46
|
-
|
|
71
|
+
## Scripts (Repository Development)
|
|
72
|
+
|
|
73
|
+
- `npm start`: run demo app.
|
|
74
|
+
- `npm run start-doc`: serve `analysis/`.
|
|
75
|
+
- `npm test`: run tests (watch mode).
|
|
76
|
+
- `npm run typecheck`: run TypeScript checks.
|
|
77
|
+
- `npm run build`: CRA build to `build/`.
|
|
78
|
+
- `npm run rollup-build-lib`: library build to `dist/`.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.1.0",
|
|
3
|
+
"typeSource": "src/api/types.ts",
|
|
4
|
+
"entrypoints": [
|
|
5
|
+
{
|
|
6
|
+
"name": "createDiagramEditor",
|
|
7
|
+
"source": "src/api/createDiagramEditor.ts",
|
|
8
|
+
"returns": "DiagramEditorHandle"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "createDiagramEngine",
|
|
12
|
+
"source": "src/engine/DiagramEngine.ts",
|
|
13
|
+
"returns": "DiagramEngineHandle"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"configs": {
|
|
17
|
+
"diagramEditorConfig": {
|
|
18
|
+
"required": {
|
|
19
|
+
"container": "HTMLDivElement | string"
|
|
20
|
+
},
|
|
21
|
+
"optional": {
|
|
22
|
+
"width": "number",
|
|
23
|
+
"height": "number",
|
|
24
|
+
"initialState": "DiagramState",
|
|
25
|
+
"elementShapes": "SimpleShape[]",
|
|
26
|
+
"portShapes": "SimpleShape[]",
|
|
27
|
+
"panKey": "'Control' | 'Shift' | 'Alt' | 'Meta'",
|
|
28
|
+
"onChange": "(event: EngineChangeEvent) => void",
|
|
29
|
+
"onSelection": "(event: EngineSelectionEvent) => void"
|
|
30
|
+
},
|
|
31
|
+
"defaults": {
|
|
32
|
+
"width": 900,
|
|
33
|
+
"height": 560,
|
|
34
|
+
"panKey": "Control"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"diagramEngineConfig": {
|
|
38
|
+
"required": {
|
|
39
|
+
"renderer": "Renderer"
|
|
40
|
+
},
|
|
41
|
+
"optional": {
|
|
42
|
+
"scheduler": "RenderScheduler",
|
|
43
|
+
"router": "RouterStrategy",
|
|
44
|
+
"snapper": "SnapStrategy",
|
|
45
|
+
"shapeRegistry": "ShapeRegistry",
|
|
46
|
+
"textMeasurer": "TextMeasurer"
|
|
47
|
+
},
|
|
48
|
+
"defaults": {
|
|
49
|
+
"scheduler": "RenderScheduler",
|
|
50
|
+
"router": "ObstacleRouter",
|
|
51
|
+
"snapper": "DefaultSnapper",
|
|
52
|
+
"shapeRegistry": "ShapeRegistry",
|
|
53
|
+
"textMeasurer": "CanvasTextMeasurer"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"stateTypes": {
|
|
58
|
+
"diagramState": {
|
|
59
|
+
"required": [
|
|
60
|
+
"elements",
|
|
61
|
+
"ports",
|
|
62
|
+
"links",
|
|
63
|
+
"texts"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"elementData": {
|
|
67
|
+
"required": [
|
|
68
|
+
"id",
|
|
69
|
+
"position",
|
|
70
|
+
"size",
|
|
71
|
+
"shapeId"
|
|
72
|
+
],
|
|
73
|
+
"optional": [
|
|
74
|
+
"style",
|
|
75
|
+
"portIds",
|
|
76
|
+
"textIds",
|
|
77
|
+
"parentId",
|
|
78
|
+
"moveMode",
|
|
79
|
+
"anchorCenter",
|
|
80
|
+
"layout"
|
|
81
|
+
],
|
|
82
|
+
"defaults": {
|
|
83
|
+
"portIds": [],
|
|
84
|
+
"textIds": [],
|
|
85
|
+
"parentId": null
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"portData": {
|
|
89
|
+
"required": [
|
|
90
|
+
"id",
|
|
91
|
+
"elementId",
|
|
92
|
+
"position"
|
|
93
|
+
],
|
|
94
|
+
"optional": [
|
|
95
|
+
"shapeId",
|
|
96
|
+
"size",
|
|
97
|
+
"style",
|
|
98
|
+
"textIds",
|
|
99
|
+
"moveMode",
|
|
100
|
+
"anchorCenter"
|
|
101
|
+
],
|
|
102
|
+
"defaults": {
|
|
103
|
+
"textIds": [],
|
|
104
|
+
"anchorCenter": true
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"linkData": {
|
|
108
|
+
"required": [
|
|
109
|
+
"id",
|
|
110
|
+
"sourcePortId",
|
|
111
|
+
"targetPortId",
|
|
112
|
+
"points"
|
|
113
|
+
],
|
|
114
|
+
"optional": [
|
|
115
|
+
"routing",
|
|
116
|
+
"style",
|
|
117
|
+
"textIds"
|
|
118
|
+
],
|
|
119
|
+
"defaults": {
|
|
120
|
+
"routing": "auto",
|
|
121
|
+
"textIds": []
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"textData": {
|
|
125
|
+
"required": [
|
|
126
|
+
"id",
|
|
127
|
+
"content",
|
|
128
|
+
"position"
|
|
129
|
+
],
|
|
130
|
+
"optional": [
|
|
131
|
+
"size",
|
|
132
|
+
"style",
|
|
133
|
+
"ownerId"
|
|
134
|
+
],
|
|
135
|
+
"defaults": {
|
|
136
|
+
"ownerId": null
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"elementLayoutDefaults": {
|
|
140
|
+
"padding": 12,
|
|
141
|
+
"gap": 12,
|
|
142
|
+
"align": "center"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"handleMethods": {
|
|
146
|
+
"shared": [
|
|
147
|
+
"load",
|
|
148
|
+
"getState",
|
|
149
|
+
"getViewport",
|
|
150
|
+
"clientToWorld",
|
|
151
|
+
"createOverlayShape",
|
|
152
|
+
"on",
|
|
153
|
+
"addElement",
|
|
154
|
+
"moveElementTo",
|
|
155
|
+
"resizeElement",
|
|
156
|
+
"setElementLayout",
|
|
157
|
+
"removeElement",
|
|
158
|
+
"addPortToElement",
|
|
159
|
+
"movePortTo",
|
|
160
|
+
"removePort",
|
|
161
|
+
"addLink",
|
|
162
|
+
"updateLinkPoints",
|
|
163
|
+
"setLinkRoutingMode",
|
|
164
|
+
"rerouteAllLinks",
|
|
165
|
+
"rerouteLinks",
|
|
166
|
+
"removeLink",
|
|
167
|
+
"addText",
|
|
168
|
+
"updateText",
|
|
169
|
+
"moveTextTo",
|
|
170
|
+
"removeText",
|
|
171
|
+
"setSelection",
|
|
172
|
+
"setViewport",
|
|
173
|
+
"setRouting",
|
|
174
|
+
"setSnapping",
|
|
175
|
+
"registerShape",
|
|
176
|
+
"render"
|
|
177
|
+
],
|
|
178
|
+
"editorOnly": [
|
|
179
|
+
"resize",
|
|
180
|
+
"destroy"
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
"events": {
|
|
184
|
+
"change": "EngineChangeEvent",
|
|
185
|
+
"selection": "EngineSelectionEvent",
|
|
186
|
+
"config": "EngineConfigEvent",
|
|
187
|
+
"element-drop": "ElementDropEvent",
|
|
188
|
+
"elementDrop": "ElementDropEvent",
|
|
189
|
+
"paperClick": "PaperClickEvent",
|
|
190
|
+
"portMouseDown": "PortMouseEvent",
|
|
191
|
+
"portMouseUp": "PortMouseEvent",
|
|
192
|
+
"portMoved": "PortMovedEvent",
|
|
193
|
+
"portSelected": "PortSelectedEvent",
|
|
194
|
+
"elementClick": "ElementPointerEvent",
|
|
195
|
+
"elementDragged": "ElementDropEvent",
|
|
196
|
+
"elementMoved": "ElementMovedEvent",
|
|
197
|
+
"elementResized": "ElementResizedEvent",
|
|
198
|
+
"elementDeleted": "ElementDeletedEvent",
|
|
199
|
+
"elementSelected": "ElementSelectedEvent",
|
|
200
|
+
"elementLinkStarted": "ElementLinkStartedEvent",
|
|
201
|
+
"elementLinkConnecting": "ElementLinkConnectingEvent",
|
|
202
|
+
"elementLinkEnded": "ElementLinkEndedEvent",
|
|
203
|
+
"textSelected": "TextSelectedEvent"
|
|
204
|
+
}
|
|
205
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"stateShape": [
|
|
3
|
+
"elements[]",
|
|
4
|
+
"ports[]",
|
|
5
|
+
"links[]",
|
|
6
|
+
"texts[]"
|
|
7
|
+
],
|
|
8
|
+
"defaults": {
|
|
9
|
+
"port.anchorCenter": true,
|
|
10
|
+
"link.routing": "auto"
|
|
11
|
+
},
|
|
12
|
+
"entityRules": {
|
|
13
|
+
"element": [
|
|
14
|
+
"child element positions are parent-relative when parentId is set",
|
|
15
|
+
"deleting an element removes its ports, links via ports, and owned texts"
|
|
16
|
+
],
|
|
17
|
+
"port": [
|
|
18
|
+
"port positions are relative to element",
|
|
19
|
+
"moving a port can be constrained by moveMode/moveAxis/moveBounds"
|
|
20
|
+
],
|
|
21
|
+
"link": [
|
|
22
|
+
"manual routing preserves interior bend points on endpoint updates",
|
|
23
|
+
"auto routing normalizes first/last points to source/target port world positions"
|
|
24
|
+
],
|
|
25
|
+
"text": [
|
|
26
|
+
"owner-bound text stores owner-relative position",
|
|
27
|
+
"orphan owner references are tolerated as standalone world text"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"eventRules": [
|
|
31
|
+
"mutations emit change with patches and full state snapshot",
|
|
32
|
+
"setSelection emits selection plus derived selected entity events",
|
|
33
|
+
"setViewport emits viewport patch without immediate render"
|
|
34
|
+
],
|
|
35
|
+
"verificationTests": [
|
|
36
|
+
"src/models/__tests__/DiagramModel.test.ts",
|
|
37
|
+
"src/engine/__tests__/DiagramEngine.test.ts",
|
|
38
|
+
"src/renderer/konva/__tests__/KonvaInteraction.test.ts"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
|
package/ai/manifest.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"packageName": "orcasvn-react-diagrams",
|
|
4
|
+
"packageVersionSource": "package.json",
|
|
5
|
+
"description": "Machine-readable entrypoint for AI agent onboarding and reuse.",
|
|
6
|
+
"entrypoints": {
|
|
7
|
+
"indexDoc": "docs/INDEX.md",
|
|
8
|
+
"apiContractDoc": "docs/API_CONTRACT.md",
|
|
9
|
+
"capabilitiesDoc": "docs/CAPABILITIES.md",
|
|
10
|
+
"architectureDoc": "docs/ARCHITECTURE.md",
|
|
11
|
+
"invariantsDoc": "docs/STATE_INVARIANTS.md",
|
|
12
|
+
"commandsEventsDoc": "docs/COMMANDS_EVENTS.md",
|
|
13
|
+
"integrationPlaybookDoc": "docs/INTEGRATION_PLAYBOOK.md",
|
|
14
|
+
"portingChecklistDoc": "docs/PORTING_CHECKLIST.md",
|
|
15
|
+
"documentationWorkflowDoc": "docs/DOCUMENTATION_WORKFLOW.md",
|
|
16
|
+
"apiContractJson": "ai/api-contract.json",
|
|
17
|
+
"invariantsJson": "ai/invariants.json"
|
|
18
|
+
},
|
|
19
|
+
"fixtures": [
|
|
20
|
+
"docs/fixtures/empty-state.json",
|
|
21
|
+
"docs/fixtures/basic-linked-elements.json",
|
|
22
|
+
"docs/fixtures/nested-layout.json"
|
|
23
|
+
],
|
|
24
|
+
"sourcePointers": [
|
|
25
|
+
"src/api/types.ts",
|
|
26
|
+
"src/api/createDiagramEditor.ts",
|
|
27
|
+
"src/engine/DiagramEngine.ts",
|
|
28
|
+
"src/models/DiagramModel.ts",
|
|
29
|
+
"src/renderer/Renderer.ts",
|
|
30
|
+
"analysis/White paper/Overview.md",
|
|
31
|
+
"analysis/White paper/Requirements-Functional.md"
|
|
32
|
+
],
|
|
33
|
+
"updatedAt": "2026-02-26"
|
|
34
|
+
}
|