@almadar/ui 5.82.0 → 5.84.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 (48) hide show
  1. package/dist/avl/index.cjs +1706 -5785
  2. package/dist/avl/index.js +674 -4753
  3. package/dist/components/core/templates/index.d.ts +0 -10
  4. package/dist/components/game/2d/atoms/ChoiceButton.d.ts +3 -1
  5. package/dist/components/game/2d/molecules/Canvas2D.d.ts +6 -5
  6. package/dist/components/game/2d/molecules/ControlGrid.d.ts +6 -1
  7. package/dist/components/game/2d/molecules/index.d.ts +0 -34
  8. package/dist/components/index.cjs +8344 -12448
  9. package/dist/components/index.js +4662 -8732
  10. package/dist/providers/index.cjs +1573 -5652
  11. package/dist/providers/index.js +650 -4729
  12. package/dist/runtime/index.cjs +1567 -5646
  13. package/dist/runtime/index.js +654 -4733
  14. package/package.json +1 -1
  15. package/dist/components/game/2d/organisms/BattleBoard.d.ts +0 -132
  16. package/dist/components/game/2d/organisms/BoardgameBoard.d.ts +0 -37
  17. package/dist/components/game/2d/organisms/CastleBoard.d.ts +0 -107
  18. package/dist/components/game/2d/organisms/CityBuilderBoard.d.ts +0 -64
  19. package/dist/components/game/2d/organisms/FishingBoard.d.ts +0 -41
  20. package/dist/components/game/2d/organisms/HexStrategyBoard.d.ts +0 -44
  21. package/dist/components/game/2d/organisms/HolidayRunnerBoard.d.ts +0 -37
  22. package/dist/components/game/2d/organisms/MatchPuzzleBoard.d.ts +0 -37
  23. package/dist/components/game/2d/organisms/MinigolfBoard.d.ts +0 -37
  24. package/dist/components/game/2d/organisms/PinballBoard.d.ts +0 -43
  25. package/dist/components/game/2d/organisms/PirateBoard.d.ts +0 -44
  26. package/dist/components/game/2d/organisms/PlatformerBoard.d.ts +0 -48
  27. package/dist/components/game/2d/organisms/RacingBoard.d.ts +0 -44
  28. package/dist/components/game/2d/organisms/RoguelikeBoard.d.ts +0 -62
  29. package/dist/components/game/2d/organisms/SokobanBoard.d.ts +0 -37
  30. package/dist/components/game/2d/organisms/SpaceShmupBoard.d.ts +0 -44
  31. package/dist/components/game/2d/organisms/SpaceStationBoard.d.ts +0 -37
  32. package/dist/components/game/2d/organisms/SportsBoard.d.ts +0 -37
  33. package/dist/components/game/2d/organisms/TanksBoard.d.ts +0 -39
  34. package/dist/components/game/2d/organisms/TopDownShooterBoard.d.ts +0 -65
  35. package/dist/components/game/2d/organisms/TowerDefenseBoard.d.ts +0 -87
  36. package/dist/components/game/2d/organisms/UncontrolledBattleBoard.d.ts +0 -43
  37. package/dist/components/game/2d/organisms/WorldMapBoard.d.ts +0 -155
  38. package/dist/components/game/2d/templates/BattleTemplate.d.ts +0 -34
  39. package/dist/components/game/2d/templates/CardBattlerTemplate.d.ts +0 -35
  40. package/dist/components/game/2d/templates/CastleTemplate.d.ts +0 -32
  41. package/dist/components/game/2d/templates/CityBuilderTemplate.d.ts +0 -40
  42. package/dist/components/game/2d/templates/PlatformerTemplate.d.ts +0 -27
  43. package/dist/components/game/2d/templates/RoguelikeTemplate.d.ts +0 -23
  44. package/dist/components/game/2d/templates/TopDownShooterTemplate.d.ts +0 -42
  45. package/dist/components/game/2d/templates/TowerDefenseTemplate.d.ts +0 -43
  46. package/dist/components/game/2d/templates/VisualNovelTemplate.d.ts +0 -28
  47. package/dist/components/game/2d/templates/WorldMapTemplate.d.ts +0 -38
  48. package/dist/components/game/shared/hooks/useBattleState.d.ts +0 -47
@@ -5,16 +5,6 @@ export { CounterTemplate, type CounterTemplateProps, type CounterSize, type Coun
5
5
  export { GameTemplate, type GameTemplateProps } from '../../game/2d/templates/GameTemplate';
6
6
  export { GenericAppTemplate, type GenericAppTemplateProps } from './GenericAppTemplate';
7
7
  export { GameShell, type GameShellProps } from '../../game/2d/templates/GameShell';
8
- export { BattleTemplate, type BattleTemplateProps, type BattlePhase, type BattleSlotContext, } from '../../game/2d/templates/BattleTemplate';
9
- export { CastleTemplate, type CastleTemplateProps, type CastleSlotContext, } from '../../game/2d/templates/CastleTemplate';
10
- export { WorldMapTemplate, type WorldMapTemplateProps, type WorldMapSlotContext, } from '../../game/2d/templates/WorldMapTemplate';
11
- export { PlatformerTemplate, type PlatformerTemplateProps, } from '../../game/2d/templates/PlatformerTemplate';
12
- export { TowerDefenseTemplate, type TowerDefenseTemplateProps, } from '../../game/2d/templates/TowerDefenseTemplate';
13
- export { RoguelikeTemplate, type RoguelikeTemplateProps, } from '../../game/2d/templates/RoguelikeTemplate';
14
- export { TopDownShooterTemplate, type TopDownShooterTemplateProps, } from '../../game/2d/templates/TopDownShooterTemplate';
15
- export { CityBuilderTemplate, type CityBuilderTemplateProps, } from '../../game/2d/templates/CityBuilderTemplate';
16
- export { VisualNovelTemplate, type VisualNovelTemplateProps, } from '../../game/2d/templates/VisualNovelTemplate';
17
- export { CardBattlerTemplate, type CardBattlerTemplateProps, } from '../../game/2d/templates/CardBattlerTemplate';
18
8
  export { LandingPageTemplate, type LandingPageTemplateProps, type LandingPageEntity, } from '../../marketing/templates/LandingPageTemplate';
19
9
  export { PricingPageTemplate, type PricingPageTemplateProps, type PricingPageEntity, } from '../../marketing/templates/PricingPageTemplate';
20
10
  export { FeatureDetailPageTemplate, type FeatureDetailPageTemplateProps, type FeatureDetailPageEntity, type FeatureDetailSection, } from '../../marketing/templates/FeatureDetailPageTemplate';
@@ -17,10 +17,12 @@ export interface ChoiceButtonProps {
17
17
  onClick?: () => void;
18
18
  /** Declarative event name — emits UI:{action} via eventBus on click */
19
19
  action?: EventKey;
20
+ /** Semantic payload emitted with the action (e.g. `{ nextId, choiceIndex }` for a branching choice). */
21
+ payload?: Record<string, string | number | boolean>;
20
22
  /** Additional CSS classes */
21
23
  className?: string;
22
24
  }
23
- export declare function ChoiceButton({ text, index, assetUrl, icon, disabled, selected, onClick, action, className, }: ChoiceButtonProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function ChoiceButton({ text, index, assetUrl, icon, disabled, selected, onClick, action, payload, className, }: ChoiceButtonProps): import("react/jsx-runtime").JSX.Element;
24
26
  export declare namespace ChoiceButton {
25
27
  var displayName: string;
26
28
  }
@@ -101,10 +101,11 @@ export interface Canvas2DProps {
101
101
  }>;
102
102
  /** Emits UI:{tileLeaveEvent} with {} on tile leave */
103
103
  tileLeaveEvent?: EventEmit<Record<string, never>>;
104
- /** Emits UI:{keyEvent} with { key } on keydown for side/free keyboard control */
105
- keyEvent?: EventEmit<{
106
- key: string;
107
- }>;
104
+ /** Maps a keydown `e.code` the board's SEMANTIC event, e.g. `{ ArrowLeft: "LEFT", KeyA: "LEFT", Space: "JUMP" }`.
105
+ * The input layer emits `UI:<event>` so the FSM stays device-agnostic — keyboard and d-pad converge on the same events. */
106
+ keyMap?: Record<string, string>;
107
+ /** Maps a keyup `e.code` → the board's SEMANTIC event, e.g. `{ ArrowLeft: "STOP" }`. Omit a key to ignore its release (e.g. jump). */
108
+ keyUpMap?: Record<string, string>;
108
109
  /** Camera behavior (default 'pan-zoom'). */
109
110
  camera?: CameraMode;
110
111
  /** Render scale (0.4 = 40% zoom). */
@@ -154,7 +155,7 @@ export interface Canvas2DProps {
154
155
  effects?: Record<string, Asset>;
155
156
  };
156
157
  }
157
- export declare function Canvas2D({ className, isLoading, error, projection, tiles: _tilesPropRaw, units: _unitsPropRaw, features: _featuresPropRaw, effects: _effectsPropRaw, platforms, player, backgroundImage, selectedUnitId, validMoves, attackTargets, hoveredTile, tileClickEvent, unitClickEvent, tileHoverEvent, tileLeaveEvent, keyEvent, camera, scale, unitScale, showMinimap, animate, debug, spriteHeightRatio, spriteMaxWidthRatio, diamondTopY: diamondTopYProp, getTerrainSprite, getFeatureSprite, getUnitSprite, resolveUnitFrame, effectSpriteUrls, onDrawEffects, playerSprite, tileSprites, bgColor, worldWidth, worldHeight, assetManifest, }: Canvas2DProps): React.JSX.Element;
158
+ export declare function Canvas2D({ className, isLoading, error, projection, tiles: _tilesPropRaw, units: _unitsPropRaw, features: _featuresPropRaw, effects: _effectsPropRaw, platforms, player, backgroundImage, selectedUnitId, validMoves, attackTargets, hoveredTile, tileClickEvent, unitClickEvent, tileHoverEvent, tileLeaveEvent, keyMap, keyUpMap, camera, scale, unitScale, showMinimap, animate, debug, spriteHeightRatio, spriteMaxWidthRatio, diamondTopY: diamondTopYProp, getTerrainSprite, getFeatureSprite, getUnitSprite, resolveUnitFrame, effectSpriteUrls, onDrawEffects, playerSprite, tileSprites, bgColor, worldWidth, worldHeight, assetManifest, }: Canvas2DProps): React.JSX.Element;
158
159
  export declare namespace Canvas2D {
159
160
  var displayName: string;
160
161
  }
@@ -32,13 +32,18 @@ export interface ControlGridProps {
32
32
  direction: DPadDirection;
33
33
  pressed: boolean;
34
34
  }>;
35
+ /** Per-direction PRESS → the board's SEMANTIC event (kind="dpad"), e.g. `{ left: "LEFT", right: "RIGHT", up: "JUMP" }`.
36
+ * Lets the d-pad emit the SAME intent events as the keyboard so the FSM stays device-agnostic. */
37
+ directionEvents?: Partial<Record<DPadDirection, string>>;
38
+ /** Per-direction RELEASE → semantic event, e.g. `{ left: "STOP", right: "STOP" }`. Omit a direction to ignore its release. */
39
+ directionReleaseEvents?: Partial<Record<DPadDirection, string>>;
35
40
  /** Per-direction sprite assets for kind="dpad" buttons (e.g. Kenny arrow PNGs). Falls back to arrow emoji. */
36
41
  directionAssets?: Partial<Record<DPadDirection, Asset>>;
37
42
  size?: 'sm' | 'md' | 'lg';
38
43
  disabled?: boolean;
39
44
  className?: string;
40
45
  }
41
- export declare function ControlGrid({ kind, buttons, layout, includeDiagonals, onAction, actionEvent, onDirection, directionEvent, directionAssets, size, disabled, className, }: ControlGridProps): React.JSX.Element;
46
+ export declare function ControlGrid({ kind, buttons, layout, includeDiagonals, onAction, actionEvent, onDirection, directionEvent, directionEvents, directionReleaseEvents, directionAssets, size, disabled, className, }: ControlGridProps): React.JSX.Element;
42
47
  export declare namespace ControlGrid {
43
48
  var displayName: string;
44
49
  }
@@ -40,32 +40,8 @@ export { GameAudioProvider, GameAudioContext, useGameAudioContext, type GameAudi
40
40
  export { GameAudioToggle, type GameAudioToggleProps, } from '../atoms/GameAudioToggle';
41
41
  export { useGameAudio, type AudioManifest, type SoundEntry, type GameAudioControls, type UseGameAudioOptions, } from '../../shared/hooks/useGameAudio';
42
42
  export { useCamera } from '../../shared/hooks/useCamera';
43
- export { BattleBoard, type BattleBoardProps, type BattlePhase, type BattleSlotContext, } from '../organisms/BattleBoard';
44
- export { UncontrolledBattleBoard, type UncontrolledBattleBoardProps, } from '../organisms/UncontrolledBattleBoard';
45
- export { useBattleState, type BattleStateEventConfig, type BattleStateCallbacks, type BattleStateResult, } from '../../shared/hooks/useBattleState';
46
- export { WorldMapBoard, type WorldMapBoardProps, type WorldMapSlotContext, } from '../organisms/WorldMapBoard';
47
- export { CastleBoard, type CastleBoardProps, type CastleSlotContext, } from '../organisms/CastleBoard';
48
- export { PlatformerBoard, type PlatformerBoardProps, } from '../organisms/PlatformerBoard';
49
- export { TowerDefenseBoard, type TowerDefenseBoardProps, } from '../organisms/TowerDefenseBoard';
50
- export { RoguelikeBoard, type RoguelikeBoardProps, } from '../organisms/RoguelikeBoard';
51
- export { TopDownShooterBoard, type TopDownShooterBoardProps, } from '../organisms/TopDownShooterBoard';
52
- export { CityBuilderBoard, type CityBuilderBoardProps, } from '../organisms/CityBuilderBoard';
53
43
  export { VisualNovelBoard, type VisualNovelBoardProps, type VisualNovelNode, type VisualNovelChoice, } from '../organisms/VisualNovelBoard';
54
44
  export { CardBattlerBoard, type CardBattlerBoardProps, type CardBattlerCard, } from '../organisms/CardBattlerBoard';
55
- export { HexStrategyBoard, type HexStrategyBoardProps, } from '../organisms/HexStrategyBoard';
56
- export { RacingBoard, type RacingBoardProps } from '../organisms/RacingBoard';
57
- export { TanksBoard, type TanksBoardProps } from '../organisms/TanksBoard';
58
- export { SpaceShmupBoard, type SpaceShmupBoardProps } from '../organisms/SpaceShmupBoard';
59
- export { SportsBoard, type SportsBoardProps } from '../organisms/SportsBoard';
60
- export { SokobanBoard, type SokobanBoardProps } from '../organisms/SokobanBoard';
61
- export { BoardgameBoard, type BoardgameBoardProps } from '../organisms/BoardgameBoard';
62
- export { PirateBoard, type PirateBoardProps } from '../organisms/PirateBoard';
63
- export { PinballBoard, type PinballBoardProps } from '../organisms/PinballBoard';
64
- export { FishingBoard, type FishingBoardProps } from '../organisms/FishingBoard';
65
- export { MatchPuzzleBoard, type MatchPuzzleBoardProps } from '../organisms/MatchPuzzleBoard';
66
- export { HolidayRunnerBoard, type HolidayRunnerBoardProps } from '../organisms/HolidayRunnerBoard';
67
- export { MinigolfBoard, type MinigolfBoardProps } from '../organisms/MinigolfBoard';
68
- export { SpaceStationBoard, type SpaceStationBoardProps } from '../organisms/SpaceStationBoard';
69
45
  export { TraitStateViewer, type TraitStateViewerProps, type TraitStateMachineDefinition, type TraitTransition, } from '../organisms/TraitStateViewer';
70
46
  export { TraitSlot, type TraitSlotProps, type SlotItemData, } from '../organisms/TraitSlot';
71
47
  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 '../../shared/lib/editorUtils';
@@ -95,13 +71,3 @@ export type { PhysicsPreset, PhysicsBody, PhysicsConstraint } from '../../shared
95
71
  export { projectileMotion, pendulum, springOscillator, ALL_PRESETS } from '../../shared/lib/physicsPresets';
96
72
  export { GameTemplate, type GameTemplateProps } from '../templates/GameTemplate';
97
73
  export { GameShell, type GameShellProps } from '../templates/GameShell';
98
- export { BattleTemplate, type BattleTemplateProps } from '../templates/BattleTemplate';
99
- export { CastleTemplate, type CastleTemplateProps } from '../templates/CastleTemplate';
100
- export { WorldMapTemplate, type WorldMapTemplateProps } from '../templates/WorldMapTemplate';
101
- export { PlatformerTemplate, type PlatformerTemplateProps } from '../templates/PlatformerTemplate';
102
- export { TowerDefenseTemplate, type TowerDefenseTemplateProps } from '../templates/TowerDefenseTemplate';
103
- export { RoguelikeTemplate, type RoguelikeTemplateProps } from '../templates/RoguelikeTemplate';
104
- export { TopDownShooterTemplate, type TopDownShooterTemplateProps } from '../templates/TopDownShooterTemplate';
105
- export { CityBuilderTemplate, type CityBuilderTemplateProps } from '../templates/CityBuilderTemplate';
106
- export { VisualNovelTemplate, type VisualNovelTemplateProps } from '../templates/VisualNovelTemplate';
107
- export { CardBattlerTemplate, type CardBattlerTemplateProps } from '../templates/CardBattlerTemplate';