@almadar/ui 5.87.0 → 5.89.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.
@@ -27792,6 +27792,214 @@ var init_GameMenu = __esm({
27792
27792
  GameMenu.displayName = "GameMenu";
27793
27793
  }
27794
27794
  });
27795
+ function StateNode2({
27796
+ name,
27797
+ isCurrent = false,
27798
+ isSelected = false,
27799
+ isInitial = false,
27800
+ position,
27801
+ onClick,
27802
+ className
27803
+ }) {
27804
+ return /* @__PURE__ */ jsx(
27805
+ Box,
27806
+ {
27807
+ position: "absolute",
27808
+ display: "flex",
27809
+ className: cn(
27810
+ "items-center justify-center rounded-pill border-3 transition-all cursor-pointer select-none",
27811
+ "min-w-[80px] h-[80px] px-3",
27812
+ isCurrent && "bg-primary/20 border-primary shadow-lg shadow-primary/30 scale-110",
27813
+ isSelected && !isCurrent && "bg-accent/20 border-accent ring-2 ring-accent/50",
27814
+ !isCurrent && !isSelected && "bg-card border-border hover:border-muted-foreground hover:scale-105",
27815
+ className
27816
+ ),
27817
+ style: {
27818
+ left: position.x,
27819
+ top: position.y,
27820
+ transform: "translate(-50%, -50%)"
27821
+ },
27822
+ onClick,
27823
+ children: /* @__PURE__ */ jsxs(Box, { className: "text-center", children: [
27824
+ isInitial && /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground text-xs block", children: "\u25B6 start" }),
27825
+ /* @__PURE__ */ jsx(
27826
+ Typography,
27827
+ {
27828
+ variant: "body2",
27829
+ className: cn(
27830
+ "font-bold whitespace-nowrap",
27831
+ isCurrent ? "text-primary" : "text-foreground"
27832
+ ),
27833
+ children: name
27834
+ }
27835
+ )
27836
+ ] })
27837
+ }
27838
+ );
27839
+ }
27840
+ var init_StateNode = __esm({
27841
+ "components/game/2d/organisms/StateNode.tsx"() {
27842
+ init_atoms();
27843
+ init_cn();
27844
+ StateNode2.displayName = "StateNode";
27845
+ }
27846
+ });
27847
+ function TransitionArrow({
27848
+ from,
27849
+ to,
27850
+ eventLabel,
27851
+ guardHint,
27852
+ isActive = false,
27853
+ onClick,
27854
+ className
27855
+ }) {
27856
+ const dx = to.x - from.x;
27857
+ const dy = to.y - from.y;
27858
+ const dist = Math.sqrt(dx * dx + dy * dy);
27859
+ if (dist === 0) return /* @__PURE__ */ jsx(Fragment, {});
27860
+ const nx = dx / dist;
27861
+ const ny = dy / dist;
27862
+ const startX = from.x + nx * NODE_RADIUS;
27863
+ const startY = from.y + ny * NODE_RADIUS;
27864
+ const endX = to.x - nx * NODE_RADIUS;
27865
+ const endY = to.y - ny * NODE_RADIUS;
27866
+ const midX = (startX + endX) / 2;
27867
+ const midY = (startY + endY) / 2;
27868
+ const perpX = -ny * 20;
27869
+ const perpY = nx * 20;
27870
+ const ctrlX = midX + perpX;
27871
+ const ctrlY = midY + perpY;
27872
+ const path = `M ${startX} ${startY} Q ${ctrlX} ${ctrlY} ${endX} ${endY}`;
27873
+ return /* @__PURE__ */ jsxs("g", { className: cn("cursor-pointer", className), onClick, children: [
27874
+ /* @__PURE__ */ jsx(
27875
+ "path",
27876
+ {
27877
+ d: path,
27878
+ fill: "none",
27879
+ stroke: isActive ? "var(--color-primary)" : "var(--color-border)",
27880
+ strokeWidth: isActive ? 3 : 2,
27881
+ markerEnd: isActive ? "url(#arrowhead-active)" : "url(#arrowhead)"
27882
+ }
27883
+ ),
27884
+ /* @__PURE__ */ jsx(
27885
+ "text",
27886
+ {
27887
+ x: ctrlX,
27888
+ y: ctrlY - 8,
27889
+ textAnchor: "middle",
27890
+ fill: isActive ? "var(--color-primary)" : "var(--color-foreground)",
27891
+ fontSize: 12,
27892
+ fontWeight: isActive ? "bold" : "normal",
27893
+ className: "select-none",
27894
+ children: eventLabel
27895
+ }
27896
+ ),
27897
+ guardHint && /* @__PURE__ */ jsx(
27898
+ "text",
27899
+ {
27900
+ x: ctrlX,
27901
+ y: ctrlY + 6,
27902
+ textAnchor: "middle",
27903
+ fill: "var(--color-warning)",
27904
+ fontSize: 10,
27905
+ className: "select-none",
27906
+ children: "\u26A0 " + guardHint
27907
+ }
27908
+ )
27909
+ ] });
27910
+ }
27911
+ var NODE_RADIUS;
27912
+ var init_TransitionArrow = __esm({
27913
+ "components/game/2d/organisms/TransitionArrow.tsx"() {
27914
+ init_cn();
27915
+ NODE_RADIUS = 40;
27916
+ TransitionArrow.displayName = "TransitionArrow";
27917
+ }
27918
+ });
27919
+ function layoutStates(states, width, height) {
27920
+ const cx = width / 2;
27921
+ const cy = height / 2;
27922
+ const radius = Math.min(cx, cy) - 60;
27923
+ const positions = {};
27924
+ states.forEach((state, i) => {
27925
+ const angle = 2 * Math.PI * i / Math.max(states.length, 1) - Math.PI / 2;
27926
+ positions[state] = { x: cx + radius * Math.cos(angle), y: cy + radius * Math.sin(angle) };
27927
+ });
27928
+ return positions;
27929
+ }
27930
+ function StateGraph({
27931
+ states,
27932
+ transitions = [],
27933
+ currentState,
27934
+ selectedState,
27935
+ addingFrom,
27936
+ initialState,
27937
+ width = 500,
27938
+ height = 400,
27939
+ nodeClickEvent,
27940
+ className
27941
+ }) {
27942
+ const eventBus = useEventBus();
27943
+ const nodes = states ?? [];
27944
+ const positions = React74.useMemo(() => layoutStates(nodes, width, height), [nodes, width, height]);
27945
+ return /* @__PURE__ */ jsxs(
27946
+ Box,
27947
+ {
27948
+ position: "relative",
27949
+ className: cn("rounded-container border border-border bg-background overflow-hidden", className),
27950
+ style: { width, height },
27951
+ children: [
27952
+ /* @__PURE__ */ jsxs("svg", { width, height, className: "absolute inset-0", style: { pointerEvents: "none" }, children: [
27953
+ /* @__PURE__ */ jsxs("defs", { children: [
27954
+ /* @__PURE__ */ jsx("marker", { id: "arrowhead", markerWidth: "10", markerHeight: "7", refX: "10", refY: "3.5", orient: "auto", children: /* @__PURE__ */ jsx("polygon", { points: "0 0, 10 3.5, 0 7", fill: "var(--color-border)" }) }),
27955
+ /* @__PURE__ */ jsx("marker", { id: "arrowhead-active", markerWidth: "10", markerHeight: "7", refX: "10", refY: "3.5", orient: "auto", children: /* @__PURE__ */ jsx("polygon", { points: "0 0, 10 3.5, 0 7", fill: "var(--color-primary)" }) })
27956
+ ] }),
27957
+ transitions.map((tr, i) => {
27958
+ const fromPos = positions[tr.from];
27959
+ const toPos = positions[tr.to];
27960
+ if (!fromPos || !toPos) return null;
27961
+ return /* @__PURE__ */ jsx(
27962
+ TransitionArrow,
27963
+ {
27964
+ from: fromPos,
27965
+ to: toPos,
27966
+ eventLabel: tr.event,
27967
+ guardHint: tr.guardHint,
27968
+ isActive: tr.from === currentState
27969
+ },
27970
+ `${tr.from}-${tr.event}-${tr.to}-${i}`
27971
+ );
27972
+ })
27973
+ ] }),
27974
+ nodes.map((state) => {
27975
+ const pos = positions[state];
27976
+ if (!pos) return null;
27977
+ return /* @__PURE__ */ jsx(
27978
+ StateNode2,
27979
+ {
27980
+ name: state,
27981
+ position: pos,
27982
+ isCurrent: state === currentState,
27983
+ isSelected: state === selectedState || state === addingFrom,
27984
+ isInitial: state === initialState,
27985
+ onClick: nodeClickEvent ? () => eventBus.emit(`UI:${nodeClickEvent}`, { stateId: state }) : void 0
27986
+ },
27987
+ state
27988
+ );
27989
+ })
27990
+ ]
27991
+ }
27992
+ );
27993
+ }
27994
+ var init_StateGraph = __esm({
27995
+ "components/game/2d/molecules/StateGraph.tsx"() {
27996
+ init_atoms();
27997
+ init_cn();
27998
+ init_useEventBus();
27999
+ init_StateNode();
28000
+ init_TransitionArrow();
28001
+ }
28002
+ });
27795
28003
  function pickPath(entry) {
27796
28004
  if (Array.isArray(entry.path)) {
27797
28005
  return entry.path[Math.floor(Math.random() * entry.path.length)];
@@ -29536,130 +29744,6 @@ var init_EventHandlerBoard = __esm({
29536
29744
  EventHandlerBoard.displayName = "EventHandlerBoard";
29537
29745
  }
29538
29746
  });
29539
- function StateNode2({
29540
- name,
29541
- isCurrent = false,
29542
- isSelected = false,
29543
- isInitial = false,
29544
- position,
29545
- onClick,
29546
- className
29547
- }) {
29548
- return /* @__PURE__ */ jsx(
29549
- Box,
29550
- {
29551
- position: "absolute",
29552
- display: "flex",
29553
- className: cn(
29554
- "items-center justify-center rounded-pill border-3 transition-all cursor-pointer select-none",
29555
- "min-w-[80px] h-[80px] px-3",
29556
- isCurrent && "bg-primary/20 border-primary shadow-lg shadow-primary/30 scale-110",
29557
- isSelected && !isCurrent && "bg-accent/20 border-accent ring-2 ring-accent/50",
29558
- !isCurrent && !isSelected && "bg-card border-border hover:border-muted-foreground hover:scale-105",
29559
- className
29560
- ),
29561
- style: {
29562
- left: position.x,
29563
- top: position.y,
29564
- transform: "translate(-50%, -50%)"
29565
- },
29566
- onClick,
29567
- children: /* @__PURE__ */ jsxs(Box, { className: "text-center", children: [
29568
- isInitial && /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground text-xs block", children: "\u25B6 start" }),
29569
- /* @__PURE__ */ jsx(
29570
- Typography,
29571
- {
29572
- variant: "body2",
29573
- className: cn(
29574
- "font-bold whitespace-nowrap",
29575
- isCurrent ? "text-primary" : "text-foreground"
29576
- ),
29577
- children: name
29578
- }
29579
- )
29580
- ] })
29581
- }
29582
- );
29583
- }
29584
- var init_StateNode = __esm({
29585
- "components/game/2d/organisms/StateNode.tsx"() {
29586
- init_atoms();
29587
- init_cn();
29588
- StateNode2.displayName = "StateNode";
29589
- }
29590
- });
29591
- function TransitionArrow({
29592
- from,
29593
- to,
29594
- eventLabel,
29595
- guardHint,
29596
- isActive = false,
29597
- onClick,
29598
- className
29599
- }) {
29600
- const dx = to.x - from.x;
29601
- const dy = to.y - from.y;
29602
- const dist = Math.sqrt(dx * dx + dy * dy);
29603
- if (dist === 0) return /* @__PURE__ */ jsx(Fragment, {});
29604
- const nx = dx / dist;
29605
- const ny = dy / dist;
29606
- const startX = from.x + nx * NODE_RADIUS;
29607
- const startY = from.y + ny * NODE_RADIUS;
29608
- const endX = to.x - nx * NODE_RADIUS;
29609
- const endY = to.y - ny * NODE_RADIUS;
29610
- const midX = (startX + endX) / 2;
29611
- const midY = (startY + endY) / 2;
29612
- const perpX = -ny * 20;
29613
- const perpY = nx * 20;
29614
- const ctrlX = midX + perpX;
29615
- const ctrlY = midY + perpY;
29616
- const path = `M ${startX} ${startY} Q ${ctrlX} ${ctrlY} ${endX} ${endY}`;
29617
- return /* @__PURE__ */ jsxs("g", { className: cn("cursor-pointer", className), onClick, children: [
29618
- /* @__PURE__ */ jsx(
29619
- "path",
29620
- {
29621
- d: path,
29622
- fill: "none",
29623
- stroke: isActive ? "var(--color-primary)" : "var(--color-border)",
29624
- strokeWidth: isActive ? 3 : 2,
29625
- markerEnd: isActive ? "url(#arrowhead-active)" : "url(#arrowhead)"
29626
- }
29627
- ),
29628
- /* @__PURE__ */ jsx(
29629
- "text",
29630
- {
29631
- x: ctrlX,
29632
- y: ctrlY - 8,
29633
- textAnchor: "middle",
29634
- fill: isActive ? "var(--color-primary)" : "var(--color-foreground)",
29635
- fontSize: 12,
29636
- fontWeight: isActive ? "bold" : "normal",
29637
- className: "select-none",
29638
- children: eventLabel
29639
- }
29640
- ),
29641
- guardHint && /* @__PURE__ */ jsx(
29642
- "text",
29643
- {
29644
- x: ctrlX,
29645
- y: ctrlY + 6,
29646
- textAnchor: "middle",
29647
- fill: "var(--color-warning)",
29648
- fontSize: 10,
29649
- className: "select-none",
29650
- children: "\u26A0 " + guardHint
29651
- }
29652
- )
29653
- ] });
29654
- }
29655
- var NODE_RADIUS;
29656
- var init_TransitionArrow = __esm({
29657
- "components/game/2d/organisms/TransitionArrow.tsx"() {
29658
- init_cn();
29659
- NODE_RADIUS = 40;
29660
- TransitionArrow.displayName = "TransitionArrow";
29661
- }
29662
- });
29663
29747
  function VariablePanel({
29664
29748
  entityName,
29665
29749
  variables,
@@ -29745,7 +29829,7 @@ var init_StateJsonView = __esm({
29745
29829
  StateJsonView.displayName = "StateJsonView";
29746
29830
  }
29747
29831
  });
29748
- function layoutStates(states, width, height) {
29832
+ function layoutStates2(states, width, height) {
29749
29833
  const cx = width / 2;
29750
29834
  const cy = height / 2;
29751
29835
  const radius = Math.min(cx, cy) - 60;
@@ -29813,7 +29897,7 @@ function StateArchitectBoard({
29813
29897
  }, []);
29814
29898
  const GRAPH_W = 500;
29815
29899
  const GRAPH_H = 400;
29816
- const positions = useMemo(() => layoutStates(entityStates, GRAPH_W, GRAPH_H), [entityStates]);
29900
+ const positions = useMemo(() => layoutStates2(entityStates, GRAPH_W, GRAPH_H), [entityStates]);
29817
29901
  const handleStateClick = useCallback((state) => {
29818
29902
  if (isTesting) return;
29819
29903
  if (addingFrom) {
@@ -31259,6 +31343,7 @@ var init_molecules = __esm({
31259
31343
  init_ResourceBar();
31260
31344
  init_GameHud();
31261
31345
  init_GameMenu();
31346
+ init_StateGraph();
31262
31347
  init_Canvas2D();
31263
31348
  init_useUnitSpriteAtlas();
31264
31349
  init_GameAudioProvider();
@@ -47961,6 +48046,7 @@ var init_component_registry_generated = __esm({
47961
48046
  init_StatCard();
47962
48047
  init_StatDisplay();
47963
48048
  init_StateArchitectBoard();
48049
+ init_StateGraph();
47964
48050
  init_StateIndicator();
47965
48051
  init_StateMachineView();
47966
48052
  init_StatsGrid();
@@ -48272,6 +48358,7 @@ var init_component_registry_generated = __esm({
48272
48358
  "StatCard": StatCard,
48273
48359
  "StatDisplay": StatDisplay,
48274
48360
  "StateArchitectBoard": StateArchitectBoard,
48361
+ "StateGraph": StateGraph,
48275
48362
  "StateIndicator": StateIndicator,
48276
48363
  "StateMachineView": StateMachineView,
48277
48364
  "StatsGrid": StatsGrid,
@@ -51563,4 +51650,4 @@ function useGitHubBranches(owner, repo, enabled = true) {
51563
51650
  });
51564
51651
  }
51565
51652
 
51566
- export { ALL_PRESETS, ALMADAR_DND_MIME, AR_BOOK_FIELDS, AboutPageTemplate, Accordion, ActionButton, Card2 as ActionCard, ActionPalette, ActionTile, ActivationBlock, Alert, AnimatedCounter, AnimatedGraphic, AnimatedReveal, ArticleSection, Aside, AssetPicker, AuthLayout, Avatar, Badge, BehaviorView, BiologyCanvas, BloomQuizBlock, BookChapterView, BookCoverPage, BookNavBar, BookTableOfContents, BookViewer, Box, BranchingLogicBuilder, Breadcrumb, BuilderBoard, Button, ButtonGroup, CTABanner, CalendarGrid, Canvas2D, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, CaseStudyCard, CaseStudyOrganism, Center, Chart, ChartLegend, ChatBar, Checkbox, ChemistryCanvas, ChoiceButton, ClassifierBoard, Coachmark, CodeBlock, CodeRunnerPanel, CollapsibleSection, ComboCounter, CommunityLinks, ConditionalWrapper, ConfettiEffect, ConfirmDialog, ConnectionBlock, Container, ContentRenderer, ContentSection, ControlButton, ControlGrid, CounterTemplate, DEFAULT_LIKERT_OPTIONS, DEFAULT_MATRIX_COLUMNS, DEFAULT_SLOTS, DIAMOND_TOP_Y, DamageNumber, DashboardGrid, DashboardLayout, DataGrid, DataList, DataTable, DateRangePicker, DateRangeSelector, DayCell, DebuggerBoard, DetailPanel, Dialog, DialogueBubble, Divider, DocBreadcrumb, DocPagination, DocSearch, DocSidebar, DocTOC, DocumentViewer, StateMachineView as DomStateMachineVisualizer, Drawer, DrawerSlot, ELEMENT_SELECTED_EVENT, EMPTY_EFFECT_STATE, EdgeDecoration, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EmptyState, EntityDisplayEvents, ErrorBoundary, ErrorState, EventHandlerBoard, EventLog, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FeatureCard, FeatureDetailPageTemplate, FeatureGrid, FeatureGridOrganism, FileTree, FilterGroup, FilterPill, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, GameAudioContext, GameAudioProvider, GameAudioToggle, GameCard, GameHud, GameIcon, GameMenu, GameShell, GameTemplate, GenericAppTemplate, GeometricPattern, GradientDivider, GraphCanvas, GraphView, Grid, GridPicker, HStack, Header, HealthBar, HeroOrganism, HeroSection, I18nProvider, IDENTITY_BOOK_FIELDS, Icon, IconPicker, InfiniteScrollSentinel, Input, InputGroup, InstallBox, InventoryGrid, ItemSlot, JazariStateMachine, JsonTreeEditor, Label, LandingPageTemplate, LawReferenceTooltip, LearningCanvas, Lightbox, LikertScale, LineChart2 as LineChart, List3 as List, LoadingState, MapView, MarkdownContent, MarketingFooter, MarketingStatCard, MasterDetail, MasterDetailLayout, MathCanvas, MatrixQuestion, MediaGallery, Menu, Meter, MiniMap, Modal, ModalSlot, ModuleCard, Navigation, NegotiatorBoard, NodeSlotEditor, NotifyListener, NumberStepper, ObjectRulePanel, OnboardingSpotlight, OptionConstraintGroup, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, Overlay, PageHeader, Pagination, PatternTile, PhysicsCanvas, Popover, PositionedCanvas, PricingCard, PricingGrid, PricingOrganism, PricingPageTemplate, ProgressBar, ProgressDots, PropertyInspector, PullQuote, PullToRefresh, QrScanner, QuizBlock, Radio, RangeSlider, ReflectionBlock, RelationSelect, RepeatableFormSection, ReplyTree, ResourceBar, ResourceCounter, RichBlockEditor, RuleEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreDisplay, SearchInput, Section, SectionHeader, SegmentRenderer, Select, SequenceBar, SequencerBoard, ServiceCatalog, ShowcaseCard, ShowcaseOrganism, SidePanel, Sidebar, SignaturePad, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, SimulatorBoard, Skeleton, SlotContentRenderer, SocialProof, SortableList, Spacer, Sparkline, Spinner, Split, SplitPane, SplitSection, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateArchitectBoard, StateIndicator, StateJsonView, StateMachineView, StateNode2 as StateNode, StatsGrid, StatsOrganism, StatusBar, StatusDot, StatusEffect, StepFlow, StepFlowOrganism, SubagentTracePanel, SvgBranch, SvgConnection, SvgFlow, SvgGrid, SvgLobe, SvgMesh, SvgMorph, SvgNode, SvgPulse, SvgRing, SvgShield, SvgStack, SwipeableRow, Switch, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, TableView, Tabs, TagCloud, TagInput, TeamCard, TeamOrganism, TerrainPalette, TextHighlight, Textarea, ThemeToggle, TimeSlotCell, Timeline, TimerDisplay, Toast, ToastSlot, Tooltip, TraitFrame, TraitSlot, TraitStateViewer, TransitionArrow, TrendIndicator, TurnIndicator, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UploadDropZone, VStack, VariablePanel, VersionDiff, ViolationAlert, VoteStack, WaypointMarker, WizardContainer, WizardNavigation, WizardProgress, boardEntity, bool, calculateAttackTargets, calculateValidMoves, cn, createInitialGameState, createTranslate, createUnitAnimationState, drawSprite, getCurrentFrame, getTileDimensions, inferDirection, isoToScreen, makeAsset, makeAssetMap, mapBookData, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, parseEditFocus, parseLessonSegments, parseMarkdownWithCodeBlocks, parseQueryBinding, pendulum, projectileMotion, resolveFieldMap, resolveFrame, resolveSheetDirection, rows, screenToIso, springOscillator, str, tickAnimationState, toCodeLanguage, transitionAnimation, unitHealth, unitPosition, unitTeam, useAgentChat, useAnchorRect, useAuthContext, useCamera, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useEmitEvent, useEventBus, useEventListener, useExtensions, useFileEditor, useFileSystem, useGameAudio, useGameAudioContext, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useImageCache, useInfiniteScroll, useLongPress, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSwipeGesture, useTapReveal, useTraitListens, useTranslate127 as useTranslate, useUIEvents, useUISlotManager, useUnitSpriteAtlas, useValidation, vec2 };
51653
+ export { ALL_PRESETS, ALMADAR_DND_MIME, AR_BOOK_FIELDS, AboutPageTemplate, Accordion, ActionButton, Card2 as ActionCard, ActionPalette, ActionTile, ActivationBlock, Alert, AnimatedCounter, AnimatedGraphic, AnimatedReveal, ArticleSection, Aside, AssetPicker, AuthLayout, Avatar, Badge, BehaviorView, BiologyCanvas, BloomQuizBlock, BookChapterView, BookCoverPage, BookNavBar, BookTableOfContents, BookViewer, Box, BranchingLogicBuilder, Breadcrumb, BuilderBoard, Button, ButtonGroup, CTABanner, CalendarGrid, Canvas2D, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, CaseStudyCard, CaseStudyOrganism, Center, Chart, ChartLegend, ChatBar, Checkbox, ChemistryCanvas, ChoiceButton, ClassifierBoard, Coachmark, CodeBlock, CodeRunnerPanel, CollapsibleSection, ComboCounter, CommunityLinks, ConditionalWrapper, ConfettiEffect, ConfirmDialog, ConnectionBlock, Container, ContentRenderer, ContentSection, ControlButton, ControlGrid, CounterTemplate, DEFAULT_LIKERT_OPTIONS, DEFAULT_MATRIX_COLUMNS, DEFAULT_SLOTS, DIAMOND_TOP_Y, DamageNumber, DashboardGrid, DashboardLayout, DataGrid, DataList, DataTable, DateRangePicker, DateRangeSelector, DayCell, DebuggerBoard, DetailPanel, Dialog, DialogueBubble, Divider, DocBreadcrumb, DocPagination, DocSearch, DocSidebar, DocTOC, DocumentViewer, StateMachineView as DomStateMachineVisualizer, Drawer, DrawerSlot, ELEMENT_SELECTED_EVENT, EMPTY_EFFECT_STATE, EdgeDecoration, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EmptyState, EntityDisplayEvents, ErrorBoundary, ErrorState, EventHandlerBoard, EventLog, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FeatureCard, FeatureDetailPageTemplate, FeatureGrid, FeatureGridOrganism, FileTree, FilterGroup, FilterPill, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, GameAudioContext, GameAudioProvider, GameAudioToggle, GameCard, GameHud, GameIcon, GameMenu, GameShell, GameTemplate, GenericAppTemplate, GeometricPattern, GradientDivider, GraphCanvas, GraphView, Grid, GridPicker, HStack, Header, HealthBar, HeroOrganism, HeroSection, I18nProvider, IDENTITY_BOOK_FIELDS, Icon, IconPicker, InfiniteScrollSentinel, Input, InputGroup, InstallBox, InventoryGrid, ItemSlot, JazariStateMachine, JsonTreeEditor, Label, LandingPageTemplate, LawReferenceTooltip, LearningCanvas, Lightbox, LikertScale, LineChart2 as LineChart, List3 as List, LoadingState, MapView, MarkdownContent, MarketingFooter, MarketingStatCard, MasterDetail, MasterDetailLayout, MathCanvas, MatrixQuestion, MediaGallery, Menu, Meter, MiniMap, Modal, ModalSlot, ModuleCard, Navigation, NegotiatorBoard, NodeSlotEditor, NotifyListener, NumberStepper, ObjectRulePanel, OnboardingSpotlight, OptionConstraintGroup, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, Overlay, PageHeader, Pagination, PatternTile, PhysicsCanvas, Popover, PositionedCanvas, PricingCard, PricingGrid, PricingOrganism, PricingPageTemplate, ProgressBar, ProgressDots, PropertyInspector, PullQuote, PullToRefresh, QrScanner, QuizBlock, Radio, RangeSlider, ReflectionBlock, RelationSelect, RepeatableFormSection, ReplyTree, ResourceBar, ResourceCounter, RichBlockEditor, RuleEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreDisplay, SearchInput, Section, SectionHeader, SegmentRenderer, Select, SequenceBar, SequencerBoard, ServiceCatalog, ShowcaseCard, ShowcaseOrganism, SidePanel, Sidebar, SignaturePad, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, SimulatorBoard, Skeleton, SlotContentRenderer, SocialProof, SortableList, Spacer, Sparkline, Spinner, Split, SplitPane, SplitSection, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateArchitectBoard, StateGraph, StateIndicator, StateJsonView, StateMachineView, StateNode2 as StateNode, StatsGrid, StatsOrganism, StatusBar, StatusDot, StatusEffect, StepFlow, StepFlowOrganism, SubagentTracePanel, SvgBranch, SvgConnection, SvgFlow, SvgGrid, SvgLobe, SvgMesh, SvgMorph, SvgNode, SvgPulse, SvgRing, SvgShield, SvgStack, SwipeableRow, Switch, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, TableView, Tabs, TagCloud, TagInput, TeamCard, TeamOrganism, TerrainPalette, TextHighlight, Textarea, ThemeToggle, TimeSlotCell, Timeline, TimerDisplay, Toast, ToastSlot, Tooltip, TraitFrame, TraitSlot, TraitStateViewer, TransitionArrow, TrendIndicator, TurnIndicator, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UploadDropZone, VStack, VariablePanel, VersionDiff, ViolationAlert, VoteStack, WaypointMarker, WizardContainer, WizardNavigation, WizardProgress, boardEntity, bool, calculateAttackTargets, calculateValidMoves, cn, createInitialGameState, createTranslate, createUnitAnimationState, drawSprite, getCurrentFrame, getTileDimensions, inferDirection, isoToScreen, makeAsset, makeAssetMap, mapBookData, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, parseEditFocus, parseLessonSegments, parseMarkdownWithCodeBlocks, parseQueryBinding, pendulum, projectileMotion, resolveFieldMap, resolveFrame, resolveSheetDirection, rows, screenToIso, springOscillator, str, tickAnimationState, toCodeLanguage, transitionAnimation, unitHealth, unitPosition, unitTeam, useAgentChat, useAnchorRect, useAuthContext, useCamera, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useEmitEvent, useEventBus, useEventListener, useExtensions, useFileEditor, useFileSystem, useGameAudio, useGameAudioContext, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useImageCache, useInfiniteScroll, useLongPress, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSwipeGesture, useTapReveal, useTraitListens, useTranslate127 as useTranslate, useUIEvents, useUISlotManager, useUnitSpriteAtlas, useValidation, vec2 };