@almadar/shell-web 1.2.0 → 1.3.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.
Files changed (77) hide show
  1. package/dist/AvlGlyph-N2MSWT7H.js +5 -0
  2. package/dist/{AvlStateMachine-KVZMFHFU.js → AvlStateMachine-HDWKFV7C.js} +3 -3
  3. package/dist/AvlTransitionDetail-CRMZLMFV.js +10 -0
  4. package/dist/AvlTransitionExplainer-NJLDP7X5.js +11 -0
  5. package/dist/BehaviorView-EFKTS3KZ.js +10 -0
  6. package/dist/{FileTree-B3GDAjaQ.d.ts → FileTree-CSdbAdcJ.d.ts} +8 -0
  7. package/dist/FlowCanvas-S3ODHQXS.js +23 -0
  8. package/dist/{GameAudioProvider-BgWOOYT3.d.ts → GameAudioProvider-B8FBcGVE.d.ts} +1 -1
  9. package/dist/{KernelEngineContext-BPx-q0iw.d.ts → KernelEngineContext-6l6vkc50.d.ts} +1 -1
  10. package/dist/{LayersPanel-PSXI4EHG.js → LayersPanel-YHXNS36U.js} +4 -4
  11. package/dist/ModuleCard-6UW7YBAH.js +6 -0
  12. package/dist/OrbInspector-RQU5P2T6.js +23 -0
  13. package/dist/OrbPreview-V4VLWNMT.css +1754 -0
  14. package/dist/OrbPreview-WKC3ORIK.js +23 -0
  15. package/dist/{Select-BJ8Fgc8A.d.ts → Select-DuX0Gvwo.d.ts} +14 -8
  16. package/dist/UISlotRenderer-7IGRYWII.js +23 -0
  17. package/dist/auth/react/index.js +4 -0
  18. package/dist/avl/index.d.ts +2 -2
  19. package/dist/avl/index.js +25 -25
  20. package/dist/{chunk-LKL5RULQ.js → chunk-3OF2X6GG.js} +2 -2
  21. package/dist/{chunk-V5SVGUYN.js → chunk-3WSTUUJ7.js} +1 -1
  22. package/dist/{chunk-B23EZH2P.js → chunk-4IFO6QJL.js} +3 -3
  23. package/dist/{chunk-RDPELAFQ.js → chunk-4UAAP6ZN.js} +2 -2
  24. package/dist/{chunk-LINJRTNB.js → chunk-6MZ224GN.js} +2 -2
  25. package/dist/{chunk-3YUMGEEW.js → chunk-AYQKZFUH.js} +1 -1
  26. package/dist/{chunk-3DA36FOA.js → chunk-BY2UJWVR.js} +1 -1
  27. package/dist/{chunk-S3LS3B7N.js → chunk-CB4POLGP.js} +1 -1
  28. package/dist/{chunk-2LNXLMK3.js → chunk-FZOX7XTU.js} +41 -41
  29. package/dist/{chunk-ZDRDJKYB.js → chunk-MXN32OVV.js} +212 -20
  30. package/dist/{chunk-TAEOMNDK.js → chunk-NIOQT2IE.js} +44914 -44206
  31. package/dist/{chunk-CCO2ZH7F.js → chunk-NVSUTIJ2.js} +2 -2
  32. package/dist/{chunk-DPDKBY6Z.js → chunk-OEWVBYW5.js} +1 -0
  33. package/dist/{chunk-UFQLHCFJ.js → chunk-OHWEWQL3.js} +1 -1
  34. package/dist/{chunk-D5FJU4XC.js → chunk-OOG33EGF.js} +46 -14
  35. package/dist/{chunk-AU7O65OX.js → chunk-OXHXISFA.js} +1 -1
  36. package/dist/{chunk-PWXZN5G5.js → chunk-PD5QUVRE.js} +2 -2
  37. package/dist/{chunk-6RXP5ZXE.js → chunk-PHIQOASV.js} +5 -5
  38. package/dist/{chunk-GHAF7QUD.js → chunk-QZ6TDP6I.js} +1 -1
  39. package/dist/{chunk-JEN4EIUF.js → chunk-RCB4CKRK.js} +1 -1
  40. package/dist/{chunk-AL2XXMYR.js → chunk-RQH6O76X.js} +20 -6
  41. package/dist/{chunk-7UCL26QB.js → chunk-TJEB4PII.js} +3 -3
  42. package/dist/{chunk-KTYOYEVA.js → chunk-YU2ZNLGI.js} +1 -1
  43. package/dist/components/index.d.ts +295 -22
  44. package/dist/components/index.js +27 -22
  45. package/dist/context/index.js +3 -3
  46. package/dist/core.d.ts +23 -6
  47. package/dist/core.js +1 -1
  48. package/dist/{fx-Bx5RqplG.d.ts → fx-Bc3yEVED.d.ts} +2 -2
  49. package/dist/hooks/index.js +4 -4
  50. package/dist/index.d.ts +18 -5
  51. package/dist/index.js +4 -4
  52. package/dist/{kernel-client-NMZ56JVU.js → kernel-client-NM6S72DO.js} +74 -33
  53. package/dist/{kernel-wire-CRsHtLsf.d.ts → kernel-wire-Ds7xSZzx.d.ts} +6 -0
  54. package/dist/lib/index.d.ts +2 -2
  55. package/dist/lib/index.js +3 -3
  56. package/dist/providers/index.d.ts +5 -5
  57. package/dist/providers/index.js +15 -15
  58. package/dist/runtime/index.d.ts +6 -2
  59. package/dist/runtime/index.js +14 -14
  60. package/dist/ssr/index.cjs +27 -4
  61. package/dist/ssr/index.d.cts +6 -0
  62. package/dist/ssr/index.d.ts +6 -0
  63. package/dist/ssr/index.js +27 -4
  64. package/dist/test-support.js +2 -2
  65. package/dist/{verificationRegistry-BLuQU1JV.d.ts → verificationRegistry-Dz5N0oxx.d.ts} +199 -8
  66. package/package.json +9 -9
  67. package/src/core/locales/ar.json +8 -1
  68. package/src/core/locales/en.json +8 -1
  69. package/src/core/locales/sl.json +8 -1
  70. package/dist/AvlGlyph-KZMJDBEB.js +0 -5
  71. package/dist/AvlTransitionDetail-7DVGV27I.js +0 -10
  72. package/dist/AvlTransitionExplainer-RMJ5LQLK.js +0 -11
  73. package/dist/BehaviorView-EYRPME67.js +0 -10
  74. package/dist/FlowCanvas-J54627TC.js +0 -23
  75. package/dist/ModuleCard-TNRLL45H.js +0 -6
  76. package/dist/OrbInspector-UBEQWWZ2.js +0 -23
  77. package/dist/UISlotRenderer-5OURMAP2.js +0 -23
@@ -1,32 +1,32 @@
1
1
  "use client";
2
2
  export { assertUniqueSlotsPerHost } from '../chunk-5QTYQTPS.js';
3
- export { BehaviorView } from '../chunk-B23EZH2P.js';
4
- export { ModuleCard } from '../chunk-7UCL26QB.js';
5
- import { JsonTreeEditor } from '../chunk-JEN4EIUF.js';
6
- export { JsonTreeEditor } from '../chunk-JEN4EIUF.js';
7
- export { SharedEntityStoreContext, createSharedEntityStore, runTickFrame, useAgentChat, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, usePreview, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useTickVisibility, useTraitListens, useUIEvents, useValidation } from '../chunk-PWXZN5G5.js';
8
- import { resolveSheetDirection, frameRect, GridPicker, FormSection } from '../chunk-TAEOMNDK.js';
9
- export { Card as ActionCard, ActionPalette, ActionTile, ActivationBlock, ActivityRail, AgentActivityFeed, AgentActivityRow, AgentChatFeed, AgentThinkingRow, Alert, AlgoGraphCanvas, AlgorithmCanvas, AnimatedCounter, AuthLayout, BiologyCanvas, BloomQuizBlock, BranchingLogicBuilder, Breadcrumb, ButtonGroup, COMPACT_MEDIA_QUERY, CalendarGrid, Canvas, Canvas2D, Carousel, ChangeList, Chart, ChartLegend, ChatBar, ChemistryCanvas, ChoiceButton, CodeBlock, CodeRunnerPanel, 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, DrawFxLayer, DrawGroup, DrawMesh, DrawShape, DrawShapeLayer, DrawSkinnedMesh, DrawSprite, DrawSpriteLayer, DrawText, DrawTextLayer, Drawer, DrawerSlot, ELEMENT_SELECTED_EVENT, EdgeDecoration, EmojiPicker, ErrorBoundary, ErrorState, FEATURE_COLORS, FLOOR_HEIGHT, FeatureCard, FeatureGrid, FilterGroup, Flex, FlipCard, FloatingActionButton, FloatingToolbar, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, FxOverlay, GameAudioContext, GameAudioCue, GameAudioProvider, GameAudioToggle, GameHud, GameMenu, GameShell, Gantt, GenericAppTemplate, GeometricPattern, GradientDivider, GraphCanvas, GraphView, Grid, GridPicker, GuestView, Header, HealthBar, IconButton, ImportPreviewTree, ImportProgress, ImportSourcePicker, InputGroup, JazariStateMachine, LearningCanvas, Lightbox, LikertScale, LineChart, LoadingState, MachinePanel, MapView, MarkdownContent, MasterDetailLayout, MathCanvas, MatrixQuestion, MediaGallery, Menu, Meter, Modal, ModalSlot, Navigation, NumberStepper, OptionConstraintGroup, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, PageHeader, PageTransition, Pagination, PhysicsCanvas, PositionedCanvas, ProgressDots, PullToRefresh, QrScanner, QuizBlock, ReflectionBlock, RelationSelect, RepeatableFormSection, ReplyTree, RichTextEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreDisplay, SearchInput, Section, SegmentRenderer, SequenceBar, SidePanel, Sidebar, SignaturePad, SimpleGrid, Skeleton, SkeletonTree, SlotContentRenderer, SocialProof, SortableList, Split, SplitPane, StarRating, StatBadge, StatCard, StatDisplay, StateGraph, StateJsonView, StateMachineView, SubagentTracePanel, SwipeableRow, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, TableView, Tabs, TagInput, Timeline, TimerDisplay, Toast, ToastSlot, TopNavItem, TraitFrame, TraitSlot, TraitStateViewer, UISlotComponent, UISlotRenderer, UploadDropZone, VersionDiff, ViolationAlert, VoteStack, WizardContainer, WizardNavigation, WizardProgress, activityRowFacts, applyCompletion, applySuggestions, createUnitAnimationState, dispatchCommandPaletteCommand, getCurrentFrame, groupIntoConversations, inferDirection, isoToScreen, parseEditFocus, parseMarkdownWithCodeBlocks, preloadCodeHighlighter, registerCodeLanguageLoader, renderPatternValue, resolveFrame, resolveSheetDirection, sanitizeRichHtml, screenToIso, tickAnimationState, toCodeLanguage, transitionAnimation, useCamera, useCompactLayout, useDockLayout, useGameAudio, useGameAudioContext, useImageCache } from '../chunk-TAEOMNDK.js';
10
- export { FileTree } from '../chunk-AL2XXMYR.js';
11
- import '../chunk-RDPELAFQ.js';
12
- import '../chunk-CCO2ZH7F.js';
13
- import '../chunk-DPDKBY6Z.js';
14
- export { Accordion } from '../chunk-3DA36FOA.js';
15
- export { EmptyState } from '../chunk-3YUMGEEW.js';
3
+ export { BehaviorView } from '../chunk-4IFO6QJL.js';
4
+ export { ModuleCard } from '../chunk-TJEB4PII.js';
5
+ import { JsonTreeEditor } from '../chunk-RCB4CKRK.js';
6
+ export { JsonTreeEditor } from '../chunk-RCB4CKRK.js';
7
+ export { SharedEntityStoreContext, createSharedEntityStore, runTickFrame, useAgentChat, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, usePreview, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useTickVisibility, useTraitListens, useUIEvents, useValidation } from '../chunk-PD5QUVRE.js';
8
+ import { resolveSheetDirection, frameRect, GridPicker, FormSection } from '../chunk-NIOQT2IE.js';
9
+ export { Card as ActionCard, ActionPalette, ActionTile, ActivationBlock, ActivityRail, AgentActivityFeed, AgentActivityRow, AgentChatFeed, AgentThinkingRow, Alert, AlgoGraphCanvas, AlgorithmCanvas, AnimatedCounter, AnnotatedMedia, AuthLayout, BiologyCanvas, BloomQuizBlock, BranchingLogicBuilder, Breadcrumb, ButtonGroup, COMPACT_MEDIA_QUERY, CalendarGrid, Canvas, Canvas2D, Carousel, ChangeList, Chart, ChartLegend, ChatBar, ChemistryCanvas, ChoiceButton, CodeBlock, CodeRunnerPanel, 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, DrawFxLayer, DrawGroup, DrawMesh, DrawShape, DrawShapeLayer, DrawSkinnedMesh, DrawSprite, DrawSpriteLayer, DrawText, DrawTextLayer, Drawer, DrawerSlot, ELEMENT_SELECTED_EVENT, EdgeDecoration, EmojiPicker, ErrorBoundary, ErrorState, FEATURE_COLORS, FLOOR_HEIGHT, FeatureCard, FeatureGrid, FilterGroup, Flex, FlipCard, FloatingActionButton, FloatingToolbar, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, FxOverlay, GameAudioContext, GameAudioCue, GameAudioProvider, GameAudioToggle, GameHud, GameMenu, GameShell, Gantt, GenericAppTemplate, GeometricPattern, GradientDivider, GraphCanvas, GraphView, Grid, GridPicker, GuestView, Header, HealthBar, IconButton, ImportPreviewTree, ImportProgress, ImportSourcePicker, InputGroup, JazariStateMachine, LearningCanvas, Lightbox, LikertScale, LineChart, LoadingState, MachinePanel, MapView, MarkdownContent, MasterDetailLayout, MathCanvas, MatrixQuestion, MediaGallery, Menu, Meter, Modal, ModalSlot, Navigation, NumberStepper, OptionConstraintGroup, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, PageHeader, PageTransition, Pagination, PhysicsCanvas, PositionedCanvas, ProgressDots, PullToRefresh, QrScanner, QuizBlock, ReflectionBlock, RelationSelect, RepeatableFormSection, ReplyTree, RichTextEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreDisplay, SearchInput, Section, SegmentRenderer, SequenceBar, SidePanel, Sidebar, SignaturePad, SimpleGrid, Skeleton, SkeletonTree, SlotContentRenderer, SocialProof, SortableList, Split, SplitPane, StarRating, StatBadge, StatCard, StatDisplay, StateGraph, StateJsonView, StateMachineView, SubagentTracePanel, SwipeableRow, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, TableView, Tabs, TagInput, Timeline, TimerDisplay, Toast, ToastSlot, TopNavItem, TraitFrame, TraitSlot, TraitStateViewer, UISlotComponent, UISlotRenderer, UploadDropZone, VersionDiff, ViolationAlert, VoteStack, WizardContainer, WizardNavigation, WizardProgress, activityRowFacts, applyCompletion, applySuggestions, createUnitAnimationState, dispatchCommandPaletteCommand, getCurrentFrame, groupIntoConversations, inferDirection, isoToScreen, parseEditFocus, parseMarkdownWithCodeBlocks, preloadCodeHighlighter, registerCodeLanguageLoader, renderPatternValue, resolveFrame, resolveSheetDirection, sanitizeRichHtml, screenToIso, tickAnimationState, toCodeLanguage, transitionAnimation, useCamera, useCompactLayout, useDockLayout, useGameAudio, useGameAudioContext, useImageCache } from '../chunk-NIOQT2IE.js';
10
+ export { FileTree } from '../chunk-RQH6O76X.js';
11
+ import '../chunk-4UAAP6ZN.js';
12
+ import '../chunk-NVSUTIJ2.js';
13
+ import '../chunk-OEWVBYW5.js';
14
+ export { Accordion } from '../chunk-BY2UJWVR.js';
15
+ export { EmptyState } from '../chunk-AYQKZFUH.js';
16
16
  import '../chunk-HA2BYO5E.js';
17
17
  import '../chunk-PCR37T3U.js';
18
- import { ThemedPortal } from '../chunk-V5SVGUYN.js';
19
- export { Popover, Tooltip } from '../chunk-V5SVGUYN.js';
18
+ import { ThemedPortal } from '../chunk-3WSTUUJ7.js';
19
+ export { Popover, Tooltip } from '../chunk-3WSTUUJ7.js';
20
20
  import '../chunk-3UQNFRYV.js';
21
- import '../chunk-LKL5RULQ.js';
21
+ import '../chunk-3OF2X6GG.js';
22
22
  import '../chunk-TZZBINQY.js';
23
- import '../chunk-ZDRDJKYB.js';
24
- export { claimDelivery, keyChord, mergeCaptureTables, parseQueryBinding, useAuthContext, useCanvasGestures, useDragReorder, useKeyboardRouter, useLongPress, usePageHead, usePullToRefresh, useQuerySingleton, useSwipeGesture } from '../chunk-S3LS3B7N.js';
25
- export { ALMADAR_DND_MIME, useDraggable, useDropZone } from '../chunk-GHAF7QUD.js';
26
- import '../chunk-2LNXLMK3.js';
23
+ import '../chunk-MXN32OVV.js';
24
+ export { claimDelivery, keyChord, mergeCaptureTables, parseQueryBinding, useAuthContext, useCanvasGestures, useDragReorder, useKeyboardRouter, useLongPress, usePageHead, usePullToRefresh, useQuerySingleton, useSwipeGesture } from '../chunk-CB4POLGP.js';
25
+ export { ALMADAR_DND_MIME, useDraggable, useDropZone } from '../chunk-QZ6TDP6I.js';
26
+ import '../chunk-FZOX7XTU.js';
27
27
  import '../chunk-3BBUBJFF.js';
28
28
  export { DEFAULT_SLOTS, useUISlotManager } from '../chunk-ANTJUQRD.js';
29
- import { VStack, Button, HStack, GameIcon, Typography, Box, useTranslate, Badge, Icon, cn, Select, domPassthrough, Switch, Input } from '../chunk-D5FJU4XC.js';
29
+ import { VStack, Button, HStack, GameIcon, Typography, Box, useTranslate, Badge, Icon, cn, Select, domPassthrough, Switch, Input } from '../chunk-OOG33EGF.js';
30
30
  import { getKnownPatterns, getPatternDefinition } from '../chunk-ECC3WQIB.js';
31
31
  import '../chunk-AZ74UPG6.js';
32
32
  import '../chunk-G7DCAZ22.js';
@@ -1104,4 +1104,9 @@ var EntityDisplayEvents = {
1104
1104
  DESELECT: "DESELECT"
1105
1105
  };
1106
1106
 
1107
- export { ALL_PRESETS, AssetPicker, Coachmark, CollapsibleSection, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EntityDisplayEvents, FEATURE_TYPES, IconPicker, NodeSlotEditor, OnboardingSpotlight, PropertyInspector, StatusBar, TERRAIN_COLORS, TerrainPalette, boardEntity, bool, calculateAttackTargets, calculateValidMoves, createInitialGameState, makeAsset, makeAssetMap, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, pendulum, projectileMotion, rows, springOscillator, str, unitHealth, unitPosition, unitTeam, useAnchorRect, useUnitSpriteAtlas, vec2 };
1107
+ // src/components/game/atoms/DrawEmitter.tsx
1108
+ function DrawEmitter(_props) {
1109
+ return null;
1110
+ }
1111
+
1112
+ export { ALL_PRESETS, AssetPicker, Coachmark, CollapsibleSection, DrawEmitter, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EntityDisplayEvents, FEATURE_TYPES, IconPicker, NodeSlotEditor, OnboardingSpotlight, PropertyInspector, StatusBar, TERRAIN_COLORS, TerrainPalette, boardEntity, bool, calculateAttackTargets, calculateValidMoves, createInitialGameState, makeAsset, makeAssetMap, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, pendulum, projectileMotion, rows, springOscillator, str, unitHealth, unitPosition, unitTeam, useAnchorRect, useUnitSpriteAtlas, vec2 };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- export { DesignThemeProvider, useDesignTheme } from '../chunk-KTYOYEVA.js';
3
- export { ANONYMOUS_USER, ARBITRARY_CLASS_STYLE_ID, ArbitraryClassCompilerProvider, CurrentPagePathContext, CurrentPagePathProvider, OrbitalThemeProvider, UISlotContext, UISlotProvider, UserContext, UserProvider, useArbitraryClassStyles, useCurrentPagePath, useHasPermission, useHasRole, useSlotContent, useSlotHasContent, useUISlots, useUser, useUserForEvaluation } from '../chunk-2LNXLMK3.js';
2
+ export { DesignThemeProvider, useDesignTheme } from '../chunk-YU2ZNLGI.js';
3
+ export { ANONYMOUS_USER, ARBITRARY_CLASS_STYLE_ID, ArbitraryClassCompilerProvider, CurrentPagePathContext, CurrentPagePathProvider, OrbitalThemeProvider, UISlotContext, UISlotProvider, UserContext, UserProvider, useArbitraryClassStyles, useCurrentPagePath, useHasPermission, useHasRole, useSlotContent, useSlotHasContent, useUISlots, useUser, useUserForEvaluation } from '../chunk-FZOX7XTU.js';
4
4
  export { resolveThemeForRuntime, themeTokensToCssVars } from '../chunk-3BBUBJFF.js';
5
5
  import '../chunk-ANTJUQRD.js';
6
- import '../chunk-D5FJU4XC.js';
6
+ import '../chunk-OOG33EGF.js';
7
7
  import '../chunk-AZ74UPG6.js';
8
8
  import '../chunk-G7DCAZ22.js';
package/dist/core.d.ts CHANGED
@@ -2,9 +2,9 @@ import * as React$1 from 'react';
2
2
  import React__default, { RefObject } from 'react';
3
3
  import { A11yProps, AssetUrl, EventKey, TextureAtlas, Tilesheet, SpriteSheetAtlas, EventPayload, EventEmit, FieldValue, SExpr, Asset, OrbitalSchema, OrbitalPage, NavStackEntry, IconFamily as IconFamily$1, JsonValue, SurfaceMode } from '@almadar/core';
4
4
  export { BusEvent, BusEventListener, BusEventSource, BusEventListener as EventListener, SurfaceMode, Unsubscribe, comparePathSpecificity, matchPath, matchPathAmong } from '@almadar/core';
5
- import { I as IconInput } from './fx-Bx5RqplG.js';
6
- export { B as Badge, b as BadgeColor, c as BadgeProps, d as BadgeSize, e as BadgeVariant, C as CONFETTI_BURST_KEYFRAMES, f as CONFETTI_COLORS, g as ColorToken, h as ConfettiParticle, D as DisplayField, i as DisplayFieldFormat, j as DisplayFieldVariant, F as FxItem, k as FxLifecycle, l as FxOverlayItem, m as FxOverlayKind, a as FxPreset, n as FxProceduralShape, o as FxSpace, p as FxView, q as Icon, r as IconAnimation, s as IconProps, t as IconSize, u as ImageSource, L as LinkAction, P as Point, R as Rect, U as UiError, v as createConfettiParticles, w as fxHash01, x as fxLifecycle, y as isColorToken, z as resolveColorToken, A as resolveFxView, E as resolveIcon } from './fx-Bx5RqplG.js';
7
- export { B as Button, a as ButtonProps, b as ButtonSize, c as ButtonVariant, I as Input, d as InputProps, P as PatternTile, e as PatternTileProps, f as PatternVariant, S as Select, g as SelectOption, h as SelectOptionGroup, i as SelectProps, j as getTileDimensions } from './Select-BJ8Fgc8A.js';
5
+ import { I as IconInput } from './fx-Bc3yEVED.js';
6
+ export { B as Badge, b as BadgeColor, c as BadgeProps, d as BadgeSize, e as BadgeVariant, C as CONFETTI_BURST_KEYFRAMES, f as CONFETTI_COLORS, g as ColorToken, h as ConfettiParticle, D as DisplayField, i as DisplayFieldFormat, j as DisplayFieldVariant, F as FxItem, k as FxLifecycle, l as FxOverlayItem, m as FxOverlayKind, a as FxPreset, n as FxProceduralShape, o as FxSpace, p as FxView, q as Icon, r as IconAnimation, s as IconProps, t as IconSize, u as ImageSource, L as LinkAction, P as Point, R as Rect, U as UiError, v as createConfettiParticles, w as fxHash01, x as fxLifecycle, y as isColorToken, z as resolveColorToken, A as resolveFxView, E as resolveIcon } from './fx-Bc3yEVED.js';
7
+ export { B as Button, a as ButtonProps, b as ButtonSize, c as ButtonVariant, I as Input, d as InputProps, P as PatternTile, e as PatternTileProps, f as PatternVariant, S as Select, g as SelectOption, h as SelectOptionGroup, i as SelectProps, j as getTileDimensions } from './Select-DuX0Gvwo.js';
8
8
  export { E as EventBusContext, a as EventBusContextType, b as EventBusContextTypeExtended, c as EventBusProvider, V as VideoEmbed, d as VideoEmbedProps, e as VideoErrorPayload, f as VideoPlayPayload, g as VideoReadyPayload, h as getGlobalEventBus, s as setGlobalEventBus, u as useEmitEvent, i as useEventBus, j as useEventListener, k as useEventSubscription, l as useRootEventBus } from './EventBusProvider-BFFHfN4O.js';
9
9
  import { ClassValue } from 'clsx';
10
10
  import { LucideIcon } from 'lucide-react';
@@ -335,6 +335,9 @@ interface BoxMarquee {
335
335
  /** Repeat the content right after itself so the strip never runs out; without it the content leaves and starts over */
336
336
  loop: boolean;
337
337
  }
338
+ /**
339
+ * @layoutOnly
340
+ */
338
341
  interface BoxProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, keyof A11yProps>, A11yProps {
339
342
  /** Additional CSS classes applied to the root element. */
340
343
  className?: string;
@@ -454,6 +457,9 @@ declare const CardContent: React__default.ForwardRefExoticComponent<React__defau
454
457
  declare const CardBody: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & React__default.RefAttributes<HTMLDivElement>>;
455
458
  declare const CardFooter: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & React__default.RefAttributes<HTMLDivElement>>;
456
459
 
460
+ /**
461
+ * @layoutOnly
462
+ */
457
463
  interface CenterProps extends A11yProps {
458
464
  /** Center inline (width fits content) vs block (full width) */
459
465
  inline?: boolean;
@@ -1088,6 +1094,9 @@ declare const SectionHeader: React__default.FC<SectionHeaderProps>;
1088
1094
  */
1089
1095
 
1090
1096
  type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'auto';
1097
+ /**
1098
+ * @layoutOnly
1099
+ */
1091
1100
  interface SpacerProps extends A11yProps {
1092
1101
  /** Fixed size (auto = flex grow) */
1093
1102
  size?: SpacerSize;
@@ -1162,6 +1171,9 @@ type StackDirection = "horizontal" | "vertical";
1162
1171
  type StackGap = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
1163
1172
  type StackAlign = "start" | "center" | "end" | "stretch" | "baseline";
1164
1173
  type StackJustify = "start" | "center" | "end" | "between" | "around" | "evenly";
1174
+ /**
1175
+ * @layoutOnly
1176
+ */
1165
1177
  interface StackProps extends Omit<React__default.AriaAttributes, keyof A11yProps>, A11yProps {
1166
1178
  /** Stack direction */
1167
1179
  direction?: StackDirection;
@@ -1244,7 +1256,7 @@ declare const StatusDot: React__default.ForwardRefExoticComponent<StatusDotProps
1244
1256
  /**
1245
1257
  * @accessibleName label
1246
1258
  * @role switch
1247
- * @tokens --color-primary --color-muted --color-background
1259
+ * @tokens --color-primary --color-muted-foreground --color-background
1248
1260
  * @motion css
1249
1261
  */
1250
1262
  interface SwitchProps extends A11yProps {
@@ -1252,7 +1264,9 @@ interface SwitchProps extends A11yProps {
1252
1264
  defaultChecked?: boolean;
1253
1265
  onChange?: (checked: boolean) => void;
1254
1266
  /** Declarative event name — emits UI:{action} with `actionPayload` and the new `checked` value on toggle */
1255
- action?: EventKey;
1267
+ action?: EventEmit<{
1268
+ checked: boolean;
1269
+ }>;
1256
1270
  /** Payload to include with the action event (the new `checked` is added to it)
1257
1271
  * @payloadFor action
1258
1272
  */
@@ -1345,7 +1359,10 @@ interface TextareaProps extends Omit<React__default.TextareaHTMLAttributes<HTMLT
1345
1359
  placeholder?: string;
1346
1360
  /** Number of visible rows */
1347
1361
  rows?: number;
1348
- /** Controlled value, for a field the program fills or clears. */
1362
+ /** Controlled value, for a field the program fills or clears.
1363
+ * @changedBy onChange
1364
+ * @changedBy action
1365
+ */
1349
1366
  value?: string;
1350
1367
  /** Declarative event: fires on ⌘/Ctrl+Enter with `{ value }`. */
1351
1368
  action?: EventEmit<{
package/dist/core.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- export { AnimatedGraphic, AnimatedReveal, Aside, AtlasImage, AtlasPanel, Avatar, BAND_ACCENT_FALLBACK, BAND_EDGE_FILL, BAND_SHAPES, BUILT_IN_THEMES, Badge, Box, Button, CONFETTI_BURST_KEYFRAMES, CONFETTI_COLORS, Card, CardBody, CardContent, CardFooter, CardHeader, CardTitle, Center, Checkbox, ConditionalWrapper, ConfettiEffect, DEFAULT_CURRENCY, DayCell, Dialog, Divider, EventBusContext, EventBusProvider, FilterPill, FlipContainer, GameIcon, HStack, I18nProvider, INLINE_TEXT_ATTR, Icon, Image, InfiniteScrollSentinel, Input, Label, LawReferenceTooltip, NavStackProvider, NavStackRouterBridge, NavigationProvider, Overlay, PatternTile, PendingScopeContext, Presence, ProgressBar, Radio, RangeSlider, STRETCHED_ABOVE, STRETCHED_CONTROL, SVG_MOTION_CLASSES, SectionHeader, Select, Spacer, Sparkline, Spinner, Stack, StatusDot, SurfaceBoundary, SvgBranch, SvgConnection, SvgFlow, SvgGrid, SvgLobe, SvgMesh, SvgMorph, SvgNode, SvgPulse, SvgRing, SvgShield, SvgStack, Switch, THEME_SCALE_KEYS, TextHighlight, Textarea, ThemeProvider, ThemeScopeContext, ThemeToggle, TimeSlotCell, TraitScopeProvider, TrendIndicator, TypewriterText, Typography, VStack, VideoEmbed, atlasFailed, atlasUrlOf, bandEdgeHeight, bandEdgeLayerStyle, bandEdgeMask, bandPadding, beginPending, blit, boxesOf, cn, compareCellValues, comparePathSpecificity, coreMessages, createConfettiParticles, createTraitPresence, createTranslate, cssTimeMs, domPassthrough, endPending, entriesFor, evaluateBinding, evaluateBindings, extractRouteParams, findPageByName, findPageByPath, followHref, formatDate, formatDateTime, formatTime, formatValue, fxHash01, fxLifecycle, getAllPages, getAtlas, getCurrentIconFamily, getDefaultPage, getGlobalEventBus, getTileDimensions, getTraitPresence, guardsHold, isAbsoluteHref, isAtlasAsset, isColorToken, isInertNavStack, isMotionEnabled, isPending, isSpriteSheetAtlas, kebabToPascal, keyInViewerMode, layoutScale, localeMeta, lucideIconKey, matchNavPage, matchPath, matchPathAmong, mergeMessages, motionTiming, navLabelsFromItems, newPendingKey, pageEntryLabel, parseCalendarDate, pathMatches, presenceGroup, pressableProps, previousEntry, registryKeyMode, registryKeyTheme, relabelCurrent, resolveAssetSource, resolveColorToken, resolveEntryLabels, resolveFxView, resolveIcon, resolveIconForFamily, resolveLucideByName, rowActivationProps, rowOpenControlProps, setGlobalEventBus, sortRows, subRectFor, subscribePending, svgMotionClass, syncNavStack, themeHasMode, toDateInputValue, toDateTimeInputValue, useActivePage, useAnimateChanges, useAtlasSliceDataUrl, useContentSurface, useDialogBehavior, useEmitEvent, useEventBus, useEventListener, useEventSubscription, useFormatContext, useIconFamily, useInfiniteScroll, useInitPayload, useMediaQuery, useNavStack, useNavigateTo, useNavigation, useNavigationId, useNavigationState, useOnSurface, usePendingAction, usePendingRows, usePendingScopeValue, usePrefersReducedMotion, usePresence, useRenderI18n, useResolvedIcon, useRootEventBus, useScopeHasPending, useScopedMode, useTapReveal, useTheme, useThemeIconStrokeApplies, useThemeScope, useTraitScope, useTraitScopeChain, useTranslate } from './chunk-D5FJU4XC.js';
2
+ export { AnimatedGraphic, AnimatedReveal, Aside, AtlasImage, AtlasPanel, Avatar, BAND_ACCENT_FALLBACK, BAND_EDGE_FILL, BAND_SHAPES, BUILT_IN_THEMES, Badge, Box, Button, CONFETTI_BURST_KEYFRAMES, CONFETTI_COLORS, Card, CardBody, CardContent, CardFooter, CardHeader, CardTitle, Center, Checkbox, ConditionalWrapper, ConfettiEffect, DEFAULT_CURRENCY, DayCell, Dialog, Divider, EventBusContext, EventBusProvider, FilterPill, FlipContainer, GameIcon, HStack, I18nProvider, INLINE_TEXT_ATTR, Icon, Image, InfiniteScrollSentinel, Input, Label, LawReferenceTooltip, NavStackProvider, NavStackRouterBridge, NavigationProvider, Overlay, PatternTile, PendingScopeContext, Presence, ProgressBar, Radio, RangeSlider, STRETCHED_ABOVE, STRETCHED_CONTROL, SVG_MOTION_CLASSES, SectionHeader, Select, Spacer, Sparkline, Spinner, Stack, StatusDot, SurfaceBoundary, SvgBranch, SvgConnection, SvgFlow, SvgGrid, SvgLobe, SvgMesh, SvgMorph, SvgNode, SvgPulse, SvgRing, SvgShield, SvgStack, Switch, THEME_SCALE_KEYS, TextHighlight, Textarea, ThemeProvider, ThemeScopeContext, ThemeToggle, TimeSlotCell, TraitScopeProvider, TrendIndicator, TypewriterText, Typography, VStack, VideoEmbed, atlasFailed, atlasUrlOf, bandEdgeHeight, bandEdgeLayerStyle, bandEdgeMask, bandPadding, beginPending, blit, boxesOf, cn, compareCellValues, comparePathSpecificity, coreMessages, createConfettiParticles, createTraitPresence, createTranslate, cssTimeMs, domPassthrough, endPending, entriesFor, evaluateBinding, evaluateBindings, extractRouteParams, findPageByName, findPageByPath, followHref, formatDate, formatDateTime, formatTime, formatValue, fxHash01, fxLifecycle, getAllPages, getAtlas, getCurrentIconFamily, getDefaultPage, getGlobalEventBus, getTileDimensions, getTraitPresence, guardsHold, isAbsoluteHref, isAtlasAsset, isColorToken, isInertNavStack, isMotionEnabled, isPending, isSpriteSheetAtlas, kebabToPascal, keyInViewerMode, layoutScale, localeMeta, lucideIconKey, matchNavPage, matchPath, matchPathAmong, mergeMessages, motionTiming, navLabelsFromItems, newPendingKey, pageEntryLabel, parseCalendarDate, pathMatches, presenceGroup, pressableProps, previousEntry, registryKeyMode, registryKeyTheme, relabelCurrent, resolveAssetSource, resolveColorToken, resolveEntryLabels, resolveFxView, resolveIcon, resolveIconForFamily, resolveLucideByName, rowActivationProps, rowOpenControlProps, setGlobalEventBus, sortRows, subRectFor, subscribePending, svgMotionClass, syncNavStack, themeHasMode, toDateInputValue, toDateTimeInputValue, useActivePage, useAnimateChanges, useAtlasSliceDataUrl, useContentSurface, useDialogBehavior, useEmitEvent, useEventBus, useEventListener, useEventSubscription, useFormatContext, useIconFamily, useInfiniteScroll, useInitPayload, useMediaQuery, useNavStack, useNavigateTo, useNavigation, useNavigationId, useNavigationState, useOnSurface, usePendingAction, usePendingRows, usePendingScopeValue, usePrefersReducedMotion, usePresence, useRenderI18n, useResolvedIcon, useRootEventBus, useScopeHasPending, useScopedMode, useTapReveal, useTheme, useThemeIconStrokeApplies, useThemeScope, useTraitScope, useTraitScopeChain, useTranslate } from './chunk-OOG33EGF.js';
3
3
  import './chunk-G7DCAZ22.js';
@@ -1,4 +1,4 @@
1
- import { A11yProps, Asset, AssetUrl, ScenePos } from '@almadar/core';
1
+ import { A11yProps, Asset, EntityFieldName, AssetUrl, ScenePos } from '@almadar/core';
2
2
  import React__default from 'react';
3
3
  import { LucideIcon } from 'lucide-react';
4
4
 
@@ -94,7 +94,7 @@ type DisplayFieldFormat = 'date' | 'time' | 'datetime' | 'currency' | 'number' |
94
94
  */
95
95
  interface DisplayField {
96
96
  /** Entity field name (dot-notation supported) */
97
- name: string;
97
+ name: EntityFieldName;
98
98
  /** Display label (the `name` as written if omitted) */
99
99
  label?: string;
100
100
  /** Icon shown beside the field */
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- export { SharedEntityStoreContext, createSharedEntityStore, runTickFrame, useAgentChat, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, usePreview, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useTickVisibility, useTraitListens, useUIEvents, useValidation } from '../chunk-PWXZN5G5.js';
3
- export { claimDelivery, keyChord, mergeCaptureTables, parseQueryBinding, useAuthContext, useCanvasGestures, useDragReorder, useKeyboardRouter, useLongPress, usePageHead, usePullToRefresh, useQuerySingleton, useSwipeGesture } from '../chunk-S3LS3B7N.js';
4
- export { ALMADAR_DND_MIME, useDraggable, useDropZone } from '../chunk-GHAF7QUD.js';
2
+ export { SharedEntityStoreContext, createSharedEntityStore, runTickFrame, useAgentChat, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, usePreview, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useTickVisibility, useTraitListens, useUIEvents, useValidation } from '../chunk-PD5QUVRE.js';
3
+ export { claimDelivery, keyChord, mergeCaptureTables, parseQueryBinding, useAuthContext, useCanvasGestures, useDragReorder, useKeyboardRouter, useLongPress, usePageHead, usePullToRefresh, useQuerySingleton, useSwipeGesture } from '../chunk-CB4POLGP.js';
4
+ export { ALMADAR_DND_MIME, useDraggable, useDropZone } from '../chunk-QZ6TDP6I.js';
5
5
  export { DEFAULT_SLOTS, useUISlotManager } from '../chunk-ANTJUQRD.js';
6
- import '../chunk-D5FJU4XC.js';
6
+ import '../chunk-OOG33EGF.js';
7
7
  import '../chunk-AZ74UPG6.js';
8
8
  import '../chunk-G7DCAZ22.js';
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ import { KernelEngine as KernelEngine$1 } from '@almadar/shell-runtime/kernel/en
15
15
  export * from '@almadar/shell-runtime/kernel/engine';
16
16
  import { KernelHostPorts, KernelAnswerScope } from '@almadar/shell-runtime/kernel/host';
17
17
  export * from '@almadar/shell-runtime/kernel/host';
18
- import { OrbitalSchema, EventRequest, EventResponse, MountSeed, OnDeviceModelPorts, BrowserTabPort, OrbitalDefinition, UISlot, AnyPatternConfig, ResolvedPatternProps, EventSource, SExpr, RuntimeValue } from '@almadar/core';
18
+ import { OrbitalSchema, PersistenceAdapter, EventRequest, EventResponse, MountSeed, OnDeviceModelPorts, BrowserTabPort, OrbitalDefinition, UISlot, AnyPatternConfig, ResolvedPatternProps, EventSource, SExpr, RuntimeValue } from '@almadar/core';
19
19
  export * from '@almadar/shell-runtime/kernel/program-effects';
20
20
  export * from '@almadar/shell-browser/page-facts';
21
21
  export * from '@almadar/shell-runtime/effects/on-device-model';
@@ -23,6 +23,7 @@ import { FramePostPort, FrameApplied } from '@almadar/shell-runtime/kernel/frame
23
23
  export * from '@almadar/shell-runtime/kernel/frame-applier';
24
24
  import { LocalFoldKernel } from '@almadar/shell-runtime/client/client-kernel';
25
25
  export { ClientDispatchHooks, ClientEmitOutcome, ClientKernel, ClientKernelOutcome, ClientMountHooks, ClientMountOutcome, LocalFoldKernel } from '@almadar/shell-runtime/client/client-kernel';
26
+ import { HeldValues } from '@almadar/shell-runtime/kernel/held-values';
26
27
  export * from '@almadar/shell-runtime/loader/schema-loader';
27
28
  export * from '@almadar/shell-runtime/loader/lazy-page';
28
29
  export * from '@almadar/shell-runtime/credentials/env-vars';
@@ -48,10 +49,10 @@ import { LocalKernelOptions, openLocalKernel as openLocalKernel$1 } from '@almad
48
49
  export { LocalKernelOptions, LocalStoreTransportOptions, createLocalStoreTransport, localStorePersistence, resolveLocalRows } from '@almadar/shell-runtime/runtime/evaluation/local-store-transport';
49
50
  export { ResidenceTransportOptions, createResidenceTransport } from '@almadar/shell-runtime/runtime/evaluation/residence-transport';
50
51
  import { KernelModule as KernelModule$1 } from './providers/index.js';
51
- import { IndexedDbPersistence } from '@almadar/shell-browser/storage';
52
+ import { ChangeRecord } from '@almadar/shell-browser/storage';
53
+ export { V as VerificationBus, b as bindEventBus, a as bindTraitStateGetter, e as ensureVerificationApi, g as getOrbitalVerification } from './verification-C5pTeMJv.js';
52
54
  export { w as wrapCallbackForEvent } from './wrapCallbackForEvent-B9QLbhxX.js';
53
55
  export { a as PERF_NAMESPACE, e as PerfDetail, f as PerfDetailValue, P as PerfEntry, c as clearPerf, p as perfEnd, g as perfGauge, b as perfStart, h as perfStore, d as perfTime, i as perfTimeAsync, j as pushPerfEntry } from './perf-Dr28-AgT.js';
54
- export { V as VerificationBus, b as bindEventBus, a as bindTraitStateGetter, e as ensureVerificationApi, g as getOrbitalVerification } from './verification-C5pTeMJv.js';
55
56
  export * from '@almadar/shell-runtime/events/EventBus';
56
57
  export * from '@almadar/shell-runtime/events/emit-stamp';
57
58
  import '@almadar/core/patterns';
@@ -84,6 +85,8 @@ interface TickFramePorts {
84
85
  client: LocalFoldKernel;
85
86
  /** Posts what fired ticks owe; `undefined` for a host with no transport (the frame then only folds locally). */
86
87
  post: FramePostPort | undefined;
88
+ /** The kernel's held render values (EXEC-DIST-16), which its frames name by reference. */
89
+ held: HeldValues;
87
90
  }
88
91
  /** One host frame: `Kernel.frame(now())`, then the applier. Shared by the poll driver and by hosts that step on demand. */
89
92
  declare function runTickFrame(ports: TickFramePorts, now: () => number): Promise<FrameApplied>;
@@ -107,6 +110,12 @@ declare function nativeMemoryPersistence(kernel: KernelModule): NativeMemoryPers
107
110
 
108
111
  declare function openLocalKernel(options: LocalKernelOptions): ReturnType<typeof openLocalKernel$1>;
109
112
 
113
+ /** Where a browser keeps rows between visits: it stores and returns whole rows, and answers no query. */
114
+ interface BrowserDatabase extends Pick<PersistenceAdapter, 'create' | 'delete' | 'list'> {
115
+ /** The write log: empty only for a database no visit has written to. */
116
+ changes(): Promise<readonly ChangeRecord[]>;
117
+ }
118
+
110
119
  /**
111
120
  * The browser store of a program's `[persistent: x, browser]` entities, opened once, and the in-process transport its legs run through. The runtime
112
121
  * host (`useBrowserStore`) and compiled static clients both open it here.
@@ -114,8 +123,12 @@ declare function openLocalKernel(options: LocalKernelOptions): ReturnType<typeof
114
123
 
115
124
  /** One browser database per app and viewer locale, so a visitor's records stay in one language. */
116
125
  declare function browserStoreName(appName: string, locale: string | undefined): string;
117
- /** Open the store; `null` when no entity is browser-stored. */
118
- declare function openBrowserStore(databaseName: string, orbitals: readonly OrbitalDefinition[], factory?: IDBFactory): Promise<IndexedDbPersistence | null>;
126
+ /** The rows of a browser-stored program, filed by collection: `persistedMemory`'s database over the app's IndexedDB. */
127
+ interface BrowserStore extends BrowserDatabase {
128
+ close(): void;
129
+ }
130
+ /** Open the store; `null` when no entity is browser-stored. Every entity bound to one collection shares its rows. A program once filed under `formerDatabaseName` has its rows moved in. */
131
+ declare function openBrowserStore(databaseName: string, orbitals: readonly OrbitalDefinition[], factory?: IDBFactory, formerDatabaseName?: string): Promise<BrowserStore | null>;
119
132
  interface BrowserStoreTransportOptions {
120
133
  databaseName: string;
121
134
  schema: OrbitalSchema;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { runTickFrame, createTickDriver } from './chunk-AU7O65OX.js';
3
- export { createTickDriver, runTickFrame } from './chunk-AU7O65OX.js';
4
- import { wrapCallbackForEvent, validateSlotContent, local_store_transport_exports, pushPerfEntry, perfTimeAsync, perfTime, perfStore, perfStart, perfGauge, perfEnd, openLocalKernel, openBundledBrowserStore, openBrowserStoreTransport, openBrowserStore, openBrowserHost, nativeMemoryPersistence, getOrbitalVerification, eventRouteKey, ensureVerificationApi, createSlotSetter, createResidenceTransport, collectEmbeddedTraits, clearPerf, buildOrbitalsByTrait, browserStoreName, bindTraitStateGetter, bindEventBus, assertIsSlotManager, assertIsMultiSourceSlotManager, aggregateSlotContent, RendererContractViolationError, PERF_NAMESPACE, webHostActions } from './chunk-ZDRDJKYB.js';
5
- export { PERF_NAMESPACE, RendererContractViolationError, aggregateSlotContent, assertIsMultiSourceSlotManager, assertIsSlotManager, bindEventBus, bindTraitStateGetter, browserStoreName, buildOrbitalsByTrait, clearPerf, collectEmbeddedTraits, createResidenceTransport, createSlotSetter, ensureVerificationApi, eventRouteKey, getOrbitalVerification, nativeMemoryPersistence, openBrowserHost, openBrowserStore, openBrowserStoreTransport, openBundledBrowserStore, openLocalKernel, perfEnd, perfGauge, perfStart, perfStore, perfTime, perfTimeAsync, pushPerfEntry, validateSlotContent, wrapCallbackForEvent } from './chunk-ZDRDJKYB.js';
2
+ import { runTickFrame, createTickDriver } from './chunk-OXHXISFA.js';
3
+ export { createTickDriver, runTickFrame } from './chunk-OXHXISFA.js';
4
+ import { wrapCallbackForEvent, validateSlotContent, local_store_transport_exports, pushPerfEntry, perfTimeAsync, perfTime, perfStore, perfStart, perfGauge, perfEnd, openLocalKernel, openBundledBrowserStore, openBrowserStoreTransport, openBrowserStore, openBrowserHost, nativeMemoryPersistence, getOrbitalVerification, eventRouteKey, ensureVerificationApi, createSlotSetter, createResidenceTransport, collectEmbeddedTraits, clearPerf, buildOrbitalsByTrait, browserStoreName, bindTraitStateGetter, bindEventBus, assertIsSlotManager, assertIsMultiSourceSlotManager, aggregateSlotContent, RendererContractViolationError, PERF_NAMESPACE, webHostActions } from './chunk-MXN32OVV.js';
5
+ export { PERF_NAMESPACE, RendererContractViolationError, aggregateSlotContent, assertIsMultiSourceSlotManager, assertIsSlotManager, bindEventBus, bindTraitStateGetter, browserStoreName, buildOrbitalsByTrait, clearPerf, collectEmbeddedTraits, createResidenceTransport, createSlotSetter, ensureVerificationApi, eventRouteKey, getOrbitalVerification, nativeMemoryPersistence, openBrowserHost, openBrowserStore, openBrowserStoreTransport, openBundledBrowserStore, openLocalKernel, perfEnd, perfGauge, perfStart, perfStore, perfTime, perfTimeAsync, pushPerfEntry, validateSlotContent, wrapCallbackForEvent } from './chunk-MXN32OVV.js';
6
6
  import { __export, __reExport } from './chunk-G7DCAZ22.js';
7
7
  export * from '@almadar/shell-runtime/kernel/wire';
8
8
  export * from '@almadar/shell-runtime/kernel/decode';
@@ -1,5 +1,5 @@
1
- import { createTickDriver, runTickFrame } from './chunk-AU7O65OX.js';
2
- import { presenceGroup, getTraitPresence } from './chunk-D5FJU4XC.js';
1
+ import { createTickDriver, runTickFrame } from './chunk-OXHXISFA.js';
2
+ import { presenceGroup, getTraitPresence } from './chunk-OOG33EGF.js';
3
3
  import './chunk-G7DCAZ22.js';
4
4
  import { isJsonObject } from '@almadar/core';
5
5
  import { createLocalFold, paintResponse, traceResponse } from '@almadar/shell-runtime';
@@ -7,6 +7,7 @@ import { TraitMountError } from '@almadar/shell-runtime/client/trait-mount-error
7
7
  import { SessionEndedError } from '@almadar/shell-runtime/client/EventTransport';
8
8
  import { createLogger } from '@almadar/logger';
9
9
  import { decodeHeldCompletion } from '@almadar/shell-runtime/kernel/decode';
10
+ import { HeldValues } from '@almadar/shell-runtime/kernel/held-values';
10
11
 
11
12
  var log = createLogger("almadar:ui:kernel-client");
12
13
  var nextClientSerial = 0;
@@ -21,24 +22,51 @@ var defaultFrameScheduler = (callback) => {
21
22
  function parse(text) {
22
23
  return JSON.parse(text);
23
24
  }
25
+ var heldByKernel = /* @__PURE__ */ new WeakMap();
26
+ function heldOf(k) {
27
+ let held = heldByKernel.get(k);
28
+ if (held === void 0) {
29
+ held = new HeldValues();
30
+ heldByKernel.set(k, held);
31
+ }
32
+ return held;
33
+ }
34
+ function readAnswer(k, text) {
35
+ const held = heldOf(k);
36
+ held.release(k.heldReleased());
37
+ return held.read(text);
38
+ }
24
39
  function payloadJson(payload) {
25
40
  return payload === void 0 ? void 0 : JSON.stringify(payload);
26
41
  }
42
+ var foldTurnsByKernel = /* @__PURE__ */ new WeakMap();
43
+ function foldTurnsOf(k) {
44
+ let turns = foldTurnsByKernel.get(k);
45
+ if (turns === void 0) {
46
+ turns = /* @__PURE__ */ new Map();
47
+ foldTurnsByKernel.set(k, turns);
48
+ }
49
+ return turns;
50
+ }
51
+ var liveStoreByKernel = /* @__PURE__ */ new WeakMap();
27
52
  function createKernelClient(opts) {
28
- const { store, traitIndex, transport } = opts;
53
+ const { traitIndex, transport } = opts;
29
54
  let loaded;
55
+ const liveStore = () => loaded === void 0 ? opts.store : liveStoreByKernel.get(loaded) ?? opts.store;
56
+ const store = new Proxy(opts.store, { get: (_own, key) => Reflect.get(liveStore(), key) });
30
57
  const configs = /* @__PURE__ */ new Map();
31
58
  const ready = Promise.all([opts.instance, opts.gpu]).then(([k, gpu]) => {
32
59
  loaded = k;
60
+ liveStoreByKernel.set(k, opts.store);
33
61
  if (gpu !== void 0) k.installGpu(gpu, (json) => deliverGpuCompletion(k, json));
34
62
  return k;
35
63
  });
36
64
  ready.catch(() => void 0);
37
65
  const visibleGroups = [...traitIndex.byName].filter(([, entry]) => entry.ticks.some((tick) => tick.whileVisible)).map(([name]) => [name, presenceGroup(traitIndex, name)]);
38
- const foldTurns = /* @__PURE__ */ new Map();
39
66
  const runQueuedFolds = (k) => {
67
+ const foldTurns = foldTurnsOf(k);
40
68
  for (let json = k.nextFold(); json !== void 0; json = k.nextFold()) {
41
- const next = parse(json);
69
+ const next = readAnswer(k, json);
42
70
  const turn = foldTurns.get(next.ticket);
43
71
  if (turn === void 0) throw new Error(`kernel wire: the kernel folded ticket ${next.ticket}, which nothing waits on`);
44
72
  foldTurns.delete(next.ticket);
@@ -46,13 +74,13 @@ function createKernelClient(opts) {
46
74
  else turn.ran(next.fold);
47
75
  }
48
76
  };
49
- const foldInOrder = (k, flight, answer, alreadyDeliveredJson, baseJson) => settleProgress(k, parse(k.foldInOrder(flight, JSON.stringify(answer), alreadyDeliveredJson, baseJson)));
50
- const deliverInOrder = (k, flight, emitted) => settleProgress(k, parse(k.deliverEmitToListeners(flight, JSON.stringify(emitted))));
51
- const deliverOriginInOrder = (k, flight, emitted) => settleProgress(k, parse(k.deliverOriginEmit(flight, JSON.stringify(emitted))));
77
+ const foldInOrder = (k, flight, answer, alreadyDeliveredJson, baseJson) => settleProgress(k, readAnswer(k, k.foldInOrder(flight, JSON.stringify(answer), alreadyDeliveredJson, baseJson)));
78
+ const deliverInOrder = (k, flight, emitted) => settleProgress(k, readAnswer(k, k.deliverEmitToListeners(flight, JSON.stringify(emitted))));
79
+ const deliverOriginInOrder = (k, flight, emitted) => settleProgress(k, readAnswer(k, k.deliverOriginEmit(flight, JSON.stringify(emitted))));
52
80
  const settleProgress = (k, progress) => {
53
81
  if (progress.status === "applied") return Promise.resolve(progress.fold);
54
82
  const turn = new Promise((ran, failed) => {
55
- foldTurns.set(progress.ticket, { ran, failed });
83
+ foldTurnsOf(k).set(progress.ticket, { ran, failed });
56
84
  });
57
85
  queueMicrotask(() => runQueuedFolds(k));
58
86
  return turn;
@@ -69,10 +97,11 @@ function createKernelClient(opts) {
69
97
  let scopeTail = Promise.resolve();
70
98
  const framesSince = (since) => {
71
99
  if (loaded === void 0) throw new Error("the kernel is not loaded");
72
- return parse(loaded.framesSince(since));
100
+ return readAnswer(loaded, loaded.framesSince(since));
73
101
  };
74
102
  const mirror = (response) => paintResponse(store, framesSince, response);
75
103
  const traceStreams = /* @__PURE__ */ new Set();
104
+ const costed = () => [...traceStreams].some((stream) => stream.cost);
76
105
  const movedTraits = (item) => {
77
106
  const dispatch = item["dispatch"];
78
107
  const outcomes = dispatch !== void 0 && dispatch !== null && isJsonObject(dispatch) ? dispatch["outcomes"] ?? null : null;
@@ -81,12 +110,17 @@ function createKernelClient(opts) {
81
110
  };
82
111
  const publishTrace = (k) => {
83
112
  if (traceStreams.size === 0) return;
84
- const items = parse(k.takeTrace());
85
- if (!Array.isArray(items)) return;
86
- for (const item of items) {
87
- if (item === null || !isJsonObject(item)) continue;
88
- const moved = movedTraits(item);
113
+ const views = parse(k.takeTraceViews());
114
+ if (!Array.isArray(views)) return;
115
+ for (const view of views) {
116
+ if (view === null || !isJsonObject(view)) continue;
117
+ const plain = view["plain"];
118
+ if (plain === void 0 || plain === null || !isJsonObject(plain)) continue;
119
+ const measured = view["costed"];
120
+ const costedItem = measured !== void 0 && measured !== null && isJsonObject(measured) ? measured : plain;
121
+ const moved = movedTraits(plain);
89
122
  for (const stream of traceStreams) {
123
+ const item = stream.cost ? costedItem : plain;
90
124
  if (moved.some((t) => stream.traits.has(t))) queueMicrotask(() => stream.onItem(item));
91
125
  }
92
126
  }
@@ -106,7 +140,7 @@ function createKernelClient(opts) {
106
140
  const snapshot = wire.snapshot;
107
141
  if (snapshot === null) return { clientEffectsByTrait: [] };
108
142
  const trait = wire.seed.trait;
109
- const repaint = parse(k.restore(trait, entityId, JSON.stringify(snapshot)));
143
+ const repaint = readAnswer(k, k.restore(trait, entityId, JSON.stringify(snapshot)));
110
144
  if (snapshot.state !== "") store.states.rollbackState(trait, snapshot.state, entityId, "server-rejected");
111
145
  mirror(repaint);
112
146
  store.notify();
@@ -154,7 +188,7 @@ function createKernelClient(opts) {
154
188
  } catch (err) {
155
189
  const seeds = mountedSeeds.get(orbital);
156
190
  if (!(err instanceof SessionEndedError) || seeds === void 0 || seeds.length === 0) throw err;
157
- const reseed = JSON.parse(k.reseedLeg(JSON.stringify(seeds), request.entityId));
191
+ const reseed = readAnswer(k, k.reseedLeg(JSON.stringify(seeds), request.entityId));
158
192
  const mounted = await transport.send(orbital, request.locale !== void 0 ? { ...reseed, locale: request.locale } : reseed);
159
193
  await foldAnswer(k, flight, mounted);
160
194
  store.notify();
@@ -172,7 +206,7 @@ function createKernelClient(opts) {
172
206
  if (transport === void 0) return out;
173
207
  const queue = [...legs];
174
208
  for (let planned = queue.shift(); planned !== void 0; planned = queue.shift()) {
175
- const shaped = planned.keepsState ? planned.leg : JSON.parse(k.statefulLeg(JSON.stringify(planned.leg)));
209
+ const shaped = planned.keepsState ? planned.leg : readAnswer(k, k.statefulLeg(JSON.stringify(planned.leg)));
176
210
  const sent = request.locale !== void 0 ? { ...shaped, locale: request.locale } : shaped;
177
211
  const base = k.foldBase(sent.entityByTrait !== void 0 ? JSON.stringify(sent.entityByTrait) : void 0, JSON.stringify(planned.foldSeeded), sent.entityId);
178
212
  let posted;
@@ -213,7 +247,7 @@ function createKernelClient(opts) {
213
247
  };
214
248
  out.success = out.success && posted.success;
215
249
  if (posted.error !== void 0) out.error = posted.error;
216
- out.rejections.push(...(fold.rejections ?? []).filter((r) => r.code === "effect-failed" || r.code === "repaint-failed"));
250
+ out.rejections.push(...(fold.rejections ?? []).filter((r) => r.code === "effect-failed" || r.code === "repaint-failed" || r.code === "cascade-capped"));
217
251
  }
218
252
  return out;
219
253
  };
@@ -254,14 +288,17 @@ function createKernelClient(opts) {
254
288
  frame: (nowMs) => {
255
289
  const presence = getTraitPresence();
256
290
  for (const [traitName, group] of visibleGroups) k.setTraitOnScreen(traitName, presence.state(group) !== "off-screen");
257
- return k.frame(nowMs);
291
+ const frame = k.frame(nowMs);
292
+ heldOf(k).release(k.heldReleased());
293
+ return frame;
258
294
  },
259
295
  framePause: () => k.framePause(),
260
296
  frameResume: () => k.frameResume(),
261
297
  tickCount: () => k.tickCount()
262
298
  },
263
299
  client: localFold,
264
- post: framePost(k)
300
+ post: framePost(k),
301
+ held: heldOf(k)
265
302
  });
266
303
  const dispatchOne = async (request, hooks, progress) => {
267
304
  const traitName = request.targetTrait;
@@ -269,13 +306,13 @@ function createKernelClient(opts) {
269
306
  const k = await ready;
270
307
  await scopeTail;
271
308
  if (request.runTick !== void 0) {
272
- const response = parse(k.tick(request.runTick.trait, request.runTick.tick, request.entityId));
309
+ const response = readAnswer(k, k.tick(request.runTick.trait, request.runTick.tick, request.entityId));
273
310
  publishTrace(k);
274
311
  mirror(response);
275
312
  store.notify();
276
313
  return { response, mode: parse(k.dispatchMode(request.runTick.trait)) };
277
314
  }
278
- const wire = parse(request.heldPayload !== void 0 ? k.dispatchHeld(traitName, request.entityId, request.event, request.heldPayload) : k.dispatch(traitName, request.entityId, request.event, payloadJson(request.payload)));
315
+ const wire = readAnswer(k, request.heldPayload !== void 0 ? k.dispatchHeld(traitName, request.entityId, request.event, request.heldPayload) : k.dispatch(traitName, request.entityId, request.event, payloadJson(request.payload)));
279
316
  try {
280
317
  return await settleDispatch(k, wire, request, hooks, progress);
281
318
  } finally {
@@ -419,12 +456,12 @@ function createKernelClient(opts) {
419
456
  const release = async (left) => {
420
457
  if (transport === void 0 || left.length === 0) return;
421
458
  await opts.topology;
422
- for (const { trait, orbital, leg } of left) {
423
- transport.send(orbital, leg).catch((err) => log.warn("unmount-post-failed", { trait, orbital, error: String(err) }));
459
+ for (const { traits, orbital, leg } of left) {
460
+ transport.send(orbital, leg).catch((err) => log.warn("unmount-post-failed", { traits, orbital, error: String(err) }));
424
461
  }
425
462
  };
426
463
  const client = {
427
- store,
464
+ store: opts.store,
428
465
  dispatch: (request, hooks) => dispatchOne(request, hooks !== void 0 ? [hooks] : [], false),
429
466
  dispatchProgress: (request) => dispatchOne(request, [], true),
430
467
  foldHostDispatch: async (request, response) => {
@@ -460,7 +497,7 @@ function createKernelClient(opts) {
460
497
  await scopeTail;
461
498
  const baseRequest = base ?? {};
462
499
  k.mount(JSON.stringify(seeds.map((s) => s.trait)));
463
- const mount = parse(k.dispatchMount(JSON.stringify(seeds), baseRequest.entityId, payloadJson(baseRequest.payload), baseRequest.route, baseRequest.crumb));
500
+ const mount = readAnswer(k, k.dispatchMount(JSON.stringify(seeds), baseRequest.entityId, payloadJson(baseRequest.payload), baseRequest.route, baseRequest.crumb));
464
501
  try {
465
502
  return await settleMount(k, mount, seeds, hooks, baseRequest);
466
503
  } finally {
@@ -471,15 +508,15 @@ function createKernelClient(opts) {
471
508
  routeMounts: async (routePath) => parse((await ready).routeMounts(routePath)),
472
509
  pageCircuit: async (page, route) => parse((await ready).pageCircuit(page, route)),
473
510
  enter: (routePath, mountKey, traits) => {
474
- const entered = scopeTail.then(() => ready).then((k) => parse(k.enter(routePath, `${clientSerial}\0${mountKey}`, JSON.stringify(traits))));
511
+ const entered = scopeTail.then(() => ready).then((k) => readAnswer(k, k.enter(routePath, `${clientSerial}\0${mountKey}`, JSON.stringify(traits))));
475
512
  scopeTail = entered.then(() => void 0, () => void 0);
476
513
  return entered.then((answer) => {
477
514
  void release(answer.left);
478
- return { seeds: answer.seeds, left: answer.left.map((l) => l.trait) };
515
+ return { seeds: answer.seeds, left: answer.left.flatMap((l) => l.traits) };
479
516
  });
480
517
  },
481
518
  leave: async () => {
482
- const left = scopeTail.then(() => ready).then((k) => parse(k.leave()));
519
+ const left = scopeTail.then(() => ready).then((k) => readAnswer(k, k.leave()));
483
520
  scopeTail = left.then(() => void 0, () => void 0);
484
521
  await release(await left);
485
522
  },
@@ -544,12 +581,16 @@ function createKernelClient(opts) {
544
581
  releases.forEach((release2) => release2());
545
582
  };
546
583
  },
547
- traceStream: (traits, onItem) => {
548
- const stream = { traits: new Set(traits), onItem };
584
+ traceStream: (traits, onItem, cost = false) => {
585
+ const stream = { traits: new Set(traits), onItem, cost };
549
586
  traceStreams.add(stream);
550
- void ready.then((k) => k.setTraceOn(true)).catch((error) => log.error("trace-stream-failed", { error: error.message }));
587
+ void ready.then((k) => {
588
+ k.setTraceOn(true);
589
+ k.setTraceCost(costed());
590
+ }).catch((error) => log.error("trace-stream-failed", { error: error.message }));
551
591
  return () => {
552
592
  traceStreams.delete(stream);
593
+ loaded?.setTraceCost(costed());
553
594
  if (traceStreams.size === 0) loaded?.setTraceOn(false);
554
595
  };
555
596
  },
@@ -28,6 +28,8 @@ interface KernelInstance {
28
28
  deliverOriginEmit(flight: number, emittedJson: string): string;
29
29
  /** The oldest queued answer that can fold now, folded: a `FoldedNextWire` as JSON, or `undefined` when none waits. */
30
30
  nextFold(): string | undefined;
31
+ /** The held render values (EXEC-DIST-16) the kernel let go of since the last call: a JSON array of ids. */
32
+ heldReleased(): string;
31
33
  /** The flight is done: its answers are folded, or the host gave up on them. */
32
34
  endFlight(flight: number): boolean;
33
35
  /** The rows a posted leg's answer is folded against; `undefined` when the leg carried none. */
@@ -62,6 +64,10 @@ interface KernelInstance {
62
64
  setTraceOn(on: boolean): void;
63
65
  /** The trace items recorded since the last take, in dispatch order: a JSON array. */
64
66
  takeTrace(): string;
67
+ /** Measure each recorded dispatch while on (EXEC-COST-1). */
68
+ setTraceCost(on: boolean): void;
69
+ /** The items recorded since the last take, each `{ plain, costed? }` (EXEC-COST-1): a JSON array. */
70
+ takeTraceViews(): string;
65
71
  /** Carry each frame response's `effectResults` (omitted otherwise), for a verifier. */
66
72
  setFrameEffectResults(carry: boolean): void;
67
73
  /** The kernel's mounts for a host start on `side` (`client|server|process|start`): `MountSeed[]` as JSON. */
@@ -1,13 +1,13 @@
1
1
  import { FieldValue, EntityRow, EventKey, EnterAnimation } from '@almadar/core';
2
2
  export { AssetLoadStatus, BridgeHealth, CheckStatus, EffectTrace, EventLogEntry, OrbitalVerificationAPI, ServerResponseTrace, TraitStateSnapshot, TransitionTrace, VerificationCheck, VerificationSnapshot, VerificationSummary, getNestedValue } from '@almadar/core';
3
3
  export { p as profilerOnRender, u as usePerfBuffer } from '../perf-CKiBKbkw.js';
4
- export { T as TraitSnapshotGetter, b as bindCanvasCapture, a as bindConfigApplier, c as bindEventBus, d as bindLastDrawables, e as bindTraitStateGetter, f as clearVerification, g as getAllChecks, h as getBridgeHealth, i as getSnapshot, j as getSummary, k as getTraitSnapshots, l as getTransitions, m as getTransitionsForTrait, r as recordOrbitalResponse, n as recordServerResponse, o as recordTransition, p as recordingTransport, q as registerCheck, s as registerTraitSnapshot, t as serverEffectTraces, u as subscribeToVerification, v as updateAssetStatus, w as updateBridgeHealth, x as updateCheck, y as verifierAttached, z as waitForTransition } from '../verificationRegistry-BLuQU1JV.js';
4
+ export { T as TraitSnapshotGetter, b as bindCanvasCapture, a as bindConfigApplier, c as bindEventBus, d as bindLastDrawables, e as bindTraitStateGetter, f as clearVerification, g as getAllChecks, h as getBridgeHealth, i as getSnapshot, j as getSummary, k as getTraitSnapshots, l as getTransitions, m as getTransitionsForTrait, r as recordOrbitalResponse, n as recordServerResponse, o as recordTransition, p as recordingTransport, q as registerCheck, s as registerTraitSnapshot, t as serverEffectTraces, u as subscribeToVerification, v as updateAssetStatus, w as updateBridgeHealth, x as updateCheck, y as verifierAttached, z as waitForTransition } from '../verificationRegistry-Dz5N0oxx.js';
5
5
  export { A as ApplyOperatorInput, a as ApplyOperatorResult, C as ContentSegment, E as EDITOR_MOTIONS, b as EDITOR_OPERATORS, c as EditorMotion, d as EditorOperator, I as INDENT_UNIT, L as LessonSegment, e as applyMotion, f as applyOperator, i as isEditorMotion, g as isEditorOperator, m as motionRange, p as parseContentSegments, h as parseMarkdownWithCodeBlocks } from '../SegmentRenderer-BAQ6Jwf6.js';
6
6
  export { D as DENSITY_ELEMENT_VARS, a as DENSITY_SPACING_VARS, b as DIAGRAM_VARS, E as ELEVATION_VARS, F as FlatVarEntry, G as GEOMETRY_VARS, I as ICONOGRAPHY_VARS, L as LEGACY_PREFIXES, M as MOTION_DURATION_KEYS, c as MOTION_EASING_KEYS, d as MOTION_INTENT_VARS, e as MOTION_SHAPE_VARS, S as SCENE_VARS, f as SURFACE_VARS, g as StringValueKey, h as TYPE_FAMILY_VARS, i as TYPE_HEADING_VARS, j as TYPE_INTENT_VARS, k as TYPE_SIZE_KEYS, T as ThemeMode, l as enterKeyframe, r as resolveThemeForRuntime, t as themeTokensToCssVars } from '../themeTokens-CRd8AEDF.js';
7
7
  export { a as PERF_NAMESPACE, P as PerfEntry, c as clearPerf, p as perfEnd, g as perfGauge, b as perfStart, d as perfTime, i as perfTimeAsync } from '../perf-Dr28-AgT.js';
8
8
  import 'react';
9
9
  import '../verification-C5pTeMJv.js';
10
- import '../fx-Bx5RqplG.js';
10
+ import '../fx-Bc3yEVED.js';
11
11
  import 'lucide-react';
12
12
  import '../EventBusProvider-BFFHfN4O.js';
13
13
  import '@almadar/shell-runtime/client/EventTransport';