@almadar/ui 2.32.0 → 2.33.2

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 (77) hide show
  1. package/dist/avl/index.cjs +1049 -1086
  2. package/dist/avl/index.d.cts +352 -78
  3. package/dist/avl/index.d.ts +18 -3
  4. package/dist/avl/index.js +1029 -1086
  5. package/dist/components/atoms/index.d.ts +0 -1
  6. package/dist/components/index.cjs +1140 -1846
  7. package/dist/components/index.js +260 -951
  8. package/dist/components/molecules/avl/AvlBackwardEdge.d.ts +8 -0
  9. package/dist/components/molecules/avl/AvlBindingEdge.d.ts +9 -0
  10. package/dist/components/molecules/avl/AvlEventWireEdge.d.ts +14 -0
  11. package/dist/components/molecules/avl/AvlOrbitalNode.d.ts +12 -0
  12. package/dist/components/molecules/avl/AvlPageEdge.d.ts +8 -0
  13. package/dist/components/molecules/avl/AvlTransitionEdge.d.ts +16 -0
  14. package/dist/components/molecules/avl/BehaviorView.d.ts +12 -0
  15. package/dist/components/molecules/avl/DetailView.d.ts +13 -0
  16. package/dist/components/molecules/avl/MiniStateMachine.d.ts +14 -0
  17. package/dist/components/molecules/avl/ModuleCard.d.ts +14 -0
  18. package/dist/components/molecules/avl/SystemNode.d.ts +12 -0
  19. package/dist/components/molecules/avl/avl-canvas-types.d.ts +36 -0
  20. package/dist/components/molecules/avl/avl-elk-layout.d.ts +55 -0
  21. package/dist/components/molecules/avl/avl-flow-converter.d.ts +17 -0
  22. package/dist/components/molecules/avl/avl-story-schemas.d.ts +34 -0
  23. package/dist/components/molecules/avl/avl-zoom-band.d.ts +19 -0
  24. package/dist/components/molecules/avl/index.d.ts +15 -0
  25. package/dist/components/molecules/index.d.ts +0 -1
  26. package/dist/components/organisms/avl/AvlCosmicZoom.d.ts +10 -7
  27. package/dist/components/organisms/avl/FlowCanvas.d.ts +32 -0
  28. package/dist/components/organisms/avl/ZoomBreadcrumb.d.ts +16 -0
  29. package/dist/components/organisms/avl/ZoomLegend.d.ts +10 -0
  30. package/dist/components/organisms/avl/index.d.ts +5 -2
  31. package/dist/providers/index.cjs +148 -149
  32. package/dist/providers/index.js +39 -40
  33. package/dist/runtime/index.cjs +1039 -1019
  34. package/dist/runtime/index.js +254 -234
  35. package/package.json +2 -6
  36. package/dist/components/atoms/flow/FlowLabel.d.ts +0 -23
  37. package/dist/components/atoms/flow/FlowMinimap.d.ts +0 -28
  38. package/dist/components/atoms/flow/FlowNodeShell.d.ts +0 -25
  39. package/dist/components/atoms/flow/FlowPort.d.ts +0 -26
  40. package/dist/components/atoms/flow/FlowWire.d.ts +0 -39
  41. package/dist/components/atoms/flow/index.d.ts +0 -13
  42. package/dist/components/molecules/flow/BehaviorNode.d.ts +0 -28
  43. package/dist/components/molecules/flow/EffectNode.d.ts +0 -26
  44. package/dist/components/molecules/flow/EventWireEdge.d.ts +0 -23
  45. package/dist/components/molecules/flow/ExprNode.d.ts +0 -27
  46. package/dist/components/molecules/flow/FlowStateNode.d.ts +0 -18
  47. package/dist/components/molecules/flow/NodePalette.d.ts +0 -36
  48. package/dist/components/molecules/flow/OrbitalNode.d.ts +0 -31
  49. package/dist/components/molecules/flow/TransitionEdge.d.ts +0 -26
  50. package/dist/components/molecules/flow/index.d.ts +0 -8
  51. package/dist/components/molecules/svg/AIGenerates.d.ts +0 -7
  52. package/dist/components/molecules/svg/ClosedCircuit.d.ts +0 -7
  53. package/dist/components/molecules/svg/CommunityOwnership.d.ts +0 -7
  54. package/dist/components/molecules/svg/CompileAnywhere.d.ts +0 -7
  55. package/dist/components/molecules/svg/ComposableModels.d.ts +0 -7
  56. package/dist/components/molecules/svg/DescribeProveDeploy.d.ts +0 -7
  57. package/dist/components/molecules/svg/DomainGrid.d.ts +0 -7
  58. package/dist/components/molecules/svg/EventBus.d.ts +0 -7
  59. package/dist/components/molecules/svg/OrbitalUnit.d.ts +0 -7
  60. package/dist/components/molecules/svg/PlanVerifyRemember.d.ts +0 -7
  61. package/dist/components/molecules/svg/ProveCorrect.d.ts +0 -7
  62. package/dist/components/molecules/svg/ServiceLayers.d.ts +0 -7
  63. package/dist/components/molecules/svg/SharedReality.d.ts +0 -7
  64. package/dist/components/molecules/svg/StandardLibrary.d.ts +0 -7
  65. package/dist/components/molecules/svg/StateMachine.d.ts +0 -7
  66. package/dist/components/molecules/svg/WorldModel.d.ts +0 -7
  67. package/dist/components/molecules/svg/index.d.ts +0 -16
  68. package/dist/components/organisms/avl/AvlApplicationScene.d.ts +0 -17
  69. package/dist/components/organisms/avl/AvlOrbitalScene.d.ts +0 -21
  70. package/dist/flow/index.cjs +0 -3832
  71. package/dist/flow/index.d.cts +0 -367
  72. package/dist/flow/index.d.ts +0 -10
  73. package/dist/flow/index.js +0 -3793
  74. package/dist/illustrations/index.cjs +0 -7651
  75. package/dist/illustrations/index.d.cts +0 -544
  76. package/dist/illustrations/index.d.ts +0 -59
  77. package/dist/illustrations/index.js +0 -7594
@@ -1,5 +1,7 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
+ import React__default from 'react';
2
3
  import { OrbitalSchema } from '@almadar/core';
4
+ import { Node, Edge, NodeProps, EdgeProps } from '@xyflow/react';
3
5
 
4
6
  /**
5
7
  * Almadar Visual Language (AVL) shared types.
@@ -64,7 +66,7 @@ interface AvlOrbitalProps {
64
66
  opacity?: number;
65
67
  className?: string;
66
68
  }
67
- declare const AvlOrbital: React.FC<AvlOrbitalProps>;
69
+ declare const AvlOrbital: React__default.FC<AvlOrbitalProps>;
68
70
 
69
71
  interface AvlEntityProps extends AvlBaseProps {
70
72
  r?: number;
@@ -72,7 +74,7 @@ interface AvlEntityProps extends AvlBaseProps {
72
74
  persistence?: AvlPersistenceKind;
73
75
  label?: string;
74
76
  }
75
- declare const AvlEntity: React.FC<AvlEntityProps>;
77
+ declare const AvlEntity: React__default.FC<AvlEntityProps>;
76
78
 
77
79
  interface AvlTraitProps {
78
80
  cx?: number;
@@ -85,20 +87,20 @@ interface AvlTraitProps {
85
87
  opacity?: number;
86
88
  className?: string;
87
89
  }
88
- declare const AvlTrait: React.FC<AvlTraitProps>;
90
+ declare const AvlTrait: React__default.FC<AvlTraitProps>;
89
91
 
90
92
  interface AvlPageProps extends AvlBaseProps {
91
93
  size?: number;
92
94
  label?: string;
93
95
  }
94
- declare const AvlPage: React.FC<AvlPageProps>;
96
+ declare const AvlPage: React__default.FC<AvlPageProps>;
95
97
 
96
98
  interface AvlApplicationProps extends AvlBaseProps {
97
99
  width?: number;
98
100
  height?: number;
99
101
  label?: string;
100
102
  }
101
- declare const AvlApplication: React.FC<AvlApplicationProps>;
103
+ declare const AvlApplication: React__default.FC<AvlApplicationProps>;
102
104
 
103
105
  interface AvlStateProps extends AvlBaseProps {
104
106
  name?: string;
@@ -111,7 +113,7 @@ interface AvlStateProps extends AvlBaseProps {
111
113
  /** V2: Number of transitions touching this state. Drives proportional width. */
112
114
  transitionCount?: number;
113
115
  }
114
- declare const AvlState: React.FC<AvlStateProps>;
116
+ declare const AvlState: React__default.FC<AvlStateProps>;
115
117
 
116
118
  interface AvlTransitionProps {
117
119
  x1: number;
@@ -129,19 +131,19 @@ interface AvlTransitionProps {
129
131
  opacity?: number;
130
132
  className?: string;
131
133
  }
132
- declare const AvlTransition: React.FC<AvlTransitionProps>;
134
+ declare const AvlTransition: React__default.FC<AvlTransitionProps>;
133
135
 
134
136
  interface AvlEventProps extends AvlBaseProps {
135
137
  size?: number;
136
138
  label?: string;
137
139
  }
138
- declare const AvlEvent: React.FC<AvlEventProps>;
140
+ declare const AvlEvent: React__default.FC<AvlEventProps>;
139
141
 
140
142
  interface AvlGuardProps extends AvlBaseProps {
141
143
  size?: number;
142
144
  label?: string;
143
145
  }
144
- declare const AvlGuard: React.FC<AvlGuardProps>;
146
+ declare const AvlGuard: React__default.FC<AvlGuardProps>;
145
147
 
146
148
  interface AvlEffectProps extends AvlBaseProps {
147
149
  effectType: AvlEffectType;
@@ -150,7 +152,7 @@ interface AvlEffectProps extends AvlBaseProps {
150
152
  /** V2: Render a category-colored background circle behind the icon. */
151
153
  showBackground?: boolean;
152
154
  }
153
- declare const AvlEffect: React.FC<AvlEffectProps>;
155
+ declare const AvlEffect: React__default.FC<AvlEffectProps>;
154
156
 
155
157
  interface AvlFieldProps extends AvlBaseProps {
156
158
  /** Angle in radians from entity center. */
@@ -159,14 +161,14 @@ interface AvlFieldProps extends AvlBaseProps {
159
161
  required?: boolean;
160
162
  label?: string;
161
163
  }
162
- declare const AvlField: React.FC<AvlFieldProps>;
164
+ declare const AvlField: React__default.FC<AvlFieldProps>;
163
165
 
164
166
  interface AvlFieldTypeProps extends AvlBaseProps {
165
167
  kind: AvlFieldTypeKind;
166
168
  size?: number;
167
169
  label?: string;
168
170
  }
169
- declare const AvlFieldType: React.FC<AvlFieldTypeProps>;
171
+ declare const AvlFieldType: React__default.FC<AvlFieldTypeProps>;
170
172
 
171
173
  interface AvlBindingProps {
172
174
  x1: number;
@@ -178,40 +180,40 @@ interface AvlBindingProps {
178
180
  opacity?: number;
179
181
  className?: string;
180
182
  }
181
- declare const AvlBinding: React.FC<AvlBindingProps>;
183
+ declare const AvlBinding: React__default.FC<AvlBindingProps>;
182
184
 
183
185
  interface AvlPersistenceProps extends AvlBaseProps {
184
186
  kind: AvlPersistenceKind;
185
187
  size?: number;
186
188
  label?: string;
187
189
  }
188
- declare const AvlPersistence: React.FC<AvlPersistenceProps>;
190
+ declare const AvlPersistence: React__default.FC<AvlPersistenceProps>;
189
191
 
190
192
  interface AvlOperatorProps extends AvlBaseProps {
191
193
  name: string;
192
194
  namespace?: AvlOperatorNamespace;
193
195
  size?: number;
194
196
  }
195
- declare const AvlOperator: React.FC<AvlOperatorProps>;
197
+ declare const AvlOperator: React__default.FC<AvlOperatorProps>;
196
198
 
197
199
  interface AvlSExprProps extends AvlBaseProps {
198
200
  width?: number;
199
201
  height?: number;
200
202
  label?: string;
201
203
  }
202
- declare const AvlSExpr: React.FC<AvlSExprProps>;
204
+ declare const AvlSExpr: React__default.FC<AvlSExprProps>;
203
205
 
204
206
  interface AvlLiteralProps extends AvlBaseProps {
205
207
  value: string;
206
208
  size?: number;
207
209
  }
208
- declare const AvlLiteral: React.FC<AvlLiteralProps>;
210
+ declare const AvlLiteral: React__default.FC<AvlLiteralProps>;
209
211
 
210
212
  interface AvlBindingRefProps extends AvlBaseProps {
211
213
  path: string;
212
214
  size?: number;
213
215
  }
214
- declare const AvlBindingRef: React.FC<AvlBindingRefProps>;
216
+ declare const AvlBindingRef: React__default.FC<AvlBindingRefProps>;
215
217
 
216
218
  interface AvlStateMachineState {
217
219
  name: string;
@@ -232,7 +234,7 @@ interface AvlStateMachineProps {
232
234
  color?: string;
233
235
  animated?: boolean;
234
236
  }
235
- declare const AvlStateMachine: React.FC<AvlStateMachineProps>;
237
+ declare const AvlStateMachine: React__default.FC<AvlStateMachineProps>;
236
238
 
237
239
  interface AvlOrbitalUnitTrait {
238
240
  name: string;
@@ -251,7 +253,7 @@ interface AvlOrbitalUnitProps {
251
253
  color?: string;
252
254
  animated?: boolean;
253
255
  }
254
- declare const AvlOrbitalUnit: React.FC<AvlOrbitalUnitProps>;
256
+ declare const AvlOrbitalUnit: React__default.FC<AvlOrbitalUnitProps>;
255
257
 
256
258
  interface AvlClosedCircuitState {
257
259
  name: string;
@@ -270,7 +272,7 @@ interface AvlClosedCircuitProps {
270
272
  color?: string;
271
273
  animated?: boolean;
272
274
  }
273
- declare const AvlClosedCircuit: React.FC<AvlClosedCircuitProps>;
275
+ declare const AvlClosedCircuit: React__default.FC<AvlClosedCircuitProps>;
274
276
 
275
277
  interface AvlEmitListenProps {
276
278
  emitter: {
@@ -286,7 +288,7 @@ interface AvlEmitListenProps {
286
288
  color?: string;
287
289
  animated?: boolean;
288
290
  }
289
- declare const AvlEmitListen: React.FC<AvlEmitListenProps>;
291
+ declare const AvlEmitListen: React__default.FC<AvlEmitListenProps>;
290
292
 
291
293
  interface AvlSlotMapSlot {
292
294
  name: string;
@@ -304,7 +306,7 @@ interface AvlSlotMapProps {
304
306
  color?: string;
305
307
  animated?: boolean;
306
308
  }
307
- declare const AvlSlotMap: React.FC<AvlSlotMapProps>;
309
+ declare const AvlSlotMap: React__default.FC<AvlSlotMapProps>;
308
310
 
309
311
  interface AvlExprTreeNode {
310
312
  label: string;
@@ -317,7 +319,7 @@ interface AvlExprTreeProps {
317
319
  color?: string;
318
320
  animated?: boolean;
319
321
  }
320
- declare const AvlExprTree: React.FC<AvlExprTreeProps>;
322
+ declare const AvlExprTree: React__default.FC<AvlExprTreeProps>;
321
323
 
322
324
  interface AvlTransitionLaneEffect {
323
325
  type: AvlEffectType | string;
@@ -334,7 +336,7 @@ interface AvlTransitionLaneProps {
334
336
  color?: string;
335
337
  onTransitionClick?: () => void;
336
338
  }
337
- declare const AvlTransitionLane: React.FC<AvlTransitionLaneProps>;
339
+ declare const AvlTransitionLane: React__default.FC<AvlTransitionLaneProps>;
338
340
 
339
341
  interface AvlSwimLaneProps {
340
342
  listenedEvents: string[];
@@ -342,9 +344,9 @@ interface AvlSwimLaneProps {
342
344
  centerWidth: number;
343
345
  height: number;
344
346
  color?: string;
345
- children: React.ReactNode;
347
+ children: React__default.ReactNode;
346
348
  }
347
- declare const AvlSwimLane: React.FC<AvlSwimLaneProps>;
349
+ declare const AvlSwimLane: React__default.FC<AvlSwimLaneProps>;
348
350
 
349
351
  /**
350
352
  * AvlBehaviorGlyph - Visual identity for a behavior.
@@ -405,7 +407,7 @@ interface AvlBehaviorGlyphProps {
405
407
  /** Click handler */
406
408
  onClick?: () => void;
407
409
  }
408
- declare const AvlBehaviorGlyph: React.FC<AvlBehaviorGlyphProps>;
410
+ declare const AvlBehaviorGlyph: React__default.FC<AvlBehaviorGlyphProps>;
409
411
 
410
412
  /**
411
413
  * AVL layout utilities for positioning atoms in composed diagrams.
@@ -567,6 +569,256 @@ declare function parseTraitLevel(schema: OrbitalSchema, orbitalName: string, tra
567
569
  */
568
570
  declare function parseTransitionLevel(schema: OrbitalSchema, orbitalName: string, traitName: string, transitionIndex: number): TransitionLevelData | null;
569
571
 
572
+ /**
573
+ * AVL Canvas Types
574
+ *
575
+ * Types for the unified AVL + Flow canvas. These define the data shapes
576
+ * for React Flow nodes and edges that render AVL primitives.
577
+ */
578
+
579
+ /** The four zoom bands of the unified AVL canvas. */
580
+ type ZoomBand = 'system' | 'module' | 'behavior' | 'detail';
581
+ /** Thresholds for zoom band transitions (React Flow viewport zoom). */
582
+ declare const ZOOM_BAND_THRESHOLDS: {
583
+ readonly system: readonly [0.1, 0.4];
584
+ readonly module: readonly [0.4, 1];
585
+ readonly behavior: readonly [1, 2.5];
586
+ readonly detail: readonly [2.5, 5];
587
+ };
588
+ /** Data carried by every orbital node in the unified canvas. */
589
+ interface AvlNodeData extends Record<string, unknown> {
590
+ orbitalName: string;
591
+ entityName: string;
592
+ persistence: string;
593
+ fields: FieldInfo[];
594
+ traits: OrbitalTraitInfo[];
595
+ pages: OrbitalPageInfo[];
596
+ traitDetails: Record<string, TraitLevelData>;
597
+ externalLinks: ExternalLink[];
598
+ }
599
+ /** Edge kind determines visual style. */
600
+ type AvlEdgeKind = 'eventWire' | 'page';
601
+ /** Data carried by edges in the unified canvas. */
602
+ interface AvlEdgeData extends Record<string, unknown> {
603
+ edgeKind: AvlEdgeKind;
604
+ event?: string;
605
+ fromTrait?: string;
606
+ toTrait?: string;
607
+ }
608
+
609
+ /** Determine which zoom band the current viewport zoom falls into. */
610
+ declare function computeZoomBand(zoom: number): ZoomBand;
611
+ /**
612
+ * Compute progress (0..1) within a zoom band.
613
+ * Useful for crossfade transitions between bands.
614
+ */
615
+ declare function zoomProgress(zoom: number, band: ZoomBand): number;
616
+ /** Context providing the current zoom band to all node components. */
617
+ declare const ZoomBandContext: React.Context<ZoomBand>;
618
+ /** Hook to read the current zoom band. */
619
+ declare function useZoomBand(): ZoomBand;
620
+
621
+ /**
622
+ * AVL Flow Converter
623
+ *
624
+ * Converts an OrbitalSchema into React Flow nodes and edges
625
+ * for the unified AVL canvas. Reuses the existing AVL schema parser.
626
+ */
627
+
628
+ /**
629
+ * Transform an OrbitalSchema into React Flow nodes and edges.
630
+ * Pre-parses all orbital and trait details for responsive zoom.
631
+ */
632
+ declare function schemaToFlowGraph(schema: OrbitalSchema): {
633
+ nodes: Node<AvlNodeData>[];
634
+ edges: Edge<AvlEdgeData>[];
635
+ };
636
+
637
+ /**
638
+ * AVL ELK Layout
639
+ *
640
+ * Shared ELK-based layout engine for state machines. Extracted from
641
+ * AvlTraitScene so both the V2 scene renderer and the V3 BehaviorView
642
+ * can share the same layout computation.
643
+ */
644
+
645
+ interface LayoutNode {
646
+ id: string;
647
+ x: number;
648
+ y: number;
649
+ width: number;
650
+ height: number;
651
+ isInitial?: boolean;
652
+ isTerminal?: boolean;
653
+ role: StateRole;
654
+ transitionCount: number;
655
+ }
656
+ interface LayoutEdge {
657
+ id: string;
658
+ from: string;
659
+ to: string;
660
+ event: string;
661
+ effects: Array<{
662
+ type: string;
663
+ }>;
664
+ guard: boolean;
665
+ guardExpr?: string;
666
+ index: number;
667
+ labelX: number;
668
+ labelY: number;
669
+ labelW: number;
670
+ labelH: number;
671
+ points: Array<{
672
+ x: number;
673
+ y: number;
674
+ }>;
675
+ isSelf: boolean;
676
+ isBackward: boolean;
677
+ }
678
+ interface ElkLayout {
679
+ nodes: LayoutNode[];
680
+ edges: LayoutEdge[];
681
+ width: number;
682
+ height: number;
683
+ }
684
+ declare function computeTraitLayout(data: TraitLevelData): Promise<ElkLayout>;
685
+ declare function edgePath(points: Array<{
686
+ x: number;
687
+ y: number;
688
+ }>): string;
689
+
690
+ /**
691
+ * SystemNode — Compact orbital node for the system zoom band (0.1x-0.4x).
692
+ *
693
+ * Renders miniature AVL primitives: entity glyph, field-type dots,
694
+ * state chain (role-colored dots), and page squares.
695
+ */
696
+
697
+ interface SystemNodeProps {
698
+ data: AvlNodeData;
699
+ }
700
+ declare const SystemNode: React__default.FC<SystemNodeProps>;
701
+
702
+ /**
703
+ * MiniStateMachine — Inline simplified state machine for the ModuleCard.
704
+ *
705
+ * Renders a compact left-to-right flow of AvlState nodes connected
706
+ * by AvlTransition arrows, with AvlEffect icons below.
707
+ * No ELK layout needed — uses simple horizontal positioning.
708
+ */
709
+
710
+ interface MiniStateMachineProps {
711
+ data: TraitLevelData;
712
+ className?: string;
713
+ }
714
+ declare const MiniStateMachine: React__default.FC<MiniStateMachineProps>;
715
+
716
+ /**
717
+ * ModuleCard — Structured card for the module zoom band (0.4x-1.0x).
718
+ *
719
+ * Renders AVL primitives inside a card container:
720
+ * - Entity section: AvlEntity glyph + AvlPersistence + AvlFieldType grid
721
+ * - Trait sections: MiniStateMachine per trait + AvlEffect icons + emit/listen indicators
722
+ * - Pages section: AvlPage squares with route labels
723
+ */
724
+
725
+ interface ModuleCardProps {
726
+ data: AvlNodeData;
727
+ }
728
+ declare const ModuleCard: React__default.FC<ModuleCardProps>;
729
+
730
+ /**
731
+ * BehaviorView — Full state machine for the behavior zoom band (1.0x-2.5x).
732
+ *
733
+ * Uses ELK layout from avl-elk-layout.ts. Renders AvlState, AvlTransitionLane,
734
+ * and AvlSwimLane inside an inline SVG within a React Flow node.
735
+ */
736
+
737
+ interface BehaviorViewProps {
738
+ data: AvlNodeData;
739
+ }
740
+ declare const BehaviorView: React__default.FC<BehaviorViewProps>;
741
+
742
+ /**
743
+ * DetailView — Transition specification card for the detail zoom band (2.5x-5.0x).
744
+ *
745
+ * Renders a spec card with: from/to AvlState nodes, AvlEvent trigger,
746
+ * AvlGuard diamond, numbered AvlEffect icons with binding paths,
747
+ * and AvlFieldType shapes.
748
+ */
749
+
750
+ interface DetailViewProps {
751
+ data: AvlNodeData;
752
+ }
753
+ declare const DetailView: React__default.FC<DetailViewProps>;
754
+
755
+ /**
756
+ * AvlOrbitalNode — Single React Flow node type for the unified AVL canvas.
757
+ *
758
+ * Reads the current ZoomBand from context and renders the appropriate
759
+ * sub-component: SystemNode, ModuleCard, BehaviorView, or DetailView.
760
+ *
761
+ * Using a single node type (instead of switching types per zoom band)
762
+ * prevents React from unmounting/remounting nodes on zoom changes.
763
+ */
764
+
765
+ declare const AvlOrbitalNode: React__default.FC<NodeProps>;
766
+
767
+ /**
768
+ * AvlTransitionEdge — React Flow edge for state machine transitions.
769
+ *
770
+ * Bezier path with event label at midpoint. Guard diamond and effect
771
+ * dot indicators shown inline. Forward transitions are solid dark,
772
+ * backward transitions are dashed lighter.
773
+ */
774
+
775
+ interface AvlTransitionEdgeData extends Record<string, unknown> {
776
+ event: string;
777
+ hasGuard?: boolean;
778
+ hasEffects?: boolean;
779
+ }
780
+ type AvlTransitionFlowEdge = Edge<AvlTransitionEdgeData, 'transition'>;
781
+ declare const AvlTransitionEdge: React__default.FC<EdgeProps<AvlTransitionFlowEdge>>;
782
+
783
+ /**
784
+ * AvlEventWireEdge — React Flow edge for emit/listen event wiring.
785
+ *
786
+ * Dashed orange Bezier path with event name label at midpoint.
787
+ * Uses AVL CONNECTION_COLORS.emitListen styling.
788
+ */
789
+
790
+ interface AvlEventWireEdgeData extends Record<string, unknown> {
791
+ event: string;
792
+ compatible?: boolean;
793
+ }
794
+ type AvlEventWireFlowEdge = Edge<AvlEventWireEdgeData, 'eventWire'>;
795
+ declare const AvlEventWireEdge: React__default.FC<EdgeProps<AvlEventWireFlowEdge>>;
796
+
797
+ /**
798
+ * AvlBackwardEdge — Dashed backward/retry transition edge.
799
+ *
800
+ * Uses CONNECTION_COLORS.backward styling: dashed, lighter color.
801
+ */
802
+
803
+ declare const AvlBackwardEdge: React__default.FC<EdgeProps>;
804
+
805
+ /**
806
+ * AvlPageEdge — Thin solid page-reference edge.
807
+ *
808
+ * Slate colored, 1px, used for page-to-trait references.
809
+ */
810
+
811
+ declare const AvlPageEdge: React__default.FC<EdgeProps>;
812
+
813
+ /**
814
+ * AvlBindingEdge — Dotted violet binding edge with @ marker.
815
+ *
816
+ * Used for data binding connections. Dotted line at 1px with
817
+ * a small @ label at the midpoint.
818
+ */
819
+
820
+ declare const AvlBindingEdge: React__default.FC<EdgeProps>;
821
+
570
822
  /**
571
823
  * AVL Cosmic Zoom State Machine
572
824
  *
@@ -578,13 +830,68 @@ declare function parseTransitionLevel(schema: OrbitalSchema, orbitalName: string
578
830
  type ZoomLevel = 'application' | 'orbital' | 'trait' | 'transition';
579
831
 
580
832
  /**
581
- * AvlCosmicZoom - Interactive Zoomable Orbital Visualization
833
+ * FlowCanvas Unified AVL + Flow canvas organism.
582
834
  *
583
- * The host organism that owns the SVG viewport and delegates to
584
- * scene renderers at each zoom level. Manages animation, pan/zoom,
585
- * and breadcrumb navigation.
835
+ * One React Flow canvas with continuous semantic zoom. AVL primitives
836
+ * render inside React Flow nodes. The ZoomBandContext drives node
837
+ * rendering at different zoom levels.
586
838
  *
587
- * @packageDocumentation
839
+ * Replaces both AvlCosmicZoom (SVG viewer) and OrbitalFlow (Flow editor).
840
+ */
841
+
842
+ interface FlowCanvasProps {
843
+ schema: OrbitalSchema | string;
844
+ className?: string;
845
+ color?: string;
846
+ animated?: boolean;
847
+ width?: number | string;
848
+ height?: number | string;
849
+ onZoomChange?: (level: ZoomLevel, context: {
850
+ orbital?: string;
851
+ trait?: string;
852
+ }) => void;
853
+ focusTarget?: {
854
+ type: 'orbital' | 'trait';
855
+ name: string;
856
+ };
857
+ initialOrbital?: string;
858
+ initialTrait?: string;
859
+ stateCoverage?: Record<string, 'covered' | 'uncovered' | 'partial'>;
860
+ }
861
+ declare const FlowCanvas: React__default.FC<FlowCanvasProps>;
862
+
863
+ /**
864
+ * ZoomBreadcrumb — HTML overlay showing current zoom band context.
865
+ *
866
+ * Positioned absolute top-left of the FlowCanvas.
867
+ * Shows AVL primitive icons inline with breadcrumb segments.
868
+ */
869
+
870
+ interface ZoomBreadcrumbProps {
871
+ band: ZoomBand;
872
+ applicationName?: string;
873
+ orbitalName?: string;
874
+ traitName?: string;
875
+ eventName?: string;
876
+ }
877
+ declare const ZoomBreadcrumb: React__default.FC<ZoomBreadcrumbProps>;
878
+
879
+ /**
880
+ * ZoomLegend — Collapsible HTML overlay showing AVL primitives
881
+ * relevant to the current zoom band.
882
+ */
883
+
884
+ interface ZoomLegendProps {
885
+ band: ZoomBand;
886
+ }
887
+ declare const ZoomLegend: React__default.FC<ZoomLegendProps>;
888
+
889
+ /**
890
+ * AvlCosmicZoom — Interactive Zoomable Orbital Visualization
891
+ *
892
+ * V3: Delegates to FlowCanvas, which renders AVL primitives inside
893
+ * React Flow nodes with continuous semantic zoom. The Props interface
894
+ * is preserved for backward compatibility with callers.
588
895
  */
589
896
 
590
897
  interface AvlCosmicZoomProps {
@@ -611,46 +918,13 @@ interface AvlCosmicZoomProps {
611
918
  height?: number | string;
612
919
  /** Coverage data for verification overlay */
613
920
  stateCoverage?: Record<string, 'covered' | 'uncovered' | 'partial'>;
921
+ /** Dynamic focus target. Changes animate the zoom to the specified orbital/trait. */
922
+ focusTarget?: {
923
+ type: 'orbital' | 'trait';
924
+ name: string;
925
+ };
614
926
  }
615
- declare const AvlCosmicZoom: React.FC<AvlCosmicZoomProps>;
616
-
617
- /**
618
- * AvlApplicationScene - Zoom Level 1
619
- *
620
- * Shows all orbitals in the application with cross-orbital
621
- * emit/listen arrows. Each orbital is a clickable AvlOrbitalUnit.
622
- */
623
-
624
- interface AvlApplicationSceneProps {
625
- data: ApplicationLevelData;
626
- color?: string;
627
- onOrbitalClick?: (orbitalName: string, position: {
628
- x: number;
629
- y: number;
630
- }) => void;
631
- }
632
- declare const AvlApplicationScene: React.FC<AvlApplicationSceneProps>;
633
-
634
- /**
635
- * AvlOrbitalScene - Zoom Level 2
636
- *
637
- * Shows a single orbital: entity nucleus with fields,
638
- * trait rings, page markers, and external connection arrows.
639
- */
640
-
641
- interface AvlOrbitalSceneProps {
642
- data: OrbitalLevelData;
643
- color?: string;
644
- /** Currently highlighted trait (before zooming in) */
645
- highlightedTrait?: string | null;
646
- onTraitClick?: (traitName: string, position: {
647
- x: number;
648
- y: number;
649
- }) => void;
650
- /** Called when a trait tab is hovered/selected (highlight without zoom) */
651
- onTraitHighlight?: (traitName: string | null) => void;
652
- }
653
- declare const AvlOrbitalScene: React.FC<AvlOrbitalSceneProps>;
927
+ declare const AvlCosmicZoom: React__default.FC<AvlCosmicZoomProps>;
654
928
 
655
929
  /**
656
930
  * AvlTraitScene V2 - Zoom Level 3
@@ -667,7 +941,7 @@ interface AvlTraitSceneProps {
667
941
  y: number;
668
942
  }) => void;
669
943
  }
670
- declare const AvlTraitScene: React.FC<AvlTraitSceneProps>;
944
+ declare const AvlTraitScene: React__default.FC<AvlTraitSceneProps>;
671
945
 
672
946
  /**
673
947
  * AvlTransitionScene V2 - Zoom Level 4
@@ -680,7 +954,7 @@ interface AvlTransitionSceneProps {
680
954
  data: TransitionLevelData;
681
955
  color?: string;
682
956
  }
683
- declare const AvlTransitionScene: React.FC<AvlTransitionSceneProps>;
957
+ declare const AvlTransitionScene: React__default.FC<AvlTransitionSceneProps>;
684
958
 
685
959
  /**
686
960
  * AvlClickTarget
@@ -710,8 +984,8 @@ interface AvlClickTargetProps {
710
984
  /** Accessible label */
711
985
  label?: string;
712
986
  /** Children (the AVL atoms to render on top) */
713
- children: React.ReactNode;
987
+ children: React__default.ReactNode;
714
988
  }
715
- declare const AvlClickTarget: React.FC<AvlClickTargetProps>;
989
+ declare const AvlClickTarget: React__default.FC<AvlClickTargetProps>;
716
990
 
717
- export { AVL_FIELD_TYPE_SHAPES, AVL_OPERATOR_COLORS, type ApplicationLevelData, AvlApplication, type AvlApplicationProps, AvlApplicationScene, type AvlApplicationSceneProps, type AvlBaseProps, AvlBehaviorGlyph, type AvlBehaviorGlyphProps, AvlBinding, type AvlBindingProps, AvlBindingRef, type AvlBindingRefProps, AvlClickTarget, type AvlClickTargetProps, AvlClosedCircuit, type AvlClosedCircuitProps, type AvlClosedCircuitState, type AvlClosedCircuitTransition, AvlCosmicZoom, type AvlCosmicZoomProps, AvlEffect, type AvlEffectProps, type AvlEffectType, AvlEmitListen, type AvlEmitListenProps, AvlEntity, type AvlEntityProps, AvlEvent, type AvlEventProps, AvlExprTree, type AvlExprTreeNode, type AvlExprTreeProps, AvlField, type AvlFieldProps, AvlFieldType, type AvlFieldTypeKind, type AvlFieldTypeProps, AvlGuard, type AvlGuardProps, AvlLiteral, type AvlLiteralProps, AvlOperator, type AvlOperatorNamespace, type AvlOperatorProps, AvlOrbital, type AvlOrbitalProps, AvlOrbitalScene, type AvlOrbitalSceneProps, AvlOrbitalUnit, type AvlOrbitalUnitPage, type AvlOrbitalUnitProps, type AvlOrbitalUnitTrait, AvlPage, type AvlPageProps, AvlPersistence, type AvlPersistenceKind, type AvlPersistenceProps, AvlSExpr, type AvlSExprProps, AvlSlotMap, type AvlSlotMapProps, type AvlSlotMapSlot, AvlState, AvlStateMachine, type AvlStateMachineProps, type AvlStateMachineState, type AvlStateMachineTransition, type AvlStateProps, AvlSwimLane, type AvlSwimLaneProps, AvlTrait, type AvlTraitProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransition, AvlTransitionLane, type AvlTransitionLaneProps, type AvlTransitionProps, AvlTransitionScene, type AvlTransitionSceneProps, type BehaviorGlyphChild, type BehaviorGlyphConnection, type BehaviorLevel, CONNECTION_COLORS, type CrossLink, DOMAIN_COLORS, EFFECT_CATEGORY_COLORS, EFFECT_TYPE_TO_CATEGORY, type EffectCategory, type GlyphSize, type OrbitalLevelData, STATE_COLORS, type StateRole, type TraitLevelData, type TransitionLevelData, type ZoomLevel, arcPath, curveControlPoint, getStateRole, gridPositions, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, radialPositions, ringPositions };
991
+ export { AVL_FIELD_TYPE_SHAPES, AVL_OPERATOR_COLORS, type ApplicationLevelData, AvlApplication, type AvlApplicationProps, AvlBackwardEdge, type AvlBaseProps, AvlBehaviorGlyph, type AvlBehaviorGlyphProps, AvlBinding, AvlBindingEdge, type AvlBindingProps, AvlBindingRef, type AvlBindingRefProps, AvlClickTarget, type AvlClickTargetProps, AvlClosedCircuit, type AvlClosedCircuitProps, type AvlClosedCircuitState, type AvlClosedCircuitTransition, AvlCosmicZoom, type AvlCosmicZoomProps, type AvlEdgeData, AvlEffect, type AvlEffectProps, type AvlEffectType, AvlEmitListen, type AvlEmitListenProps, AvlEntity, type AvlEntityProps, AvlEvent, type AvlEventProps, AvlEventWireEdge, type AvlEventWireEdgeData, AvlExprTree, type AvlExprTreeNode, type AvlExprTreeProps, AvlField, type AvlFieldProps, AvlFieldType, type AvlFieldTypeKind, type AvlFieldTypeProps, AvlGuard, type AvlGuardProps, AvlLiteral, type AvlLiteralProps, type AvlNodeData, AvlOperator, type AvlOperatorNamespace, type AvlOperatorProps, AvlOrbital, AvlOrbitalNode, type AvlOrbitalProps, AvlOrbitalUnit, type AvlOrbitalUnitPage, type AvlOrbitalUnitProps, type AvlOrbitalUnitTrait, AvlPage, AvlPageEdge, type AvlPageProps, AvlPersistence, type AvlPersistenceKind, type AvlPersistenceProps, AvlSExpr, type AvlSExprProps, AvlSlotMap, type AvlSlotMapProps, type AvlSlotMapSlot, AvlState, AvlStateMachine, type AvlStateMachineProps, type AvlStateMachineState, type AvlStateMachineTransition, type AvlStateProps, AvlSwimLane, type AvlSwimLaneProps, AvlTrait, type AvlTraitProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransition, AvlTransitionEdge, type AvlTransitionEdgeData, AvlTransitionLane, type AvlTransitionLaneProps, type AvlTransitionProps, AvlTransitionScene, type AvlTransitionSceneProps, type BehaviorGlyphChild, type BehaviorGlyphConnection, type BehaviorLevel, BehaviorView, CONNECTION_COLORS, type CrossLink, DOMAIN_COLORS, DetailView, EFFECT_CATEGORY_COLORS, EFFECT_TYPE_TO_CATEGORY, type EffectCategory, type ElkLayout, FlowCanvas, type FlowCanvasProps, type GlyphSize, type LayoutEdge, type LayoutNode, MiniStateMachine, ModuleCard, type OrbitalLevelData, STATE_COLORS, type StateRole, SystemNode, type TraitLevelData, type TransitionLevelData, ZOOM_BAND_THRESHOLDS, type ZoomBand, ZoomBandContext, ZoomBreadcrumb, type ZoomBreadcrumbProps, ZoomLegend, type ZoomLegendProps, type ZoomLevel, arcPath, computeTraitLayout, computeZoomBand, curveControlPoint, edgePath, getStateRole, gridPositions, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, radialPositions, ringPositions, schemaToFlowGraph, useZoomBand, zoomProgress };
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @almadar/ui/avl
3
3
  *
4
- * Almadar Visual Language (AVL) - Formal visual notation for .orb constructs.
5
- * Atoms render <g> elements for composition. Molecules render full <svg>.
4
+ * Almadar Visual Language (AVL) Formal visual notation for .orb constructs.
5
+ * V3: Unified with React Flow. AVL primitives render inside React Flow nodes.
6
6
  */
7
7
  export { AvlOrbital, type AvlOrbitalProps } from '../components/atoms/avl';
8
8
  export { AvlEntity, type AvlEntityProps } from '../components/atoms/avl';
@@ -36,4 +36,19 @@ export { AvlBehaviorGlyph, type AvlBehaviorGlyphProps, type BehaviorLevel, type
36
36
  export { AvlTransitionLane, type AvlTransitionLaneProps } from '../components/molecules/avl';
37
37
  export { AvlSwimLane, type AvlSwimLaneProps } from '../components/molecules/avl';
38
38
  export { ringPositions, arcPath, radialPositions, gridPositions, curveControlPoint } from '../components/molecules/avl';
39
- export { AvlCosmicZoom, type AvlCosmicZoomProps, AvlApplicationScene, type AvlApplicationSceneProps, AvlOrbitalScene, type AvlOrbitalSceneProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransitionScene, type AvlTransitionSceneProps, AvlClickTarget, type AvlClickTargetProps, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, type ApplicationLevelData, type OrbitalLevelData, type TraitLevelData, type TransitionLevelData, type CrossLink, type ZoomLevel, } from '../components/organisms/avl';
39
+ export { type ZoomBand, type AvlNodeData, type AvlEdgeData, ZOOM_BAND_THRESHOLDS } from '../components/molecules/avl/avl-canvas-types';
40
+ export { computeZoomBand, zoomProgress, useZoomBand, ZoomBandContext } from '../components/molecules/avl/avl-zoom-band';
41
+ export { schemaToFlowGraph } from '../components/molecules/avl/avl-flow-converter';
42
+ export { SystemNode } from '../components/molecules/avl/SystemNode';
43
+ export { ModuleCard } from '../components/molecules/avl/ModuleCard';
44
+ export { MiniStateMachine } from '../components/molecules/avl/MiniStateMachine';
45
+ export { BehaviorView } from '../components/molecules/avl/BehaviorView';
46
+ export { DetailView } from '../components/molecules/avl/DetailView';
47
+ export { AvlOrbitalNode } from '../components/molecules/avl/AvlOrbitalNode';
48
+ export { AvlTransitionEdge, type AvlTransitionEdgeData } from '../components/molecules/avl/AvlTransitionEdge';
49
+ export { AvlEventWireEdge, type AvlEventWireEdgeData } from '../components/molecules/avl/AvlEventWireEdge';
50
+ export { AvlBackwardEdge } from '../components/molecules/avl/AvlBackwardEdge';
51
+ export { AvlPageEdge } from '../components/molecules/avl/AvlPageEdge';
52
+ export { AvlBindingEdge } from '../components/molecules/avl/AvlBindingEdge';
53
+ export { computeTraitLayout, edgePath, type LayoutNode, type LayoutEdge, type ElkLayout } from '../components/molecules/avl/avl-elk-layout';
54
+ export { FlowCanvas, type FlowCanvasProps, ZoomBreadcrumb, type ZoomBreadcrumbProps, ZoomLegend, type ZoomLegendProps, AvlCosmicZoom, type AvlCosmicZoomProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransitionScene, type AvlTransitionSceneProps, AvlClickTarget, type AvlClickTargetProps, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, type ApplicationLevelData, type OrbitalLevelData, type TraitLevelData, type TransitionLevelData, type CrossLink, type ZoomLevel, } from '../components/organisms/avl';