@almadar/ui 5.148.0 → 5.150.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 (35) hide show
  1. package/dist/{GameAudioProvider-CPGwD49P.d.cts → GameAudioProvider-B48iXwz3.d.ts} +2 -50
  2. package/dist/{GameAudioProvider-CPGwD49P.d.ts → GameAudioProvider-CQAdPreB.d.cts} +2 -50
  3. package/dist/avl/index.cjs +2741 -158
  4. package/dist/avl/index.js +2741 -158
  5. package/dist/{avl-schema-parser-DVmrgdwc.d.cts → avl-schema-parser-CVzkNzg7.d.cts} +18 -9
  6. package/dist/{avl-schema-parser-BRJ77Yze.d.ts → avl-schema-parser-Cx_4SVg9.d.ts} +18 -9
  7. package/dist/{cn-BAn68sNO.d.cts → cn-BnAJZcNb.d.cts} +2 -8
  8. package/dist/{cn-CWxxLkri.d.ts → cn-DJTUjk1M.d.ts} +2 -8
  9. package/dist/components/index.cjs +2764 -158
  10. package/dist/components/index.d.cts +1077 -107
  11. package/dist/components/index.d.ts +1077 -107
  12. package/dist/components/index.js +2760 -160
  13. package/dist/hooks/index.cjs +1 -1
  14. package/dist/hooks/index.js +1 -1
  15. package/dist/lib/drawable/three/index.cjs +57 -30
  16. package/dist/lib/drawable/three/index.d.cts +4 -3
  17. package/dist/lib/drawable/three/index.d.ts +4 -3
  18. package/dist/lib/drawable/three/index.js +57 -30
  19. package/dist/lib/index.d.cts +3 -2
  20. package/dist/lib/index.d.ts +3 -2
  21. package/dist/marketing/index.cjs +1 -1
  22. package/dist/marketing/index.js +1 -1
  23. package/dist/{paintDispatch-Cb_hQj4Y.d.ts → paintDispatch-BjZjUbcb.d.cts} +63 -69
  24. package/dist/{paintDispatch-Cb_hQj4Y.d.cts → paintDispatch-CxdLjHQq.d.ts} +63 -69
  25. package/dist/providers/index.cjs +2734 -152
  26. package/dist/providers/index.d.cts +2 -1
  27. package/dist/providers/index.d.ts +2 -1
  28. package/dist/providers/index.js +2734 -152
  29. package/dist/runtime/index.cjs +2741 -158
  30. package/dist/runtime/index.d.cts +2 -2
  31. package/dist/runtime/index.d.ts +2 -2
  32. package/dist/runtime/index.js +2741 -158
  33. package/dist/types-B3nHgnMG.d.cts +51 -0
  34. package/dist/types-B3nHgnMG.d.ts +51 -0
  35. package/package.json +3 -3
@@ -3,14 +3,15 @@ import React__default, { ReactNode, ErrorInfo } from 'react';
3
3
  import { Asset, EventKey, EventPayload, EventEmit, AssetUrl, JsonObject, EntityRow, FieldValue, EntityRole, AnimationName, SpriteDirection, AnimationDef, ScenePos, Camera, EntityWith, TraitConfigValue, JsonValue, AssetCatalog, EventPayloadValue, DeclaredTraitConfig, TraitConfig, OrbitalSchema, Trait, OrbitalEntity, UISlot, EditFocus, TraceSubagent, TraceActivity, TraceChatMessage } from '@almadar/core';
4
4
  export { AnimationDef, AnimationName, BusEvent, BusEventListener, BusEventSource, BusEventListener as EventListener, SpriteDirection, UISlot, Unsubscribe } from '@almadar/core';
5
5
  import { LucideIcon } from 'lucide-react';
6
- import { C as ColorToken, U as UiError, P as Point, L as LinkAction, I as ImageSource } from '../GameAudioProvider-CPGwD49P.js';
7
- export { A as AudioManifest, G as GameAudioContext, a as GameAudioContextValue, e as GameAudioControls, b as GameAudioProvider, c as GameAudioProviderProps, R as Rect, S as SoundEntry, f as UseGameAudioOptions, g as useGameAudio, u as useGameAudioContext } from '../GameAudioProvider-CPGwD49P.js';
6
+ import { C as ColorToken, U as UiError, P as Point, L as LinkAction, I as ImageSource } from '../types-B3nHgnMG.js';
7
+ export { R as Rect } from '../types-B3nHgnMG.js';
8
8
  import { SExpr } from '@almadar/evaluator';
9
- import { U as UnitAnimationState, F as FacingDirection, S as SpriteSheetUrls, g as SpriteFrameDims, R as ResolvedFrame, h as CanvasLighting, i as CanvasPost, a as IsometricUnit, j as CameraState, k as FieldInfo, l as OrbitalTraitInfo, m as OrbitalPageInfo, T as TraitLevelData, E as ExternalLink } from '../avl-schema-parser-BRJ77Yze.js';
10
- export { B as BoardTile, G as GameAction, n as GamePhase, o as GameState, p as GameUnit, b as IsometricFeature, I as IsometricTile, P as Position, q as UnitTrait, r as calculateAttackTargets, s as calculateValidMoves, t as createInitialGameState } from '../avl-schema-parser-BRJ77Yze.js';
11
- import { D as DrawableNode } from '../paintDispatch-Cb_hQj4Y.js';
12
- import { C as ContentSegment, b as DomLayoutData, d as DomStateNode, V as VisualizerConfig, e as DomTransitionLabel, L as LessonSegment, U as LessonUserProgress, W as InteractiveOrbitalType } from '../cn-CWxxLkri.js';
13
- export { X as BloomLevel, Y as BloomQuizBlock, Z as BloomQuizBlockProps, _ as MixedSegment, n as cn, A as parseLessonSegments, $ as parseMarkdownWithCodeBlocks } from '../cn-CWxxLkri.js';
9
+ import { U as UnitAnimationState, F as FacingDirection, S as SpriteSheetUrls, g as SpriteFrameDims, R as ResolvedFrame, h as CanvasLighting, i as CanvasPost, a as IsometricUnit, j as CameraState, k as FieldInfo, l as OrbitalTraitInfo, m as OrbitalPageInfo, T as TraitLevelData, E as ExternalLink } from '../avl-schema-parser-Cx_4SVg9.js';
10
+ export { B as BoardTile, G as GameAction, n as GamePhase, o as GameState, p as GameUnit, b as IsometricFeature, I as IsometricTile, P as Position, q as UnitTrait, r as calculateAttackTargets, s as calculateValidMoves, t as createInitialGameState } from '../avl-schema-parser-Cx_4SVg9.js';
11
+ import { D as DrawableNode, M as MeshShapeKind, a as MeshMaterial, b as DrawGroupProps, c as DrawTextProps, d as DrawMeshProps } from '../paintDispatch-CxdLjHQq.js';
12
+ export { A as AudioManifest, G as GameAudioContext, a as GameAudioContextValue, e as GameAudioControls, b as GameAudioProvider, c as GameAudioProviderProps, S as SoundEntry, U as UseGameAudioOptions, f as useGameAudio, u as useGameAudioContext } from '../GameAudioProvider-B48iXwz3.js';
13
+ import { C as ContentSegment, L as LessonSegment, U as InteractiveOrbitalType, b as DomLayoutData, d as DomStateNode, V as VisualizerConfig, e as DomTransitionLabel } from '../cn-DJTUjk1M.js';
14
+ export { W as BloomLevel, X as BloomQuizBlock, Y as BloomQuizBlockProps, Z as MixedSegment, n as cn, A as parseLessonSegments, _ as parseMarkdownWithCodeBlocks } from '../cn-DJTUjk1M.js';
14
15
  import { b as SlotContent } from '../useUISlots-BesZYMks.js';
15
16
  export { D as DEFAULT_SLOTS, S as SlotAnimation, a as SlotChangeCallback, c as SlotRenderConfig, U as UISlotManager, u as useUISlotManager } from '../useUISlots-BesZYMks.js';
16
17
  export { ALMADAR_DND_MIME, AuthContextValue, AuthUser, CanvasGestureCallbacks, CanvasGestureHandlers, CompileResult, CompileStage, DragReorderResult, DraggablePayload, Extension, ExtensionManifest, FileSystemFile, FileSystemStatus, GitHubRepo, GitHubStatus, HistoryChangeSummary, HistoryTimelineItem, I18nContextValue, I18nProvider, InfiniteScrollOptions, InfiniteScrollResult, LongPressHandlers, LongPressOptions, OpenFile, Positioned, PullToRefreshOptions, PullToRefreshResult, QuerySingletonEntity, QuerySingletonResult, QuerySingletonState, QueryState, RenderInterpolationHandle, RenderInterpolationOptions, RevertResult, SelectedFile, SharedEntityStore, SharedEntityStoreContext, SharedEntitySubscriber, SharedEntityWriter, SwipeGestureOptions, SwipeGestureResult, SwipeHandlers, TapRevealOptions, TapRevealResult, TraitListenSpec, TranslateFunction, UseCanvasGesturesOptions, UseCompileResult, UseDraggableOptions, UseDraggableResult, UseDropZoneOptions, UseDropZoneResult, UseExtensionsOptions, UseExtensionsResult, UseFileEditorOptions, UseFileEditorResult, UseFileSystemResult, UseOrbitalHistoryOptions, UseOrbitalHistoryResult, createSharedEntityStore, createTranslate, parseQueryBinding, runTickFrame, useAgentChat, useAuthContext, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInfiniteScroll, useLongPress, useMediaQuery, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useSwipeGesture, useTapReveal, useTraitListens, useTranslate, useUIEvents, useValidation } from '../hooks/index.js';
@@ -2588,8 +2589,9 @@ declare namespace Canvas2D {
2588
2589
  * a board writes `{ type: canvas, mode, camera, children: [...] }`.
2589
2590
  *
2590
2591
  * Camera: the neutral core `Camera` ({ mode, zoom, ... }) is mapped to each
2591
- * host's legacy vocab here (2D `camera` string / 3D `cameraMode`; `zoom` → `scale`),
2592
- * so the board carries one camera object regardless of painter.
2592
+ * host's legacy vocab here (2D `camera` string / 3D `cameraMode`; `zoom` → 2D
2593
+ * `scale` / 3D camera dolly), so the board carries one camera object regardless
2594
+ * of painter.
2593
2595
  *
2594
2596
  * Interaction: a click/hover event is one event-name string forwarded to whichever
2595
2597
  * painter `mode` selects. Its payload phantom is the merge of both painters' emit
@@ -3120,8 +3122,18 @@ interface DisplayStateProps {
3120
3122
  pageSize?: number;
3121
3123
  /** Total number of items (for pagination display) */
3122
3124
  totalCount?: number;
3123
- /** Active filters */
3124
- activeFilters?: Record<string, FieldValue>;
3125
+ /**
3126
+ * Active filters, keyed by field name. Scalar-only (`string | number |
3127
+ * boolean`) rather than the full `FieldValue` domain: `FieldValue` is a
3128
+ * self-referential union (adds `Date`, nested arrays/objects) the
3129
+ * pattern-sync scanner can't shape into a `Map string V` knob, so it always
3130
+ * degraded to `json`. This narrows out date/array/nested-object filter
3131
+ * values — no current call site in this package constructs this prop, so
3132
+ * nothing here breaks, but a caller wiring a date-range or multi-select
3133
+ * filter through this prop would need those. Flagged for the coordinator;
3134
+ * revert to `Record<string, FieldValue>` if that capability is needed.
3135
+ */
3136
+ activeFilters?: Record<string, string | number | boolean>;
3125
3137
  /** Currently selected item IDs */
3126
3138
  selectedIds?: readonly (string | number)[];
3127
3139
  }
@@ -3474,7 +3486,7 @@ declare const GameShell: React__default.FC<GameShellProps>;
3474
3486
  * @packageDocumentation
3475
3487
  */
3476
3488
 
3477
- type LearningShapeType = 'line' | 'arrow' | 'circle' | 'rect' | 'polygon' | 'path' | 'text' | 'axis' | 'grid';
3489
+ type LearningShapeType = 'line' | 'arrow' | 'circle' | 'ellipse' | 'rect' | 'polygon' | 'path' | 'text' | 'axis' | 'grid' | 'venn-region';
3478
3490
  interface LearningPoint {
3479
3491
  x: number;
3480
3492
  y: number;
@@ -3506,6 +3518,60 @@ interface LearningShape {
3506
3518
  fill?: string;
3507
3519
  lineWidth?: number;
3508
3520
  opacity?: number;
3521
+ /** Ellipse arc start, in degrees (screen convention: 0 = +x, clockwise). Omit with `endAngle` for a full ellipse. */
3522
+ startAngle?: number;
3523
+ /** Ellipse arc end, in degrees (screen convention: 0 = +x, clockwise). Omit with `startAngle` for a full ellipse. */
3524
+ endAngle?: number;
3525
+ /** Stroke dash style for line/arrow/circle/rect/polygon/path/ellipse strokes; omit for a solid line. */
3526
+ dash?: 'dashed' | 'dotted';
3527
+ /** venn-region only: ids of sibling `circle` shapes; the filled region is the INTERSECTION of these circles. */
3528
+ inside?: string[];
3529
+ /** venn-region only: ids of sibling `circle` shapes SUBTRACTED from the `inside` intersection (true lens/exclusion shading). */
3530
+ outside?: string[];
3531
+ }
3532
+ /** A single top-right status chip (e.g. a live measurement or score). */
3533
+ interface LearningReadout {
3534
+ /** Chip label, shown before the value. */
3535
+ label: string;
3536
+ /** Chip value, shown after the label. */
3537
+ value: string | number;
3538
+ /** Chip fill/border color (default '#334155'). */
3539
+ color?: string;
3540
+ }
3541
+ /** One plotted line within a trace panel. */
3542
+ interface LearningTraceSeries {
3543
+ /** Time-series samples in world/data coordinates. */
3544
+ samples: LearningPoint[];
3545
+ /** Series line + dot color (defaults from TRACE_SERIES_COLORS by index). */
3546
+ color?: string;
3547
+ /** Series label drawn top-left inside the panel. */
3548
+ label?: string;
3549
+ }
3550
+ /**
3551
+ * A minimal in-canvas sparkline inset — no ticks/grid/legend. For real axes, compose
3552
+ * a MathCanvas instead.
3553
+ */
3554
+ interface LearningTracePanel {
3555
+ /** Panel left edge (default anchors bottom-right, stacked upward per panel index). */
3556
+ x?: number;
3557
+ /** Panel top edge. */
3558
+ y?: number;
3559
+ /** Panel width (default 32% of canvas width). */
3560
+ width?: number;
3561
+ /** Panel height (default 28% of canvas height). */
3562
+ height?: number;
3563
+ /** Series drawn in this panel, auto-scaled to their combined extent. */
3564
+ series: LearningTraceSeries[];
3565
+ /** Bottom-right inside label, e.g. the x-axis quantity. */
3566
+ xLabel?: string;
3567
+ /** Top-right inside label, e.g. the y-axis quantity. */
3568
+ yLabel?: string;
3569
+ /** Panel border color (default '#94a3b8'). */
3570
+ frameColor?: string;
3571
+ /** Panel fill color (default '#ffffff'). */
3572
+ backgroundColor?: string;
3573
+ /** Panel fill opacity (default 0.85). */
3574
+ backgroundOpacity?: number;
3509
3575
  }
3510
3576
  interface LearningCanvasProps {
3511
3577
  /** Additional CSS classes. */
@@ -3518,6 +3584,16 @@ interface LearningCanvasProps {
3518
3584
  backgroundColor?: string;
3519
3585
  /** Declarative shapes to draw. */
3520
3586
  shapes?: LearningShape[];
3587
+ /**
3588
+ * Top-right status chip row (live measurements, scores, counters).
3589
+ * @synonyms chips, stats, measurements
3590
+ */
3591
+ readouts?: LearningReadout[];
3592
+ /**
3593
+ * Inset sparkline panels stacked from the bottom-right corner.
3594
+ * @synonyms sparkline, time series, history plot
3595
+ */
3596
+ traces?: LearningTracePanel[];
3521
3597
  /** Enable pointer interaction (click/hover). */
3522
3598
  interactive?: boolean;
3523
3599
  /** Enable continuous redraw loop. */
@@ -5869,6 +5945,8 @@ interface MathCurve {
5869
5945
  color?: string;
5870
5946
  /** Sampled {x,y} points in math coordinates. */
5871
5947
  samples: LearningPoint[];
5948
+ /** Stroke dash style for this curve's segments; omit for a solid line. */
5949
+ dash?: 'dashed' | 'dotted';
5872
5950
  }
5873
5951
  interface MathPoint {
5874
5952
  x: number;
@@ -5876,6 +5954,8 @@ interface MathPoint {
5876
5954
  label?: string;
5877
5955
  color?: string;
5878
5956
  radius?: number;
5957
+ /** 'open' draws a hollow ring (white fill, colored stroke); 'closed'/absent = filled dot. */
5958
+ style?: 'closed' | 'open';
5879
5959
  }
5880
5960
  interface MathVector {
5881
5961
  x: number;
@@ -5885,6 +5965,83 @@ interface MathVector {
5885
5965
  color?: string;
5886
5966
  label?: string;
5887
5967
  }
5968
+ /** A filled area between a curve and a baseline, or between two curves. */
5969
+ interface MathRegion {
5970
+ /** Upper (or only) boundary samples. */
5971
+ samples: LearningPoint[];
5972
+ /** Optional lower boundary samples; when absent the region closes at `baseline`. */
5973
+ samples2?: LearningPoint[];
5974
+ /** Baseline y-value the region closes against when `samples2` is absent (default 0). */
5975
+ baseline?: number;
5976
+ /** Fill/stroke color (default '#2563eb'). */
5977
+ color?: string;
5978
+ /** Fill opacity (default 0.2). */
5979
+ opacity?: number;
5980
+ /** Region label, centered inside the filled area. */
5981
+ label?: string;
5982
+ }
5983
+ /**
5984
+ * A single bar (riemann strip / histogram column) between two y-values at an x-span.
5985
+ * @synonyms riemann, histogram, bars
5986
+ */
5987
+ interface MathBar {
5988
+ /** Left edge, in world x. */
5989
+ x: number;
5990
+ /** Bar width, in world x units. */
5991
+ width: number;
5992
+ /** Bottom y-value (default 0). */
5993
+ y0?: number;
5994
+ /** Top y-value. */
5995
+ y1: number;
5996
+ /** Fill/stroke color (default '#93c5fd'). */
5997
+ color?: string;
5998
+ /** Fill opacity (default 0.5). */
5999
+ opacity?: number;
6000
+ }
6001
+ /** A reference line spanning the plot, at a fixed x (vline) or y (hline). */
6002
+ interface MathGuide {
6003
+ /** 'vline' spans the plot vertically at world x = `at`; 'hline' spans horizontally at world y = `at`. */
6004
+ kind: 'vline' | 'hline';
6005
+ /** World coordinate the guide sits at. */
6006
+ at: number;
6007
+ /** Line color (default '#9ca3af'). */
6008
+ color?: string;
6009
+ /** Stroke dash style (default 'dashed'). */
6010
+ dash?: 'dashed' | 'dotted';
6011
+ /** Guide label, drawn near the plot edge. */
6012
+ label?: string;
6013
+ }
6014
+ /** An arc marking the angle swept between two directions at a vertex. */
6015
+ interface MathAngle {
6016
+ /** Vertex x, in world coordinates. */
6017
+ x: number;
6018
+ /** Vertex y, in world coordinates. */
6019
+ y: number;
6020
+ /** Sweep start, in degrees, math convention (CCW from +x). */
6021
+ from: number;
6022
+ /** Sweep end, in degrees, math convention (CCW from +x). */
6023
+ to: number;
6024
+ /** Arc radius, in world-x units (default 0.8). */
6025
+ radius?: number;
6026
+ /** Arc + label color (default '#0ea5e9'). */
6027
+ color?: string;
6028
+ /** Angle label. */
6029
+ label?: string;
6030
+ }
6031
+ /**
6032
+ * A jump arc between two points on the x-axis (number-line hop / interval jump).
6033
+ * @synonyms number line jump, hop arrow
6034
+ */
6035
+ interface MathHop {
6036
+ /** Start x, in world coordinates. */
6037
+ from: number;
6038
+ /** End x, in world coordinates. */
6039
+ to: number;
6040
+ /** Arc + arrowhead color (default '#7c3aed'). */
6041
+ color?: string;
6042
+ /** Hop label, centered above the arc. */
6043
+ label?: string;
6044
+ }
5888
6045
  interface MathCanvasProps {
5889
6046
  className?: string;
5890
6047
  width?: number;
@@ -5897,11 +6054,29 @@ interface MathCanvasProps {
5897
6054
  showAxes?: boolean;
5898
6055
  showGrid?: boolean;
5899
6056
  gridStep?: number;
6057
+ /** Draw numeric labels on grid lines (default false). */
6058
+ showTickLabels?: boolean;
6059
+ /** Draw each curve's `label` at its last in-range sample (default false). */
6060
+ showCurveLabels?: boolean;
5900
6061
  curves?: MathCurve[];
5901
6062
  points?: MathPoint[];
5902
6063
  vectors?: MathVector[];
6064
+ /** Filled areas under curves or between curve pairs. */
6065
+ regions?: MathRegion[];
6066
+ /** Riemann/histogram bar strips. */
6067
+ bars?: MathBar[];
6068
+ /** Fixed reference lines (vline/hline). */
6069
+ guides?: MathGuide[];
6070
+ /** Angle-sweep arcs at a vertex. */
6071
+ angles?: MathAngle[];
6072
+ /** Number-line jump arcs. */
6073
+ hops?: MathHop[];
5903
6074
  /** Extra declarative shapes in canvas pixel coordinates. */
5904
6075
  shapes?: LearningShape[];
6076
+ /** Top-right status chips, forwarded verbatim to LearningCanvas. */
6077
+ readouts?: LearningReadout[];
6078
+ /** Inset sparkline panels, forwarded verbatim to LearningCanvas. */
6079
+ traces?: LearningTracePanel[];
5905
6080
  interactive?: boolean;
5906
6081
  animate?: boolean;
5907
6082
  onShapeClick?: (payload: {
@@ -5928,18 +6103,216 @@ interface LearningPhysicsBody {
5928
6103
  id?: string;
5929
6104
  x: number;
5930
6105
  y: number;
6106
+ /** 3D mode only: height in scene cells (2D ignores it). */
6107
+ z?: number;
5931
6108
  radius?: number;
5932
6109
  color?: string;
5933
6110
  label?: string;
5934
6111
  vx?: number;
5935
6112
  vy?: number;
6113
+ /** 3D mode only: velocity height component (2D ignores it). */
6114
+ vz?: number;
5936
6115
  fx?: number;
5937
6116
  fy?: number;
6117
+ /** 3D mode only: force height component (2D ignores it). */
6118
+ fz?: number;
5938
6119
  }
5939
6120
  interface LearningPhysicsConstraint {
5940
6121
  from: string;
5941
6122
  to: string;
5942
6123
  color?: string;
6124
+ /** Draw style: rigid line (default), zigzag coil, or dashed tether. 2D only — 3D always draws a rod. */
6125
+ kind?: 'rod' | 'spring' | 'string';
6126
+ }
6127
+ /** Fixed scene fixture kind: ground/wall/ramp/box/pivot. */
6128
+ type PhysicsSceneObjectKind = 'ground' | 'wall' | 'ramp' | 'box' | 'pivot';
6129
+ /**
6130
+ * A static, non-body scene fixture with a hatching pattern and an optional label.
6131
+ * @synonyms ground, wall, ramp, incline, pivot, floor
6132
+ */
6133
+ interface PhysicsSceneObject {
6134
+ /** Fixture kind; each kind reads its own subset of the point/span fields below. */
6135
+ kind: PhysicsSceneObjectKind;
6136
+ /** Point kinds: wall x, pivot x, box origin x. */
6137
+ x?: number;
6138
+ /** Point kinds: ground y, pivot y, box origin y. */
6139
+ y?: number;
6140
+ /** Span/ramp endpoint 1 x. */
6141
+ x1?: number;
6142
+ /** Span/ramp endpoint 1 y. */
6143
+ y1?: number;
6144
+ /** Span/ramp endpoint 2 x. */
6145
+ x2?: number;
6146
+ /** Span/ramp endpoint 2 y. */
6147
+ y2?: number;
6148
+ /** Box width. */
6149
+ width?: number;
6150
+ /** Box height. */
6151
+ height?: number;
6152
+ /** Stroke + hatch color (default '#334155'). */
6153
+ color?: string;
6154
+ /** Fill color; ramp defaults to '#e2e8f0'. */
6155
+ fill?: string;
6156
+ /** Fixture label. */
6157
+ label?: string;
6158
+ }
6159
+ /**
6160
+ * A named, labeled arrow anchored to a fixed point or to a body's live position.
6161
+ * @synonyms force arrow, labeled arrow, free body diagram
6162
+ */
6163
+ interface PhysicsVector {
6164
+ /** Anchor x; ignored when `body` resolves to a body. */
6165
+ x?: number;
6166
+ /** Anchor y; ignored when `body` resolves to a body. */
6167
+ y?: number;
6168
+ /** Anchor at this body's position, overriding `x`/`y`. */
6169
+ body?: string;
6170
+ /** Arrow x-component in pixels, before `scale`. */
6171
+ dx: number;
6172
+ /** Arrow y-component in pixels, before `scale`. */
6173
+ dy: number;
6174
+ /** Multiplies `dx`/`dy` (default 1). */
6175
+ scale?: number;
6176
+ /** Arrow + label color (default '#dc2626'). */
6177
+ color?: string;
6178
+ /** Label drawn at the tip, offset 8px further along the arrow direction. */
6179
+ label?: string;
6180
+ /** Stroke dash style (default solid). */
6181
+ dash?: 'dashed' | 'dotted';
6182
+ }
6183
+ /** A trail point in canvas pixel coordinates. */
6184
+ interface PhysicsTrailPoint {
6185
+ x: number;
6186
+ y: number;
6187
+ /** 3D mode only; 2D ignores it. */
6188
+ z?: number;
6189
+ }
6190
+ /**
6191
+ * A fading trajectory polyline through recent body positions.
6192
+ * @synonyms trajectory, path, trace, orbit, orbit path, trajectory tube
6193
+ */
6194
+ interface PhysicsTrail {
6195
+ /** Authoring handle only — not clickable. */
6196
+ id?: string;
6197
+ points: PhysicsTrailPoint[];
6198
+ /** Line color (default '#94a3b8'). */
6199
+ color?: string;
6200
+ /** 2D: stroke width in pixels (default 2). 3D: tube radius in scene cells (default 0.05). */
6201
+ width?: number;
6202
+ /** Multiplies the per-segment fade opacity (default 1). */
6203
+ opacity?: number;
6204
+ /** Older segments fade toward transparent (default true). 2D only — 3D always draws an opaque tube. */
6205
+ fade?: boolean;
6206
+ }
6207
+ /** One elevation color band for a `surface3d` height field; sorted ascending by `min`. */
6208
+ interface PhysicsSurfaceBand {
6209
+ /** Inclusive floor height in cells; omit for the catch-all lowest band. */
6210
+ min?: number;
6211
+ color: string;
6212
+ }
6213
+ /**
6214
+ * A 3D height-field mesh (a wave, a terrain, a potential surface) rendered
6215
+ * from a row-major grid of heights. 3D only.
6216
+ * @synonyms heightfield, wave surface, terrain, potential surface
6217
+ */
6218
+ interface PhysicsSurface3D {
6219
+ /** Grid columns. */
6220
+ nx: number;
6221
+ /** Grid rows. */
6222
+ ny: number;
6223
+ /** Vertex heights, length `nx*ny`, row-major: `heights[iy*nx+ix]`. */
6224
+ heights: number[];
6225
+ /** Cell spacing in scene cells (default 1). */
6226
+ spacing?: number;
6227
+ /** Sheet center x on the ground plane (default 0). */
6228
+ x?: number;
6229
+ /** Sheet center y on the ground plane (default 0). */
6230
+ y?: number;
6231
+ /** Elevation color bands; omitted → a single flat-colored sheet. */
6232
+ bands?: PhysicsSurfaceBand[];
6233
+ /** Fallback color when `bands` is omitted (default '#64748b'). */
6234
+ color?: string;
6235
+ opacity?: number;
6236
+ /** Faceted low-poly shading (default true). */
6237
+ flatShading?: boolean;
6238
+ }
6239
+ /**
6240
+ * A single labeled 3D arrow (field arrow, axis-triad leg, force/velocity
6241
+ * vector), rendered via `vectors3d` + `vectorScale`. 3D only.
6242
+ * @synonyms 3D arrows, field arrows, axis triad
6243
+ */
6244
+ interface PhysicsVector3D {
6245
+ /** Clickable when present. */
6246
+ id?: string;
6247
+ /** Tail position, cells. */
6248
+ x: number;
6249
+ y: number;
6250
+ /** Tail height (default 0). */
6251
+ z?: number;
6252
+ /** Vector components, cells, before `vectorScale`. */
6253
+ dx: number;
6254
+ dy: number;
6255
+ /** Height component (default 0). */
6256
+ dz?: number;
6257
+ /** Arrow + label color (default '#dc2626'). */
6258
+ color?: string;
6259
+ /** Billboard label at the tip. */
6260
+ label?: string;
6261
+ /** Shaft radius in scene cells (default 0.05). */
6262
+ width?: number;
6263
+ }
6264
+ /**
6265
+ * A screen-convention angle arc between two bearings, with a label past the arc.
6266
+ * @synonyms angle arc, theta, incline angle
6267
+ */
6268
+ interface PhysicsAngleMarker {
6269
+ x: number;
6270
+ y: number;
6271
+ /** Start bearing, degrees, screen convention (0 = +x, clockwise). */
6272
+ from: number;
6273
+ /** End bearing, degrees, screen convention (0 = +x, clockwise). */
6274
+ to: number;
6275
+ /** Arc radius in pixels (default 26). */
6276
+ radius?: number;
6277
+ /** Arc + label color (default '#0ea5e9'). */
6278
+ color?: string;
6279
+ /** Label drawn past the arc, along the bisecting bearing. */
6280
+ label?: string;
6281
+ }
6282
+ /**
6283
+ * A single uniform vector/into-page/out-of-page lattice drawn over a region.
6284
+ * @synonyms magnetic field, into page, out of page, field grid
6285
+ */
6286
+ interface PhysicsField {
6287
+ kind: 'arrows' | 'into' | 'out';
6288
+ /** Lattice cell size in pixels (default 48). */
6289
+ spacing?: number;
6290
+ /** Arrow bearing in degrees, screen convention; `arrows` kind only (default 0). */
6291
+ angle?: number;
6292
+ /** Glyph size in pixels (default 14). */
6293
+ size?: number;
6294
+ /** Glyph color (default '#94a3b8'). */
6295
+ color?: string;
6296
+ /** Region left edge (default 0). */
6297
+ x?: number;
6298
+ /** Region top edge (default 0). */
6299
+ y?: number;
6300
+ /** Region width (default canvas width). */
6301
+ width?: number;
6302
+ /** Region height (default canvas height). */
6303
+ height?: number;
6304
+ }
6305
+ /**
6306
+ * A bottom-left labeled bar gauge for a scalar quantity (energy, speed, charge, ...).
6307
+ * @synonyms energy bar, KE, PE, gauge
6308
+ */
6309
+ interface PhysicsMeter {
6310
+ label: string;
6311
+ value: number;
6312
+ /** Full-bar value (default: the max value across all meters, so bars stay comparable). */
6313
+ max?: number;
6314
+ /** Bar + value color (default '#3b82f6'). */
6315
+ color?: string;
5943
6316
  }
5944
6317
  interface PhysicsCanvasProps {
5945
6318
  className?: string;
@@ -5947,15 +6320,51 @@ interface PhysicsCanvasProps {
5947
6320
  height?: number;
5948
6321
  title?: string;
5949
6322
  backgroundColor?: string;
6323
+ /** Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host. */
6324
+ mode?: '2d' | '3d';
6325
+ /** 3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }). */
6326
+ camera?: Camera;
6327
+ /** 3D only: scene light rig as data. */
6328
+ lighting?: CanvasLighting;
6329
+ /** 3D only: post-processing stack (bloom/vignette). */
6330
+ post?: CanvasPost;
5950
6331
  bodies?: LearningPhysicsBody[];
5951
6332
  constraints?: LearningPhysicsConstraint[];
5952
6333
  showVelocity?: boolean;
5953
6334
  showForces?: boolean;
5954
6335
  velocityScale?: number;
5955
6336
  forceScale?: number;
5956
- /** Extra declarative shapes in canvas pixel coordinates. */
6337
+ /** Ground/wall/ramp/box/pivot scene fixtures. 2D only. */
6338
+ sceneObjects?: PhysicsSceneObject[];
6339
+ /** Fading trajectory polylines (2D) / trajectory tubes (3D). */
6340
+ trails?: PhysicsTrail[];
6341
+ /** Named force/velocity/free-body arrows, anchored by point or by body id. 2D only. */
6342
+ vectors?: PhysicsVector[];
6343
+ /** A 3D height-field surface mesh (wave, terrain, potential well). 3D only. */
6344
+ surface3d?: PhysicsSurface3D;
6345
+ /** Labeled 3D arrows (field arrows, axis triads). 3D only. */
6346
+ vectors3d?: PhysicsVector3D[];
6347
+ /** Multiplies every `vectors3d` entry's `dx`/`dy`/`dz` (default 1). 3D only. */
6348
+ vectorScale?: number;
6349
+ /** Angle arcs between two bearings. 2D only. */
6350
+ angles?: PhysicsAngleMarker[];
6351
+ /** A single uniform vector/into/out field lattice. 2D only. */
6352
+ field?: PhysicsField;
6353
+ /** Bottom-left labeled bar gauges. 2D only. */
6354
+ meters?: PhysicsMeter[];
6355
+ /** Extra declarative shapes in canvas pixel coordinates (2D mode only — ignored in 3D). */
5957
6356
  shapes?: LearningShape[];
6357
+ /** Top-right status chip row, forwarded to LearningCanvas verbatim. */
6358
+ readouts?: LearningReadout[];
6359
+ /** Inset sparkline panels, forwarded to LearningCanvas verbatim. */
6360
+ traces?: LearningTracePanel[];
6361
+ /** 3D only: show the ground grid (default off). */
6362
+ showGrid?: boolean;
6363
+ /** 3D only: enable shadows. Omitted → the host default. */
6364
+ shadows?: boolean;
6365
+ /** 2D: pointer interaction (click/hover). 3D: orbit camera controls. */
5958
6366
  interactive?: boolean;
6367
+ /** 2D only: continuous redraw loop. 3D motion is entity-state driven. */
5959
6368
  animate?: boolean;
5960
6369
  onShapeClick?: (payload: {
5961
6370
  id?: string;
@@ -5980,16 +6389,139 @@ interface BiologyNode {
5980
6389
  id?: string;
5981
6390
  x: number;
5982
6391
  y: number;
6392
+ /** 3D mode only: height in scene cells (2D ignores it). */
6393
+ z?: number;
5983
6394
  radius?: number;
5984
6395
  color?: string;
5985
6396
  label?: string;
5986
6397
  kind?: 'cell' | 'organelle' | 'molecule' | 'organism';
6398
+ /** 3D mode only: mesh primitive (default 'sphere'; organelles read well as 'capsule'). */
6399
+ shape?: MeshShapeKind;
6400
+ /** 3D mode only: 0..1 mesh opacity (translucent shells, e.g. a cell membrane). */
6401
+ opacity?: number;
6402
+ /** Visual emphasis (default 'default'). 2D only. */
6403
+ state?: BiologyNodeState;
5987
6404
  }
6405
+ /** Node emphasis vocabulary: 'highlight' rings the node, 'muted' fades node + label to 0.35 opacity. */
6406
+ type BiologyNodeState = 'default' | 'highlight' | 'muted';
5988
6407
  interface BiologyEdge {
5989
6408
  from: string;
5990
6409
  to: string;
5991
6410
  color?: string;
5992
6411
  label?: string;
6412
+ /**
6413
+ * Draws a rim-shortened arrowhead instead of a plain line (default false). 2D only.
6414
+ * @synonyms arrow, flow direction
6415
+ */
6416
+ directed?: boolean;
6417
+ }
6418
+ /** An organelle/cell-boundary ellipse outline. */
6419
+ interface BiologyCompartment {
6420
+ x: number;
6421
+ y: number;
6422
+ /** Ellipse full width (diameter). */
6423
+ width: number;
6424
+ /** Ellipse full height (diameter). */
6425
+ height: number;
6426
+ /** Centered near the top of the ellipse. */
6427
+ label?: string;
6428
+ /** Outline color (default '#16a34a'). */
6429
+ color?: string;
6430
+ /** Fill color (default = `color` at ~10% alpha). */
6431
+ fill?: string;
6432
+ dash?: 'dashed' | 'dotted';
6433
+ /** Outline stroke width (default 2). */
6434
+ lineWidth?: number;
6435
+ }
6436
+ /** A horizontal background stripe spanning the canvas (e.g. a trophic level or elevation zone). */
6437
+ interface BiologyBand {
6438
+ label?: string;
6439
+ /** Fill/stroke color (default cycles BIO_BAND_COLORS by index). */
6440
+ color?: string;
6441
+ }
6442
+ type BiologyStageState = 'pending' | 'active' | 'done';
6443
+ /** A phase/step chip in a `stages` timeline or ring. */
6444
+ interface BiologyStage {
6445
+ label: string;
6446
+ /** Progress state driving fill/text color (default 'pending'). */
6447
+ state?: BiologyStageState;
6448
+ /** Overrides the state-derived fill color. */
6449
+ color?: string;
6450
+ }
6451
+ /** One base pair (rung) of a `helix` ladder. */
6452
+ interface BiologyHelixRung {
6453
+ /** Base letter on strand A (top). */
6454
+ a?: string;
6455
+ /** Base letter on strand B (bottom). */
6456
+ b?: string;
6457
+ /** 'new' renders the rung in the newly-synthesized color (default '#16a34a'); 'open'/'paired' drive strand separation. */
6458
+ state?: 'paired' | 'open' | 'new';
6459
+ /** Overrides the state-derived rung color. */
6460
+ color?: string;
6461
+ }
6462
+ /** A DNA double-helix ladder rendered as two strand polylines plus rungs, with an optional unzipped fork. */
6463
+ interface BiologyHelix {
6464
+ /** Panel left edge (default 24). */
6465
+ x?: number;
6466
+ /** Panel top edge (default canvas height * 0.25). */
6467
+ y?: number;
6468
+ /** Panel width (default canvas width - 48). */
6469
+ width?: number;
6470
+ /** Panel height (default canvas height * 0.5). */
6471
+ height?: number;
6472
+ rungs: BiologyHelixRung[];
6473
+ /** Unzipped fraction from the left, 0..1 (default 0 = fully paired). */
6474
+ fork?: number;
6475
+ /** Strand A (top) color (default '#2563eb'). */
6476
+ colorA?: string;
6477
+ /** Strand B (bottom) color (default '#dc2626'). */
6478
+ colorB?: string;
6479
+ /** Default paired-rung color (default '#94a3b8'). */
6480
+ rungColor?: string;
6481
+ }
6482
+ /** One base-pair rung of a 3D `helix3d` ladder. */
6483
+ interface BiologyHelixRung3D {
6484
+ /** Clickable when present — stamped on this rung's marker sphere. */
6485
+ id?: string;
6486
+ /** Rung cylinder + marker color (default '#94a3b8'). */
6487
+ color?: string;
6488
+ /** Marker sphere radius override (e.g. selection enlargement). */
6489
+ radius?: number;
6490
+ /** Billboard label above the marker. */
6491
+ label?: string;
6492
+ }
6493
+ /**
6494
+ * A 3D DNA double-helix: two beaded backbone strands plus a base-pair rung
6495
+ * per index, optionally unwound (replication-fork style) at one end. 3D only.
6496
+ * @synonyms DNA double helix, base pairs 3D
6497
+ */
6498
+ interface BiologyHelix3D {
6499
+ /** Rung count; defaults to `rungs.length`. One of `count`/`rungs` is required. */
6500
+ count?: number;
6501
+ /** Per-rung overrides, padded with defaults up to `count`. */
6502
+ rungs?: BiologyHelixRung3D[];
6503
+ /** Helix radius in scene cells (default 1). */
6504
+ radius?: number;
6505
+ /** Rise per rung along the helix axis (default 0.34). */
6506
+ rise?: number;
6507
+ /** Twist per rung in degrees (default 36). */
6508
+ twistDeg?: number;
6509
+ /** Strand A (top) color (default '#38bdf8'). */
6510
+ strandAColor?: string;
6511
+ /** Strand B (bottom) color (default '#fb923c'). */
6512
+ strandBColor?: string;
6513
+ /** Backbone strand cylinder + bead radius (default 0.16). */
6514
+ backboneRadius?: number;
6515
+ /** Rung cylinder radius, and the marker sphere's default radius (default 0.12). */
6516
+ rungRadius?: number;
6517
+ /** Helix center; the helix axis runs along scene y. */
6518
+ x?: number;
6519
+ y?: number;
6520
+ z?: number;
6521
+ /** Rungs `0..unwoundCount-1` spread by `unwindSpread` instead of `radius` (default 0). */
6522
+ unwoundCount?: number;
6523
+ /** Spread multiplier for unwound rungs (default 1.8). */
6524
+ unwindSpread?: number;
5993
6525
  }
5994
6526
  interface BiologyCanvasProps {
5995
6527
  className?: string;
@@ -5997,11 +6529,53 @@ interface BiologyCanvasProps {
5997
6529
  height?: number;
5998
6530
  title?: string;
5999
6531
  backgroundColor?: string;
6532
+ /** Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host. */
6533
+ mode?: '2d' | '3d';
6534
+ /** 3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }). */
6535
+ camera?: Camera;
6536
+ /** 3D only: scene light rig as data. */
6537
+ lighting?: CanvasLighting;
6538
+ /** 3D only: post-processing stack (bloom/vignette). */
6539
+ post?: CanvasPost;
6000
6540
  nodes?: BiologyNode[];
6001
6541
  edges?: BiologyEdge[];
6002
- /** Extra declarative shapes in canvas pixel coordinates. */
6542
+ /**
6543
+ * Organelle/membrane/cell-boundary ellipses (2D only).
6544
+ * @synonyms membrane, organelle region, cell boundary
6545
+ */
6546
+ compartments?: BiologyCompartment[];
6547
+ /**
6548
+ * Full-width horizontal background stripes, drawn first (2D only).
6549
+ * @synonyms trophic levels, zones, layers
6550
+ */
6551
+ bands?: BiologyBand[];
6552
+ /**
6553
+ * Phase/step chips (2D only).
6554
+ * @synonyms phases, timeline, cycle
6555
+ */
6556
+ stages?: BiologyStage[];
6557
+ /** Layout for `stages`: a bottom timeline strip (default) or a radial ring. */
6558
+ stageStyle?: 'timeline' | 'ring';
6559
+ /**
6560
+ * A DNA double-helix ladder panel (2D only).
6561
+ * @synonyms DNA ladder, replication fork, base pairs
6562
+ */
6563
+ helix?: BiologyHelix;
6564
+ /** A 3D DNA double-helix ladder. 3D only. */
6565
+ helix3d?: BiologyHelix3D;
6566
+ /** Extra declarative shapes in canvas pixel coordinates (2D mode only — ignored in 3D). */
6003
6567
  shapes?: LearningShape[];
6568
+ /** Top-right status chip row, forwarded to LearningCanvas verbatim. */
6569
+ readouts?: LearningReadout[];
6570
+ /** Inset sparkline panels, forwarded to LearningCanvas verbatim. */
6571
+ traces?: LearningTracePanel[];
6572
+ /** 3D only: show the ground grid (default off). */
6573
+ showGrid?: boolean;
6574
+ /** 3D only: enable shadows. Omitted → the host default. */
6575
+ shadows?: boolean;
6576
+ /** 2D: pointer interaction (click/hover). 3D: orbit camera controls. */
6004
6577
  interactive?: boolean;
6578
+ /** 2D only: continuous redraw loop. 3D motion is entity-state driven. */
6005
6579
  animate?: boolean;
6006
6580
  onShapeClick?: (payload: {
6007
6581
  id?: string;
@@ -6026,15 +6600,52 @@ interface ChemistryAtom {
6026
6600
  id?: string;
6027
6601
  x: number;
6028
6602
  y: number;
6603
+ /** 3D mode only: height in scene cells (2D ignores it). */
6604
+ z?: number;
6029
6605
  element?: string;
6030
6606
  radius?: number;
6031
6607
  color?: string;
6608
+ /** Ionic charge label (e.g. '2+', '-'), drawn top-right of the atom. 2D only. */
6609
+ charge?: string;
6610
+ /** Lone electron pairs (clamped 0..4), drawn as compass-positioned dot pairs. 2D only. */
6611
+ lonePairs?: number;
6032
6612
  }
6033
6613
  interface ChemistryBond {
6034
6614
  from: string;
6035
6615
  to: string;
6036
6616
  type?: 'single' | 'double' | 'triple';
6037
6617
  color?: string;
6618
+ /** Reaction-state coloring (overridden by an explicit `color`). 2D only. */
6619
+ state?: ChemistryBondState;
6620
+ }
6621
+ /** Bond reaction-state vocabulary: forming/breaking bonds also render dashed. */
6622
+ type ChemistryBondState = 'default' | 'forming' | 'breaking' | 'highlight';
6623
+ /** A beaker/flask/container outline, optionally split by a divider and filled to a liquid level. */
6624
+ interface ChemistryContainer {
6625
+ x: number;
6626
+ y: number;
6627
+ width: number;
6628
+ height: number;
6629
+ /** Outline + label color (default '#64748b'). */
6630
+ color?: string;
6631
+ /** Fill color for the outline rect itself (independent of the liquid level fill). */
6632
+ fill?: string;
6633
+ /** Outline stroke width (default 2). */
6634
+ lineWidth?: number;
6635
+ /** Vertical divider at the container's mid-width (default 'none'). */
6636
+ divider?: 'none' | 'solid' | 'dashed' | 'dotted';
6637
+ /** Divider color (default = `color`). */
6638
+ dividerColor?: string;
6639
+ /** Label centered in the left half, near the top. */
6640
+ leftLabel?: string;
6641
+ /** Label centered in the right half, near the top. */
6642
+ rightLabel?: string;
6643
+ /** Label centered below the container. */
6644
+ label?: string;
6645
+ /** Liquid fill level, 0..1 from the bottom. */
6646
+ level?: number;
6647
+ /** Liquid fill color (default '#60a5fa'). */
6648
+ levelColor?: string;
6038
6649
  }
6039
6650
  interface ChemistryArrow {
6040
6651
  x: number;
@@ -6044,18 +6655,113 @@ interface ChemistryArrow {
6044
6655
  color?: string;
6045
6656
  label?: string;
6046
6657
  }
6658
+ /** One basis site of a `lattice3d` crystal, replicated across the generated block. */
6659
+ interface ChemistryLatticeSite {
6660
+ /** Basis-site key; bonds reference sites by key, not by generated id. */
6661
+ key: string;
6662
+ /** Fractional cell offset, 0..1. */
6663
+ dx: number;
6664
+ dy: number;
6665
+ dz: number;
6666
+ element?: string;
6667
+ /** Marker color (default '#2563eb'). */
6668
+ color?: string;
6669
+ /** Marker radius (default 0.3). */
6670
+ radius?: number;
6671
+ /** Replicate on the +x face so the boundary plane completes (n+1 planes along x). */
6672
+ xEdge?: boolean;
6673
+ /** Replicate on the +y face so the boundary plane completes (n+1 planes along y). */
6674
+ yEdge?: boolean;
6675
+ /** Replicate on the +z face so the boundary plane completes (n+1 planes along z). */
6676
+ zEdge?: boolean;
6677
+ }
6678
+ /** A bond rule generating one cylinder per valid `from`→`to` site-instance pair. */
6679
+ interface ChemistryLatticeBond {
6680
+ /** Basis-site key this bond originates from. */
6681
+ from: string;
6682
+ /** Basis-site key this bond targets. */
6683
+ to: string;
6684
+ /** Integer cell-index displacement of `to` relative to `from`'s (i, j, k) (default 0 each). */
6685
+ dx?: number;
6686
+ dy?: number;
6687
+ dz?: number;
6688
+ /** Bond color (default '#6b7280'). */
6689
+ color?: string;
6690
+ }
6691
+ /**
6692
+ * A 3D crystal lattice (simple cubic, BCC, FCC, rock salt, diamond, ...)
6693
+ * generated procedurally from a fractional basis + bond rules into a block
6694
+ * centered on the origin. 3D only.
6695
+ * @synonyms crystal lattice, unit cell, BCC FCC
6696
+ */
6697
+ interface ChemistryLattice3D {
6698
+ basis: ChemistryLatticeSite[];
6699
+ /** Unit cells replicated along x/y/z (default 2 each). */
6700
+ nx?: number;
6701
+ ny?: number;
6702
+ nz?: number;
6703
+ /** Edge length of one unit cell in scene cells (default 2). */
6704
+ latticeConstant?: number;
6705
+ bonds?: ChemistryLatticeBond[];
6706
+ /** Bond cylinder radius (default 0.06). */
6707
+ bondRadius?: number;
6708
+ /** Dim every generated site outside unit cell (0,0,0) with `dimColor`; bonds with a dimmed endpoint dim too. */
6709
+ highlightCell?: boolean;
6710
+ /** Dim color for `highlightCell` (default '#475569'). */
6711
+ dimColor?: string;
6712
+ /** Billboard each site's `element` above its marker (default false). */
6713
+ showLabels?: boolean;
6714
+ /** Generated site id (`lat-{key}-{i}-{j}-{k}`, as delivered by onShapeClick) to enlarge and recolor as the selection. */
6715
+ selectedId?: string;
6716
+ /** Selected-site color (default '#f59e0b'). */
6717
+ selectedColor?: string;
6718
+ }
6047
6719
  interface ChemistryCanvasProps {
6048
6720
  className?: string;
6049
6721
  width?: number;
6050
6722
  height?: number;
6051
6723
  title?: string;
6052
6724
  backgroundColor?: string;
6725
+ /** Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host. */
6726
+ mode?: '2d' | '3d';
6727
+ /** 3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }). */
6728
+ camera?: Camera;
6729
+ /** 3D only: scene light rig as data. */
6730
+ lighting?: CanvasLighting;
6731
+ /** 3D only: post-processing stack (bloom/vignette). */
6732
+ post?: CanvasPost;
6053
6733
  atoms?: ChemistryAtom[];
6054
6734
  bonds?: ChemistryBond[];
6055
6735
  arrows?: ChemistryArrow[];
6056
- /** Extra declarative shapes in canvas pixel coordinates. */
6736
+ /** Bond line rendering: 'thick' varies stroke width by order (default), 'parallel' draws offset parallel strokes. 2D only. */
6737
+ bondStyle?: 'thick' | 'parallel';
6738
+ /**
6739
+ * Beaker/flask/container outlines (2D only).
6740
+ * @synonyms beaker, flask, box, membrane, burette
6741
+ */
6742
+ containers?: ChemistryContainer[];
6743
+ /**
6744
+ * Reaction equation text centered at the top of the canvas. 2D only.
6745
+ * @synonyms reaction equation, formula
6746
+ */
6747
+ equation?: string;
6748
+ /** Equation text color (default '#111827'). */
6749
+ equationColor?: string;
6750
+ /** A 3D crystal lattice block (simple cubic, BCC, FCC, rock salt, diamond, ...). 3D only. */
6751
+ lattice3d?: ChemistryLattice3D;
6752
+ /** Extra declarative shapes in canvas pixel coordinates (2D mode only — ignored in 3D). */
6057
6753
  shapes?: LearningShape[];
6754
+ /** Top-right status chip row, forwarded to LearningCanvas verbatim. */
6755
+ readouts?: LearningReadout[];
6756
+ /** Inset sparkline panels, forwarded to LearningCanvas verbatim. */
6757
+ traces?: LearningTracePanel[];
6758
+ /** 3D only: show the ground grid (default off). */
6759
+ showGrid?: boolean;
6760
+ /** 3D only: enable shadows. Omitted → the host default. */
6761
+ shadows?: boolean;
6762
+ /** 2D: pointer interaction (click/hover). 3D: orbit camera controls. */
6058
6763
  interactive?: boolean;
6764
+ /** 2D only: continuous redraw loop. 3D motion is entity-state driven. */
6059
6765
  animate?: boolean;
6060
6766
  onShapeClick?: (payload: {
6061
6767
  id?: string;
@@ -6071,12 +6777,19 @@ declare const ChemistryCanvas: React$1.FC<ChemistryCanvasProps>;
6071
6777
  * AlgorithmCanvas
6072
6778
  *
6073
6779
  * A field-scoped learning molecule for computer-science algorithm visualizations.
6074
- * Projects semantic `bars` (sorting/histograms), `cells` (grids/arrays/DP tables),
6075
- * and `pointers` (index cursors) into pixel-space shapes on the declarative
6076
- * `LearningCanvas` atom, so a `.lolo` behavior never computes pixel coordinates —
6077
- * it just sets `bars`/`cells`/`pointers` and lets this molecule lay them out.
6078
- * Graph/tree algorithms reuse `BiologyCanvas` (nodes + edges); this canvas owns
6079
- * only the bar/cell/pointer vocabulary.
6780
+ * Projects semantic `bars` (sorting/histograms), `slots` (registers/variables),
6781
+ * `cells` (grids/arrays/DP tables), `buckets` (hash-table chaining), and `frames`
6782
+ * (call stacks) into pixel-space shapes on the declarative `LearningCanvas` atom,
6783
+ * so a `.lolo` behavior never computes pixel coordinates it just sets the family
6784
+ * arrays and lets this molecule lay them out. `pointers` (index cursors) and
6785
+ * `ranges` (highlighted spans) decorate the bars/slots panel. Graph/tree
6786
+ * algorithms use `AlgoGraphCanvas` (nodes + edges + layouts); this canvas owns
6787
+ * only the bar/slot/cell/bucket/frame vocabulary.
6788
+ *
6789
+ * When more than one of `bars`/`slots`/`cells`/`buckets`/`frames` is populated,
6790
+ * they share the canvas height as equal vertical panels in that fixed order
6791
+ * (`panelHeight = height / panelCount`); with exactly one family present the
6792
+ * panel math collapses to the original full-height layout unchanged.
6080
6793
  *
6081
6794
  * @packageDocumentation
6082
6795
  */
@@ -6086,18 +6799,71 @@ interface AlgorithmBar {
6086
6799
  color?: string;
6087
6800
  label?: string;
6088
6801
  }
6802
+ /** Small per-corner annotation texts inside a cell (e.g. DP transition sources). */
6803
+ interface AlgorithmCellCorner {
6804
+ tl?: string;
6805
+ tr?: string;
6806
+ bl?: string;
6807
+ br?: string;
6808
+ }
6089
6809
  interface AlgorithmCell {
6090
6810
  row: number;
6091
6811
  col: number;
6092
6812
  value?: number;
6093
6813
  color?: string;
6094
6814
  label?: string;
6815
+ /** Small annotation texts in the four corners; rendered only when the cell is large enough. */
6816
+ corner?: AlgorithmCellCorner;
6095
6817
  }
6096
6818
  interface AlgorithmPointer {
6097
6819
  index: number;
6098
6820
  label?: string;
6099
6821
  color?: string;
6100
6822
  }
6823
+ /** A highlighted span over the bars panel: a translucent fill band or a bracket with a label. */
6824
+ interface AlgorithmRange {
6825
+ from: number;
6826
+ to: number;
6827
+ color?: string;
6828
+ label?: string;
6829
+ kind?: 'fill' | 'bracket';
6830
+ }
6831
+ /** Fill state for a single slot box. */
6832
+ type AlgorithmSlotState = 'empty' | 'filled' | 'highlight';
6833
+ /** A discrete value slot (register/variable) drawn as a labeled box. */
6834
+ interface AlgorithmSlot {
6835
+ value?: string | number;
6836
+ state?: AlgorithmSlotState;
6837
+ color?: string;
6838
+ }
6839
+ /** Lifecycle state for a call-stack frame. */
6840
+ type AlgorithmFrameState = 'active' | 'returning' | 'done';
6841
+ /** A single call-stack frame (recursion visualization). */
6842
+ interface AlgorithmFrame {
6843
+ label: string;
6844
+ detail?: string;
6845
+ state?: AlgorithmFrameState;
6846
+ color?: string;
6847
+ }
6848
+ /** Highlight state for a single bucket entry (hash-table chaining). */
6849
+ type AlgorithmBucketEntryState = 'default' | 'highlight' | 'probing';
6850
+ /** A single chained entry within a hash-table bucket. */
6851
+ interface AlgorithmBucketEntry {
6852
+ label: string;
6853
+ state?: AlgorithmBucketEntryState;
6854
+ color?: string;
6855
+ }
6856
+ /** A hash-table bucket row: an index plus its chain of entries. */
6857
+ interface AlgorithmBucket {
6858
+ index: number;
6859
+ entries: AlgorithmBucketEntry[];
6860
+ }
6861
+ /** A row/column header label for the cells grid. */
6862
+ interface AlgorithmAxisLabel {
6863
+ index: number;
6864
+ text: string;
6865
+ color?: string;
6866
+ }
6101
6867
  interface AlgorithmCanvasProps {
6102
6868
  className?: string;
6103
6869
  width?: number;
@@ -6108,8 +6874,24 @@ interface AlgorithmCanvasProps {
6108
6874
  bars?: AlgorithmBar[];
6109
6875
  /** Grid/array/DP cells; laid out on a row/col lattice sized to the extent. */
6110
6876
  cells?: AlgorithmCell[];
6111
- /** Index cursors (i/j/lo/hi/mid); drawn as markers beneath the referenced bar/cell column. */
6877
+ /** Index cursors (i/j/lo/hi/mid); drawn as markers beneath the referenced bar/slot column. */
6112
6878
  pointers?: AlgorithmPointer[];
6879
+ /** Highlighted index ranges over the bars panel (translucent fill bands or labeled brackets). */
6880
+ ranges?: AlgorithmRange[];
6881
+ /** Discrete value slots (registers/variables); laid out in a row or a vertical stack. */
6882
+ slots?: AlgorithmSlot[];
6883
+ /** Slot stack direction; horizontal lays slots left-to-right, vertical stacks bottom-up. */
6884
+ slotOrientation?: 'horizontal' | 'vertical';
6885
+ /** Recursion/call-stack frames; laid out bottom-up like a real call stack. */
6886
+ frames?: AlgorithmFrame[];
6887
+ /** Hash-table buckets; each row is an index chip plus its chained entries. */
6888
+ buckets?: AlgorithmBucket[];
6889
+ /** Secondary bar strip inside the bars panel (e.g. a running total beside the primary values). */
6890
+ auxBars?: AlgorithmBar[];
6891
+ /** Row-header labels drawn to the left of the cells grid. */
6892
+ rowLabels?: AlgorithmAxisLabel[];
6893
+ /** Column-header labels drawn above the cells grid. */
6894
+ colLabels?: AlgorithmAxisLabel[];
6113
6895
  /** Extra declarative shapes in canvas pixel coordinates. */
6114
6896
  shapes?: LearningShape[];
6115
6897
  interactive?: boolean;
@@ -6124,6 +6906,171 @@ interface AlgorithmCanvasProps {
6124
6906
  }
6125
6907
  declare const AlgorithmCanvas: React$1.FC<AlgorithmCanvasProps>;
6126
6908
 
6909
+ /**
6910
+ * AlgoGraphCanvas
6911
+ *
6912
+ * A field-scoped learning molecule for computer-science graph/tree algorithm
6913
+ * visualizations (BFS/DFS/Dijkstra/A-star/topological sort/tree traversals).
6914
+ * Declares a fixed node/edge state vocabulary with default colors and
6915
+ * deterministic layouts (`manual` | `tree` | `layered` | `circle`) so a
6916
+ * `.lolo` behavior never computes pixel coordinates — it just sets node
6917
+ * `state`/edges and picks a layout. Distinguish from the core d3-force
6918
+ * `GraphCanvas`: this one is a dumb deterministic projection, not a
6919
+ * force simulation.
6920
+ *
6921
+ * @packageDocumentation
6922
+ */
6923
+
6924
+ type AlgoGraphNodeState = 'unvisited' | 'frontier' | 'current' | 'visited' | 'goal' | 'path';
6925
+ type AlgoGraphEdgeState = 'default' | 'tree' | 'relaxed' | 'candidate' | 'path';
6926
+ type AlgoGraphLayout = 'manual' | 'tree' | 'layered' | 'circle';
6927
+ interface AlgoGraphNodeBadge {
6928
+ text: string;
6929
+ color?: string;
6930
+ }
6931
+ interface AlgoGraphNode {
6932
+ id: string;
6933
+ /** Manual layout only; ignored by `tree`/`layered`/`circle`. */
6934
+ x?: number;
6935
+ /** Manual layout only; ignored by `tree`/`layered`/`circle`. */
6936
+ y?: number;
6937
+ label?: string;
6938
+ /** Drives the default fill/stroke color via `NODE_STATE_COLOR`. */
6939
+ state?: AlgoGraphNodeState;
6940
+ color?: string;
6941
+ radius?: number;
6942
+ /** Small pill (e.g. distance/order) drawn at the node's upper-right. */
6943
+ badge?: AlgoGraphNodeBadge;
6944
+ }
6945
+ interface AlgoGraphEdge {
6946
+ from: string;
6947
+ to: string;
6948
+ directed?: boolean;
6949
+ weight?: number;
6950
+ label?: string;
6951
+ /** Drives the default stroke color via `EDGE_STATE_COLOR`. */
6952
+ state?: AlgoGraphEdgeState;
6953
+ color?: string;
6954
+ }
6955
+ interface AlgoGraphCanvasProps {
6956
+ className?: string;
6957
+ width?: number;
6958
+ height?: number;
6959
+ title?: string;
6960
+ backgroundColor?: string;
6961
+ nodes?: AlgoGraphNode[];
6962
+ edges?: AlgoGraphEdge[];
6963
+ /** Deterministic layout to compute node positions; `manual` passes through `x`/`y`. */
6964
+ layout?: AlgoGraphLayout;
6965
+ /** `tree` layout only: preferred root id. Falls back to the first indegree-0 node. */
6966
+ root?: string;
6967
+ /** Extra declarative shapes in canvas pixel coordinates. */
6968
+ shapes?: LearningShape[];
6969
+ interactive?: boolean;
6970
+ animate?: boolean;
6971
+ onShapeClick?: (payload: {
6972
+ id?: string;
6973
+ type?: string;
6974
+ index: number;
6975
+ }) => void;
6976
+ /** Fires when a node circle is clicked, alongside `onShapeClick`. */
6977
+ onNodeClick?: (payload: {
6978
+ id: string;
6979
+ label?: string;
6980
+ index: number;
6981
+ }) => void;
6982
+ isLoading?: boolean;
6983
+ error?: UiError | null;
6984
+ }
6985
+ declare const AlgoGraphCanvas: React$1.FC<AlgoGraphCanvasProps>;
6986
+
6987
+ /**
6988
+ * learningScene3D — the shared 3D seam for the learning canvas molecules
6989
+ * (PhysicsCanvas / BiologyCanvas / ChemistryCanvas), mirroring the game
6990
+ * `Canvas` molecule's 2D/3D split: each molecule derives neutral drawable
6991
+ * descriptors from its vocabulary and this module hosts them in the lazy
6992
+ * `Canvas3DHost`, so three.js/R3F never enters a 2D-only bundle.
6993
+ *
6994
+ * The lazy import MUST use the external `@almadar/ui/.../game/three` subpath
6995
+ * (not a relative path): with tsup `splitting:false` a relative `import()` is
6996
+ * inlined into the main chunk; the subpath form is the code-split boundary.
6997
+ *
6998
+ * Click: the host speaks `EventEmit` (a bus event-name string), so the wrapper
6999
+ * mints a per-instance, dot-qualified event name (dot-qualified flows through
7000
+ * trait-scope qualification verbatim — a bare key would be scope-rewritten and
7001
+ * never reach this listener) and bridges it back to the molecule's
7002
+ * `onShapeClick` callback contract via `useEventListener` — the same
7003
+ * bus→callback mechanism `MediaGallery`/`StateMachineView` use.
7004
+ *
7005
+ * The derivation helpers below are pure descriptor builders (no three imports).
7006
+ * Scene coordinates are cells: `x`/`y` the ground plane, `z` the height.
7007
+ *
7008
+ * @packageDocumentation
7009
+ */
7010
+
7011
+ /** A point in scene space: `[x, y, z]` — x/y the ground plane, z the height (cells). */
7012
+ type Learning3DPoint = [number, number, number];
7013
+ interface LearningScene3DProps {
7014
+ className?: string;
7015
+ width?: number;
7016
+ height?: number;
7017
+ title?: string;
7018
+ backgroundColor?: string;
7019
+ /** Neutral drawable descriptors derived from the molecule's vocabulary. */
7020
+ drawables: DrawableNode[];
7021
+ /** Neutral camera pose; `mode` defaults to 'perspective' for learning scenes. */
7022
+ camera?: Camera;
7023
+ /** 3D scene light rig as data. Omitted → the host's standard fixed rig. */
7024
+ lighting?: CanvasLighting;
7025
+ /** 3D post-processing stack (bloom/vignette). Omitted → no post pass. */
7026
+ post?: CanvasPost;
7027
+ /** Show the 3D ground grid. Default false (the learning scenes' current look). */
7028
+ showGrid?: boolean;
7029
+ /** Enable 3D shadows. Omitted → the host default (shadows on). */
7030
+ shadows?: boolean;
7031
+ /** Enable the orbit camera controls. Omitted → the host default (controls on). */
7032
+ interactive?: boolean;
7033
+ isLoading?: boolean;
7034
+ error?: UiError | null;
7035
+ /** Fires with the `id` of a clicked descriptor (descriptors carry `id` via DrawableBase). */
7036
+ onItemClick?: (id: string) => void;
7037
+ }
7038
+ declare function LearningScene3D({ className, width, height, title, backgroundColor, drawables, camera, lighting, post, showGrid, shadows, interactive, isLoading, error, onItemClick, }: LearningScene3DProps): React$1.JSX.Element;
7039
+ declare namespace LearningScene3D {
7040
+ var displayName: string;
7041
+ }
7042
+ interface MeshSphereOpts {
7043
+ /** Primitive kind (default 'sphere'; organelles read well as 'capsule'). */
7044
+ shape?: MeshShapeKind;
7045
+ segments?: number;
7046
+ material?: MeshMaterial;
7047
+ opacity?: number;
7048
+ }
7049
+ /** A sphere (or `opts.shape` primitive) centred at the scene point, `id`-tagged for click. */
7050
+ declare function meshSphere(id: string | undefined, x: number, y: number, z: number, radius: number, color: string, opts?: MeshSphereOpts): DrawMeshProps;
7051
+ /** A cylinder spanning from→to, centred on the midpoint. Null when the segment is degenerate. */
7052
+ declare function cylinderBetween(from: Learning3DPoint, to: Learning3DPoint, radius: number, color: string): DrawMeshProps | null;
7053
+ /**
7054
+ * An arrow from→to as a `draw-group` (shaft cylinder + tip cone) local to `from`.
7055
+ * `shaftRadius` is in scene cells (default: a thin rod at cell scale). `id`,
7056
+ * when given, is stamped on the returned draw-group for click routing.
7057
+ */
7058
+ declare function arrowBetween(from: Learning3DPoint, to: Learning3DPoint, color: string, shaftRadius?: number, id?: string): DrawGroupProps | null;
7059
+ /** A billboarded text label above the scene point (the 3D host lifts it off the item). */
7060
+ declare function billboardLabel(text: string, x: number, y: number, z: number, opts?: {
7061
+ color?: string;
7062
+ }): DrawTextProps;
7063
+ /**
7064
+ * Bridge the 3D host's `{ unitId }` click back to the molecules' 2D
7065
+ * `onShapeClick({ id, index })` contract — `index` is the item's position in
7066
+ * its vocabulary array (−1 when the id is unknown).
7067
+ */
7068
+ declare function get3DClickPayload(onShapeClick: ((payload: {
7069
+ id?: string;
7070
+ type?: string;
7071
+ index: number;
7072
+ }) => void) | undefined, idToIndex: ReadonlyMap<string, number>): ((id: string) => void) | undefined;
7073
+
6127
7074
  /**
6128
7075
  * GraphView Molecule Component
6129
7076
  *
@@ -6755,13 +7702,16 @@ interface TableViewProps extends DataDndProps {
6755
7702
  columns?: readonly TableViewColumn[];
6756
7703
  /** Alias for `columns`. */
6757
7704
  fields?: readonly TableViewColumn[];
6758
- /** Per-row action buttons (trailing column). */
7705
+ /** Per-row actions, collected under a trailing kebab overflow menu. */
6759
7706
  itemActions?: readonly TableViewItemAction[];
6760
- /** Max inline action buttons before the rest collapse into a "⋯" overflow menu. Omit = all inline. */
7707
+ /** @deprecated Row actions always render as a kebab menu now (UX doctrine: row actions behind an overflow menu; a pinned inline button strip paints over cells during horizontal scroll). Accepted and ignored. */
6761
7708
  maxInlineActions?: number;
6762
7709
  /** When set, the whole row is clickable and emits UI:{itemClickEvent} with
6763
7710
  * { id, row } (action-button clicks stopPropagation so they still win).
6764
- * Mirrors DataList's contract. */
7711
+ * Mirrors DataList's contract. When OMITTED and `itemActions` exist, the
7712
+ * row click defaults to the first non-danger item action (the view/open
7713
+ * action by authoring convention) — a danger action never becomes the row
7714
+ * default (destructive actions require intentional reach). */
6765
7715
  itemClickEvent?: EventKey;
6766
7716
  /** Render a leading checkbox column. Selection changes emit `selectEvent`. */
6767
7717
  selectable?: boolean;
@@ -6806,7 +7756,7 @@ interface TableViewProps extends DataDndProps {
6806
7756
  */
6807
7757
  look?: 'dense' | 'spacious' | 'striped' | 'borderless' | 'bordered';
6808
7758
  }
6809
- declare function TableView({ entity, columns, fields, itemActions, maxInlineActions, itemClickEvent, selectable, selectEvent, selectedIds, sortEvent, sortColumn, sortDirection, className, emptyMessage, isLoading, error, groupBy, pageSize, children, renderItem: _schemaRenderItem, look, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, }: TableViewProps): React__default.JSX.Element;
7759
+ declare function TableView({ entity, columns, fields, itemActions, maxInlineActions: _maxInlineActions, itemClickEvent, selectable, selectEvent, selectedIds, sortEvent, sortColumn, sortDirection, className, emptyMessage, isLoading, error, groupBy, pageSize, children, renderItem: _schemaRenderItem, look, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, }: TableViewProps): React__default.JSX.Element;
6810
7760
  declare namespace TableView {
6811
7761
  var displayName: string;
6812
7762
  }
@@ -9463,6 +10413,96 @@ interface ConnectionBlockProps {
9463
10413
  }
9464
10414
  declare const ConnectionBlock: React__default.FC<ConnectionBlockProps>;
9465
10415
 
10416
+ /**
10417
+ * CodeRunnerPanel Organism Component
10418
+ *
10419
+ * Editable code block with Run/Reset buttons and simulated terminal output.
10420
+ * Real execution is a future concern; callers supply a simulation function via
10421
+ * `onRun`. Emits `UI:RUN_CODE { language, exitCode }` on every run attempt.
10422
+ *
10423
+ * Event Contract:
10424
+ * - Emits: UI:RUN_CODE { language, exitCode, error? }
10425
+ * - entityAware: false
10426
+ */
10427
+
10428
+ interface CodeSimulationOutput {
10429
+ stdout: string;
10430
+ stderr: string;
10431
+ exitCode: number;
10432
+ testResults: Array<{
10433
+ input: string;
10434
+ expectedOutput: string;
10435
+ actualOutput: string;
10436
+ passed: boolean;
10437
+ }>;
10438
+ }
10439
+ interface CodeRunnerPanelProps {
10440
+ /** Initial code content */
10441
+ code: string;
10442
+ /** Programming language for syntax highlighting */
10443
+ language: string;
10444
+ /** Whether the panel allows running (false = read-only code block) */
10445
+ runnable?: boolean;
10446
+ /**
10447
+ * Simulate executing the code. Omit to render a read-only block.
10448
+ * Real execution is a separate future track — this callback supplies
10449
+ * deterministic simulated output for UI feedback.
10450
+ */
10451
+ onRun?: (code: string) => Promise<CodeSimulationOutput>;
10452
+ /** Event name to emit on run (emitted as `UI:<runEvent>`). Defaults to 'RUN_CODE'. */
10453
+ runEvent?: string;
10454
+ /** Additional CSS classes */
10455
+ className?: string;
10456
+ }
10457
+ declare const CodeRunnerPanel: React__default.FC<CodeRunnerPanelProps>;
10458
+
10459
+ /**
10460
+ * SegmentRenderer Organism Component
10461
+ *
10462
+ * Renders a parsed array of LessonSegments — markdown, code, quizzes,
10463
+ * activation prompts, connections, reflections, Bloom questions.
10464
+ * The `visualization` segment type is passed through as a no-op unless the
10465
+ * caller provides `onRenderVisualization` (future extensibility hook).
10466
+ *
10467
+ * Event Contract:
10468
+ * - Delegates to child molecules: UI:SAVE_ACTIVATION, UI:SAVE_REFLECTION, UI:ANSWER_BLOOM
10469
+ * - entityAware: false
10470
+ */
10471
+
10472
+ /**
10473
+ * User progress state passed into SegmentRenderer. Declared here (rather than
10474
+ * alongside `LessonSegment` in `lib/parseLessonSegments.ts`) so the
10475
+ * pattern-sync scanner — which only indexes types under `components/**` —
10476
+ * can resolve it to a concrete `.lolo` object shape instead of `json`.
10477
+ */
10478
+ interface LessonUserProgress {
10479
+ activationResponse?: string;
10480
+ reflectionNotes?: string[];
10481
+ bloomAnswered?: Record<number, boolean>;
10482
+ }
10483
+ interface SegmentRendererProps {
10484
+ /** Parsed lesson segments (see `parseLessonSegments`) */
10485
+ segments: LessonSegment[];
10486
+ /** Additional CSS classes for the root container */
10487
+ className?: string;
10488
+ /** CSS classes for the outer wrapping div */
10489
+ containerClassName?: string;
10490
+ /** User progress for restoring activation/reflection state */
10491
+ userProgress?: LessonUserProgress;
10492
+ /**
10493
+ * Simulate executing runnable code blocks. Omit to render runnable blocks
10494
+ * as read-only. Real execution is a future track.
10495
+ */
10496
+ onRunCodeSimulation?: (code: string, language: string) => Promise<CodeSimulationOutput>;
10497
+ /**
10498
+ * Optional render slot for `visualization` segment types. When not provided,
10499
+ * visualization segments are silently skipped. Callers can wire this to any
10500
+ * custom component or orbital generator.
10501
+ */
10502
+ onRenderVisualization?: (type: InteractiveOrbitalType, description: string, index: number) => React__default.ReactNode;
10503
+ }
10504
+ declare const SegmentRenderer: React__default.FC<SegmentRendererProps>;
10505
+
9466
10506
  type EntityTableLook = "dense" | "spacious" | "striped" | "borderless" | "card-rows";
9467
10507
  interface Column<T> {
9468
10508
  /** Column identity. Optional because `name` is an accepted alias; the
@@ -9754,6 +10794,15 @@ interface RelationConfig {
9754
10794
  /** Cardinality: one-to-one or one-to-many */
9755
10795
  cardinality?: "one" | "many";
9756
10796
  }
10797
+ /**
10798
+ * Validation-rule bundle for a schema field. Only `enum` is actually read
10799
+ * (`getEnumOptions` below); the rest of `JsonObject`'s key space was never
10800
+ * consumed, so the concrete shape is exactly the field this component uses.
10801
+ */
10802
+ interface FormFieldValidation {
10803
+ /** Allowed values, mirrors `SchemaField.values` when sourced from validation metadata instead. */
10804
+ enum?: readonly string[];
10805
+ }
9757
10806
  /**
9758
10807
  * Schema field definition
9759
10808
  * Supports both 'name' and 'field' for compatibility with different schema formats
@@ -9788,7 +10837,7 @@ interface SchemaField {
9788
10837
  /** Pattern for validation */
9789
10838
  pattern?: string;
9790
10839
  /** Validation rules */
9791
- validation?: JsonObject;
10840
+ validation?: FormFieldValidation;
9792
10841
  /** Whether field is readonly (displays value but cannot edit) */
9793
10842
  readonly?: boolean;
9794
10843
  /** Whether field is disabled (alternative to readonly for compatibility) */
@@ -11055,85 +12104,6 @@ interface CaseStudyOrganismProps extends DisplayStateProps {
11055
12104
  }
11056
12105
  declare const CaseStudyOrganism: React__default.FC<CaseStudyOrganismProps>;
11057
12106
 
11058
- /**
11059
- * CodeRunnerPanel Organism Component
11060
- *
11061
- * Editable code block with Run/Reset buttons and simulated terminal output.
11062
- * Real execution is a future concern; callers supply a simulation function via
11063
- * `onRun`. Emits `UI:RUN_CODE { language, exitCode }` on every run attempt.
11064
- *
11065
- * Event Contract:
11066
- * - Emits: UI:RUN_CODE { language, exitCode, error? }
11067
- * - entityAware: false
11068
- */
11069
-
11070
- interface CodeSimulationOutput {
11071
- stdout: string;
11072
- stderr: string;
11073
- exitCode: number;
11074
- testResults: Array<{
11075
- input: string;
11076
- expectedOutput: string;
11077
- actualOutput: string;
11078
- passed: boolean;
11079
- }>;
11080
- }
11081
- interface CodeRunnerPanelProps {
11082
- /** Initial code content */
11083
- code: string;
11084
- /** Programming language for syntax highlighting */
11085
- language: string;
11086
- /** Whether the panel allows running (false = read-only code block) */
11087
- runnable?: boolean;
11088
- /**
11089
- * Simulate executing the code. Omit to render a read-only block.
11090
- * Real execution is a separate future track — this callback supplies
11091
- * deterministic simulated output for UI feedback.
11092
- */
11093
- onRun?: (code: string) => Promise<CodeSimulationOutput>;
11094
- /** Event name to emit on run (emitted as `UI:<runEvent>`). Defaults to 'RUN_CODE'. */
11095
- runEvent?: string;
11096
- /** Additional CSS classes */
11097
- className?: string;
11098
- }
11099
- declare const CodeRunnerPanel: React__default.FC<CodeRunnerPanelProps>;
11100
-
11101
- /**
11102
- * SegmentRenderer Organism Component
11103
- *
11104
- * Renders a parsed array of LessonSegments — markdown, code, quizzes,
11105
- * activation prompts, connections, reflections, Bloom questions.
11106
- * The `visualization` segment type is passed through as a no-op unless the
11107
- * caller provides `onRenderVisualization` (future extensibility hook).
11108
- *
11109
- * Event Contract:
11110
- * - Delegates to child molecules: UI:SAVE_ACTIVATION, UI:SAVE_REFLECTION, UI:ANSWER_BLOOM
11111
- * - entityAware: false
11112
- */
11113
-
11114
- interface SegmentRendererProps {
11115
- /** Parsed lesson segments (see `parseLessonSegments`) */
11116
- segments: LessonSegment[];
11117
- /** Additional CSS classes for the root container */
11118
- className?: string;
11119
- /** CSS classes for the outer wrapping div */
11120
- containerClassName?: string;
11121
- /** User progress for restoring activation/reflection state */
11122
- userProgress?: LessonUserProgress;
11123
- /**
11124
- * Simulate executing runnable code blocks. Omit to render runnable blocks
11125
- * as read-only. Real execution is a future track.
11126
- */
11127
- onRunCodeSimulation?: (code: string, language: string) => Promise<CodeSimulationOutput>;
11128
- /**
11129
- * Optional render slot for `visualization` segment types. When not provided,
11130
- * visualization segments are silently skipped. Callers can wire this to any
11131
- * custom component or orbital generator.
11132
- */
11133
- onRenderVisualization?: (type: InteractiveOrbitalType, description: string, index: number) => React__default.ReactNode;
11134
- }
11135
- declare const SegmentRenderer: React__default.FC<SegmentRendererProps>;
11136
-
11137
12107
  /**
11138
12108
  * ChatBar Organism
11139
12109
  *
@@ -11653,4 +12623,4 @@ interface AboutPageTemplateProps extends TemplateProps<AboutPageEntity> {
11653
12623
  }
11654
12624
  declare const AboutPageTemplate: React__default.FC<AboutPageTemplateProps>;
11655
12625
 
11656
- export { ALL_PRESETS, AR_BOOK_FIELDS, type AboutPageEntity, AboutPageTemplate, type AboutPageTemplateProps, Accordion, type AccordionItem, type AccordionProps, Card as ActionCard, type CardProps as ActionCardProps, ActionPalette, type ActionPaletteProps, ActionTile, type ActionTileProps, ActivationBlock, type ActivationBlockProps, Alert, type AlertProps, type AlertVariant, type AlgorithmBar, AlgorithmCanvas, type AlgorithmCanvasProps, type AlgorithmCell, type AlgorithmPointer, AnimatedCounter, type AnimatedCounterProps, AnimatedGraphic, type AnimatedGraphicProps, AnimatedReveal, type AnimatedRevealProps, ArticleSection, type ArticleSectionProps, Aside, type AsideProps, AssetPicker, type AssetPickerProps, AtlasImage, type AtlasImageAsset, type AtlasImageProps, AtlasPanel, type AtlasPanelProps, AuthLayout, type AuthLayoutProps, Avatar, type AvatarProps, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeVariant, BehaviorView, type BehaviorViewProps, BiologyCanvas, type BiologyCanvasProps, type BiologyEdge, type BiologyNode, type BlockType, BookChapterView, type BookChapterViewProps, BookCoverPage, type BookCoverPageProps, type BookFieldMap, BookNavBar, type BookNavBarProps, BookTableOfContents, type BookTableOfContentsProps, BookViewer, type BookViewerProps, Box, type BoxBg, type BoxMargin, type BoxPadding, type BoxProps, type BoxRounded, type BoxShadow, BranchingLogicBuilder, type BranchingLogicBuilderProps, type BranchingQuestion, type BranchingRule, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, CTABanner, type CTABannerBackground, type CTABannerProps, CalendarGrid, type CalendarGridProps, type CameraMode, CameraState, Canvas, Canvas2D, type Canvas2DProps, type CanvasItemShape, type CanvasItemStatus, type CanvasMode, type CanvasProps, Card$1 as Card, type CardAction, CardBody, CardContent, CardFooter, CardGrid, type CardGridGap, type CardGridProps, CardHeader, type CardProps$1 as CardProps, CardTitle, Carousel, type CarouselProps, CaseStudyCard, type CaseStudyCardProps, CaseStudyOrganism, type CaseStudyOrganismProps, Center, type CenterProps, Chart, type ChartDataPoint, ChartLegend, type ChartLegendItem, type ChartLegendProps, type ChartProps, type ChartSeries, type ChartType, ChatBar, type ChatBarProps, type ChatBarStatus, Checkbox, type CheckboxProps, type ChemistryArrow, type ChemistryAtom, type ChemistryBond, ChemistryCanvas, type ChemistryCanvasProps, ChoiceButton, type ChoiceButtonProps, Coachmark, type CoachmarkAnchor, type CoachmarkPlacement, type CoachmarkProps, CodeBlock, type CodeBlockProps, type CodeLanguage, type CodeLanguageLoader, CodeRunnerPanel, type CodeRunnerPanelProps, type CodeSimulationOutput, type CodeViewerAction, type CodeViewerFile, type CodeViewerMode, CollapsibleSection, type CollapsibleSectionProps, type Column, CommunityLinks, type CommunityLinksProps, type ConditionalContext, ConditionalWrapper, type ConditionalWrapperProps, ConfettiEffect, type ConfettiEffectProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogVariant, ConnectionBlock, type ConnectionBlockProps, Container, type ContainerProps, ContentRenderer, type ContentRendererProps, ContentSection, type ContentSectionBackground, type ContentSectionPadding, type ContentSectionProps, ControlButton, type ControlButtonProps, ControlGrid, type ControlGridButton, type ControlGridKind, type ControlGridProps, type CounterSize, CounterTemplate, type CounterTemplateProps, type CounterVariant, DEFAULT_LIKERT_OPTIONS, DEFAULT_MATRIX_COLUMNS, DIAMOND_TOP_Y, type DPadDirection, DashboardGrid, type DashboardGridCell, type DashboardGridProps, DashboardLayout, type DashboardLayoutProps, DataGrid, type DataGridField, type DataGridItemAction, type DataGridProps, DataList, type DataListField, type DataListItemAction, type DataListProps, DataTable, type DataTableProps, DateRangePicker, type DateRangePickerPreset, type DateRangePickerProps, DateRangeSelector, type DateRangeSelectorOption, type DateRangeSelectorProps, DayCell, type DayCellProps, type DetailField, DetailPanel, type DetailPanelProps, type DetailSection, Dialog, type DialogProps, DialogueBubble, type DialogueBubbleProps, type DiffLine$1 as DiffLine, type DiffLineType, type DiffRevision, type DisplayStateProps, Divider, type DividerOrientation, type DividerProps, DocBreadcrumb, type DocBreadcrumbItem, type DocBreadcrumbProps, DocPagination, type DocPaginationLink, type DocPaginationProps, DocSearch, type DocSearchProps, type DocSearchResult, DocSidebar, type DocSidebarItem, type DocSidebarProps, DocTOC, type DocTOCItem, type DocTOCProps, type DocumentType, DocumentViewer, type DocumentViewerProps, StateMachineView as DomStateMachineVisualizer, type DotSize, type DotState, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, DrawerSlot, type DrawerSlotProps, ELEMENT_SELECTED_EVENT, EdgeDecoration, type EdgeDecorationProps, type EdgeSide, type EdgeVariant, EditorCheckbox, type EditorCheckboxProps, type EditorMode, EditorSelect, type EditorSelectProps, EditorSlider, type EditorSliderProps, EditorTextInput, type EditorTextInputProps, EditorToolbar, type EditorToolbarProps, EmojiPicker, type EmojiPickerPosition, type EmojiPickerProps, EmptyState, type EmptyStateProps, EntityDisplayEvents, ErrorBoundary, type ErrorBoundaryProps, ErrorState, type ErrorStateProps, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FacingDirection, FeatureCard, type FeatureCardProps, type FeatureDetailPageEntity, FeatureDetailPageTemplate, type FeatureDetailPageTemplateProps, type FeatureDetailSection, FeatureGrid, FeatureGridOrganism, type FeatureGridOrganismProps, type FeatureGridProps, FileTree, type FileTreeNode, type FileTreeProps, type FilterDefinition, FilterGroup, type FilterGroupProps, type FilterPayload, FilterPill, type FilterPillProps, type FilterPillSize, type FilterPillVariant, Flex, type FlexProps, FlipCard, type FlipCardProps, FlipContainer, type FlipContainerProps, type FloatingAction, FloatingActionButton, type FloatingActionButtonProps, type FooterLinkColumn, type FooterLinkItem, Form, FormActions, type FormActionsProps, FormField, type FormFieldProps, FormLayout, type FormLayoutProps, type FormProps, FormSection$1 as FormSection, FormSectionHeader, type FormSectionHeaderProps, type FormSectionProps, GameAudioToggle, type GameAudioToggleProps, GameHud, type GameHudElement, type GameHudProps, type GameHudStat, GameIcon, type GameIconProps, GameMenu, type GameMenuProps, GameShell, type GameShellProps, GenericAppTemplate, type GenericAppTemplateProps, GeometricPattern, type GeometricPatternProps, GradientDivider, type GradientDividerProps, GraphCanvas, type GraphCanvasProps, type GraphEdge, type GraphNode, type GraphSimilarity, GraphView, type GraphViewEdge, type GraphViewNode, type GraphViewProps, type GraphicAnimation, Grid, GridPicker, type GridPickerCellSize, type GridPickerProps, type GridProps, HStack, type HStackProps, Header, type HeaderProps, HealthBar, type HealthBarProps, HeroOrganism, type HeroOrganismProps, HeroSection, type HeroSectionProps, type HighlightType, IDENTITY_BOOK_FIELDS, Icon, type IconAnimation, type IconInput, IconPicker, type IconPickerProps, type IconProps, type IconSize, ImageSource, type ImportEntityDisplay, ImportPreviewTree, type ImportPreviewTreeProps, type ImportPreviewUnit, ImportProgress, type ImportProgressCounts, type ImportProgressProps, type ImportProgressStep, type ImportSkippedElement, type ImportSourceOption, ImportSourcePicker, type ImportSourcePickerProps, InfiniteScrollSentinel, type InfiniteScrollSentinelProps, Input, InputGroup, type InputGroupProps, type InputProps, InstallBox, type InstallBoxProps, IsometricUnit, JazariStateMachine, type JazariStateMachineProps, JsonTreeEditor, type JsonTreeEditorProps, Label, type LabelProps, type LandingPageEntity, LandingPageTemplate, type LandingPageTemplateProps, type LawReference, LawReferenceTooltip, type LawReferenceTooltipProps, LearningCanvas, type LearningCanvasProps, type LearningPhysicsBody, type LearningPhysicsConstraint, type LearningPoint, type LearningShape, type LearningShapeType, LessonSegment, LessonUserProgress, Lightbox, type LightboxImage, type LightboxProps, type LikertOption, LikertScale, type LikertScaleProps, LineChart, type LineChartProps, LinkAction, List, type ListItem, type ListProps, LoadingState, type LoadingStateProps, type MapMarkerData, type MapRouteData, type MapRouteWaypoint, MapView, type MapViewProps, MarkdownContent, type MarkdownContentProps, MarketingFooter, type MarketingFooterProps, MarketingStatCard, type MarketingStatCardProps, MasterDetail, MasterDetailLayout, type MasterDetailLayoutProps, type MasterDetailProps, MathCanvas, type MathCanvasProps, type MathCurve, type MathPoint, type MathVector, type MatrixColumn, MatrixQuestion, type MatrixQuestionProps, type MatrixRow, MediaGallery, type MediaGalleryProps, type MediaItem, Menu, type MenuItem, type MenuOption, type MenuProps, Meter, type MeterAction, type MeterProps, type MeterThreshold, type MeterVariant, Modal, type ModalProps, type ModalSize, ModalSlot, type ModalSlotProps, ModuleCard, type ModuleCardProps, type NavItem, Navigation, type NavigationItem, type NavigationProps, NodeSlotEditor, type NodeSlotEditorProps, NotifyListener, NumberStepper, type NumberStepperProps, type NumberStepperSize, OnboardingSpotlight, type OnboardingSpotlightProps, type OptionConstraint, OptionConstraintGroup, type OptionConstraintGroupProps, type OptionConstraintOption, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, type OrbitalVisualizationProps, Overlay, type OverlayProps, type PageBreadcrumb, PageHeader, type PageHeaderProps, PageTransition, type PageTransitionProps, type PaginatePayload, Pagination, type PaginationProps, PatternTile, type PatternTileProps, type PatternVariant, PhysicsCanvas, type PhysicsCanvasProps, type PickerItem, type Platform, Point, Popover, type PopoverProps, PositionedCanvas, type PositionedCanvasProps, Presence, type PresenceAnimation, type PresenceProps, type PresenceResult, PricingCard, type PricingCardProps, PricingGrid, type PricingGridProps, PricingOrganism, type PricingOrganismProps, type PricingPageEntity, PricingPageTemplate, type PricingPageTemplateProps, type PrismLanguageGrammar, ProgressBar, type ProgressBarColor, type ProgressBarProps, type ProgressBarVariant, ProgressDots, type ProgressDotsProps, type Projection, PropertyInspector, type PropertyInspectorProps, PullQuote, type PullQuoteProps, PullToRefresh, type PullToRefreshProps, type QrScanResult, QrScanner, type QrScannerProps, QuizBlock, type QuizBlockProps, Radio, type RadioProps, RangeSlider, type RangeSliderProps, type RangeSliderSize, ReflectionBlock, type ReflectionBlockProps, type RelationOption, RelationSelect, type RelationSelectProps, RepeatableFormSection, type RepeatableFormSectionProps, type RepeatableItem, ReplyTree, type ReplyTreeProps, ResolvedFrame, type RevealAnimation, type RevealTrigger, type RichBlock, RichBlockEditor, type RichBlockEditorProps, type RowAction, type RuleDefinition, type RuleOption, RuntimeDebugger, type RuntimeDebuggerProps, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, type ScaledDiagramProps, ScoreDisplay, type ScoreDisplayProps, SearchInput, type SearchInputProps, type SearchPayload, Section, SectionHeader, type SectionHeaderProps, type SectionProps, SegmentRenderer, type SegmentRendererProps, Select, type SelectOption, type SelectOptionGroup, type SelectPayload, type SelectProps, SequenceBar, type SequenceBarProps, ServiceCatalog, type ServiceCatalogItem, type ServiceCatalogProps, ShowcaseCard, type ShowcaseCardProps, ShowcaseOrganism, type ShowcaseOrganismProps, SidePanel, type SidePanelProps, type SidePlayer, Sidebar, type SidebarItem, type SidebarProps, SignaturePad, type SignaturePadProps, SimpleGrid, type SimpleGridProps, Skeleton, type SkeletonProps, type SkeletonVariant, SlotContent, SlotContentRenderer, type SlotItemData, SocialProof, type SocialProofItem, type SocialProofProps, type SortPayload, SortableList, type SortableListProps, Spacer, type SpacerProps, type SpacerSize, Sparkline, type SparklineColor, type SparklineProps, Spinner, type SpinnerProps, Split, SplitPane, type SplitPaneProps, type SplitProps, SplitSection, type SplitSectionProps, type SpotlightStep, SpriteFrameDims, SpriteSheetUrls, Stack, type StackAlign, type StackDirection, type StackGap, type StackJustify, type StackProps, StarRating, type StarRatingPrecision, type StarRatingProps, type StarRatingSize, StatBadge, type StatBadgeProps, StatCard, type StatCardProps, type StatCardSize, StatDisplay, type StatDisplayProps, StateGraph, type StateGraphProps, type StateGraphTransition, StateJsonView, type StateJsonViewProps, StateMachineView, type StateMachineViewProps, StateNode, type StateNodeProps, StatsGrid, type StatsGridProps, StatsOrganism, type StatsOrganismProps, StatusBar, type StatusBarProps, StatusDot, type StatusDotProps, type StatusDotSize, type StatusDotStatus, StepFlow, StepFlowOrganism, type StepFlowOrganismProps, type StepFlowProps, type StepItemProps, SubagentTracePanel, type SubagentTracePanelProps, SvgBranch, type SvgBranchProps, SvgConnection, type SvgConnectionProps, SvgFlow, type SvgFlowProps, SvgGrid, type SvgGridProps, SvgLobe, type SvgLobeProps, SvgMesh, type SvgMeshProps, SvgMorph, type SvgMorphProps, SvgNode, type SvgNodeProps, SvgPulse, type SvgPulseProps, SvgRing, type SvgRingProps, SvgShield, type SvgShieldProps, SvgStack, type SvgStackProps, type SwipeAction, SwipeableRow, type SwipeableRowProps, Switch, type SwitchProps, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, type TabDefinition, type TabItem, TabbedContainer, type TabbedContainerProps, TableView, type TableViewColumn, type TableViewProps, Tabs, type TabsProps, TagCloud, type TagCloudItem, type TagCloudProps, TagInput, type TagInputProps, TeamCard, type TeamCardProps, TeamOrganism, type TeamOrganismProps, type TeamUnitTraits, type TemplateProps, TerrainPalette, type TerrainPaletteProps, TextHighlight, type TextHighlightProps, Textarea, type TextareaProps, ThemeToggle, type ThemeToggleProps, type TileCoord, type TileLayout, TimeSlotCell, type TimeSlotCellProps, Timeline, type TimelineItem, type TimelineItemStatus, type TimelineProps, TimerDisplay, type TimerDisplayProps, Toast, type ToastProps, ToastSlot, type ToastSlotProps, type ToastVariant, Tooltip, type TooltipProps, type TraceDisclosureLevel, TraitFrame, type TraitFrameProps, TraitSlot, type TraitSlotProps, type TraitStateMachineDefinition, TraitStateViewer, type TraitStateViewerProps, type TraitTransition, TransitionArrow, type TransitionArrowProps, type TransitionBundle, type TrendDirection, TrendIndicator, type TrendIndicatorProps, type TrendIndicatorSize, TypewriterText, type TypewriterTextProps, Typography, type TypographyProps, type TypographyVariant, UISlotComponent, UISlotRenderer, type UISlotRendererProps, UiError, UnitAnimationState, UploadDropZone, type UploadDropZoneProps, type UsePresenceOptions, VStack, type VStackProps, type Vec2, VersionDiff, type DiffLine as VersionDiffLine, type VersionDiffProps, ViolationAlert, type ViolationAlertProps, type ViolationRecord, VoteStack, type VoteStackProps, WizardContainer, type WizardContainerProps, WizardNavigation, type WizardNavigationProps, WizardProgress, type WizardProgressProps, type WizardProgressStep, type WizardStep, boardEntity, bool, createUnitAnimationState, getCurrentFrame, getTileDimensions, inferDirection, isoToScreen, makeAsset, makeAssetMap, mapBookData, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, parseEditFocus, pendulum, projectileMotion, registerCodeLanguageLoader, resolveFieldMap, resolveFrame, resolveSheetDirection, rows, screenToIso, springOscillator, str, tickAnimationState, toCodeLanguage, transitionAnimation, unitHealth, unitPosition, unitTeam, useAnchorRect, useAtlasSliceDataUrl, useCamera, useImageCache, usePresence, useUnitSpriteAtlas, vec2 };
12626
+ export { ALL_PRESETS, AR_BOOK_FIELDS, type AboutPageEntity, AboutPageTemplate, type AboutPageTemplateProps, Accordion, type AccordionItem, type AccordionProps, Card as ActionCard, type CardProps as ActionCardProps, ActionPalette, type ActionPaletteProps, ActionTile, type ActionTileProps, ActivationBlock, type ActivationBlockProps, Alert, type AlertProps, type AlertVariant, AlgoGraphCanvas, type AlgoGraphCanvasProps, type AlgoGraphEdge, type AlgoGraphEdgeState, type AlgoGraphLayout, type AlgoGraphNode, type AlgoGraphNodeBadge, type AlgoGraphNodeState, type AlgorithmBar, AlgorithmCanvas, type AlgorithmCanvasProps, type AlgorithmCell, type AlgorithmPointer, AnimatedCounter, type AnimatedCounterProps, AnimatedGraphic, type AnimatedGraphicProps, AnimatedReveal, type AnimatedRevealProps, ArticleSection, type ArticleSectionProps, Aside, type AsideProps, AssetPicker, type AssetPickerProps, AtlasImage, type AtlasImageAsset, type AtlasImageProps, AtlasPanel, type AtlasPanelProps, AuthLayout, type AuthLayoutProps, Avatar, type AvatarProps, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeVariant, BehaviorView, type BehaviorViewProps, BiologyCanvas, type BiologyCanvasProps, type BiologyEdge, type BiologyNode, type BlockType, BookChapterView, type BookChapterViewProps, BookCoverPage, type BookCoverPageProps, type BookFieldMap, BookNavBar, type BookNavBarProps, BookTableOfContents, type BookTableOfContentsProps, BookViewer, type BookViewerProps, Box, type BoxBg, type BoxMargin, type BoxPadding, type BoxProps, type BoxRounded, type BoxShadow, BranchingLogicBuilder, type BranchingLogicBuilderProps, type BranchingQuestion, type BranchingRule, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, CTABanner, type CTABannerBackground, type CTABannerProps, CalendarGrid, type CalendarGridProps, type CameraMode, CameraState, Canvas, Canvas2D, type Canvas2DProps, type CanvasItemShape, type CanvasItemStatus, type CanvasMode, type CanvasProps, Card$1 as Card, type CardAction, CardBody, CardContent, CardFooter, CardGrid, type CardGridGap, type CardGridProps, CardHeader, type CardProps$1 as CardProps, CardTitle, Carousel, type CarouselProps, CaseStudyCard, type CaseStudyCardProps, CaseStudyOrganism, type CaseStudyOrganismProps, Center, type CenterProps, Chart, type ChartDataPoint, ChartLegend, type ChartLegendItem, type ChartLegendProps, type ChartProps, type ChartSeries, type ChartType, ChatBar, type ChatBarProps, type ChatBarStatus, Checkbox, type CheckboxProps, type ChemistryArrow, type ChemistryAtom, type ChemistryBond, ChemistryCanvas, type ChemistryCanvasProps, ChoiceButton, type ChoiceButtonProps, Coachmark, type CoachmarkAnchor, type CoachmarkPlacement, type CoachmarkProps, CodeBlock, type CodeBlockProps, type CodeLanguage, type CodeLanguageLoader, CodeRunnerPanel, type CodeRunnerPanelProps, type CodeSimulationOutput, type CodeViewerAction, type CodeViewerFile, type CodeViewerMode, CollapsibleSection, type CollapsibleSectionProps, type Column, CommunityLinks, type CommunityLinksProps, type ConditionalContext, ConditionalWrapper, type ConditionalWrapperProps, ConfettiEffect, type ConfettiEffectProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogVariant, ConnectionBlock, type ConnectionBlockProps, Container, type ContainerProps, ContentRenderer, type ContentRendererProps, ContentSection, type ContentSectionBackground, type ContentSectionPadding, type ContentSectionProps, ControlButton, type ControlButtonProps, ControlGrid, type ControlGridButton, type ControlGridKind, type ControlGridProps, type CounterSize, CounterTemplate, type CounterTemplateProps, type CounterVariant, DEFAULT_LIKERT_OPTIONS, DEFAULT_MATRIX_COLUMNS, DIAMOND_TOP_Y, type DPadDirection, DashboardGrid, type DashboardGridCell, type DashboardGridProps, DashboardLayout, type DashboardLayoutProps, DataGrid, type DataGridField, type DataGridItemAction, type DataGridProps, DataList, type DataListField, type DataListItemAction, type DataListProps, DataTable, type DataTableProps, DateRangePicker, type DateRangePickerPreset, type DateRangePickerProps, DateRangeSelector, type DateRangeSelectorOption, type DateRangeSelectorProps, DayCell, type DayCellProps, type DetailField, DetailPanel, type DetailPanelProps, type DetailSection, Dialog, type DialogProps, DialogueBubble, type DialogueBubbleProps, type DiffLine$1 as DiffLine, type DiffLineType, type DiffRevision, type DisplayStateProps, Divider, type DividerOrientation, type DividerProps, DocBreadcrumb, type DocBreadcrumbItem, type DocBreadcrumbProps, DocPagination, type DocPaginationLink, type DocPaginationProps, DocSearch, type DocSearchProps, type DocSearchResult, DocSidebar, type DocSidebarItem, type DocSidebarProps, DocTOC, type DocTOCItem, type DocTOCProps, type DocumentType, DocumentViewer, type DocumentViewerProps, StateMachineView as DomStateMachineVisualizer, type DotSize, type DotState, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, DrawerSlot, type DrawerSlotProps, ELEMENT_SELECTED_EVENT, EdgeDecoration, type EdgeDecorationProps, type EdgeSide, type EdgeVariant, EditorCheckbox, type EditorCheckboxProps, type EditorMode, EditorSelect, type EditorSelectProps, EditorSlider, type EditorSliderProps, EditorTextInput, type EditorTextInputProps, EditorToolbar, type EditorToolbarProps, EmojiPicker, type EmojiPickerPosition, type EmojiPickerProps, EmptyState, type EmptyStateProps, EntityDisplayEvents, ErrorBoundary, type ErrorBoundaryProps, ErrorState, type ErrorStateProps, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FacingDirection, FeatureCard, type FeatureCardProps, type FeatureDetailPageEntity, FeatureDetailPageTemplate, type FeatureDetailPageTemplateProps, type FeatureDetailSection, FeatureGrid, FeatureGridOrganism, type FeatureGridOrganismProps, type FeatureGridProps, FileTree, type FileTreeNode, type FileTreeProps, type FilterDefinition, FilterGroup, type FilterGroupProps, type FilterPayload, FilterPill, type FilterPillProps, type FilterPillSize, type FilterPillVariant, Flex, type FlexProps, FlipCard, type FlipCardProps, FlipContainer, type FlipContainerProps, type FloatingAction, FloatingActionButton, type FloatingActionButtonProps, type FooterLinkColumn, type FooterLinkItem, Form, FormActions, type FormActionsProps, FormField, type FormFieldProps, FormLayout, type FormLayoutProps, type FormProps, FormSection$1 as FormSection, FormSectionHeader, type FormSectionHeaderProps, type FormSectionProps, GameAudioToggle, type GameAudioToggleProps, GameHud, type GameHudElement, type GameHudProps, type GameHudStat, GameIcon, type GameIconProps, GameMenu, type GameMenuProps, GameShell, type GameShellProps, GenericAppTemplate, type GenericAppTemplateProps, GeometricPattern, type GeometricPatternProps, GradientDivider, type GradientDividerProps, GraphCanvas, type GraphCanvasProps, type GraphEdge, type GraphNode, type GraphSimilarity, GraphView, type GraphViewEdge, type GraphViewNode, type GraphViewProps, type GraphicAnimation, Grid, GridPicker, type GridPickerCellSize, type GridPickerProps, type GridProps, HStack, type HStackProps, Header, type HeaderProps, HealthBar, type HealthBarProps, HeroOrganism, type HeroOrganismProps, HeroSection, type HeroSectionProps, type HighlightType, IDENTITY_BOOK_FIELDS, Icon, type IconAnimation, type IconInput, IconPicker, type IconPickerProps, type IconProps, type IconSize, ImageSource, type ImportEntityDisplay, ImportPreviewTree, type ImportPreviewTreeProps, type ImportPreviewUnit, ImportProgress, type ImportProgressCounts, type ImportProgressProps, type ImportProgressStep, type ImportSkippedElement, type ImportSourceOption, ImportSourcePicker, type ImportSourcePickerProps, InfiniteScrollSentinel, type InfiniteScrollSentinelProps, Input, InputGroup, type InputGroupProps, type InputProps, InstallBox, type InstallBoxProps, IsometricUnit, JazariStateMachine, type JazariStateMachineProps, JsonTreeEditor, type JsonTreeEditorProps, Label, type LabelProps, type LandingPageEntity, LandingPageTemplate, type LandingPageTemplateProps, type LawReference, LawReferenceTooltip, type LawReferenceTooltipProps, type Learning3DPoint, LearningCanvas, type LearningCanvasProps, type LearningPhysicsBody, type LearningPhysicsConstraint, type LearningPoint, LearningScene3D, type LearningScene3DProps, type LearningShape, type LearningShapeType, LessonSegment, type LessonUserProgress, Lightbox, type LightboxImage, type LightboxProps, type LikertOption, LikertScale, type LikertScaleProps, LineChart, type LineChartProps, LinkAction, List, type ListItem, type ListProps, LoadingState, type LoadingStateProps, type MapMarkerData, type MapRouteData, type MapRouteWaypoint, MapView, type MapViewProps, MarkdownContent, type MarkdownContentProps, MarketingFooter, type MarketingFooterProps, MarketingStatCard, type MarketingStatCardProps, MasterDetail, MasterDetailLayout, type MasterDetailLayoutProps, type MasterDetailProps, MathCanvas, type MathCanvasProps, type MathCurve, type MathPoint, type MathVector, type MatrixColumn, MatrixQuestion, type MatrixQuestionProps, type MatrixRow, MediaGallery, type MediaGalleryProps, type MediaItem, Menu, type MenuItem, type MenuOption, type MenuProps, type MeshSphereOpts, Meter, type MeterAction, type MeterProps, type MeterThreshold, type MeterVariant, Modal, type ModalProps, type ModalSize, ModalSlot, type ModalSlotProps, ModuleCard, type ModuleCardProps, type NavItem, Navigation, type NavigationItem, type NavigationProps, NodeSlotEditor, type NodeSlotEditorProps, NotifyListener, NumberStepper, type NumberStepperProps, type NumberStepperSize, OnboardingSpotlight, type OnboardingSpotlightProps, type OptionConstraint, OptionConstraintGroup, type OptionConstraintGroupProps, type OptionConstraintOption, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, type OrbitalVisualizationProps, Overlay, type OverlayProps, type PageBreadcrumb, PageHeader, type PageHeaderProps, PageTransition, type PageTransitionProps, type PaginatePayload, Pagination, type PaginationProps, PatternTile, type PatternTileProps, type PatternVariant, PhysicsCanvas, type PhysicsCanvasProps, type PickerItem, type Platform, Point, Popover, type PopoverProps, PositionedCanvas, type PositionedCanvasProps, Presence, type PresenceAnimation, type PresenceProps, type PresenceResult, PricingCard, type PricingCardProps, PricingGrid, type PricingGridProps, PricingOrganism, type PricingOrganismProps, type PricingPageEntity, PricingPageTemplate, type PricingPageTemplateProps, type PrismLanguageGrammar, ProgressBar, type ProgressBarColor, type ProgressBarProps, type ProgressBarVariant, ProgressDots, type ProgressDotsProps, type Projection, PropertyInspector, type PropertyInspectorProps, PullQuote, type PullQuoteProps, PullToRefresh, type PullToRefreshProps, type QrScanResult, QrScanner, type QrScannerProps, QuizBlock, type QuizBlockProps, Radio, type RadioProps, RangeSlider, type RangeSliderProps, type RangeSliderSize, ReflectionBlock, type ReflectionBlockProps, type RelationOption, RelationSelect, type RelationSelectProps, RepeatableFormSection, type RepeatableFormSectionProps, type RepeatableItem, ReplyTree, type ReplyTreeProps, ResolvedFrame, type RevealAnimation, type RevealTrigger, type RichBlock, RichBlockEditor, type RichBlockEditorProps, type RowAction, type RuleDefinition, type RuleOption, RuntimeDebugger, type RuntimeDebuggerProps, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, type ScaledDiagramProps, ScoreDisplay, type ScoreDisplayProps, SearchInput, type SearchInputProps, type SearchPayload, Section, SectionHeader, type SectionHeaderProps, type SectionProps, SegmentRenderer, type SegmentRendererProps, Select, type SelectOption, type SelectOptionGroup, type SelectPayload, type SelectProps, SequenceBar, type SequenceBarProps, ServiceCatalog, type ServiceCatalogItem, type ServiceCatalogProps, ShowcaseCard, type ShowcaseCardProps, ShowcaseOrganism, type ShowcaseOrganismProps, SidePanel, type SidePanelProps, type SidePlayer, Sidebar, type SidebarItem, type SidebarProps, SignaturePad, type SignaturePadProps, SimpleGrid, type SimpleGridProps, Skeleton, type SkeletonProps, type SkeletonVariant, SlotContent, SlotContentRenderer, type SlotItemData, SocialProof, type SocialProofItem, type SocialProofProps, type SortPayload, SortableList, type SortableListProps, Spacer, type SpacerProps, type SpacerSize, Sparkline, type SparklineColor, type SparklineProps, Spinner, type SpinnerProps, Split, SplitPane, type SplitPaneProps, type SplitProps, SplitSection, type SplitSectionProps, type SpotlightStep, SpriteFrameDims, SpriteSheetUrls, Stack, type StackAlign, type StackDirection, type StackGap, type StackJustify, type StackProps, StarRating, type StarRatingPrecision, type StarRatingProps, type StarRatingSize, StatBadge, type StatBadgeProps, StatCard, type StatCardProps, type StatCardSize, StatDisplay, type StatDisplayProps, StateGraph, type StateGraphProps, type StateGraphTransition, StateJsonView, type StateJsonViewProps, StateMachineView, type StateMachineViewProps, StateNode, type StateNodeProps, StatsGrid, type StatsGridProps, StatsOrganism, type StatsOrganismProps, StatusBar, type StatusBarProps, StatusDot, type StatusDotProps, type StatusDotSize, type StatusDotStatus, StepFlow, StepFlowOrganism, type StepFlowOrganismProps, type StepFlowProps, type StepItemProps, SubagentTracePanel, type SubagentTracePanelProps, SvgBranch, type SvgBranchProps, SvgConnection, type SvgConnectionProps, SvgFlow, type SvgFlowProps, SvgGrid, type SvgGridProps, SvgLobe, type SvgLobeProps, SvgMesh, type SvgMeshProps, SvgMorph, type SvgMorphProps, SvgNode, type SvgNodeProps, SvgPulse, type SvgPulseProps, SvgRing, type SvgRingProps, SvgShield, type SvgShieldProps, SvgStack, type SvgStackProps, type SwipeAction, SwipeableRow, type SwipeableRowProps, Switch, type SwitchProps, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, type TabDefinition, type TabItem, TabbedContainer, type TabbedContainerProps, TableView, type TableViewColumn, type TableViewProps, Tabs, type TabsProps, TagCloud, type TagCloudItem, type TagCloudProps, TagInput, type TagInputProps, TeamCard, type TeamCardProps, TeamOrganism, type TeamOrganismProps, type TeamUnitTraits, type TemplateProps, TerrainPalette, type TerrainPaletteProps, TextHighlight, type TextHighlightProps, Textarea, type TextareaProps, ThemeToggle, type ThemeToggleProps, type TileCoord, type TileLayout, TimeSlotCell, type TimeSlotCellProps, Timeline, type TimelineItem, type TimelineItemStatus, type TimelineProps, TimerDisplay, type TimerDisplayProps, Toast, type ToastProps, ToastSlot, type ToastSlotProps, type ToastVariant, Tooltip, type TooltipProps, type TraceDisclosureLevel, TraitFrame, type TraitFrameProps, TraitSlot, type TraitSlotProps, type TraitStateMachineDefinition, TraitStateViewer, type TraitStateViewerProps, type TraitTransition, TransitionArrow, type TransitionArrowProps, type TransitionBundle, type TrendDirection, TrendIndicator, type TrendIndicatorProps, type TrendIndicatorSize, TypewriterText, type TypewriterTextProps, Typography, type TypographyProps, type TypographyVariant, UISlotComponent, UISlotRenderer, type UISlotRendererProps, UiError, UnitAnimationState, UploadDropZone, type UploadDropZoneProps, type UsePresenceOptions, VStack, type VStackProps, type Vec2, VersionDiff, type DiffLine as VersionDiffLine, type VersionDiffProps, ViolationAlert, type ViolationAlertProps, type ViolationRecord, VoteStack, type VoteStackProps, WizardContainer, type WizardContainerProps, WizardNavigation, type WizardNavigationProps, WizardProgress, type WizardProgressProps, type WizardProgressStep, type WizardStep, arrowBetween, billboardLabel, boardEntity, bool, createUnitAnimationState, cylinderBetween, get3DClickPayload, getCurrentFrame, getTileDimensions, inferDirection, isoToScreen, makeAsset, makeAssetMap, mapBookData, meshSphere, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, parseEditFocus, pendulum, projectileMotion, registerCodeLanguageLoader, resolveFieldMap, resolveFrame, resolveSheetDirection, rows, screenToIso, springOscillator, str, tickAnimationState, toCodeLanguage, transitionAnimation, unitHealth, unitPosition, unitTeam, useAnchorRect, useAtlasSliceDataUrl, useCamera, useImageCache, usePresence, useUnitSpriteAtlas, vec2 };