orcasvn-react-diagrams 0.1.82 → 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.
Files changed (431) hide show
  1. package/README.md +58 -26
  2. package/ai/api-contract.json +205 -0
  3. package/ai/invariants.json +41 -0
  4. package/ai/manifest.json +34 -0
  5. package/dist/cjs/index.js +4068 -10543
  6. package/dist/cjs/types/App.d.ts +1 -1
  7. package/dist/cjs/types/api/__tests__/createDiagramEditor.test.d.ts +1 -0
  8. package/dist/cjs/types/api/createDiagramEditor.d.ts +22 -0
  9. package/dist/cjs/types/api/index.d.ts +4 -0
  10. package/dist/cjs/types/api/types.d.ts +271 -0
  11. package/dist/cjs/types/displaybox/DisplayBox.d.ts +3 -0
  12. package/dist/cjs/types/displaybox/DisplayBox.test.d.ts +1 -0
  13. package/dist/cjs/types/displaybox/DisplayBoxControls.d.ts +18 -0
  14. package/dist/cjs/types/displaybox/DisplayBoxMetricsContext.d.ts +9 -0
  15. package/dist/cjs/types/displaybox/DisplayBoxSidebar.d.ts +13 -0
  16. package/dist/cjs/types/displaybox/DisplayBoxStage.d.ts +10 -0
  17. package/dist/cjs/types/displaybox/demos/AutoLayoutDemoTab.d.ts +3 -0
  18. package/dist/cjs/types/displaybox/demos/EngineEventsDemoTab.d.ts +3 -0
  19. package/dist/cjs/types/displaybox/demos/EventHandlersDemoTab.d.ts +3 -0
  20. package/dist/cjs/types/displaybox/demos/ExternalDragDropDemoTab.d.ts +3 -0
  21. package/dist/cjs/types/displaybox/demos/LinkCancelDemoTab.d.ts +3 -0
  22. package/dist/cjs/types/displaybox/demos/ObstacleRoutingDemoTab.d.ts +3 -0
  23. package/dist/cjs/types/displaybox/demos/SimpleDemo.d.ts +13 -0
  24. package/dist/cjs/types/displaybox/demos/SvgPathDemoTab.d.ts +3 -0
  25. package/dist/cjs/types/displaybox/demos/autoLayoutDemo.d.ts +2 -0
  26. package/dist/cjs/types/displaybox/demos/basicDemo.d.ts +2 -0
  27. package/dist/cjs/types/displaybox/demos/childConstraintsDemo.d.ts +2 -0
  28. package/dist/cjs/types/displaybox/demos/customDemo.d.ts +2 -0
  29. package/dist/cjs/types/displaybox/demos/engineEventsDemo.d.ts +2 -0
  30. package/dist/cjs/types/displaybox/demos/eventHandlersDemo.d.ts +2 -0
  31. package/dist/cjs/types/displaybox/demos/externalDragDropDemo.d.ts +2 -0
  32. package/dist/cjs/types/displaybox/demos/gridOverlayDemo.d.ts +2 -0
  33. package/dist/cjs/types/displaybox/demos/index.d.ts +3 -0
  34. package/dist/cjs/types/displaybox/demos/linkBendHandlesDemo.d.ts +2 -0
  35. package/dist/cjs/types/displaybox/demos/linkCancelDemo.d.ts +2 -0
  36. package/dist/cjs/types/displaybox/demos/linkPortCreationDemo.d.ts +2 -0
  37. package/dist/cjs/types/displaybox/demos/multiLevelTreeDemo.d.ts +2 -0
  38. package/dist/cjs/types/displaybox/demos/multipleElementsDemo.d.ts +2 -0
  39. package/dist/cjs/types/displaybox/demos/nestedDemo.d.ts +2 -0
  40. package/dist/cjs/types/displaybox/demos/obstacleRoutingDemo.d.ts +2 -0
  41. package/dist/cjs/types/displaybox/demos/portBorderDemo.d.ts +2 -0
  42. package/dist/cjs/types/displaybox/demos/portConstraintsDemo.d.ts +2 -0
  43. package/dist/cjs/types/displaybox/demos/routingDemo.d.ts +2 -0
  44. package/dist/cjs/types/displaybox/demos/selectionDemo.d.ts +2 -0
  45. package/dist/cjs/types/displaybox/demos/shapeGalleryDemo.d.ts +2 -0
  46. package/dist/cjs/types/displaybox/demos/shared.d.ts +19 -0
  47. package/dist/cjs/types/displaybox/demos/svgPathDemo.d.ts +2 -0
  48. package/dist/cjs/types/displaybox/demos/textDemo.d.ts +2 -0
  49. package/dist/cjs/types/displaybox/types.d.ts +59 -0
  50. package/dist/cjs/types/displaybox/useDemoControls.d.ts +26 -0
  51. package/dist/cjs/types/displaybox/useDemoEditor.d.ts +21 -0
  52. package/dist/cjs/types/displaybox/useOffsetSequence.d.ts +2 -0
  53. package/dist/cjs/types/engine/CommandQueue.d.ts +9 -0
  54. package/dist/cjs/types/engine/DiagramEngine.d.ts +115 -0
  55. package/dist/cjs/types/engine/EngineCommands.d.ts +28 -0
  56. package/dist/cjs/types/engine/EventBus.d.ts +6 -0
  57. package/dist/cjs/types/engine/SelectionState.d.ts +7 -0
  58. package/dist/cjs/types/engine/ViewportState.d.ts +7 -0
  59. package/dist/cjs/types/engine/__tests__/CommandQueue.test.d.ts +1 -0
  60. package/dist/cjs/types/engine/__tests__/DiagramEngine.test.d.ts +1 -0
  61. package/dist/cjs/types/engine/__tests__/EngineCommands.test.d.ts +1 -0
  62. package/dist/cjs/types/engine/__tests__/EventBus.test.d.ts +1 -0
  63. package/dist/cjs/types/engine/__tests__/SelectionState.test.d.ts +1 -0
  64. package/dist/cjs/types/engine/__tests__/ViewportState.test.d.ts +1 -0
  65. package/dist/cjs/types/engine/__tests__/createDiagramEngine.test.d.ts +1 -0
  66. package/dist/cjs/types/legacy/App.old.d.ts +4 -0
  67. package/dist/cjs/types/measure/CanvasTextMeasurer.d.ts +7 -0
  68. package/dist/cjs/types/measure/TextMeasurer.d.ts +4 -0
  69. package/dist/cjs/types/measure/__tests__/CanvasTextMeasurer.test.d.ts +1 -0
  70. package/dist/cjs/types/models/DiagramModel.d.ts +45 -0
  71. package/dist/cjs/types/models/ElementModel.d.ts +22 -0
  72. package/dist/cjs/types/models/LinkModel.d.ts +16 -0
  73. package/dist/cjs/types/models/OwnershipIndex.d.ts +7 -0
  74. package/dist/cjs/types/models/PortModel.d.ts +17 -0
  75. package/dist/cjs/types/models/TextModel.d.ts +14 -0
  76. package/dist/cjs/types/models/__tests__/DiagramModel.test.d.ts +1 -0
  77. package/dist/cjs/types/models/__tests__/ElementModel.test.d.ts +1 -0
  78. package/dist/cjs/types/models/__tests__/LinkModel.test.d.ts +1 -0
  79. package/dist/cjs/types/models/__tests__/OwnershipIndex.test.d.ts +1 -0
  80. package/dist/cjs/types/models/__tests__/PortModel.test.d.ts +1 -0
  81. package/dist/cjs/types/models/__tests__/TextModel.test.d.ts +1 -0
  82. package/dist/cjs/types/renderer/RenderScheduler.d.ts +5 -0
  83. package/dist/cjs/types/renderer/RenderTypes.d.ts +17 -0
  84. package/dist/cjs/types/renderer/Renderer.d.ts +8 -0
  85. package/dist/cjs/types/renderer/__tests__/RenderScheduler.test.d.ts +1 -0
  86. package/dist/cjs/types/renderer/__tests__/RenderTypes.test.d.ts +1 -0
  87. package/dist/cjs/types/renderer/konva/KonvaHitTester.d.ts +12 -0
  88. package/dist/cjs/types/renderer/konva/KonvaInteraction.d.ts +88 -0
  89. package/dist/cjs/types/renderer/konva/KonvaLayers.d.ts +16 -0
  90. package/dist/cjs/types/renderer/konva/KonvaNodeFactory.d.ts +66 -0
  91. package/dist/cjs/types/renderer/konva/KonvaRenderer.d.ts +81 -0
  92. package/dist/cjs/types/renderer/konva/__tests__/KonvaHitTester.test.d.ts +1 -0
  93. package/dist/cjs/types/renderer/konva/__tests__/KonvaInteraction.test.d.ts +1 -0
  94. package/dist/cjs/types/renderer/konva/__tests__/KonvaLayers.test.d.ts +1 -0
  95. package/dist/cjs/types/renderer/konva/__tests__/KonvaNodeFactory.test.d.ts +1 -0
  96. package/dist/cjs/types/renderer/konva/__tests__/KonvaRenderer.test.d.ts +1 -0
  97. package/dist/cjs/types/reportWebVitals.test.d.ts +1 -0
  98. package/dist/cjs/types/strategies/DefaultRouter.d.ts +5 -0
  99. package/dist/cjs/types/strategies/DefaultSnapper.d.ts +8 -0
  100. package/dist/cjs/types/strategies/ObstacleRouter.d.ts +25 -0
  101. package/dist/cjs/types/strategies/RouterStrategy.d.ts +22 -0
  102. package/dist/cjs/types/strategies/SnapStrategy.d.ts +4 -0
  103. package/dist/cjs/types/strategies/__tests__/DefaultRouter.test.d.ts +1 -0
  104. package/dist/cjs/types/strategies/__tests__/DefaultSnapper.test.d.ts +1 -0
  105. package/dist/cjs/types/strategies/__tests__/ObstacleRouter.test.d.ts +1 -0
  106. package/dist/cjs/types/utils/__tests__/geometry.test.d.ts +1 -0
  107. package/dist/cjs/types/utils/__tests__/guards.test.d.ts +1 -0
  108. package/dist/cjs/types/utils/__tests__/ids.test.d.ts +1 -0
  109. package/dist/cjs/types/utils/__tests__/patches.test.d.ts +1 -0
  110. package/dist/cjs/types/utils/geometry.d.ts +9 -0
  111. package/dist/cjs/types/utils/guards.d.ts +5 -0
  112. package/dist/cjs/types/utils/ids.d.ts +1 -0
  113. package/dist/cjs/types/utils/patches.d.ts +4 -0
  114. package/dist/esm/index.js +4064 -10488
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/types/App.d.ts +1 -1
  117. package/dist/esm/types/api/__tests__/createDiagramEditor.test.d.ts +1 -0
  118. package/dist/esm/types/api/createDiagramEditor.d.ts +22 -0
  119. package/dist/esm/types/api/index.d.ts +4 -0
  120. package/dist/esm/types/api/types.d.ts +271 -0
  121. package/dist/esm/types/displaybox/DisplayBox.d.ts +3 -0
  122. package/dist/esm/types/displaybox/DisplayBox.test.d.ts +1 -0
  123. package/dist/esm/types/displaybox/DisplayBoxControls.d.ts +18 -0
  124. package/dist/esm/types/displaybox/DisplayBoxMetricsContext.d.ts +9 -0
  125. package/dist/esm/types/displaybox/DisplayBoxSidebar.d.ts +13 -0
  126. package/dist/esm/types/displaybox/DisplayBoxStage.d.ts +10 -0
  127. package/dist/esm/types/displaybox/demos/AutoLayoutDemoTab.d.ts +3 -0
  128. package/dist/esm/types/displaybox/demos/EngineEventsDemoTab.d.ts +3 -0
  129. package/dist/esm/types/displaybox/demos/EventHandlersDemoTab.d.ts +3 -0
  130. package/dist/esm/types/displaybox/demos/ExternalDragDropDemoTab.d.ts +3 -0
  131. package/dist/esm/types/displaybox/demos/LinkCancelDemoTab.d.ts +3 -0
  132. package/dist/esm/types/displaybox/demos/ObstacleRoutingDemoTab.d.ts +3 -0
  133. package/dist/esm/types/displaybox/demos/SimpleDemo.d.ts +13 -0
  134. package/dist/esm/types/displaybox/demos/SvgPathDemoTab.d.ts +3 -0
  135. package/dist/esm/types/displaybox/demos/autoLayoutDemo.d.ts +2 -0
  136. package/dist/esm/types/displaybox/demos/basicDemo.d.ts +2 -0
  137. package/dist/esm/types/displaybox/demos/childConstraintsDemo.d.ts +2 -0
  138. package/dist/esm/types/displaybox/demos/customDemo.d.ts +2 -0
  139. package/dist/esm/types/displaybox/demos/engineEventsDemo.d.ts +2 -0
  140. package/dist/esm/types/displaybox/demos/eventHandlersDemo.d.ts +2 -0
  141. package/dist/esm/types/displaybox/demos/externalDragDropDemo.d.ts +2 -0
  142. package/dist/esm/types/displaybox/demos/gridOverlayDemo.d.ts +2 -0
  143. package/dist/esm/types/displaybox/demos/index.d.ts +3 -0
  144. package/dist/esm/types/displaybox/demos/linkBendHandlesDemo.d.ts +2 -0
  145. package/dist/esm/types/displaybox/demos/linkCancelDemo.d.ts +2 -0
  146. package/dist/esm/types/displaybox/demos/linkPortCreationDemo.d.ts +2 -0
  147. package/dist/esm/types/displaybox/demos/multiLevelTreeDemo.d.ts +2 -0
  148. package/dist/esm/types/displaybox/demos/multipleElementsDemo.d.ts +2 -0
  149. package/dist/esm/types/displaybox/demos/nestedDemo.d.ts +2 -0
  150. package/dist/esm/types/displaybox/demos/obstacleRoutingDemo.d.ts +2 -0
  151. package/dist/esm/types/displaybox/demos/portBorderDemo.d.ts +2 -0
  152. package/dist/esm/types/displaybox/demos/portConstraintsDemo.d.ts +2 -0
  153. package/dist/esm/types/displaybox/demos/routingDemo.d.ts +2 -0
  154. package/dist/esm/types/displaybox/demos/selectionDemo.d.ts +2 -0
  155. package/dist/esm/types/displaybox/demos/shapeGalleryDemo.d.ts +2 -0
  156. package/dist/esm/types/displaybox/demos/shared.d.ts +19 -0
  157. package/dist/esm/types/displaybox/demos/svgPathDemo.d.ts +2 -0
  158. package/dist/esm/types/displaybox/demos/textDemo.d.ts +2 -0
  159. package/dist/esm/types/displaybox/types.d.ts +59 -0
  160. package/dist/esm/types/displaybox/useDemoControls.d.ts +26 -0
  161. package/dist/esm/types/displaybox/useDemoEditor.d.ts +21 -0
  162. package/dist/esm/types/displaybox/useOffsetSequence.d.ts +2 -0
  163. package/dist/esm/types/engine/CommandQueue.d.ts +9 -0
  164. package/dist/esm/types/engine/DiagramEngine.d.ts +115 -0
  165. package/dist/esm/types/engine/EngineCommands.d.ts +28 -0
  166. package/dist/esm/types/engine/EventBus.d.ts +6 -0
  167. package/dist/esm/types/engine/SelectionState.d.ts +7 -0
  168. package/dist/esm/types/engine/ViewportState.d.ts +7 -0
  169. package/dist/esm/types/engine/__tests__/CommandQueue.test.d.ts +1 -0
  170. package/dist/esm/types/engine/__tests__/DiagramEngine.test.d.ts +1 -0
  171. package/dist/esm/types/engine/__tests__/EngineCommands.test.d.ts +1 -0
  172. package/dist/esm/types/engine/__tests__/EventBus.test.d.ts +1 -0
  173. package/dist/esm/types/engine/__tests__/SelectionState.test.d.ts +1 -0
  174. package/dist/esm/types/engine/__tests__/ViewportState.test.d.ts +1 -0
  175. package/dist/esm/types/engine/__tests__/createDiagramEngine.test.d.ts +1 -0
  176. package/dist/esm/types/legacy/App.old.d.ts +4 -0
  177. package/dist/esm/types/measure/CanvasTextMeasurer.d.ts +7 -0
  178. package/dist/esm/types/measure/TextMeasurer.d.ts +4 -0
  179. package/dist/esm/types/measure/__tests__/CanvasTextMeasurer.test.d.ts +1 -0
  180. package/dist/esm/types/models/DiagramModel.d.ts +45 -0
  181. package/dist/esm/types/models/ElementModel.d.ts +22 -0
  182. package/dist/esm/types/models/LinkModel.d.ts +16 -0
  183. package/dist/esm/types/models/OwnershipIndex.d.ts +7 -0
  184. package/dist/esm/types/models/PortModel.d.ts +17 -0
  185. package/dist/esm/types/models/TextModel.d.ts +14 -0
  186. package/dist/esm/types/models/__tests__/DiagramModel.test.d.ts +1 -0
  187. package/dist/esm/types/models/__tests__/ElementModel.test.d.ts +1 -0
  188. package/dist/esm/types/models/__tests__/LinkModel.test.d.ts +1 -0
  189. package/dist/esm/types/models/__tests__/OwnershipIndex.test.d.ts +1 -0
  190. package/dist/esm/types/models/__tests__/PortModel.test.d.ts +1 -0
  191. package/dist/esm/types/models/__tests__/TextModel.test.d.ts +1 -0
  192. package/dist/esm/types/renderer/RenderScheduler.d.ts +5 -0
  193. package/dist/esm/types/renderer/RenderTypes.d.ts +17 -0
  194. package/dist/esm/types/renderer/Renderer.d.ts +8 -0
  195. package/dist/esm/types/renderer/__tests__/RenderScheduler.test.d.ts +1 -0
  196. package/dist/esm/types/renderer/__tests__/RenderTypes.test.d.ts +1 -0
  197. package/dist/esm/types/renderer/konva/KonvaHitTester.d.ts +12 -0
  198. package/dist/esm/types/renderer/konva/KonvaInteraction.d.ts +88 -0
  199. package/dist/esm/types/renderer/konva/KonvaLayers.d.ts +16 -0
  200. package/dist/esm/types/renderer/konva/KonvaNodeFactory.d.ts +66 -0
  201. package/dist/esm/types/renderer/konva/KonvaRenderer.d.ts +81 -0
  202. package/dist/esm/types/renderer/konva/__tests__/KonvaHitTester.test.d.ts +1 -0
  203. package/dist/esm/types/renderer/konva/__tests__/KonvaInteraction.test.d.ts +1 -0
  204. package/dist/esm/types/renderer/konva/__tests__/KonvaLayers.test.d.ts +1 -0
  205. package/dist/esm/types/renderer/konva/__tests__/KonvaNodeFactory.test.d.ts +1 -0
  206. package/dist/esm/types/renderer/konva/__tests__/KonvaRenderer.test.d.ts +1 -0
  207. package/dist/esm/types/reportWebVitals.test.d.ts +1 -0
  208. package/dist/esm/types/strategies/DefaultRouter.d.ts +5 -0
  209. package/dist/esm/types/strategies/DefaultSnapper.d.ts +8 -0
  210. package/dist/esm/types/strategies/ObstacleRouter.d.ts +25 -0
  211. package/dist/esm/types/strategies/RouterStrategy.d.ts +22 -0
  212. package/dist/esm/types/strategies/SnapStrategy.d.ts +4 -0
  213. package/dist/esm/types/strategies/__tests__/DefaultRouter.test.d.ts +1 -0
  214. package/dist/esm/types/strategies/__tests__/DefaultSnapper.test.d.ts +1 -0
  215. package/dist/esm/types/strategies/__tests__/ObstacleRouter.test.d.ts +1 -0
  216. package/dist/esm/types/utils/__tests__/geometry.test.d.ts +1 -0
  217. package/dist/esm/types/utils/__tests__/guards.test.d.ts +1 -0
  218. package/dist/esm/types/utils/__tests__/ids.test.d.ts +1 -0
  219. package/dist/esm/types/utils/__tests__/patches.test.d.ts +1 -0
  220. package/dist/esm/types/utils/geometry.d.ts +9 -0
  221. package/dist/esm/types/utils/guards.d.ts +5 -0
  222. package/dist/esm/types/utils/ids.d.ts +1 -0
  223. package/dist/esm/types/utils/patches.d.ts +4 -0
  224. package/dist/index.d.ts +443 -642
  225. package/docs/API_CONTRACT.md +144 -0
  226. package/docs/ARCHITECTURE.md +31 -0
  227. package/docs/CAPABILITIES.md +38 -0
  228. package/docs/COMMANDS_EVENTS.md +60 -0
  229. package/docs/DOCUMENTATION_WORKFLOW.md +86 -0
  230. package/docs/INDEX.md +41 -0
  231. package/docs/INTEGRATION_PLAYBOOK.md +54 -0
  232. package/docs/PORTING_CHECKLIST.md +58 -0
  233. package/docs/STATE_INVARIANTS.md +56 -0
  234. package/docs/fixtures/basic-linked-elements.json +52 -0
  235. package/docs/fixtures/empty-state.json +11 -0
  236. package/docs/fixtures/nested-layout.json +54 -0
  237. package/package.json +21 -7
  238. package/dist/cjs/types/contexts/zoomContext.d.ts +0 -16
  239. package/dist/cjs/types/models/implementations/CustomPort.d.ts +0 -7
  240. package/dist/cjs/types/models/implementations/CustomPortFromJSXElement.d.ts +0 -7
  241. package/dist/cjs/types/models/implementations/CustomPortFromShape.d.ts +0 -7
  242. package/dist/cjs/types/models/implementations/diamondElement.d.ts +0 -11
  243. package/dist/cjs/types/models/implementations/rectangularFrameElement.d.ts +0 -11
  244. package/dist/esm/types/contexts/zoomContext.d.ts +0 -16
  245. package/dist/esm/types/models/implementations/CustomPort.d.ts +0 -7
  246. package/dist/esm/types/models/implementations/CustomPortFromJSXElement.d.ts +0 -7
  247. package/dist/esm/types/models/implementations/CustomPortFromShape.d.ts +0 -7
  248. package/dist/esm/types/models/implementations/diamondElement.d.ts +0 -11
  249. package/dist/esm/types/models/implementations/rectangularFrameElement.d.ts +0 -11
  250. /package/dist/cjs/types/{components → legacy/components}/BBoxDebugger.d.ts +0 -0
  251. /package/dist/cjs/types/{components → legacy/components}/CloseIcon.d.ts +0 -0
  252. /package/dist/cjs/types/{components → legacy/components}/LinkDebugger.d.ts +0 -0
  253. /package/dist/cjs/types/{components → legacy/components}/editor.d.ts +0 -0
  254. /package/dist/cjs/types/{components → legacy/components}/elementShowbox.d.ts +0 -0
  255. /package/dist/cjs/types/{components → legacy/components}/elements/dragDropHandlerElement.d.ts +0 -0
  256. /package/dist/cjs/types/{components → legacy/components}/elements/element.d.ts +0 -0
  257. /package/dist/cjs/types/{components → legacy/components}/elements/elementWrapper.d.ts +0 -0
  258. /package/dist/cjs/types/{components → legacy/components}/links/elementLink.d.ts +0 -0
  259. /package/dist/cjs/types/{components → legacy/components}/links/index.d.ts +0 -0
  260. /package/dist/cjs/types/{components → legacy/components}/links/point.d.ts +0 -0
  261. /package/dist/cjs/types/{components → legacy/components}/paper.d.ts +0 -0
  262. /package/dist/cjs/types/{components → legacy/components}/ports/index.d.ts +0 -0
  263. /package/dist/cjs/types/{components → legacy/components}/ports/port.d.ts +0 -0
  264. /package/dist/cjs/types/{components → legacy/components}/shapeShowbox.d.ts +0 -0
  265. /package/dist/cjs/types/{components → legacy/components}/shapes/circle.d.ts +0 -0
  266. /package/dist/cjs/types/{components → legacy/components}/shapes/customShape.d.ts +0 -0
  267. /package/dist/cjs/types/{components → legacy/components}/shapes/halfCircle.d.ts +0 -0
  268. /package/dist/cjs/types/{components → legacy/components}/shapes/index.d.ts +0 -0
  269. /package/dist/cjs/types/{components → legacy/components}/shapes/polygon.d.ts +0 -0
  270. /package/dist/cjs/types/{components → legacy/components}/shapes/rectangle.d.ts +0 -0
  271. /package/dist/cjs/types/{components → legacy/components}/shapes/rectangularFrame.d.ts +0 -0
  272. /package/dist/cjs/types/{components → legacy/components}/shapes/shapeWrapper.d.ts +0 -0
  273. /package/dist/cjs/types/{components → legacy/components}/svgUtilsShowbox.d.ts +0 -0
  274. /package/dist/cjs/types/{components → legacy/components}/texts/index.d.ts +0 -0
  275. /package/dist/cjs/types/{components → legacy/components}/texts/text.d.ts +0 -0
  276. /package/dist/cjs/types/{components → legacy/components}/viewControls/ruler.d.ts +0 -0
  277. /package/dist/cjs/types/{components → legacy/components}/viewControls/selectionFrame.d.ts +0 -0
  278. /package/dist/cjs/types/{contexts → legacy/contexts}/editorConfigurationContext.d.ts +0 -0
  279. /package/dist/cjs/types/{contexts → legacy/contexts}/paperEventEmitterContext.d.ts +0 -0
  280. /package/dist/cjs/types/{contexts → legacy/contexts}/zoomPanContext.d.ts +0 -0
  281. /package/dist/cjs/types/{hooks → legacy/hooks}/useKeyboardCommands.d.ts +0 -0
  282. /package/dist/cjs/types/{hooks → legacy/hooks}/useSelectionFrame.d.ts +0 -0
  283. /package/dist/cjs/types/{logs → legacy/logs}/Logger.d.ts +0 -0
  284. /package/dist/cjs/types/{logs → legacy/logs}/configureLogger.d.ts +0 -0
  285. /package/dist/cjs/types/{main.d.ts → legacy/main.d.ts} +0 -0
  286. /package/dist/cjs/types/{mocks → legacy/mocks}/customPortWithBuiltinShape.d.ts +0 -0
  287. /package/dist/cjs/types/{mocks → legacy/mocks}/diamondElement.d.ts +0 -0
  288. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContext.d.ts +0 -0
  289. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextElementMoveAsPort.d.ts +0 -0
  290. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextForOptimizeRerender.d.ts +0 -0
  291. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextMultipleElements.d.ts +0 -0
  292. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextSingleElement.d.ts +0 -0
  293. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextSingleElementTestEvents.d.ts +0 -0
  294. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextTriggerRenderElements.d.ts +0 -0
  295. /package/dist/cjs/types/{mocks → legacy/mocks}/editorContextWithElementAnchorCenter.d.ts +0 -0
  296. /package/dist/cjs/types/{mocks → legacy/mocks}/port1.d.ts +0 -0
  297. /package/dist/cjs/types/{mocks → legacy/mocks}/port2.d.ts +0 -0
  298. /package/dist/cjs/types/{mocks → legacy/mocks}/portIn.d.ts +0 -0
  299. /package/dist/cjs/types/{mocks → legacy/mocks}/rectangularFrameElement.d.ts +0 -0
  300. /package/dist/cjs/types/{mocks → legacy/mocks}/textsWithFlexBox.d.ts +0 -0
  301. /package/dist/cjs/types/{models → legacy/models}/IEditorConfiguration.d.ts +0 -0
  302. /package/dist/cjs/types/{models → legacy/models}/IEditorContext.d.ts +0 -0
  303. /package/dist/cjs/types/{models → legacy/models}/IElement.d.ts +0 -0
  304. /package/dist/cjs/types/{models → legacy/models}/IElementLink.d.ts +0 -0
  305. /package/dist/cjs/types/{models → legacy/models}/IElementLinkProps.d.ts +0 -0
  306. /package/dist/cjs/types/{models → legacy/models}/IElementProps.d.ts +0 -0
  307. /package/dist/cjs/types/{models → legacy/models}/IElementSelectorProps.d.ts +0 -0
  308. /package/dist/cjs/types/{models → legacy/models}/IFlexboxType.d.ts +0 -0
  309. /package/dist/cjs/types/{models → legacy/models}/IPaperBounds.d.ts +0 -0
  310. /package/dist/cjs/types/{models → legacy/models}/IPort.d.ts +0 -0
  311. /package/dist/cjs/types/{models → legacy/models}/IPortProps.d.ts +0 -0
  312. /package/dist/cjs/types/{models → legacy/models}/IResizability.d.ts +0 -0
  313. /package/dist/cjs/types/{models → legacy/models}/IShape.d.ts +0 -0
  314. /package/dist/cjs/types/{models → legacy/models}/IText.d.ts +0 -0
  315. /package/dist/cjs/types/{models → legacy/models}/ITextProps.d.ts +0 -0
  316. /package/dist/cjs/types/{models → legacy/models}/callbackTypes.d.ts +0 -0
  317. /package/dist/cjs/types/{models → legacy/models}/enums/PositioningAnchor.d.ts +0 -0
  318. /package/dist/cjs/types/{models → legacy/models}/enums/ResizingDirection.d.ts +0 -0
  319. /package/dist/cjs/types/{models → legacy/models}/enums/SubObjectDirection.d.ts +0 -0
  320. /package/dist/cjs/types/{models → legacy/models}/enums/TextAlign.d.ts +0 -0
  321. /package/dist/cjs/types/{models → legacy/models}/enums/index.d.ts +0 -0
  322. /package/dist/cjs/types/{models → legacy/models}/implementations/EditorContext.d.ts +0 -0
  323. /package/dist/cjs/types/{models → legacy/models}/implementations/Element.d.ts +0 -0
  324. /package/dist/cjs/types/{models → legacy/models}/implementations/ElementLink.d.ts +0 -0
  325. /package/dist/cjs/types/{models → legacy/models}/implementations/Port.d.ts +0 -0
  326. /package/dist/cjs/types/{models → legacy/models}/implementations/Text.d.ts +0 -0
  327. /package/dist/cjs/types/{models → legacy/models}/implementations/index.d.ts +0 -0
  328. /package/dist/cjs/types/{models → legacy/models}/index.d.ts +0 -0
  329. /package/dist/cjs/types/{models → legacy/models}/position.d.ts +0 -0
  330. /package/dist/cjs/types/{models → legacy/models}/size.d.ts +0 -0
  331. /package/dist/cjs/types/{utils → legacy/utils}/constants.d.ts +0 -0
  332. /package/dist/cjs/types/{utils → legacy/utils}/elementLinkUtil.d.ts +0 -0
  333. /package/dist/cjs/types/{utils → legacy/utils}/generateUniqueId.d.ts +0 -0
  334. /package/dist/cjs/types/{utils → legacy/utils}/index.d.ts +0 -0
  335. /package/dist/cjs/types/{utils → legacy/utils}/lineUtil.d.ts +0 -0
  336. /package/dist/cjs/types/{utils → legacy/utils}/mathUtil.d.ts +0 -0
  337. /package/dist/cjs/types/{utils → legacy/utils}/pathUtil.d.ts +0 -0
  338. /package/dist/cjs/types/{utils → legacy/utils}/portSlideRailSVGUtil.d.ts +0 -0
  339. /package/dist/cjs/types/{utils → legacy/utils}/positionUtil.d.ts +0 -0
  340. /package/dist/cjs/types/{utils → legacy/utils}/svgUtil.d.ts +0 -0
  341. /package/dist/esm/types/{components → legacy/components}/BBoxDebugger.d.ts +0 -0
  342. /package/dist/esm/types/{components → legacy/components}/CloseIcon.d.ts +0 -0
  343. /package/dist/esm/types/{components → legacy/components}/LinkDebugger.d.ts +0 -0
  344. /package/dist/esm/types/{components → legacy/components}/editor.d.ts +0 -0
  345. /package/dist/esm/types/{components → legacy/components}/elementShowbox.d.ts +0 -0
  346. /package/dist/esm/types/{components → legacy/components}/elements/dragDropHandlerElement.d.ts +0 -0
  347. /package/dist/esm/types/{components → legacy/components}/elements/element.d.ts +0 -0
  348. /package/dist/esm/types/{components → legacy/components}/elements/elementWrapper.d.ts +0 -0
  349. /package/dist/esm/types/{components → legacy/components}/links/elementLink.d.ts +0 -0
  350. /package/dist/esm/types/{components → legacy/components}/links/index.d.ts +0 -0
  351. /package/dist/esm/types/{components → legacy/components}/links/point.d.ts +0 -0
  352. /package/dist/esm/types/{components → legacy/components}/paper.d.ts +0 -0
  353. /package/dist/esm/types/{components → legacy/components}/ports/index.d.ts +0 -0
  354. /package/dist/esm/types/{components → legacy/components}/ports/port.d.ts +0 -0
  355. /package/dist/esm/types/{components → legacy/components}/shapeShowbox.d.ts +0 -0
  356. /package/dist/esm/types/{components → legacy/components}/shapes/circle.d.ts +0 -0
  357. /package/dist/esm/types/{components → legacy/components}/shapes/customShape.d.ts +0 -0
  358. /package/dist/esm/types/{components → legacy/components}/shapes/halfCircle.d.ts +0 -0
  359. /package/dist/esm/types/{components → legacy/components}/shapes/index.d.ts +0 -0
  360. /package/dist/esm/types/{components → legacy/components}/shapes/polygon.d.ts +0 -0
  361. /package/dist/esm/types/{components → legacy/components}/shapes/rectangle.d.ts +0 -0
  362. /package/dist/esm/types/{components → legacy/components}/shapes/rectangularFrame.d.ts +0 -0
  363. /package/dist/esm/types/{components → legacy/components}/shapes/shapeWrapper.d.ts +0 -0
  364. /package/dist/esm/types/{components → legacy/components}/svgUtilsShowbox.d.ts +0 -0
  365. /package/dist/esm/types/{components → legacy/components}/texts/index.d.ts +0 -0
  366. /package/dist/esm/types/{components → legacy/components}/texts/text.d.ts +0 -0
  367. /package/dist/esm/types/{components → legacy/components}/viewControls/ruler.d.ts +0 -0
  368. /package/dist/esm/types/{components → legacy/components}/viewControls/selectionFrame.d.ts +0 -0
  369. /package/dist/esm/types/{contexts → legacy/contexts}/editorConfigurationContext.d.ts +0 -0
  370. /package/dist/esm/types/{contexts → legacy/contexts}/paperEventEmitterContext.d.ts +0 -0
  371. /package/dist/esm/types/{contexts → legacy/contexts}/zoomPanContext.d.ts +0 -0
  372. /package/dist/esm/types/{hooks → legacy/hooks}/useKeyboardCommands.d.ts +0 -0
  373. /package/dist/esm/types/{hooks → legacy/hooks}/useSelectionFrame.d.ts +0 -0
  374. /package/dist/esm/types/{logs → legacy/logs}/Logger.d.ts +0 -0
  375. /package/dist/esm/types/{logs → legacy/logs}/configureLogger.d.ts +0 -0
  376. /package/dist/esm/types/{main.d.ts → legacy/main.d.ts} +0 -0
  377. /package/dist/esm/types/{mocks → legacy/mocks}/customPortWithBuiltinShape.d.ts +0 -0
  378. /package/dist/esm/types/{mocks → legacy/mocks}/diamondElement.d.ts +0 -0
  379. /package/dist/esm/types/{mocks → legacy/mocks}/editorContext.d.ts +0 -0
  380. /package/dist/esm/types/{mocks → legacy/mocks}/editorContextElementMoveAsPort.d.ts +0 -0
  381. /package/dist/esm/types/{mocks → legacy/mocks}/editorContextForOptimizeRerender.d.ts +0 -0
  382. /package/dist/esm/types/{mocks → legacy/mocks}/editorContextMultipleElements.d.ts +0 -0
  383. /package/dist/esm/types/{mocks → legacy/mocks}/editorContextSingleElement.d.ts +0 -0
  384. /package/dist/esm/types/{mocks → legacy/mocks}/editorContextSingleElementTestEvents.d.ts +0 -0
  385. /package/dist/esm/types/{mocks → legacy/mocks}/editorContextTriggerRenderElements.d.ts +0 -0
  386. /package/dist/esm/types/{mocks → legacy/mocks}/editorContextWithElementAnchorCenter.d.ts +0 -0
  387. /package/dist/esm/types/{mocks → legacy/mocks}/port1.d.ts +0 -0
  388. /package/dist/esm/types/{mocks → legacy/mocks}/port2.d.ts +0 -0
  389. /package/dist/esm/types/{mocks → legacy/mocks}/portIn.d.ts +0 -0
  390. /package/dist/esm/types/{mocks → legacy/mocks}/rectangularFrameElement.d.ts +0 -0
  391. /package/dist/esm/types/{mocks → legacy/mocks}/textsWithFlexBox.d.ts +0 -0
  392. /package/dist/esm/types/{models → legacy/models}/IEditorConfiguration.d.ts +0 -0
  393. /package/dist/esm/types/{models → legacy/models}/IEditorContext.d.ts +0 -0
  394. /package/dist/esm/types/{models → legacy/models}/IElement.d.ts +0 -0
  395. /package/dist/esm/types/{models → legacy/models}/IElementLink.d.ts +0 -0
  396. /package/dist/esm/types/{models → legacy/models}/IElementLinkProps.d.ts +0 -0
  397. /package/dist/esm/types/{models → legacy/models}/IElementProps.d.ts +0 -0
  398. /package/dist/esm/types/{models → legacy/models}/IElementSelectorProps.d.ts +0 -0
  399. /package/dist/esm/types/{models → legacy/models}/IFlexboxType.d.ts +0 -0
  400. /package/dist/esm/types/{models → legacy/models}/IPaperBounds.d.ts +0 -0
  401. /package/dist/esm/types/{models → legacy/models}/IPort.d.ts +0 -0
  402. /package/dist/esm/types/{models → legacy/models}/IPortProps.d.ts +0 -0
  403. /package/dist/esm/types/{models → legacy/models}/IResizability.d.ts +0 -0
  404. /package/dist/esm/types/{models → legacy/models}/IShape.d.ts +0 -0
  405. /package/dist/esm/types/{models → legacy/models}/IText.d.ts +0 -0
  406. /package/dist/esm/types/{models → legacy/models}/ITextProps.d.ts +0 -0
  407. /package/dist/esm/types/{models → legacy/models}/callbackTypes.d.ts +0 -0
  408. /package/dist/esm/types/{models → legacy/models}/enums/PositioningAnchor.d.ts +0 -0
  409. /package/dist/esm/types/{models → legacy/models}/enums/ResizingDirection.d.ts +0 -0
  410. /package/dist/esm/types/{models → legacy/models}/enums/SubObjectDirection.d.ts +0 -0
  411. /package/dist/esm/types/{models → legacy/models}/enums/TextAlign.d.ts +0 -0
  412. /package/dist/esm/types/{models → legacy/models}/enums/index.d.ts +0 -0
  413. /package/dist/esm/types/{models → legacy/models}/implementations/EditorContext.d.ts +0 -0
  414. /package/dist/esm/types/{models → legacy/models}/implementations/Element.d.ts +0 -0
  415. /package/dist/esm/types/{models → legacy/models}/implementations/ElementLink.d.ts +0 -0
  416. /package/dist/esm/types/{models → legacy/models}/implementations/Port.d.ts +0 -0
  417. /package/dist/esm/types/{models → legacy/models}/implementations/Text.d.ts +0 -0
  418. /package/dist/esm/types/{models → legacy/models}/implementations/index.d.ts +0 -0
  419. /package/dist/esm/types/{models → legacy/models}/index.d.ts +0 -0
  420. /package/dist/esm/types/{models → legacy/models}/position.d.ts +0 -0
  421. /package/dist/esm/types/{models → legacy/models}/size.d.ts +0 -0
  422. /package/dist/esm/types/{utils → legacy/utils}/constants.d.ts +0 -0
  423. /package/dist/esm/types/{utils → legacy/utils}/elementLinkUtil.d.ts +0 -0
  424. /package/dist/esm/types/{utils → legacy/utils}/generateUniqueId.d.ts +0 -0
  425. /package/dist/esm/types/{utils → legacy/utils}/index.d.ts +0 -0
  426. /package/dist/esm/types/{utils → legacy/utils}/lineUtil.d.ts +0 -0
  427. /package/dist/esm/types/{utils → legacy/utils}/mathUtil.d.ts +0 -0
  428. /package/dist/esm/types/{utils → legacy/utils}/pathUtil.d.ts +0 -0
  429. /package/dist/esm/types/{utils → legacy/utils}/portSlideRailSVGUtil.d.ts +0 -0
  430. /package/dist/esm/types/{utils → legacy/utils}/positionUtil.d.ts +0 -0
  431. /package/dist/esm/types/{utils → legacy/utils}/svgUtil.d.ts +0 -0
package/README.md CHANGED
@@ -1,46 +1,78 @@
1
- # Getting Started with Create React App
1
+ # orcasvn-react-diagrams
2
2
 
3
- This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
3
+ Diagram editor library with a Konva-backed editor (`createDiagramEditor`) and an engine-only API (`createDiagramEngine`).
4
4
 
5
- ## Available Scripts
5
+ ## Install
6
6
 
7
- In the project directory, you can run:
7
+ ```bash
8
+ npm install orcasvn-react-diagrams
9
+ ```
8
10
 
9
- ### `npm start`
11
+ Node engine for this repository/toolchain: `>=18.17.0 <19.0.0`.
10
12
 
11
- Runs the app in the development mode.\
12
- Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
13
+ ## Quick Start
13
14
 
14
- The page will reload if you make edits.\
15
- You will also see any lint errors in the console.
15
+ ```ts
16
+ import { createDiagramEditor } from 'orcasvn-react-diagrams';
16
17
 
17
- ### `npm test`
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
- Launches the test runner in the interactive watch mode.\
20
- See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
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
- ### `npm run build`
33
+ ## API Docs
23
34
 
24
- Builds the app for production to the `build` folder.\
25
- It correctly bundles React in production mode and optimizes the build for the best performance.
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
- The build is minified and the filenames include the hashes.\
28
- Your app is ready to be deployed!
40
+ Machine-readable docs shipped in npm package:
29
41
 
30
- See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
42
+ - `ai/manifest.json`
43
+ - `ai/api-contract.json`
44
+ - `ai/invariants.json`
31
45
 
32
- ### `npm run eject`
46
+ UNPKG examples:
33
47
 
34
- **Note: this is a one-way operation. Once you `eject`, you can’t go back!**
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
- If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
51
+ Node subpath export:
37
52
 
38
- Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
53
+ - `orcasvn-react-diagrams/ai-manifest`
39
54
 
40
- You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
55
+ ## External Drag And Drop
41
56
 
42
- ## Learn More
57
+ ```ts
58
+ const world = editor.clientToWorld(
59
+ { x: event.clientX, y: event.clientY },
60
+ stageContainer
61
+ );
43
62
 
44
- You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
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
- To learn React, check out the [React documentation](https://reactjs.org/).
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
+
@@ -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
+ }