@almadar/ui 5.73.0 → 5.75.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 (209) hide show
  1. package/dist/avl/index.cjs +42285 -42752
  2. package/dist/avl/index.css +0 -504
  3. package/dist/avl/index.js +42495 -42961
  4. package/dist/components/core/atoms/index.d.ts +1 -1
  5. package/dist/components/core/molecules/RepeatableFormSection.d.ts +6 -5
  6. package/dist/components/core/molecules/index.d.ts +1 -1
  7. package/dist/components/core/organisms/index.d.ts +1 -1
  8. package/dist/components/core/templates/index.d.ts +12 -12
  9. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/ActionPalette.d.ts +1 -1
  10. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/ActionTile.d.ts +2 -2
  11. package/dist/components/game/{organisms → 2d}/BattleBoard.d.ts +2 -2
  12. package/dist/components/game/{templates → 2d}/BattleTemplate.d.ts +3 -3
  13. package/dist/components/game/{organisms → 2d}/BoardgameBoard.d.ts +4 -4
  14. package/dist/components/game/{organisms/puzzles/builder → 2d}/BuilderBoard.d.ts +1 -1
  15. package/dist/components/game/2d/Canvas2D.d.ts +161 -0
  16. package/dist/components/game/{organisms → 2d}/CanvasEffect.d.ts +3 -3
  17. package/dist/components/game/{templates → 2d}/CardBattlerTemplate.d.ts +1 -1
  18. package/dist/components/game/{organisms → 2d}/CastleBoard.d.ts +1 -1
  19. package/dist/components/game/{templates → 2d}/CastleTemplate.d.ts +3 -3
  20. package/dist/components/game/{templates → 2d}/CityBuilderTemplate.d.ts +1 -1
  21. package/dist/components/game/{organisms/puzzles/classifier → 2d}/ClassifierBoard.d.ts +1 -1
  22. package/dist/components/game/2d/ControlGrid.d.ts +41 -0
  23. package/dist/components/game/{organisms/puzzles/debugger → 2d}/DebuggerBoard.d.ts +1 -1
  24. package/dist/components/game/{organisms/puzzles/event-handler → 2d}/EventHandlerBoard.d.ts +1 -1
  25. package/dist/components/game/{organisms → 2d}/FishingBoard.d.ts +1 -1
  26. package/dist/components/game/{organisms → 2d}/GameAudioProvider.d.ts +1 -1
  27. package/dist/components/game/2d/GameCard.d.ts +26 -0
  28. package/dist/components/game/2d/HealthBar.d.ts +26 -0
  29. package/dist/components/game/{organisms → 2d}/HexStrategyBoard.d.ts +4 -4
  30. package/dist/components/game/{organisms → 2d}/HolidayRunnerBoard.d.ts +4 -4
  31. package/dist/components/game/{molecules → 2d}/IsometricCanvas.d.ts +3 -3
  32. package/dist/components/game/{organisms → 2d}/MatchPuzzleBoard.d.ts +4 -4
  33. package/dist/components/game/{organisms → 2d}/MinigolfBoard.d.ts +4 -4
  34. package/dist/components/game/{organisms/puzzles/negotiator → 2d}/NegotiatorBoard.d.ts +1 -1
  35. package/dist/components/game/{organisms → 2d}/PinballBoard.d.ts +1 -1
  36. package/dist/components/game/{organisms → 2d}/PirateBoard.d.ts +4 -4
  37. package/dist/components/game/{organisms → 2d}/PlatformerBoard.d.ts +9 -14
  38. package/dist/components/game/{molecules → 2d}/PlatformerCanvas.d.ts +1 -1
  39. package/dist/components/game/{templates → 2d}/PlatformerTemplate.d.ts +1 -1
  40. package/dist/components/game/{organisms → 2d}/RacingBoard.d.ts +4 -4
  41. package/dist/components/game/{organisms → 2d}/RoguelikeBoard.d.ts +1 -1
  42. package/dist/components/game/{templates → 2d}/RoguelikeTemplate.d.ts +2 -2
  43. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/SequenceBar.d.ts +1 -1
  44. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/SequencerBoard.d.ts +1 -1
  45. package/dist/components/game/{organisms/physics-sim → 2d}/SimulationCanvas.d.ts +1 -1
  46. package/dist/components/game/{organisms/puzzles/simulator → 2d}/SimulatorBoard.d.ts +1 -1
  47. package/dist/components/game/{organisms → 2d}/SokobanBoard.d.ts +4 -4
  48. package/dist/components/game/{organisms → 2d}/SpaceShmupBoard.d.ts +4 -4
  49. package/dist/components/game/{organisms → 2d}/SpaceStationBoard.d.ts +4 -4
  50. package/dist/components/game/{organisms → 2d}/SportsBoard.d.ts +4 -4
  51. package/dist/components/game/{atoms → 2d}/Sprite.d.ts +1 -1
  52. package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateArchitectBoard.d.ts +1 -1
  53. package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateNode.d.ts +1 -1
  54. package/dist/components/game/{organisms → 2d}/TanksBoard.d.ts +4 -4
  55. package/dist/components/game/{templates → 2d}/TopDownShooterTemplate.d.ts +1 -1
  56. package/dist/components/game/{templates → 2d}/TowerDefenseTemplate.d.ts +1 -1
  57. package/dist/components/game/{organisms → 2d}/TraitStateViewer.d.ts +1 -1
  58. package/dist/components/game/{organisms/puzzles/state-architect → 2d}/TransitionArrow.d.ts +1 -1
  59. package/dist/components/game/{organisms → 2d}/UncontrolledBattleBoard.d.ts +1 -1
  60. package/dist/components/game/{templates → 2d}/VisualNovelTemplate.d.ts +1 -1
  61. package/dist/components/game/{organisms → 2d}/WorldMapBoard.d.ts +2 -2
  62. package/dist/components/game/{templates → 2d}/WorldMapTemplate.d.ts +3 -3
  63. package/dist/components/game/{templates → 2d}/game3dAssetManifest.d.ts +1 -1
  64. package/dist/components/game/2d/index.d.ts +122 -0
  65. package/dist/components/game/{organisms/hooks → 2d}/useBattleState.d.ts +1 -1
  66. package/dist/components/game/{organisms/hooks → 2d}/useCamera.d.ts +1 -1
  67. package/dist/components/game/{organisms → 2d}/useCanvasEffects.d.ts +1 -1
  68. package/dist/components/game/{molecules → 2d}/useUnitSpriteAtlas.d.ts +2 -2
  69. package/dist/components/game/3d/Canvas3D.d.ts +45 -0
  70. package/dist/components/game/{molecules/three/renderers → 3d}/FeatureRenderer.d.ts +1 -1
  71. package/dist/components/game/{molecules/three/renderers → 3d}/FeatureRenderer3D.d.ts +1 -1
  72. package/dist/components/game/{organisms → 3d}/GameBoard3D.d.ts +2 -2
  73. package/dist/components/game/{molecules → 3d}/GameCanvas3D.d.ts +3 -3
  74. package/dist/components/game/{templates → 3d}/GameCanvas3DBattleTemplate.d.ts +2 -2
  75. package/dist/components/game/{templates → 3d}/GameCanvas3DCastleTemplate.d.ts +2 -2
  76. package/dist/components/game/{templates → 3d}/GameCanvas3DWorldMapTemplate.d.ts +2 -2
  77. package/dist/components/game/{molecules/three/components → 3d}/PhysicsObject3D.d.ts +1 -1
  78. package/dist/components/game/{molecules/three/renderers → 3d}/TileRenderer.d.ts +1 -1
  79. package/dist/components/game/{molecules/three/renderers → 3d}/UnitRenderer.d.ts +3 -3
  80. package/dist/components/game/{molecules/three → 3d}/index.cjs +218 -301
  81. package/dist/components/game/{molecules/three → 3d}/index.css +3 -3
  82. package/dist/components/game/3d/index.d.ts +41 -0
  83. package/dist/components/game/{molecules/three → 3d}/index.js +29 -113
  84. package/dist/components/game/{molecules/three → 3d}/patterns.d.ts +5 -5
  85. package/dist/components/game/{molecules/three/hooks → 3d}/useAssetLoader.d.ts +1 -1
  86. package/dist/components/game/{molecules/three/hooks → 3d}/useGameCanvas3DEvents.d.ts +1 -1
  87. package/dist/components/game/{molecules/three/hooks → 3d}/useThree.d.ts +1 -1
  88. package/dist/components/game/{organisms/utils → shared}/canvasEffects.d.ts +1 -1
  89. package/dist/components/game/{organisms/utils → shared}/combatPresets.d.ts +1 -1
  90. package/dist/components/game/{organisms/types → shared}/game.d.ts +2 -2
  91. package/dist/components/game/shared/index.d.ts +23 -0
  92. package/dist/components/game/{organisms/types/isometric.d.ts → shared/isometricTypes.d.ts} +3 -7
  93. package/dist/components/game/{organisms/utils → shared}/spriteAnimation.d.ts +1 -1
  94. package/dist/components/game/{organisms/utils → shared}/spriteSheetConstants.d.ts +1 -1
  95. package/dist/components/index.cjs +24732 -25471
  96. package/dist/components/index.css +0 -504
  97. package/dist/components/index.js +24287 -25047
  98. package/dist/context/index.cjs +5 -7
  99. package/dist/context/index.js +5 -7
  100. package/dist/docs/index.cjs +108 -53
  101. package/dist/docs/index.css +0 -504
  102. package/dist/docs/index.js +108 -53
  103. package/dist/hooks/index.cjs +7 -9
  104. package/dist/hooks/index.js +7 -9
  105. package/dist/providers/index.cjs +43812 -44279
  106. package/dist/providers/index.css +0 -504
  107. package/dist/providers/index.js +43764 -44230
  108. package/dist/runtime/index.cjs +43783 -44250
  109. package/dist/runtime/index.css +0 -504
  110. package/dist/runtime/index.js +43642 -44108
  111. package/package.json +11 -11
  112. package/dist/components/game/atoms/HealthBar.d.ts +0 -18
  113. package/dist/components/game/atoms/XPBar.d.ts +0 -20
  114. package/dist/components/game/atoms/index.d.ts +0 -25
  115. package/dist/components/game/molecules/ActionButtons.d.ts +0 -38
  116. package/dist/components/game/molecules/DPad.d.ts +0 -26
  117. package/dist/components/game/molecules/index.d.ts +0 -32
  118. package/dist/components/game/molecules/three/components/index.d.ts +0 -10
  119. package/dist/components/game/molecules/three/index.d.ts +0 -35
  120. package/dist/components/game/molecules/three/renderers/index.d.ts +0 -11
  121. package/dist/components/game/organisms/editor/index.d.ts +0 -9
  122. package/dist/components/game/organisms/hooks/usePhysics2D.d.ts +0 -45
  123. package/dist/components/game/organisms/hooks/useSpriteAnimations.d.ts +0 -43
  124. package/dist/components/game/organisms/index.d.ts +0 -66
  125. package/dist/components/game/organisms/managers/PhysicsManager.d.ts +0 -103
  126. package/dist/components/game/organisms/physics-sim/index.d.ts +0 -7
  127. package/dist/components/game/organisms/puzzles/builder/index.d.ts +0 -2
  128. package/dist/components/game/organisms/puzzles/classifier/index.d.ts +0 -2
  129. package/dist/components/game/organisms/puzzles/debugger/index.d.ts +0 -2
  130. package/dist/components/game/organisms/puzzles/event-handler/index.d.ts +0 -8
  131. package/dist/components/game/organisms/puzzles/negotiator/index.d.ts +0 -2
  132. package/dist/components/game/organisms/puzzles/sequencer/index.d.ts +0 -8
  133. package/dist/components/game/organisms/puzzles/simulator/index.d.ts +0 -2
  134. package/dist/components/game/organisms/puzzles/state-architect/index.d.ts +0 -10
  135. package/dist/components/game/templates/index.d.ts +0 -4
  136. /package/dist/components/game/{atoms → 2d}/ActionButton.d.ts +0 -0
  137. /package/dist/components/game/{organisms → 2d}/CardBattlerBoard.d.ts +0 -0
  138. /package/dist/components/game/{molecules → 2d}/CardHand.d.ts +0 -0
  139. /package/dist/components/game/{atoms → 2d}/ChoiceButton.d.ts +0 -0
  140. /package/dist/components/game/{organisms → 2d}/CityBuilderBoard.d.ts +0 -0
  141. /package/dist/components/game/{molecules → 2d}/CombatLog.d.ts +0 -0
  142. /package/dist/components/game/{atoms → 2d}/ComboCounter.d.ts +0 -0
  143. /package/dist/components/game/{atoms → 2d}/ControlButton.d.ts +0 -0
  144. /package/dist/components/game/{molecules → 2d}/CraftingRecipe.d.ts +0 -0
  145. /package/dist/components/game/{atoms → 2d}/DamageNumber.d.ts +0 -0
  146. /package/dist/components/game/{molecules → 2d}/DialogueBox.d.ts +0 -0
  147. /package/dist/components/game/{atoms → 2d}/DialogueBubble.d.ts +0 -0
  148. /package/dist/components/game/{molecules → 2d}/EnemyPlate.d.ts +0 -0
  149. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/EventLog.d.ts +0 -0
  150. /package/dist/components/game/{organisms → 2d}/GameAudioToggle.d.ts +0 -0
  151. /package/dist/components/game/{molecules → 2d}/GameCanvas2D.d.ts +0 -0
  152. /package/dist/components/game/{molecules → 2d}/GameHud.d.ts +0 -0
  153. /package/dist/components/game/{molecules → 2d}/GameMenu.d.ts +0 -0
  154. /package/dist/components/game/{molecules → 2d}/GameOverScreen.d.ts +0 -0
  155. /package/dist/components/game/{templates → 2d}/GameShell.d.ts +0 -0
  156. /package/dist/components/game/{templates → 2d}/GameTemplate.d.ts +0 -0
  157. /package/dist/components/game/{molecules → 2d}/HealthPanel.d.ts +0 -0
  158. /package/dist/components/game/{molecules → 2d}/InventoryGrid.d.ts +0 -0
  159. /package/dist/components/game/{molecules → 2d}/InventoryPanel.d.ts +0 -0
  160. /package/dist/components/game/{atoms → 2d}/ItemSlot.d.ts +0 -0
  161. /package/dist/components/game/{atoms → 2d}/MiniMap.d.ts +0 -0
  162. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/ObjectRulePanel.d.ts +0 -0
  163. /package/dist/components/game/{molecules → 2d}/PowerupSlots.d.ts +0 -0
  164. /package/dist/components/game/{molecules → 2d}/QuestTracker.d.ts +0 -0
  165. /package/dist/components/game/{molecules → 2d}/ResourceBar.d.ts +0 -0
  166. /package/dist/components/game/{atoms → 2d}/ResourceCounter.d.ts +0 -0
  167. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/RuleEditor.d.ts +0 -0
  168. /package/dist/components/game/{molecules → 2d}/ScoreBoard.d.ts +0 -0
  169. /package/dist/components/game/{atoms → 2d}/ScoreDisplay.d.ts +0 -0
  170. /package/dist/components/game/{organisms/physics-sim → 2d}/SimulationControls.d.ts +0 -0
  171. /package/dist/components/game/{organisms/physics-sim → 2d}/SimulationGraph.d.ts +0 -0
  172. /package/dist/components/game/{molecules → 2d}/StatBadge.d.ts +0 -0
  173. /package/dist/components/game/{atoms → 2d}/StateIndicator.d.ts +0 -0
  174. /package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateJsonView.d.ts +0 -0
  175. /package/dist/components/game/{atoms → 2d}/StatusEffect.d.ts +0 -0
  176. /package/dist/components/game/{atoms → 2d}/TimerDisplay.d.ts +0 -0
  177. /package/dist/components/game/{organisms → 2d}/TopDownShooterBoard.d.ts +0 -0
  178. /package/dist/components/game/{organisms → 2d}/TowerDefenseBoard.d.ts +0 -0
  179. /package/dist/components/game/{organisms → 2d}/TraitSlot.d.ts +0 -0
  180. /package/dist/components/game/{atoms → 2d}/TurnIndicator.d.ts +0 -0
  181. /package/dist/components/game/{molecules → 2d}/TurnPanel.d.ts +0 -0
  182. /package/dist/components/game/{molecules → 2d}/UnitCommandBar.d.ts +0 -0
  183. /package/dist/components/game/{organisms/puzzles/state-architect → 2d}/VariablePanel.d.ts +0 -0
  184. /package/dist/components/game/{organisms → 2d}/VisualNovelBoard.d.ts +0 -0
  185. /package/dist/components/game/{atoms → 2d}/WaypointMarker.d.ts +0 -0
  186. /package/dist/components/game/{organisms/editor → 2d}/editorUtils.d.ts +0 -0
  187. /package/dist/components/game/{organisms/physics-sim/presets → 2d}/mechanics.d.ts +0 -0
  188. /package/dist/components/game/{organisms/physics-sim/presets/index.d.ts → 2d/physicsPresets.d.ts} +0 -0
  189. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/puzzleObject.d.ts +0 -0
  190. /package/dist/components/game/{organisms/physics-sim/presets → 2d}/types.d.ts +0 -0
  191. /package/dist/components/game/{organisms/hooks → 2d}/useGameAudio.d.ts +0 -0
  192. /package/dist/components/game/{molecules/three/loaders → 3d}/AssetLoader.d.ts +0 -0
  193. /package/dist/components/game/{molecules/three → 3d}/Camera3D.d.ts +0 -0
  194. /package/dist/components/game/{molecules/three/components → 3d}/Canvas3DErrorBoundary.d.ts +0 -0
  195. /package/dist/components/game/{molecules/three/components → 3d}/Canvas3DLoadingState.d.ts +0 -0
  196. /package/dist/components/game/{molecules/three → 3d}/Lighting3D.d.ts +0 -0
  197. /package/dist/components/game/{molecules/three/components → 3d}/ModelLoader.d.ts +0 -0
  198. /package/dist/components/game/{molecules/three → 3d}/Scene3D.d.ts +0 -0
  199. /package/dist/components/game/{molecules/three/utils → 3d}/culling.d.ts +0 -0
  200. /package/dist/components/game/{molecules/three/utils → 3d}/grid3D.d.ts +0 -0
  201. /package/dist/components/game/{molecules/three/hooks → 3d}/useRaycaster.d.ts +0 -0
  202. /package/dist/components/game/{molecules/three/hooks → 3d}/useSceneGraph.d.ts +0 -0
  203. /package/dist/components/game/{organisms → shared}/boardEntity.d.ts +0 -0
  204. /package/dist/components/game/{organisms/utils → shared}/combatEffects.d.ts +0 -0
  205. /package/dist/components/game/{organisms/types → shared}/effects.d.ts +0 -0
  206. /package/dist/components/game/{organisms/utils → shared}/isometric.d.ts +0 -0
  207. /package/dist/components/game/{organisms/utils → shared}/makeAsset.d.ts +0 -0
  208. /package/dist/components/game/{organisms/types/spriteAnimation.d.ts → shared/spriteAnimationTypes.d.ts} +0 -0
  209. /package/dist/components/game/{organisms/hooks → shared}/useImageCache.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface MinigolfBoardProps extends DisplayStateProps {
7
7
  /** Isometric grid tiles */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface MinigolfBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Features (holes, obstacles, etc.) on the board */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to manifest sprite paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -12,7 +12,7 @@
12
12
  */
13
13
  import React from 'react';
14
14
  import type { EventEmit, EntityRow } from '@almadar/core';
15
- import type { DisplayStateProps } from '../../../../core/organisms/types';
15
+ import type { DisplayStateProps } from '../../core/organisms/types';
16
16
  /** A selectable round action (UI value DTO read off the entity). */
17
17
  export interface NegotiatorAction {
18
18
  id: string;
@@ -28,7 +28,7 @@ export interface PinballBoardProps extends DisplayStateProps {
28
28
  unitId: string;
29
29
  }>;
30
30
  }
31
- export declare function PinballBoard({ tiles: _tiles, units: _units, features: _features, assetManifest: _assetManifest, assetBaseUrl, scale, showMinimap: _showMinimap, enableCamera: _enableCamera, tileClickEvent: _tileClickEvent, unitClickEvent: _unitClickEvent, isLoading, error, className, }: PinballBoardProps): React.ReactElement;
31
+ export declare function PinballBoard({ tiles: _tiles, units: _units, features: _features, assetManifest: _assetManifest, assetBaseUrl: _assetBaseUrl, scale: _scale, showMinimap, enableCamera, tileClickEvent, unitClickEvent, isLoading, error, className, }: PinballBoardProps): React.ReactElement;
32
32
  export declare namespace PinballBoard {
33
33
  var displayName: string;
34
34
  }
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface PirateBoardProps extends DisplayStateProps {
7
7
  /** Sea/island grid tiles */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface PirateBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Features (ports, treasures, etc.) on the board */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to manifest sprite paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import type { Asset, EventEmit, EntityRow } from '@almadar/core';
3
- import type { PlatformerPlatform, PlatformerPlayer } from '../molecules/PlatformerCanvas';
3
+ import type { Platform, SidePlayer } from './Canvas2D';
4
4
  export interface PlatformerBoardProps {
5
5
  /** Entity containing all board state (result, lives, score, level, player, platforms) */
6
6
  entity?: EntityRow | readonly EntityRow[];
7
7
  /** Direct player state — takes priority over entity-derived player */
8
- player?: PlatformerPlayer;
8
+ player?: SidePlayer;
9
9
  /** Direct platform data — takes priority over entity-derived platforms */
10
- platforms?: PlatformerPlatform[];
10
+ platforms?: Platform[];
11
11
  /** Game result read from entity */
12
12
  result?: 'none' | 'won' | 'lost';
13
13
  /** Lives remaining */
@@ -16,7 +16,7 @@ export interface PlatformerBoardProps {
16
16
  score?: number;
17
17
  /** Current level */
18
18
  level?: number;
19
- /** World/canvas dimensions */
19
+ /** World/canvas dimensions (kept for entity resolution; not forwarded to Canvas2D) */
20
20
  worldWidth?: number;
21
21
  worldHeight?: number;
22
22
  canvasWidth?: number;
@@ -25,17 +25,12 @@ export interface PlatformerBoardProps {
25
25
  playerSprite?: Asset;
26
26
  /** Map of platform type to tile sprite */
27
27
  tileSprites?: Record<string, Asset>;
28
- /** Canvas background color */
28
+ /** Canvas background color (not supported by Canvas2D; kept for API compat) */
29
29
  bgColor?: string;
30
- /** Event names forwarded to PlatformerCanvas */
31
- leftEvent?: EventEmit<{
32
- direction: number;
30
+ /** Emits UI:{keyEvent} with { key } on keydown (replaces per-direction events) */
31
+ keyEvent?: EventEmit<{
32
+ key: string;
33
33
  }>;
34
- rightEvent?: EventEmit<{
35
- direction: number;
36
- }>;
37
- jumpEvent?: EventEmit<Record<string, never>>;
38
- stopEvent?: EventEmit<Record<string, never>>;
39
34
  /** Emits UI:{playAgainEvent} on restart */
40
35
  playAgainEvent?: EventEmit<Record<string, never>>;
41
36
  /** Emits UI:{gameEndEvent} with { result } when result becomes won/lost */
@@ -44,7 +39,7 @@ export interface PlatformerBoardProps {
44
39
  }>;
45
40
  className?: string;
46
41
  }
47
- export declare function PlatformerBoard({ entity, player: propPlayer, platforms: propPlatforms, result: propResult, lives: propLives, score: propScore, level: propLevel, worldWidth, worldHeight, canvasWidth, canvasHeight, playerSprite, tileSprites, bgColor, leftEvent, rightEvent, jumpEvent, stopEvent, playAgainEvent, gameEndEvent, className, }: PlatformerBoardProps): React.JSX.Element;
42
+ export declare function PlatformerBoard({ entity, player: propPlayer, platforms: propPlatforms, result: propResult, lives: propLives, score: propScore, level: propLevel, worldWidth, worldHeight, canvasWidth: _canvasWidth, canvasHeight: _canvasHeight, playerSprite, tileSprites, bgColor: _bgColor, keyEvent, playAgainEvent, gameEndEvent, className, }: PlatformerBoardProps): React.JSX.Element;
48
43
  export declare namespace PlatformerBoard {
49
44
  var displayName: string;
50
45
  }
@@ -1,5 +1,5 @@
1
1
  import type { AssetUrl, EventEmit } from '@almadar/core';
2
- import type { ActiveEffect } from '../organisms/types/isometric';
2
+ import type { ActiveEffect } from '../shared/isometricTypes';
3
3
  export interface PlatformerPlatform {
4
4
  x: number;
5
5
  y: number;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { Asset } from '@almadar/core';
3
3
  import type { TemplateProps } from '../../core/templates/types';
4
- import type { PlatformerBoardProps } from '../organisms/PlatformerBoard';
4
+ import type { PlatformerBoardProps } from './PlatformerBoard';
5
5
  export interface PlatformerTemplateProps extends TemplateProps {
6
6
  /** Level geometry forwarded to PlatformerBoard */
7
7
  platforms?: PlatformerBoardProps['platforms'];
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface RacingBoardProps extends DisplayStateProps {
7
7
  /** Road + grass terrain tiles forming the race circuit */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface RacingBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Track features (pit lane markers, start/finish line, etc.) */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to manifest sprite paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { Asset, EventEmit, EntityRow } from '@almadar/core';
3
3
  import type { DisplayStateProps } from '../../core/organisms/types';
4
- import type { IsometricTile } from './types/isometric';
4
+ import type { IsometricTile } from '../shared/isometricTypes';
5
5
  type PlayerPos = {
6
6
  x: number;
7
7
  y: number;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { EventEmit } from '@almadar/core';
3
3
  import type { TemplateProps } from '../../core/templates/types';
4
- import type { RoguelikeBoardProps } from '../organisms/RoguelikeBoard';
5
- import type { IsometricTile } from '../organisms/types/isometric';
4
+ import type { RoguelikeBoardProps } from './RoguelikeBoard';
5
+ import type { IsometricTile } from '../shared/isometricTypes';
6
6
  export interface RoguelikeTemplateProps extends TemplateProps {
7
7
  scale?: number;
8
8
  unitScale?: number;
@@ -8,7 +8,7 @@
8
8
  * @packageDocumentation
9
9
  */
10
10
  import React from 'react';
11
- import type { SlotItemData } from '../../TraitSlot';
11
+ import type { SlotItemData } from './TraitSlot';
12
12
  export interface SequenceBarProps {
13
13
  /** The current sequence (sparse — undefined means empty slot) */
14
14
  slots: Array<SlotItemData | undefined>;
@@ -19,7 +19,7 @@
19
19
  */
20
20
  import React from 'react';
21
21
  import type { EventEmit, EntityRow } from '@almadar/core';
22
- import type { DisplayStateProps } from '../../../../core/organisms/types';
22
+ import type { DisplayStateProps } from '../../core/organisms/types';
23
23
  export interface SequencerBoardProps extends DisplayStateProps {
24
24
  /** Puzzle board-state entity (single row or array). The board reads
25
25
  * `availableActions` / `maxSlots` / `solutions` etc. off the row.
@@ -7,7 +7,7 @@
7
7
  * and the interpolation bridge smooths them to 60fps.
8
8
  */
9
9
  import React from 'react';
10
- import type { PhysicsPreset, PhysicsBody } from './presets/types';
10
+ import type { PhysicsPreset, PhysicsBody } from './types';
11
11
  export interface SimulationCanvasProps {
12
12
  preset: string | PhysicsPreset;
13
13
  width?: number;
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import React from 'react';
15
15
  import type { EventEmit, EntityRow } from '@almadar/core';
16
- import type { DisplayStateProps } from '../../../../core/organisms/types';
16
+ import type { DisplayStateProps } from '../../core/organisms/types';
17
17
  /** A tunable simulation parameter slider descriptor (UI value DTO read off the entity). */
18
18
  export interface SimulatorParameter {
19
19
  id: string;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface SokobanBoardProps extends DisplayStateProps {
7
7
  /** Grid tiles (floor, wall, target) */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface SokobanBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Features (crates) on the board */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to manifest sprite paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface SpaceShmupBoardProps extends DisplayStateProps {
7
7
  /** Space terrain tiles filling the grid */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface SpaceShmupBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Features (asteroids, power-ups, etc.) on the board */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to manifest sprite paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface SpaceStationBoardProps extends DisplayStateProps {
7
7
  /** Isometric grid tiles */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface SpaceStationBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Features (consoles, airlocks, etc.) on the board */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to manifest sprite paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface SportsBoardProps extends DisplayStateProps {
7
7
  /** Court/field terrain tiles */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface SportsBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Features (goals, markers, etc.) on the board */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to asset paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import React from 'react';
7
7
  import type { EventKey, Asset } from "@almadar/core";
8
- import type { AnimationName } from '../organisms/types/spriteAnimation';
8
+ import type { AnimationName } from '../shared/spriteAnimationTypes';
9
9
  export interface SpriteProps {
10
10
  /** Spritesheet asset */
11
11
  spritesheet: Asset;
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import React from 'react';
11
11
  import type { EventEmit, EntityRow } from '@almadar/core';
12
- import type { DisplayStateProps } from '../../../../core/organisms/types';
12
+ import type { DisplayStateProps } from '../../core/organisms/types';
13
13
  /** A kid-built transition in the visual graph editor (UI value DTO). */
14
14
  export interface StateArchitectTransition {
15
15
  id: string;
@@ -7,7 +7,7 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  import React from 'react';
10
- import { type Point } from '../../../../core/atoms';
10
+ import { type Point } from '../../core/atoms';
11
11
  export interface StateNodeProps {
12
12
  /** State name */
13
13
  name: string;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { AssetUrl, EventEmit } from '@almadar/core';
3
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
3
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
4
4
  import type { DisplayStateProps } from '../../core/organisms/types';
5
- import type { IsometricCanvasProps } from '../molecules/IsometricCanvas';
5
+ import type { Canvas2DProps } from './Canvas2D';
6
6
  export interface TanksBoardProps extends DisplayStateProps {
7
7
  /** Ground/sand terrain tiles */
8
8
  tiles?: IsometricTile[];
@@ -10,8 +10,8 @@ export interface TanksBoardProps extends DisplayStateProps {
10
10
  units?: IsometricUnit[];
11
11
  /** Features (obstacles, structures, etc.) on the board */
12
12
  features?: IsometricFeature[];
13
- /** Asset sprite manifest (same shape as IsometricCanvas.assetManifest) */
14
- assetManifest?: IsometricCanvasProps['assetManifest'];
13
+ /** Asset sprite manifest (same shape as Canvas2D.assetManifest) */
14
+ assetManifest?: Canvas2DProps['assetManifest'];
15
15
  /** Base URL prepended to manifest sprite paths */
16
16
  assetBaseUrl?: AssetUrl;
17
17
  /** Render scale */
@@ -7,7 +7,7 @@
7
7
  import React from 'react';
8
8
  import type { EventEmit } from '@almadar/core';
9
9
  import type { TemplateProps } from '../../core/templates/types';
10
- import type { TopDownShooterBoardProps, ShooterPlayer, ShooterEnemy, ShooterProjectile } from '../organisms/TopDownShooterBoard';
10
+ import type { TopDownShooterBoardProps, ShooterPlayer, ShooterEnemy, ShooterProjectile } from './TopDownShooterBoard';
11
11
  export interface TopDownShooterTemplateProps extends TemplateProps {
12
12
  title?: string;
13
13
  player?: ShooterPlayer;
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import React from 'react';
8
8
  import type { TemplateProps } from '../../core/templates/types';
9
- import type { TowerDefenseTile, TowerDefensePathPoint, TowerDefenseTower } from '../organisms/TowerDefenseBoard';
9
+ import type { TowerDefenseTile, TowerDefensePathPoint, TowerDefenseTower } from './TowerDefenseBoard';
10
10
  import type { EventEmit } from '@almadar/core';
11
11
  export interface TowerDefenseTemplateProps extends TemplateProps {
12
12
  title?: string;
@@ -10,7 +10,7 @@
10
10
  * @packageDocumentation
11
11
  */
12
12
  import React from 'react';
13
- import { type StateStyle } from '../atoms/StateIndicator';
13
+ import { type StateStyle } from './StateIndicator';
14
14
  import type { UiError } from '../../core/atoms/types';
15
15
  export type TraitTransition = {
16
16
  from: string;
@@ -7,7 +7,7 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  import React from 'react';
10
- import type { Point } from '../../../../core/atoms/types';
10
+ import type { Point } from '../../core/atoms/types';
11
11
  export interface TransitionArrowProps {
12
12
  /** Start position (center of from-node) */
13
13
  from: Point;
@@ -16,7 +16,7 @@
16
16
  import * as React from 'react';
17
17
  import type { EntityRow, EventEmit } from '@almadar/core';
18
18
  import { type BattleBoardProps } from './BattleBoard';
19
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
19
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
20
20
  export interface UncontrolledBattleBoardProps extends Omit<BattleBoardProps, 'entity'> {
21
21
  entity?: EntityRow | readonly EntityRow[];
22
22
  /** Direct tile data — takes priority over entity-derived tiles. */
@@ -7,7 +7,7 @@
7
7
  import React from 'react';
8
8
  import type { EventEmit } from '@almadar/core';
9
9
  import type { TemplateProps } from '../../core/templates/types';
10
- import type { VisualNovelNode } from '../organisms/VisualNovelBoard';
10
+ import type { VisualNovelNode } from './VisualNovelBoard';
11
11
  export interface VisualNovelTemplateProps extends TemplateProps {
12
12
  title?: string;
13
13
  nodes?: VisualNovelNode[];
@@ -20,8 +20,8 @@
20
20
  */
21
21
  import React from 'react';
22
22
  import type { Asset, AssetUrl, EventEmit, EntityRow } from '@almadar/core';
23
- import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
24
- import type { ResolvedFrame } from './types/spriteAnimation';
23
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
24
+ import type { ResolvedFrame } from '../shared/spriteAnimationTypes';
25
25
  import type { UiError } from '../../core/atoms/types';
26
26
  /** Manifest of per-kind sprite maps (UI value DTO). */
27
27
  type WorldMapAssetManifest = {
@@ -9,10 +9,10 @@
9
9
  * @packageDocumentation
10
10
  */
11
11
  import React from 'react';
12
- import type { WorldMapBoardProps } from '../organisms/WorldMapBoard';
12
+ import type { WorldMapBoardProps } from './WorldMapBoard';
13
13
  import type { TemplateProps } from '../../core/templates/types';
14
- import type { IsometricTile, IsometricUnit, IsometricFeature } from '../organisms/types/isometric';
15
- export type { WorldMapSlotContext } from '../organisms/WorldMapBoard';
14
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../shared/isometricTypes';
15
+ export type { WorldMapSlotContext } from './WorldMapBoard';
16
16
  export interface WorldMapTemplateProps extends TemplateProps {
17
17
  /** Canvas render scale */
18
18
  scale?: number;
@@ -10,7 +10,7 @@
10
10
  * @packageDocumentation
11
11
  */
12
12
  import type { Asset, EntityRow } from '@almadar/core';
13
- import type { IsometricTile, IsometricFeature } from '../organisms/types/isometric';
13
+ import type { IsometricTile, IsometricFeature } from '../shared/isometricTypes';
14
14
  /** GLB model assets for a 3D board, keyed by terrain "kind" and (optionally) feature type. */
15
15
  export interface Game3DAssetManifest {
16
16
  /** Floor model assets by terrain kind ('wall' | 'dirt' | 'open'). */
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Game 2D Components (flat)
3
+ *
4
+ * Atoms, molecules, board organisms, templates, puzzles, editor, and physics-sim.
5
+ * Dimension-agnostic DTO types/utils/hooks are re-surfaced from ../shared.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export * from '../shared';
10
+ export { GameCard, type GameCardProps } from './GameCard';
11
+ export { HealthBar, type HealthBarProps } from './HealthBar';
12
+ export { ScoreDisplay, type ScoreDisplayProps } from './ScoreDisplay';
13
+ export { ControlButton, type ControlButtonProps } from './ControlButton';
14
+ export { Sprite, drawSprite, type SpriteProps } from './Sprite';
15
+ export { StateIndicator, type StateIndicatorProps, type StateStyle } from './StateIndicator';
16
+ export { TimerDisplay, type TimerDisplayProps } from './TimerDisplay';
17
+ export { ResourceCounter, type ResourceCounterProps } from './ResourceCounter';
18
+ export { ItemSlot, type ItemSlotProps } from './ItemSlot';
19
+ export { TurnIndicator, type TurnIndicatorProps } from './TurnIndicator';
20
+ export { ComboCounter, type ComboCounterProps } from './ComboCounter';
21
+ export { WaypointMarker, type WaypointMarkerProps } from './WaypointMarker';
22
+ export { StatusEffect, type StatusEffectProps } from './StatusEffect';
23
+ export { DamageNumber, type DamageNumberProps } from './DamageNumber';
24
+ export { DialogueBubble, type DialogueBubbleProps } from './DialogueBubble';
25
+ export { ChoiceButton, type ChoiceButtonProps } from './ChoiceButton';
26
+ export { ActionButton, type ActionButtonProps } from './ActionButton';
27
+ export { MiniMap, type MiniMapProps } from './MiniMap';
28
+ export { ControlGrid, type ControlGridProps, type ControlGridButton, type ControlGridKind, type DPadDirection } from './ControlGrid';
29
+ export { StatBadge, type StatBadgeProps } from './StatBadge';
30
+ export { InventoryGrid, type InventoryGridProps, type InventoryGridItem } from './InventoryGrid';
31
+ export { CardHand, type CardHandProps, type CardHandCard } from './CardHand';
32
+ export { QuestTracker, type QuestTrackerProps, type Quest } from './QuestTracker';
33
+ export { CraftingRecipe, type CraftingRecipeProps, type CraftingIngredient } from './CraftingRecipe';
34
+ export { PowerupSlots, type PowerupSlotsProps, type ActivePowerup } from './PowerupSlots';
35
+ export { GameCanvas2D, type GameCanvas2DProps } from './GameCanvas2D';
36
+ export { HealthPanel, type HealthPanelProps } from './HealthPanel';
37
+ export { ScoreBoard, type ScoreBoardProps } from './ScoreBoard';
38
+ export { ResourceBar, type ResourceBarProps, type ResourceBarResource } from './ResourceBar';
39
+ export { TurnPanel, type TurnPanelProps, type TurnPanelAction } from './TurnPanel';
40
+ export { EnemyPlate, type EnemyPlateProps, type EnemyPlateEffect } from './EnemyPlate';
41
+ export { UnitCommandBar, type UnitCommandBarProps, type UnitCommand } from './UnitCommandBar';
42
+ export { GameHud, type GameHudProps, type GameHudStat, type GameHudElement } from './GameHud';
43
+ export { DialogueBox, type DialogueBoxProps, type DialogueNode, type DialogueChoice } from './DialogueBox';
44
+ export { CombatLog, type CombatLogProps, type CombatEvent, type CombatLogEventType } from './CombatLog';
45
+ export { InventoryPanel, type InventoryPanelProps, type InventoryItem } from './InventoryPanel';
46
+ export { GameMenu, type GameMenuProps, type MenuOption } from './GameMenu';
47
+ export { GameOverScreen, type GameOverScreenProps, type GameOverStat, type GameOverAction } from './GameOverScreen';
48
+ export { PlatformerCanvas, type PlatformerCanvasProps, type PlatformerPlatform, type PlatformerPlayer } from './PlatformerCanvas';
49
+ export { IsometricCanvas, type IsometricCanvasProps } from './IsometricCanvas';
50
+ export { Canvas2D, type Canvas2DProps, type Projection, type CameraMode, type Platform, type SidePlayer, type TileCoord, } from './Canvas2D';
51
+ export { useUnitSpriteAtlas } from './useUnitSpriteAtlas';
52
+ export { CanvasEffect, type CanvasEffectProps } from './CanvasEffect';
53
+ export * from './useCanvasEffects';
54
+ export { GameAudioProvider, GameAudioContext, useGameAudioContext, type GameAudioProviderProps, type GameAudioContextValue, } from './GameAudioProvider';
55
+ export { GameAudioToggle, type GameAudioToggleProps, } from './GameAudioToggle';
56
+ export { useGameAudio, type AudioManifest, type SoundEntry, type GameAudioControls, type UseGameAudioOptions, } from './useGameAudio';
57
+ export { useCamera } from './useCamera';
58
+ export { BattleBoard, type BattleBoardProps, type BattlePhase, type BattleSlotContext, } from './BattleBoard';
59
+ export { UncontrolledBattleBoard, type UncontrolledBattleBoardProps, } from './UncontrolledBattleBoard';
60
+ export { useBattleState, type BattleStateEventConfig, type BattleStateCallbacks, type BattleStateResult, } from './useBattleState';
61
+ export { WorldMapBoard, type WorldMapBoardProps, type WorldMapSlotContext, } from './WorldMapBoard';
62
+ export { CastleBoard, type CastleBoardProps, type CastleSlotContext, } from './CastleBoard';
63
+ export { PlatformerBoard, type PlatformerBoardProps, } from './PlatformerBoard';
64
+ export { TowerDefenseBoard, type TowerDefenseBoardProps, } from './TowerDefenseBoard';
65
+ export { RoguelikeBoard, type RoguelikeBoardProps, } from './RoguelikeBoard';
66
+ export { TopDownShooterBoard, type TopDownShooterBoardProps, } from './TopDownShooterBoard';
67
+ export { CityBuilderBoard, type CityBuilderBoardProps, } from './CityBuilderBoard';
68
+ export { VisualNovelBoard, type VisualNovelBoardProps, type VisualNovelNode, type VisualNovelChoice, } from './VisualNovelBoard';
69
+ export { CardBattlerBoard, type CardBattlerBoardProps, type CardBattlerCard, } from './CardBattlerBoard';
70
+ export { HexStrategyBoard, type HexStrategyBoardProps, } from './HexStrategyBoard';
71
+ export { RacingBoard, type RacingBoardProps } from './RacingBoard';
72
+ export { TanksBoard, type TanksBoardProps } from './TanksBoard';
73
+ export { SpaceShmupBoard, type SpaceShmupBoardProps } from './SpaceShmupBoard';
74
+ export { SportsBoard, type SportsBoardProps } from './SportsBoard';
75
+ export { SokobanBoard, type SokobanBoardProps } from './SokobanBoard';
76
+ export { BoardgameBoard, type BoardgameBoardProps } from './BoardgameBoard';
77
+ export { PirateBoard, type PirateBoardProps } from './PirateBoard';
78
+ export { PinballBoard, type PinballBoardProps } from './PinballBoard';
79
+ export { FishingBoard, type FishingBoardProps } from './FishingBoard';
80
+ export { MatchPuzzleBoard, type MatchPuzzleBoardProps } from './MatchPuzzleBoard';
81
+ export { HolidayRunnerBoard, type HolidayRunnerBoardProps } from './HolidayRunnerBoard';
82
+ export { MinigolfBoard, type MinigolfBoardProps } from './MinigolfBoard';
83
+ export { SpaceStationBoard, type SpaceStationBoardProps } from './SpaceStationBoard';
84
+ export { TraitStateViewer, type TraitStateViewerProps, type TraitStateMachineDefinition, type TraitTransition, } from './TraitStateViewer';
85
+ export { TraitSlot, type TraitSlotProps, type SlotItemData, } from './TraitSlot';
86
+ export { CollapsibleSection, EditorSlider, EditorSelect, EditorCheckbox, EditorTextInput, StatusBar, TerrainPalette, EditorToolbar, TERRAIN_COLORS, FEATURE_TYPES, type EditorMode, type CollapsibleSectionProps, type EditorSliderProps, type EditorSelectProps, type EditorCheckboxProps, type EditorTextInputProps, type StatusBarProps, type TerrainPaletteProps, type EditorToolbarProps, } from './editorUtils';
87
+ export { ActionTile, type ActionTileProps } from './ActionTile';
88
+ export { ActionPalette, type ActionPaletteProps } from './ActionPalette';
89
+ export { SequenceBar, type SequenceBarProps } from './SequenceBar';
90
+ export { SequencerBoard, type SequencerBoardProps } from './SequencerBoard';
91
+ export { RuleEditor, type RuleEditorProps, type RuleDefinition } from './RuleEditor';
92
+ export { EventLog, type EventLogProps, type EventLogEntry } from './EventLog';
93
+ export { ObjectRulePanel, type ObjectRulePanelProps } from './ObjectRulePanel';
94
+ export { EventHandlerBoard, type EventHandlerBoardProps } from './EventHandlerBoard';
95
+ export * from './puzzleObject';
96
+ export { StateNode, type StateNodeProps } from './StateNode';
97
+ export { TransitionArrow, type TransitionArrowProps } from './TransitionArrow';
98
+ export { VariablePanel, type VariablePanelProps } from './VariablePanel';
99
+ export { StateJsonView, type StateJsonViewProps } from './StateJsonView';
100
+ export { StateArchitectBoard, type StateArchitectBoardProps, type StateArchitectTransition, type TestCase, } from './StateArchitectBoard';
101
+ export { SimulatorBoard, type SimulatorBoardProps, type SimulatorParameter } from './SimulatorBoard';
102
+ export { ClassifierBoard, type ClassifierBoardProps, type ClassifierItem, type ClassifierCategory } from './ClassifierBoard';
103
+ export { BuilderBoard, type BuilderBoardProps, type BuilderComponent, type BuilderSlot } from './BuilderBoard';
104
+ export { DebuggerBoard, type DebuggerBoardProps, type DebuggerLine } from './DebuggerBoard';
105
+ export { NegotiatorBoard, type NegotiatorBoardProps, type NegotiatorAction, type PayoffEntry } from './NegotiatorBoard';
106
+ export { SimulationCanvas, type SimulationCanvasProps } from './SimulationCanvas';
107
+ export { SimulationControls, type SimulationControlsProps } from './SimulationControls';
108
+ export { SimulationGraph, type SimulationGraphProps, type MeasurementPoint } from './SimulationGraph';
109
+ export type { PhysicsPreset, PhysicsBody, PhysicsConstraint } from './types';
110
+ export { projectileMotion, pendulum, springOscillator, ALL_PRESETS } from './physicsPresets';
111
+ export { GameTemplate, type GameTemplateProps } from './GameTemplate';
112
+ export { GameShell, type GameShellProps } from './GameShell';
113
+ export { BattleTemplate, type BattleTemplateProps } from './BattleTemplate';
114
+ export { CastleTemplate, type CastleTemplateProps } from './CastleTemplate';
115
+ export { WorldMapTemplate, type WorldMapTemplateProps } from './WorldMapTemplate';
116
+ export { PlatformerTemplate, type PlatformerTemplateProps } from './PlatformerTemplate';
117
+ export { TowerDefenseTemplate, type TowerDefenseTemplateProps } from './TowerDefenseTemplate';
118
+ export { RoguelikeTemplate, type RoguelikeTemplateProps } from './RoguelikeTemplate';
119
+ export { TopDownShooterTemplate, type TopDownShooterTemplateProps } from './TopDownShooterTemplate';
120
+ export { CityBuilderTemplate, type CityBuilderTemplateProps } from './CityBuilderTemplate';
121
+ export { VisualNovelTemplate, type VisualNovelTemplateProps } from './VisualNovelTemplate';
122
+ export { CardBattlerTemplate, type CardBattlerTemplateProps } from './CardBattlerTemplate';
@@ -1,5 +1,5 @@
1
1
  import type { EventEmit, EntityRow } from '@almadar/core';
2
- import type { BattlePhase } from '../BattleBoard';
2
+ import type { BattlePhase } from './BattleBoard';
3
3
  export interface BattleStateEventConfig {
4
4
  tileClickEvent?: EventEmit<{
5
5
  x: number;
@@ -1,4 +1,4 @@
1
- import type { CameraState } from '../types/isometric';
1
+ import type { CameraState } from '../shared/isometricTypes';
2
2
  interface CameraResult {
3
3
  /** Mutable camera state ref (x, y, zoom) */
4
4
  cameraRef: React.MutableRefObject<CameraState>;