@almadar/ui 2.1.1 → 2.1.3

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.
@@ -5465,6 +5465,13 @@ interface BattleUnit {
5465
5465
  unitType?: string;
5466
5466
  heroId?: string;
5467
5467
  sprite?: string;
5468
+ /** Optional sprite sheet for animation (null = use static sprite) */
5469
+ spriteSheet?: {
5470
+ se: string;
5471
+ sw: string;
5472
+ frameWidth: number;
5473
+ frameHeight: number;
5474
+ } | null;
5468
5475
  team: 'player' | 'enemy';
5469
5476
  position: {
5470
5477
  x: number;
@@ -5548,7 +5555,7 @@ interface BattleSlotContext {
5548
5555
  y: number;
5549
5556
  };
5550
5557
  }
5551
- interface BattleBoardProps {
5558
+ interface BattleBoardProps extends Omit<EntityDisplayProps, 'entity'> {
5552
5559
  /** Entity containing all board data */
5553
5560
  entity: BattleEntity;
5554
5561
  /** Canvas render scale */
@@ -5678,6 +5685,13 @@ interface MapHero {
5678
5685
  };
5679
5686
  movement: number;
5680
5687
  sprite?: string;
5688
+ /** Optional sprite sheet for animation (null = use static sprite) */
5689
+ spriteSheet?: {
5690
+ se: string;
5691
+ sw: string;
5692
+ frameWidth: number;
5693
+ frameHeight: number;
5694
+ } | null;
5681
5695
  level?: number;
5682
5696
  }
5683
5697
  /** A hex on the map */
@@ -5733,13 +5747,9 @@ interface WorldMapEntity {
5733
5747
  };
5734
5748
  backgroundImage?: string;
5735
5749
  }
5736
- interface WorldMapBoardProps {
5750
+ interface WorldMapBoardProps extends Omit<EntityDisplayProps, 'entity'> {
5737
5751
  /** World map entity data */
5738
5752
  entity: WorldMapEntity;
5739
- /** Loading state indicator */
5740
- isLoading?: boolean;
5741
- /** Error state */
5742
- error?: Error | null;
5743
5753
  /** Canvas render scale */
5744
5754
  scale?: number;
5745
5755
  /** Unit draw-size multiplier */
@@ -6112,6 +6122,1062 @@ declare namespace EditorToolbar {
6112
6122
  var displayName: string;
6113
6123
  }
6114
6124
 
6125
+ /**
6126
+ * ActionTile Component
6127
+ *
6128
+ * A draggable action tile for the Sequencer tier (ages 5-8).
6129
+ * Kids drag these from the ActionPalette into SequenceBar slots.
6130
+ * Sets SlotItemData on dataTransfer for TraitSlot compatibility.
6131
+ *
6132
+ * @packageDocumentation
6133
+ */
6134
+
6135
+ interface ActionTileProps extends Omit<EntityDisplayProps, 'entity'> {
6136
+ /** The action data */
6137
+ action: SlotItemData;
6138
+ /** Size variant */
6139
+ size?: 'sm' | 'md' | 'lg';
6140
+ /** Whether the tile is disabled / already used */
6141
+ disabled?: boolean;
6142
+ /** Category → color mapping */
6143
+ categoryColors?: Record<string, {
6144
+ bg: string;
6145
+ border: string;
6146
+ }>;
6147
+ }
6148
+ declare function ActionTile({ action, size, disabled, categoryColors, className, }: ActionTileProps): React__default.JSX.Element;
6149
+ declare namespace ActionTile {
6150
+ var displayName: string;
6151
+ }
6152
+
6153
+ /**
6154
+ * ActionPalette Component
6155
+ *
6156
+ * Grid of draggable ActionTile components for the Sequencer tier.
6157
+ * Kids pick from these to build their sequence.
6158
+ *
6159
+ * @packageDocumentation
6160
+ */
6161
+
6162
+ interface ActionPaletteProps {
6163
+ /** Available actions */
6164
+ actions: SlotItemData[];
6165
+ /** IDs of actions that are already used (shown as disabled) */
6166
+ usedActionIds?: string[];
6167
+ /** Whether each action can be used multiple times */
6168
+ allowDuplicates?: boolean;
6169
+ /** Category → color mapping */
6170
+ categoryColors?: Record<string, {
6171
+ bg: string;
6172
+ border: string;
6173
+ }>;
6174
+ /** Size variant */
6175
+ size?: 'sm' | 'md' | 'lg';
6176
+ /** Label above the palette */
6177
+ label?: string;
6178
+ /** Additional CSS classes */
6179
+ className?: string;
6180
+ }
6181
+ declare function ActionPalette({ actions, usedActionIds, allowDuplicates, categoryColors, size, label, className, }: ActionPaletteProps): React__default.JSX.Element;
6182
+ declare namespace ActionPalette {
6183
+ var displayName: string;
6184
+ }
6185
+
6186
+ /**
6187
+ * SequenceBar Component
6188
+ *
6189
+ * A row of TraitSlot components forming the action sequence for the
6190
+ * Sequencer tier (ages 5-8). Kids drag ActionTiles from the palette
6191
+ * into these slots to build their sequence.
6192
+ *
6193
+ * @packageDocumentation
6194
+ */
6195
+
6196
+ interface SequenceBarProps {
6197
+ /** The current sequence (sparse — undefined means empty slot) */
6198
+ slots: Array<SlotItemData | undefined>;
6199
+ /** Max number of slots */
6200
+ maxSlots: number;
6201
+ /** Called when an item is dropped into slot at index */
6202
+ onSlotDrop: (index: number, item: SlotItemData) => void;
6203
+ /** Called when a slot is cleared */
6204
+ onSlotRemove: (index: number) => void;
6205
+ /** Whether the sequence is currently playing (disable interaction) */
6206
+ playing?: boolean;
6207
+ /** Current step index during playback (-1 = not playing) */
6208
+ currentStep?: number;
6209
+ /** Category → color mapping */
6210
+ categoryColors?: Record<string, {
6211
+ bg: string;
6212
+ border: string;
6213
+ }>;
6214
+ /** Per-slot correctness feedback shown after a failed attempt */
6215
+ slotFeedback?: Array<'correct' | 'wrong' | null>;
6216
+ /** Size variant */
6217
+ size?: 'sm' | 'md' | 'lg';
6218
+ /** Additional CSS classes */
6219
+ className?: string;
6220
+ }
6221
+ declare function SequenceBar({ slots, maxSlots, onSlotDrop, onSlotRemove, playing, currentStep, categoryColors, slotFeedback, size, className, }: SequenceBarProps): React__default.JSX.Element;
6222
+ declare namespace SequenceBar {
6223
+ var displayName: string;
6224
+ }
6225
+
6226
+ /**
6227
+ * SequencerBoard Organism
6228
+ *
6229
+ * Contains ALL game logic for the Sequencer tier (ages 5-8).
6230
+ * Manages the action sequence, validates it, and animates Kekec
6231
+ * executing each step on the puzzle scene.
6232
+ *
6233
+ * Feedback-first UX:
6234
+ * - On failure: slots stay in place, each slot gets a green or red
6235
+ * ring showing exactly which steps are correct and which need to change.
6236
+ * - Modifying a slot clears its individual feedback so the kid can re-try.
6237
+ * - After 3 failures a persistent hint appears above the sequence bar.
6238
+ * - "Reset" clears everything including attempts / hint.
6239
+ *
6240
+ * TraitStateViewer states use indexed labels ("1. Walk", "2. Jump") so that
6241
+ * repeated actions are correctly highlighted during playback.
6242
+ *
6243
+ * @packageDocumentation
6244
+ */
6245
+
6246
+ interface SequencerPuzzleEntity {
6247
+ id: string;
6248
+ title: string;
6249
+ description: string;
6250
+ /** Available actions the kid can use */
6251
+ availableActions: SlotItemData[];
6252
+ /** How many slots in the sequence bar */
6253
+ maxSlots: number;
6254
+ /** Whether actions can be reused */
6255
+ allowDuplicates?: boolean;
6256
+ /** The correct sequence(s) — list of action IDs. First match wins. */
6257
+ solutions: string[][];
6258
+ /** Feedback messages */
6259
+ successMessage?: string;
6260
+ failMessage?: string;
6261
+ /** Progressive hint shown after 3 failures */
6262
+ hint?: string;
6263
+ /** Hex coordinates for map animation — one per action + starting position */
6264
+ path?: Array<{
6265
+ x: number;
6266
+ y: number;
6267
+ }>;
6268
+ /** Header image URL displayed above the title */
6269
+ headerImage?: string;
6270
+ /** Visual theme overrides */
6271
+ theme?: {
6272
+ background?: string;
6273
+ accentColor?: string;
6274
+ };
6275
+ }
6276
+ interface SequencerBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6277
+ /** Puzzle data */
6278
+ entity: SequencerPuzzleEntity;
6279
+ /** Category → color mapping */
6280
+ categoryColors?: Record<string, {
6281
+ bg: string;
6282
+ border: string;
6283
+ }>;
6284
+ /** Playback speed in ms per step */
6285
+ stepDurationMs?: number;
6286
+ /** Emits UI:{playEvent} with { sequence: string[] } */
6287
+ playEvent?: string;
6288
+ /** Emits UI:{completeEvent} with { success: boolean } */
6289
+ completeEvent?: string;
6290
+ }
6291
+ declare function SequencerBoard({ entity, categoryColors, stepDurationMs, playEvent, completeEvent, className, }: SequencerBoardProps): React__default.JSX.Element;
6292
+ declare namespace SequencerBoard {
6293
+ var displayName: string;
6294
+ }
6295
+
6296
+ /**
6297
+ * RuleEditor Component
6298
+ *
6299
+ * A single WHEN/THEN rule row for the Event Handler tier (ages 9-12).
6300
+ * Kid picks an event trigger and an action from dropdowns.
6301
+ *
6302
+ * @packageDocumentation
6303
+ */
6304
+
6305
+ interface RuleDefinition {
6306
+ id: string;
6307
+ whenEvent: string;
6308
+ thenAction: string;
6309
+ }
6310
+ interface RuleEditorProps {
6311
+ /** The current rule */
6312
+ rule: RuleDefinition;
6313
+ /** Available event triggers to listen for */
6314
+ availableEvents: Array<{
6315
+ value: string;
6316
+ label: string;
6317
+ }>;
6318
+ /** Available actions to perform */
6319
+ availableActions: Array<{
6320
+ value: string;
6321
+ label: string;
6322
+ }>;
6323
+ /** Called when rule changes */
6324
+ onChange: (rule: RuleDefinition) => void;
6325
+ /** Called when rule is removed */
6326
+ onRemove?: () => void;
6327
+ /** Whether editing is disabled (during playback) */
6328
+ disabled?: boolean;
6329
+ /** Additional CSS classes */
6330
+ className?: string;
6331
+ }
6332
+ declare function RuleEditor({ rule, availableEvents, availableActions, onChange, onRemove, disabled, className, }: RuleEditorProps): React__default.JSX.Element;
6333
+ declare namespace RuleEditor {
6334
+ var displayName: string;
6335
+ }
6336
+
6337
+ /**
6338
+ * EventLog Component
6339
+ *
6340
+ * Scrolling log of events during playback in the Event Handler tier.
6341
+ * Shows the chain reaction as events cascade through objects.
6342
+ *
6343
+ * @packageDocumentation
6344
+ */
6345
+
6346
+ interface EventLogEntry {
6347
+ id: string;
6348
+ timestamp: number;
6349
+ icon: string;
6350
+ message: string;
6351
+ status: 'pending' | 'active' | 'done' | 'error';
6352
+ }
6353
+ interface EventLogProps {
6354
+ /** Log entries */
6355
+ entries: EventLogEntry[];
6356
+ /** Max visible height before scroll */
6357
+ maxHeight?: number;
6358
+ /** Title label */
6359
+ label?: string;
6360
+ /** Additional CSS classes */
6361
+ className?: string;
6362
+ }
6363
+ declare function EventLog({ entries, maxHeight, label, className, }: EventLogProps): React__default.JSX.Element;
6364
+ declare namespace EventLog {
6365
+ var displayName: string;
6366
+ }
6367
+
6368
+ /**
6369
+ * ObjectRulePanel Component
6370
+ *
6371
+ * Shows the rules panel for a selected world object in the Event Handler tier.
6372
+ * Displays object info, its current state (via TraitStateViewer), and
6373
+ * a list of WHEN/THEN rules the kid has set.
6374
+ *
6375
+ * @packageDocumentation
6376
+ */
6377
+
6378
+ interface PuzzleObjectDef {
6379
+ id: string;
6380
+ name: string;
6381
+ icon: string;
6382
+ states: string[];
6383
+ initialState: string;
6384
+ currentState: string;
6385
+ availableEvents: Array<{
6386
+ value: string;
6387
+ label: string;
6388
+ }>;
6389
+ availableActions: Array<{
6390
+ value: string;
6391
+ label: string;
6392
+ }>;
6393
+ rules: RuleDefinition[];
6394
+ /** Max rules allowed on this object */
6395
+ maxRules?: number;
6396
+ }
6397
+ interface ObjectRulePanelProps {
6398
+ /** The selected object */
6399
+ object: PuzzleObjectDef;
6400
+ /** Called when rules change */
6401
+ onRulesChange: (objectId: string, rules: RuleDefinition[]) => void;
6402
+ /** Whether editing is disabled */
6403
+ disabled?: boolean;
6404
+ /** Additional CSS classes */
6405
+ className?: string;
6406
+ }
6407
+ declare function ObjectRulePanel({ object, onRulesChange, disabled, className, }: ObjectRulePanelProps): React__default.JSX.Element;
6408
+ declare namespace ObjectRulePanel {
6409
+ var displayName: string;
6410
+ }
6411
+
6412
+ /**
6413
+ * EventHandlerBoard Organism
6414
+ *
6415
+ * Contains ALL game logic for the Event Handler tier (ages 9-12).
6416
+ * Kids click on world objects, set WHEN/THEN rules, and watch
6417
+ * event chains cascade during playback.
6418
+ *
6419
+ * Encourages experimentation: on failure, resets to editing so the kid
6420
+ * can try different rules. After 3 failures, shows a progressive hint.
6421
+ *
6422
+ * @packageDocumentation
6423
+ */
6424
+
6425
+ interface EventHandlerPuzzleEntity {
6426
+ id: string;
6427
+ title: string;
6428
+ description: string;
6429
+ /** Objects the kid can configure */
6430
+ objects: PuzzleObjectDef[];
6431
+ /** Goal condition description */
6432
+ goalCondition: string;
6433
+ /** Event that represents goal completion */
6434
+ goalEvent: string;
6435
+ /** Sequence of events that auto-fire to start the simulation */
6436
+ triggerEvents?: string[];
6437
+ /** Feedback */
6438
+ successMessage?: string;
6439
+ failMessage?: string;
6440
+ /** Progressive hint shown after 3 failures */
6441
+ hint?: string;
6442
+ /** Header image URL displayed above the title */
6443
+ headerImage?: string;
6444
+ /** Visual theme overrides */
6445
+ theme?: {
6446
+ background?: string;
6447
+ accentColor?: string;
6448
+ };
6449
+ }
6450
+ interface EventHandlerBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6451
+ /** Puzzle data */
6452
+ entity: EventHandlerPuzzleEntity;
6453
+ /** Playback speed in ms per event */
6454
+ stepDurationMs?: number;
6455
+ /** Emits UI:{playEvent} */
6456
+ playEvent?: string;
6457
+ /** Emits UI:{completeEvent} with { success } */
6458
+ completeEvent?: string;
6459
+ }
6460
+ declare function EventHandlerBoard({ entity, stepDurationMs, playEvent, completeEvent, className, }: EventHandlerBoardProps): React__default.JSX.Element;
6461
+ declare namespace EventHandlerBoard {
6462
+ var displayName: string;
6463
+ }
6464
+
6465
+ /**
6466
+ * StateNode Component
6467
+ *
6468
+ * A draggable state circle for the graph editor in the State Architect tier (ages 13+).
6469
+ * Shows state name, highlights when current, and supports click to select.
6470
+ *
6471
+ * @packageDocumentation
6472
+ */
6473
+
6474
+ interface StateNodeProps {
6475
+ /** State name */
6476
+ name: string;
6477
+ /** Whether this is the current active state */
6478
+ isCurrent?: boolean;
6479
+ /** Whether this node is selected for editing */
6480
+ isSelected?: boolean;
6481
+ /** Whether this is the initial state */
6482
+ isInitial?: boolean;
6483
+ /** Position on the graph canvas */
6484
+ position: {
6485
+ x: number;
6486
+ y: number;
6487
+ };
6488
+ /** Click handler */
6489
+ onClick?: () => void;
6490
+ /** Additional CSS classes */
6491
+ className?: string;
6492
+ }
6493
+ declare function StateNode({ name, isCurrent, isSelected, isInitial, position, onClick, className, }: StateNodeProps): React__default.JSX.Element;
6494
+ declare namespace StateNode {
6495
+ var displayName: string;
6496
+ }
6497
+
6498
+ /**
6499
+ * TransitionArrow Component
6500
+ *
6501
+ * An SVG arrow connecting two state nodes in the graph editor.
6502
+ * Shows the event name as a label on the arrow.
6503
+ *
6504
+ * @packageDocumentation
6505
+ */
6506
+
6507
+ interface TransitionArrowProps {
6508
+ /** Start position (center of from-node) */
6509
+ from: {
6510
+ x: number;
6511
+ y: number;
6512
+ };
6513
+ /** End position (center of to-node) */
6514
+ to: {
6515
+ x: number;
6516
+ y: number;
6517
+ };
6518
+ /** Event label shown on the arrow */
6519
+ eventLabel: string;
6520
+ /** Guard hint shown below event */
6521
+ guardHint?: string;
6522
+ /** Whether this transition is currently active */
6523
+ isActive?: boolean;
6524
+ /** Click handler */
6525
+ onClick?: () => void;
6526
+ /** Additional CSS classes for the SVG group */
6527
+ className?: string;
6528
+ }
6529
+ declare function TransitionArrow({ from, to, eventLabel, guardHint, isActive, onClick, className, }: TransitionArrowProps): React__default.JSX.Element;
6530
+ declare namespace TransitionArrow {
6531
+ var displayName: string;
6532
+ }
6533
+
6534
+ /**
6535
+ * VariablePanel Component
6536
+ *
6537
+ * Shows entity variables and their current values during State Architect playback.
6538
+ *
6539
+ * @packageDocumentation
6540
+ */
6541
+
6542
+ interface VariableDef {
6543
+ name: string;
6544
+ value: number;
6545
+ min?: number;
6546
+ max?: number;
6547
+ unit?: string;
6548
+ }
6549
+ interface VariablePanelProps {
6550
+ /** Entity name */
6551
+ entityName: string;
6552
+ /** Variables to display */
6553
+ variables: VariableDef[];
6554
+ /** Additional CSS classes */
6555
+ className?: string;
6556
+ }
6557
+ declare function VariablePanel({ entityName, variables, className, }: VariablePanelProps): React__default.JSX.Element;
6558
+ declare namespace VariablePanel {
6559
+ var displayName: string;
6560
+ }
6561
+
6562
+ /**
6563
+ * CodeView Component
6564
+ *
6565
+ * Shows the JSON code representation of a state machine.
6566
+ * Toggle between visual and code view in State Architect tier.
6567
+ *
6568
+ * @packageDocumentation
6569
+ */
6570
+
6571
+ interface CodeViewProps {
6572
+ /** JSON data to display */
6573
+ data: Record<string, unknown>;
6574
+ /** Label */
6575
+ label?: string;
6576
+ /** Whether the code is expanded by default */
6577
+ defaultExpanded?: boolean;
6578
+ /** Additional CSS classes */
6579
+ className?: string;
6580
+ }
6581
+ declare function CodeView({ data, label, defaultExpanded, className, }: CodeViewProps): React__default.JSX.Element;
6582
+ declare namespace CodeView {
6583
+ var displayName: string;
6584
+ }
6585
+
6586
+ /**
6587
+ * StateArchitectBoard Organism
6588
+ *
6589
+ * Contains ALL game logic for the State Architect tier (ages 13+).
6590
+ * Kids design state machines via a visual graph editor, then run
6591
+ * them to see if the behavior matches the puzzle goal.
6592
+ *
6593
+ * @packageDocumentation
6594
+ */
6595
+
6596
+ interface StateArchitectTransition {
6597
+ id: string;
6598
+ from: string;
6599
+ to: string;
6600
+ event: string;
6601
+ guardHint?: string;
6602
+ }
6603
+ interface TestCase {
6604
+ /** Sequence of events to fire */
6605
+ events: string[];
6606
+ /** Expected final state */
6607
+ expectedState: string;
6608
+ /** Description */
6609
+ label: string;
6610
+ }
6611
+ interface StateArchitectPuzzleEntity {
6612
+ id: string;
6613
+ title: string;
6614
+ description: string;
6615
+ hint: string;
6616
+ /** Entity being designed */
6617
+ entityName: string;
6618
+ /** Variables with initial values */
6619
+ variables: VariableDef[];
6620
+ /** States provided (kid may need to add more) */
6621
+ states: string[];
6622
+ /** Initial state */
6623
+ initialState: string;
6624
+ /** Pre-existing transitions (puzzle may have some already) */
6625
+ transitions: StateArchitectTransition[];
6626
+ /** Events available to use */
6627
+ availableEvents: string[];
6628
+ /** States available to add */
6629
+ availableStates?: string[];
6630
+ /** Test cases to validate against */
6631
+ testCases: TestCase[];
6632
+ /** Show code view toggle */
6633
+ showCodeView?: boolean;
6634
+ /** Feedback */
6635
+ successMessage?: string;
6636
+ failMessage?: string;
6637
+ /** Header image URL displayed above the title */
6638
+ headerImage?: string;
6639
+ /** Visual theme overrides */
6640
+ theme?: {
6641
+ background?: string;
6642
+ accentColor?: string;
6643
+ };
6644
+ }
6645
+ interface StateArchitectBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6646
+ /** Puzzle data */
6647
+ entity: StateArchitectPuzzleEntity;
6648
+ /** Playback speed */
6649
+ stepDurationMs?: number;
6650
+ /** Emits UI:{testEvent} */
6651
+ testEvent?: string;
6652
+ /** Emits UI:{completeEvent} with { success, passedTests } */
6653
+ completeEvent?: string;
6654
+ }
6655
+ declare function StateArchitectBoard({ entity, stepDurationMs, testEvent, completeEvent, className, }: StateArchitectBoardProps): React__default.JSX.Element;
6656
+ declare namespace StateArchitectBoard {
6657
+ var displayName: string;
6658
+ }
6659
+
6660
+ /**
6661
+ * SimulatorBoard
6662
+ *
6663
+ * Parameter-slider game board. The player adjusts parameters
6664
+ * and observes real-time output. Correct parameter values
6665
+ * must bring the output within a target range to win.
6666
+ *
6667
+ * Good for: physics, economics, system design stories.
6668
+ *
6669
+ * Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).
6670
+ */
6671
+
6672
+ interface SimulatorParameter {
6673
+ id: string;
6674
+ label: string;
6675
+ unit: string;
6676
+ min: number;
6677
+ max: number;
6678
+ step: number;
6679
+ initial: number;
6680
+ correct: number;
6681
+ tolerance: number;
6682
+ }
6683
+ interface SimulatorPuzzleEntity {
6684
+ id: string;
6685
+ title: string;
6686
+ description: string;
6687
+ parameters: SimulatorParameter[];
6688
+ outputLabel: string;
6689
+ outputUnit: string;
6690
+ /** Pure function body as string: receives params object, returns number */
6691
+ computeExpression: string;
6692
+ targetValue: number;
6693
+ targetTolerance: number;
6694
+ successMessage?: string;
6695
+ failMessage?: string;
6696
+ hint?: string;
6697
+ /** Header image URL displayed above the title */
6698
+ headerImage?: string;
6699
+ /** Visual theme overrides */
6700
+ theme?: {
6701
+ background?: string;
6702
+ accentColor?: string;
6703
+ };
6704
+ }
6705
+ interface SimulatorBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6706
+ entity: SimulatorPuzzleEntity;
6707
+ completeEvent?: string;
6708
+ }
6709
+ declare function SimulatorBoard({ entity, completeEvent, className, }: SimulatorBoardProps): React__default.JSX.Element;
6710
+ declare namespace SimulatorBoard {
6711
+ var displayName: string;
6712
+ }
6713
+
6714
+ /**
6715
+ * ClassifierBoard
6716
+ *
6717
+ * Drag-and-drop classification game. The player sorts items
6718
+ * into the correct category buckets. All items must be correctly
6719
+ * classified to win.
6720
+ *
6721
+ * Good for: taxonomy, pattern recognition, sorting stories.
6722
+ *
6723
+ * Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).
6724
+ */
6725
+
6726
+ interface ClassifierItem {
6727
+ id: string;
6728
+ label: string;
6729
+ description?: string;
6730
+ correctCategory: string;
6731
+ }
6732
+ interface ClassifierCategory {
6733
+ id: string;
6734
+ label: string;
6735
+ color?: string;
6736
+ }
6737
+ interface ClassifierPuzzleEntity {
6738
+ id: string;
6739
+ title: string;
6740
+ description: string;
6741
+ items: ClassifierItem[];
6742
+ categories: ClassifierCategory[];
6743
+ successMessage?: string;
6744
+ failMessage?: string;
6745
+ hint?: string;
6746
+ /** Header image URL displayed above the title */
6747
+ headerImage?: string;
6748
+ /** Visual theme overrides */
6749
+ theme?: {
6750
+ background?: string;
6751
+ accentColor?: string;
6752
+ };
6753
+ }
6754
+ interface ClassifierBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6755
+ entity: ClassifierPuzzleEntity;
6756
+ completeEvent?: string;
6757
+ }
6758
+ declare function ClassifierBoard({ entity, completeEvent, className, }: ClassifierBoardProps): React__default.JSX.Element;
6759
+ declare namespace ClassifierBoard {
6760
+ var displayName: string;
6761
+ }
6762
+
6763
+ /**
6764
+ * BuilderBoard
6765
+ *
6766
+ * Component-snapping game board. The player places components
6767
+ * onto slots in a blueprint. Correct placement completes the build.
6768
+ *
6769
+ * Good for: architecture, circuits, molecules, system design stories.
6770
+ *
6771
+ * Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).
6772
+ */
6773
+
6774
+ interface BuilderComponent {
6775
+ id: string;
6776
+ label: string;
6777
+ description?: string;
6778
+ iconEmoji?: string;
6779
+ /** Image URL icon (takes precedence over iconEmoji) */
6780
+ iconUrl?: string;
6781
+ category?: string;
6782
+ }
6783
+ interface BuilderSlot {
6784
+ id: string;
6785
+ label: string;
6786
+ description?: string;
6787
+ acceptsComponentId: string;
6788
+ }
6789
+ interface BuilderPuzzleEntity {
6790
+ id: string;
6791
+ title: string;
6792
+ description: string;
6793
+ components: BuilderComponent[];
6794
+ slots: BuilderSlot[];
6795
+ successMessage?: string;
6796
+ failMessage?: string;
6797
+ hint?: string;
6798
+ /** Header image URL displayed above the title */
6799
+ headerImage?: string;
6800
+ /** Visual theme overrides */
6801
+ theme?: {
6802
+ background?: string;
6803
+ accentColor?: string;
6804
+ };
6805
+ }
6806
+ interface BuilderBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6807
+ entity: BuilderPuzzleEntity;
6808
+ completeEvent?: string;
6809
+ }
6810
+ declare function BuilderBoard({ entity, completeEvent, className, }: BuilderBoardProps): React__default.JSX.Element;
6811
+ declare namespace BuilderBoard {
6812
+ var displayName: string;
6813
+ }
6814
+
6815
+ /**
6816
+ * DebuggerBoard
6817
+ *
6818
+ * Error-finding game board. The player reviews a code/system
6819
+ * listing and identifies lines or elements that contain bugs.
6820
+ *
6821
+ * Good for: programming, logic, troubleshooting stories.
6822
+ *
6823
+ * Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).
6824
+ */
6825
+
6826
+ interface DebuggerLine {
6827
+ id: string;
6828
+ content: string;
6829
+ isBug: boolean;
6830
+ explanation?: string;
6831
+ }
6832
+ interface DebuggerPuzzleEntity {
6833
+ id: string;
6834
+ title: string;
6835
+ description: string;
6836
+ language?: string;
6837
+ lines: DebuggerLine[];
6838
+ /** How many bugs the player should find */
6839
+ bugCount: number;
6840
+ successMessage?: string;
6841
+ failMessage?: string;
6842
+ hint?: string;
6843
+ /** Header image URL displayed above the title */
6844
+ headerImage?: string;
6845
+ /** Visual theme overrides */
6846
+ theme?: {
6847
+ background?: string;
6848
+ accentColor?: string;
6849
+ };
6850
+ }
6851
+ interface DebuggerBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6852
+ entity: DebuggerPuzzleEntity;
6853
+ completeEvent?: string;
6854
+ }
6855
+ declare function DebuggerBoard({ entity, completeEvent, className, }: DebuggerBoardProps): React__default.JSX.Element;
6856
+ declare namespace DebuggerBoard {
6857
+ var displayName: string;
6858
+ }
6859
+
6860
+ /**
6861
+ * NegotiatorBoard
6862
+ *
6863
+ * Turn-based decision matrix game. The player makes choices
6864
+ * over multiple rounds against an AI opponent. Each round
6865
+ * both sides pick an action, and payoffs are determined by
6866
+ * the combination.
6867
+ *
6868
+ * Good for: ethics, business, game theory, economics stories.
6869
+ *
6870
+ * Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).
6871
+ */
6872
+
6873
+ interface NegotiatorAction {
6874
+ id: string;
6875
+ label: string;
6876
+ description?: string;
6877
+ }
6878
+ interface PayoffEntry {
6879
+ playerAction: string;
6880
+ opponentAction: string;
6881
+ playerPayoff: number;
6882
+ opponentPayoff: number;
6883
+ }
6884
+ interface NegotiatorPuzzleEntity {
6885
+ id: string;
6886
+ title: string;
6887
+ description: string;
6888
+ actions: NegotiatorAction[];
6889
+ payoffMatrix: PayoffEntry[];
6890
+ totalRounds: number;
6891
+ /** AI strategy: 'tit-for-tat' | 'always-cooperate' | 'always-defect' | 'random' */
6892
+ opponentStrategy: string;
6893
+ targetScore: number;
6894
+ successMessage?: string;
6895
+ failMessage?: string;
6896
+ hint?: string;
6897
+ /** Header image URL displayed above the title */
6898
+ headerImage?: string;
6899
+ /** Visual theme overrides */
6900
+ theme?: {
6901
+ background?: string;
6902
+ accentColor?: string;
6903
+ };
6904
+ }
6905
+ interface NegotiatorBoardProps extends Omit<EntityDisplayProps, 'entity'> {
6906
+ entity: NegotiatorPuzzleEntity;
6907
+ completeEvent?: string;
6908
+ }
6909
+ declare function NegotiatorBoard({ entity, completeEvent, className, }: NegotiatorBoardProps): React__default.JSX.Element;
6910
+ declare namespace NegotiatorBoard {
6911
+ var displayName: string;
6912
+ }
6913
+
6914
+ /**
6915
+ * Physics Preset Types
6916
+ *
6917
+ * Configuration for physics simulation presets.
6918
+ */
6919
+ interface PhysicsBody {
6920
+ id: string;
6921
+ x: number;
6922
+ y: number;
6923
+ vx: number;
6924
+ vy: number;
6925
+ mass: number;
6926
+ radius: number;
6927
+ color: string;
6928
+ fixed: boolean;
6929
+ }
6930
+ interface PhysicsConstraint {
6931
+ bodyA: number;
6932
+ bodyB: number;
6933
+ length: number;
6934
+ stiffness: number;
6935
+ }
6936
+ interface PhysicsPreset {
6937
+ id: string;
6938
+ name: string;
6939
+ description: string;
6940
+ domain: string;
6941
+ gravity?: {
6942
+ x: number;
6943
+ y: number;
6944
+ };
6945
+ bodies: PhysicsBody[];
6946
+ constraints?: PhysicsConstraint[];
6947
+ backgroundColor?: string;
6948
+ showVelocity?: boolean;
6949
+ parameters: Record<string, {
6950
+ value: number;
6951
+ min: number;
6952
+ max: number;
6953
+ step: number;
6954
+ label: string;
6955
+ }>;
6956
+ }
6957
+
6958
+ /**
6959
+ * SimulationCanvas
6960
+ *
6961
+ * Self-contained 2D physics canvas for educational presets.
6962
+ * Runs its own Euler integration loop — no external physics hook needed.
6963
+ */
6964
+
6965
+ interface SimulationCanvasProps {
6966
+ preset: PhysicsPreset;
6967
+ width?: number;
6968
+ height?: number;
6969
+ running: boolean;
6970
+ speed?: number;
6971
+ className?: string;
6972
+ }
6973
+ declare function SimulationCanvas({ preset, width, height, running, speed, className, }: SimulationCanvasProps): React__default.JSX.Element;
6974
+ declare namespace SimulationCanvas {
6975
+ var displayName: string;
6976
+ }
6977
+
6978
+ /**
6979
+ * SimulationControls
6980
+ *
6981
+ * Play/pause/step/reset controls with speed and parameter sliders.
6982
+ */
6983
+
6984
+ interface SimulationControlsProps {
6985
+ running: boolean;
6986
+ speed: number;
6987
+ parameters: Record<string, {
6988
+ value: number;
6989
+ min: number;
6990
+ max: number;
6991
+ step: number;
6992
+ label: string;
6993
+ }>;
6994
+ onPlay: () => void;
6995
+ onPause: () => void;
6996
+ onStep: () => void;
6997
+ onReset: () => void;
6998
+ onSpeedChange: (speed: number) => void;
6999
+ onParameterChange: (name: string, value: number) => void;
7000
+ className?: string;
7001
+ }
7002
+ declare function SimulationControls({ running, speed, parameters, onPlay, onPause, onStep, onReset, onSpeedChange, onParameterChange, className, }: SimulationControlsProps): React__default.JSX.Element;
7003
+ declare namespace SimulationControls {
7004
+ var displayName: string;
7005
+ }
7006
+
7007
+ /**
7008
+ * SimulationGraph
7009
+ *
7010
+ * Real-time measurement graph for physics simulations.
7011
+ * Renders measurement data as a simple line chart on canvas.
7012
+ */
7013
+
7014
+ interface MeasurementPoint {
7015
+ time: number;
7016
+ value: number;
7017
+ }
7018
+ interface SimulationGraphProps {
7019
+ label: string;
7020
+ unit: string;
7021
+ data: MeasurementPoint[];
7022
+ maxPoints?: number;
7023
+ width?: number;
7024
+ height?: number;
7025
+ color?: string;
7026
+ className?: string;
7027
+ }
7028
+ declare function SimulationGraph({ label, unit, data, maxPoints, width, height, color, className, }: SimulationGraphProps): React__default.JSX.Element;
7029
+ declare namespace SimulationGraph {
7030
+ var displayName: string;
7031
+ }
7032
+
7033
+ declare const projectileMotion: PhysicsPreset;
7034
+ declare const pendulum: PhysicsPreset;
7035
+ declare const springOscillator: PhysicsPreset;
7036
+
7037
+ declare const ALL_PRESETS: PhysicsPreset[];
7038
+
7039
+ /**
7040
+ * CombatLog Component
7041
+ *
7042
+ * Scrollable log of combat events with icons and colors.
7043
+ * Generalized from Trait Wars — removed asset manifest coupling.
7044
+ */
7045
+
7046
+ type CombatLogEventType = 'attack' | 'defend' | 'heal' | 'move' | 'special' | 'death' | 'spawn';
7047
+ interface CombatEvent {
7048
+ id: string;
7049
+ type: CombatLogEventType;
7050
+ message: string;
7051
+ timestamp: number;
7052
+ actorName?: string;
7053
+ targetName?: string;
7054
+ value?: number;
7055
+ turn?: number;
7056
+ }
7057
+ interface CombatLogProps {
7058
+ events: CombatEvent[];
7059
+ maxVisible?: number;
7060
+ autoScroll?: boolean;
7061
+ showTimestamps?: boolean;
7062
+ title?: string;
7063
+ className?: string;
7064
+ }
7065
+ declare function CombatLog({ events, maxVisible, autoScroll, showTimestamps, className, title, }: CombatLogProps): React__default.JSX.Element;
7066
+ declare namespace CombatLog {
7067
+ var displayName: string;
7068
+ }
7069
+
7070
+ /**
7071
+ * Game Types — Generalized
7072
+ *
7073
+ * Core type definitions for tactical game state.
7074
+ * Extracted from Trait Wars and generalized for any game project.
7075
+ */
7076
+ interface Position {
7077
+ x: number;
7078
+ y: number;
7079
+ }
7080
+ interface GameUnit {
7081
+ id: string;
7082
+ name: string;
7083
+ characterType: string;
7084
+ team: 'player' | 'enemy';
7085
+ position: Position;
7086
+ health: number;
7087
+ maxHealth: number;
7088
+ movement: number;
7089
+ attack: number;
7090
+ defense: number;
7091
+ traits: UnitTrait[];
7092
+ }
7093
+ interface UnitTrait {
7094
+ name: string;
7095
+ currentState: string;
7096
+ states: string[];
7097
+ cooldown: number;
7098
+ }
7099
+ interface BoardTile {
7100
+ terrain: string;
7101
+ unitId?: string;
7102
+ isBlocked?: boolean;
7103
+ }
7104
+ type GamePhase = 'observation' | 'planning' | 'execution' | 'tick';
7105
+ interface GameState {
7106
+ board: BoardTile[][];
7107
+ units: Record<string, GameUnit>;
7108
+ currentPhase: GamePhase;
7109
+ currentTurn: number;
7110
+ activeTeam: 'player' | 'enemy';
7111
+ selectedUnitId?: string;
7112
+ validMoves: Position[];
7113
+ attackTargets: Position[];
7114
+ }
7115
+ type GameAction = {
7116
+ type: 'SELECT_UNIT';
7117
+ unitId: string;
7118
+ } | {
7119
+ type: 'MOVE_UNIT';
7120
+ from: Position;
7121
+ to: Position;
7122
+ } | {
7123
+ type: 'ATTACK';
7124
+ attackerId: string;
7125
+ targetId: string;
7126
+ } | {
7127
+ type: 'END_TURN';
7128
+ } | {
7129
+ type: 'EXECUTE_TRAITS';
7130
+ };
7131
+ declare function createInitialGameState(width: number, height: number, units: GameUnit[], defaultTerrain?: string): GameState;
7132
+ declare function calculateValidMoves(state: GameState, unitId: string): Position[];
7133
+ declare function calculateAttackTargets(state: GameState, unitId: string): Position[];
7134
+
7135
+ /**
7136
+ * Combat Effects Utility
7137
+ *
7138
+ * CSS animation utilities and effect triggers for combat visualization.
7139
+ * Extracted from Trait Wars design-system.
7140
+ */
7141
+ declare const combatAnimations: {
7142
+ shake: string;
7143
+ flash: string;
7144
+ pulseRed: string;
7145
+ healGlow: string;
7146
+ };
7147
+ declare const combatClasses: {
7148
+ shake: string;
7149
+ flash: string;
7150
+ pulseRed: string;
7151
+ healGlow: string;
7152
+ hit: string;
7153
+ defend: string;
7154
+ critical: string;
7155
+ };
7156
+ interface CombatEffect {
7157
+ className: string;
7158
+ duration: number;
7159
+ sound?: string;
7160
+ }
7161
+ declare const combatEffects: Record<string, CombatEffect>;
7162
+ declare function applyTemporaryEffect(element: HTMLElement, effect: CombatEffect, onComplete?: () => void): void;
7163
+ interface DamageResult {
7164
+ baseDamage: number;
7165
+ finalDamage: number;
7166
+ isCritical: boolean;
7167
+ isBlocked: boolean;
7168
+ damageReduction: number;
7169
+ }
7170
+ declare function calculateDamage(attack: number, defense: number, isDefending?: boolean, criticalChance?: number): DamageResult;
7171
+ type CombatEventType = 'attack' | 'critical' | 'defend' | 'heal' | 'defeat' | 'level_up' | 'state_change';
7172
+ interface CombatEventData {
7173
+ type: CombatEventType;
7174
+ sourceId: string;
7175
+ targetId?: string;
7176
+ value?: number;
7177
+ message: string;
7178
+ }
7179
+ declare function generateCombatMessage(event: CombatEventData): string;
7180
+
6115
7181
  /**
6116
7182
  * UISlotRenderer Component
6117
7183
  *
@@ -7077,4 +8143,4 @@ declare namespace WorldMapTemplate {
7077
8143
  var displayName: string;
7078
8144
  }
7079
8145
 
7080
- export { AR_BOOK_FIELDS, Accordion, type AccordionItem, type AccordionProps, Card as ActionCard, type CardProps as ActionCardProps, Alert, type AlertProps, type AlertVariant, type AnimationDef, type AnimationName, type AudioManifest, AuthLayout, type AuthLayoutProps, Avatar, type AvatarProps, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeVariant, BattleBoard, type BattleBoardProps, type BattleEntity, type BattlePhase, type BattleSlotContext, type BattleStateCallbacks, type BattleStateEventConfig, type BattleStateResult, BattleTemplate, type BattleTemplateProps, type BattleTile, type BattleUnit, type BookChapter, BookChapterView, type BookChapterViewProps, BookCoverPage, type BookCoverPageProps, type BookData, type BookFieldMap, BookNavBar, type BookNavBarProps, type BookPart, BookTableOfContents, type BookTableOfContentsProps, BookViewer, type BookViewerProps, Box, type BoxBg, type BoxMargin, type BoxPadding, type BoxProps, type BoxRounded, type BoxShadow, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, CameraState, CanvasEffect, type CanvasEffectProps, Card$1 as Card, type CardAction, CardBody, CardContent, CardFooter, CardGrid, type CardGridGap, type CardGridProps, CardHeader, type CardProps$1 as CardProps, CardTitle, CastleBoard, type CastleBoardProps, type CastleEntity, type CastleSlotContext, CastleTemplate, type CastleTemplateProps, Center, type CenterProps, Chart, type ChartDataPoint, type ChartProps, type ChartSeries, type ChartType, Checkbox, type CheckboxProps, CodeBlock, type CodeBlockProps, CodeViewer, type CodeViewerMode, type CodeViewerProps, CollapsibleSection, type CollapsibleSectionProps, type Column, type CombatActionType, type ConditionalContext, ConditionalWrapper, type ConditionalWrapperProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogVariant, Container, type ContainerProps, ContentRenderer, type ContentRendererProps, ControlButton, type ControlButtonProps, type CounterSize, CounterTemplate, type CounterTemplateProps, type CounterVariant, DIAMOND_TOP_Y, DashboardGrid, type DashboardGridCell, type DashboardGridProps, DashboardLayout, type DashboardLayoutProps, DataTable, type DataTableProps, type DetailField, DetailPanel, type DetailPanelProps, type DetailSection, DialogueBox, type DialogueBoxProps, type DialogueChoice, type DialogueNode, type DiffLine, Divider, type DividerOrientation, type DividerProps, type DocumentType, DocumentViewer, type DocumentViewerProps, StateMachineView as DomStateMachineVisualizer, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, DrawerSlot, type DrawerSlotProps, EditorCheckbox, type EditorCheckboxProps, type EditorMode, EditorSelect, type EditorSelectProps, EditorSlider, type EditorSliderProps, EditorTextInput, type EditorTextInputProps, EditorToolbar, type EditorToolbarProps, EmptyState, type EmptyStateProps, EntityDisplayEvents, type EntityDisplayProps, ErrorBoundary, type ErrorBoundaryProps, ErrorState, type ErrorStateProps, EventBusContextType, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, type FacingDirection, type FilterDefinition, FilterGroup, type FilterGroupProps, type FilterPayload, Flex, type FlexProps, FloatingActionButton, type FloatingActionButtonProps, Form, FormActions, type FormActionsProps, FormField, type FormFieldProps, FormLayout, type FormLayoutProps, type FormProps, FormSection$1 as FormSection, FormSectionHeader, type FormSectionHeaderProps, type FormSectionProps, type FrameDimsResolver, GameAudioContext, type GameAudioContextValue, type GameAudioControls, GameAudioProvider, type GameAudioProviderProps, GameAudioToggle, type GameAudioToggleProps, GameHud, type GameHudElement, type GameHudProps, type GameHudStat, GameMenu, type GameMenuProps, type GameOverAction, GameOverScreen, type GameOverScreenProps, type GameOverStat, GameShell, type GameShellProps, GameTemplate, type GameTemplateProps, GenericAppTemplate, type GenericAppTemplateProps, GraphCanvas, type GraphCanvasProps, type GraphEdge, type GraphNode, Grid, type GridProps, HStack, type HStackProps, Header, type HeaderProps, Heading, type HeadingProps, HealthBar, type HealthBarProps, type HighlightType, IDENTITY_BOOK_FIELDS, Icon, type IconAnimation, type IconProps, type IconSize, Input, InputGroup, type InputGroupProps, type InputProps, type InventoryItem, InventoryPanel, type InventoryPanelProps, IsometricCanvas, type IsometricCanvasProps, IsometricFeature, IsometricTile, IsometricUnit, JazariStateMachine, type JazariStateMachineProps, Label, type LabelProps, type LawReference, LawReferenceTooltip, type LawReferenceTooltipProps, List, type ListItem, type ListProps, LoadingState, type LoadingStateProps, type MapHero, type MapHex, MarkdownContent, type MarkdownContentProps, MasterDetail, type MasterDetailProps, MediaGallery, type MediaGalleryProps, type MediaItem, Menu, type MenuItem, type MenuOption, type MenuProps, Meter, type MeterProps, type MeterThreshold, type MeterVariant, Modal, type ModalProps, type ModalSize, ModalSlot, type ModalSlotProps, type NavItem, Navigation, type NavigationItem, type NavigationProps, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, type OrbitalVisualizationProps, Overlay, type OverlayProps, type PageBreadcrumb, PageHeader, type PageHeaderProps, type PaginatePayload, Pagination, type PaginationProps, type Physics2DState, type PhysicsBounds, type PhysicsConfig, PhysicsManager, Popover, type PopoverProps, ProgressBar, type ProgressBarColor, type ProgressBarProps, type ProgressBarVariant, QuizBlock, type QuizBlockProps, Radio, type RadioProps, type RelationOption, RelationSelect, type RelationSelectProps, RepeatableFormSection, type RepeatableFormSectionProps, type RepeatableItem, type ResolvedFrame, type RowAction, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, type ScaledDiagramProps, ScoreDisplay, type ScoreDisplayProps, SearchInput, type SearchInputProps, type SearchPayload, Section, type SectionProps, Select, type SelectOption, type SelectPayload, type SelectProps, type SheetUrlResolver, SidePanel, type SidePanelProps, Sidebar, type SidebarItem, type SidebarProps, SignaturePad, type SignaturePadProps, SimpleGrid, type SimpleGridProps, Skeleton, type SkeletonProps, type SkeletonVariant, SlotContent, SlotContentRenderer, type SlotItemData, type SortDirection, type SortPayload, type SoundEntry, Spacer, type SpacerProps, type SpacerSize, Spinner, type SpinnerProps, Split, SplitPane, type SplitPaneProps, type SplitProps, Sprite, type SpriteDirection, type SpriteFrameDims, type SpriteProps, type SpriteSheetUrls, Stack, type StackAlign, type StackDirection, type StackGap, type StackJustify, type StackProps, StatCard, type StatCardProps, StateIndicator, type StateIndicatorProps, StateMachineView, type StateMachineViewProps, type StateStyle, StatusBar, type StatusBarProps, Switch, type SwitchProps, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, type TabDefinition, type TabItem, TabbedContainer, type TabbedContainerProps, Table, type TableColumn, type TableProps, Tabs, type TabsProps, type TemplateProps, TerrainPalette, type TerrainPaletteProps, Text, TextHighlight, type TextHighlightProps, type TextProps, Textarea, type TextareaProps, ThemeSelector, ThemeToggle, type ThemeToggleProps, Timeline, type TimelineItem, type TimelineItemStatus, type TimelineProps, Toast, type ToastProps, ToastSlot, type ToastSlotProps, type ToastVariant, Tooltip, type TooltipProps, TraitSlot, type TraitSlotProps, type TraitStateMachineDefinition, TraitStateViewer, type TraitStateViewerProps, type TraitTransition, type TransitionBundle, Typography, type TypographyProps, type TypographyVariant, UISlot, UISlotComponent, UISlotRenderer, type UISlotRendererProps, UncontrolledBattleBoard, type UncontrolledBattleBoardProps, type UnitAnimationState, type UseGameAudioOptions, type UsePhysics2DOptions, type UsePhysics2DReturn, type UseSpriteAnimationsOptions, type UseSpriteAnimationsResult, VStack, type VStackProps, ViolationAlert, type ViolationAlertProps, type ViolationRecord, WizardContainer, type WizardContainerProps, WizardNavigation, type WizardNavigationProps, WizardProgress, type WizardProgressProps, type WizardProgressStep, type WizardStep, WorldMapBoard, type WorldMapBoardProps, type WorldMapEntity, type WorldMapSlotContext, WorldMapTemplate, type WorldMapTemplateProps, createUnitAnimationState, drawSprite, getCurrentFrame, inferDirection, isoToScreen, mapBookData, resolveFieldMap, resolveFrame, resolveSheetDirection, screenToIso, tickAnimationState, transitionAnimation, useBattleState, useCamera, useGameAudio, useGameAudioContext, useImageCache, usePhysics2D, useSpriteAnimations };
8146
+ export { ALL_PRESETS, AR_BOOK_FIELDS, Accordion, type AccordionItem, type AccordionProps, Card as ActionCard, type CardProps as ActionCardProps, ActionPalette, type ActionPaletteProps, ActionTile, type ActionTileProps, Alert, type AlertProps, type AlertVariant, type AnimationDef, type AnimationName, type AudioManifest, AuthLayout, type AuthLayoutProps, Avatar, type AvatarProps, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeVariant, BattleBoard, type BattleBoardProps, type BattleEntity, type BattlePhase, type BattleSlotContext, type BattleStateCallbacks, type BattleStateEventConfig, type BattleStateResult, BattleTemplate, type BattleTemplateProps, type BattleTile, type BattleUnit, type BoardTile, type BookChapter, BookChapterView, type BookChapterViewProps, BookCoverPage, type BookCoverPageProps, type BookData, type BookFieldMap, BookNavBar, type BookNavBarProps, type BookPart, BookTableOfContents, type BookTableOfContentsProps, BookViewer, type BookViewerProps, Box, type BoxBg, type BoxMargin, type BoxPadding, type BoxProps, type BoxRounded, type BoxShadow, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, BuilderBoard, type BuilderBoardProps, type BuilderComponent, type BuilderPuzzleEntity, type BuilderSlot, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, CameraState, CanvasEffect, type CanvasEffectProps, Card$1 as Card, type CardAction, CardBody, CardContent, CardFooter, CardGrid, type CardGridGap, type CardGridProps, CardHeader, type CardProps$1 as CardProps, CardTitle, CastleBoard, type CastleBoardProps, type CastleEntity, type CastleSlotContext, CastleTemplate, type CastleTemplateProps, Center, type CenterProps, Chart, type ChartDataPoint, type ChartProps, type ChartSeries, type ChartType, Checkbox, type CheckboxProps, ClassifierBoard, type ClassifierBoardProps, type ClassifierCategory, type ClassifierItem, type ClassifierPuzzleEntity, CodeBlock, type CodeBlockProps, CodeView, type CodeViewProps, CodeViewer, type CodeViewerMode, type CodeViewerProps, CollapsibleSection, type CollapsibleSectionProps, type Column, type CombatActionType, type CombatEffect, type CombatEvent, type CombatEventData, type CombatEventType, CombatLog, type CombatLogEventType, type CombatLogProps, type ConditionalContext, ConditionalWrapper, type ConditionalWrapperProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogVariant, Container, type ContainerProps, ContentRenderer, type ContentRendererProps, ControlButton, type ControlButtonProps, type CounterSize, CounterTemplate, type CounterTemplateProps, type CounterVariant, DIAMOND_TOP_Y, type DamageResult, DashboardGrid, type DashboardGridCell, type DashboardGridProps, DashboardLayout, type DashboardLayoutProps, DataTable, type DataTableProps, DebuggerBoard, type DebuggerBoardProps, type DebuggerLine, type DebuggerPuzzleEntity, type DetailField, DetailPanel, type DetailPanelProps, type DetailSection, DialogueBox, type DialogueBoxProps, type DialogueChoice, type DialogueNode, type DiffLine, Divider, type DividerOrientation, type DividerProps, type DocumentType, DocumentViewer, type DocumentViewerProps, StateMachineView as DomStateMachineVisualizer, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, DrawerSlot, type DrawerSlotProps, EditorCheckbox, type EditorCheckboxProps, type EditorMode, EditorSelect, type EditorSelectProps, EditorSlider, type EditorSliderProps, EditorTextInput, type EditorTextInputProps, EditorToolbar, type EditorToolbarProps, EmptyState, type EmptyStateProps, EntityDisplayEvents, type EntityDisplayProps, ErrorBoundary, type ErrorBoundaryProps, ErrorState, type ErrorStateProps, EventBusContextType, EventHandlerBoard, type EventHandlerBoardProps, type EventHandlerPuzzleEntity, EventLog, type EventLogEntry, type EventLogProps, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, type FacingDirection, type FilterDefinition, FilterGroup, type FilterGroupProps, type FilterPayload, Flex, type FlexProps, FloatingActionButton, type FloatingActionButtonProps, Form, FormActions, type FormActionsProps, FormField, type FormFieldProps, FormLayout, type FormLayoutProps, type FormProps, FormSection$1 as FormSection, FormSectionHeader, type FormSectionHeaderProps, type FormSectionProps, type FrameDimsResolver, type GameAction, GameAudioContext, type GameAudioContextValue, type GameAudioControls, GameAudioProvider, type GameAudioProviderProps, GameAudioToggle, type GameAudioToggleProps, GameHud, type GameHudElement, type GameHudProps, type GameHudStat, GameMenu, type GameMenuProps, type GameOverAction, GameOverScreen, type GameOverScreenProps, type GameOverStat, type GamePhase, GameShell, type GameShellProps, type GameState, GameTemplate, type GameTemplateProps, type GameUnit, GenericAppTemplate, type GenericAppTemplateProps, GraphCanvas, type GraphCanvasProps, type GraphEdge, type GraphNode, Grid, type GridProps, HStack, type HStackProps, Header, type HeaderProps, Heading, type HeadingProps, HealthBar, type HealthBarProps, type HighlightType, IDENTITY_BOOK_FIELDS, Icon, type IconAnimation, type IconProps, type IconSize, Input, InputGroup, type InputGroupProps, type InputProps, type InventoryItem, InventoryPanel, type InventoryPanelProps, IsometricCanvas, type IsometricCanvasProps, IsometricFeature, IsometricTile, IsometricUnit, JazariStateMachine, type JazariStateMachineProps, Label, type LabelProps, type LawReference, LawReferenceTooltip, type LawReferenceTooltipProps, List, type ListItem, type ListProps, LoadingState, type LoadingStateProps, type MapHero, type MapHex, MarkdownContent, type MarkdownContentProps, MasterDetail, type MasterDetailProps, type MeasurementPoint, MediaGallery, type MediaGalleryProps, type MediaItem, Menu, type MenuItem, type MenuOption, type MenuProps, Meter, type MeterProps, type MeterThreshold, type MeterVariant, Modal, type ModalProps, type ModalSize, ModalSlot, type ModalSlotProps, type NavItem, Navigation, type NavigationItem, type NavigationProps, type NegotiatorAction, NegotiatorBoard, type NegotiatorBoardProps, type NegotiatorPuzzleEntity, ObjectRulePanel, type ObjectRulePanelProps, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, type OrbitalVisualizationProps, Overlay, type OverlayProps, type PageBreadcrumb, PageHeader, type PageHeaderProps, type PaginatePayload, Pagination, type PaginationProps, type PayoffEntry, type Physics2DState, type PhysicsBody, type PhysicsBounds, type PhysicsConfig, type PhysicsConstraint, PhysicsManager, type PhysicsPreset, Popover, type PopoverProps, type Position, ProgressBar, type ProgressBarColor, type ProgressBarProps, type ProgressBarVariant, type PuzzleObjectDef, QuizBlock, type QuizBlockProps, Radio, type RadioProps, type RelationOption, RelationSelect, type RelationSelectProps, RepeatableFormSection, type RepeatableFormSectionProps, type RepeatableItem, type ResolvedFrame, type RowAction, type RuleDefinition, RuleEditor, type RuleEditorProps, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, type ScaledDiagramProps, ScoreDisplay, type ScoreDisplayProps, SearchInput, type SearchInputProps, type SearchPayload, Section, type SectionProps, Select, type SelectOption, type SelectPayload, type SelectProps, SequenceBar, type SequenceBarProps, SequencerBoard, type SequencerBoardProps, type SequencerPuzzleEntity, type SheetUrlResolver, SidePanel, type SidePanelProps, Sidebar, type SidebarItem, type SidebarProps, SignaturePad, type SignaturePadProps, SimpleGrid, type SimpleGridProps, SimulationCanvas, type SimulationCanvasProps, SimulationControls, type SimulationControlsProps, SimulationGraph, type SimulationGraphProps, SimulatorBoard, type SimulatorBoardProps, type SimulatorParameter, type SimulatorPuzzleEntity, Skeleton, type SkeletonProps, type SkeletonVariant, SlotContent, SlotContentRenderer, type SlotItemData, type SortDirection, type SortPayload, type SoundEntry, Spacer, type SpacerProps, type SpacerSize, Spinner, type SpinnerProps, Split, SplitPane, type SplitPaneProps, type SplitProps, Sprite, type SpriteDirection, type SpriteFrameDims, type SpriteProps, type SpriteSheetUrls, Stack, type StackAlign, type StackDirection, type StackGap, type StackJustify, type StackProps, StatCard, type StatCardProps, StateArchitectBoard, type StateArchitectBoardProps, type StateArchitectPuzzleEntity, type StateArchitectTransition, StateIndicator, type StateIndicatorProps, StateMachineView, type StateMachineViewProps, StateNode, type StateNodeProps, type StateStyle, StatusBar, type StatusBarProps, Switch, type SwitchProps, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, type TabDefinition, type TabItem, TabbedContainer, type TabbedContainerProps, Table, type TableColumn, type TableProps, Tabs, type TabsProps, type TemplateProps, TerrainPalette, type TerrainPaletteProps, type TestCase, Text, TextHighlight, type TextHighlightProps, type TextProps, Textarea, type TextareaProps, ThemeSelector, ThemeToggle, type ThemeToggleProps, Timeline, type TimelineItem, type TimelineItemStatus, type TimelineProps, Toast, type ToastProps, ToastSlot, type ToastSlotProps, type ToastVariant, Tooltip, type TooltipProps, TraitSlot, type TraitSlotProps, type TraitStateMachineDefinition, TraitStateViewer, type TraitStateViewerProps, type TraitTransition, TransitionArrow, type TransitionArrowProps, type TransitionBundle, Typography, type TypographyProps, type TypographyVariant, UISlot, UISlotComponent, UISlotRenderer, type UISlotRendererProps, UncontrolledBattleBoard, type UncontrolledBattleBoardProps, type UnitAnimationState, type UnitTrait, type UseGameAudioOptions, type UsePhysics2DOptions, type UsePhysics2DReturn, type UseSpriteAnimationsOptions, type UseSpriteAnimationsResult, VStack, type VStackProps, type VariableDef, VariablePanel, type VariablePanelProps, ViolationAlert, type ViolationAlertProps, type ViolationRecord, WizardContainer, type WizardContainerProps, WizardNavigation, type WizardNavigationProps, WizardProgress, type WizardProgressProps, type WizardProgressStep, type WizardStep, WorldMapBoard, type WorldMapBoardProps, type WorldMapEntity, type WorldMapSlotContext, WorldMapTemplate, type WorldMapTemplateProps, applyTemporaryEffect, calculateAttackTargets, calculateDamage, calculateValidMoves, combatAnimations, combatClasses, combatEffects, createInitialGameState, createUnitAnimationState, drawSprite, generateCombatMessage, getCurrentFrame, inferDirection, isoToScreen, mapBookData, pendulum, projectileMotion, resolveFieldMap, resolveFrame, resolveSheetDirection, screenToIso, springOscillator, tickAnimationState, transitionAnimation, useBattleState, useCamera, useGameAudio, useGameAudioContext, useImageCache, usePhysics2D, useSpriteAnimations };