@almadar/ui 5.111.0 → 5.113.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.
- package/dist/GameAudioProvider-CPGwD49P.d.cts +151 -0
- package/dist/GameAudioProvider-CPGwD49P.d.ts +151 -0
- package/dist/TraitProvider-YkK6tXDw.d.cts +236 -0
- package/dist/TraitProvider-YkK6tXDw.d.ts +236 -0
- package/dist/{providers/UISlotContext.d.ts → UISlotContext-C1FsU9GB.d.ts} +14 -10
- package/dist/UISlotContext-D8_SoDsD.d.cts +79 -0
- package/dist/UserContext-bziZwgFL.d.cts +278 -0
- package/dist/UserContext-bziZwgFL.d.ts +278 -0
- package/dist/avl/index.cjs +137 -18
- package/dist/avl/index.js +139 -20
- package/dist/avl-schema-parser-B8Onmfsu.d.cts +393 -0
- package/dist/avl-schema-parser-B8Onmfsu.d.ts +393 -0
- package/dist/cn-BkQrMR01.d.cts +295 -0
- package/dist/cn-CTEFm9PC.d.ts +295 -0
- package/dist/components/index.cjs +33 -6
- package/dist/components/index.d.cts +11225 -0
- package/dist/components/index.d.ts +11225 -6
- package/dist/components/index.js +33 -6
- package/dist/{lib/themeTokens.d.ts → context/index.d.cts} +13 -4
- package/dist/context/index.d.ts +62 -9
- package/dist/{types/event-bus-types.d.ts → event-bus-types-Bl78kokd.d.cts} +7 -6
- package/dist/event-bus-types-Bl78kokd.d.ts +65 -0
- package/dist/hooks/index.d.cts +995 -0
- package/dist/hooks/index.d.ts +994 -32
- package/dist/lib/drawable/three/index.cjs +11 -24
- package/dist/lib/drawable/three/index.d.cts +1485 -0
- package/dist/lib/drawable/three/index.d.ts +1484 -38
- package/dist/lib/drawable/three/index.js +11 -24
- package/dist/lib/index.d.cts +505 -0
- package/dist/lib/index.d.ts +504 -18
- package/dist/locales/index.d.cts +22 -0
- package/dist/locales/index.d.ts +7 -5
- package/dist/offline-executor-aRuNznZx.d.cts +520 -0
- package/dist/offline-executor-aRuNznZx.d.ts +520 -0
- package/dist/paintDispatch-DR942knx.d.cts +221 -0
- package/dist/paintDispatch-DR942knx.d.ts +221 -0
- package/dist/providers/index.cjs +33 -6
- package/dist/providers/index.d.cts +428 -0
- package/dist/providers/index.d.ts +427 -26
- package/dist/providers/index.js +33 -6
- package/dist/renderer/index.cjs +1 -1
- package/dist/renderer/index.d.cts +343 -0
- package/dist/renderer/index.d.ts +337 -22
- package/dist/renderer/index.js +1 -1
- package/dist/runtime/index.cjs +137 -18
- package/dist/runtime/index.d.cts +426 -0
- package/dist/runtime/index.d.ts +421 -16
- package/dist/runtime/index.js +139 -20
- package/dist/useEventBus-CQWyAWpK.d.ts +65 -0
- package/dist/useEventBus-Ckr4wqW3.d.cts +65 -0
- package/dist/{hooks/useUISlots.d.ts → useUISlots-BesZYMks.d.cts} +16 -14
- package/dist/useUISlots-BesZYMks.d.ts +216 -0
- package/package.json +11 -11
- package/dist/avl/index.d.cts +0 -1853
- package/dist/avl/index.d.ts +0 -64
- package/dist/components/avl/atoms/Avl3DLabel.d.ts +0 -23
- package/dist/components/avl/atoms/Avl3DTooltip.d.ts +0 -25
- package/dist/components/avl/atoms/AvlApplication.d.ts +0 -8
- package/dist/components/avl/atoms/AvlBinding.d.ts +0 -12
- package/dist/components/avl/atoms/AvlBindingRef.d.ts +0 -7
- package/dist/components/avl/atoms/AvlEffect.d.ts +0 -10
- package/dist/components/avl/atoms/AvlEntity.d.ts +0 -9
- package/dist/components/avl/atoms/AvlEvent.d.ts +0 -7
- package/dist/components/avl/atoms/AvlField.d.ts +0 -10
- package/dist/components/avl/atoms/AvlFieldType.d.ts +0 -8
- package/dist/components/avl/atoms/AvlGuard.d.ts +0 -7
- package/dist/components/avl/atoms/AvlLiteral.d.ts +0 -7
- package/dist/components/avl/atoms/AvlOperator.d.ts +0 -8
- package/dist/components/avl/atoms/AvlOrbital.d.ts +0 -11
- package/dist/components/avl/atoms/AvlPage.d.ts +0 -7
- package/dist/components/avl/atoms/AvlPersistence.d.ts +0 -8
- package/dist/components/avl/atoms/AvlSExpr.d.ts +0 -8
- package/dist/components/avl/atoms/AvlState.d.ts +0 -15
- package/dist/components/avl/atoms/AvlTrait.d.ts +0 -13
- package/dist/components/avl/atoms/AvlTransition.d.ts +0 -18
- package/dist/components/avl/atoms/index.d.ts +0 -24
- package/dist/components/avl/hooks/useCanvasDnd.d.ts +0 -155
- package/dist/components/avl/lib/avl-3d-layout.d.ts +0 -116
- package/dist/components/avl/lib/avl-behavior-compose-converter.d.ts +0 -55
- package/dist/components/avl/lib/avl-elk-layout.d.ts +0 -55
- package/dist/components/avl/lib/avl-flow-converter.d.ts +0 -17
- package/dist/components/avl/lib/avl-layout.d.ts +0 -32
- package/dist/components/avl/lib/avl-preview-converter.d.ts +0 -71
- package/dist/components/avl/lib/avl-schema-parser.d.ts +0 -128
- package/dist/components/avl/lib/avl-story-schemas.d.ts +0 -34
- package/dist/components/avl/lib/avl-zoom-band.d.ts +0 -19
- package/dist/components/avl/lib/avl-zoom-state.d.ts +0 -72
- package/dist/components/avl/lib/derive-edit-focus.d.ts +0 -8
- package/dist/components/avl/lib/wire-validation.d.ts +0 -30
- package/dist/components/avl/molecules/Avl3DCrossWire.d.ts +0 -22
- package/dist/components/avl/molecules/Avl3DEntityCore.d.ts +0 -26
- package/dist/components/avl/molecules/Avl3DExprTree.d.ts +0 -21
- package/dist/components/avl/molecules/Avl3DOrbitalNode.d.ts +0 -29
- package/dist/components/avl/molecules/Avl3DStateNode.d.ts +0 -34
- package/dist/components/avl/molecules/Avl3DTransitionArc.d.ts +0 -38
- package/dist/components/avl/molecules/AvlBackwardEdge.d.ts +0 -8
- package/dist/components/avl/molecules/AvlBehaviorGlyph.d.ts +0 -61
- package/dist/components/avl/molecules/AvlBindingEdge.d.ts +0 -9
- package/dist/components/avl/molecules/AvlClosedCircuit.d.ts +0 -20
- package/dist/components/avl/molecules/AvlEmitListen.d.ts +0 -16
- package/dist/components/avl/molecules/AvlEventWireEdge.d.ts +0 -15
- package/dist/components/avl/molecules/AvlExprTree.d.ts +0 -13
- package/dist/components/avl/molecules/AvlOrbitalNode.d.ts +0 -12
- package/dist/components/avl/molecules/AvlOrbitalUnit.d.ts +0 -20
- package/dist/components/avl/molecules/AvlPageEdge.d.ts +0 -8
- package/dist/components/avl/molecules/AvlSlotMap.d.ts +0 -18
- package/dist/components/avl/molecules/AvlStateMachine.d.ts +0 -22
- package/dist/components/avl/molecules/AvlSwimLane.d.ts +0 -10
- package/dist/components/avl/molecules/AvlTransitionEdge.d.ts +0 -17
- package/dist/components/avl/molecules/AvlTransitionLane.d.ts +0 -18
- package/dist/components/avl/molecules/BehaviorComposeNode.d.ts +0 -13
- package/dist/components/avl/molecules/BehaviorView.d.ts +0 -12
- package/dist/components/avl/molecules/DetailView.d.ts +0 -13
- package/dist/components/avl/molecules/EventFlowEdge.d.ts +0 -13
- package/dist/components/avl/molecules/MiniStateMachine.d.ts +0 -14
- package/dist/components/avl/molecules/ModuleCard.d.ts +0 -22
- package/dist/components/avl/molecules/OrbPreviewNode.d.ts +0 -38
- package/dist/components/avl/molecules/SystemNode.d.ts +0 -12
- package/dist/components/avl/molecules/TraitCardNode.d.ts +0 -33
- package/dist/components/avl/molecules/index.d.ts +0 -38
- package/dist/components/avl/organisms/Avl3DApplicationScene.d.ts +0 -19
- package/dist/components/avl/organisms/Avl3DEffects.d.ts +0 -18
- package/dist/components/avl/organisms/Avl3DOrbitalScene.d.ts +0 -23
- package/dist/components/avl/organisms/Avl3DTraitScene.d.ts +0 -19
- package/dist/components/avl/organisms/Avl3DTransitionScene.d.ts +0 -17
- package/dist/components/avl/organisms/Avl3DViewer.d.ts +0 -40
- package/dist/components/avl/organisms/AvlClickTarget.d.ts +0 -31
- package/dist/components/avl/organisms/AvlCosmicZoom.d.ts +0 -41
- package/dist/components/avl/organisms/AvlLegend.d.ts +0 -15
- package/dist/components/avl/organisms/AvlOrbitalsCosmicZoom.d.ts +0 -54
- package/dist/components/avl/organisms/AvlTraitScene.d.ts +0 -17
- package/dist/components/avl/organisms/AvlTransitionDetail.d.ts +0 -20
- package/dist/components/avl/organisms/AvlTransitionScene.d.ts +0 -13
- package/dist/components/avl/organisms/FlowCanvas.d.ts +0 -134
- package/dist/components/avl/organisms/OrbInspector.d.ts +0 -45
- package/dist/components/avl/organisms/ZoomBreadcrumb.d.ts +0 -16
- package/dist/components/avl/organisms/ZoomLegend.d.ts +0 -10
- package/dist/components/avl/organisms/index.d.ts +0 -19
- package/dist/components/avl/providers/avl-3d-context.d.ts +0 -32
- package/dist/components/avl/types/avl-atom-types.d.ts +0 -53
- package/dist/components/avl/types/avl-behavior-compose-types.d.ts +0 -120
- package/dist/components/avl/types/avl-canvas-types.d.ts +0 -39
- package/dist/components/avl/types/avl-preview-types.d.ts +0 -240
- package/dist/components/core/atoms/Aside.d.ts +0 -15
- package/dist/components/core/atoms/AtlasImage.d.ts +0 -58
- package/dist/components/core/atoms/Avatar.d.ts +0 -61
- package/dist/components/core/atoms/Badge.d.ts +0 -29
- package/dist/components/core/atoms/Box.d.ts +0 -68
- package/dist/components/core/atoms/Button.d.ts +0 -33
- package/dist/components/core/atoms/Card.d.ts +0 -34
- package/dist/components/core/atoms/Center.d.ts +0 -33
- package/dist/components/core/atoms/Checkbox.d.ts +0 -14
- package/dist/components/core/atoms/ConditionalWrapper.d.ts +0 -69
- package/dist/components/core/atoms/ConfettiEffect.d.ts +0 -19
- package/dist/components/core/atoms/DayCell.d.ts +0 -22
- package/dist/components/core/atoms/Dialog.d.ts +0 -18
- package/dist/components/core/atoms/Divider.d.ts +0 -29
- package/dist/components/core/atoms/FilterPill.d.ts +0 -30
- package/dist/components/core/atoms/FlipContainer.d.ts +0 -21
- package/dist/components/core/atoms/GameIcon.d.ts +0 -19
- package/dist/components/core/atoms/Icon.d.ts +0 -57
- package/dist/components/core/atoms/InfiniteScrollSentinel.d.ts +0 -24
- package/dist/components/core/atoms/Input.d.ts +0 -39
- package/dist/components/core/atoms/Label.d.ts +0 -12
- package/dist/components/core/atoms/LawReferenceTooltip.d.ts +0 -48
- package/dist/components/core/atoms/Overlay.d.ts +0 -17
- package/dist/components/core/atoms/ProgressBar.d.ts +0 -63
- package/dist/components/core/atoms/Radio.d.ts +0 -35
- package/dist/components/core/atoms/RangeSlider.d.ts +0 -34
- package/dist/components/core/atoms/SectionHeader.d.ts +0 -14
- package/dist/components/core/atoms/Select.d.ts +0 -49
- package/dist/components/core/atoms/Spacer.d.ts +0 -25
- package/dist/components/core/atoms/Sparkline.d.ts +0 -30
- package/dist/components/core/atoms/Spinner.d.ts +0 -10
- package/dist/components/core/atoms/Stack.d.ts +0 -67
- package/dist/components/core/atoms/StatusDot.d.ts +0 -16
- package/dist/components/core/atoms/Switch.d.ts +0 -12
- package/dist/components/core/atoms/TextHighlight.d.ts +0 -54
- package/dist/components/core/atoms/Textarea.d.ts +0 -17
- package/dist/components/core/atoms/ThemeToggle.d.ts +0 -33
- package/dist/components/core/atoms/TimeSlotCell.d.ts +0 -23
- package/dist/components/core/atoms/TraitFrame.d.ts +0 -54
- package/dist/components/core/atoms/TrendIndicator.d.ts +0 -20
- package/dist/components/core/atoms/TypewriterText.d.ts +0 -20
- package/dist/components/core/atoms/Typography.d.ts +0 -39
- package/dist/components/core/atoms/index.d.ts +0 -52
- package/dist/components/core/atoms/svg/SvgBranch.d.ts +0 -16
- package/dist/components/core/atoms/svg/SvgConnection.d.ts +0 -17
- package/dist/components/core/atoms/svg/SvgFlow.d.ts +0 -14
- package/dist/components/core/atoms/svg/SvgGrid.d.ts +0 -18
- package/dist/components/core/atoms/svg/SvgLobe.d.ts +0 -17
- package/dist/components/core/atoms/svg/SvgMesh.d.ts +0 -16
- package/dist/components/core/atoms/svg/SvgMorph.d.ts +0 -15
- package/dist/components/core/atoms/svg/SvgNode.d.ts +0 -16
- package/dist/components/core/atoms/svg/SvgPulse.d.ts +0 -16
- package/dist/components/core/atoms/svg/SvgRing.d.ts +0 -17
- package/dist/components/core/atoms/svg/SvgShield.d.ts +0 -15
- package/dist/components/core/atoms/svg/SvgStack.d.ts +0 -17
- package/dist/components/core/atoms/svg/index.d.ts +0 -12
- package/dist/components/core/atoms/types.d.ts +0 -47
- package/dist/components/core/molecules/Accordion.d.ts +0 -71
- package/dist/components/core/molecules/ActivationBlock.d.ts +0 -22
- package/dist/components/core/molecules/Alert.d.ts +0 -25
- package/dist/components/core/molecules/AnimatedCounter.d.ts +0 -18
- package/dist/components/core/molecules/AssetPicker.d.ts +0 -21
- package/dist/components/core/molecules/BloomQuizBlock.d.ts +0 -25
- package/dist/components/core/molecules/BranchingLogicBuilder.d.ts +0 -33
- package/dist/components/core/molecules/Breadcrumb.d.ts +0 -55
- package/dist/components/core/molecules/ButtonGroup.d.ts +0 -77
- package/dist/components/core/molecules/CalendarGrid.d.ts +0 -61
- package/dist/components/core/molecules/Card.d.ts +0 -58
- package/dist/components/core/molecules/Carousel.d.ts +0 -42
- package/dist/components/core/molecules/Chart.d.ts +0 -106
- package/dist/components/core/molecules/ChartLegend.d.ts +0 -20
- package/dist/components/core/molecules/Coachmark.d.ts +0 -47
- package/dist/components/core/molecules/ConfirmDialog.d.ts +0 -49
- package/dist/components/core/molecules/ConnectionBlock.d.ts +0 -18
- package/dist/components/core/molecules/Container.d.ts +0 -30
- package/dist/components/core/molecules/ContentRenderer.d.ts +0 -23
- package/dist/components/core/molecules/DataGrid.d.ts +0 -117
- package/dist/components/core/molecules/DataList.d.ts +0 -129
- package/dist/components/core/molecules/DateRangePicker.d.ts +0 -56
- package/dist/components/core/molecules/DateRangeSelector.d.ts +0 -21
- package/dist/components/core/molecules/DocBreadcrumb.d.ts +0 -20
- package/dist/components/core/molecules/DocPagination.d.ts +0 -21
- package/dist/components/core/molecules/DocSearch.d.ts +0 -22
- package/dist/components/core/molecules/DocSidebar.d.ts +0 -24
- package/dist/components/core/molecules/DocTOC.d.ts +0 -24
- package/dist/components/core/molecules/DocumentViewer.d.ts +0 -61
- package/dist/components/core/molecules/Drawer.d.ts +0 -47
- package/dist/components/core/molecules/EdgeDecoration.d.ts +0 -36
- package/dist/components/core/molecules/EmptyState.d.ts +0 -29
- package/dist/components/core/molecules/ErrorBoundary.d.ts +0 -54
- package/dist/components/core/molecules/ErrorState.d.ts +0 -14
- package/dist/components/core/molecules/FeatureGrid.d.ts +0 -19
- package/dist/components/core/molecules/FileTree.d.ts +0 -37
- package/dist/components/core/molecules/FilterGroup.d.ts +0 -61
- package/dist/components/core/molecules/Flex.d.ts +0 -43
- package/dist/components/core/molecules/FlipCard.d.ts +0 -24
- package/dist/components/core/molecules/FloatingActionButton.d.ts +0 -83
- package/dist/components/core/molecules/FormField.d.ts +0 -16
- package/dist/components/core/molecules/FormSection.d.ts +0 -39
- package/dist/components/core/molecules/FormSectionHeader.d.ts +0 -31
- package/dist/components/core/molecules/GradientDivider.d.ts +0 -15
- package/dist/components/core/molecules/GraphCanvas.d.ts +0 -83
- package/dist/components/core/molecules/GraphView.d.ts +0 -45
- package/dist/components/core/molecules/Grid.d.ts +0 -54
- package/dist/components/core/molecules/GridPicker.d.ts +0 -44
- package/dist/components/core/molecules/Header.d.ts +0 -113
- package/dist/components/core/molecules/IconPicker.d.ts +0 -18
- package/dist/components/core/molecules/InputGroup.d.ts +0 -24
- package/dist/components/core/molecules/JazariStateMachine.d.ts +0 -34
- package/dist/components/core/molecules/JsonTreeEditor.d.ts +0 -13
- package/dist/components/core/molecules/Lightbox.d.ts +0 -26
- package/dist/components/core/molecules/LikertScale.d.ts +0 -34
- package/dist/components/core/molecules/LineChart.d.ts +0 -35
- package/dist/components/core/molecules/LoadingState.d.ts +0 -7
- package/dist/components/core/molecules/MapView.d.ts +0 -87
- package/dist/components/core/molecules/MatrixQuestion.d.ts +0 -35
- package/dist/components/core/molecules/Menu.d.ts +0 -44
- package/dist/components/core/molecules/Meter.d.ts +0 -52
- package/dist/components/core/molecules/Modal.d.ts +0 -36
- package/dist/components/core/molecules/Navigation.d.ts +0 -67
- package/dist/components/core/molecules/NodeSlotEditor.d.ts +0 -17
- package/dist/components/core/molecules/NumberStepper.d.ts +0 -28
- package/dist/components/core/molecules/OnboardingSpotlight.d.ts +0 -27
- package/dist/components/core/molecules/OptionConstraintGroup.d.ts +0 -44
- package/dist/components/core/molecules/OrbitalVisualization.d.ts +0 -48
- package/dist/components/core/molecules/PageHeader.d.ts +0 -60
- package/dist/components/core/molecules/Pagination.d.ts +0 -71
- package/dist/components/core/molecules/Popover.d.ts +0 -39
- package/dist/components/core/molecules/PositionedCanvas.d.ts +0 -40
- package/dist/components/core/molecules/ProgressDots.d.ts +0 -24
- package/dist/components/core/molecules/PropertyInspector.d.ts +0 -38
- package/dist/components/core/molecules/PullToRefresh.d.ts +0 -22
- package/dist/components/core/molecules/QrScanner.d.ts +0 -24
- package/dist/components/core/molecules/QuizBlock.d.ts +0 -20
- package/dist/components/core/molecules/ReflectionBlock.d.ts +0 -23
- package/dist/components/core/molecules/RelationSelect.d.ts +0 -48
- package/dist/components/core/molecules/RepeatableFormSection.d.ts +0 -60
- package/dist/components/core/molecules/ReplyTree.d.ts +0 -46
- package/dist/components/core/molecules/RichBlockEditor.d.ts +0 -43
- package/dist/components/core/molecules/ScaledDiagram.d.ts +0 -20
- package/dist/components/core/molecules/SearchInput.d.ts +0 -60
- package/dist/components/core/molecules/Section.d.ts +0 -43
- package/dist/components/core/molecules/SidePanel.d.ts +0 -53
- package/dist/components/core/molecules/Sidebar.d.ts +0 -72
- package/dist/components/core/molecules/SignaturePad.d.ts +0 -46
- package/dist/components/core/molecules/SimpleGrid.d.ts +0 -27
- package/dist/components/core/molecules/Skeleton.d.ts +0 -35
- package/dist/components/core/molecules/SocialProof.d.ts +0 -25
- package/dist/components/core/molecules/SortableList.d.ts +0 -19
- package/dist/components/core/molecules/Split.d.ts +0 -41
- package/dist/components/core/molecules/StarRating.d.ts +0 -27
- package/dist/components/core/molecules/StatDisplay.d.ts +0 -58
- package/dist/components/core/molecules/SwipeableRow.d.ts +0 -26
- package/dist/components/core/molecules/TableView.d.ts +0 -111
- package/dist/components/core/molecules/Tabs.d.ts +0 -60
- package/dist/components/core/molecules/TagInput.d.ts +0 -52
- package/dist/components/core/molecules/Toast.d.ts +0 -36
- package/dist/components/core/molecules/Tooltip.d.ts +0 -25
- package/dist/components/core/molecules/UploadDropZone.d.ts +0 -28
- package/dist/components/core/molecules/VersionDiff.d.ts +0 -62
- package/dist/components/core/molecules/ViolationAlert.d.ts +0 -46
- package/dist/components/core/molecules/VoteStack.d.ts +0 -35
- package/dist/components/core/molecules/WizardContainer.d.ts +0 -166
- package/dist/components/core/molecules/WizardNavigation.d.ts +0 -61
- package/dist/components/core/molecules/WizardProgress.d.ts +0 -45
- package/dist/components/core/molecules/index.d.ts +0 -138
- package/dist/components/core/molecules/lessonSegmentUtils.d.ts +0 -18
- package/dist/components/core/molecules/markdown/CodeBlock.d.ts +0 -108
- package/dist/components/core/molecules/markdown/MarkdownContent.d.ts +0 -26
- package/dist/components/core/molecules/markdown/index.d.ts +0 -2
- package/dist/components/core/molecules/parseLessonSegments.d.ts +0 -44
- package/dist/components/core/molecules/useDataDnd.d.ts +0 -63
- package/dist/components/core/organisms/CardGrid.d.ts +0 -84
- package/dist/components/core/organisms/ChatBar.d.ts +0 -31
- package/dist/components/core/organisms/CodeRunnerPanel.d.ts +0 -42
- package/dist/components/core/organisms/ComponentPatterns.d.ts +0 -185
- package/dist/components/core/organisms/CustomPattern.d.ts +0 -105
- package/dist/components/core/organisms/DataTable.d.ts +0 -79
- package/dist/components/core/organisms/DetailPanel.d.ts +0 -80
- package/dist/components/core/organisms/DrawerSlot.d.ts +0 -42
- package/dist/components/core/organisms/Form.d.ts +0 -214
- package/dist/components/core/organisms/LayoutPatterns.d.ts +0 -108
- package/dist/components/core/organisms/List.d.ts +0 -81
- package/dist/components/core/organisms/MasterDetail.d.ts +0 -35
- package/dist/components/core/organisms/MediaGallery.d.ts +0 -63
- package/dist/components/core/organisms/ModalSlot.d.ts +0 -38
- package/dist/components/core/organisms/NotifyListener.d.ts +0 -15
- package/dist/components/core/organisms/SegmentRenderer.d.ts +0 -38
- package/dist/components/core/organisms/StatCard.d.ts +0 -65
- package/dist/components/core/organisms/StateMachineView.d.ts +0 -45
- package/dist/components/core/organisms/SubagentTracePanel.d.ts +0 -50
- package/dist/components/core/organisms/Timeline.d.ts +0 -71
- package/dist/components/core/organisms/ToastSlot.d.ts +0 -41
- package/dist/components/core/organisms/UISlotRenderer.d.ts +0 -116
- package/dist/components/core/organisms/book/index.d.ts +0 -7
- package/dist/components/core/organisms/book/types.d.ts +0 -62
- package/dist/components/core/organisms/component-registry.generated.d.ts +0 -9
- package/dist/components/core/organisms/debug/RuntimeDebugger.d.ts +0 -29
- package/dist/components/core/organisms/debug/WalkMinimap.d.ts +0 -17
- package/dist/components/core/organisms/debug/hooks/useDebugData.d.ts +0 -25
- package/dist/components/core/organisms/debug/index.d.ts +0 -13
- package/dist/components/core/organisms/debug/tabs/EntitiesTab.d.ts +0 -14
- package/dist/components/core/organisms/debug/tabs/EventDispatcherTab.d.ts +0 -18
- package/dist/components/core/organisms/debug/tabs/EventFlowTab.d.ts +0 -14
- package/dist/components/core/organisms/debug/tabs/GuardsPanel.d.ts +0 -14
- package/dist/components/core/organisms/debug/tabs/ServerBridgeTab.d.ts +0 -20
- package/dist/components/core/organisms/debug/tabs/TicksTab.d.ts +0 -14
- package/dist/components/core/organisms/debug/tabs/TraitsTab.d.ts +0 -14
- package/dist/components/core/organisms/debug/tabs/TransitionTimeline.d.ts +0 -19
- package/dist/components/core/organisms/debug/tabs/VerificationTab.d.ts +0 -17
- package/dist/components/core/organisms/index.d.ts +0 -33
- package/dist/components/core/organisms/layout/DashboardGrid.d.ts +0 -33
- package/dist/components/core/organisms/layout/MasterDetailLayout.d.ts +0 -32
- package/dist/components/core/organisms/layout/SplitPane.d.ts +0 -34
- package/dist/components/core/organisms/layout/TabbedContainer.d.ts +0 -42
- package/dist/components/core/organisms/layout/index.d.ts +0 -9
- package/dist/components/core/organisms/marketing-types.d.ts +0 -8
- package/dist/components/core/organisms/trace-edit-focus.d.ts +0 -14
- package/dist/components/core/organisms/types.d.ts +0 -72
- package/dist/components/core/templates/CounterTemplate.d.ts +0 -51
- package/dist/components/core/templates/DashboardLayout.d.ts +0 -110
- package/dist/components/core/templates/GenericAppTemplate.d.ts +0 -24
- package/dist/components/core/templates/index.d.ts +0 -10
- package/dist/components/core/templates/types.d.ts +0 -35
- package/dist/components/game/atoms/ChoiceButton.d.ts +0 -29
- package/dist/components/game/atoms/ControlButton.d.ts +0 -35
- package/dist/components/game/atoms/DialogueBubble.d.ts +0 -26
- package/dist/components/game/atoms/DrawShape.d.ts +0 -50
- package/dist/components/game/atoms/DrawSprite.d.ts +0 -47
- package/dist/components/game/atoms/DrawText.d.ts +0 -31
- package/dist/components/game/atoms/GameAudioToggle.d.ts +0 -34
- package/dist/components/game/atoms/HealthBar.d.ts +0 -32
- package/dist/components/game/atoms/MiniMap.d.ts +0 -40
- package/dist/components/game/atoms/ScoreDisplay.d.ts +0 -25
- package/dist/components/game/atoms/StateIndicator.d.ts +0 -29
- package/dist/components/game/atoms/TimerDisplay.d.ts +0 -22
- package/dist/components/game/molecules/ActionPalette.d.ts +0 -34
- package/dist/components/game/molecules/ActionTile.d.ts +0 -30
- package/dist/components/game/molecules/Canvas.d.ts +0 -96
- package/dist/components/game/molecules/Canvas2D.d.ts +0 -120
- package/dist/components/game/molecules/ControlGrid.d.ts +0 -49
- package/dist/components/game/molecules/DrawShapeLayer.d.ts +0 -19
- package/dist/components/game/molecules/DrawSpriteLayer.d.ts +0 -21
- package/dist/components/game/molecules/DrawTextLayer.d.ts +0 -22
- package/dist/components/game/molecules/GameHud.d.ts +0 -52
- package/dist/components/game/molecules/GameMenu.d.ts +0 -42
- package/dist/components/game/molecules/SequenceBar.d.ts +0 -51
- package/dist/components/game/molecules/StatBadge.d.ts +0 -39
- package/dist/components/game/molecules/StateGraph.d.ts +0 -38
- package/dist/components/game/molecules/StateJsonView.d.ts +0 -37
- package/dist/components/game/molecules/StateNode.d.ts +0 -31
- package/dist/components/game/molecules/TraitSlot.d.ts +0 -99
- package/dist/components/game/molecules/TraitStateViewer.d.ts +0 -52
- package/dist/components/game/molecules/TransitionArrow.d.ts +0 -31
- package/dist/components/game/molecules/index.d.ts +0 -39
- package/dist/components/game/patterns.d.ts +0 -20
- package/dist/components/game/templates/GameShell.d.ts +0 -35
- package/dist/components/learning/atoms/LearningCanvas.d.ts +0 -80
- package/dist/components/learning/molecules/AlgorithmCanvas.d.ts +0 -58
- package/dist/components/learning/molecules/BiologyCanvas.d.ts +0 -47
- package/dist/components/learning/molecules/ChemistryCanvas.d.ts +0 -55
- package/dist/components/learning/molecules/MathCanvas.d.ts +0 -61
- package/dist/components/learning/molecules/PhysicsCanvas.d.ts +0 -54
- package/dist/components/marketing/atoms/AnimatedCounter.d.ts +0 -20
- package/dist/components/marketing/atoms/AnimatedGraphic.d.ts +0 -32
- package/dist/components/marketing/atoms/AnimatedReveal.d.ts +0 -26
- package/dist/components/marketing/atoms/ContentSection.d.ts +0 -16
- package/dist/components/marketing/atoms/MarketingStatCard.d.ts +0 -13
- package/dist/components/marketing/atoms/PatternTile.d.ts +0 -41
- package/dist/components/marketing/molecules/ArticleSection.d.ts +0 -18
- package/dist/components/marketing/molecules/CTABanner.d.ts +0 -26
- package/dist/components/marketing/molecules/CaseStudyCard.d.ts +0 -24
- package/dist/components/marketing/molecules/CommunityLinks.d.ts +0 -28
- package/dist/components/marketing/molecules/FeatureCard.d.ts +0 -26
- package/dist/components/marketing/molecules/GeometricPattern.d.ts +0 -33
- package/dist/components/marketing/molecules/HeroSection.d.ts +0 -28
- package/dist/components/marketing/molecules/InstallBox.d.ts +0 -16
- package/dist/components/marketing/molecules/MarketingFooter.d.ts +0 -29
- package/dist/components/marketing/molecules/PricingCard.d.ts +0 -19
- package/dist/components/marketing/molecules/PricingGrid.d.ts +0 -13
- package/dist/components/marketing/molecules/PullQuote.d.ts +0 -14
- package/dist/components/marketing/molecules/ServiceCatalog.d.ts +0 -19
- package/dist/components/marketing/molecules/ShowcaseCard.d.ts +0 -18
- package/dist/components/marketing/molecules/SplitSection.d.ts +0 -19
- package/dist/components/marketing/molecules/StatsGrid.d.ts +0 -18
- package/dist/components/marketing/molecules/StepFlow.d.ts +0 -21
- package/dist/components/marketing/molecules/TagCloud.d.ts +0 -18
- package/dist/components/marketing/molecules/TeamCard.d.ts +0 -19
- package/dist/components/marketing/organisms/CaseStudyOrganism.d.ts +0 -29
- package/dist/components/marketing/organisms/FeatureGridOrganism.d.ts +0 -30
- package/dist/components/marketing/organisms/HeroOrganism.d.ts +0 -42
- package/dist/components/marketing/organisms/PricingOrganism.d.ts +0 -33
- package/dist/components/marketing/organisms/ShowcaseOrganism.d.ts +0 -34
- package/dist/components/marketing/organisms/StatsOrganism.d.ts +0 -23
- package/dist/components/marketing/organisms/StepFlowOrganism.d.ts +0 -29
- package/dist/components/marketing/organisms/TeamOrganism.d.ts +0 -28
- package/dist/components/marketing/organisms/book/BookChapterView.d.ts +0 -21
- package/dist/components/marketing/organisms/book/BookCoverPage.d.ts +0 -21
- package/dist/components/marketing/organisms/book/BookNavBar.d.ts +0 -19
- package/dist/components/marketing/organisms/book/BookTableOfContents.d.ts +0 -20
- package/dist/components/marketing/organisms/book/BookViewer.d.ts +0 -31
- package/dist/components/marketing/templates/AboutPageTemplate.d.ts +0 -53
- package/dist/components/marketing/templates/AuthLayout.d.ts +0 -15
- package/dist/components/marketing/templates/FeatureDetailPageTemplate.d.ts +0 -37
- package/dist/components/marketing/templates/LandingPageTemplate.d.ts +0 -70
- package/dist/components/marketing/templates/PricingPageTemplate.d.ts +0 -44
- package/dist/hooks/useAgentChat.d.ts +0 -105
- package/dist/hooks/useAlmadarDndCollision.d.ts +0 -34
- package/dist/hooks/useAuthContext.d.ts +0 -25
- package/dist/hooks/useCamera.d.ts +0 -57
- package/dist/hooks/useCanvasGestures.d.ts +0 -44
- package/dist/hooks/useClientEffects.d.ts +0 -88
- package/dist/hooks/useCompile.d.ts +0 -18
- package/dist/hooks/useDeepAgentGeneration.d.ts +0 -46
- package/dist/hooks/useDragReorder.d.ts +0 -26
- package/dist/hooks/useDraggable.d.ts +0 -25
- package/dist/hooks/useDropZone.d.ts +0 -23
- package/dist/hooks/useEventBus.d.ts +0 -99
- package/dist/hooks/useExtensions.d.ts +0 -32
- package/dist/hooks/useFileEditor.d.ts +0 -32
- package/dist/hooks/useFileSystem.d.ts +0 -50
- package/dist/hooks/useGameAudio.d.ts +0 -47
- package/dist/hooks/useGitHub.d.ts +0 -58
- package/dist/hooks/useImageCache.d.ts +0 -16
- package/dist/hooks/useInfiniteScroll.d.ts +0 -13
- package/dist/hooks/useLongPress.d.ts +0 -16
- package/dist/hooks/useOrbitalHistory.d.ts +0 -39
- package/dist/hooks/usePreview.d.ts +0 -57
- package/dist/hooks/usePullToRefresh.d.ts +0 -25
- package/dist/hooks/useQuerySingleton.d.ts +0 -79
- package/dist/hooks/useRenderInterpolation.d.ts +0 -33
- package/dist/hooks/useResolvedSchema.d.ts +0 -45
- package/dist/hooks/useSharedEntityStore.d.ts +0 -53
- package/dist/hooks/useSwipeGesture.d.ts +0 -26
- package/dist/hooks/useTapReveal.d.ts +0 -32
- package/dist/hooks/useTraitStateMachine.d.ts +0 -136
- package/dist/hooks/useTranslate.d.ts +0 -35
- package/dist/hooks/useUIEvents.d.ts +0 -41
- package/dist/hooks/useUnitSpriteAtlas.d.ts +0 -24
- package/dist/hooks/useValidation.d.ts +0 -46
- package/dist/lib/api-client.d.ts +0 -43
- package/dist/lib/atlasSlice.d.ts +0 -58
- package/dist/lib/boardEntity.d.ts +0 -44
- package/dist/lib/client-effect-executor.d.ts +0 -57
- package/dist/lib/cn.d.ts +0 -6
- package/dist/lib/createClientEffectHandlers.d.ts +0 -42
- package/dist/lib/data-resolver.d.ts +0 -55
- package/dist/lib/debug.d.ts +0 -36
- package/dist/lib/debugRegistry.d.ts +0 -30
- package/dist/lib/debugUtils.d.ts +0 -27
- package/dist/lib/drawable/contract.d.ts +0 -68
- package/dist/lib/drawable/hitTest.d.ts +0 -23
- package/dist/lib/drawable/paintDispatch.d.ts +0 -22
- package/dist/lib/drawable/projector.d.ts +0 -14
- package/dist/lib/drawable/projector3d.d.ts +0 -20
- package/dist/lib/drawable/three/Camera3D.d.ts +0 -60
- package/dist/lib/drawable/three/Canvas3DErrorBoundary.d.ts +0 -51
- package/dist/lib/drawable/three/Canvas3DHost.d.ts +0 -178
- package/dist/lib/drawable/three/Canvas3DLoadingState.d.ts +0 -44
- package/dist/lib/drawable/three/Drawable3D.d.ts +0 -20
- package/dist/lib/drawable/three/GameCamera3D.d.ts +0 -16
- package/dist/lib/drawable/three/Lighting3D.d.ts +0 -55
- package/dist/lib/drawable/three/ModelLoader.d.ts +0 -52
- package/dist/lib/drawable/three/Scene3D.d.ts +0 -37
- package/dist/lib/drawable/three/game3dTheme.d.ts +0 -14
- package/dist/lib/drawable/three/hooks/useAssetLoader.d.ts +0 -58
- package/dist/lib/drawable/three/hooks/useGameCanvas3DEvents.d.ts +0 -124
- package/dist/lib/drawable/three/hooks/useRaycaster.d.ts +0 -86
- package/dist/lib/drawable/three/hooks/useSceneGraph.d.ts +0 -67
- package/dist/lib/drawable/three/hooks/useThree.d.ts +0 -58
- package/dist/lib/drawable/three/lib/AssetLoader.d.ts +0 -80
- package/dist/lib/drawable/three/lib/culling.d.ts +0 -134
- package/dist/lib/drawable/three/lib/grid3D.d.ts +0 -154
- package/dist/lib/drawable/three/mesh3d.d.ts +0 -28
- package/dist/lib/editorUtils.d.ts +0 -114
- package/dist/lib/embedded-traits.d.ts +0 -39
- package/dist/lib/entityDebug.d.ts +0 -39
- package/dist/lib/fn-form-lambda.d.ts +0 -27
- package/dist/lib/game.d.ts +0 -92
- package/dist/lib/gameShared.d.ts +0 -18
- package/dist/lib/getNestedValue.d.ts +0 -34
- package/dist/lib/guardRegistry.d.ts +0 -33
- package/dist/lib/iconFamily.d.ts +0 -41
- package/dist/lib/imageCache.d.ts +0 -9
- package/dist/lib/init.d.ts +0 -14
- package/dist/lib/isometric.d.ts +0 -121
- package/dist/lib/isometricTypes.d.ts +0 -141
- package/dist/lib/jazari/index.d.ts +0 -5
- package/dist/lib/jazari/layout.d.ts +0 -31
- package/dist/lib/jazari/svg-paths.d.ts +0 -61
- package/dist/lib/jazari/types.d.ts +0 -91
- package/dist/lib/makeAsset.d.ts +0 -5
- package/dist/lib/mechanics.d.ts +0 -4
- package/dist/lib/offline-executor.d.ts +0 -239
- package/dist/lib/orbitalsByTrait.d.ts +0 -34
- package/dist/lib/painter2d.d.ts +0 -81
- package/dist/lib/parseContentSegments.d.ts +0 -42
- package/dist/lib/pattern-resolver.d.ts +0 -88
- package/dist/lib/perf.d.ts +0 -32
- package/dist/lib/physicsPresets.d.ts +0 -4
- package/dist/lib/physicsTypes.d.ts +0 -43
- package/dist/lib/prepareSchemaForPreview.d.ts +0 -71
- package/dist/lib/puzzleObject.d.ts +0 -41
- package/dist/lib/slot-definitions.d.ts +0 -33
- package/dist/lib/spriteAnimation.d.ts +0 -85
- package/dist/lib/spriteAnimationTypes.d.ts +0 -72
- package/dist/lib/spriteSheetConstants.d.ts +0 -16
- package/dist/lib/tickRegistry.d.ts +0 -40
- package/dist/lib/trait-binding-resolver.d.ts +0 -57
- package/dist/lib/traitRegistry.d.ts +0 -34
- package/dist/lib/verificationRegistry.d.ts +0 -97
- package/dist/lib/visualizer/browser.d.ts +0 -48
- package/dist/lib/visualizer/index.d.ts +0 -144
- package/dist/lib/webPainter2d.d.ts +0 -7
- package/dist/lib/wrapCallbackForEvent.d.ts +0 -16
- package/dist/marketing/index.d.cts +0 -1067
- package/dist/marketing/index.d.ts +0 -72
- package/dist/providers/CurrentPagePathContext.d.ts +0 -9
- package/dist/providers/DesignThemeContext.d.ts +0 -21
- package/dist/providers/EntitySchemaContext.d.ts +0 -81
- package/dist/providers/EventBusProvider.d.ts +0 -47
- package/dist/providers/GameAudioProvider.d.ts +0 -53
- package/dist/providers/OfflineModeProvider.d.ts +0 -79
- package/dist/providers/OrbitalProvider.d.ts +0 -110
- package/dist/providers/OrbitalThemeProvider.d.ts +0 -37
- package/dist/providers/SelectionProvider.d.ts +0 -82
- package/dist/providers/ServerBridge.d.ts +0 -102
- package/dist/providers/ThemeContext.d.ts +0 -104
- package/dist/providers/TraitProvider.d.ts +0 -53
- package/dist/providers/TraitScopeProvider.d.ts +0 -43
- package/dist/providers/UserContext.d.ts +0 -112
- package/dist/providers/VerificationProvider.d.ts +0 -64
- package/dist/providers/navigation.d.ts +0 -142
- package/dist/runtime/BrowserPlayground.d.ts +0 -34
- package/dist/runtime/OrbPreview.d.ts +0 -84
- package/dist/scripts/audit-tailwind-safelist.d.ts +0 -27
- package/dist/scripts/generate-design-system.d.ts +0 -29
- package/dist/scripts/generate-theme-from-schema.d.ts +0 -10
- package/dist/scripts/generate.d.ts +0 -12
- package/dist/scripts/suggest-components.d.ts +0 -31
- package/dist/scripts/types.d.ts +0 -129
- package/dist/tsup.config.d.ts +0 -3
- package/dist/types/renderer-types.d.ts +0 -146
- package/dist/types/runtime-types.d.ts +0 -21
- package/dist/types/slot-types.d.ts +0 -49
- package/dist/vitest.config.d.ts +0 -2
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default, { ReactNode, ReactElement } from 'react';
|
|
3
|
+
import { ThemeRef, FieldValue } from '@almadar/core';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Unified ThemeContext - Single provider for theme and color mode
|
|
7
|
+
*
|
|
8
|
+
* Combines design theme selection (ocean, wireframe, etc.) with
|
|
9
|
+
* color mode (light/dark) into a single, simple system.
|
|
10
|
+
*
|
|
11
|
+
* Uses a single data attribute: data-theme="ocean-light" or data-theme="ocean-dark"
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/** Color mode preference */
|
|
17
|
+
type ColorMode = "light" | "dark" | "system";
|
|
18
|
+
/** Resolved color mode (what's actually applied) */
|
|
19
|
+
type ResolvedMode = "light" | "dark";
|
|
20
|
+
/** Theme definition */
|
|
21
|
+
interface UIThemeDefinition {
|
|
22
|
+
/** Theme identifier (e.g., "ocean", "wireframe") */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Display name for UI (e.g., "Ocean Blue") */
|
|
25
|
+
displayName?: string;
|
|
26
|
+
/** Whether this theme has light mode styles */
|
|
27
|
+
hasLightMode?: boolean;
|
|
28
|
+
/** Whether this theme has dark mode styles */
|
|
29
|
+
hasDarkMode?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** Built-in themes available in the design system */
|
|
32
|
+
declare const BUILT_IN_THEMES: UIThemeDefinition[];
|
|
33
|
+
/** Theme context value */
|
|
34
|
+
interface ThemeContextValue {
|
|
35
|
+
/** Current theme name */
|
|
36
|
+
theme: string;
|
|
37
|
+
/** Current color mode setting (may be 'system') */
|
|
38
|
+
mode: ColorMode;
|
|
39
|
+
/** Resolved color mode (always 'light' or 'dark') */
|
|
40
|
+
resolvedMode: ResolvedMode;
|
|
41
|
+
/** Set the theme */
|
|
42
|
+
setTheme: (theme: string) => void;
|
|
43
|
+
/** Set the color mode */
|
|
44
|
+
setMode: (mode: ColorMode) => void;
|
|
45
|
+
/** Toggle between light and dark modes */
|
|
46
|
+
toggleMode: () => void;
|
|
47
|
+
/** Available themes */
|
|
48
|
+
availableThemes: UIThemeDefinition[];
|
|
49
|
+
/** The full theme string applied to data-theme (e.g., "ocean-light") */
|
|
50
|
+
appliedTheme: string;
|
|
51
|
+
}
|
|
52
|
+
declare const ThemeContext: React__default.Context<ThemeContextValue | undefined>;
|
|
53
|
+
interface ThemeProviderProps {
|
|
54
|
+
children: React__default.ReactNode;
|
|
55
|
+
/** Available themes (will be merged with built-in themes) */
|
|
56
|
+
themes?: readonly UIThemeDefinition[] | UIThemeDefinition[];
|
|
57
|
+
/** Default theme name */
|
|
58
|
+
defaultTheme?: string;
|
|
59
|
+
/** Default color mode */
|
|
60
|
+
defaultMode?: ColorMode;
|
|
61
|
+
/** Optional target element ref — when provided, theme attributes are applied to this element instead of document.documentElement */
|
|
62
|
+
targetRef?: React__default.RefObject<HTMLElement>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Unified ThemeProvider component
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* // Basic usage with built-in themes
|
|
70
|
+
* <ThemeProvider defaultTheme="wireframe" defaultMode="light">
|
|
71
|
+
* <App />
|
|
72
|
+
* </ThemeProvider>
|
|
73
|
+
*
|
|
74
|
+
* // With custom themes from orbital schema
|
|
75
|
+
* import { THEMES } from './generated/theme-manifest';
|
|
76
|
+
* <ThemeProvider themes={THEMES} defaultTheme="ocean" defaultMode="system">
|
|
77
|
+
* <App />
|
|
78
|
+
* </ThemeProvider>
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
declare const ThemeProvider: React__default.FC<ThemeProviderProps>;
|
|
82
|
+
/**
|
|
83
|
+
* Hook for accessing theme context
|
|
84
|
+
*
|
|
85
|
+
* @returns Theme context value
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```tsx
|
|
89
|
+
* const { theme, resolvedMode, toggleMode, setTheme } = useTheme();
|
|
90
|
+
*
|
|
91
|
+
* // Toggle dark mode
|
|
92
|
+
* <button onClick={toggleMode}>
|
|
93
|
+
* {resolvedMode === 'dark' ? 'Light' : 'Dark'}
|
|
94
|
+
* </button>
|
|
95
|
+
*
|
|
96
|
+
* // Change theme
|
|
97
|
+
* <select value={theme} onChange={(e) => setTheme(e.target.value)}>
|
|
98
|
+
* {availableThemes.map(t => (
|
|
99
|
+
* <option key={t.name} value={t.name}>{t.displayName || t.name}</option>
|
|
100
|
+
* ))}
|
|
101
|
+
* </select>
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
declare function useTheme(): ThemeContextValue;
|
|
105
|
+
type DesignTheme = UIThemeDefinition;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* OrbitalThemeProvider — runtime application of `OrbitalDefinition.theme`.
|
|
109
|
+
*
|
|
110
|
+
* Wraps an orbital's rendered subtree in a wrapping `<div>` that sets the
|
|
111
|
+
* CSS variables derived from `theme.tokens` (and `variants.dark` when the
|
|
112
|
+
* resolved color mode is dark). Inline custom-property declarations on the
|
|
113
|
+
* wrapper override any `[data-theme]` selector rule for the same variable
|
|
114
|
+
* within the subtree, while letting unset variables cascade from the parent.
|
|
115
|
+
*
|
|
116
|
+
* Mapping is delegated to `themeTokensToCssVars`, which mirrors the Rust
|
|
117
|
+
* compiler's `generate_tokens_css`. Compile-time and runtime produce the
|
|
118
|
+
* same CSS variable map for the same `ThemeDefinition` input, so a Studio
|
|
119
|
+
* Design System edit and an `orbital compile` of the same schema render
|
|
120
|
+
* identically.
|
|
121
|
+
*
|
|
122
|
+
* No-op when:
|
|
123
|
+
* - `theme` is `undefined` (orbital declares no theme — parent cascades)
|
|
124
|
+
* - `theme` is a string ref that didn't get inlined upstream
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```tsx
|
|
128
|
+
* <OrbitalThemeProvider theme={orbital.theme}>
|
|
129
|
+
* <UISlotRenderer />
|
|
130
|
+
* </OrbitalThemeProvider>
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
|
|
134
|
+
interface OrbitalThemeProviderProps {
|
|
135
|
+
/** The `OrbitalDefinition.theme` value (inline definition or string ref). */
|
|
136
|
+
theme?: ThemeRef;
|
|
137
|
+
children: ReactNode;
|
|
138
|
+
}
|
|
139
|
+
declare function OrbitalThemeProvider({ theme, children }: OrbitalThemeProviderProps): ReactElement;
|
|
140
|
+
declare namespace OrbitalThemeProvider {
|
|
141
|
+
var displayName: string;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* @deprecated Use ThemeProvider from ThemeContext instead
|
|
146
|
+
*/
|
|
147
|
+
declare const DesignThemeProvider: React.FC<ThemeProviderProps>;
|
|
148
|
+
/**
|
|
149
|
+
* @deprecated Use useTheme from ThemeContext instead
|
|
150
|
+
*
|
|
151
|
+
* This wrapper provides backward compatibility with the old API.
|
|
152
|
+
*/
|
|
153
|
+
declare function useDesignTheme(): {
|
|
154
|
+
designTheme: string;
|
|
155
|
+
setDesignTheme: (theme: string) => void;
|
|
156
|
+
availableThemes: string[];
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
declare const CurrentPagePathContext: React__default.Context<string | undefined>;
|
|
160
|
+
interface CurrentPagePathProviderProps {
|
|
161
|
+
value: string | undefined;
|
|
162
|
+
children: React__default.ReactNode;
|
|
163
|
+
}
|
|
164
|
+
declare const CurrentPagePathProvider: React__default.FC<CurrentPagePathProviderProps>;
|
|
165
|
+
declare const useCurrentPagePath: () => string | undefined;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* UserContext
|
|
169
|
+
*
|
|
170
|
+
* React context for providing user data throughout the application.
|
|
171
|
+
* Enables @user bindings in S-expressions for role-based UI and permissions.
|
|
172
|
+
*
|
|
173
|
+
* Usage:
|
|
174
|
+
* ```tsx
|
|
175
|
+
* // In App.tsx or layout
|
|
176
|
+
* <UserProvider user={{ id: '123', role: 'admin', permissions: ['read', 'write'] }}>
|
|
177
|
+
* <App />
|
|
178
|
+
* </UserProvider>
|
|
179
|
+
*
|
|
180
|
+
* // In components - access via hook
|
|
181
|
+
* const { user, hasRole, hasPermission } = useUser();
|
|
182
|
+
* if (hasRole('admin')) { ... }
|
|
183
|
+
* if (hasPermission('delete')) { ... }
|
|
184
|
+
* ```
|
|
185
|
+
*
|
|
186
|
+
* @packageDocumentation
|
|
187
|
+
*/
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* User data for @user bindings.
|
|
191
|
+
* Matches UserContext type from evaluator/context.ts
|
|
192
|
+
*/
|
|
193
|
+
interface UserData {
|
|
194
|
+
/** User's unique ID */
|
|
195
|
+
id: string;
|
|
196
|
+
/** User's email */
|
|
197
|
+
email?: string;
|
|
198
|
+
/** User's display name */
|
|
199
|
+
name?: string;
|
|
200
|
+
/** User's role (for RBAC) */
|
|
201
|
+
role?: string;
|
|
202
|
+
/** User's permissions */
|
|
203
|
+
permissions?: string[];
|
|
204
|
+
/** Additional custom profile fields */
|
|
205
|
+
[key: string]: FieldValue | undefined;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* User context value.
|
|
209
|
+
*/
|
|
210
|
+
interface UserContextValue {
|
|
211
|
+
/** Current user data (null if not logged in) */
|
|
212
|
+
user: UserData | null;
|
|
213
|
+
/** Check if user is logged in */
|
|
214
|
+
isLoggedIn: boolean;
|
|
215
|
+
/** Check if user has a specific role */
|
|
216
|
+
hasRole: (role: string) => boolean;
|
|
217
|
+
/** Check if user has a specific permission */
|
|
218
|
+
hasPermission: (permission: string) => boolean;
|
|
219
|
+
/** Check if user has any of the specified roles */
|
|
220
|
+
hasAnyRole: (roles: string[]) => boolean;
|
|
221
|
+
/** Check if user has all of the specified permissions */
|
|
222
|
+
hasAllPermissions: (permissions: string[]) => boolean;
|
|
223
|
+
/** Get a user field by path (for @user.field bindings) */
|
|
224
|
+
getUserField: (path: string) => FieldValue | undefined;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Anonymous user for when no user is logged in.
|
|
228
|
+
*/
|
|
229
|
+
declare const ANONYMOUS_USER: UserData;
|
|
230
|
+
declare const UserContext: React__default.Context<UserContextValue | null>;
|
|
231
|
+
interface UserProviderProps {
|
|
232
|
+
/** User data (null if not logged in) */
|
|
233
|
+
user?: UserData | null;
|
|
234
|
+
/** Children to render */
|
|
235
|
+
children: React__default.ReactNode;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Provider component that provides user context to the application.
|
|
239
|
+
*
|
|
240
|
+
* Provides RBAC helpers and field access for @user bindings.
|
|
241
|
+
*/
|
|
242
|
+
declare function UserProvider({ user, children, }: UserProviderProps): React__default.ReactElement;
|
|
243
|
+
/**
|
|
244
|
+
* Hook to access the user context.
|
|
245
|
+
*
|
|
246
|
+
* Returns default values if used outside of UserProvider (for resilience).
|
|
247
|
+
*
|
|
248
|
+
* @example
|
|
249
|
+
* ```tsx
|
|
250
|
+
* function AdminPanel() {
|
|
251
|
+
* const { user, hasRole, hasPermission } = useUser();
|
|
252
|
+
*
|
|
253
|
+
* if (!hasRole('admin') && !hasPermission('admin:access')) {
|
|
254
|
+
* return <AccessDenied />;
|
|
255
|
+
* }
|
|
256
|
+
*
|
|
257
|
+
* return <div>Welcome, {user?.name}</div>;
|
|
258
|
+
* }
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
declare function useUser(): UserContextValue;
|
|
262
|
+
/**
|
|
263
|
+
* Hook to check if user has a specific role.
|
|
264
|
+
* Convenience wrapper around useUser().hasRole().
|
|
265
|
+
*/
|
|
266
|
+
declare function useHasRole(role: string): boolean;
|
|
267
|
+
/**
|
|
268
|
+
* Hook to check if user has a specific permission.
|
|
269
|
+
* Convenience wrapper around useUser().hasPermission().
|
|
270
|
+
*/
|
|
271
|
+
declare function useHasPermission(permission: string): boolean;
|
|
272
|
+
/**
|
|
273
|
+
* Hook to get user data for @user bindings in S-expressions.
|
|
274
|
+
* Returns the user data object compatible with EvaluationContext.user
|
|
275
|
+
*/
|
|
276
|
+
declare function useUserForEvaluation(): UserData | undefined;
|
|
277
|
+
|
|
278
|
+
export { ANONYMOUS_USER as A, BUILT_IN_THEMES as B, type ColorMode as C, type DesignTheme as D, OrbitalThemeProvider as O, type ResolvedMode as R, ThemeContext as T, type UIThemeDefinition as U, CurrentPagePathContext as a, CurrentPagePathProvider as b, type CurrentPagePathProviderProps as c, DesignThemeProvider as d, type OrbitalThemeProviderProps as e, ThemeProvider as f, type ThemeProviderProps as g, UserContext as h, type UserContextValue as i, type UserData as j, UserProvider as k, type UserProviderProps as l, useDesignTheme as m, useHasPermission as n, useHasRole as o, useTheme as p, useUser as q, useUserForEvaluation as r, useCurrentPagePath as u };
|
package/dist/avl/index.cjs
CHANGED
|
@@ -39,7 +39,7 @@ var core = require('@almadar/core');
|
|
|
39
39
|
var core$1 = require('@dnd-kit/core');
|
|
40
40
|
var sortable = require('@dnd-kit/sortable');
|
|
41
41
|
var utilities = require('@dnd-kit/utilities');
|
|
42
|
-
var patterns = require('@almadar/patterns');
|
|
42
|
+
var patterns = require('@almadar/core/patterns');
|
|
43
43
|
var OrbitalServerRuntime = require('@almadar/runtime/OrbitalServerRuntime');
|
|
44
44
|
var runtime = require('@almadar/runtime');
|
|
45
45
|
|
|
@@ -12574,8 +12574,12 @@ var init_MiniMap = __esm({
|
|
|
12574
12574
|
MiniMap.displayName = "MiniMap";
|
|
12575
12575
|
}
|
|
12576
12576
|
});
|
|
12577
|
-
function useCamera() {
|
|
12578
|
-
const cameraRef = React90.useRef({
|
|
12577
|
+
function useCamera(initial) {
|
|
12578
|
+
const cameraRef = React90.useRef({
|
|
12579
|
+
x: initial?.x ?? 0,
|
|
12580
|
+
y: initial?.y ?? 0,
|
|
12581
|
+
zoom: initial?.zoom ?? 1
|
|
12582
|
+
});
|
|
12579
12583
|
const targetCameraRef = React90.useRef(null);
|
|
12580
12584
|
const isDraggingRef = React90.useRef(false);
|
|
12581
12585
|
const dragDistanceRef = React90.useRef(0);
|
|
@@ -13251,8 +13255,18 @@ function Canvas2D({
|
|
|
13251
13255
|
scale = 0.4,
|
|
13252
13256
|
showMinimap = true,
|
|
13253
13257
|
followTarget,
|
|
13258
|
+
cameraPos,
|
|
13254
13259
|
bgColor
|
|
13255
13260
|
}) {
|
|
13261
|
+
const instanceId = React90.useMemo(() => Math.random().toString(36).slice(2, 8), []);
|
|
13262
|
+
function isDrawableLayer(node) {
|
|
13263
|
+
return node.type === "draw-sprite-layer" || node.type === "draw-shape-layer" || node.type === "draw-text-layer";
|
|
13264
|
+
}
|
|
13265
|
+
const layerSummaries = drawables?.map((d) => {
|
|
13266
|
+
if (!isDrawableLayer(d)) return { type: d.type };
|
|
13267
|
+
return { type: d.type, itemsLen: d.items.length, firstItem: d.items[0] };
|
|
13268
|
+
});
|
|
13269
|
+
canvas2DLog.debug("Canvas2D render", { instanceId, projection, scale, cameraMode: camera, cameraPos: cameraPos ? JSON.stringify(cameraPos) : void 0, drawablesCount: drawables?.length, layerSummaries: layerSummaries ? JSON.stringify(layerSummaries) : void 0 });
|
|
13256
13270
|
const backgroundImage = normalizeBackdrop(backgroundImageRaw);
|
|
13257
13271
|
const isFree = projection === "free";
|
|
13258
13272
|
const squareGrid = projection === "flat" || isFree || projection === "side";
|
|
@@ -13335,7 +13349,7 @@ function Canvas2D({
|
|
|
13335
13349
|
zoomAtPoint,
|
|
13336
13350
|
screenToWorld,
|
|
13337
13351
|
lerpToTarget
|
|
13338
|
-
} = useCamera();
|
|
13352
|
+
} = useCamera({ zoom: scale });
|
|
13339
13353
|
const [atlasVersion, setAtlasVersion] = React90.useState(0);
|
|
13340
13354
|
const bumpAtlas = React90.useCallback(() => setAtlasVersion((v) => v + 1), []);
|
|
13341
13355
|
const miniMapTiles = React90.useMemo(() => {
|
|
@@ -13381,6 +13395,14 @@ function Canvas2D({
|
|
|
13381
13395
|
}
|
|
13382
13396
|
if (!drawables || drawables.length === 0) return;
|
|
13383
13397
|
const cam = cameraRef.current;
|
|
13398
|
+
if (cameraPos && dragDistance() === 0) {
|
|
13399
|
+
const p = projector.anchorPoint(cameraPos, "center");
|
|
13400
|
+
cam.x = p.x - viewportSize.width / 2;
|
|
13401
|
+
cam.y = p.y - viewportSize.height / 2;
|
|
13402
|
+
}
|
|
13403
|
+
const containerRect = containerRef.current?.getBoundingClientRect();
|
|
13404
|
+
const canvasRect = canvas.getBoundingClientRect();
|
|
13405
|
+
canvas2DLog.debug("Canvas2D draw", { instanceId, viewportSize, baseOffsetX, cam: { x: cam.x, y: cam.y, zoom: cam.zoom }, cameraPos: cameraPos ? JSON.stringify(cameraPos) : void 0, containerRect: containerRect ? { width: containerRect.width, height: containerRect.height } : null, canvasRect: canvasRect ? { width: canvasRect.width, height: canvasRect.height } : null });
|
|
13384
13406
|
const painter = createWebPainter(ctx, bumpAtlas);
|
|
13385
13407
|
painter.save();
|
|
13386
13408
|
painter.translate(viewportSize.width / 2, viewportSize.height / 2);
|
|
@@ -13592,6 +13614,7 @@ function Canvas2D({
|
|
|
13592
13614
|
}
|
|
13593
13615
|
);
|
|
13594
13616
|
}
|
|
13617
|
+
var canvas2DLog;
|
|
13595
13618
|
var init_Canvas2D = __esm({
|
|
13596
13619
|
"components/game/molecules/Canvas2D.tsx"() {
|
|
13597
13620
|
"use client";
|
|
@@ -13613,6 +13636,7 @@ var init_Canvas2D = __esm({
|
|
|
13613
13636
|
init_paintDispatch();
|
|
13614
13637
|
init_hitTest();
|
|
13615
13638
|
init_isometric();
|
|
13639
|
+
canvas2DLog = logger.createLogger("almadar:ui:game-canvas");
|
|
13616
13640
|
Canvas2D.displayName = "Canvas2D";
|
|
13617
13641
|
}
|
|
13618
13642
|
});
|
|
@@ -13651,6 +13675,7 @@ function Canvas({
|
|
|
13651
13675
|
keyMap,
|
|
13652
13676
|
keyUpMap
|
|
13653
13677
|
}) {
|
|
13678
|
+
canvasLog.debug("Canvas render", { mode, drawablesCount: drawables?.length, projection, camera: camera ? JSON.stringify(camera) : void 0 });
|
|
13654
13679
|
const zoom = camera?.zoom;
|
|
13655
13680
|
if (mode === "3d") {
|
|
13656
13681
|
const props3d = {
|
|
@@ -13690,6 +13715,7 @@ function Canvas({
|
|
|
13690
13715
|
camera: to2DCamera(camera?.mode),
|
|
13691
13716
|
...zoom !== void 0 ? { scale: zoom } : {},
|
|
13692
13717
|
...camera?.target !== void 0 ? { followTarget: camera.target } : {},
|
|
13718
|
+
...camera?.pos !== void 0 ? { cameraPos: camera.pos } : {},
|
|
13693
13719
|
showMinimap,
|
|
13694
13720
|
backgroundImage,
|
|
13695
13721
|
...backgroundColor !== void 0 ? { bgColor: backgroundColor } : {},
|
|
@@ -13702,7 +13728,7 @@ function Canvas({
|
|
|
13702
13728
|
}
|
|
13703
13729
|
);
|
|
13704
13730
|
}
|
|
13705
|
-
var Canvas3DHost;
|
|
13731
|
+
var Canvas3DHost, canvasLog;
|
|
13706
13732
|
var init_Canvas = __esm({
|
|
13707
13733
|
"components/game/molecules/Canvas.tsx"() {
|
|
13708
13734
|
"use client";
|
|
@@ -13710,6 +13736,7 @@ var init_Canvas = __esm({
|
|
|
13710
13736
|
Canvas3DHost = React90.lazy(
|
|
13711
13737
|
() => import('@almadar/ui/components/molecules/game/three').then((m) => ({ default: m.Canvas3DHost }))
|
|
13712
13738
|
);
|
|
13739
|
+
canvasLog = logger.createLogger("almadar:ui:game-canvas");
|
|
13713
13740
|
Canvas.displayName = "Canvas";
|
|
13714
13741
|
}
|
|
13715
13742
|
});
|
|
@@ -46201,7 +46228,7 @@ function SlotContentRenderer({
|
|
|
46201
46228
|
const childrenConfig = content.props.children;
|
|
46202
46229
|
const isSingleChild = typeof childrenConfig === "string" || typeof childrenConfig === "object" && childrenConfig !== null && !Array.isArray(childrenConfig) && "type" in childrenConfig;
|
|
46203
46230
|
const hasChildren = PATTERNS_WITH_CHILDREN.has(content.pattern) || Array.isArray(childrenConfig) && childrenConfig.length > 0 || isSingleChild;
|
|
46204
|
-
const isDrawHost = patterns.
|
|
46231
|
+
const isDrawHost = patterns.isDrawHostPattern(content.pattern);
|
|
46205
46232
|
const myPath = patternPath ?? "root";
|
|
46206
46233
|
const renderedChildren = hasChildren && !isDrawHost ? renderPatternChildren(childrenConfig, onDismiss, content.id, myPath, content.sourceTrait, {
|
|
46207
46234
|
slot: content.slot,
|
|
@@ -50172,6 +50199,8 @@ var flushLog = logger.createLogger("almadar:ui:slot-flush");
|
|
|
50172
50199
|
var stateLog = logger.createLogger("almadar:ui:state-transitions");
|
|
50173
50200
|
var tickLog = logger.createLogger("almadar:ui:tick-effects");
|
|
50174
50201
|
logger.setNamespaceLevel("almadar:ui:tick-effects", "WARN");
|
|
50202
|
+
var sharedEntityLog = logger.createLogger("almadar:ui:shared-entity");
|
|
50203
|
+
logger.setNamespaceLevel("almadar:ui:shared-entity", "WARN");
|
|
50175
50204
|
var SYNC_TICK_OPERATORS = /* @__PURE__ */ new Set([
|
|
50176
50205
|
"set",
|
|
50177
50206
|
"emit",
|
|
@@ -50224,6 +50253,14 @@ function effectsCallOp(effects, ops) {
|
|
|
50224
50253
|
}
|
|
50225
50254
|
return false;
|
|
50226
50255
|
}
|
|
50256
|
+
function classifySharedTick(tick) {
|
|
50257
|
+
const writes = effectsCallOp(tick.effects, SHARED_ENTITY_WRITE_OPS);
|
|
50258
|
+
const renders = effectsCallOp(tick.effects, SHARED_ENTITY_RENDER_OPS);
|
|
50259
|
+
if (writes && renders) return "both";
|
|
50260
|
+
if (writes) return "writer";
|
|
50261
|
+
if (renders) return "renderer";
|
|
50262
|
+
return "neither";
|
|
50263
|
+
}
|
|
50227
50264
|
function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
|
|
50228
50265
|
return (scratch) => {
|
|
50229
50266
|
const traitName = binding.trait.name;
|
|
@@ -50233,7 +50270,7 @@ function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
|
|
|
50233
50270
|
const writes = [];
|
|
50234
50271
|
const ctx = evaluator.createMinimalContext(scratchEntity, {}, currentState);
|
|
50235
50272
|
const declaredDefaults = runtime.collectDeclaredConfigDefaults(binding.trait);
|
|
50236
|
-
const callSiteConfig = binding
|
|
50273
|
+
const callSiteConfig = getBindingConfig(binding);
|
|
50237
50274
|
if (declaredDefaults || callSiteConfig) {
|
|
50238
50275
|
ctx.config = { ...declaredDefaults ?? {}, ...callSiteConfig ?? {} };
|
|
50239
50276
|
}
|
|
@@ -50255,7 +50292,25 @@ function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
|
|
|
50255
50292
|
return writes;
|
|
50256
50293
|
};
|
|
50257
50294
|
}
|
|
50295
|
+
function getBindingConfig(binding) {
|
|
50296
|
+
const raw = binding.config;
|
|
50297
|
+
const normalized = runtime.normalizeCallSiteConfigToValues(raw);
|
|
50298
|
+
sharedEntityLog.debug("getBindingConfig", { traitName: binding.trait.name, rawKeys: raw ? Object.keys(raw) : void 0, hasTiles: raw ? "tiles" in raw : false });
|
|
50299
|
+
return normalized;
|
|
50300
|
+
}
|
|
50301
|
+
function evalFieldDefault(value) {
|
|
50302
|
+
if (!Array.isArray(value) || value.length === 0) return value;
|
|
50303
|
+
const head = value[0];
|
|
50304
|
+
const isSExpr = typeof head === "string" && (head.includes("/") || head === "let" || head === "if" || head === "lambda");
|
|
50305
|
+
if (!isSExpr) return value;
|
|
50306
|
+
try {
|
|
50307
|
+
return evaluator.evaluate(value, evaluator.createMinimalContext({}, {}, ""));
|
|
50308
|
+
} catch {
|
|
50309
|
+
return value;
|
|
50310
|
+
}
|
|
50311
|
+
}
|
|
50258
50312
|
function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
50313
|
+
sharedEntityLog.debug("useTraitStateMachine start", { traitBindingsCount: traitBindings.length, traitNames: traitBindings.map((b) => b.trait.name) });
|
|
50259
50314
|
const eventBus = useEventBus();
|
|
50260
50315
|
const { entities } = providers.useEntitySchema();
|
|
50261
50316
|
const traitConfigsByName = options?.traitConfigsByName;
|
|
@@ -50274,8 +50329,17 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50274
50329
|
if (!group) {
|
|
50275
50330
|
let defaults;
|
|
50276
50331
|
for (const field of entityDef.fields) {
|
|
50277
|
-
if (field.default !== void 0) {
|
|
50278
|
-
|
|
50332
|
+
if (field.default !== void 0 && field.default !== null) {
|
|
50333
|
+
const evaluated = evalFieldDefault(field.default);
|
|
50334
|
+
if (field.name === "tiles") {
|
|
50335
|
+
sharedEntityLog.debug("seed tiles", {
|
|
50336
|
+
linkedEntityName,
|
|
50337
|
+
type: typeof evaluated,
|
|
50338
|
+
length: Array.isArray(evaluated) ? evaluated?.length : void 0,
|
|
50339
|
+
head: Array.isArray(evaluated) && evaluated.length > 0 ? JSON.stringify(evaluated[0]).slice(0, 80) : void 0
|
|
50340
|
+
});
|
|
50341
|
+
}
|
|
50342
|
+
(defaults ?? (defaults = {}))[field.name] = evaluated;
|
|
50279
50343
|
}
|
|
50280
50344
|
}
|
|
50281
50345
|
group = { storeKey, entityName: linkedEntityName, writerBindings: [], renderBindings: [], defaults };
|
|
@@ -50288,7 +50352,15 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50288
50352
|
return groups;
|
|
50289
50353
|
}, [traitBindings, entities, orbitalsByTrait]);
|
|
50290
50354
|
for (const group of sharedGroups.values()) {
|
|
50291
|
-
if (group.defaults)
|
|
50355
|
+
if (group.defaults) {
|
|
50356
|
+
sharedEntityStore.seed(group.storeKey, group.defaults);
|
|
50357
|
+
sharedEntityLog.debug("shared-seed", {
|
|
50358
|
+
storeKey: group.storeKey,
|
|
50359
|
+
writers: group.writerBindings.map((b) => b.trait.name),
|
|
50360
|
+
renderers: group.renderBindings.map((b) => b.trait.name),
|
|
50361
|
+
tilesLength: Array.isArray(group.defaults.tiles) ? group.defaults.tiles.length : group.defaults.tiles
|
|
50362
|
+
});
|
|
50363
|
+
}
|
|
50292
50364
|
}
|
|
50293
50365
|
const sharedKeyByTraitNameRef = React90.useRef(/* @__PURE__ */ new Map());
|
|
50294
50366
|
React90.useEffect(() => {
|
|
@@ -50298,12 +50370,13 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50298
50370
|
for (const binding of group.renderBindings) map.set(binding.trait.name, group.storeKey);
|
|
50299
50371
|
}
|
|
50300
50372
|
sharedKeyByTraitNameRef.current = map;
|
|
50373
|
+
sharedEntityLog.debug("shared-map", { map: Array.from(map.entries()).map(([k, v]) => `${k}->${v}`) });
|
|
50301
50374
|
}, [sharedGroups]);
|
|
50302
50375
|
const manager = React90.useMemo(() => {
|
|
50303
50376
|
const traitDefs = traitBindings.map(toTraitDefinition);
|
|
50304
50377
|
const m = new runtime.StateMachineManager(traitDefs);
|
|
50305
50378
|
for (const binding of traitBindings) {
|
|
50306
|
-
const cfg = binding
|
|
50379
|
+
const cfg = getBindingConfig(binding) ?? traitConfigsByName?.[binding.trait.name];
|
|
50307
50380
|
if (cfg !== void 0) {
|
|
50308
50381
|
m.setTraitConfig(binding.trait.name, cfg);
|
|
50309
50382
|
}
|
|
@@ -50486,6 +50559,9 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50486
50559
|
const linkedEntity = binding.linkedEntity || "";
|
|
50487
50560
|
const entityId = payload?.entityId;
|
|
50488
50561
|
const sharedKey = sharedKeyByTraitNameRef.current.get(traitName);
|
|
50562
|
+
if (traitName === "Hero" || traitName === "Authority") {
|
|
50563
|
+
sharedEntityLog.debug("executeTransitionEffects sharedKey", { traitName, sharedKey, storeTilesLength: sharedKey ? sharedEntityStore.getSnapshot(sharedKey).tiles?.length : void 0 });
|
|
50564
|
+
}
|
|
50489
50565
|
let liveEntity;
|
|
50490
50566
|
if (sharedKey !== void 0) {
|
|
50491
50567
|
liveEntity = { ...sharedEntityStore.getSnapshot(sharedKey) };
|
|
@@ -50509,6 +50585,18 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50509
50585
|
eventBus,
|
|
50510
50586
|
slotSetter: {
|
|
50511
50587
|
addPattern: (slot, pattern, props) => {
|
|
50588
|
+
if (traitName === "Hero" && slot === "main" && props && typeof props === "object") {
|
|
50589
|
+
const canvasChild = Array.isArray(props.children) ? props.children[0] : null;
|
|
50590
|
+
const grandChildren = canvasChild && typeof canvasChild === "object" && !Array.isArray(canvasChild) ? canvasChild.children : null;
|
|
50591
|
+
const firstLayer = Array.isArray(grandChildren) && grandChildren.length > 0 ? grandChildren[0] : null;
|
|
50592
|
+
const firstLayerItems = firstLayer && typeof firstLayer === "object" && !Array.isArray(firstLayer) ? firstLayer.items : null;
|
|
50593
|
+
sharedEntityLog.debug("render-ui main slot", {
|
|
50594
|
+
traitName,
|
|
50595
|
+
slot,
|
|
50596
|
+
canvasChildType: canvasChild && typeof canvasChild === "object" && !Array.isArray(canvasChild) ? canvasChild.type : "none",
|
|
50597
|
+
firstLayerItemsLength: Array.isArray(firstLayerItems) ? firstLayerItems.length : firstLayerItems
|
|
50598
|
+
});
|
|
50599
|
+
}
|
|
50512
50600
|
const existing = pendingSlots.get(slot) || [];
|
|
50513
50601
|
existing.push({ pattern, props: props || {} });
|
|
50514
50602
|
pendingSlots.set(slot, existing);
|
|
@@ -50540,7 +50628,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50540
50628
|
state: previousState
|
|
50541
50629
|
};
|
|
50542
50630
|
const sharedDeclared = runtime.collectDeclaredConfigDefaults(binding.trait);
|
|
50543
|
-
const sharedCallSite = binding
|
|
50631
|
+
const sharedCallSite = getBindingConfig(binding);
|
|
50544
50632
|
if (sharedDeclared || sharedCallSite) {
|
|
50545
50633
|
sharedBindings.config = {
|
|
50546
50634
|
...sharedDeclared ?? {},
|
|
@@ -50591,13 +50679,21 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50591
50679
|
state: previousState
|
|
50592
50680
|
};
|
|
50593
50681
|
const declaredDefaults = runtime.collectDeclaredConfigDefaults(binding.trait);
|
|
50594
|
-
const callSiteConfig = binding
|
|
50682
|
+
const callSiteConfig = getBindingConfig(binding);
|
|
50595
50683
|
if (declaredDefaults || callSiteConfig) {
|
|
50596
50684
|
bindingCtx.config = {
|
|
50597
50685
|
...declaredDefaults ?? {},
|
|
50598
50686
|
...callSiteConfig ?? {}
|
|
50599
50687
|
};
|
|
50600
50688
|
}
|
|
50689
|
+
if (traitName === "Authority" || traitName === "Hero") {
|
|
50690
|
+
sharedEntityLog.debug("executeTransitionEffects config tiles", {
|
|
50691
|
+
traitName,
|
|
50692
|
+
tilesType: typeof bindingCtx.config?.tiles,
|
|
50693
|
+
tilesLength: Array.isArray(bindingCtx.config?.tiles) ? bindingCtx.config?.tiles?.length : void 0,
|
|
50694
|
+
configKeys: bindingCtx.config ? Object.keys(bindingCtx.config) : void 0
|
|
50695
|
+
});
|
|
50696
|
+
}
|
|
50601
50697
|
const effectContext = {
|
|
50602
50698
|
traitName,
|
|
50603
50699
|
state: previousState,
|
|
@@ -50614,9 +50710,25 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50614
50710
|
baseEmit(event, eventPayload, source);
|
|
50615
50711
|
}
|
|
50616
50712
|
};
|
|
50713
|
+
if (traitName === "Hero") {
|
|
50714
|
+
sharedEntityLog.debug("executeTransitionEffects effects summary", {
|
|
50715
|
+
traitName,
|
|
50716
|
+
effectsCount: effects.length,
|
|
50717
|
+
hasRenderUI: typeof handlers.renderUI === "function",
|
|
50718
|
+
effectHeads: effects.map((e) => Array.isArray(e) ? String(e[0]) : "??")
|
|
50719
|
+
});
|
|
50720
|
+
}
|
|
50617
50721
|
const executor = new runtime.EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
50618
50722
|
try {
|
|
50619
50723
|
await executor.executeAll(effects);
|
|
50724
|
+
if (traitName === "Authority" || traitName === "Hero") {
|
|
50725
|
+
sharedEntityLog.debug("executeTransitionEffects after executeAll", {
|
|
50726
|
+
traitName,
|
|
50727
|
+
tilesType: typeof liveEntity.tiles,
|
|
50728
|
+
tilesLength: Array.isArray(liveEntity.tiles) ? liveEntity.tiles?.length : void 0,
|
|
50729
|
+
firstTilePos: Array.isArray(liveEntity.tiles) && liveEntity.tiles.length > 0 ? JSON.stringify(liveEntity.tiles[0]).slice(0, 120) : void 0
|
|
50730
|
+
});
|
|
50731
|
+
}
|
|
50620
50732
|
if (sharedKey !== void 0) {
|
|
50621
50733
|
sharedEntityStore.commit(sharedKey, liveEntity);
|
|
50622
50734
|
}
|
|
@@ -50667,8 +50779,9 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50667
50779
|
payload: {},
|
|
50668
50780
|
state: currentState
|
|
50669
50781
|
};
|
|
50670
|
-
|
|
50671
|
-
|
|
50782
|
+
const bindingCfg = getBindingConfig(binding);
|
|
50783
|
+
if (bindingCfg) {
|
|
50784
|
+
guardCtx.config = bindingCfg;
|
|
50672
50785
|
}
|
|
50673
50786
|
const passed = evaluator.evaluateGuard(
|
|
50674
50787
|
tick.guard,
|
|
@@ -50695,12 +50808,14 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50695
50808
|
}, [eventBus]);
|
|
50696
50809
|
React90.useEffect(() => {
|
|
50697
50810
|
const scheduler = runtime.createTickScheduler();
|
|
50698
|
-
const
|
|
50811
|
+
const pureWriterTickKeys = /* @__PURE__ */ new Set();
|
|
50699
50812
|
for (const group of sharedGroups.values()) {
|
|
50700
50813
|
const ticksByInterval = /* @__PURE__ */ new Map();
|
|
50701
50814
|
for (const binding of group.writerBindings) {
|
|
50702
|
-
writerTraitNames.add(binding.trait.name);
|
|
50703
50815
|
for (const tick of binding.trait.ticks ?? []) {
|
|
50816
|
+
const classification = classifySharedTick(tick);
|
|
50817
|
+
if (classification !== "writer") continue;
|
|
50818
|
+
pureWriterTickKeys.add(`${binding.trait.name}::${tick.name}`);
|
|
50704
50819
|
const intervalKey = String(tick.interval);
|
|
50705
50820
|
const entries = ticksByInterval.get(intervalKey) ?? [];
|
|
50706
50821
|
entries.push({ binding, tick });
|
|
@@ -50727,8 +50842,11 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
50727
50842
|
}
|
|
50728
50843
|
}
|
|
50729
50844
|
for (const binding of traitBindings) {
|
|
50730
|
-
if (writerTraitNames.has(binding.trait.name)) continue;
|
|
50731
50845
|
for (const tick of binding.trait.ticks ?? []) {
|
|
50846
|
+
const sharedKey = sharedKeyByTraitNameRef.current.get(binding.trait.name);
|
|
50847
|
+
if (sharedKey !== void 0 && pureWriterTickKeys.has(`${binding.trait.name}::${tick.name}`)) {
|
|
50848
|
+
continue;
|
|
50849
|
+
}
|
|
50732
50850
|
if (tick.interval === "frame") {
|
|
50733
50851
|
scheduler.add(0, () => runTickEffects(tick, binding));
|
|
50734
50852
|
} else if (typeof tick.interval === "number") {
|
|
@@ -51357,6 +51475,7 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
51357
51475
|
hadPrev: prevTraitsRef.current !== void 0
|
|
51358
51476
|
}));
|
|
51359
51477
|
if (refChanged) {
|
|
51478
|
+
navLog.info("page:traits-reset", { traitsCount: Array.isArray(traits2) ? traits2.length : -1 });
|
|
51360
51479
|
uiSlots.clearAll();
|
|
51361
51480
|
initSentRef.current = false;
|
|
51362
51481
|
}
|