@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,221 @@
|
|
|
1
|
+
import { ScenePos, Asset } from '@almadar/core';
|
|
2
|
+
|
|
3
|
+
/** Source sub-rectangle within a texture (an atlas frame). Omitted → whole texture. */
|
|
4
|
+
interface BlitSrc {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
w: number;
|
|
8
|
+
h: number;
|
|
9
|
+
}
|
|
10
|
+
/** A polyline/polygon vertex in pixel space. */
|
|
11
|
+
interface PainterPoint {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
}
|
|
15
|
+
/** A drop shadow applied to subsequent draws until cleared. */
|
|
16
|
+
interface PainterShadow {
|
|
17
|
+
color: string;
|
|
18
|
+
blur: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Drawable contract — the shared vocabulary every neutral drawable primitive
|
|
23
|
+
* (the `draw-sprite`/`draw-shape`/`draw-text` atoms, `draw-sprite-layer`/
|
|
24
|
+
* `draw-shape-layer` molecules) is authored against. A drawable is a pure
|
|
25
|
+
* descriptor the canvas HOST walks and paints via the portable {@link Painter2D}
|
|
26
|
+
* seam — no `CanvasRenderingContext2D`, no DOM. Genre (a "unit"/"tile"/
|
|
27
|
+
* "highlight") is a `.lolo` COMPOSITION of these, never its own primitive.
|
|
28
|
+
*
|
|
29
|
+
* A position is a core `ScenePos` (logical scene space). The host's {@link Projector}
|
|
30
|
+
* maps it to pixels; primitives never do projection math themselves. Because the
|
|
31
|
+
* `ScenePos` type identity is what pattern-sync stamps as the `drawable`
|
|
32
|
+
* capability, every drawable descriptor's `position` MUST be a core `ScenePos`.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* How a drawable aligns to its projected position.
|
|
37
|
+
* - `top-left` — the cell's top-left corner (tiles).
|
|
38
|
+
* - `ground` — the cell's ground point, bottom-center of the drawable (units/features).
|
|
39
|
+
* - `center` — the cell's visual center (effects).
|
|
40
|
+
*/
|
|
41
|
+
type DrawableAnchor = 'top-left' | 'ground' | 'center';
|
|
42
|
+
/** Common shape of every drawable descriptor. `type` keys the host's paint dispatch. */
|
|
43
|
+
interface DrawableBase {
|
|
44
|
+
type: string;
|
|
45
|
+
/**
|
|
46
|
+
* Optional hit-test handle. When a board authors a per-entity id here (e.g.
|
|
47
|
+
* `id: (object/get @u id)` on a unit sprite), the canvas host indexes the
|
|
48
|
+
* descriptor's `ScenePos → id` and resolves a pointer/raycast at that cell to
|
|
49
|
+
* this id — the source of `unitClickEvent {unitId}`. A source-tagged handle,
|
|
50
|
+
* NOT a heuristic: no id → the host emits only the coordinate (tile click).
|
|
51
|
+
*/
|
|
52
|
+
id?: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* `draw-sprite` — the neutral image/atlas-frame drawable atom (dimension-agnostic).
|
|
57
|
+
*
|
|
58
|
+
* ONE descriptor (`DrawSpriteProps`, grounded in core `ScenePos` + `Asset`) with
|
|
59
|
+
* TWO backends: `paintSprite` (2D, here — via the portable `Painter2D` seam) and
|
|
60
|
+
* an R3F mesh (`Sprite3D` in `lib/drawable/mesh3d`, kept OUT of this file so the
|
|
61
|
+
* 2D paint path never pulls `three`/`drei` into an app bundle — the codebase
|
|
62
|
+
* code-splits R3F). The canvas host picks the backend by `mode`; that is what
|
|
63
|
+
* makes canvas-2d and canvas-3d the same `children` interface. Genre uses (tile,
|
|
64
|
+
* unit body, feature, effect, movement ghost, background cover) are all this atom
|
|
65
|
+
* with different `anchor`/`size`/`frame`/`flip`/`shadow` — composed in `.lolo`,
|
|
66
|
+
* not here. The React component renders `null` (a drawable is painted by the host,
|
|
67
|
+
* not the DOM); it exists so the pattern pipeline registers a `draw-sprite`
|
|
68
|
+
* pattern and standalone pages stay inspectable.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
interface DrawSpriteProps extends DrawableBase {
|
|
72
|
+
type: 'draw-sprite';
|
|
73
|
+
/** Logical scene position; the projector maps it to pixels / world. */
|
|
74
|
+
position: ScenePos;
|
|
75
|
+
/** The image / atlas reference to blit. */
|
|
76
|
+
asset: Asset;
|
|
77
|
+
/** How the sprite aligns to its projected position. Default `'top-left'`. */
|
|
78
|
+
anchor?: DrawableAnchor;
|
|
79
|
+
/** Draw width in world units (fractions of `projector.tileWidth`); omitted → resolved source width in px. */
|
|
80
|
+
width?: number;
|
|
81
|
+
/** Draw height in world units (fractions of `projector.tileWidth`); omitted → resolved source height in px. */
|
|
82
|
+
height?: number;
|
|
83
|
+
/** Explicit atlas sub-rect override (px); omitted → resolved from `asset.atlas`/`asset.sprite`. */
|
|
84
|
+
frame?: BlitSrc;
|
|
85
|
+
/** Mirror horizontally (facing). */
|
|
86
|
+
flipX?: boolean;
|
|
87
|
+
/** Rotation in radians about the sprite's center. */
|
|
88
|
+
rotation?: number;
|
|
89
|
+
/** 0..1 opacity. */
|
|
90
|
+
opacity?: number;
|
|
91
|
+
/** Drop shadow (e.g. a team-colored glow). */
|
|
92
|
+
shadow?: PainterShadow;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* `draw-shape` — the neutral vector-fill/stroke drawable atom (dimension-agnostic).
|
|
97
|
+
*
|
|
98
|
+
* ONE descriptor (`DrawShapeProps`, grounded in core `ScenePos`) with TWO
|
|
99
|
+
* backends: `paintShape` (2D, here) and an R3F ground-plane mesh (`Shape3D` in
|
|
100
|
+
* `lib/drawable/mesh3d`, kept OUT of this file so the 2D path never pulls R3F).
|
|
101
|
+
* Paints a cell footprint, an axis-aligned rect, an ellipse, or a poly at a scene
|
|
102
|
+
* position, fill and/or stroke. Genre uses (tile fallback, iso/hex diamond
|
|
103
|
+
* fallback, cell highlight, feature disc, unit selection ring, unit fallback
|
|
104
|
+
* circle, ground/ghost discs, solid backgrounds, side-view platform rects) are
|
|
105
|
+
* all this atom with different `shape`/`anchor`/geometry — composed in `.lolo`,
|
|
106
|
+
* not here. The React component renders `null`; it exists so the pattern pipeline
|
|
107
|
+
* registers a `draw-shape` pattern and standalone pages stay inspectable.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
type ShapeKind = 'cell' | 'rect' | 'ellipse' | 'poly';
|
|
111
|
+
interface DrawShapeProps extends DrawableBase {
|
|
112
|
+
type: 'draw-shape';
|
|
113
|
+
shape: ShapeKind;
|
|
114
|
+
/** Logical scene position; the projector maps it to pixels / world. */
|
|
115
|
+
position: ScenePos;
|
|
116
|
+
/** How the shape aligns to its projected position. Default varies by `shape`. */
|
|
117
|
+
anchor?: DrawableAnchor;
|
|
118
|
+
/** Rect width in world units (fractions of `projector.tileWidth`). */
|
|
119
|
+
width?: number;
|
|
120
|
+
/** Rect height in world units (fractions of `projector.tileWidth`). */
|
|
121
|
+
height?: number;
|
|
122
|
+
/** Ellipse horizontal radius in world units (fractions of `projector.tileWidth`). */
|
|
123
|
+
radiusX?: number;
|
|
124
|
+
/** Ellipse vertical radius in world units; omitted → `radiusX` (a circle). */
|
|
125
|
+
radiusY?: number;
|
|
126
|
+
/** Fine nudge from the anchor point in world units. */
|
|
127
|
+
offsetX?: number;
|
|
128
|
+
offsetY?: number;
|
|
129
|
+
/** Poly vertices as world-unit offsets relative to the cell's projected top-left. */
|
|
130
|
+
points?: PainterPoint[];
|
|
131
|
+
fill?: string;
|
|
132
|
+
stroke?: string;
|
|
133
|
+
strokeWidth?: number;
|
|
134
|
+
/** 0..1 opacity. */
|
|
135
|
+
opacity?: number;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* `draw-text` — the neutral text drawable atom (dimension-agnostic).
|
|
140
|
+
*
|
|
141
|
+
* ONE descriptor (`DrawTextProps`, grounded in core `ScenePos`) with TWO backends:
|
|
142
|
+
* `paintText` (2D, here) and an R3F billboarded `<Text>` (`Text3D` in
|
|
143
|
+
* `lib/drawable/mesh3d`, kept OUT of this file so the 2D path never pulls R3F).
|
|
144
|
+
* Paints a string at a scene position with font/color/alignment. The React
|
|
145
|
+
* component renders `null` (a drawable is painted by the host, not the DOM).
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
interface DrawTextProps extends DrawableBase {
|
|
149
|
+
type: 'draw-text';
|
|
150
|
+
text: string;
|
|
151
|
+
/** Logical scene position; the projector maps it to pixels / world. */
|
|
152
|
+
position: ScenePos;
|
|
153
|
+
anchor?: DrawableAnchor;
|
|
154
|
+
offsetX?: number;
|
|
155
|
+
offsetY?: number;
|
|
156
|
+
color: string;
|
|
157
|
+
font?: string;
|
|
158
|
+
align?: CanvasTextAlign;
|
|
159
|
+
baseline?: CanvasTextBaseline;
|
|
160
|
+
opacity?: number;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* `draw-sprite-layer` — batch multiple sprites in one descriptor for O(layers) rendering.
|
|
165
|
+
*
|
|
166
|
+
* Composes the `draw-sprite` atom; the layer itself carries no `position` — each
|
|
167
|
+
* item does. It is drawable-by-composition: its `items` are `draw-sprite`
|
|
168
|
+
* descriptors (each grounded in core `ScenePos`), which is what stamps the layer
|
|
169
|
+
* `drawable` at pattern-sync time.
|
|
170
|
+
*/
|
|
171
|
+
|
|
172
|
+
interface DrawSpriteLayerProps extends DrawableBase {
|
|
173
|
+
type: 'draw-sprite-layer';
|
|
174
|
+
/** Sprites painted in array order; z-ordering is the caller's responsibility. */
|
|
175
|
+
items: DrawSpriteProps[];
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* `draw-shape-layer` — batch of shapes in one descriptor for O(layers) perf.
|
|
180
|
+
*
|
|
181
|
+
* Composes the `draw-shape` atom; drawable-by-composition (its `items` are
|
|
182
|
+
* `draw-shape` descriptors, each grounded in core `ScenePos`). The React
|
|
183
|
+
* component renders `null` (a drawable is painted by the host, not the DOM).
|
|
184
|
+
*/
|
|
185
|
+
|
|
186
|
+
interface DrawShapeLayerProps extends DrawableBase {
|
|
187
|
+
type: 'draw-shape-layer';
|
|
188
|
+
items: DrawShapeProps[];
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* `draw-text-layer` — batch of text labels in one descriptor for O(layers) perf.
|
|
193
|
+
*
|
|
194
|
+
* Composes the `draw-text` atom; drawable-by-composition (its `items` are
|
|
195
|
+
* `draw-text` descriptors, each grounded in core `ScenePos`). Covers the batched
|
|
196
|
+
* world-space text pass — fx messages, damage numbers, unit labels — that a
|
|
197
|
+
* board maps from an entity array (`items: (array/map @entity.fx (fn ...))`),
|
|
198
|
+
* which a literal `children` array can't express. The React component renders
|
|
199
|
+
* `null` (a drawable is painted by the host, not the DOM).
|
|
200
|
+
*/
|
|
201
|
+
|
|
202
|
+
interface DrawTextLayerProps extends DrawableBase {
|
|
203
|
+
type: 'draw-text-layer';
|
|
204
|
+
items: DrawTextProps[];
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Drawable paint dispatch (2D) + the `DrawableNode` union.
|
|
209
|
+
*
|
|
210
|
+
* `paintDrawable` routes ONE descriptor to its 2D painter; the host walks its
|
|
211
|
+
* `children` through it. The "drawable" designation itself is NOT recorded here —
|
|
212
|
+
* it is DERIVED from the core `ScenePos` type each descriptor's `position` uses
|
|
213
|
+
* and stamped into `patterns-registry.json` by pattern-sync (mirroring how `Asset`
|
|
214
|
+
* is tagged), then read by the orbital-rust validator. So this module is pure
|
|
215
|
+
* paint routing; the capability is the registry's, not a hand-list.
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
/** Every drawable descriptor. The host's `children` are a `DrawableNode[]`. */
|
|
219
|
+
type DrawableNode = DrawSpriteProps | DrawShapeProps | DrawTextProps | DrawSpriteLayerProps | DrawShapeLayerProps | DrawTextLayerProps;
|
|
220
|
+
|
|
221
|
+
export type { DrawableNode as D };
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { ScenePos, Asset } from '@almadar/core';
|
|
2
|
+
|
|
3
|
+
/** Source sub-rectangle within a texture (an atlas frame). Omitted → whole texture. */
|
|
4
|
+
interface BlitSrc {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
w: number;
|
|
8
|
+
h: number;
|
|
9
|
+
}
|
|
10
|
+
/** A polyline/polygon vertex in pixel space. */
|
|
11
|
+
interface PainterPoint {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
}
|
|
15
|
+
/** A drop shadow applied to subsequent draws until cleared. */
|
|
16
|
+
interface PainterShadow {
|
|
17
|
+
color: string;
|
|
18
|
+
blur: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Drawable contract — the shared vocabulary every neutral drawable primitive
|
|
23
|
+
* (the `draw-sprite`/`draw-shape`/`draw-text` atoms, `draw-sprite-layer`/
|
|
24
|
+
* `draw-shape-layer` molecules) is authored against. A drawable is a pure
|
|
25
|
+
* descriptor the canvas HOST walks and paints via the portable {@link Painter2D}
|
|
26
|
+
* seam — no `CanvasRenderingContext2D`, no DOM. Genre (a "unit"/"tile"/
|
|
27
|
+
* "highlight") is a `.lolo` COMPOSITION of these, never its own primitive.
|
|
28
|
+
*
|
|
29
|
+
* A position is a core `ScenePos` (logical scene space). The host's {@link Projector}
|
|
30
|
+
* maps it to pixels; primitives never do projection math themselves. Because the
|
|
31
|
+
* `ScenePos` type identity is what pattern-sync stamps as the `drawable`
|
|
32
|
+
* capability, every drawable descriptor's `position` MUST be a core `ScenePos`.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* How a drawable aligns to its projected position.
|
|
37
|
+
* - `top-left` — the cell's top-left corner (tiles).
|
|
38
|
+
* - `ground` — the cell's ground point, bottom-center of the drawable (units/features).
|
|
39
|
+
* - `center` — the cell's visual center (effects).
|
|
40
|
+
*/
|
|
41
|
+
type DrawableAnchor = 'top-left' | 'ground' | 'center';
|
|
42
|
+
/** Common shape of every drawable descriptor. `type` keys the host's paint dispatch. */
|
|
43
|
+
interface DrawableBase {
|
|
44
|
+
type: string;
|
|
45
|
+
/**
|
|
46
|
+
* Optional hit-test handle. When a board authors a per-entity id here (e.g.
|
|
47
|
+
* `id: (object/get @u id)` on a unit sprite), the canvas host indexes the
|
|
48
|
+
* descriptor's `ScenePos → id` and resolves a pointer/raycast at that cell to
|
|
49
|
+
* this id — the source of `unitClickEvent {unitId}`. A source-tagged handle,
|
|
50
|
+
* NOT a heuristic: no id → the host emits only the coordinate (tile click).
|
|
51
|
+
*/
|
|
52
|
+
id?: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* `draw-sprite` — the neutral image/atlas-frame drawable atom (dimension-agnostic).
|
|
57
|
+
*
|
|
58
|
+
* ONE descriptor (`DrawSpriteProps`, grounded in core `ScenePos` + `Asset`) with
|
|
59
|
+
* TWO backends: `paintSprite` (2D, here — via the portable `Painter2D` seam) and
|
|
60
|
+
* an R3F mesh (`Sprite3D` in `lib/drawable/mesh3d`, kept OUT of this file so the
|
|
61
|
+
* 2D paint path never pulls `three`/`drei` into an app bundle — the codebase
|
|
62
|
+
* code-splits R3F). The canvas host picks the backend by `mode`; that is what
|
|
63
|
+
* makes canvas-2d and canvas-3d the same `children` interface. Genre uses (tile,
|
|
64
|
+
* unit body, feature, effect, movement ghost, background cover) are all this atom
|
|
65
|
+
* with different `anchor`/`size`/`frame`/`flip`/`shadow` — composed in `.lolo`,
|
|
66
|
+
* not here. The React component renders `null` (a drawable is painted by the host,
|
|
67
|
+
* not the DOM); it exists so the pattern pipeline registers a `draw-sprite`
|
|
68
|
+
* pattern and standalone pages stay inspectable.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
interface DrawSpriteProps extends DrawableBase {
|
|
72
|
+
type: 'draw-sprite';
|
|
73
|
+
/** Logical scene position; the projector maps it to pixels / world. */
|
|
74
|
+
position: ScenePos;
|
|
75
|
+
/** The image / atlas reference to blit. */
|
|
76
|
+
asset: Asset;
|
|
77
|
+
/** How the sprite aligns to its projected position. Default `'top-left'`. */
|
|
78
|
+
anchor?: DrawableAnchor;
|
|
79
|
+
/** Draw width in world units (fractions of `projector.tileWidth`); omitted → resolved source width in px. */
|
|
80
|
+
width?: number;
|
|
81
|
+
/** Draw height in world units (fractions of `projector.tileWidth`); omitted → resolved source height in px. */
|
|
82
|
+
height?: number;
|
|
83
|
+
/** Explicit atlas sub-rect override (px); omitted → resolved from `asset.atlas`/`asset.sprite`. */
|
|
84
|
+
frame?: BlitSrc;
|
|
85
|
+
/** Mirror horizontally (facing). */
|
|
86
|
+
flipX?: boolean;
|
|
87
|
+
/** Rotation in radians about the sprite's center. */
|
|
88
|
+
rotation?: number;
|
|
89
|
+
/** 0..1 opacity. */
|
|
90
|
+
opacity?: number;
|
|
91
|
+
/** Drop shadow (e.g. a team-colored glow). */
|
|
92
|
+
shadow?: PainterShadow;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* `draw-shape` — the neutral vector-fill/stroke drawable atom (dimension-agnostic).
|
|
97
|
+
*
|
|
98
|
+
* ONE descriptor (`DrawShapeProps`, grounded in core `ScenePos`) with TWO
|
|
99
|
+
* backends: `paintShape` (2D, here) and an R3F ground-plane mesh (`Shape3D` in
|
|
100
|
+
* `lib/drawable/mesh3d`, kept OUT of this file so the 2D path never pulls R3F).
|
|
101
|
+
* Paints a cell footprint, an axis-aligned rect, an ellipse, or a poly at a scene
|
|
102
|
+
* position, fill and/or stroke. Genre uses (tile fallback, iso/hex diamond
|
|
103
|
+
* fallback, cell highlight, feature disc, unit selection ring, unit fallback
|
|
104
|
+
* circle, ground/ghost discs, solid backgrounds, side-view platform rects) are
|
|
105
|
+
* all this atom with different `shape`/`anchor`/geometry — composed in `.lolo`,
|
|
106
|
+
* not here. The React component renders `null`; it exists so the pattern pipeline
|
|
107
|
+
* registers a `draw-shape` pattern and standalone pages stay inspectable.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
type ShapeKind = 'cell' | 'rect' | 'ellipse' | 'poly';
|
|
111
|
+
interface DrawShapeProps extends DrawableBase {
|
|
112
|
+
type: 'draw-shape';
|
|
113
|
+
shape: ShapeKind;
|
|
114
|
+
/** Logical scene position; the projector maps it to pixels / world. */
|
|
115
|
+
position: ScenePos;
|
|
116
|
+
/** How the shape aligns to its projected position. Default varies by `shape`. */
|
|
117
|
+
anchor?: DrawableAnchor;
|
|
118
|
+
/** Rect width in world units (fractions of `projector.tileWidth`). */
|
|
119
|
+
width?: number;
|
|
120
|
+
/** Rect height in world units (fractions of `projector.tileWidth`). */
|
|
121
|
+
height?: number;
|
|
122
|
+
/** Ellipse horizontal radius in world units (fractions of `projector.tileWidth`). */
|
|
123
|
+
radiusX?: number;
|
|
124
|
+
/** Ellipse vertical radius in world units; omitted → `radiusX` (a circle). */
|
|
125
|
+
radiusY?: number;
|
|
126
|
+
/** Fine nudge from the anchor point in world units. */
|
|
127
|
+
offsetX?: number;
|
|
128
|
+
offsetY?: number;
|
|
129
|
+
/** Poly vertices as world-unit offsets relative to the cell's projected top-left. */
|
|
130
|
+
points?: PainterPoint[];
|
|
131
|
+
fill?: string;
|
|
132
|
+
stroke?: string;
|
|
133
|
+
strokeWidth?: number;
|
|
134
|
+
/** 0..1 opacity. */
|
|
135
|
+
opacity?: number;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* `draw-text` — the neutral text drawable atom (dimension-agnostic).
|
|
140
|
+
*
|
|
141
|
+
* ONE descriptor (`DrawTextProps`, grounded in core `ScenePos`) with TWO backends:
|
|
142
|
+
* `paintText` (2D, here) and an R3F billboarded `<Text>` (`Text3D` in
|
|
143
|
+
* `lib/drawable/mesh3d`, kept OUT of this file so the 2D path never pulls R3F).
|
|
144
|
+
* Paints a string at a scene position with font/color/alignment. The React
|
|
145
|
+
* component renders `null` (a drawable is painted by the host, not the DOM).
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
interface DrawTextProps extends DrawableBase {
|
|
149
|
+
type: 'draw-text';
|
|
150
|
+
text: string;
|
|
151
|
+
/** Logical scene position; the projector maps it to pixels / world. */
|
|
152
|
+
position: ScenePos;
|
|
153
|
+
anchor?: DrawableAnchor;
|
|
154
|
+
offsetX?: number;
|
|
155
|
+
offsetY?: number;
|
|
156
|
+
color: string;
|
|
157
|
+
font?: string;
|
|
158
|
+
align?: CanvasTextAlign;
|
|
159
|
+
baseline?: CanvasTextBaseline;
|
|
160
|
+
opacity?: number;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* `draw-sprite-layer` — batch multiple sprites in one descriptor for O(layers) rendering.
|
|
165
|
+
*
|
|
166
|
+
* Composes the `draw-sprite` atom; the layer itself carries no `position` — each
|
|
167
|
+
* item does. It is drawable-by-composition: its `items` are `draw-sprite`
|
|
168
|
+
* descriptors (each grounded in core `ScenePos`), which is what stamps the layer
|
|
169
|
+
* `drawable` at pattern-sync time.
|
|
170
|
+
*/
|
|
171
|
+
|
|
172
|
+
interface DrawSpriteLayerProps extends DrawableBase {
|
|
173
|
+
type: 'draw-sprite-layer';
|
|
174
|
+
/** Sprites painted in array order; z-ordering is the caller's responsibility. */
|
|
175
|
+
items: DrawSpriteProps[];
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* `draw-shape-layer` — batch of shapes in one descriptor for O(layers) perf.
|
|
180
|
+
*
|
|
181
|
+
* Composes the `draw-shape` atom; drawable-by-composition (its `items` are
|
|
182
|
+
* `draw-shape` descriptors, each grounded in core `ScenePos`). The React
|
|
183
|
+
* component renders `null` (a drawable is painted by the host, not the DOM).
|
|
184
|
+
*/
|
|
185
|
+
|
|
186
|
+
interface DrawShapeLayerProps extends DrawableBase {
|
|
187
|
+
type: 'draw-shape-layer';
|
|
188
|
+
items: DrawShapeProps[];
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* `draw-text-layer` — batch of text labels in one descriptor for O(layers) perf.
|
|
193
|
+
*
|
|
194
|
+
* Composes the `draw-text` atom; drawable-by-composition (its `items` are
|
|
195
|
+
* `draw-text` descriptors, each grounded in core `ScenePos`). Covers the batched
|
|
196
|
+
* world-space text pass — fx messages, damage numbers, unit labels — that a
|
|
197
|
+
* board maps from an entity array (`items: (array/map @entity.fx (fn ...))`),
|
|
198
|
+
* which a literal `children` array can't express. The React component renders
|
|
199
|
+
* `null` (a drawable is painted by the host, not the DOM).
|
|
200
|
+
*/
|
|
201
|
+
|
|
202
|
+
interface DrawTextLayerProps extends DrawableBase {
|
|
203
|
+
type: 'draw-text-layer';
|
|
204
|
+
items: DrawTextProps[];
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Drawable paint dispatch (2D) + the `DrawableNode` union.
|
|
209
|
+
*
|
|
210
|
+
* `paintDrawable` routes ONE descriptor to its 2D painter; the host walks its
|
|
211
|
+
* `children` through it. The "drawable" designation itself is NOT recorded here —
|
|
212
|
+
* it is DERIVED from the core `ScenePos` type each descriptor's `position` uses
|
|
213
|
+
* and stamped into `patterns-registry.json` by pattern-sync (mirroring how `Asset`
|
|
214
|
+
* is tagged), then read by the orbital-rust validator. So this module is pure
|
|
215
|
+
* paint routing; the capability is the registry's, not a hand-list.
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
/** Every drawable descriptor. The host's `children` are a `DrawableNode[]`. */
|
|
219
|
+
type DrawableNode = DrawSpriteProps | DrawShapeProps | DrawTextProps | DrawSpriteLayerProps | DrawShapeLayerProps | DrawTextLayerProps;
|
|
220
|
+
|
|
221
|
+
export type { DrawableNode as D };
|
package/dist/providers/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
|
|
|
46
46
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
47
47
|
|
|
@@ -8819,8 +8819,12 @@ var init_MiniMap = __esm({
|
|
|
8819
8819
|
MiniMap.displayName = "MiniMap";
|
|
8820
8820
|
}
|
|
8821
8821
|
});
|
|
8822
|
-
function useCamera() {
|
|
8823
|
-
const cameraRef = React83.useRef({
|
|
8822
|
+
function useCamera(initial) {
|
|
8823
|
+
const cameraRef = React83.useRef({
|
|
8824
|
+
x: initial?.x ?? 0,
|
|
8825
|
+
y: initial?.y ?? 0,
|
|
8826
|
+
zoom: initial?.zoom ?? 1
|
|
8827
|
+
});
|
|
8824
8828
|
const targetCameraRef = React83.useRef(null);
|
|
8825
8829
|
const isDraggingRef = React83.useRef(false);
|
|
8826
8830
|
const dragDistanceRef = React83.useRef(0);
|
|
@@ -9496,8 +9500,18 @@ function Canvas2D({
|
|
|
9496
9500
|
scale = 0.4,
|
|
9497
9501
|
showMinimap = true,
|
|
9498
9502
|
followTarget,
|
|
9503
|
+
cameraPos,
|
|
9499
9504
|
bgColor
|
|
9500
9505
|
}) {
|
|
9506
|
+
const instanceId = React83.useMemo(() => Math.random().toString(36).slice(2, 8), []);
|
|
9507
|
+
function isDrawableLayer(node) {
|
|
9508
|
+
return node.type === "draw-sprite-layer" || node.type === "draw-shape-layer" || node.type === "draw-text-layer";
|
|
9509
|
+
}
|
|
9510
|
+
const layerSummaries = drawables?.map((d) => {
|
|
9511
|
+
if (!isDrawableLayer(d)) return { type: d.type };
|
|
9512
|
+
return { type: d.type, itemsLen: d.items.length, firstItem: d.items[0] };
|
|
9513
|
+
});
|
|
9514
|
+
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 });
|
|
9501
9515
|
const backgroundImage = normalizeBackdrop(backgroundImageRaw);
|
|
9502
9516
|
const isFree = projection === "free";
|
|
9503
9517
|
const squareGrid = projection === "flat" || isFree || projection === "side";
|
|
@@ -9580,7 +9594,7 @@ function Canvas2D({
|
|
|
9580
9594
|
zoomAtPoint,
|
|
9581
9595
|
screenToWorld,
|
|
9582
9596
|
lerpToTarget
|
|
9583
|
-
} = useCamera();
|
|
9597
|
+
} = useCamera({ zoom: scale });
|
|
9584
9598
|
const [atlasVersion, setAtlasVersion] = React83.useState(0);
|
|
9585
9599
|
const bumpAtlas = React83.useCallback(() => setAtlasVersion((v) => v + 1), []);
|
|
9586
9600
|
const miniMapTiles = React83.useMemo(() => {
|
|
@@ -9626,6 +9640,14 @@ function Canvas2D({
|
|
|
9626
9640
|
}
|
|
9627
9641
|
if (!drawables || drawables.length === 0) return;
|
|
9628
9642
|
const cam = cameraRef.current;
|
|
9643
|
+
if (cameraPos && dragDistance() === 0) {
|
|
9644
|
+
const p = projector.anchorPoint(cameraPos, "center");
|
|
9645
|
+
cam.x = p.x - viewportSize.width / 2;
|
|
9646
|
+
cam.y = p.y - viewportSize.height / 2;
|
|
9647
|
+
}
|
|
9648
|
+
const containerRect = containerRef.current?.getBoundingClientRect();
|
|
9649
|
+
const canvasRect = canvas.getBoundingClientRect();
|
|
9650
|
+
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 });
|
|
9629
9651
|
const painter = createWebPainter(ctx, bumpAtlas);
|
|
9630
9652
|
painter.save();
|
|
9631
9653
|
painter.translate(viewportSize.width / 2, viewportSize.height / 2);
|
|
@@ -9837,6 +9859,7 @@ function Canvas2D({
|
|
|
9837
9859
|
}
|
|
9838
9860
|
);
|
|
9839
9861
|
}
|
|
9862
|
+
var canvas2DLog;
|
|
9840
9863
|
var init_Canvas2D = __esm({
|
|
9841
9864
|
"components/game/molecules/Canvas2D.tsx"() {
|
|
9842
9865
|
"use client";
|
|
@@ -9858,6 +9881,7 @@ var init_Canvas2D = __esm({
|
|
|
9858
9881
|
init_paintDispatch();
|
|
9859
9882
|
init_hitTest();
|
|
9860
9883
|
init_isometric();
|
|
9884
|
+
canvas2DLog = logger.createLogger("almadar:ui:game-canvas");
|
|
9861
9885
|
Canvas2D.displayName = "Canvas2D";
|
|
9862
9886
|
}
|
|
9863
9887
|
});
|
|
@@ -9896,6 +9920,7 @@ function Canvas({
|
|
|
9896
9920
|
keyMap,
|
|
9897
9921
|
keyUpMap
|
|
9898
9922
|
}) {
|
|
9923
|
+
canvasLog.debug("Canvas render", { mode, drawablesCount: drawables?.length, projection, camera: camera ? JSON.stringify(camera) : void 0 });
|
|
9899
9924
|
const zoom = camera?.zoom;
|
|
9900
9925
|
if (mode === "3d") {
|
|
9901
9926
|
const props3d = {
|
|
@@ -9935,6 +9960,7 @@ function Canvas({
|
|
|
9935
9960
|
camera: to2DCamera(camera?.mode),
|
|
9936
9961
|
...zoom !== void 0 ? { scale: zoom } : {},
|
|
9937
9962
|
...camera?.target !== void 0 ? { followTarget: camera.target } : {},
|
|
9963
|
+
...camera?.pos !== void 0 ? { cameraPos: camera.pos } : {},
|
|
9938
9964
|
showMinimap,
|
|
9939
9965
|
backgroundImage,
|
|
9940
9966
|
...backgroundColor !== void 0 ? { bgColor: backgroundColor } : {},
|
|
@@ -9947,7 +9973,7 @@ function Canvas({
|
|
|
9947
9973
|
}
|
|
9948
9974
|
);
|
|
9949
9975
|
}
|
|
9950
|
-
var Canvas3DHost;
|
|
9976
|
+
var Canvas3DHost, canvasLog;
|
|
9951
9977
|
var init_Canvas = __esm({
|
|
9952
9978
|
"components/game/molecules/Canvas.tsx"() {
|
|
9953
9979
|
"use client";
|
|
@@ -9955,6 +9981,7 @@ var init_Canvas = __esm({
|
|
|
9955
9981
|
Canvas3DHost = React83.lazy(
|
|
9956
9982
|
() => import('@almadar/ui/components/molecules/game/three').then((m) => ({ default: m.Canvas3DHost }))
|
|
9957
9983
|
);
|
|
9984
|
+
canvasLog = logger.createLogger("almadar:ui:game-canvas");
|
|
9958
9985
|
Canvas.displayName = "Canvas";
|
|
9959
9986
|
}
|
|
9960
9987
|
});
|
|
@@ -44313,7 +44340,7 @@ function SlotContentRenderer({
|
|
|
44313
44340
|
const childrenConfig = content.props.children;
|
|
44314
44341
|
const isSingleChild = typeof childrenConfig === "string" || typeof childrenConfig === "object" && childrenConfig !== null && !Array.isArray(childrenConfig) && "type" in childrenConfig;
|
|
44315
44342
|
const hasChildren = PATTERNS_WITH_CHILDREN.has(content.pattern) || Array.isArray(childrenConfig) && childrenConfig.length > 0 || isSingleChild;
|
|
44316
|
-
const isDrawHost = patterns.
|
|
44343
|
+
const isDrawHost = patterns.isDrawHostPattern(content.pattern);
|
|
44317
44344
|
const myPath = patternPath ?? "root";
|
|
44318
44345
|
const renderedChildren = hasChildren && !isDrawHost ? renderPatternChildren(childrenConfig, onDismiss, content.id, myPath, content.sourceTrait, {
|
|
44319
44346
|
slot: content.slot,
|