@almadar/shell-web 0.1.0 → 1.1.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/{ArbitraryClassCompiler-Mzabq-UB.d.ts → ArbitraryClassCompiler-CO_iASBn.d.ts} +99 -4
- package/dist/AvlGlyph-PIXU6QH5.js +5 -0
- package/dist/AvlStateMachine-CKGMECMG.js +8 -0
- package/dist/AvlTransitionDetail-QZX6G5KJ.js +10 -0
- package/dist/AvlTransitionExplainer-26WLEIC6.js +11 -0
- package/dist/BehaviorView-JLZ4PKWY.js +10 -0
- package/dist/{EventBusProvider-CVwjkV_2.d.ts → EventBusProvider-BFFHfN4O.d.ts} +12 -0
- package/dist/{FileTree-BCFnBEuQ.d.ts → FileTree-B3GDAjaQ.d.ts} +131 -4
- package/dist/FlowCanvas-RPII4V24.js +23 -0
- package/dist/{BehaviorValueFrame-SSEMEBTG.css → FlowCanvas-VWUPMBKB.css} +189 -191
- package/dist/{GameAudioProvider-Cm9BnvmP.d.ts → GameAudioProvider-D7wo5ryN.d.ts} +5 -8
- package/dist/KernelEngineContext-CPeWQMAz.d.ts +46 -0
- package/dist/LayersPanel-M2LHWUFF.js +6 -0
- package/dist/ModuleCard-NJD6JQGD.js +6 -0
- package/dist/OrbInspector-OWWKPOBF.js +23 -0
- package/dist/{TraitValueFrame-4G3KOUBR.css → OrbInspector-VMTMZHNQ.css} +189 -191
- package/dist/{Select-mDZIwNqN.d.ts → Select-C2Uq6t86.d.ts} +17 -31
- package/dist/ServerBridge-Bqsj-lOU.d.ts +124 -0
- package/dist/{FlowCanvas-3JRMNJLV.css → UISlotRenderer-BIS6KT7T.css} +189 -191
- package/dist/UISlotRenderer-PY7FIJXN.js +23 -0
- package/dist/auth/browser/index.js +1 -0
- package/dist/auth/react/index.d.ts +8 -1
- package/dist/auth/react/index.js +40 -2
- package/dist/avl/index.css +189 -191
- package/dist/avl/index.d.ts +107 -85
- package/dist/avl/index.js +170 -39
- package/dist/{chunk-P4LNHAFI.js → chunk-2WGR4TDJ.js} +465 -36
- package/dist/{chunk-GKIFONTE.js → chunk-3S54FWRC.js} +2 -2
- package/dist/{chunk-KVQS4GXU.js → chunk-4YJ53G7S.js} +18 -8
- package/dist/{chunk-MBQAMMSE.js → chunk-4YXBKHHM.js} +269 -658
- package/dist/{chunk-YDNJLLG6.js → chunk-57DC34LY.js} +19 -10
- package/dist/{chunk-FP3WIKTC.js → chunk-7N6ZPHQ5.js} +9 -1
- package/dist/{chunk-AILY3XPS.js → chunk-AE7VCQB6.js} +5 -6
- package/dist/{chunk-L677XGY3.js → chunk-AGVSO4WY.js} +4 -5
- package/dist/{chunk-FAJDTHWC.js → chunk-AGXD77SL.js} +2 -2
- package/dist/chunk-AU7O65OX.js +66 -0
- package/dist/{chunk-DFNZUYX4.js → chunk-FAKU5F62.js} +273 -29
- package/dist/{chunk-U6QRZASX.js → chunk-ILQXJ2AR.js} +1 -1
- package/dist/chunk-M74BCDBQ.js +490 -0
- package/dist/{chunk-GYTPOFVC.js → chunk-MS4K3K2R.js} +12095 -13329
- package/dist/{chunk-SGM3FASH.js → chunk-OWNG4JZI.js} +13 -12
- package/dist/{chunk-VFF5OO47.js → chunk-PCR37T3U.js} +15 -38
- package/dist/{chunk-SJGJJKBY.js → chunk-PRLHKBXG.js} +5 -3
- package/dist/{chunk-R5O5AUPI.js → chunk-PRXQGGCO.js} +93 -86
- package/dist/{chunk-42FY4RYA.js → chunk-REXYVBUO.js} +2 -2
- package/dist/{chunk-EQAMU2ZC.js → chunk-UTDC2NEA.js} +1 -1
- package/dist/{chunk-73SRAB4P.js → chunk-UU57VNS2.js} +2 -2
- package/dist/{chunk-TESBIVUA.js → chunk-VHC2M26B.js} +2 -2
- package/dist/{chunk-L2DEKY4J.js → chunk-VO2TTLS5.js} +3 -6
- package/dist/{chunk-2PY54Z44.js → chunk-VUIACGDU.js} +4 -5
- package/dist/{chunk-DLZF4PVE.js → chunk-YYIHRIDH.js} +3 -3
- package/dist/{chunk-DYEKAA4L.js → chunk-ZDRDJKYB.js} +243 -252
- package/dist/components/index.css +189 -191
- package/dist/components/index.d.ts +739 -289
- package/dist/components/index.js +25 -28
- package/dist/context/index.d.ts +2 -3
- package/dist/context/index.js +4 -3
- package/dist/core.d.ts +95 -19
- package/dist/core.js +2 -1
- package/dist/design-classes/index.cjs +3 -1
- package/dist/design-classes/index.js +3 -1
- package/dist/{fx-CmQjnHmT.d.ts → fx-Br8zjvu9.d.ts} +6 -6
- package/dist/hooks/index.d.ts +40 -5
- package/dist/hooks/index.js +5 -4
- package/dist/index.d.ts +40 -114
- package/dist/index.js +174 -34
- package/dist/kernel-client-JW6OH5FX.js +537 -0
- package/dist/kernel-wire-DGAySGhX.d.ts +95 -0
- package/dist/lib/index.d.ts +3 -4
- package/dist/lib/index.js +4 -4
- package/dist/{prism-AIWGN2X5.js → prism-X5YWKXO5.js} +5 -3
- package/dist/providers/index.css +189 -191
- package/dist/providers/index.d.ts +41 -28
- package/dist/providers/index.js +19 -24
- package/dist/renderer/index.d.ts +0 -2
- package/dist/renderer/index.js +1 -0
- package/dist/runtime/index.css +189 -191
- package/dist/runtime/index.d.ts +57 -253
- package/dist/runtime/index.js +18 -24
- package/dist/ssr/index.cjs +2643 -535
- package/dist/ssr/index.d.cts +0 -23
- package/dist/ssr/index.d.ts +0 -23
- package/dist/ssr/index.js +2639 -535
- package/dist/storage/browser/index.js +1 -0
- package/dist/test-support.d.ts +15 -8
- package/dist/test-support.js +91 -24
- package/dist/{paintDispatch-ChW5mVuK.d.ts → verificationRegistry-oopV1J1n.d.ts} +132 -30
- package/package.json +14 -38
- package/src/core/lib/band-shapes.json +7 -0
- package/src/core/locales/ar.json +18 -5
- package/src/core/locales/en.json +18 -5
- package/src/core/locales/sl.json +18 -5
- package/tailwind-preset.cjs +30 -1
- package/dist/AvlGlyph-JKJOAH23.js +0 -6
- package/dist/AvlStateMachine-PI4YGREK.js +0 -8
- package/dist/AvlTransitionDetail-ZH7V24UG.js +0 -12
- package/dist/AvlTransitionExplainer-ZSRT7L6Y.js +0 -13
- package/dist/BehaviorValueFrame-6RUJXT4A.js +0 -29
- package/dist/BehaviorView-RFEE5J6E.js +0 -10
- package/dist/Canvas3DHost-_Y-5uLM_.d.ts +0 -552
- package/dist/FlowCanvas-STDC4OWK.js +0 -27
- package/dist/KernelEngineContext-BOCQoFwk.d.ts +0 -43
- package/dist/LayersPanel-BBQ54IVG.js +0 -7
- package/dist/ModuleCard-3TT2X7IW.js +0 -7
- package/dist/OrbInspector-K6T6O7GI.js +0 -27
- package/dist/OrbInspector-MHLJ6OEE.css +0 -1756
- package/dist/ServerBridge-Cm1On51b.d.ts +0 -233
- package/dist/TraitValueFrame-2PJGLLVI.js +0 -28
- package/dist/UISlotRenderer-JKFSX24W.js +0 -27
- package/dist/UISlotRenderer-KVFO6J7R.css +0 -1756
- package/dist/UserContext-DqWeZkUZ.d.ts +0 -100
- package/dist/avl-3d-context-BIRKWpaL.d.ts +0 -204
- package/dist/avl-schema-parser-CtJxJ9KU.d.ts +0 -132
- package/dist/avl-zoom-state-CKMVuBFg.d.ts +0 -17
- package/dist/chunk-2QOH2HWM.js +0 -95
- package/dist/chunk-6P3MWXYE.js +0 -440
- package/dist/chunk-B4BU77LT.js +0 -432
- package/dist/chunk-DJ433ET5.js +0 -1327
- package/dist/chunk-DZ42OJQC.js +0 -176
- package/dist/chunk-EOWMARUB.js +0 -16
- package/dist/chunk-FIW6WN23.js +0 -508
- package/dist/chunk-GAR5TQ5B.js +0 -199
- package/dist/chunk-PC7K4SK7.js +0 -1384
- package/dist/chunk-ZO6MXAS3.js +0 -69
- package/dist/kernel-client-ZH4PSMCN.js +0 -367
- package/dist/kernel-wire-B4S8pnP3.d.ts +0 -65
- package/dist/three/index.css +0 -503
- package/dist/three/index.d.ts +0 -1185
- package/dist/three/index.js +0 -3896
- package/dist/useKeyboardRouter-Dsq553Ur.d.ts +0 -42
- package/dist/verificationRegistry-CabxhfTv.d.ts +0 -122
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
2
|
import React__default, { ReactNode, ErrorInfo } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
export { B as BoardTile, G as GameAction, j as GamePhase, k as GameState, l as GameUnit, b as IsometricFeature, I as IsometricTile, P as Position, m as UnitTrait, n as calculateAttackTargets, o as calculateValidMoves, p as createInitialGameState } from '../Canvas3DHost-_Y-5uLM_.js';
|
|
5
|
-
import { EntityRow, FieldValue, EntityRole, Asset, AnimationName, SpriteDirection, AnimationDef, A11yProps, EventKey, EventEmit, EventPayload, AssetUrl, ScenePos, Camera, SoundEntry, EntityWith, DiagramMarkRoles, TraitConfigValue, SkeletonVariant, SkeletonSpec, SkeletonNode, SurfaceMode, EventListen, JsonValue, AssetCatalog, SExpr, JsonObject, EventPayloadValue, DeclaredTraitConfig, TraitConfig, ControlValue, OrbitalSchema, Trait, TraceActivity, OrbitalEntity, FormSubmitPayload, TraitDescription, UISlot, EnterAnimation, TraitValue, TransitionTrace, DependencyGraph, EditFocus, TraceSubagent, TraceChatMessage } from '@almadar/core';
|
|
3
|
+
import { AnimationName, Asset, EntityRow, FieldValue, EntityRole, SpriteDirection, AnimationDef, A11yProps, EventKey, EventEmit, EventPayload, AssetUrl, ScenePos, Camera, SoundEntry, EntityWith, DiagramMarkRoles, GpuBuffer, TraitConfigValue, SkeletonVariant, SkeletonSpec, SkeletonNode, SurfaceMode, UISlot, PatternNode, EventListen, JsonValue, AssetCatalog, SExpr, JsonObject, EventPayloadValue, DeclaredTraitConfig, TraitConfig, ControlValue, OrbitalSchema, Trait, TraceActivity, OrbitalEntity, FormSubmitPayload, TraitDescription, MountedOrbital, EnterAnimation, TraitValue, TransitionTrace, DependencyGraph, EditFocus, TraceSubagent, TraceChatMessage } from '@almadar/core';
|
|
6
4
|
export { AnimationDef, AnimationName, AudioManifest, BusEvent, BusEventListener, BusEventSource, BusEventListener as EventListener, SkeletonVariant, SoundEntry, SpriteDirection, UISlot, Unsubscribe } from '@almadar/core';
|
|
7
5
|
import { IconInput, UiError, FxOverlayItem, BadgeColor, DisplayField, DisplayFieldFormat, BadgeVariant, ColorToken } from '../core.js';
|
|
8
|
-
import '../EventBusProvider-
|
|
9
|
-
import { D as DrawableNode, P as Projector, M as MeshShapeKind
|
|
10
|
-
export {
|
|
11
|
-
export { G as GameAudioContext, a as GameAudioContextValue, e as GameAudioControls, b as GameAudioProvider, c as GameAudioProviderProps, U as UseGameAudioOptions, f as useGameAudio, u as useGameAudioContext } from '../GameAudioProvider-
|
|
12
|
-
import { AvlStateMachineProps } from '../avl/index.js';
|
|
13
|
-
export { B as BehaviorView,
|
|
6
|
+
import '../EventBusProvider-BFFHfN4O.js';
|
|
7
|
+
import { D as DrawableNode, P as Projector, M as MeshShapeKind } from '../verificationRegistry-oopV1J1n.js';
|
|
8
|
+
export { A as DrawFxLayer, B as DrawGroup, C as DrawMesh, E as DrawShape, F as DrawShapeLayer, G as DrawSkinnedMesh, H as DrawSprite, I as DrawSpriteLayer, J as DrawText, K as DrawTextLayer } from '../verificationRegistry-oopV1J1n.js';
|
|
9
|
+
export { G as GameAudioContext, a as GameAudioContextValue, e as GameAudioControls, b as GameAudioProvider, c as GameAudioProviderProps, U as UseGameAudioOptions, f as useGameAudio, u as useGameAudioContext } from '../GameAudioProvider-D7wo5ryN.js';
|
|
10
|
+
import { AvlStateMachineProps, TraitLevelData } from '../avl/index.js';
|
|
11
|
+
export { B as BehaviorView, l as BehaviorViewProps, m as FileTree, F as FileTreeItem, n as FileTreeNode, o as FileTreeProps, M as ModuleCard, q as ModuleCardProps } from '../FileTree-B3GDAjaQ.js';
|
|
14
12
|
import { LucideIcon } from 'lucide-react';
|
|
15
13
|
import { InputProps, ButtonProps, PatternVariant, SelectOption } from '../core.js';
|
|
16
14
|
import { k as ContentAnnotation, L as LessonSegment } from '../parseLessonSegments-GpCeMrb2.js';
|
|
@@ -18,17 +16,13 @@ import { EditorMotion, EditorOperator, ContentSegment } from '../lib/index.js';
|
|
|
18
16
|
export { B as BloomLevel, l as BloomQuizBlock, n as BloomQuizBlockProps, o as CodeRunnerPanel, q as CodeRunnerPanelProps, r as CodeSimulationOutput, s as LessonUserProgress, S as SegmentRenderer, t as SegmentRendererProps, h as parseLessonSegments } from '../parseLessonSegments-GpCeMrb2.js';
|
|
19
17
|
import { LanguageCode } from '@almadar/core/i18n';
|
|
20
18
|
import { EmojiPickPayload, ItemActionPayload, SelectionChangePayload } from '@almadar/core/patterns';
|
|
21
|
-
import { TraitLevelData } from '../avl/index.js';
|
|
22
19
|
import { a as SlotContent, c as SlotPropValue } from '../useUISlots-CiobNFGb.js';
|
|
23
20
|
export { D as DEFAULT_SLOTS, S as SlotChangeCallback, b as SlotRenderConfig, U as UISlotManager, u as useUISlotManager } from '../useUISlots-CiobNFGb.js';
|
|
24
|
-
|
|
25
|
-
export { ALMADAR_DND_MIME, AuthContextValue, AuthUser, CanvasGestureCallbacks, CanvasGestureHandlers, CompileResult, CompileStage, DragReorderResult, DraggablePayload, Extension, ExtensionManifest, FileSystemFile, FileSystemStatus, GitHubRepo, GitHubStatus, LongPressHandlers, LongPressOptions, OpenFile, PageHeadInput, Positioned, PullToRefreshOptions, PullToRefreshResult, QuerySingletonEntity, QuerySingletonResult, QuerySingletonState, QueryState, RenderInterpolationHandle, RenderInterpolationOptions, SelectedFile, SharedEntityStore, SharedEntityStoreContext, SharedEntitySubscriber, SharedEntityWriter, SwipeGestureOptions, SwipeGestureResult, SwipeHandlers, TraitListenSpec, UseCanvasGesturesOptions, UseCompileResult, UseDraggableOptions, UseDraggableResult, UseDropZoneOptions, UseDropZoneResult, UseExtensionsOptions, UseExtensionsResult, UseFileEditorOptions, UseFileEditorResult, UseFileSystemResult, claimDelivery, createSharedEntityStore, parseQueryBinding, runTickFrame, useAgentChat, useAuthContext, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useLongPress, usePageHead, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useSwipeGesture, useTickVisibility, useTraitListens, useUIEvents, useValidation } from '../hooks/index.js';
|
|
26
|
-
export { E as EditorKeyEvent, a as KeyCaptureEntry, K as KeyCaptureTable, U as UseKeyboardRouterOptions, k as keyChord, m as mergeCaptureTables, u as useKeyboardRouter } from '../useKeyboardRouter-Dsq553Ur.js';
|
|
21
|
+
export { ALMADAR_DND_MIME, AuthContextValue, AuthUser, CanvasGestureCallbacks, CanvasGestureHandlers, CompileResult, CompileStage, DragReorderResult, DraggablePayload, EditorKeyEvent, Extension, ExtensionManifest, FileSystemFile, FileSystemStatus, GitHubRepo, GitHubStatus, KeyCaptureEntry, KeyCaptureTable, LongPressHandlers, LongPressOptions, OpenFile, PageHeadInput, Positioned, PullToRefreshOptions, PullToRefreshResult, QuerySingletonEntity, QuerySingletonResult, QuerySingletonState, QueryState, RenderInterpolationHandle, RenderInterpolationOptions, SelectedFile, SharedEntityStore, SharedEntityStoreContext, SharedEntitySubscriber, SharedEntityWriter, SwipeGestureOptions, SwipeGestureResult, SwipeHandlers, TraitListenSpec, UseCanvasGesturesOptions, UseCompileResult, UseDraggableOptions, UseDraggableResult, UseDropZoneOptions, UseDropZoneResult, UseExtensionsOptions, UseExtensionsResult, UseFileEditorOptions, UseFileEditorResult, UseFileSystemResult, UseKeyboardRouterOptions, claimDelivery, createSharedEntityStore, keyChord, mergeCaptureTables, parseQueryBinding, runTickFrame, useAgentChat, useAuthContext, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useKeyboardRouter, useLongPress, usePageHead, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useSwipeGesture, useTickVisibility, useTraitListens, useUIEvents, useValidation } from '../hooks/index.js';
|
|
27
22
|
export { S as SlotHostManifest, a as SlotHostRegion, b as assertUniqueSlotsPerHost } from '../slot-host-CPzrxLo9.js';
|
|
28
|
-
import 'three';
|
|
29
|
-
import '@xyflow/react';
|
|
30
23
|
import '@almadar/shell-runtime/client/EventTransport';
|
|
31
24
|
import '../verification-C5pTeMJv.js';
|
|
25
|
+
import '@xyflow/react';
|
|
32
26
|
import '@tanstack/react-query';
|
|
33
27
|
|
|
34
28
|
/**
|
|
@@ -86,6 +80,292 @@ declare namespace TraitFrame {
|
|
|
86
80
|
var displayName: string;
|
|
87
81
|
}
|
|
88
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Sprite Sheet Animation Types
|
|
85
|
+
*
|
|
86
|
+
* Type definitions for frame-based sprite sheet animation system.
|
|
87
|
+
* Supports standard 8-column × 5-row character sheets.
|
|
88
|
+
*
|
|
89
|
+
* `AnimationName`, `AnimationDef`, and `SpriteDirection` are canonically owned
|
|
90
|
+
* by `@almadar/core` (they travel with a `spriteSheet`-role `Asset.url`'s
|
|
91
|
+
* resolved atlas contract) — re-exported here so existing call sites in this
|
|
92
|
+
* package don't need to change their import path.
|
|
93
|
+
*
|
|
94
|
+
* @packageDocumentation
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
/** Unit facing direction on screen (4 isometric directions) */
|
|
98
|
+
type FacingDirection = 'se' | 'sw' | 'ne' | 'nw';
|
|
99
|
+
/** A resolved frame ready to draw on canvas */
|
|
100
|
+
interface ResolvedFrame {
|
|
101
|
+
/** URL of the sprite sheet image */
|
|
102
|
+
sheetUrl: string;
|
|
103
|
+
/** Source X in the sheet (pixel offset) */
|
|
104
|
+
sx: number;
|
|
105
|
+
/** Source Y in the sheet (pixel offset) */
|
|
106
|
+
sy: number;
|
|
107
|
+
/** Source width (frame width) */
|
|
108
|
+
sw: number;
|
|
109
|
+
/** Source height (frame height) */
|
|
110
|
+
sh: number;
|
|
111
|
+
/** Whether to flip horizontally when drawing (for NE/NW directions) */
|
|
112
|
+
flipX: boolean;
|
|
113
|
+
/** When true, canvas should apply sine-bob breathing offset (frozen idle frame) */
|
|
114
|
+
applyBreathing?: boolean;
|
|
115
|
+
}
|
|
116
|
+
/** Per-unit animation state tracked in the animation system */
|
|
117
|
+
interface UnitAnimationState {
|
|
118
|
+
/** Unit identifier */
|
|
119
|
+
unitId: string;
|
|
120
|
+
/** Current animation playing */
|
|
121
|
+
animation: AnimationName;
|
|
122
|
+
/** Current facing direction */
|
|
123
|
+
direction: FacingDirection;
|
|
124
|
+
/** Current frame index within the animation */
|
|
125
|
+
frame: number;
|
|
126
|
+
/** Elapsed time in current animation (ms) */
|
|
127
|
+
elapsed: number;
|
|
128
|
+
/** Animation to play after current one-shot completes (null = idle) */
|
|
129
|
+
queuedAnimation: AnimationName | null;
|
|
130
|
+
/** Whether the current one-shot animation has finished its last frame */
|
|
131
|
+
finished: boolean;
|
|
132
|
+
}
|
|
133
|
+
/** Frame dimensions for a sprite sheet */
|
|
134
|
+
interface SpriteFrameDims {
|
|
135
|
+
/** Width of a single frame in pixels */
|
|
136
|
+
width: number;
|
|
137
|
+
/** Height of a single frame in pixels */
|
|
138
|
+
height: number;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Sheet URLs per facing. Legacy hand-drawn packs ship only se/sw (ne/nw are
|
|
142
|
+
* mirror-flipped — a cheat that shows the face while walking away); 3D-baked
|
|
143
|
+
* sheets also ship real ne/nw, which `resolveFrame` prefers when present.
|
|
144
|
+
*/
|
|
145
|
+
interface SpriteSheetUrls {
|
|
146
|
+
/** Southeast-facing sheet URL */
|
|
147
|
+
se: string;
|
|
148
|
+
/** Southwest-facing sheet URL */
|
|
149
|
+
sw: string;
|
|
150
|
+
/** Northeast-facing sheet URL (real back view; omitted → mirror of sw) */
|
|
151
|
+
ne?: string;
|
|
152
|
+
/** Northwest-facing sheet URL (real back view; omitted → mirror of se) */
|
|
153
|
+
nw?: string;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Game Types — Generalized
|
|
158
|
+
*
|
|
159
|
+
* Core type definitions for tactical game state.
|
|
160
|
+
* Extracted from Trait Wars and generalized for any game project.
|
|
161
|
+
*/
|
|
162
|
+
interface Position {
|
|
163
|
+
x: number;
|
|
164
|
+
y: number;
|
|
165
|
+
}
|
|
166
|
+
interface GameUnit {
|
|
167
|
+
id: string;
|
|
168
|
+
name: string;
|
|
169
|
+
characterType: string;
|
|
170
|
+
team: 'player' | 'enemy' | 'neutral';
|
|
171
|
+
position: Position;
|
|
172
|
+
health: number;
|
|
173
|
+
maxHealth: number;
|
|
174
|
+
movement: number;
|
|
175
|
+
attack: number;
|
|
176
|
+
defense: number;
|
|
177
|
+
traits: UnitTrait[];
|
|
178
|
+
}
|
|
179
|
+
interface UnitTrait {
|
|
180
|
+
name: string;
|
|
181
|
+
currentState: string;
|
|
182
|
+
states: string[];
|
|
183
|
+
cooldown: number;
|
|
184
|
+
}
|
|
185
|
+
interface BoardTile {
|
|
186
|
+
terrain: string;
|
|
187
|
+
unitId?: string;
|
|
188
|
+
isBlocked?: boolean;
|
|
189
|
+
}
|
|
190
|
+
type GamePhase = 'observation' | 'planning' | 'execution' | 'tick';
|
|
191
|
+
interface GameState {
|
|
192
|
+
board: BoardTile[][];
|
|
193
|
+
units: Record<string, GameUnit>;
|
|
194
|
+
currentPhase: GamePhase;
|
|
195
|
+
currentTurn: number;
|
|
196
|
+
activeTeam: 'player' | 'enemy' | 'neutral';
|
|
197
|
+
selectedUnitId?: string;
|
|
198
|
+
validMoves: Position[];
|
|
199
|
+
attackTargets: Position[];
|
|
200
|
+
}
|
|
201
|
+
type GameAction = {
|
|
202
|
+
type: 'SELECT_UNIT';
|
|
203
|
+
unitId: string;
|
|
204
|
+
} | {
|
|
205
|
+
type: 'MOVE_UNIT';
|
|
206
|
+
from: Position;
|
|
207
|
+
to: Position;
|
|
208
|
+
} | {
|
|
209
|
+
type: 'ATTACK';
|
|
210
|
+
attackerId: string;
|
|
211
|
+
targetId: string;
|
|
212
|
+
} | {
|
|
213
|
+
type: 'END_TURN';
|
|
214
|
+
} | {
|
|
215
|
+
type: 'EXECUTE_TRAITS';
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* Create the initial game state with board and units.
|
|
219
|
+
*
|
|
220
|
+
* @param {number} width - Board width in tiles
|
|
221
|
+
* @param {number} height - Board height in tiles
|
|
222
|
+
* @param {GameUnit[]} units - Initial units to place on the board
|
|
223
|
+
* @param {string} [defaultTerrain] - Default terrain type for empty tiles
|
|
224
|
+
* @returns {GameState} The initialized game state
|
|
225
|
+
*/
|
|
226
|
+
declare function createInitialGameState(width: number, height: number, units: GameUnit[], defaultTerrain?: string): GameState;
|
|
227
|
+
/**
|
|
228
|
+
* Calculate valid movement positions for a unit.
|
|
229
|
+
*
|
|
230
|
+
* Returns all tiles within the unit's movement range that are
|
|
231
|
+
* not blocked and don't contain other units.
|
|
232
|
+
*
|
|
233
|
+
* @param {GameState} state - Current game state
|
|
234
|
+
* @param {string} unitId - ID of the unit to calculate moves for
|
|
235
|
+
* @returns {Position[]} Array of valid move positions
|
|
236
|
+
*/
|
|
237
|
+
declare function calculateValidMoves(state: GameState, unitId: string): Position[];
|
|
238
|
+
/**
|
|
239
|
+
* Calculate valid attack targets for a unit.
|
|
240
|
+
*
|
|
241
|
+
* Returns adjacent positions containing enemy units that can be attacked.
|
|
242
|
+
*
|
|
243
|
+
* @param {GameState} state - Current game state
|
|
244
|
+
* @param {string} unitId - ID of the unit to calculate targets for
|
|
245
|
+
* @returns {Position[]} Array of valid attack target positions
|
|
246
|
+
*/
|
|
247
|
+
declare function calculateAttackTargets(state: GameState, unitId: string): Position[];
|
|
248
|
+
|
|
249
|
+
/** A single isometric tile on the grid */
|
|
250
|
+
interface IsometricTile {
|
|
251
|
+
/** Optional unique identifier (required for 3D rendering) */
|
|
252
|
+
id?: string;
|
|
253
|
+
/** Grid x coordinate */
|
|
254
|
+
x: number;
|
|
255
|
+
/** Grid y coordinate (2D) */
|
|
256
|
+
y: number;
|
|
257
|
+
/** Grid z coordinate (3D alternative to y) */
|
|
258
|
+
z?: number;
|
|
259
|
+
/** Terrain type key (e.g., 'grass', 'stone', 'water') - 2D */
|
|
260
|
+
terrain?: string;
|
|
261
|
+
/** Tile type for visual rendering (3D) */
|
|
262
|
+
type?: string;
|
|
263
|
+
/** Direct sprite URL override (bypasses getTerrainSprite resolver) */
|
|
264
|
+
terrainSprite?: Asset;
|
|
265
|
+
/** Fallback/override fill color (2D + 3D) — bypasses the terrain color map. `.lolo`-computed. */
|
|
266
|
+
color?: string;
|
|
267
|
+
/** Whether units can traverse this tile (default true) */
|
|
268
|
+
passable?: boolean;
|
|
269
|
+
/** Movement cost for pathfinding (default 1) */
|
|
270
|
+
movementCost?: number;
|
|
271
|
+
/** Optional tile type for visual variants */
|
|
272
|
+
tileType?: string;
|
|
273
|
+
/** Elevation offset for 3D rendering */
|
|
274
|
+
elevation?: number;
|
|
275
|
+
/** 3D model URL (GLB format) for GameCanvas3D — rendered via ModelLoader with box fallback */
|
|
276
|
+
modelUrl?: Asset;
|
|
277
|
+
/** Y-axis rotation in degrees (3D) — orients directional pieces (track corners, road bends) */
|
|
278
|
+
rotation?: number;
|
|
279
|
+
}
|
|
280
|
+
/** A unit positioned on the isometric grid */
|
|
281
|
+
type IsometricUnit = {
|
|
282
|
+
/** Unique unit identifier */
|
|
283
|
+
id: string;
|
|
284
|
+
/** Current grid position (2D format) */
|
|
285
|
+
position?: {
|
|
286
|
+
x: number;
|
|
287
|
+
y: number;
|
|
288
|
+
};
|
|
289
|
+
/** Grid x coordinate (3D format) */
|
|
290
|
+
x?: number;
|
|
291
|
+
/** Grid y coordinate (3D format) */
|
|
292
|
+
y?: number;
|
|
293
|
+
/** Grid z coordinate (3D format) */
|
|
294
|
+
z?: number;
|
|
295
|
+
/** Static sprite URL (used when no sprite sheet animation) */
|
|
296
|
+
sprite?: Asset;
|
|
297
|
+
/** Sprite-sheet atlas JSON URL (e.g. `.../guardian-sprite-sheet.json`).
|
|
298
|
+
* When set, the canvas loads the atlas and crops/animates a single frame
|
|
299
|
+
* by animation state instead of drawing the whole sheet. */
|
|
300
|
+
spriteSheet?: Asset;
|
|
301
|
+
/** 3D model URL (GLB format) for GameCanvas3D — rendered via ModelLoader with box fallback */
|
|
302
|
+
modelUrl?: Asset;
|
|
303
|
+
/** Unit archetype key for sprite resolution */
|
|
304
|
+
unitType?: string;
|
|
305
|
+
/** Hero identifier for sprite sheet lookup */
|
|
306
|
+
heroId?: string;
|
|
307
|
+
/** Display name rendered below the unit */
|
|
308
|
+
name?: string;
|
|
309
|
+
/** Team affiliation for coloring */
|
|
310
|
+
team?: 'player' | 'enemy' | 'neutral';
|
|
311
|
+
/** Faction for 3D rendering (player/enemy/neutral) */
|
|
312
|
+
faction?: 'player' | 'enemy' | 'neutral';
|
|
313
|
+
/** Fallback/override tint color (2D + 3D) — bypasses the team/faction color map. `.lolo`-computed. */
|
|
314
|
+
tint?: string;
|
|
315
|
+
/** Current health */
|
|
316
|
+
health?: number;
|
|
317
|
+
/** Maximum health */
|
|
318
|
+
maxHealth?: number;
|
|
319
|
+
/** Trait attachments for state display */
|
|
320
|
+
traits?: UnitTrait[];
|
|
321
|
+
/** Previous position for movement trail ghost */
|
|
322
|
+
previousPosition?: {
|
|
323
|
+
x: number;
|
|
324
|
+
y: number;
|
|
325
|
+
};
|
|
326
|
+
/** Elevation offset for 3D rendering */
|
|
327
|
+
elevation?: number;
|
|
328
|
+
/** Animation name — driven by the LOLO state machine; renderer defaults to 'idle' */
|
|
329
|
+
animation?: AnimationName;
|
|
330
|
+
/** Frame index within the animation — driven by the LOLO state machine; renderer defaults to 0 */
|
|
331
|
+
frame?: number;
|
|
332
|
+
/** Y-axis heading in radians (3D) — travel/facing direction. Orients the unit model and
|
|
333
|
+
* drives the `chase` camera (behind + above, looking along heading). Driving boards set this. */
|
|
334
|
+
heading?: number;
|
|
335
|
+
};
|
|
336
|
+
/** A map feature (resource, building, portal, etc.) */
|
|
337
|
+
type IsometricFeature = {
|
|
338
|
+
/** Optional unique identifier (required for 3D rendering) */
|
|
339
|
+
id?: string;
|
|
340
|
+
/** Grid x coordinate */
|
|
341
|
+
x: number;
|
|
342
|
+
/** Grid y coordinate (2D) */
|
|
343
|
+
y: number;
|
|
344
|
+
/** Grid z coordinate (3D alternative to y) */
|
|
345
|
+
z?: number;
|
|
346
|
+
/** Feature type key (e.g., 'goldMine', 'castle', 'portal') */
|
|
347
|
+
type: string;
|
|
348
|
+
/** Direct sprite URL override (bypasses getFeatureSprite resolver) */
|
|
349
|
+
sprite?: Asset;
|
|
350
|
+
/** 3D model URL (GLB format) for GameCanvas3D */
|
|
351
|
+
assetUrl?: Asset;
|
|
352
|
+
/** Color override for 3D rendering */
|
|
353
|
+
color?: string;
|
|
354
|
+
/** Elevation offset for 3D rendering */
|
|
355
|
+
elevation?: number;
|
|
356
|
+
/** Y-axis rotation in radians (3D) — orients directional features (arches, signs, docks). */
|
|
357
|
+
rotation?: number;
|
|
358
|
+
};
|
|
359
|
+
/** Camera state for pan/zoom */
|
|
360
|
+
interface CameraState {
|
|
361
|
+
/** Camera X offset in pixels */
|
|
362
|
+
x: number;
|
|
363
|
+
/** Camera Y offset in pixels */
|
|
364
|
+
y: number;
|
|
365
|
+
/** Zoom level (1.0 = 100%) */
|
|
366
|
+
zoom: number;
|
|
367
|
+
}
|
|
368
|
+
|
|
89
369
|
/**
|
|
90
370
|
* boardEntity — tiny coercion helpers for reading `EntityRow` data inside game
|
|
91
371
|
* boards.
|
|
@@ -364,8 +644,10 @@ interface ScoreDisplayProps extends Omit<React$1.AriaAttributes, keyof A11yProps
|
|
|
364
644
|
className?: string;
|
|
365
645
|
/** Number formatting locale */
|
|
366
646
|
locale?: string;
|
|
647
|
+
/** Formatted value supplied by the program's presentation expression. */
|
|
648
|
+
displayValue?: string;
|
|
367
649
|
}
|
|
368
|
-
declare function ScoreDisplay({ assetUrl, value, score, label, icon, size, className, locale: localeProp, ...rest }: ScoreDisplayProps): React$1.JSX.Element;
|
|
650
|
+
declare function ScoreDisplay({ assetUrl, value, score, label, icon, size, className, locale: localeProp, displayValue, ...rest }: ScoreDisplayProps): React$1.JSX.Element;
|
|
369
651
|
declare namespace ScoreDisplay {
|
|
370
652
|
var displayName: string;
|
|
371
653
|
}
|
|
@@ -418,8 +700,10 @@ interface TimerDisplayProps extends Omit<React$1.AriaAttributes, keyof A11yProps
|
|
|
418
700
|
lowThreshold?: number;
|
|
419
701
|
/** Icon asset rendered to the left of the time value. Falls back to no icon. */
|
|
420
702
|
iconAsset?: Asset;
|
|
703
|
+
/** Time text supplied by the program's presentation expression. */
|
|
704
|
+
displayText?: string;
|
|
421
705
|
}
|
|
422
|
-
declare function TimerDisplay({ seconds, running, format, size, className, lowThreshold, iconAsset, ...rest }: TimerDisplayProps): React$1.JSX.Element;
|
|
706
|
+
declare function TimerDisplay({ seconds, running, format, size, className, lowThreshold, iconAsset, displayText, ...rest }: TimerDisplayProps): React$1.JSX.Element;
|
|
423
707
|
declare namespace TimerDisplay {
|
|
424
708
|
var displayName: string;
|
|
425
709
|
}
|
|
@@ -484,7 +768,7 @@ interface ControlGridButton {
|
|
|
484
768
|
assetUrl?: Asset;
|
|
485
769
|
variant?: 'primary' | 'secondary' | 'ghost' | string;
|
|
486
770
|
}
|
|
487
|
-
type DPadDirection = 'up' | 'down' | 'left' | 'right';
|
|
771
|
+
type DPadDirection = 'up' | 'down' | 'left' | 'right' | 'up-left' | 'up-right' | 'down-left' | 'down-right';
|
|
488
772
|
interface ControlGridProps extends Omit<React$1.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
489
773
|
kind: ControlGridKind;
|
|
490
774
|
/** action buttons (kind="actions") */
|
|
@@ -540,6 +824,8 @@ interface StatBadgeProps extends Omit<React$1.AriaAttributes, keyof A11yProps>,
|
|
|
540
824
|
label: string;
|
|
541
825
|
/** Current value (defaults to 0 if not provided) */
|
|
542
826
|
value?: number | string;
|
|
827
|
+
/** Formatted numeric value supplied by the program's presentation expression. */
|
|
828
|
+
displayValue?: string;
|
|
543
829
|
/** Maximum value (for bar/hearts format) */
|
|
544
830
|
max?: number;
|
|
545
831
|
/** Data source entity name (for schema config) */
|
|
@@ -557,7 +843,7 @@ interface StatBadgeProps extends Omit<React$1.AriaAttributes, keyof A11yProps>,
|
|
|
557
843
|
/** Additional CSS classes */
|
|
558
844
|
className?: string;
|
|
559
845
|
}
|
|
560
|
-
declare function StatBadge({ assetUrl, iconUrl, label, value, max, format, icon, size, variant, className, source: _source, field: _field, ...rest }: StatBadgeProps): React$1.JSX.Element;
|
|
846
|
+
declare function StatBadge({ assetUrl, iconUrl, label, value, displayValue, max, format, icon, size, variant, className, source: _source, field: _field, ...rest }: StatBadgeProps): React$1.JSX.Element;
|
|
561
847
|
declare namespace StatBadge {
|
|
562
848
|
var displayName: string;
|
|
563
849
|
}
|
|
@@ -864,6 +1150,60 @@ declare namespace Canvas2D {
|
|
|
864
1150
|
var displayName: string;
|
|
865
1151
|
}
|
|
866
1152
|
|
|
1153
|
+
/**
|
|
1154
|
+
* The 3D scene props a pattern declares as data (light rig, post-processing stack), shared by the `canvas` and
|
|
1155
|
+
* learning patterns and drawn by orbital-canvas.
|
|
1156
|
+
*
|
|
1157
|
+
* @packageDocumentation
|
|
1158
|
+
*/
|
|
1159
|
+
/** Single light's tunable knobs (ambient/directional share this shape). */
|
|
1160
|
+
type CanvasLightConfig = {
|
|
1161
|
+
intensity?: number;
|
|
1162
|
+
color?: string;
|
|
1163
|
+
position?: [number, number, number];
|
|
1164
|
+
};
|
|
1165
|
+
/** Hemisphere (sky/ground) light config. */
|
|
1166
|
+
type CanvasHemisphereConfig = {
|
|
1167
|
+
intensity?: number;
|
|
1168
|
+
color?: string;
|
|
1169
|
+
groundColor?: string;
|
|
1170
|
+
};
|
|
1171
|
+
/** Point light config — `position` is required since a point light has no meaningful default placement. */
|
|
1172
|
+
type CanvasPointLightConfig = {
|
|
1173
|
+
intensity?: number;
|
|
1174
|
+
color?: string;
|
|
1175
|
+
position: [number, number, number];
|
|
1176
|
+
distance?: number;
|
|
1177
|
+
decay?: number;
|
|
1178
|
+
};
|
|
1179
|
+
/** Canvas-level 3D light rig, authored as data. Every field is optional; an omitted field takes the standard rig's value. */
|
|
1180
|
+
type CanvasLighting = {
|
|
1181
|
+
/** Default intensity 0.6, color '#ffffff'. */
|
|
1182
|
+
ambient?: CanvasLightConfig;
|
|
1183
|
+
/** Default intensity 0.8, color '#ffffff', position [10, 20, 10]. */
|
|
1184
|
+
directional?: CanvasLightConfig;
|
|
1185
|
+
/** Default intensity 0.3, color '#87ceeb', groundColor '#362d1d'. */
|
|
1186
|
+
hemisphere?: CanvasHemisphereConfig;
|
|
1187
|
+
/** Additional point lights. Default none. */
|
|
1188
|
+
points?: CanvasPointLightConfig[];
|
|
1189
|
+
/** Procedural environment for PBR reflection (metals/glass). Default 'none'. */
|
|
1190
|
+
environment?: 'room' | 'none';
|
|
1191
|
+
/** Output tone mapping. Default 'aces' (filmic); 'none' renders material colors faithfully. */
|
|
1192
|
+
toneMapping?: 'aces' | 'none';
|
|
1193
|
+
};
|
|
1194
|
+
/** Canvas-level post-processing stack. Every field is optional; an omitted field means that pass is not run. */
|
|
1195
|
+
type CanvasPost = {
|
|
1196
|
+
bloom?: {
|
|
1197
|
+
intensity?: number;
|
|
1198
|
+
threshold?: number;
|
|
1199
|
+
smoothing?: number;
|
|
1200
|
+
};
|
|
1201
|
+
vignette?: {
|
|
1202
|
+
offset?: number;
|
|
1203
|
+
darkness?: number;
|
|
1204
|
+
};
|
|
1205
|
+
};
|
|
1206
|
+
|
|
867
1207
|
/**
|
|
868
1208
|
* Canvas — the unified game canvas draw-host (P6 closing).
|
|
869
1209
|
*
|
|
@@ -884,8 +1224,8 @@ declare namespace Canvas2D {
|
|
|
884
1224
|
* shapes so the single value stays assignable to either host's prop (the two hosts
|
|
885
1225
|
* still emit their own coordinate shape at runtime).
|
|
886
1226
|
*
|
|
887
|
-
* The 3D
|
|
888
|
-
*
|
|
1227
|
+
* The 3D painter is orbital-canvas (wasm), handed the pattern's own props as its
|
|
1228
|
+
* scene config.
|
|
889
1229
|
*
|
|
890
1230
|
* @packageDocumentation
|
|
891
1231
|
*/
|
|
@@ -1030,6 +1370,11 @@ interface GameAudioToggleProps extends Omit<React__default.AriaAttributes, keyof
|
|
|
1030
1370
|
size?: 'sm' | 'md' | 'lg';
|
|
1031
1371
|
/** Additional CSS classes */
|
|
1032
1372
|
className?: string;
|
|
1373
|
+
/** Authored mute state. When supplied, the caller owns updates. */
|
|
1374
|
+
muted?: boolean;
|
|
1375
|
+
/** Accessible labels supplied by the translated parent view. */
|
|
1376
|
+
soundOnLabel?: string;
|
|
1377
|
+
mutedLabel?: string;
|
|
1033
1378
|
/** Loading state (passed through) */
|
|
1034
1379
|
isLoading?: boolean;
|
|
1035
1380
|
/** Error state (passed through) */
|
|
@@ -1043,7 +1388,7 @@ interface GameAudioToggleProps extends Omit<React__default.AriaAttributes, keyof
|
|
|
1043
1388
|
muted: boolean;
|
|
1044
1389
|
}>;
|
|
1045
1390
|
}
|
|
1046
|
-
declare function GameAudioToggle({ size, className, onAsset, offAsset, toggleEvent, ...rest }: GameAudioToggleProps): React__default.JSX.Element;
|
|
1391
|
+
declare function GameAudioToggle({ size, className, muted: authoredMuted, soundOnLabel, mutedLabel, onAsset, offAsset, toggleEvent, isLoading, ...rest }: GameAudioToggleProps): React__default.JSX.Element;
|
|
1047
1392
|
declare namespace GameAudioToggle {
|
|
1048
1393
|
var displayName: string;
|
|
1049
1394
|
}
|
|
@@ -1226,6 +1571,10 @@ interface TraitSlotProps extends Omit<React__default.AriaAttributes, keyof A11yP
|
|
|
1226
1571
|
locked?: boolean;
|
|
1227
1572
|
/** Label shown when locked */
|
|
1228
1573
|
lockLabel?: string;
|
|
1574
|
+
/** Accessible name for an empty slot; author supplies translated text. */
|
|
1575
|
+
emptyLabel?: string;
|
|
1576
|
+
/** Accessible name for the remove control; author supplies translated text. */
|
|
1577
|
+
removeLabel?: string;
|
|
1229
1578
|
/** Whether slot is selected */
|
|
1230
1579
|
selected?: boolean;
|
|
1231
1580
|
/** Size variant */
|
|
@@ -1273,7 +1622,7 @@ interface TraitSlotProps extends Omit<React__default.AriaAttributes, keyof A11yP
|
|
|
1273
1622
|
itemId: string;
|
|
1274
1623
|
}>;
|
|
1275
1624
|
}
|
|
1276
|
-
declare function TraitSlot({ slotNumber, equippedItem, locked, lockLabel, selected, size, showTooltip, categoryColors, tooltipFrameUrl, className, feedback, onItemDrop, draggable, onDragStart, onClick, onRemove, clickEvent, removeEvent, dropEvent, ...rest }: TraitSlotProps): React__default.JSX.Element;
|
|
1625
|
+
declare function TraitSlot({ slotNumber, equippedItem, locked, lockLabel, emptyLabel, removeLabel, selected, size, showTooltip, categoryColors, tooltipFrameUrl, className, feedback, onItemDrop, draggable, onDragStart, onClick, onRemove, clickEvent, removeEvent, dropEvent, ...rest }: TraitSlotProps): React__default.JSX.Element;
|
|
1277
1626
|
declare namespace TraitSlot {
|
|
1278
1627
|
var displayName: string;
|
|
1279
1628
|
}
|
|
@@ -1392,87 +1741,6 @@ declare namespace EditorToolbar {
|
|
|
1392
1741
|
var displayName: string;
|
|
1393
1742
|
}
|
|
1394
1743
|
|
|
1395
|
-
/**
|
|
1396
|
-
* Shared types for entity-display organisms.
|
|
1397
|
-
*
|
|
1398
|
-
* All entity-display organisms (DataTable, List, Table, CardGrid, DetailPanel)
|
|
1399
|
-
* extend EntityDisplayProps to guarantee a uniform prop contract.
|
|
1400
|
-
*
|
|
1401
|
-
* Exception: Form manages local `formData` state for field input tracking.
|
|
1402
|
-
* This is the ONE allowed exception — documented here.
|
|
1403
|
-
*/
|
|
1404
|
-
|
|
1405
|
-
declare const EntityDisplayEvents: {
|
|
1406
|
-
readonly SORT: "SORT";
|
|
1407
|
-
readonly PAGINATE: "PAGINATE";
|
|
1408
|
-
readonly SEARCH: "SEARCH";
|
|
1409
|
-
readonly FILTER: "FILTER";
|
|
1410
|
-
readonly CLEAR_FILTERS: "CLEAR_FILTERS";
|
|
1411
|
-
readonly SELECT: "SELECT";
|
|
1412
|
-
readonly DESELECT: "DESELECT";
|
|
1413
|
-
};
|
|
1414
|
-
interface SortPayload {
|
|
1415
|
-
field: string;
|
|
1416
|
-
direction: 'asc' | 'desc';
|
|
1417
|
-
}
|
|
1418
|
-
interface PaginatePayload {
|
|
1419
|
-
page: number;
|
|
1420
|
-
pageSize?: number;
|
|
1421
|
-
}
|
|
1422
|
-
interface SearchPayload {
|
|
1423
|
-
query: string;
|
|
1424
|
-
}
|
|
1425
|
-
interface FilterPayload {
|
|
1426
|
-
field: string;
|
|
1427
|
-
operator: string;
|
|
1428
|
-
value: FieldValue;
|
|
1429
|
-
}
|
|
1430
|
-
interface SelectPayload {
|
|
1431
|
-
ids: (string | number)[];
|
|
1432
|
-
}
|
|
1433
|
-
/**
|
|
1434
|
-
* Common non-entity display state shared by every display organism — loading,
|
|
1435
|
-
* error, and the render-ui display hints (sort/search/pagination/selection).
|
|
1436
|
-
* Carries NO entity data and NO generic. Components that show entity data add
|
|
1437
|
-
* their own `entity?: EntityRow | readonly EntityRow[]` field directly (the one
|
|
1438
|
-
* unified entity type from `@almadar/core`); components that only need the
|
|
1439
|
-
* loading/hint surface just extend this.
|
|
1440
|
-
*/
|
|
1441
|
-
interface DisplayStateProps {
|
|
1442
|
-
/** Additional CSS classes */
|
|
1443
|
-
className?: string;
|
|
1444
|
-
/** Loading state indicator */
|
|
1445
|
-
isLoading?: boolean;
|
|
1446
|
-
/** Error state */
|
|
1447
|
-
error?: UiError | null;
|
|
1448
|
-
/** Current sort field */
|
|
1449
|
-
sortBy?: string;
|
|
1450
|
-
/** Current sort direction */
|
|
1451
|
-
sortDirection?: 'asc' | 'desc';
|
|
1452
|
-
/** Current search query value */
|
|
1453
|
-
searchValue?: string;
|
|
1454
|
-
/** Current page number (1-indexed) */
|
|
1455
|
-
page?: number;
|
|
1456
|
-
/** Number of items per page */
|
|
1457
|
-
pageSize?: number;
|
|
1458
|
-
/** Total number of items (for pagination display) */
|
|
1459
|
-
totalCount?: number;
|
|
1460
|
-
/**
|
|
1461
|
-
* Active filters, keyed by field name. Scalar-only (`string | number |
|
|
1462
|
-
* boolean`) rather than the full `FieldValue` domain: `FieldValue` is a
|
|
1463
|
-
* self-referential union (adds `Date`, nested arrays/objects) the
|
|
1464
|
-
* pattern-sync scanner can't shape into a `Map string V` knob, so it always
|
|
1465
|
-
* degraded to `json`. This narrows out date/array/nested-object filter
|
|
1466
|
-
* values — no current call site in this package constructs this prop, so
|
|
1467
|
-
* nothing here breaks, but a caller wiring a date-range or multi-select
|
|
1468
|
-
* filter through this prop would need those. Flagged for the coordinator;
|
|
1469
|
-
* revert to `Record<string, FieldValue>` if that capability is needed.
|
|
1470
|
-
*/
|
|
1471
|
-
activeFilters?: Record<string, string | number | boolean>;
|
|
1472
|
-
/** Currently selected item IDs */
|
|
1473
|
-
selectedIds?: readonly (string | number)[];
|
|
1474
|
-
}
|
|
1475
|
-
|
|
1476
1744
|
/**
|
|
1477
1745
|
* ActionTile Component
|
|
1478
1746
|
*
|
|
@@ -1483,7 +1751,7 @@ interface DisplayStateProps {
|
|
|
1483
1751
|
* @packageDocumentation
|
|
1484
1752
|
*/
|
|
1485
1753
|
|
|
1486
|
-
interface ActionTileProps extends
|
|
1754
|
+
interface ActionTileProps extends Omit<React__default.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
1487
1755
|
/** The action data */
|
|
1488
1756
|
action: SlotItemData;
|
|
1489
1757
|
/** Size variant */
|
|
@@ -1495,6 +1763,8 @@ interface ActionTileProps extends DisplayStateProps, Omit<React__default.AriaAtt
|
|
|
1495
1763
|
bg: string;
|
|
1496
1764
|
border: string;
|
|
1497
1765
|
}>;
|
|
1766
|
+
/** Additional CSS classes */
|
|
1767
|
+
className?: string;
|
|
1498
1768
|
}
|
|
1499
1769
|
declare function ActionTile({ action, size, disabled, categoryColors, className, ...rest }: ActionTileProps): React__default.JSX.Element;
|
|
1500
1770
|
declare namespace ActionTile {
|
|
@@ -1575,10 +1845,14 @@ interface SequenceBarProps extends Omit<React__default.AriaAttributes, keyof A11
|
|
|
1575
1845
|
slotFeedback?: Array<'correct' | 'wrong' | null>;
|
|
1576
1846
|
/** Size variant */
|
|
1577
1847
|
size?: 'sm' | 'md' | 'lg';
|
|
1848
|
+
/** Accessible name for empty slots; author supplies translated text. */
|
|
1849
|
+
emptyLabel?: string;
|
|
1850
|
+
/** Accessible name for remove controls; author supplies translated text. */
|
|
1851
|
+
removeLabel?: string;
|
|
1578
1852
|
/** Additional CSS classes */
|
|
1579
1853
|
className?: string;
|
|
1580
1854
|
}
|
|
1581
|
-
declare function SequenceBar({ slots, maxSlots, onSlotDrop, onSlotRemove, slotDropEvent, slotRemoveEvent, playing, currentStep, categoryColors, slotFeedback, size, className, ...rest }: SequenceBarProps): React__default.JSX.Element;
|
|
1855
|
+
declare function SequenceBar({ slots, maxSlots, onSlotDrop, onSlotRemove, slotDropEvent, slotRemoveEvent, playing, currentStep, categoryColors, slotFeedback, size, emptyLabel, removeLabel, className, ...rest }: SequenceBarProps): React__default.JSX.Element;
|
|
1582
1856
|
declare namespace SequenceBar {
|
|
1583
1857
|
var displayName: string;
|
|
1584
1858
|
}
|
|
@@ -1747,7 +2021,7 @@ interface GameShellProps extends Omit<React__default.AriaAttributes, keyof A11yP
|
|
|
1747
2021
|
backgroundAsset?: Asset;
|
|
1748
2022
|
/** Per-call-site 9-sliced panel override. Chrome normally comes from the active theme; most callers leave this unset. */
|
|
1749
2023
|
hudBackgroundAsset?: Asset;
|
|
1750
|
-
/**
|
|
2024
|
+
/** Shared game display-font alias or a CSS font-family. Scoped override of the theme contract's --font-family-display slot: titles and numerics take this face, body text follows the active theme. Unset = the theme token decides. */
|
|
1751
2025
|
fontFamily?: string;
|
|
1752
2026
|
/** Scopes an `@almadar/ui` theme (e.g. "game-sci-fi-dark") to this shell's subtree. */
|
|
1753
2027
|
"data-theme"?: string;
|
|
@@ -1757,10 +2031,9 @@ declare const GameShell: React__default.FC<GameShellProps>;
|
|
|
1757
2031
|
/**
|
|
1758
2032
|
* LearningCanvas
|
|
1759
2033
|
*
|
|
1760
|
-
* A
|
|
1761
|
-
*
|
|
1762
|
-
*
|
|
1763
|
-
* events, and optional animation drives a continuous render loop.
|
|
2034
|
+
* A declarative canvas atom for math and science visualizations: a list of primitive shapes (line, arrow, circle,
|
|
2035
|
+
* rect, polygon, path, text, axis, grid) plus readout chips and trace insets, mapped and drawn by orbital-canvas.
|
|
2036
|
+
* Optional interactivity emits click events.
|
|
1764
2037
|
*
|
|
1765
2038
|
* This is the foundational atom for the `learning/` behavior family.
|
|
1766
2039
|
*
|
|
@@ -1820,6 +2093,22 @@ interface LearningShape extends DiagramMarkRoles {
|
|
|
1820
2093
|
/** venn-region only: ids of sibling `circle` shapes SUBTRACTED from the `inside` intersection (true lens/exclusion shading). */
|
|
1821
2094
|
outside?: string[];
|
|
1822
2095
|
}
|
|
2096
|
+
/**
|
|
2097
|
+
* Particles packed as data (a GPU readback, for one): one little-endian 32-bit word every `stride` bytes, x in bits
|
|
2098
|
+
* 0-11, y in bits 12-23 and a `palette` index in bits 24-31. Drawn in one pass, without a shape per particle.
|
|
2099
|
+
*/
|
|
2100
|
+
interface LearningParticles {
|
|
2101
|
+
/** The packed words as base64 bytes (a CPU copy); exactly one of `data` or `buffer`. */
|
|
2102
|
+
data?: string;
|
|
2103
|
+
/** The packed words where they lie on the GPU (a program's compute output, drawn without a readback). */
|
|
2104
|
+
buffer?: GpuBuffer;
|
|
2105
|
+
/** Bytes from one particle's word to the next. */
|
|
2106
|
+
stride: number;
|
|
2107
|
+
/** Drawn half-size of each particle, in scene pixels. */
|
|
2108
|
+
radius: number;
|
|
2109
|
+
/** Particle colors by index: tone names, `var()` tokens or literals; an index past the end takes the last. */
|
|
2110
|
+
palette: string[];
|
|
2111
|
+
}
|
|
1823
2112
|
/** A single top-right status chip (e.g. a live measurement or score). */
|
|
1824
2113
|
interface LearningReadout {
|
|
1825
2114
|
/** Chip label, shown before the value. */
|
|
@@ -1883,6 +2172,8 @@ interface LearningCanvasProps extends A11yProps {
|
|
|
1883
2172
|
fontFamily?: string;
|
|
1884
2173
|
/** Declarative shapes to draw. */
|
|
1885
2174
|
shapes?: LearningShape[];
|
|
2175
|
+
/** Packed particles drawn under the shapes in one pass ({@link LearningParticles}). */
|
|
2176
|
+
particles?: LearningParticles;
|
|
1886
2177
|
/**
|
|
1887
2178
|
* Neutral game-canvas drawables (e.g. `draw-sprite`, `draw-fx-layer`) painted
|
|
1888
2179
|
* in world coordinates via the supplied `projector`. This lets the learning
|
|
@@ -2101,6 +2392,11 @@ interface ErrorStateProps extends A11yProps {
|
|
|
2101
2392
|
}
|
|
2102
2393
|
declare const ErrorState: React__default.FC<ErrorStateProps>;
|
|
2103
2394
|
|
|
2395
|
+
/**
|
|
2396
|
+
* @role status
|
|
2397
|
+
* @tokens --color-muted --color-border
|
|
2398
|
+
* @motion css
|
|
2399
|
+
*/
|
|
2104
2400
|
interface SkeletonProps extends A11yProps {
|
|
2105
2401
|
/** The skeleton variant to render */
|
|
2106
2402
|
variant?: SkeletonVariant;
|
|
@@ -2224,6 +2520,11 @@ declare const Accordion: React__default.FC<AccordionProps>;
|
|
|
2224
2520
|
*/
|
|
2225
2521
|
|
|
2226
2522
|
type AlertVariant = "info" | "success" | "warning" | "error";
|
|
2523
|
+
/**
|
|
2524
|
+
* @role status
|
|
2525
|
+
* @tokens --color-error --color-warning --color-success --color-info
|
|
2526
|
+
* @motion none
|
|
2527
|
+
*/
|
|
2227
2528
|
interface AlertProps extends A11yProps {
|
|
2228
2529
|
/** Alert content (children or message) */
|
|
2229
2530
|
children?: React__default.ReactNode;
|
|
@@ -2748,6 +3049,51 @@ interface FloatingActionButtonProps extends A11yProps {
|
|
|
2748
3049
|
}
|
|
2749
3050
|
declare const FloatingActionButton: React__default.FC<FloatingActionButtonProps>;
|
|
2750
3051
|
|
|
3052
|
+
/**
|
|
3053
|
+
* GuestView — paints the UI of a guest program session (program/open) inside the opener's view.
|
|
3054
|
+
* Paint only: a click on a control inside it is routed by the kernel to the opener as its
|
|
3055
|
+
* `deliver` event { guest, address, event, payload }.
|
|
3056
|
+
*
|
|
3057
|
+
* The guest's own traits are the ones an `@trait.X` inside its paint names, so the view holds a scoped
|
|
3058
|
+
* UISlotProvider seeded with every paint the guest made: `TraitFrame` resolves against the guest, not the host.
|
|
3059
|
+
* Every slot the guest paints renders inside the view (contained, never the host page's), and an in-app link
|
|
3060
|
+
* inside it is the guest's navigation, emitted as `navigate`, never the host router's. Each guest paint is scoped to
|
|
3061
|
+
* the trait that drew it (its `orbital`, as a page scopes its own), so a click names its painter for the kernel.
|
|
3062
|
+
*/
|
|
3063
|
+
|
|
3064
|
+
interface GuestPaintEntry {
|
|
3065
|
+
/** Slot the guest trait painted */
|
|
3066
|
+
slot: UISlot;
|
|
3067
|
+
/** Guest trait that painted `content` */
|
|
3068
|
+
trait: string;
|
|
3069
|
+
/** The guest orbital declaring `trait`: the scope its controls emit under */
|
|
3070
|
+
orbital?: string | null;
|
|
3071
|
+
/** Whether the trait is embedded (`@trait.X`) on the guest's page rather than the page root */
|
|
3072
|
+
embedded: boolean;
|
|
3073
|
+
/** The painted pattern tree */
|
|
3074
|
+
content: PatternNode | string | null;
|
|
3075
|
+
}
|
|
3076
|
+
interface GuestViewProps {
|
|
3077
|
+
/** Guest session handle (`program/open` answers it, e.g. "guest-1"). Data for the kernel; never rendered. */
|
|
3078
|
+
guest: string;
|
|
3079
|
+
/** The guest's page-root trait whose paint is `children`: their controls are scoped to it. Never rendered. */
|
|
3080
|
+
source: string;
|
|
3081
|
+
/** The opener trait's declared event a click inside this view is delivered as. The kernel emits it, never the renderer. */
|
|
3082
|
+
deliver: EventKey;
|
|
3083
|
+
/** The opener trait's declared event an in-app link inside this view is emitted as, with { guest, route }. Without it a link inside the guest does nothing. */
|
|
3084
|
+
navigate?: EventKey;
|
|
3085
|
+
/** The guest's current route (`program/open` and `program/navigate` answer it): the current page path of everything inside, so the guest's navigation shows its own active page and closes its own drawers. */
|
|
3086
|
+
route?: string;
|
|
3087
|
+
/** Every paint the guest made (`rendered` entries, the latest per trait and slot). An `@trait.X` inside the content resolves to the guest's trait X from these. */
|
|
3088
|
+
paints?: ReadonlyArray<GuestPaintEntry>;
|
|
3089
|
+
/** The guest's painted content */
|
|
3090
|
+
children?: React__default.ReactNode;
|
|
3091
|
+
}
|
|
3092
|
+
/**
|
|
3093
|
+
* GuestView - Paints a guest program's UI; guest, source and deliver are kernel routing data
|
|
3094
|
+
*/
|
|
3095
|
+
declare const GuestView: React__default.FC<GuestViewProps>;
|
|
3096
|
+
|
|
2751
3097
|
/**
|
|
2752
3098
|
* Grid Component
|
|
2753
3099
|
*
|
|
@@ -3433,6 +3779,12 @@ interface TabItem {
|
|
|
3433
3779
|
/** Whether this tab is currently active (for controlled tabs) */
|
|
3434
3780
|
active?: boolean;
|
|
3435
3781
|
}
|
|
3782
|
+
/**
|
|
3783
|
+
* @role tablist
|
|
3784
|
+
* @tokens --color-muted --color-primary --color-border --color-foreground --color-muted-foreground
|
|
3785
|
+
* @contrast muted-foreground background
|
|
3786
|
+
* @motion css
|
|
3787
|
+
*/
|
|
3436
3788
|
interface TabsProps extends A11yProps {
|
|
3437
3789
|
/** Tab items */
|
|
3438
3790
|
items?: TabItem[];
|
|
@@ -3600,12 +3952,16 @@ interface DrawerProps extends A11yProps {
|
|
|
3600
3952
|
children?: React__default.ReactNode;
|
|
3601
3953
|
/** Footer content */
|
|
3602
3954
|
footer?: React__default.ReactNode;
|
|
3955
|
+
/** Controls in the header beside the close button, outside the title heading (e.g. a size toggle). */
|
|
3956
|
+
headerActions?: React__default.ReactNode;
|
|
3603
3957
|
/** Position (left or right) */
|
|
3604
3958
|
position?: DrawerPosition;
|
|
3605
3959
|
/** Width (CSS value or preset size) */
|
|
3606
3960
|
width?: string | DrawerSize;
|
|
3607
3961
|
/** Show close button */
|
|
3608
3962
|
showCloseButton?: boolean;
|
|
3963
|
+
/** Accessible name for the close button, when supplied by the program. */
|
|
3964
|
+
closeButtonLabel?: string;
|
|
3609
3965
|
/** Close on overlay click */
|
|
3610
3966
|
closeOnOverlayClick?: boolean;
|
|
3611
3967
|
/** Close on escape key */
|
|
@@ -3614,6 +3970,10 @@ interface DrawerProps extends A11yProps {
|
|
|
3614
3970
|
className?: string;
|
|
3615
3971
|
/** Declarative close event — emits UI:{closeEvent} via eventBus when drawer should close */
|
|
3616
3972
|
closeEvent?: EventKey;
|
|
3973
|
+
/** Block the page behind it: an overlay, no page scroll, focus kept inside. `false` leaves the page usable beside the drawer (no overlay, no focus trap); Escape and the close button still close it.
|
|
3974
|
+
* @default true
|
|
3975
|
+
*/
|
|
3976
|
+
modal?: boolean;
|
|
3617
3977
|
}
|
|
3618
3978
|
declare const Drawer: React__default.FC<DrawerProps>;
|
|
3619
3979
|
|
|
@@ -3850,8 +4210,8 @@ interface CodeDiagnostic {
|
|
|
3850
4210
|
*
|
|
3851
4211
|
* Event Contract:
|
|
3852
4212
|
* - Emits: UI:COPY_CODE { language, success }
|
|
3853
|
-
* - Emits: UI:EDITOR_FOCUS { editorId }
|
|
3854
|
-
* -
|
|
4213
|
+
* - Emits: UI:EDITOR_FOCUS { editorId }, UI:EDITOR_BLUR { editorId } (the declared `onEditorFocus` / `onEditorBlur`)
|
|
4214
|
+
* - Reports focus and blur to EditorFocusContext, which the keyboard router reads
|
|
3855
4215
|
*
|
|
3856
4216
|
* The editor capability props (`onMotion` / `onOperate` / `onInsertText` /
|
|
3857
4217
|
* `onSetMode`) are declarative bus LISTENS (`EventListen<P>`), not emits —
|
|
@@ -3868,6 +4228,7 @@ type PrismLanguageGrammar = (prism: object) => void;
|
|
|
3868
4228
|
/** A consumer-supplied async grammar fetcher. Returns the language module
|
|
3869
4229
|
* default (registered with PrismLight), or `null` if no grammar exists. */
|
|
3870
4230
|
type CodeLanguageLoader = (lang: string) => Promise<PrismLanguageGrammar | null>;
|
|
4231
|
+
type ErrorLineSeverity = 'error' | 'warning';
|
|
3871
4232
|
/** Wire up a dynamic language-grammar loader. Must be called from app source
|
|
3872
4233
|
* (not a pre-bundled dependency) so the bundler can split grammars into chunks. */
|
|
3873
4234
|
declare function registerCodeLanguageLoader(loader: CodeLanguageLoader | null): void;
|
|
@@ -3944,9 +4305,10 @@ interface CodeBlockProps extends A11yProps {
|
|
|
3944
4305
|
* warning = yellow. Honored by the editable overlay and (GAP-84) by
|
|
3945
4306
|
* viewer mode's non-diff highlight; pass undefined (default) to disable.
|
|
3946
4307
|
* The consumer is responsible for computing the path → line map from the
|
|
3947
|
-
* schema + validation results.
|
|
4308
|
+
* schema + validation results. A program authors it as a record of the
|
|
4309
|
+
* line number (as text) to severity, read the same way.
|
|
3948
4310
|
*/
|
|
3949
|
-
errorLines?:
|
|
4311
|
+
errorLines?: ReadonlyMap<number, ErrorLineSeverity> | Readonly<Record<string, ErrorLineSeverity>>;
|
|
3950
4312
|
/** Lines to mark and keep in view (1-based, inclusive): the code of the step a running program just took. */
|
|
3951
4313
|
highlightLines?: {
|
|
3952
4314
|
start: number;
|
|
@@ -4116,6 +4478,24 @@ interface CodeBlockProps extends A11yProps {
|
|
|
4116
4478
|
* @tier presentation
|
|
4117
4479
|
*/
|
|
4118
4480
|
lineNumbers?: boolean;
|
|
4481
|
+
/**
|
|
4482
|
+
* Read-only only: event emitted when the reader picks Ask on code they selected (as `UI:<askEvent>`)
|
|
4483
|
+
* @tier presentation
|
|
4484
|
+
*/
|
|
4485
|
+
askEvent?: EventEmit<{
|
|
4486
|
+
selectedText: string;
|
|
4487
|
+
}>;
|
|
4488
|
+
/**
|
|
4489
|
+
* Read-only only: event emitted when the reader picks Note on code they selected (as `UI:<noteEvent>`)
|
|
4490
|
+
* @tier presentation
|
|
4491
|
+
*/
|
|
4492
|
+
noteEvent?: EventEmit<{
|
|
4493
|
+
selectedText: string;
|
|
4494
|
+
}>;
|
|
4495
|
+
/** Ask action label (default: translated) */
|
|
4496
|
+
askLabel?: string;
|
|
4497
|
+
/** Note action label (default: translated) */
|
|
4498
|
+
noteLabel?: string;
|
|
4119
4499
|
}
|
|
4120
4500
|
declare const CodeBlock: React__default.NamedExoticComponent<CodeBlockProps>;
|
|
4121
4501
|
|
|
@@ -4815,9 +5195,8 @@ declare const ProgressDots: React__default.FC<ProgressDotsProps>;
|
|
|
4815
5195
|
/**
|
|
4816
5196
|
* MathCanvas
|
|
4817
5197
|
*
|
|
4818
|
-
* A field-scoped learning molecule for
|
|
4819
|
-
*
|
|
4820
|
-
* of the declarative `LearningCanvas` atom.
|
|
5198
|
+
* A field-scoped learning molecule for math: axes, grid, curves, points, vectors, regions, bars, guides, angles,
|
|
5199
|
+
* hops and game drawables in plot coordinates, mapped and drawn by orbital-canvas.
|
|
4821
5200
|
*
|
|
4822
5201
|
* @packageDocumentation
|
|
4823
5202
|
*/
|
|
@@ -4980,9 +5359,9 @@ interface MathCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProps>,
|
|
|
4980
5359
|
* the same x/y world→pixel transform used for curves/points.
|
|
4981
5360
|
*/
|
|
4982
5361
|
drawables?: DrawableNode[];
|
|
4983
|
-
/** Top-right status chips
|
|
5362
|
+
/** Top-right status chips (the LearningCanvas vocabulary). */
|
|
4984
5363
|
readouts?: LearningReadout[];
|
|
4985
|
-
/** Inset sparkline panels
|
|
5364
|
+
/** Inset sparkline panels (the LearningCanvas vocabulary). */
|
|
4986
5365
|
traces?: LearningTracePanel[];
|
|
4987
5366
|
interactive?: boolean;
|
|
4988
5367
|
animate?: boolean;
|
|
@@ -5003,9 +5382,8 @@ declare const MathCanvas: React$1.FC<MathCanvasProps>;
|
|
|
5003
5382
|
/**
|
|
5004
5383
|
* PhysicsCanvas
|
|
5005
5384
|
*
|
|
5006
|
-
* A field-scoped learning molecule for physics
|
|
5007
|
-
*
|
|
5008
|
-
* atom.
|
|
5385
|
+
* A field-scoped learning molecule for physics: bodies, constraints, velocity and force arrows, fixtures, fields
|
|
5386
|
+
* and meters in 2D, or a 3D scene, mapped and drawn by orbital-canvas.
|
|
5009
5387
|
*
|
|
5010
5388
|
* @packageDocumentation
|
|
5011
5389
|
*/
|
|
@@ -5118,17 +5496,17 @@ interface PhysicsTrail {
|
|
|
5118
5496
|
fade?: boolean;
|
|
5119
5497
|
}
|
|
5120
5498
|
/** One elevation color band for a `surface3d` height field; sorted ascending by `min`. */
|
|
5121
|
-
|
|
5499
|
+
type PhysicsSurfaceBand = {
|
|
5122
5500
|
/** Inclusive floor height in cells; omit for the catch-all lowest band. */
|
|
5123
5501
|
min?: number;
|
|
5124
5502
|
color: string;
|
|
5125
|
-
}
|
|
5503
|
+
};
|
|
5126
5504
|
/**
|
|
5127
5505
|
* A 3D height-field mesh (a wave, a terrain, a potential surface) rendered
|
|
5128
5506
|
* from a row-major grid of heights. 3D only.
|
|
5129
5507
|
* @synonyms heightfield, wave surface, terrain, potential surface
|
|
5130
5508
|
*/
|
|
5131
|
-
|
|
5509
|
+
type PhysicsSurface3D = {
|
|
5132
5510
|
/** Grid columns. */
|
|
5133
5511
|
nx: number;
|
|
5134
5512
|
/** Grid rows. */
|
|
@@ -5148,7 +5526,7 @@ interface PhysicsSurface3D {
|
|
|
5148
5526
|
opacity?: number;
|
|
5149
5527
|
/** Faceted low-poly shading (default true). */
|
|
5150
5528
|
flatShading?: boolean;
|
|
5151
|
-
}
|
|
5529
|
+
};
|
|
5152
5530
|
/**
|
|
5153
5531
|
* A single labeled 3D arrow (field arrow, axis-triad leg, force/velocity
|
|
5154
5532
|
* vector), rendered via `vectors3d` + `vectorScale`. 3D only.
|
|
@@ -5196,7 +5574,7 @@ interface PhysicsAngleMarker {
|
|
|
5196
5574
|
* A single uniform vector/into-page/out-of-page lattice drawn over a region.
|
|
5197
5575
|
* @synonyms magnetic field, into page, out of page, field grid
|
|
5198
5576
|
*/
|
|
5199
|
-
|
|
5577
|
+
type PhysicsField = {
|
|
5200
5578
|
kind: 'arrows' | 'into' | 'out';
|
|
5201
5579
|
/** Lattice cell size in pixels (default 48). */
|
|
5202
5580
|
spacing?: number;
|
|
@@ -5214,7 +5592,7 @@ interface PhysicsField {
|
|
|
5214
5592
|
width?: number;
|
|
5215
5593
|
/** Region height (default canvas height). */
|
|
5216
5594
|
height?: number;
|
|
5217
|
-
}
|
|
5595
|
+
};
|
|
5218
5596
|
/**
|
|
5219
5597
|
* A bottom-left labeled bar gauge for a scalar quantity (energy, speed, charge, ...).
|
|
5220
5598
|
* @synonyms energy bar, KE, PE, gauge
|
|
@@ -5239,7 +5617,7 @@ interface PhysicsCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProp
|
|
|
5239
5617
|
keyMap?: Record<string, EventKey>;
|
|
5240
5618
|
/** Maps a keyup `e.code` to a semantic event emitted as `UI:{event}`. */
|
|
5241
5619
|
keyUpMap?: Record<string, EventKey>;
|
|
5242
|
-
/** Painter: 2D raster (default) or 3D mesh scene
|
|
5620
|
+
/** Painter: 2D raster (default) or 3D mesh scene, both drawn by orbital-canvas. */
|
|
5243
5621
|
mode?: '2d' | '3d';
|
|
5244
5622
|
/** 3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }). */
|
|
5245
5623
|
camera?: Camera;
|
|
@@ -5248,6 +5626,8 @@ interface PhysicsCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProp
|
|
|
5248
5626
|
/** 3D only: post-processing stack (bloom/vignette). */
|
|
5249
5627
|
post?: CanvasPost;
|
|
5250
5628
|
bodies?: LearningPhysicsBody[];
|
|
5629
|
+
/** 2D mode: packed particles drawn in one pass under the bodies (a GPU readback), instead of a body per particle. */
|
|
5630
|
+
particles?: LearningParticles;
|
|
5251
5631
|
constraints?: LearningPhysicsConstraint[];
|
|
5252
5632
|
showVelocity?: boolean;
|
|
5253
5633
|
showForces?: boolean;
|
|
@@ -5273,9 +5653,9 @@ interface PhysicsCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProp
|
|
|
5273
5653
|
meters?: PhysicsMeter[];
|
|
5274
5654
|
/** Extra declarative shapes in canvas pixel coordinates (2D mode only — ignored in 3D). */
|
|
5275
5655
|
shapes?: LearningShape[];
|
|
5276
|
-
/** Top-right status chip row
|
|
5656
|
+
/** Top-right status chip row (the LearningCanvas vocabulary). */
|
|
5277
5657
|
readouts?: LearningReadout[];
|
|
5278
|
-
/** Inset sparkline panels
|
|
5658
|
+
/** Inset sparkline panels (the LearningCanvas vocabulary). */
|
|
5279
5659
|
traces?: LearningTracePanel[];
|
|
5280
5660
|
/** 3D only: show the ground grid (default off). */
|
|
5281
5661
|
showGrid?: boolean;
|
|
@@ -5298,8 +5678,8 @@ declare const PhysicsCanvas: React$1.FC<PhysicsCanvasProps>;
|
|
|
5298
5678
|
/**
|
|
5299
5679
|
* BiologyCanvas
|
|
5300
5680
|
*
|
|
5301
|
-
* A field-scoped learning molecule for biology
|
|
5302
|
-
*
|
|
5681
|
+
* A field-scoped learning molecule for biology: nodes, edges, compartments, bands, stages and a DNA helix in 2D,
|
|
5682
|
+
* or a 3D scene, mapped and drawn by orbital-canvas.
|
|
5303
5683
|
*
|
|
5304
5684
|
* @packageDocumentation
|
|
5305
5685
|
*/
|
|
@@ -5368,7 +5748,7 @@ interface BiologyStage {
|
|
|
5368
5748
|
color?: string;
|
|
5369
5749
|
}
|
|
5370
5750
|
/** One base pair (rung) of a `helix` ladder. */
|
|
5371
|
-
|
|
5751
|
+
type BiologyHelixRung = {
|
|
5372
5752
|
/** Base letter on strand A (top). */
|
|
5373
5753
|
a?: string;
|
|
5374
5754
|
/** Base letter on strand B (bottom). */
|
|
@@ -5377,9 +5757,9 @@ interface BiologyHelixRung {
|
|
|
5377
5757
|
state?: 'paired' | 'open' | 'new';
|
|
5378
5758
|
/** Overrides the state-derived rung color. */
|
|
5379
5759
|
color?: string;
|
|
5380
|
-
}
|
|
5760
|
+
};
|
|
5381
5761
|
/** A DNA double-helix ladder rendered as two strand polylines plus rungs, with an optional unzipped fork. */
|
|
5382
|
-
|
|
5762
|
+
type BiologyHelix = {
|
|
5383
5763
|
/** Panel left edge (default 24). */
|
|
5384
5764
|
x?: number;
|
|
5385
5765
|
/** Panel top edge (default canvas height * 0.25). */
|
|
@@ -5397,9 +5777,9 @@ interface BiologyHelix {
|
|
|
5397
5777
|
colorB?: string;
|
|
5398
5778
|
/** Default paired-rung color: a tone name, token or literal (default `muted`). */
|
|
5399
5779
|
rungColor?: string;
|
|
5400
|
-
}
|
|
5780
|
+
};
|
|
5401
5781
|
/** One base-pair rung of a 3D `helix3d` ladder. */
|
|
5402
|
-
|
|
5782
|
+
type BiologyHelixRung3D = {
|
|
5403
5783
|
/** Clickable when present — stamped on this rung's marker sphere. */
|
|
5404
5784
|
id?: string;
|
|
5405
5785
|
/** Rung cylinder + marker color: a tone name, token or literal (default `muted`). */
|
|
@@ -5408,13 +5788,13 @@ interface BiologyHelixRung3D {
|
|
|
5408
5788
|
radius?: number;
|
|
5409
5789
|
/** Billboard label above the marker. */
|
|
5410
5790
|
label?: string;
|
|
5411
|
-
}
|
|
5791
|
+
};
|
|
5412
5792
|
/**
|
|
5413
5793
|
* A 3D DNA double-helix: two beaded backbone strands plus a base-pair rung
|
|
5414
5794
|
* per index, optionally unwound (replication-fork style) at one end. 3D only.
|
|
5415
5795
|
* @synonyms DNA double helix, base pairs 3D
|
|
5416
5796
|
*/
|
|
5417
|
-
|
|
5797
|
+
type BiologyHelix3D = {
|
|
5418
5798
|
/** Rung count; defaults to `rungs.length`. One of `count`/`rungs` is required. */
|
|
5419
5799
|
count?: number;
|
|
5420
5800
|
/** Per-rung overrides, padded with defaults up to `count`. */
|
|
@@ -5441,7 +5821,7 @@ interface BiologyHelix3D {
|
|
|
5441
5821
|
unwoundCount?: number;
|
|
5442
5822
|
/** Spread multiplier for unwound rungs (default 1.8). */
|
|
5443
5823
|
unwindSpread?: number;
|
|
5444
|
-
}
|
|
5824
|
+
};
|
|
5445
5825
|
interface BiologyCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
5446
5826
|
className?: string;
|
|
5447
5827
|
width?: number;
|
|
@@ -5454,7 +5834,7 @@ interface BiologyCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProp
|
|
|
5454
5834
|
keyMap?: Record<string, EventKey>;
|
|
5455
5835
|
/** Maps a keyup `e.code` to a semantic event emitted as `UI:{event}`. */
|
|
5456
5836
|
keyUpMap?: Record<string, EventKey>;
|
|
5457
|
-
/** Painter: 2D raster (default) or 3D mesh scene
|
|
5837
|
+
/** Painter: 2D raster (default) or 3D mesh scene, both drawn by orbital-canvas. */
|
|
5458
5838
|
mode?: '2d' | '3d';
|
|
5459
5839
|
/** 3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }). */
|
|
5460
5840
|
camera?: Camera;
|
|
@@ -5490,9 +5870,9 @@ interface BiologyCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProp
|
|
|
5490
5870
|
helix3d?: BiologyHelix3D;
|
|
5491
5871
|
/** Extra declarative shapes in canvas pixel coordinates (2D mode only — ignored in 3D). */
|
|
5492
5872
|
shapes?: LearningShape[];
|
|
5493
|
-
/** Top-right status chip row
|
|
5873
|
+
/** Top-right status chip row (the LearningCanvas vocabulary). */
|
|
5494
5874
|
readouts?: LearningReadout[];
|
|
5495
|
-
/** Inset sparkline panels
|
|
5875
|
+
/** Inset sparkline panels (the LearningCanvas vocabulary). */
|
|
5496
5876
|
traces?: LearningTracePanel[];
|
|
5497
5877
|
/** 3D only: show the ground grid (default off). */
|
|
5498
5878
|
showGrid?: boolean;
|
|
@@ -5515,8 +5895,8 @@ declare const BiologyCanvas: React$1.FC<BiologyCanvasProps>;
|
|
|
5515
5895
|
/**
|
|
5516
5896
|
* ChemistryCanvas
|
|
5517
5897
|
*
|
|
5518
|
-
* A field-scoped learning molecule for chemistry
|
|
5519
|
-
*
|
|
5898
|
+
* A field-scoped learning molecule for chemistry: atoms, bonds, arrows, containers and an equation in 2D, or a 3D
|
|
5899
|
+
* scene, mapped and drawn by orbital-canvas.
|
|
5520
5900
|
*
|
|
5521
5901
|
* @packageDocumentation
|
|
5522
5902
|
*/
|
|
@@ -5584,7 +5964,7 @@ interface ChemistryArrow {
|
|
|
5584
5964
|
label?: string;
|
|
5585
5965
|
}
|
|
5586
5966
|
/** One basis site of a `lattice3d` crystal, replicated across the generated block. */
|
|
5587
|
-
|
|
5967
|
+
type ChemistryLatticeSite = {
|
|
5588
5968
|
/** Basis-site key; bonds reference sites by key, not by generated id. */
|
|
5589
5969
|
key: string;
|
|
5590
5970
|
/** Fractional cell offset, 0..1. */
|
|
@@ -5602,9 +5982,9 @@ interface ChemistryLatticeSite {
|
|
|
5602
5982
|
yEdge?: boolean;
|
|
5603
5983
|
/** Replicate on the +z face so the boundary plane completes (n+1 planes along z). */
|
|
5604
5984
|
zEdge?: boolean;
|
|
5605
|
-
}
|
|
5985
|
+
};
|
|
5606
5986
|
/** A bond rule generating one cylinder per valid `from`→`to` site-instance pair. */
|
|
5607
|
-
|
|
5987
|
+
type ChemistryLatticeBond = {
|
|
5608
5988
|
/** Basis-site key this bond originates from. */
|
|
5609
5989
|
from: string;
|
|
5610
5990
|
/** Basis-site key this bond targets. */
|
|
@@ -5615,14 +5995,14 @@ interface ChemistryLatticeBond {
|
|
|
5615
5995
|
dz?: number;
|
|
5616
5996
|
/** Bond color: a tone name, token or literal (default the `ink` tone). */
|
|
5617
5997
|
color?: string;
|
|
5618
|
-
}
|
|
5998
|
+
};
|
|
5619
5999
|
/**
|
|
5620
6000
|
* A 3D crystal lattice (simple cubic, BCC, FCC, rock salt, diamond, ...)
|
|
5621
6001
|
* generated procedurally from a fractional basis + bond rules into a block
|
|
5622
6002
|
* centered on the origin. 3D only.
|
|
5623
6003
|
* @synonyms crystal lattice, unit cell, BCC FCC
|
|
5624
6004
|
*/
|
|
5625
|
-
|
|
6005
|
+
type ChemistryLattice3D = {
|
|
5626
6006
|
basis: ChemistryLatticeSite[];
|
|
5627
6007
|
/** Unit cells replicated along x/y/z (default 2 each). */
|
|
5628
6008
|
nx?: number;
|
|
@@ -5643,7 +6023,7 @@ interface ChemistryLattice3D {
|
|
|
5643
6023
|
selectedId?: string;
|
|
5644
6024
|
/** Selected-site color: a tone name, token or literal (default the `highlight` tone). */
|
|
5645
6025
|
selectedColor?: string;
|
|
5646
|
-
}
|
|
6026
|
+
};
|
|
5647
6027
|
interface ChemistryCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
5648
6028
|
className?: string;
|
|
5649
6029
|
width?: number;
|
|
@@ -5656,7 +6036,7 @@ interface ChemistryCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yPr
|
|
|
5656
6036
|
keyMap?: Record<string, EventKey>;
|
|
5657
6037
|
/** Maps a keyup `e.code` to a semantic event emitted as `UI:{event}`. */
|
|
5658
6038
|
keyUpMap?: Record<string, EventKey>;
|
|
5659
|
-
/** Painter: 2D raster (default) or 3D mesh scene
|
|
6039
|
+
/** Painter: 2D raster (default) or 3D mesh scene, both drawn by orbital-canvas. */
|
|
5660
6040
|
mode?: '2d' | '3d';
|
|
5661
6041
|
/** 3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }). */
|
|
5662
6042
|
camera?: Camera;
|
|
@@ -5685,9 +6065,9 @@ interface ChemistryCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yPr
|
|
|
5685
6065
|
lattice3d?: ChemistryLattice3D;
|
|
5686
6066
|
/** Extra declarative shapes in canvas pixel coordinates (2D mode only — ignored in 3D). */
|
|
5687
6067
|
shapes?: LearningShape[];
|
|
5688
|
-
/** Top-right status chip row
|
|
6068
|
+
/** Top-right status chip row (the LearningCanvas vocabulary). */
|
|
5689
6069
|
readouts?: LearningReadout[];
|
|
5690
|
-
/** Inset sparkline panels
|
|
6070
|
+
/** Inset sparkline panels (the LearningCanvas vocabulary). */
|
|
5691
6071
|
traces?: LearningTracePanel[];
|
|
5692
6072
|
/** 3D only: show the ground grid (default off). */
|
|
5693
6073
|
showGrid?: boolean;
|
|
@@ -5710,20 +6090,8 @@ declare const ChemistryCanvas: React$1.FC<ChemistryCanvasProps>;
|
|
|
5710
6090
|
/**
|
|
5711
6091
|
* AlgorithmCanvas
|
|
5712
6092
|
*
|
|
5713
|
-
* A field-scoped learning molecule for
|
|
5714
|
-
*
|
|
5715
|
-
* `cells` (grids/arrays/DP tables), `buckets` (hash-table chaining), and `frames`
|
|
5716
|
-
* (call stacks) into pixel-space shapes on the declarative `LearningCanvas` atom,
|
|
5717
|
-
* so a `.lolo` behavior never computes pixel coordinates — it just sets the family
|
|
5718
|
-
* arrays and lets this molecule lay them out. `pointers` (index cursors) and
|
|
5719
|
-
* `ranges` (highlighted spans) decorate the bars/slots panel. Graph/tree
|
|
5720
|
-
* algorithms use `AlgoGraphCanvas` (nodes + edges + layouts); this canvas owns
|
|
5721
|
-
* only the bar/slot/cell/bucket/frame vocabulary.
|
|
5722
|
-
*
|
|
5723
|
-
* When more than one of `bars`/`slots`/`cells`/`buckets`/`frames` is populated,
|
|
5724
|
-
* they share the canvas height as equal vertical panels in that fixed order
|
|
5725
|
-
* (`panelHeight = height / panelCount`); with exactly one family present the
|
|
5726
|
-
* panel math collapses to the original full-height layout unchanged.
|
|
6093
|
+
* A field-scoped learning molecule for algorithms: bars, cells, pointers, ranges, slots, frames and buckets, mapped
|
|
6094
|
+
* and drawn by orbital-canvas.
|
|
5727
6095
|
*
|
|
5728
6096
|
* @packageDocumentation
|
|
5729
6097
|
*/
|
|
@@ -5849,14 +6217,8 @@ declare const AlgorithmCanvas: React$1.FC<AlgorithmCanvasProps>;
|
|
|
5849
6217
|
/**
|
|
5850
6218
|
* AlgoGraphCanvas
|
|
5851
6219
|
*
|
|
5852
|
-
* A field-scoped learning molecule for
|
|
5853
|
-
*
|
|
5854
|
-
* Declares a fixed node/edge state vocabulary with default colors and
|
|
5855
|
-
* deterministic layouts (`manual` | `tree` | `layered` | `circle`) so a
|
|
5856
|
-
* `.lolo` behavior never computes pixel coordinates — it just sets node
|
|
5857
|
-
* `state`/edges and picks a layout. Distinguish from the core d3-force
|
|
5858
|
-
* `GraphCanvas`: this one is a dumb deterministic projection, not a
|
|
5859
|
-
* force simulation.
|
|
6220
|
+
* A field-scoped learning molecule for graph algorithms: nodes in a deterministic layout, edges and node badges,
|
|
6221
|
+
* mapped and drawn by orbital-canvas.
|
|
5860
6222
|
*
|
|
5861
6223
|
* @packageDocumentation
|
|
5862
6224
|
*/
|
|
@@ -5930,96 +6292,6 @@ interface AlgoGraphCanvasProps extends Omit<React$1.AriaAttributes, keyof A11yPr
|
|
|
5930
6292
|
}
|
|
5931
6293
|
declare const AlgoGraphCanvas: React$1.FC<AlgoGraphCanvasProps>;
|
|
5932
6294
|
|
|
5933
|
-
/**
|
|
5934
|
-
* learningScene3D — the shared 3D seam for the learning canvas molecules
|
|
5935
|
-
* (PhysicsCanvas / BiologyCanvas / ChemistryCanvas), mirroring the game
|
|
5936
|
-
* `Canvas` molecule's 2D/3D split: each molecule derives neutral drawable
|
|
5937
|
-
* descriptors from its vocabulary and this module hosts them in the lazy
|
|
5938
|
-
* `Canvas3DHost`, so three.js/R3F never enters a 2D-only bundle.
|
|
5939
|
-
*
|
|
5940
|
-
* The lazy import is the code-split boundary: the package's one split ESM build
|
|
5941
|
-
* makes it its own chunk (the `./three` entry).
|
|
5942
|
-
*
|
|
5943
|
-
* Click: the host speaks `EventEmit` (a bus event-name string), so the wrapper
|
|
5944
|
-
* mints a per-instance, dot-qualified event name (dot-qualified flows through
|
|
5945
|
-
* trait-scope qualification verbatim — a bare key would be scope-rewritten and
|
|
5946
|
-
* never reach this listener) and bridges it back to the molecule's
|
|
5947
|
-
* `onShapeClick` callback contract via `useEventListener` — the same
|
|
5948
|
-
* bus→callback mechanism `MediaGallery`/`StateMachineView` use.
|
|
5949
|
-
*
|
|
5950
|
-
* The derivation helpers below are pure descriptor builders (no three imports).
|
|
5951
|
-
* Scene coordinates are cells: `x`/`y` the ground plane, `z` the height.
|
|
5952
|
-
*
|
|
5953
|
-
* @packageDocumentation
|
|
5954
|
-
*/
|
|
5955
|
-
|
|
5956
|
-
/** A point in scene space: `[x, y, z]` — x/y the ground plane, z the height (cells). */
|
|
5957
|
-
type Learning3DPoint = [number, number, number];
|
|
5958
|
-
interface LearningScene3DProps extends A11yProps {
|
|
5959
|
-
/** Text alternative for the scene, rendered as visually hidden text and linked by aria-describedby. */
|
|
5960
|
-
description?: string;
|
|
5961
|
-
className?: string;
|
|
5962
|
-
width?: number;
|
|
5963
|
-
height?: number;
|
|
5964
|
-
title?: string;
|
|
5965
|
-
backgroundColor?: string;
|
|
5966
|
-
/** Overrides the theme's categorical palette (`series-1…N`) for this scene. */
|
|
5967
|
-
series?: string[];
|
|
5968
|
-
/** Neutral drawable descriptors derived from the molecule's vocabulary. */
|
|
5969
|
-
drawables: DrawableNode[];
|
|
5970
|
-
/** Neutral camera pose; `mode` defaults to 'perspective' for learning scenes. */
|
|
5971
|
-
camera?: Camera;
|
|
5972
|
-
/** 3D scene light rig as data. Omitted → the host's standard fixed rig. */
|
|
5973
|
-
lighting?: CanvasLighting;
|
|
5974
|
-
/** 3D post-processing stack (bloom/vignette). Omitted → no post pass. */
|
|
5975
|
-
post?: CanvasPost;
|
|
5976
|
-
/** Show the 3D ground grid. Default false (the learning scenes' current look). */
|
|
5977
|
-
showGrid?: boolean;
|
|
5978
|
-
/** Enable 3D shadows. Omitted → the host default (shadows on). */
|
|
5979
|
-
shadows?: boolean;
|
|
5980
|
-
/** Enable the orbit camera controls. Omitted → the host default (controls on). */
|
|
5981
|
-
interactive?: boolean;
|
|
5982
|
-
isLoading?: boolean;
|
|
5983
|
-
error?: UiError | null;
|
|
5984
|
-
/** Fires with the `id` of a clicked descriptor (descriptors carry `id` via DrawableBase). */
|
|
5985
|
-
onItemClick?: (id: string) => void;
|
|
5986
|
-
}
|
|
5987
|
-
declare function LearningScene3D({ className, width, height, title, backgroundColor, series, drawables, camera, lighting, post, showGrid, shadows, interactive, isLoading, error, onItemClick, description, ...rest }: LearningScene3DProps): React$1.JSX.Element;
|
|
5988
|
-
declare namespace LearningScene3D {
|
|
5989
|
-
var displayName: string;
|
|
5990
|
-
}
|
|
5991
|
-
interface MeshSphereOpts {
|
|
5992
|
-
/** Primitive kind (default 'sphere'; organelles read well as 'capsule'). */
|
|
5993
|
-
shape?: MeshShapeKind;
|
|
5994
|
-
segments?: number;
|
|
5995
|
-
material?: MeshMaterial;
|
|
5996
|
-
opacity?: number;
|
|
5997
|
-
}
|
|
5998
|
-
/** A sphere (or `opts.shape` primitive) centred at the scene point, `id`-tagged for click. */
|
|
5999
|
-
declare function meshSphere(id: string | undefined, x: number, y: number, z: number, radius: number, color: string, opts?: MeshSphereOpts): DrawMeshProps;
|
|
6000
|
-
/** A cylinder spanning from→to, centred on the midpoint. Null when the segment is degenerate. */
|
|
6001
|
-
declare function cylinderBetween(from: Learning3DPoint, to: Learning3DPoint, radius: number, color: string): DrawMeshProps | null;
|
|
6002
|
-
/**
|
|
6003
|
-
* An arrow from→to as a `draw-group` (shaft cylinder + tip cone) local to `from`.
|
|
6004
|
-
* `shaftRadius` is in scene cells (default: a thin rod at cell scale). `id`,
|
|
6005
|
-
* when given, is stamped on the returned draw-group for click routing.
|
|
6006
|
-
*/
|
|
6007
|
-
declare function arrowBetween(from: Learning3DPoint, to: Learning3DPoint, color: string, shaftRadius?: number, id?: string): DrawGroupProps | null;
|
|
6008
|
-
/** A billboarded text label above the scene point (the 3D host lifts it off the item). */
|
|
6009
|
-
declare function billboardLabel(text: string, x: number, y: number, z: number, opts?: {
|
|
6010
|
-
color?: string;
|
|
6011
|
-
}): DrawTextProps;
|
|
6012
|
-
/**
|
|
6013
|
-
* Bridge the 3D host's `{ unitId }` click back to the molecules' 2D
|
|
6014
|
-
* `onShapeClick({ id, index })` contract — `index` is the item's position in
|
|
6015
|
-
* its vocabulary array (−1 when the id is unknown).
|
|
6016
|
-
*/
|
|
6017
|
-
declare function get3DClickPayload(onShapeClick: ((payload: {
|
|
6018
|
-
id?: string;
|
|
6019
|
-
type?: string;
|
|
6020
|
-
index: number;
|
|
6021
|
-
}) => void) | undefined, idToIndex: ReadonlyMap<string, number>): ((id: string) => void) | undefined;
|
|
6022
|
-
|
|
6023
6295
|
/**
|
|
6024
6296
|
* GraphView Molecule Component
|
|
6025
6297
|
*
|
|
@@ -6136,9 +6408,9 @@ interface MapViewProps extends A11yProps {
|
|
|
6136
6408
|
/** Routes (polylines with optional popups) drawn over the tile layer */
|
|
6137
6409
|
routes?: MapRouteData[];
|
|
6138
6410
|
/** Map center latitude */
|
|
6139
|
-
centerLat?: number;
|
|
6411
|
+
centerLat?: number | null;
|
|
6140
6412
|
/** Map center longitude */
|
|
6141
|
-
centerLng?: number;
|
|
6413
|
+
centerLng?: number | null;
|
|
6142
6414
|
/** Zoom level (1-18, default 13) */
|
|
6143
6415
|
zoom?: number;
|
|
6144
6416
|
/** Height of the map container (default "400px") */
|
|
@@ -6202,7 +6474,12 @@ declare const NumberStepper: React__default.FC<NumberStepperProps>;
|
|
|
6202
6474
|
|
|
6203
6475
|
type StarRatingSize = "sm" | "md" | "lg";
|
|
6204
6476
|
type StarRatingPrecision = "full" | "half";
|
|
6205
|
-
/**
|
|
6477
|
+
/**
|
|
6478
|
+
* @accessibleName label
|
|
6479
|
+
* @role img
|
|
6480
|
+
* @tokens --color-warning --color-muted-foreground
|
|
6481
|
+
* @motion css
|
|
6482
|
+
*/
|
|
6206
6483
|
interface StarRatingProps extends Omit<React__default.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
6207
6484
|
/** Current rating value */
|
|
6208
6485
|
value?: number;
|
|
@@ -6328,6 +6605,8 @@ type RowActionCondition = SExpr | ((row: EntityRow) => boolean);
|
|
|
6328
6605
|
* S-expression, or the compiled shell's `(row) => payload` closure.
|
|
6329
6606
|
*/
|
|
6330
6607
|
type RowActionPayload = SExpr | ((row: EntityRow) => EventPayload);
|
|
6608
|
+
/** A literal route or an authored `(fn row <string>)` expression. */
|
|
6609
|
+
type RowActionRoute = SExpr;
|
|
6331
6610
|
|
|
6332
6611
|
/**
|
|
6333
6612
|
* useDataDnd — shared drag-drop machinery for DataList + DataGrid.
|
|
@@ -6382,9 +6661,8 @@ interface DataGridItemAction {
|
|
|
6382
6661
|
/** Event name to emit (dispatched as UI:{event} with { row: itemData }).
|
|
6383
6662
|
* Optional when `navigatesTo` is set — a navigating action never emits. */
|
|
6384
6663
|
event?: EventKey;
|
|
6385
|
-
/**
|
|
6386
|
-
|
|
6387
|
-
navigatesTo?: string;
|
|
6664
|
+
/** Literal route or `(fn row <string>)` destination; navigation suppresses the action event. */
|
|
6665
|
+
navigatesTo?: RowActionRoute;
|
|
6388
6666
|
/** Lucide icon name or component */
|
|
6389
6667
|
icon?: IconInput;
|
|
6390
6668
|
/** Button variant */
|
|
@@ -6500,8 +6778,8 @@ interface DataListItemAction {
|
|
|
6500
6778
|
when?: RowActionCondition;
|
|
6501
6779
|
/** Extra data the action sends, authored as `(fn row { key: <expr> })`; it emits `{ id, row }` plus these keys. */
|
|
6502
6780
|
payload?: RowActionPayload;
|
|
6503
|
-
/**
|
|
6504
|
-
navigatesTo?:
|
|
6781
|
+
/** Literal route or `(fn row <string>)` destination; navigation suppresses the action event. */
|
|
6782
|
+
navigatesTo?: RowActionRoute;
|
|
6505
6783
|
}
|
|
6506
6784
|
interface DataListSwipeAction {
|
|
6507
6785
|
/** Button label */
|
|
@@ -7299,6 +7577,12 @@ interface LikertOption {
|
|
|
7299
7577
|
/** Visible label below (radios) or inside (buttons) the control */
|
|
7300
7578
|
label: string;
|
|
7301
7579
|
}
|
|
7580
|
+
/**
|
|
7581
|
+
* @role radiogroup
|
|
7582
|
+
* @tokens --color-primary --color-muted --color-surface --color-border --color-foreground
|
|
7583
|
+
* @contrast foreground surface
|
|
7584
|
+
* @motion css
|
|
7585
|
+
*/
|
|
7302
7586
|
interface LikertScaleProps extends A11yProps {
|
|
7303
7587
|
/** Optional row prompt above the scale */
|
|
7304
7588
|
question?: string;
|
|
@@ -7636,11 +7920,17 @@ interface DocumentDetailsProps extends A11yProps {
|
|
|
7636
7920
|
id: string;
|
|
7637
7921
|
name: string;
|
|
7638
7922
|
}>;
|
|
7923
|
+
/** The kernel-injected `{ value, label }` options per relation field; a relation chip reads its label from the
|
|
7924
|
+
* option for its id (labelled by the relation's declared display field), else shows the record id. */
|
|
7925
|
+
relationsData?: Readonly<Record<string, ReadonlyArray<{
|
|
7926
|
+
value: string;
|
|
7927
|
+
label: string;
|
|
7928
|
+
}>>>;
|
|
7639
7929
|
/** Card heading (defaults to the localized "Details") */
|
|
7640
7930
|
title?: string;
|
|
7641
7931
|
className?: string;
|
|
7642
7932
|
}
|
|
7643
|
-
declare function DocumentDetails({ entity, fields, metaCommitEvent, relationEvent, title, className, ...rest }: DocumentDetailsProps): React__default.ReactElement | null;
|
|
7933
|
+
declare function DocumentDetails({ entity, fields, metaCommitEvent, relationEvent, relationsData, title, className, ...rest }: DocumentDetailsProps): React__default.ReactElement | null;
|
|
7644
7934
|
|
|
7645
7935
|
/**
|
|
7646
7936
|
* ReplyTree Organism Component
|
|
@@ -7687,20 +7977,20 @@ interface ReplyTreeProps extends A11yProps {
|
|
|
7687
7977
|
}
|
|
7688
7978
|
declare const ReplyTree: React__default.FC<ReplyTreeProps>;
|
|
7689
7979
|
|
|
7690
|
-
|
|
7980
|
+
type BranchingQuestion = {
|
|
7691
7981
|
id: string;
|
|
7692
7982
|
label: string;
|
|
7693
7983
|
optionValues?: string[];
|
|
7694
|
-
}
|
|
7984
|
+
};
|
|
7695
7985
|
type BranchingOperator = 'equals' | 'not-equals' | 'contains' | 'in';
|
|
7696
7986
|
declare const END_OF_SURVEY = "end-of-survey";
|
|
7697
|
-
|
|
7987
|
+
type BranchingRule = {
|
|
7698
7988
|
id: string;
|
|
7699
7989
|
sourceQuestionId: string;
|
|
7700
7990
|
operator: BranchingOperator;
|
|
7701
7991
|
value: string | string[];
|
|
7702
7992
|
targetQuestionId: string | typeof END_OF_SURVEY;
|
|
7703
|
-
}
|
|
7993
|
+
};
|
|
7704
7994
|
interface BranchingLogicBuilderProps extends A11yProps {
|
|
7705
7995
|
questions: readonly BranchingQuestion[] | EventPayloadValue;
|
|
7706
7996
|
/**
|
|
@@ -7882,6 +8172,12 @@ interface DocBreadcrumbItem {
|
|
|
7882
8172
|
/** Navigation href (omit for the current/last item) */
|
|
7883
8173
|
href?: string;
|
|
7884
8174
|
}
|
|
8175
|
+
/**
|
|
8176
|
+
* @role navigation
|
|
8177
|
+
* @tokens --color-foreground --color-muted-foreground
|
|
8178
|
+
* @contrast muted-foreground background
|
|
8179
|
+
* @motion none
|
|
8180
|
+
*/
|
|
7885
8181
|
interface DocBreadcrumbProps extends A11yProps {
|
|
7886
8182
|
/** Breadcrumb path items, last item is treated as current page */
|
|
7887
8183
|
items: DocBreadcrumbItem[];
|
|
@@ -7902,6 +8198,12 @@ interface DocPaginationLink {
|
|
|
7902
8198
|
href: string;
|
|
7903
8199
|
category?: string;
|
|
7904
8200
|
}
|
|
8201
|
+
/**
|
|
8202
|
+
* @role navigation
|
|
8203
|
+
* @tokens --color-border --color-accent --color-muted-foreground
|
|
8204
|
+
* @contrast muted-foreground background
|
|
8205
|
+
* @motion css
|
|
8206
|
+
*/
|
|
7905
8207
|
interface DocPaginationProps extends Omit<React__default.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
7906
8208
|
/** Previous page link */
|
|
7907
8209
|
prev?: DocPaginationLink;
|
|
@@ -7952,6 +8254,12 @@ interface DocSidebarItem {
|
|
|
7952
8254
|
/** Whether this item is currently active */
|
|
7953
8255
|
active?: boolean;
|
|
7954
8256
|
}
|
|
8257
|
+
/**
|
|
8258
|
+
* @role navigation
|
|
8259
|
+
* @tokens --color-muted-foreground
|
|
8260
|
+
* @contrast muted-foreground background
|
|
8261
|
+
* @motion none
|
|
8262
|
+
*/
|
|
7955
8263
|
interface DocSidebarProps extends Omit<React__default.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
7956
8264
|
/** Sidebar navigation items */
|
|
7957
8265
|
items: DocSidebarItem[];
|
|
@@ -7975,6 +8283,12 @@ interface DocTOCItem {
|
|
|
7975
8283
|
/** Heading level: 2 for h2, 3 for h3, etc. */
|
|
7976
8284
|
level: number;
|
|
7977
8285
|
}
|
|
8286
|
+
/**
|
|
8287
|
+
* @role navigation
|
|
8288
|
+
* @tokens --color-foreground --color-muted-foreground
|
|
8289
|
+
* @contrast muted-foreground background
|
|
8290
|
+
* @motion css
|
|
8291
|
+
*/
|
|
7978
8292
|
interface DocTOCProps extends Omit<React__default.AriaAttributes, keyof A11yProps>, A11yProps {
|
|
7979
8293
|
/** Table of contents items */
|
|
7980
8294
|
items: DocTOCItem[];
|
|
@@ -8062,6 +8376,87 @@ interface PageHeaderProps extends A11yProps {
|
|
|
8062
8376
|
}
|
|
8063
8377
|
declare const PageHeader: React__default.FC<PageHeaderProps>;
|
|
8064
8378
|
|
|
8379
|
+
/**
|
|
8380
|
+
* Shared types for entity-display organisms.
|
|
8381
|
+
*
|
|
8382
|
+
* All entity-display organisms (DataTable, List, Table, CardGrid, DetailPanel)
|
|
8383
|
+
* extend EntityDisplayProps to guarantee a uniform prop contract.
|
|
8384
|
+
*
|
|
8385
|
+
* Exception: Form manages local `formData` state for field input tracking.
|
|
8386
|
+
* This is the ONE allowed exception — documented here.
|
|
8387
|
+
*/
|
|
8388
|
+
|
|
8389
|
+
declare const EntityDisplayEvents: {
|
|
8390
|
+
readonly SORT: "SORT";
|
|
8391
|
+
readonly PAGINATE: "PAGINATE";
|
|
8392
|
+
readonly SEARCH: "SEARCH";
|
|
8393
|
+
readonly FILTER: "FILTER";
|
|
8394
|
+
readonly CLEAR_FILTERS: "CLEAR_FILTERS";
|
|
8395
|
+
readonly SELECT: "SELECT";
|
|
8396
|
+
readonly DESELECT: "DESELECT";
|
|
8397
|
+
};
|
|
8398
|
+
interface SortPayload {
|
|
8399
|
+
field: string;
|
|
8400
|
+
direction: 'asc' | 'desc';
|
|
8401
|
+
}
|
|
8402
|
+
interface PaginatePayload {
|
|
8403
|
+
page: number;
|
|
8404
|
+
pageSize?: number;
|
|
8405
|
+
}
|
|
8406
|
+
interface SearchPayload {
|
|
8407
|
+
query: string;
|
|
8408
|
+
}
|
|
8409
|
+
interface FilterPayload {
|
|
8410
|
+
field: string;
|
|
8411
|
+
operator: string;
|
|
8412
|
+
value: FieldValue;
|
|
8413
|
+
}
|
|
8414
|
+
interface SelectPayload {
|
|
8415
|
+
ids: (string | number)[];
|
|
8416
|
+
}
|
|
8417
|
+
/**
|
|
8418
|
+
* Common non-entity display state shared by every display organism — loading,
|
|
8419
|
+
* error, and the render-ui display hints (sort/search/pagination/selection).
|
|
8420
|
+
* Carries NO entity data and NO generic. Components that show entity data add
|
|
8421
|
+
* their own `entity?: EntityRow | readonly EntityRow[]` field directly (the one
|
|
8422
|
+
* unified entity type from `@almadar/core`); components that only need the
|
|
8423
|
+
* loading/hint surface just extend this.
|
|
8424
|
+
*/
|
|
8425
|
+
interface DisplayStateProps {
|
|
8426
|
+
/** Additional CSS classes */
|
|
8427
|
+
className?: string;
|
|
8428
|
+
/** Loading state indicator */
|
|
8429
|
+
isLoading?: boolean;
|
|
8430
|
+
/** Error state */
|
|
8431
|
+
error?: UiError | null;
|
|
8432
|
+
/** Current sort field */
|
|
8433
|
+
sortBy?: string;
|
|
8434
|
+
/** Current sort direction */
|
|
8435
|
+
sortDirection?: 'asc' | 'desc';
|
|
8436
|
+
/** Current search query value */
|
|
8437
|
+
searchValue?: string;
|
|
8438
|
+
/** Current page number (1-indexed) */
|
|
8439
|
+
page?: number;
|
|
8440
|
+
/** Number of items per page */
|
|
8441
|
+
pageSize?: number;
|
|
8442
|
+
/** Total number of items (for pagination display) */
|
|
8443
|
+
totalCount?: number;
|
|
8444
|
+
/**
|
|
8445
|
+
* Active filters, keyed by field name. Scalar-only (`string | number |
|
|
8446
|
+
* boolean`) rather than the full `FieldValue` domain: `FieldValue` is a
|
|
8447
|
+
* self-referential union (adds `Date`, nested arrays/objects) the
|
|
8448
|
+
* pattern-sync scanner can't shape into a `Map string V` knob, so it always
|
|
8449
|
+
* degraded to `json`. This narrows out date/array/nested-object filter
|
|
8450
|
+
* values — no current call site in this package constructs this prop, so
|
|
8451
|
+
* nothing here breaks, but a caller wiring a date-range or multi-select
|
|
8452
|
+
* filter through this prop would need those. Flagged for the coordinator;
|
|
8453
|
+
* revert to `Record<string, FieldValue>` if that capability is needed.
|
|
8454
|
+
*/
|
|
8455
|
+
activeFilters?: Record<string, string | number | boolean>;
|
|
8456
|
+
/** Currently selected item IDs */
|
|
8457
|
+
selectedIds?: readonly (string | number)[];
|
|
8458
|
+
}
|
|
8459
|
+
|
|
8065
8460
|
interface FormSectionProps extends Omit<DisplayStateProps, keyof A11yProps>, A11yProps {
|
|
8066
8461
|
/** Section title */
|
|
8067
8462
|
title?: string;
|
|
@@ -10043,6 +10438,45 @@ interface StateMachineViewProps extends Omit<AvlStateMachineProps, 'trait'> {
|
|
|
10043
10438
|
trait?: TraitLevelData;
|
|
10044
10439
|
/** A described trait (`behavior/describe`), drawn from its machine when no `trait` is given. */
|
|
10045
10440
|
description?: TraitDescription | null;
|
|
10441
|
+
/** A whole mounted orbital (`program/self { mounted: true }`): every trait drawn as nested boxes on one canvas, instead of a single trait.
|
|
10442
|
+
* @example {"page":"/orders","traits":[{"trait":"OrderPage","orbital":"Orders","parent":null,"depth":0,"embeddedIn":[],"renders":true,"linked":false,"stepsIn":"browser","linkedEntity":"Order","states":[{"name":"browsing","isInitial":true,"isTerminal":false},{"name":"editing","isInitial":false,"isTerminal":false}],"transitions":[{"index":0,"from":["browsing"],"to":"editing","event":"EDIT","guarded":false,"emits":[]},{"index":1,"from":["editing"],"to":"browsing","event":"CANCEL","guarded":false,"emits":[]}],"emits":[],"listens":[],"instances":[]}],"wires":[]}
|
|
10443
|
+
*/
|
|
10444
|
+
orbital?: MountedOrbital | null;
|
|
10445
|
+
/** Current state per trait in orbital mode; a trait without an entry shows the states of its running instances. @default []
|
|
10446
|
+
* @example [{"trait":"OrderPage","state":"browsing"}]
|
|
10447
|
+
*/
|
|
10448
|
+
activeStates?: {
|
|
10449
|
+
trait: string;
|
|
10450
|
+
state: string;
|
|
10451
|
+
}[];
|
|
10452
|
+
/** The last fired transition in orbital mode: its trait and the transition `index`. @default null
|
|
10453
|
+
* @example {"trait":"OrderPage","index":0}
|
|
10454
|
+
*/
|
|
10455
|
+
firedTransition?: {
|
|
10456
|
+
trait: string;
|
|
10457
|
+
index: number;
|
|
10458
|
+
} | null;
|
|
10459
|
+
/** Orbital mode: the transitions the last dispatch fired, in order, drawn as one numbered route for a moment, then faded. @default []
|
|
10460
|
+
* @example [{"trait":"OrderPage","index":0}]
|
|
10461
|
+
*/
|
|
10462
|
+
route?: {
|
|
10463
|
+
trait: string;
|
|
10464
|
+
index: number;
|
|
10465
|
+
}[];
|
|
10466
|
+
/** Orbital mode: boxes at a trait depth below this draw their own machine (when they have more than one state). @default 2 */
|
|
10467
|
+
expandDepth?: number;
|
|
10468
|
+
/** Orbital mode: the trait whose box is marked as chosen. @default "" */
|
|
10469
|
+
selectedTrait?: string;
|
|
10470
|
+
/** Orbital mode: emitted with the trait's name when a box is chosen. */
|
|
10471
|
+
selectEvent?: EventEmit<{
|
|
10472
|
+
trait: string;
|
|
10473
|
+
}>;
|
|
10474
|
+
/** Orbital mode: shows the inspect toggle; emitted with the trait picked from its output on the page. */
|
|
10475
|
+
pickEvent?: EventEmit<{
|
|
10476
|
+
trait: string;
|
|
10477
|
+
}>;
|
|
10478
|
+
/** Orbital mode: the canvas scrolls inside this height. @default "calc(100vh - 9rem)" */
|
|
10479
|
+
maxHeight?: string;
|
|
10046
10480
|
/** Loading state indicator */
|
|
10047
10481
|
isLoading?: boolean;
|
|
10048
10482
|
/** Error state */
|
|
@@ -10206,7 +10640,7 @@ declare const TabbedContainer: React__default.FC<TabbedContainerProps>;
|
|
|
10206
10640
|
* collapsible right secondary sidebar. Resizable boundaries are delegated to
|
|
10207
10641
|
* SplitPane (same directory) — DockLayout owns no drag/resize math itself.
|
|
10208
10642
|
*
|
|
10209
|
-
* sidebarWidth/bottomPanelHeight are SplitPane ratio values (0-100), not
|
|
10643
|
+
* sidebarWidth/secondarySidebarWidth/bottomPanelHeight are SplitPane ratio values (0-100), not
|
|
10210
10644
|
* pixels: they pass straight through to SplitPane's `ratio` contract so the
|
|
10211
10645
|
* boundary math stays owned by SplitPane.
|
|
10212
10646
|
*
|
|
@@ -10253,8 +10687,12 @@ interface DockLayoutProps extends Omit<React__default.AriaAttributes, keyof A11y
|
|
|
10253
10687
|
secondarySidebar?: React__default.ReactNode;
|
|
10254
10688
|
/** Width of `rail` in pixels; the rail sizes the column itself when omitted. */
|
|
10255
10689
|
railWidth?: number;
|
|
10256
|
-
/**
|
|
10690
|
+
/** Right sidebar size as a SplitPane ratio (0-100, percentage of the main/right-sidebar split). @default 25 */
|
|
10257
10691
|
secondarySidebarWidth?: number;
|
|
10692
|
+
/** @notification */
|
|
10693
|
+
onSecondarySidebarWidthChange?: (width: number) => void;
|
|
10694
|
+
/** Minimum right sidebar size in pixels, forwarded to SplitPane's `minSize`. @default 240 */
|
|
10695
|
+
secondarySidebarMinSize?: number;
|
|
10258
10696
|
/** Whether `sidebar` is collapsed (controlled; the layout keeps its own state when omitted). */
|
|
10259
10697
|
sidebarCollapsed?: boolean;
|
|
10260
10698
|
/** @notification */
|
|
@@ -10281,6 +10719,14 @@ interface DockLayoutProps extends Omit<React__default.AriaAttributes, keyof A11y
|
|
|
10281
10719
|
onSecondarySidebarCollapsedChange?: (collapsed: boolean) => void;
|
|
10282
10720
|
/** The mobile variant; decided by the viewport (narrower than 1024px) when omitted. */
|
|
10283
10721
|
compact?: boolean;
|
|
10722
|
+
/** Compact: accessible name for the button that opens the menu. */
|
|
10723
|
+
openMenuLabel?: string;
|
|
10724
|
+
/** Compact: accessible name for the button returning to the menu. */
|
|
10725
|
+
backToMenuLabel?: string;
|
|
10726
|
+
/** Compact: title of the menu drawer. */
|
|
10727
|
+
menuLabel?: string;
|
|
10728
|
+
/** Compact: accessible name for each drawer close button. */
|
|
10729
|
+
closeDrawerLabel?: string;
|
|
10284
10730
|
/** Compact: the top-bar button that opens `secondarySidebar` (e.g. "Inspector", "Chat"). */
|
|
10285
10731
|
secondarySidebarLabel?: string;
|
|
10286
10732
|
secondarySidebarIcon?: IconInput;
|
|
@@ -10451,6 +10897,8 @@ interface UISlotRendererProps {
|
|
|
10451
10897
|
* claims the transition so its chrome stays still.
|
|
10452
10898
|
*/
|
|
10453
10899
|
pageKey?: string;
|
|
10900
|
+
/** Already-rendered content for the main slot (a guest view's page-root paint); the other slots read the provider as usual. */
|
|
10901
|
+
main?: React__default.ReactNode;
|
|
10454
10902
|
}
|
|
10455
10903
|
/**
|
|
10456
10904
|
* Main UI Slot Renderer component.
|
|
@@ -10468,7 +10916,7 @@ interface UISlotRendererProps {
|
|
|
10468
10916
|
* }
|
|
10469
10917
|
* ```
|
|
10470
10918
|
*/
|
|
10471
|
-
declare function UISlotRenderer({ includeHud, hudMode, includeFloating, className, suspense, pageKey, }: UISlotRendererProps): React__default.ReactElement;
|
|
10919
|
+
declare function UISlotRenderer({ includeHud, hudMode, includeFloating, className, suspense, pageKey, main, }: UISlotRendererProps): React__default.ReactElement;
|
|
10472
10920
|
declare namespace UISlotRenderer {
|
|
10473
10921
|
var displayName: string;
|
|
10474
10922
|
}
|
|
@@ -10674,6 +11122,8 @@ interface MachinePanelProps {
|
|
|
10674
11122
|
transitions: readonly TransitionTrace[];
|
|
10675
11123
|
/** Without it the panel draws the machine alone. */
|
|
10676
11124
|
describe?: DescribeTrait;
|
|
11125
|
+
/** Already described trait sources, keyed by `<behavior>.traits.<trait>` for a serialized program view. */
|
|
11126
|
+
descriptions?: Readonly<Record<string, TraitDescription>>;
|
|
10677
11127
|
/** The program's behavior, naming the traits it authors itself; an imported trait carries its own. */
|
|
10678
11128
|
behavior?: string;
|
|
10679
11129
|
/** How long a replay shows each hop. */
|
|
@@ -10681,7 +11131,7 @@ interface MachinePanelProps {
|
|
|
10681
11131
|
/** The program's imports (`behavior/dependencies`), placing each composed unit in its layer. */
|
|
10682
11132
|
dependencies?: DependencyGraph;
|
|
10683
11133
|
}
|
|
10684
|
-
declare function MachinePanel({ schema, transitions, describe, behavior, replayStepMs, dependencies }: MachinePanelProps): React$1.ReactElement;
|
|
11134
|
+
declare function MachinePanel({ schema, transitions, describe, descriptions, behavior, replayStepMs, dependencies }: MachinePanelProps): React$1.ReactElement;
|
|
10685
11135
|
declare namespace MachinePanel {
|
|
10686
11136
|
var displayName: string;
|
|
10687
11137
|
}
|
|
@@ -10905,7 +11355,7 @@ interface TopBarAction {
|
|
|
10905
11355
|
* `navigatesTo`. At least one of the two should be set; an entry with
|
|
10906
11356
|
* neither renders an inert button. */
|
|
10907
11357
|
event?: EventKey;
|
|
10908
|
-
/** Destination URL.
|
|
11358
|
+
/** Destination URL. Navigates through the nav stack on click, the same mechanism
|
|
10909
11359
|
* `ButtonGroup` / `PageHeader` / `DocumentViewer` already use for their
|
|
10910
11360
|
* action descriptors — the top bar was the odd one out, which forced a
|
|
10911
11361
|
* navigation-only button to invent an event nothing listens for. Set
|
|
@@ -10988,7 +11438,7 @@ interface DashboardLayoutProps {
|
|
|
10988
11438
|
* works inside the embedded playground where `pathname` would be
|
|
10989
11439
|
* the studio route. */
|
|
10990
11440
|
currentPath?: string;
|
|
10991
|
-
/** The trait's reaction to Sign out; the
|
|
11441
|
+
/** The trait's reaction to Sign out; the program ends the session with `(auth/sign-out)` in its arm for the event. */
|
|
10992
11442
|
onSignOut?: () => void;
|
|
10993
11443
|
/** Layout mode. Default `"sidebar"`.
|
|
10994
11444
|
* - `sidebar`: Left sidebar nav + top header (classic dashboard)
|
|
@@ -11089,5 +11539,5 @@ interface GenericAppTemplateProps extends TemplateProps, Omit<React__default.Ari
|
|
|
11089
11539
|
}
|
|
11090
11540
|
declare const GenericAppTemplate: React__default.FC<GenericAppTemplateProps>;
|
|
11091
11541
|
|
|
11092
|
-
export { ALL_PRESETS, Accordion, Card as ActionCard, ActionPalette, ActionTile, ActivationBlock, ActivityRail, AgentActivityFeed, AgentActivityRow, AgentChatFeed, AgentThinkingRow, Alert, AlgoGraphCanvas, AlgorithmCanvas, AnimatedCounter, AssetPicker, AuthLayout, BiologyCanvas, BranchingLogicBuilder, Breadcrumb, ButtonGroup, COMPACT_MEDIA_QUERY, CalendarGrid,
|
|
11093
|
-
export type { AccordionItem, AccordionProps, CardProps as ActionCardProps, ActionPaletteProps, ActionTileProps, ActivationBlockProps, ActivityRailItem, ActivityRailProps, AgentActivityFeedProps, AgentActivityJumpTarget, AgentActivityRowProps, AgentChatFeedProps, AgentConversation, AlertProps, AlertVariant, AlgoGraphCanvasProps, AlgoGraphEdge, AlgoGraphEdgeState, AlgoGraphLayout, AlgoGraphNode, AlgoGraphNodeBadge, AlgoGraphNodeState, AlgorithmBar, AlgorithmCanvasProps, AlgorithmCell, AlgorithmPointer, AnimatedCounterProps, AssetPickerProps, AuthLayoutProps, BiologyCanvasProps, BiologyEdge, BiologyNode, BranchingLogicBuilderProps, BranchingQuestion, BranchingRule, BreadcrumbItem, BreadcrumbProps, ButtonGroupProps, CalendarGridProps, CameraMode, Canvas2DProps, CanvasItemShape, CanvasItemStatus, CanvasMode, CanvasProps, CardAction, CarouselProps, ChangeListItem, ChangeListProps, ChangeType, ChartDataPoint, ChartLegendItem, ChartLegendProps, ChartProps, ChartSeries, ChartType, ChatBarProps, ChatBarStatus, ChatFocusRequest, ChemistryArrow, ChemistryAtom, ChemistryBond, ChemistryCanvasProps, ChoiceButtonProps, CoachmarkAnchor, CoachmarkPlacement, CoachmarkProps, CodeAssistProvider, CodeAssistRequest, CodeAssistResult, CodeBlockProps, CodeCompletion, CodeCompletionProvider, CodeCompletionResult, CodeDiagnostic, CodeLanguage, CodeLanguageLoader, CodeSuggestion, CodeViewerAction, CodeViewerFile, CodeViewerMode, CollapsibleSectionProps, CommandPaletteCommand, CommandPaletteProps, CommitKind, CommitRowProps, ConfirmDialogProps, ConfirmDialogVariant, ConnectionBlockProps, ContainerProps, ContentRendererProps, ControlButtonProps, ControlGridButton, ControlGridKind, ControlGridProps, CounterSize, CounterTemplateProps, CounterVariant, DPadDirection, DashboardGridCell, DashboardGridProps, DashboardLayoutProps, DataGridField, DataGridItemAction, DataGridProps, DataListField, DataListItemAction, DataListProps, DateRangePickerPreset, DateRangePickerProps, DateRangeSelectorOption, DateRangeSelectorProps, DescribeTrait, DetailField, DetailPanelProps, DetailSection, DialogueBubbleProps, DiffHunk, DiffLine$1 as DiffLine, DiffLineType, DiffRevision, DispatchCommandPaletteCommandDeps, DisplayStateProps, DocBreadcrumbItem, DocBreadcrumbProps, DocPaginationLink, DocPaginationProps, DocSearchProps, DocSearchResult, DocSidebarItem, DocSidebarProps, DocTOCItem, DocTOCProps, DockLayoutContextValue, DockLayoutProps, DocumentDetailsField, DocumentDetailsProps, DocumentPanelAction, DocumentPanelProps, DocumentType, DocumentViewerProps, DotSize, DotState, DrawerPosition, DrawerProps, DrawerSize, DrawerSlotProps, EdgeDecorationProps, EdgeSide, EdgeVariant, EditorCheckboxProps, EditorMode, EditorSelectProps, EditorSliderProps, EditorTextInputProps, EditorToolbarProps, EmojiPickerPosition, EmojiPickerProps, EmptyStateProps, ErrorBoundaryProps, ErrorStateProps, FeatureCardProps, FeatureGridProps, FilterDefinition, FilterGroupProps, FilterPayload, FlexProps, FlipCardProps, FloatingAction, FloatingActionButtonProps, FloatingToolbarItem, FloatingToolbarPosition, FloatingToolbarProps, FormActionsProps, FormFieldProps, FormLayoutProps, FormProps, FormSectionHeaderProps, FormSectionProps, FxOverlayProps, GameAudioCueProps, GameAudioToggleProps, GameHudElement, GameHudProps, GameHudStat, GameMenuProps, GameShellProps, GanttLink, GanttProps, GenericAppTemplateProps, GeometricPatternProps, GradientDividerProps, GraphCanvasProps, GraphEdge, GraphNode, GraphSimilarity, GraphViewEdge, GraphViewNode, GraphViewProps, GridPickerCellSize, GridPickerProps, GridProps, HeaderProps, HealthBarProps, IconButtonProps, IconPickerProps, ImportEntityDisplay, ImportPreviewTreeProps, ImportPreviewUnit, ImportProgressCounts, ImportProgressProps, ImportProgressStep, ImportSkippedElement, ImportSourceOption, ImportSourcePickerProps, InputGroupProps, JazariStateMachineProps, JsonTreeEditorProps,
|
|
11542
|
+
export { ALL_PRESETS, Accordion, Card as ActionCard, ActionPalette, ActionTile, ActivationBlock, ActivityRail, AgentActivityFeed, AgentActivityRow, AgentChatFeed, AgentThinkingRow, Alert, AlgoGraphCanvas, AlgorithmCanvas, AnimatedCounter, AssetPicker, AuthLayout, BiologyCanvas, BranchingLogicBuilder, Breadcrumb, ButtonGroup, COMPACT_MEDIA_QUERY, CalendarGrid, Canvas, Canvas2D, Carousel, ChangeList, Chart, ChartLegend, ChatBar, ChemistryCanvas, ChoiceButton, Coachmark, CodeBlock, CollapsibleSection, CommandPalette, CommitRow, ConfirmDialog, ConnectionBlock, Container, ContentRenderer, ControlButton, ControlGrid, CounterTemplate, DEFAULT_LIKERT_OPTION_KEYS, DEFAULT_MATRIX_COLUMN_KEYS, DIAMOND_TOP_Y, DashboardGrid, DashboardLayout, DataGrid, DataList, DateRangePicker, DateRangeSelector, DetailPanel, DialogueBubble, DocBreadcrumb, DocPagination, DocSearch, DocSidebar, DocTOC, DockLayout, DocumentDetails, DocumentPanel, DocumentViewer, StateMachineView as DomStateMachineVisualizer, Drawer, DrawerSlot, ELEMENT_SELECTED_EVENT, EdgeDecoration, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EmojiPicker, EmptyState, EntityDisplayEvents, ErrorBoundary, ErrorState, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FeatureCard, FeatureGrid, FilterGroup, Flex, FlipCard, FloatingActionButton, FloatingToolbar, Form, FormActions, FormField, FormLayout, FormSection$1 as FormSection, FormSectionHeader, FxOverlay, GameAudioCue, GameAudioToggle, GameHud, GameMenu, GameShell, Gantt, GenericAppTemplate, GeometricPattern, GradientDivider, GraphCanvas, GraphView, Grid, GridPicker, GuestView, Header, HealthBar, IconButton, IconPicker, ImportPreviewTree, ImportProgress, ImportSourcePicker, InputGroup, JazariStateMachine, JsonTreeEditor, LearningCanvas, LessonSegment, Lightbox, LikertScale, LineChart, LoadingState, MachinePanel, MapView, MarkdownContent, MasterDetailLayout, MathCanvas, MatrixQuestion, MediaGallery, Menu, Meter, Modal, ModalSlot, Navigation, NodeSlotEditor, NumberStepper, OnboardingSpotlight, OptionConstraintGroup, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, PageHeader, PageTransition, Pagination, PhysicsCanvas, Popover, PositionedCanvas, ProgressDots, PropertyInspector, PullToRefresh, QrScanner, QuizBlock, ReflectionBlock, RelationSelect, RepeatableFormSection, ReplyTree, RichTextEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreDisplay, SearchInput, Section, SequenceBar, SidePanel, Sidebar, SignaturePad, SimpleGrid, Skeleton, SkeletonTree, SlotContent, SlotContentRenderer, SocialProof, SortableList, Split, SplitPane, StarRating, StatBadge, StatCard, StatDisplay, StateGraph, StateJsonView, StateMachineView, StatusBar, SubagentTracePanel, SwipeableRow, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, TableView, Tabs, TagInput, TerrainPalette, Timeline, TimerDisplay, Toast, ToastSlot, Tooltip, TopNavItem, TraitFrame, TraitSlot, TraitStateViewer, UISlotComponent, UISlotRenderer, UploadDropZone, VersionDiff, ViolationAlert, VoteStack, WizardContainer, WizardNavigation, WizardProgress, activityRowFacts, applyCompletion, applySuggestions, boardEntity, bool, calculateAttackTargets, calculateValidMoves, createInitialGameState, createUnitAnimationState, dispatchCommandPaletteCommand, getCurrentFrame, groupIntoConversations, inferDirection, isoToScreen, makeAsset, makeAssetMap, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, parseEditFocus, parseMarkdownWithCodeBlocks, pendulum, preloadCodeHighlighter, projectileMotion, registerCodeLanguageLoader, renderPatternValue, resolveFrame, resolveSheetDirection, rows, sanitizeRichHtml, screenToIso, springOscillator, str, tickAnimationState, toCodeLanguage, transitionAnimation, unitHealth, unitPosition, unitTeam, useAnchorRect, useCamera, useCompactLayout, useDockLayout, useImageCache, useUnitSpriteAtlas, vec2 };
|
|
11543
|
+
export type { AccordionItem, AccordionProps, CardProps as ActionCardProps, ActionPaletteProps, ActionTileProps, ActivationBlockProps, ActivityRailItem, ActivityRailProps, AgentActivityFeedProps, AgentActivityJumpTarget, AgentActivityRowProps, AgentChatFeedProps, AgentConversation, AlertProps, AlertVariant, AlgoGraphCanvasProps, AlgoGraphEdge, AlgoGraphEdgeState, AlgoGraphLayout, AlgoGraphNode, AlgoGraphNodeBadge, AlgoGraphNodeState, AlgorithmBar, AlgorithmCanvasProps, AlgorithmCell, AlgorithmPointer, AnimatedCounterProps, AssetPickerProps, AuthLayoutProps, BiologyCanvasProps, BiologyEdge, BiologyNode, BoardTile, BranchingLogicBuilderProps, BranchingQuestion, BranchingRule, BreadcrumbItem, BreadcrumbProps, ButtonGroupProps, CalendarGridProps, CameraMode, CameraState, Canvas2DProps, CanvasItemShape, CanvasItemStatus, CanvasMode, CanvasProps, CardAction, CarouselProps, ChangeListItem, ChangeListProps, ChangeType, ChartDataPoint, ChartLegendItem, ChartLegendProps, ChartProps, ChartSeries, ChartType, ChatBarProps, ChatBarStatus, ChatFocusRequest, ChemistryArrow, ChemistryAtom, ChemistryBond, ChemistryCanvasProps, ChoiceButtonProps, CoachmarkAnchor, CoachmarkPlacement, CoachmarkProps, CodeAssistProvider, CodeAssistRequest, CodeAssistResult, CodeBlockProps, CodeCompletion, CodeCompletionProvider, CodeCompletionResult, CodeDiagnostic, CodeLanguage, CodeLanguageLoader, CodeSuggestion, CodeViewerAction, CodeViewerFile, CodeViewerMode, CollapsibleSectionProps, CommandPaletteCommand, CommandPaletteProps, CommitKind, CommitRowProps, ConfirmDialogProps, ConfirmDialogVariant, ConnectionBlockProps, ContainerProps, ContentRendererProps, ControlButtonProps, ControlGridButton, ControlGridKind, ControlGridProps, CounterSize, CounterTemplateProps, CounterVariant, DPadDirection, DashboardGridCell, DashboardGridProps, DashboardLayoutProps, DataGridField, DataGridItemAction, DataGridProps, DataListField, DataListItemAction, DataListProps, DateRangePickerPreset, DateRangePickerProps, DateRangeSelectorOption, DateRangeSelectorProps, DescribeTrait, DetailField, DetailPanelProps, DetailSection, DialogueBubbleProps, DiffHunk, DiffLine$1 as DiffLine, DiffLineType, DiffRevision, DispatchCommandPaletteCommandDeps, DisplayStateProps, DocBreadcrumbItem, DocBreadcrumbProps, DocPaginationLink, DocPaginationProps, DocSearchProps, DocSearchResult, DocSidebarItem, DocSidebarProps, DocTOCItem, DocTOCProps, DockLayoutContextValue, DockLayoutProps, DocumentDetailsField, DocumentDetailsProps, DocumentPanelAction, DocumentPanelProps, DocumentType, DocumentViewerProps, DotSize, DotState, DrawerPosition, DrawerProps, DrawerSize, DrawerSlotProps, EdgeDecorationProps, EdgeSide, EdgeVariant, EditorCheckboxProps, EditorMode, EditorSelectProps, EditorSliderProps, EditorTextInputProps, EditorToolbarProps, EmojiPickerPosition, EmojiPickerProps, EmptyStateProps, ErrorBoundaryProps, ErrorStateProps, FacingDirection, FeatureCardProps, FeatureGridProps, FilterDefinition, FilterGroupProps, FilterPayload, FlexProps, FlipCardProps, FloatingAction, FloatingActionButtonProps, FloatingToolbarItem, FloatingToolbarPosition, FloatingToolbarProps, FormActionsProps, FormFieldProps, FormLayoutProps, FormProps, FormSectionHeaderProps, FormSectionProps, FxOverlayProps, GameAction, GameAudioCueProps, GameAudioToggleProps, GameHudElement, GameHudProps, GameHudStat, GameMenuProps, GamePhase, GameShellProps, GameState, GameUnit, GanttLink, GanttProps, GenericAppTemplateProps, GeometricPatternProps, GradientDividerProps, GraphCanvasProps, GraphEdge, GraphNode, GraphSimilarity, GraphViewEdge, GraphViewNode, GraphViewProps, GridPickerCellSize, GridPickerProps, GridProps, GuestViewProps, HeaderProps, HealthBarProps, IconButtonProps, IconPickerProps, ImportEntityDisplay, ImportPreviewTreeProps, ImportPreviewUnit, ImportProgressCounts, ImportProgressProps, ImportProgressStep, ImportSkippedElement, ImportSourceOption, ImportSourcePickerProps, InputGroupProps, IsometricFeature, IsometricTile, IsometricUnit, JazariStateMachineProps, JsonTreeEditorProps, LearningCanvasProps, LearningPhysicsBody, LearningPhysicsConstraint, LearningPoint, LearningShape, LearningShapeType, LightboxImage, LightboxProps, LikertOption, LikertScaleProps, LineChartProps, LoadingStateProps, MachinePanelProps, MapMarkerData, MapRouteData, MapRouteWaypoint, MapViewProps, MarkdownContentProps, MasterDetailLayoutProps, MathCanvasProps, MathCurve, MathPoint, MathVector, MatrixColumn, MatrixQuestionProps, MatrixRow, MediaGalleryProps, MediaItem, MenuItem, MenuOption, MenuProps, MeterAction, MeterProps, MeterThreshold, MeterVariant, MixedSegment, ModalProps, ModalSize, ModalSlotProps, NavItem, NavigationItem, NavigationProps, NodeSlotEditorProps, NumberStepperProps, NumberStepperSize, OnboardingSpotlightProps, OptionConstraint, OptionConstraintGroupProps, OptionConstraintOption, OrbitalVisualizationProps, PageBreadcrumb, PageHeaderProps, PageTransitionProps, PaginatePayload, PaginationProps, PhysicsCanvasProps, PickerItem, Platform, PopoverProps, Position, PositionedCanvasProps, PrismLanguageGrammar, ProgressDotsProps, Projection, PropertyInspectorProps, PullToRefreshProps, QrScanResult, QrScannerProps, QuizBlockProps, ReflectionBlockProps, RelationOption, RelationSelectProps, RepeatableFormSectionProps, RepeatableItem, ReplyTreeProps, ResolvedFrame, RichTextEditorProps, RowFacts, RuleDefinition, RuleOption, RuntimeDebuggerProps, ScaledDiagramProps, ScoreDisplayProps, SearchInputProps, SearchPayload, SectionProps, SelectPayload, SequenceBarProps, SidePanelProps, SidePlayer, SidebarItem, SidebarProps, SignaturePadProps, SimpleGridProps, SkeletonProps, SlotItemData, SocialProofItem, SocialProofProps, SortPayload, SortableListProps, SplitPaneProps, SplitProps, SpotlightStep, SpriteFrameDims, SpriteSheetUrls, StarRatingPrecision, StarRatingProps, StarRatingSize, StatBadgeProps, StatCardProps, StatDisplayProps, StateGraphProps, StateGraphTransition, StateJsonViewProps, StateMachineViewProps, StatusBarProps, SubagentTracePanelProps, SwipeAction, SwipeableRowProps, TabDefinition, TabItem, TabbedContainerProps, TableViewColumn, TableViewProps, TabsProps, TagInputProps, TeamUnitTraits, TemplateProps, TerrainPaletteProps, TileCoord, TileLayout, TimelineItem, TimelineItemStatus, TimelineProps, TimerDisplayProps, ToastProps, ToastSlotProps, ToastVariant, TooltipProps, TopNavItemData, TopNavItemProps, TraceDisclosureLevel, TraitFrameProps, TraitSlotProps, TraitStateMachineDefinition, TraitStateViewerProps, TraitTransition, UISlotComponentProps, UISlotRendererProps, UnitAnimationState, UnitTrait, UploadDropZoneProps, Vec2, DiffLine as VersionDiffLine, VersionDiffProps, ViolationAlertProps, ViolationRecord, VoteStackProps, WizardContainerProps, WizardNavigationProps, WizardProgressProps, WizardProgressStep, WizardStep };
|