orcasvn-react-diagrams 0.2.2 → 0.2.4

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 (83) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +15 -3
  3. package/dist/cjs/examples.js +2616 -291
  4. package/dist/cjs/index.js +1186 -153
  5. package/dist/cjs/types/api/createDiagramEditor.d.ts +19 -1
  6. package/dist/cjs/types/api/index.d.ts +1 -1
  7. package/dist/cjs/types/api/types.d.ts +41 -0
  8. package/dist/cjs/types/displaybox/DisplayBoxControls.d.ts +5 -1
  9. package/dist/cjs/types/displaybox/demos/AsymmetricPortMultiAnchorDemoTab.d.ts +3 -0
  10. package/dist/cjs/types/displaybox/demos/LayoutLabelReservedSpaceDemoTab.d.ts +3 -0
  11. package/dist/cjs/types/displaybox/demos/VertexControlLinkSessionDemoTab.d.ts +3 -0
  12. package/dist/cjs/types/displaybox/demos/asymmetricPortMultiAnchorDemo.d.ts +31 -0
  13. package/dist/cjs/types/displaybox/demos/labelStyleDemo.d.ts +2 -0
  14. package/dist/cjs/types/displaybox/demos/layoutLabelReservedSpaceDemo.d.ts +11 -0
  15. package/dist/cjs/types/displaybox/demos/portPositionLimitsDemo.d.ts +2 -0
  16. package/dist/cjs/types/displaybox/demos/vertexControlLinkSessionDemo.d.ts +12 -0
  17. package/dist/cjs/types/displaybox/useDemoControls.d.ts +4 -0
  18. package/dist/cjs/types/engine/AutoLayoutService.d.ts +2 -0
  19. package/dist/cjs/types/engine/DiagramEngine.d.ts +11 -0
  20. package/dist/cjs/types/engine/LinkRoutingService.d.ts +9 -1
  21. package/dist/cjs/types/models/PortModel.d.ts +5 -0
  22. package/dist/cjs/types/renderer/RenderTypes.d.ts +3 -1
  23. package/dist/cjs/types/renderer/konva/KonvaInteraction.d.ts +14 -0
  24. package/dist/cjs/types/renderer/konva/KonvaNodeFactory.d.ts +12 -0
  25. package/dist/cjs/types/renderer/konva/KonvaRenderer.d.ts +2 -1
  26. package/dist/cjs/types/shapes/BuiltInShapes.d.ts +3 -1
  27. package/dist/cjs/types/strategies/ObstacleRouter.d.ts +2 -0
  28. package/dist/cjs/types/utils/__tests__/portGeometry.test.d.ts +1 -0
  29. package/dist/cjs/types/utils/portGeometry.d.ts +44 -0
  30. package/dist/esm/examples.js +2617 -292
  31. package/dist/esm/examples.js.map +1 -1
  32. package/dist/esm/index.js +1186 -153
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/types/api/createDiagramEditor.d.ts +19 -1
  35. package/dist/esm/types/api/index.d.ts +1 -1
  36. package/dist/esm/types/api/types.d.ts +41 -0
  37. package/dist/esm/types/displaybox/DisplayBoxControls.d.ts +5 -1
  38. package/dist/esm/types/displaybox/demos/AsymmetricPortMultiAnchorDemoTab.d.ts +3 -0
  39. package/dist/esm/types/displaybox/demos/LayoutLabelReservedSpaceDemoTab.d.ts +3 -0
  40. package/dist/esm/types/displaybox/demos/VertexControlLinkSessionDemoTab.d.ts +3 -0
  41. package/dist/esm/types/displaybox/demos/asymmetricPortMultiAnchorDemo.d.ts +31 -0
  42. package/dist/esm/types/displaybox/demos/labelStyleDemo.d.ts +2 -0
  43. package/dist/esm/types/displaybox/demos/layoutLabelReservedSpaceDemo.d.ts +11 -0
  44. package/dist/esm/types/displaybox/demos/portPositionLimitsDemo.d.ts +2 -0
  45. package/dist/esm/types/displaybox/demos/vertexControlLinkSessionDemo.d.ts +12 -0
  46. package/dist/esm/types/displaybox/useDemoControls.d.ts +4 -0
  47. package/dist/esm/types/engine/AutoLayoutService.d.ts +2 -0
  48. package/dist/esm/types/engine/DiagramEngine.d.ts +11 -0
  49. package/dist/esm/types/engine/LinkRoutingService.d.ts +9 -1
  50. package/dist/esm/types/models/PortModel.d.ts +5 -0
  51. package/dist/esm/types/renderer/RenderTypes.d.ts +3 -1
  52. package/dist/esm/types/renderer/konva/KonvaInteraction.d.ts +14 -0
  53. package/dist/esm/types/renderer/konva/KonvaNodeFactory.d.ts +12 -0
  54. package/dist/esm/types/renderer/konva/KonvaRenderer.d.ts +2 -1
  55. package/dist/esm/types/shapes/BuiltInShapes.d.ts +3 -1
  56. package/dist/esm/types/strategies/ObstacleRouter.d.ts +2 -0
  57. package/dist/esm/types/utils/__tests__/portGeometry.test.d.ts +1 -0
  58. package/dist/esm/types/utils/portGeometry.d.ts +44 -0
  59. package/dist/examples.d.ts +59 -0
  60. package/dist/index.d.ts +67 -1
  61. package/package.json +2 -1
  62. package/src/displaybox/demos/AsymmetricPortMultiAnchorDemoTab.tsx +269 -0
  63. package/src/displaybox/demos/AutoLayoutDemoTab.tsx +113 -11
  64. package/src/displaybox/demos/DeletionEventsDemoTab.tsx +6 -1
  65. package/src/displaybox/demos/EngineEventsDemoTab.tsx +5 -0
  66. package/src/displaybox/demos/EventHandlersDemoTab.tsx +5 -0
  67. package/src/displaybox/demos/ExternalDragDropDemoTab.tsx +5 -0
  68. package/src/displaybox/demos/LayoutLabelReservedSpaceDemoTab.tsx +291 -0
  69. package/src/displaybox/demos/LinkCancelDemoTab.tsx +5 -0
  70. package/src/displaybox/demos/ObstacleRoutingDemoTab.tsx +11 -10
  71. package/src/displaybox/demos/ShapeHoverControlsDemoTab.tsx +6 -1
  72. package/src/displaybox/demos/SimpleDemo.tsx +5 -0
  73. package/src/displaybox/demos/SvgPathDemoTab.tsx +5 -0
  74. package/src/displaybox/demos/TextLayoutDemoTab.tsx +6 -1
  75. package/src/displaybox/demos/VertexControlLinkSessionDemoTab.tsx +302 -0
  76. package/src/displaybox/demos/asymmetricPortMultiAnchorDemo.ts +357 -0
  77. package/src/displaybox/demos/autoLayoutDemo.ts +23 -5
  78. package/src/displaybox/demos/index.tsx +110 -80
  79. package/src/displaybox/demos/labelStyleDemo.ts +101 -0
  80. package/src/displaybox/demos/layoutLabelReservedSpaceDemo.ts +121 -0
  81. package/src/displaybox/demos/obstacleRoutingDemo.ts +212 -176
  82. package/src/displaybox/demos/portPositionLimitsDemo.ts +211 -0
  83. package/src/displaybox/demos/vertexControlLinkSessionDemo.ts +145 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,69 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented in this file.
4
+
5
+ ## [0.2.4] - 2026-05-06
6
+
7
+ ### Added
8
+ - Directional parent-child attach mode support for hierarchy-aware linking flows.
9
+ - Port position-limit normalization coverage in DisplayBox demos for add/load/move entry points.
10
+
11
+ ### Changed
12
+ - Unified child-port movement restrictions across all engine entry points (move, add, load, link-session creation, resize reprojection).
13
+ - Border-host port constraints now resolve deterministically when combined with `positionLimits`, while preserving border placement invariants.
14
+ - Routing stub behavior for sibling external links and parent-child links updated for consistent obstacle routing outcomes.
15
+
16
+ ### Fixed
17
+ - Manual link points now translate correctly when moving an element subtree.
18
+ - Multi-anchor nested routing demo behavior corrected for stable path previews.
19
+
20
+ ### Docs
21
+ - Updated release highlights in `README.md` for `v0.2.4`.
22
+
23
+ ## [0.2.3] - 2026-05-03
24
+
25
+ ### Added
26
+ - Diagram export to image support, including fit-to-content export options.
27
+ - Programmatic link-session support for vertex-control drag workflows.
28
+ - Asymmetric multi-anchor port demo expansion with multiple SVG glyph variants.
29
+ - Auto-layout label reserved-space handling and related demo coverage.
30
+
31
+ ### Changed
32
+ - Asymmetric SVG-path multi-anchor transform/orientation behavior for deterministic border-side placement.
33
+ - DisplayBox demo coverage consolidated for auto-layout and vertex-control scenarios.
34
+ - Vertex-control session logs in demo flows improved for collapse/scroll stability.
35
+
36
+ ### Fixed
37
+ - Restored port selection priority when shape hover controls are active.
38
+ - Suppressed occupied vertex targets when an element-owned port already occupies that anchor.
39
+ - Guarded invalid vertex-control link drop cleanup to prevent re-entrant stack overflow.
40
+ - Corrected initial external-link endpoint alignment in asymmetric multi-anchor demo.
41
+ - Kept auto-layout label text visible in consolidated demo scenarios.
42
+
43
+ ### Docs
44
+ - Updated release highlights in `README.md` for `v0.2.3`.
45
+ - Added release-process requirement to maintain changelog entries in `RELEASE_AGENTS.md`.
46
+
47
+ ## [0.2.2] - 2026-04-25
48
+
49
+ ### Added
50
+ - Discrete port anchor constraints with anchor-based movement support.
51
+ - Shape hover controls for edge and vertex targets with configurable trigger modes.
52
+ - Ellipse midpoint control enumeration support.
53
+ - DisplayBox demos for discrete anchors, hover controls, and ellipse midpoints.
54
+
55
+ ### Changed
56
+ - Refactored built-in shape behavior to class-based implementations.
57
+ - Removed remaining runtime `boundaryKind` branching in shape behavior paths.
58
+ - Extracted engine internals into dedicated services:
59
+ - text layout service
60
+ - auto layout service
61
+ - link routing service
62
+ - mutation pipeline
63
+
64
+ ### Fixed
65
+ - Improved rotated-shape selection, hit testing, and resize alignment consistency.
66
+ - Improved shape-aware endpoint edge detection for link routing.
67
+
68
+ ### Docs
69
+ - Refreshed DisplayBox verification coverage for shape class and rotation behavior.
package/README.md CHANGED
@@ -30,9 +30,21 @@ editor.addElement({
30
30
  });
31
31
  ```
32
32
 
33
- ## Release Highlights (v0.2.2)
34
-
35
- - Includes all completed `v0.2.1` work plus `v0.2.2` additions in one release.
33
+ ## Release Highlights (v0.2.4)
34
+
35
+ - Includes all completed `v0.2.1`, `v0.2.2`, and `v0.2.3` work, plus `v0.2.4` updates.
36
+ - `v0.2.4` port-constraint and movement consistency updates:
37
+ - unified child-port restriction enforcement across move/add/load/link-session/resize entry points
38
+ - deterministic border-host constraint resolution when `positionLimits` are also active
39
+ - default invalid child-port positions now normalize consistently in add and load flows
40
+ - `v0.2.4` routing and hierarchy updates:
41
+ - directional parent-child attach mode support
42
+ - sibling external and parent-child stub routing rule refinements
43
+ - manual link points now translate with subtree moves
44
+ - `v0.2.4` demo coverage updates:
45
+ - expanded port-position limits scenarios including border + limits and default-position normalization
46
+ - refreshed parent/child internal-external anchor coverage
47
+ - corrected nested multi-anchor routing demonstration stability
36
48
  - Shape system upgrade:
37
49
  - class-based built-in shape behaviors
38
50
  - runtime removal of `boundaryKind` branching