@almadar/ui 5.111.0 → 5.112.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 +97 -16
- package/dist/avl/index.js +99 -18
- package/dist/avl-schema-parser-DKRm-nyh.d.cts +611 -0
- package/dist/avl-schema-parser-DKRm-nyh.d.ts +611 -0
- package/dist/cn-BbPvQLHt.d.cts +294 -0
- package/dist/cn-BbPvQLHt.d.ts +294 -0
- package/dist/components/index.cjs +27 -5
- package/dist/components/index.d.cts +11224 -0
- package/dist/components/index.d.ts +11224 -6
- package/dist/components/index.js +27 -5
- 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 +1484 -0
- package/dist/lib/drawable/three/index.d.ts +1483 -38
- package/dist/lib/drawable/three/index.js +11 -24
- package/dist/lib/index.d.cts +504 -0
- package/dist/lib/index.d.ts +503 -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/providers/index.cjs +27 -5
- package/dist/providers/index.d.cts +428 -0
- package/dist/providers/index.d.ts +427 -26
- package/dist/providers/index.js +27 -5
- 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 +97 -16
- package/dist/runtime/index.d.cts +426 -0
- package/dist/runtime/index.d.ts +421 -16
- package/dist/runtime/index.js +99 -18
- 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
package/dist/renderer/index.d.ts
CHANGED
|
@@ -1,28 +1,343 @@
|
|
|
1
|
+
import { M as MappedPattern, C as ClientEffect, q as ClientEffectExecutorConfig, r as NotifyOptions, D as DataContext, s as DataResolution, S as SlotDefinition } from '../offline-executor-aRuNznZx.js';
|
|
2
|
+
export { E as EventResponse, N as NavigationContextValue, b as NavigationProvider, c as NavigationProviderProps, d as NavigationState, O as OfflineExecutor, t as OfflineExecutorConfig, v as OfflineExecutorState, P as PendingSyncEffect, w as SlotType, a as UseOfflineExecutorOptions, U as UseOfflineExecutorResult, x as createOfflineExecutor, e as extractRouteParams, f as findPageByName, g as findPageByPath, h as getAllPages, i as getDefaultPage, m as matchPath, p as pathMatches, u as useActivePage, j as useInitPayload, k as useNavigateTo, l as useNavigation, n as useNavigationId, o as useNavigationState, y as useOfflineExecutor } from '../offline-executor-aRuNznZx.js';
|
|
3
|
+
import { PatternPropDef } from '@almadar/core/patterns';
|
|
4
|
+
import { PatternConfig, FieldValue, EntityRow, UISlot } from '@almadar/core';
|
|
5
|
+
export { PatternConfig, UISlot } from '@almadar/core';
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
|
|
1
8
|
/**
|
|
2
|
-
*
|
|
9
|
+
* Pattern Resolver
|
|
3
10
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
11
|
+
* Resolves pattern configurations to component information.
|
|
12
|
+
* Uses the central pattern registry and component mapping from orbital-shared/patterns/.
|
|
6
13
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - Pattern Resolver: Pattern → Component resolution
|
|
10
|
-
* - Client Effect Executor: Execute clientEffects from server
|
|
11
|
-
* - useClientEffects: React hook for effect execution
|
|
12
|
-
* - Data Resolver: Entity data resolution with filtering
|
|
13
|
-
* - Slot Definitions: Inline vs portal slot configuration
|
|
14
|
+
* This is the shared logic used by both Builder's PatternRenderer and
|
|
15
|
+
* the compiled shell's UISlotRenderer.
|
|
14
16
|
*
|
|
15
17
|
* @packageDocumentation
|
|
16
18
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Component mapping entry from component-mapping.json
|
|
22
|
+
*/
|
|
23
|
+
interface ComponentMappingEntry {
|
|
24
|
+
component: string;
|
|
25
|
+
importPath: string;
|
|
26
|
+
category: string;
|
|
27
|
+
deprecated?: boolean;
|
|
28
|
+
replacedBy?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Pattern definition from registry.json
|
|
32
|
+
*/
|
|
33
|
+
interface PatternDefinition {
|
|
34
|
+
type: string;
|
|
35
|
+
category: string;
|
|
36
|
+
description: string;
|
|
37
|
+
propsSchema?: Record<string, PatternPropDef>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Initialize the pattern resolver with mappings.
|
|
41
|
+
* Called at app startup with data from JSON files.
|
|
42
|
+
*/
|
|
43
|
+
declare function initializePatternResolver(config: {
|
|
44
|
+
componentMapping: Record<string, ComponentMappingEntry>;
|
|
45
|
+
patternRegistry: Record<string, PatternDefinition>;
|
|
46
|
+
}): void;
|
|
47
|
+
/**
|
|
48
|
+
* Set component mapping (alternative to full initialization).
|
|
49
|
+
*/
|
|
50
|
+
declare function setComponentMapping(mapping: Record<string, ComponentMappingEntry>): void;
|
|
51
|
+
/**
|
|
52
|
+
* Set pattern registry (alternative to full initialization).
|
|
53
|
+
*/
|
|
54
|
+
declare function setPatternRegistry(registry: Record<string, PatternDefinition>): void;
|
|
55
|
+
/**
|
|
56
|
+
* Resolve a pattern configuration to component information.
|
|
57
|
+
*
|
|
58
|
+
* @param config - Pattern configuration from render-ui effect
|
|
59
|
+
* @returns Resolved pattern with component name, import path, and validated props
|
|
60
|
+
* @throws Error if pattern type is unknown
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const resolved = resolvePattern({
|
|
65
|
+
* type: 'entity-table',
|
|
66
|
+
* entity: 'Task',
|
|
67
|
+
* columns: ['title', 'status']
|
|
68
|
+
* });
|
|
69
|
+
* // resolved.component === 'DataTable'
|
|
70
|
+
* // resolved.importPath === '@/components/organisms/DataTable'
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
declare function resolvePattern(config: PatternConfig): MappedPattern;
|
|
74
|
+
/**
|
|
75
|
+
* Check if a pattern type is known.
|
|
76
|
+
*/
|
|
77
|
+
declare function isKnownPattern(type: string): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Get all known pattern types.
|
|
80
|
+
*/
|
|
81
|
+
declare function getKnownPatterns(): string[];
|
|
82
|
+
/**
|
|
83
|
+
* Get patterns by category.
|
|
84
|
+
*/
|
|
85
|
+
declare function getPatternsByCategory(category: string): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Get the component mapping for a pattern type.
|
|
88
|
+
*/
|
|
89
|
+
declare function getPatternMapping(type: string): ComponentMappingEntry | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Get the pattern definition from the registry.
|
|
92
|
+
*/
|
|
93
|
+
declare function getPatternDefinition(type: string): PatternDefinition | undefined;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Client Effect Executor
|
|
97
|
+
*
|
|
98
|
+
* Executes client effects returned from the server.
|
|
99
|
+
* This is the core of the dual execution model - the server processes
|
|
100
|
+
* events and returns client effects, which this module executes.
|
|
101
|
+
*
|
|
102
|
+
* Used by both Builder preview and compiled shells.
|
|
103
|
+
*
|
|
104
|
+
* @packageDocumentation
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Execute an array of client effects.
|
|
109
|
+
*
|
|
110
|
+
* Effects are executed sequentially in order.
|
|
111
|
+
* Errors in one effect don't prevent subsequent effects from executing.
|
|
112
|
+
*
|
|
113
|
+
* @param effects - Array of client effects to execute
|
|
114
|
+
* @param config - Configuration providing implementations for each effect type
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* executeClientEffects(
|
|
119
|
+
* [
|
|
120
|
+
* ['render-ui', 'main', { type: 'entity-table', entity: 'Task' }],
|
|
121
|
+
* ['notify', 'Tasks loaded!', { type: 'success' }]
|
|
122
|
+
* ],
|
|
123
|
+
* {
|
|
124
|
+
* renderToSlot: (slot, pattern) => slotManager.render(slot, pattern),
|
|
125
|
+
* navigate: (path) => router.push(path),
|
|
126
|
+
* notify: (message, opts) => toast.show(message, opts),
|
|
127
|
+
* eventBus: { emit: (event, payload) => bus.emit(event, payload) }
|
|
128
|
+
* }
|
|
129
|
+
* );
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
declare function executeClientEffects(effects: ClientEffect[], config: ClientEffectExecutorConfig): void;
|
|
133
|
+
/**
|
|
134
|
+
* Parse a raw effect array into a typed ClientEffect.
|
|
135
|
+
* Handles unknown effect formats gracefully.
|
|
136
|
+
*/
|
|
137
|
+
declare function parseClientEffect(raw: FieldValue[]): ClientEffect | null;
|
|
138
|
+
/**
|
|
139
|
+
* Parse an array of raw effects into typed ClientEffects.
|
|
140
|
+
* Filters out invalid effects.
|
|
141
|
+
*/
|
|
142
|
+
declare function parseClientEffects(raw: FieldValue[] | undefined): ClientEffect[];
|
|
143
|
+
/**
|
|
144
|
+
* Get all render-ui effects.
|
|
145
|
+
*/
|
|
146
|
+
declare function getRenderUIEffects(effects: ClientEffect[]): Array<['render-ui', string, PatternConfig | null]>;
|
|
147
|
+
/**
|
|
148
|
+
* Get all notify effects.
|
|
149
|
+
*/
|
|
150
|
+
declare function getNotifyEffects(effects: ClientEffect[]): Array<['notify', string, NotifyOptions?]>;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Options for the useClientEffects hook
|
|
154
|
+
*/
|
|
155
|
+
interface UseClientEffectsOptions extends ClientEffectExecutorConfig {
|
|
156
|
+
/**
|
|
157
|
+
* Whether to execute effects. Defaults to true.
|
|
158
|
+
* Set to false to temporarily disable effect execution.
|
|
159
|
+
*/
|
|
160
|
+
enabled?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Debug mode - logs effect execution details.
|
|
163
|
+
*/
|
|
164
|
+
debug?: boolean;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Result of useClientEffects hook
|
|
168
|
+
*/
|
|
169
|
+
interface UseClientEffectsResult {
|
|
170
|
+
/**
|
|
171
|
+
* Number of effects executed in the last batch.
|
|
172
|
+
*/
|
|
173
|
+
executedCount: number;
|
|
174
|
+
/**
|
|
175
|
+
* Whether effects are currently being executed.
|
|
176
|
+
*/
|
|
177
|
+
executing: boolean;
|
|
178
|
+
/**
|
|
179
|
+
* Manually trigger effect execution.
|
|
180
|
+
* Useful for imperative control.
|
|
181
|
+
*/
|
|
182
|
+
execute: (effects: ClientEffect[]) => void;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Execute client effects from server response.
|
|
186
|
+
*
|
|
187
|
+
* This hook automatically executes effects when they change,
|
|
188
|
+
* tracking which effects have been executed to prevent duplicates.
|
|
189
|
+
*
|
|
190
|
+
* @param effects - Array of client effects to execute (from server response)
|
|
191
|
+
* @param options - Configuration including effect implementations
|
|
192
|
+
* @returns Hook result with execution state and manual trigger
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* function useMyTrait() {
|
|
197
|
+
* const [state, setState] = useState({ pendingEffects: [] });
|
|
198
|
+
* const effectConfig = useClientEffectConfig();
|
|
199
|
+
*
|
|
200
|
+
* useClientEffects(state.pendingEffects, {
|
|
201
|
+
* ...effectConfig,
|
|
202
|
+
* onComplete: () => setState(s => ({ ...s, pendingEffects: [] }))
|
|
203
|
+
* });
|
|
204
|
+
*
|
|
205
|
+
* // ...
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
declare function useClientEffects(effects: ClientEffect[] | undefined, options: UseClientEffectsOptions): UseClientEffectsResult;
|
|
210
|
+
declare const ClientEffectConfigContext: React.Context<ClientEffectExecutorConfig | null>;
|
|
211
|
+
/**
|
|
212
|
+
* Provider for client effect configuration.
|
|
213
|
+
*/
|
|
214
|
+
declare const ClientEffectConfigProvider: React.Provider<ClientEffectExecutorConfig | null>;
|
|
215
|
+
/**
|
|
216
|
+
* Hook to get the client effect configuration from context.
|
|
217
|
+
*
|
|
218
|
+
* @throws Error if used outside of ClientEffectConfigProvider
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* function MyTraitHook() {
|
|
223
|
+
* const effectConfig = useClientEffectConfig();
|
|
224
|
+
*
|
|
225
|
+
* useClientEffects(pendingEffects, {
|
|
226
|
+
* ...effectConfig,
|
|
227
|
+
* onComplete: () => clearPendingEffects()
|
|
228
|
+
* });
|
|
229
|
+
* }
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
declare function useClientEffectConfig(): ClientEffectExecutorConfig;
|
|
233
|
+
/**
|
|
234
|
+
* Hook to get client effect configuration, returning null if not available.
|
|
235
|
+
* Use this for optional integration where effects may not be configured.
|
|
236
|
+
*/
|
|
237
|
+
declare function useClientEffectConfigOptional(): ClientEffectExecutorConfig | null;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Data Resolver
|
|
241
|
+
*
|
|
242
|
+
* Resolves entity data for pattern rendering.
|
|
243
|
+
* Supports multiple data sources with priority:
|
|
244
|
+
* 1. Server-provided data (from EventResponse.data)
|
|
245
|
+
* 2. Entity store (Builder in-memory mock data)
|
|
246
|
+
* 3. Empty array (fallback)
|
|
247
|
+
*
|
|
248
|
+
* Used by both Builder's PatternRenderer and compiled shell's UISlotRenderer.
|
|
249
|
+
*
|
|
250
|
+
* @packageDocumentation
|
|
251
|
+
*/
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Resolve entity data from available sources.
|
|
255
|
+
*
|
|
256
|
+
* Priority:
|
|
257
|
+
* 1. fetchedData (from server response) - highest priority
|
|
258
|
+
* 2. entityStore (Builder mock data)
|
|
259
|
+
* 3. Empty array (fallback)
|
|
260
|
+
*
|
|
261
|
+
* @param entityName - Name of the entity to resolve data for
|
|
262
|
+
* @param context - Data context with available sources
|
|
263
|
+
* @returns Resolved data with loading state
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```typescript
|
|
267
|
+
* const { data, loading } = resolveEntityData('Task', {
|
|
268
|
+
* fetchedData: response.data,
|
|
269
|
+
* entityStore: mockStore
|
|
270
|
+
* });
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
declare function resolveEntityData(entityName: string, context: DataContext): DataResolution;
|
|
274
|
+
/**
|
|
275
|
+
* Resolve entity data with query filtering.
|
|
276
|
+
*
|
|
277
|
+
* Applies query singleton filters if available.
|
|
278
|
+
*
|
|
279
|
+
* @param entityName - Name of the entity
|
|
280
|
+
* @param queryRef - Optional query reference for filtering
|
|
281
|
+
* @param context - Data context
|
|
282
|
+
* @returns Filtered resolved data
|
|
283
|
+
*/
|
|
284
|
+
declare function resolveEntityDataWithQuery(entityName: string, queryRef: string | undefined, context: DataContext): DataResolution;
|
|
285
|
+
/**
|
|
286
|
+
* Get a single entity record by ID.
|
|
287
|
+
*/
|
|
288
|
+
declare function resolveEntityById(entityName: string, id: string | number, context: DataContext): EntityRow | null;
|
|
289
|
+
/**
|
|
290
|
+
* Check if any entities exist for a given entity name.
|
|
291
|
+
*/
|
|
292
|
+
declare function hasEntities(entityName: string, context: DataContext): boolean;
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Slot Definitions
|
|
296
|
+
*
|
|
297
|
+
* Defines the available UI slots and their rendering behavior.
|
|
298
|
+
* Slots are either inline (rendered in the component tree) or
|
|
299
|
+
* portal (rendered to document.body via React Portal).
|
|
300
|
+
*
|
|
301
|
+
* @packageDocumentation
|
|
302
|
+
*/
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Definitions for all available UI slots.
|
|
306
|
+
*
|
|
307
|
+
* Inline slots render within the component hierarchy.
|
|
308
|
+
* Portal slots render to document.body, breaking out of overflow containers.
|
|
309
|
+
*/
|
|
310
|
+
declare const SLOT_DEFINITIONS: Partial<Record<UISlot, SlotDefinition>> & Record<'main' | 'sidebar' | 'modal' | 'drawer' | 'overlay' | 'center' | 'toast' | 'hud-top' | 'hud-bottom' | 'floating', SlotDefinition>;
|
|
311
|
+
/**
|
|
312
|
+
* Get the slot definition for a slot name.
|
|
313
|
+
*/
|
|
314
|
+
declare function getSlotDefinition(slot: UISlot): SlotDefinition | undefined;
|
|
315
|
+
/**
|
|
316
|
+
* Check if a slot is a portal slot.
|
|
317
|
+
*/
|
|
318
|
+
declare function isPortalSlot(slot: string): boolean;
|
|
319
|
+
/**
|
|
320
|
+
* Get all inline slots.
|
|
321
|
+
*/
|
|
322
|
+
declare function getInlineSlots(): UISlot[];
|
|
323
|
+
/**
|
|
324
|
+
* All valid slot names.
|
|
325
|
+
*/
|
|
326
|
+
declare const ALL_SLOTS: UISlot[];
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Pattern Resolver Initialization
|
|
330
|
+
*
|
|
331
|
+
* Loads pattern registry and component mapping from @almadar/core/patterns
|
|
332
|
+
* and initializes the pattern resolver at app startup.
|
|
333
|
+
*
|
|
334
|
+
* @packageDocumentation
|
|
335
|
+
*/
|
|
336
|
+
/**
|
|
337
|
+
* Initialize the pattern resolver with shared pattern data.
|
|
338
|
+
* Must be called once at app startup before any pattern rendering.
|
|
339
|
+
* @returns The number of patterns initialized
|
|
340
|
+
*/
|
|
341
|
+
declare function initializePatterns(): number;
|
|
342
|
+
|
|
343
|
+
export { ALL_SLOTS, ClientEffect, ClientEffectConfigContext, ClientEffectConfigProvider, ClientEffectExecutorConfig, DataContext, DataResolution, MappedPattern, NotifyOptions, SLOT_DEFINITIONS, SlotDefinition, type UseClientEffectsOptions, type UseClientEffectsResult, executeClientEffects, getInlineSlots, getKnownPatterns, getNotifyEffects, getPatternDefinition, getPatternMapping, getPatternsByCategory, getRenderUIEffects, getSlotDefinition, hasEntities, initializePatternResolver, initializePatterns, isKnownPattern, isPortalSlot, parseClientEffect, parseClientEffects, resolveEntityById, resolveEntityData, resolveEntityDataWithQuery, resolvePattern, setComponentMapping, setPatternRegistry, useClientEffectConfig, useClientEffectConfigOptional, useClientEffects };
|
package/dist/renderer/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createLogger } from '@almadar/logger';
|
|
2
2
|
import { createContext, useRef, useCallback, useEffect, useContext, useState } from 'react';
|
|
3
3
|
export { NavigationProvider, extractRouteParams, findPageByName, findPageByPath, getAllPages, getDefaultPage, matchPath, pathMatches, useActivePage, useInitPayload, useNavigateTo, useNavigation, useNavigationId, useNavigationState } from '@almadar/ui/providers';
|
|
4
|
-
import { componentMapping as componentMapping$1, patternsRegistry } from '@almadar/patterns';
|
|
4
|
+
import { componentMapping as componentMapping$1, patternsRegistry } from '@almadar/core/patterns';
|
|
5
5
|
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
7
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -41,7 +41,7 @@ var core$1 = require('@dnd-kit/core');
|
|
|
41
41
|
var sortable = require('@dnd-kit/sortable');
|
|
42
42
|
var utilities = require('@dnd-kit/utilities');
|
|
43
43
|
var react = require('@xyflow/react');
|
|
44
|
-
var patterns = require('@almadar/patterns');
|
|
44
|
+
var patterns = require('@almadar/core/patterns');
|
|
45
45
|
var runtime = require('@almadar/runtime');
|
|
46
46
|
var OrbitalServerRuntime = require('@almadar/runtime/OrbitalServerRuntime');
|
|
47
47
|
|
|
@@ -9273,8 +9273,12 @@ var init_MiniMap = __esm({
|
|
|
9273
9273
|
MiniMap.displayName = "MiniMap";
|
|
9274
9274
|
}
|
|
9275
9275
|
});
|
|
9276
|
-
function useCamera() {
|
|
9277
|
-
const cameraRef = React81.useRef({
|
|
9276
|
+
function useCamera(initial) {
|
|
9277
|
+
const cameraRef = React81.useRef({
|
|
9278
|
+
x: initial?.x ?? 0,
|
|
9279
|
+
y: initial?.y ?? 0,
|
|
9280
|
+
zoom: initial?.zoom ?? 1
|
|
9281
|
+
});
|
|
9278
9282
|
const targetCameraRef = React81.useRef(null);
|
|
9279
9283
|
const isDraggingRef = React81.useRef(false);
|
|
9280
9284
|
const dragDistanceRef = React81.useRef(0);
|
|
@@ -9843,9 +9847,17 @@ function Canvas2D({
|
|
|
9843
9847
|
scale = 0.4,
|
|
9844
9848
|
showMinimap = true,
|
|
9845
9849
|
followTarget,
|
|
9850
|
+
cameraPos,
|
|
9846
9851
|
bgColor
|
|
9847
9852
|
}) {
|
|
9853
|
+
const layerSummaries = drawables?.map((d) => {
|
|
9854
|
+
if (!d || typeof d !== "object") return d;
|
|
9855
|
+
const rec = d;
|
|
9856
|
+
return { type: rec.type, itemsLen: Array.isArray(rec.items) ? rec.items.length : void 0, firstItem: Array.isArray(rec.items) ? rec.items[0] : void 0 };
|
|
9857
|
+
});
|
|
9858
|
+
console.error("[debug:Canvas2D] " + JSON.stringify({ projection, scale, cameraMode: camera, cameraPos, drawablesCount: drawables?.length, layerSummaries }));
|
|
9848
9859
|
const backgroundImage = normalizeBackdrop(backgroundImageRaw);
|
|
9860
|
+
const instanceId = React81.useMemo(() => Math.random().toString(36).slice(2, 8), []);
|
|
9849
9861
|
const isFree = projection === "free";
|
|
9850
9862
|
const squareGrid = projection === "flat" || isFree || projection === "side";
|
|
9851
9863
|
const layout = projection === "side" ? "free" : projection;
|
|
@@ -9927,7 +9939,7 @@ function Canvas2D({
|
|
|
9927
9939
|
zoomAtPoint,
|
|
9928
9940
|
screenToWorld,
|
|
9929
9941
|
lerpToTarget
|
|
9930
|
-
} = useCamera();
|
|
9942
|
+
} = useCamera({ zoom: scale });
|
|
9931
9943
|
const [atlasVersion, setAtlasVersion] = React81.useState(0);
|
|
9932
9944
|
const bumpAtlas = React81.useCallback(() => setAtlasVersion((v) => v + 1), []);
|
|
9933
9945
|
const miniMapTiles = React81.useMemo(() => {
|
|
@@ -9973,6 +9985,14 @@ function Canvas2D({
|
|
|
9973
9985
|
}
|
|
9974
9986
|
if (!drawables || drawables.length === 0) return;
|
|
9975
9987
|
const cam = cameraRef.current;
|
|
9988
|
+
if (cameraPos && dragDistance() === 0) {
|
|
9989
|
+
const p = projector.anchorPoint(cameraPos, "center");
|
|
9990
|
+
cam.x = p.x - viewportSize.width / 2;
|
|
9991
|
+
cam.y = p.y - viewportSize.height / 2;
|
|
9992
|
+
}
|
|
9993
|
+
const containerRect = containerRef.current?.getBoundingClientRect();
|
|
9994
|
+
const canvasRect = canvas.getBoundingClientRect();
|
|
9995
|
+
console.error("[debug:Canvas2D:draw:" + instanceId + "] " + JSON.stringify({ viewportSize, baseOffsetX, cam: { x: cam.x, y: cam.y, zoom: cam.zoom }, cameraPos, containerRect: containerRect ? { width: containerRect.width, height: containerRect.height } : null, canvasRect: canvasRect ? { width: canvasRect.width, height: canvasRect.height } : null }));
|
|
9976
9996
|
const painter = createWebPainter(ctx, bumpAtlas);
|
|
9977
9997
|
painter.save();
|
|
9978
9998
|
painter.translate(viewportSize.width / 2, viewportSize.height / 2);
|
|
@@ -10243,6 +10263,7 @@ function Canvas({
|
|
|
10243
10263
|
keyMap,
|
|
10244
10264
|
keyUpMap
|
|
10245
10265
|
}) {
|
|
10266
|
+
console.error("[debug:Canvas] " + JSON.stringify({ mode, drawablesCount: drawables?.length, projection, camera }));
|
|
10246
10267
|
const zoom = camera?.zoom;
|
|
10247
10268
|
if (mode === "3d") {
|
|
10248
10269
|
const props3d = {
|
|
@@ -10282,6 +10303,7 @@ function Canvas({
|
|
|
10282
10303
|
camera: to2DCamera(camera?.mode),
|
|
10283
10304
|
...zoom !== void 0 ? { scale: zoom } : {},
|
|
10284
10305
|
...camera?.target !== void 0 ? { followTarget: camera.target } : {},
|
|
10306
|
+
...camera?.pos !== void 0 ? { cameraPos: camera.pos } : {},
|
|
10285
10307
|
showMinimap,
|
|
10286
10308
|
backgroundImage,
|
|
10287
10309
|
...backgroundColor !== void 0 ? { bgColor: backgroundColor } : {},
|
|
@@ -43696,7 +43718,7 @@ function SlotContentRenderer({
|
|
|
43696
43718
|
const childrenConfig = content.props.children;
|
|
43697
43719
|
const isSingleChild = typeof childrenConfig === "string" || typeof childrenConfig === "object" && childrenConfig !== null && !Array.isArray(childrenConfig) && "type" in childrenConfig;
|
|
43698
43720
|
const hasChildren = PATTERNS_WITH_CHILDREN.has(content.pattern) || Array.isArray(childrenConfig) && childrenConfig.length > 0 || isSingleChild;
|
|
43699
|
-
const isDrawHost = patterns.
|
|
43721
|
+
const isDrawHost = patterns.isDrawHostPattern(content.pattern);
|
|
43700
43722
|
const myPath = patternPath ?? "root";
|
|
43701
43723
|
const renderedChildren = hasChildren && !isDrawHost ? renderPatternChildren(childrenConfig, onDismiss, content.id, myPath, content.sourceTrait, {
|
|
43702
43724
|
slot: content.slot,
|
|
@@ -44267,6 +44289,14 @@ function effectsCallOp(effects, ops) {
|
|
|
44267
44289
|
}
|
|
44268
44290
|
return false;
|
|
44269
44291
|
}
|
|
44292
|
+
function classifySharedTick(tick) {
|
|
44293
|
+
const writes = effectsCallOp(tick.effects, SHARED_ENTITY_WRITE_OPS);
|
|
44294
|
+
const renders = effectsCallOp(tick.effects, SHARED_ENTITY_RENDER_OPS);
|
|
44295
|
+
if (writes && renders) return "both";
|
|
44296
|
+
if (writes) return "writer";
|
|
44297
|
+
if (renders) return "renderer";
|
|
44298
|
+
return "neither";
|
|
44299
|
+
}
|
|
44270
44300
|
function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
|
|
44271
44301
|
return (scratch) => {
|
|
44272
44302
|
const traitName = binding.trait.name;
|
|
@@ -44276,7 +44306,7 @@ function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
|
|
|
44276
44306
|
const writes = [];
|
|
44277
44307
|
const ctx = evaluator.createMinimalContext(scratchEntity, {}, currentState);
|
|
44278
44308
|
const declaredDefaults = runtime.collectDeclaredConfigDefaults(binding.trait);
|
|
44279
|
-
const callSiteConfig = binding
|
|
44309
|
+
const callSiteConfig = getBindingConfig(binding);
|
|
44280
44310
|
if (declaredDefaults || callSiteConfig) {
|
|
44281
44311
|
ctx.config = { ...declaredDefaults ?? {}, ...callSiteConfig ?? {} };
|
|
44282
44312
|
}
|
|
@@ -44298,7 +44328,25 @@ function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
|
|
|
44298
44328
|
return writes;
|
|
44299
44329
|
};
|
|
44300
44330
|
}
|
|
44331
|
+
function getBindingConfig(binding) {
|
|
44332
|
+
const raw = binding.config;
|
|
44333
|
+
const normalized = runtime.normalizeCallSiteConfigToValues(raw);
|
|
44334
|
+
console.log("[debug:getBindingConfig]", binding.trait.name, "raw keys=", raw ? Object.keys(raw) : "undefined", "has tiles=", raw ? "tiles" in raw : false);
|
|
44335
|
+
return normalized;
|
|
44336
|
+
}
|
|
44337
|
+
function evalFieldDefault(value) {
|
|
44338
|
+
if (!Array.isArray(value) || value.length === 0) return value;
|
|
44339
|
+
const head = value[0];
|
|
44340
|
+
const isSExpr = typeof head === "string" && (head.includes("/") || head === "let" || head === "if" || head === "lambda");
|
|
44341
|
+
if (!isSExpr) return value;
|
|
44342
|
+
try {
|
|
44343
|
+
return evaluator.evaluate(value, evaluator.createMinimalContext({}, {}, ""));
|
|
44344
|
+
} catch {
|
|
44345
|
+
return value;
|
|
44346
|
+
}
|
|
44347
|
+
}
|
|
44301
44348
|
function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
44349
|
+
console.log("[debug:useTraitStateMachine] start, traitBindings count=", traitBindings.length, "names=", traitBindings.map((b) => b.trait.name).join(","));
|
|
44302
44350
|
const eventBus = useEventBus();
|
|
44303
44351
|
const { entities } = providers.useEntitySchema();
|
|
44304
44352
|
const traitConfigsByName = options?.traitConfigsByName;
|
|
@@ -44318,7 +44366,11 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44318
44366
|
let defaults;
|
|
44319
44367
|
for (const field of entityDef.fields) {
|
|
44320
44368
|
if (field.default !== void 0) {
|
|
44321
|
-
|
|
44369
|
+
const evaluated = evalFieldDefault(field.default);
|
|
44370
|
+
if (field.name === "tiles") {
|
|
44371
|
+
console.log(`[debug:seed] ${linkedEntityName}.tiles seed type=`, typeof evaluated, Array.isArray(evaluated) ? "len=" + evaluated?.length : "", "head=", Array.isArray(evaluated) && evaluated.length > 0 ? JSON.stringify(evaluated[0]).slice(0, 80) : "n/a");
|
|
44372
|
+
}
|
|
44373
|
+
(defaults ?? (defaults = {}))[field.name] = evaluated;
|
|
44322
44374
|
}
|
|
44323
44375
|
}
|
|
44324
44376
|
group = { storeKey, entityName: linkedEntityName, writerBindings: [], renderBindings: [], defaults };
|
|
@@ -44331,7 +44383,10 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44331
44383
|
return groups;
|
|
44332
44384
|
}, [traitBindings, entities, orbitalsByTrait]);
|
|
44333
44385
|
for (const group of sharedGroups.values()) {
|
|
44334
|
-
if (group.defaults)
|
|
44386
|
+
if (group.defaults) {
|
|
44387
|
+
sharedEntityStore.seed(group.storeKey, group.defaults);
|
|
44388
|
+
console.log("[debug:shared-seed]", group.storeKey, "writers=", group.writerBindings.map((b) => b.trait.name).join(","), "renderers=", group.renderBindings.map((b) => b.trait.name).join(","), "defaults.tiles=", Array.isArray(group.defaults.tiles) ? group.defaults.tiles.length : group.defaults.tiles);
|
|
44389
|
+
}
|
|
44335
44390
|
}
|
|
44336
44391
|
const sharedKeyByTraitNameRef = React81.useRef(/* @__PURE__ */ new Map());
|
|
44337
44392
|
React81.useEffect(() => {
|
|
@@ -44341,12 +44396,13 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44341
44396
|
for (const binding of group.renderBindings) map.set(binding.trait.name, group.storeKey);
|
|
44342
44397
|
}
|
|
44343
44398
|
sharedKeyByTraitNameRef.current = map;
|
|
44399
|
+
console.log("[debug:shared-map]", Array.from(map.entries()).map(([k, v]) => `${k}->${v}`).join(","));
|
|
44344
44400
|
}, [sharedGroups]);
|
|
44345
44401
|
const manager = React81.useMemo(() => {
|
|
44346
44402
|
const traitDefs = traitBindings.map(toTraitDefinition);
|
|
44347
44403
|
const m = new runtime.StateMachineManager(traitDefs);
|
|
44348
44404
|
for (const binding of traitBindings) {
|
|
44349
|
-
const cfg = binding
|
|
44405
|
+
const cfg = getBindingConfig(binding) ?? traitConfigsByName?.[binding.trait.name];
|
|
44350
44406
|
if (cfg !== void 0) {
|
|
44351
44407
|
m.setTraitConfig(binding.trait.name, cfg);
|
|
44352
44408
|
}
|
|
@@ -44529,6 +44585,9 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44529
44585
|
const linkedEntity = binding.linkedEntity || "";
|
|
44530
44586
|
const entityId = payload?.entityId;
|
|
44531
44587
|
const sharedKey = sharedKeyByTraitNameRef.current.get(traitName);
|
|
44588
|
+
if (traitName === "Hero" || traitName === "Authority") {
|
|
44589
|
+
console.log(`[debug:executeTransitionEffects] ${traitName} sharedKey=`, sharedKey, "store tiles=", sharedKey ? sharedEntityStore.getSnapshot(sharedKey).tiles?.length : "n/a");
|
|
44590
|
+
}
|
|
44532
44591
|
let liveEntity;
|
|
44533
44592
|
if (sharedKey !== void 0) {
|
|
44534
44593
|
liveEntity = { ...sharedEntityStore.getSnapshot(sharedKey) };
|
|
@@ -44552,6 +44611,13 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44552
44611
|
eventBus,
|
|
44553
44612
|
slotSetter: {
|
|
44554
44613
|
addPattern: (slot, pattern, props) => {
|
|
44614
|
+
if (traitName === "Hero" && slot === "main" && props && typeof props === "object") {
|
|
44615
|
+
const canvasChild = Array.isArray(props.children) ? props.children[0] : null;
|
|
44616
|
+
const grandChildren = canvasChild && typeof canvasChild === "object" ? canvasChild.children : null;
|
|
44617
|
+
const firstLayer = Array.isArray(grandChildren) && grandChildren.length > 0 ? grandChildren[0] : null;
|
|
44618
|
+
const firstLayerItems = firstLayer && typeof firstLayer === "object" ? firstLayer.items : null;
|
|
44619
|
+
console.log(`[debug:render-ui] ${traitName} slot=${slot} canvasChild=`, canvasChild ? canvasChild.type : "none", "firstLayerItems=", Array.isArray(firstLayerItems) ? firstLayerItems.length : firstLayerItems);
|
|
44620
|
+
}
|
|
44555
44621
|
const existing = pendingSlots.get(slot) || [];
|
|
44556
44622
|
existing.push({ pattern, props: props || {} });
|
|
44557
44623
|
pendingSlots.set(slot, existing);
|
|
@@ -44583,7 +44649,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44583
44649
|
state: previousState
|
|
44584
44650
|
};
|
|
44585
44651
|
const sharedDeclared = runtime.collectDeclaredConfigDefaults(binding.trait);
|
|
44586
|
-
const sharedCallSite = binding
|
|
44652
|
+
const sharedCallSite = getBindingConfig(binding);
|
|
44587
44653
|
if (sharedDeclared || sharedCallSite) {
|
|
44588
44654
|
sharedBindings.config = {
|
|
44589
44655
|
...sharedDeclared ?? {},
|
|
@@ -44634,13 +44700,16 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44634
44700
|
state: previousState
|
|
44635
44701
|
};
|
|
44636
44702
|
const declaredDefaults = runtime.collectDeclaredConfigDefaults(binding.trait);
|
|
44637
|
-
const callSiteConfig = binding
|
|
44703
|
+
const callSiteConfig = getBindingConfig(binding);
|
|
44638
44704
|
if (declaredDefaults || callSiteConfig) {
|
|
44639
44705
|
bindingCtx.config = {
|
|
44640
44706
|
...declaredDefaults ?? {},
|
|
44641
44707
|
...callSiteConfig ?? {}
|
|
44642
44708
|
};
|
|
44643
44709
|
}
|
|
44710
|
+
if (traitName === "Authority" || traitName === "Hero") {
|
|
44711
|
+
console.log(`[debug:executeTransitionEffects] ${traitName} config tiles type=`, typeof bindingCtx.config?.tiles, Array.isArray(bindingCtx.config?.tiles) ? "len=" + bindingCtx.config?.tiles?.length : "", "keys=", bindingCtx.config ? Object.keys(bindingCtx.config) : "none");
|
|
44712
|
+
}
|
|
44644
44713
|
const effectContext = {
|
|
44645
44714
|
traitName,
|
|
44646
44715
|
state: previousState,
|
|
@@ -44657,9 +44726,15 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44657
44726
|
baseEmit(event, eventPayload, source);
|
|
44658
44727
|
}
|
|
44659
44728
|
};
|
|
44729
|
+
if (traitName === "Hero") {
|
|
44730
|
+
console.log(`[debug:executeTransitionEffects] ${traitName} effects count=${effects.length} hasRenderUI=${typeof handlers.renderUI === "function"} effect heads=${effects.map((e) => Array.isArray(e) ? String(e[0]) : "??").join(",")}`);
|
|
44731
|
+
}
|
|
44660
44732
|
const executor = new runtime.EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
44661
44733
|
try {
|
|
44662
44734
|
await executor.executeAll(effects);
|
|
44735
|
+
if (traitName === "Authority" || traitName === "Hero") {
|
|
44736
|
+
console.log(`[debug:executeTransitionEffects] ${traitName} after executeAll liveEntity.tiles type=`, typeof liveEntity.tiles, Array.isArray(liveEntity.tiles) ? "len=" + liveEntity.tiles?.length : "", "firstTilePos=", Array.isArray(liveEntity.tiles) && liveEntity.tiles.length > 0 ? JSON.stringify(liveEntity.tiles[0]).slice(0, 120) : "n/a");
|
|
44737
|
+
}
|
|
44663
44738
|
if (sharedKey !== void 0) {
|
|
44664
44739
|
sharedEntityStore.commit(sharedKey, liveEntity);
|
|
44665
44740
|
}
|
|
@@ -44710,8 +44785,9 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44710
44785
|
payload: {},
|
|
44711
44786
|
state: currentState
|
|
44712
44787
|
};
|
|
44713
|
-
|
|
44714
|
-
|
|
44788
|
+
const bindingCfg = getBindingConfig(binding);
|
|
44789
|
+
if (bindingCfg) {
|
|
44790
|
+
guardCtx.config = bindingCfg;
|
|
44715
44791
|
}
|
|
44716
44792
|
const passed = evaluator.evaluateGuard(
|
|
44717
44793
|
tick.guard,
|
|
@@ -44738,12 +44814,14 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44738
44814
|
}, [eventBus]);
|
|
44739
44815
|
React81.useEffect(() => {
|
|
44740
44816
|
const scheduler = runtime.createTickScheduler();
|
|
44741
|
-
const
|
|
44817
|
+
const pureWriterTickKeys = /* @__PURE__ */ new Set();
|
|
44742
44818
|
for (const group of sharedGroups.values()) {
|
|
44743
44819
|
const ticksByInterval = /* @__PURE__ */ new Map();
|
|
44744
44820
|
for (const binding of group.writerBindings) {
|
|
44745
|
-
writerTraitNames.add(binding.trait.name);
|
|
44746
44821
|
for (const tick of binding.trait.ticks ?? []) {
|
|
44822
|
+
const classification = classifySharedTick(tick);
|
|
44823
|
+
if (classification !== "writer") continue;
|
|
44824
|
+
pureWriterTickKeys.add(`${binding.trait.name}::${tick.name}`);
|
|
44747
44825
|
const intervalKey = String(tick.interval);
|
|
44748
44826
|
const entries = ticksByInterval.get(intervalKey) ?? [];
|
|
44749
44827
|
entries.push({ binding, tick });
|
|
@@ -44770,8 +44848,11 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44770
44848
|
}
|
|
44771
44849
|
}
|
|
44772
44850
|
for (const binding of traitBindings) {
|
|
44773
|
-
if (writerTraitNames.has(binding.trait.name)) continue;
|
|
44774
44851
|
for (const tick of binding.trait.ticks ?? []) {
|
|
44852
|
+
const sharedKey = sharedKeyByTraitNameRef.current.get(binding.trait.name);
|
|
44853
|
+
if (sharedKey !== void 0 && pureWriterTickKeys.has(`${binding.trait.name}::${tick.name}`)) {
|
|
44854
|
+
continue;
|
|
44855
|
+
}
|
|
44775
44856
|
if (tick.interval === "frame") {
|
|
44776
44857
|
scheduler.add(0, () => runTickEffects(tick, binding));
|
|
44777
44858
|
} else if (typeof tick.interval === "number") {
|