@almadar/ui 5.70.0 → 5.72.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 (63) hide show
  1. package/dist/avl/index.cjs +2198 -2218
  2. package/dist/avl/index.d.cts +93 -56
  3. package/dist/avl/index.js +931 -951
  4. package/dist/components/avl/molecules/AvlEventWireEdge.d.ts +2 -1
  5. package/dist/components/avl/molecules/AvlTransitionEdge.d.ts +2 -1
  6. package/dist/components/avl/molecules/avl-behavior-compose-converter.d.ts +7 -5
  7. package/dist/components/avl/molecules/avl-behavior-compose-types.d.ts +41 -21
  8. package/dist/components/avl/molecules/avl-canvas-types.d.ts +10 -7
  9. package/dist/components/avl/molecules/avl-preview-converter.d.ts +5 -5
  10. package/dist/components/avl/molecules/avl-preview-types.d.ts +15 -4
  11. package/dist/components/avl/organisms/FlowCanvas.d.ts +2 -2
  12. package/dist/components/avl/organisms/avl-schema-parser.d.ts +18 -16
  13. package/dist/components/core/atoms/Button.d.ts +2 -0
  14. package/dist/components/core/atoms/ConditionalWrapper.d.ts +5 -4
  15. package/dist/components/core/molecules/Carousel.d.ts +2 -2
  16. package/dist/components/core/molecules/OrbitalVisualization.d.ts +4 -3
  17. package/dist/components/core/molecules/PageHeader.d.ts +3 -3
  18. package/dist/components/core/molecules/RepeatableFormSection.d.ts +4 -3
  19. package/dist/components/core/molecules/ViolationAlert.d.ts +2 -0
  20. package/dist/components/core/molecules/WizardContainer.d.ts +23 -22
  21. package/dist/components/core/organisms/CardGrid.d.ts +2 -2
  22. package/dist/components/core/organisms/CustomPattern.d.ts +3 -4
  23. package/dist/components/core/organisms/DataTable.d.ts +2 -2
  24. package/dist/components/core/organisms/DetailPanel.d.ts +1 -1
  25. package/dist/components/core/organisms/Form.d.ts +11 -11
  26. package/dist/components/core/organisms/List.d.ts +3 -5
  27. package/dist/components/core/organisms/StatCard.d.ts +2 -2
  28. package/dist/components/core/organisms/book/types.d.ts +1 -1
  29. package/dist/components/core/organisms/debug/RuntimeDebugger.d.ts +2 -1
  30. package/dist/components/core/organisms/debug/tabs/EventDispatcherTab.d.ts +2 -1
  31. package/dist/components/core/organisms/layout/DashboardGrid.d.ts +0 -2
  32. package/dist/components/core/organisms/types.d.ts +3 -2
  33. package/dist/components/game/atoms/ScoreDisplay.d.ts +3 -3
  34. package/dist/components/game/atoms/Sprite.d.ts +6 -1
  35. package/dist/components/game/atoms/XPBar.d.ts +1 -1
  36. package/dist/components/game/molecules/GameCanvas3D.d.ts +0 -2
  37. package/dist/components/game/molecules/IsometricCanvas.d.ts +4 -2
  38. package/dist/components/game/molecules/PlatformerCanvas.d.ts +4 -1
  39. package/dist/components/game/molecules/StatBadge.d.ts +3 -1
  40. package/dist/components/game/molecules/three/hooks/useSceneGraph.d.ts +2 -1
  41. package/dist/components/game/molecules/three/index.cjs +41 -105
  42. package/dist/components/game/molecules/three/index.js +41 -105
  43. package/dist/components/game/molecules/useUnitSpriteAtlas.d.ts +3 -2
  44. package/dist/components/game/organisms/PinballBoard.d.ts +4 -4
  45. package/dist/components/game/organisms/boardEntity.d.ts +6 -6
  46. package/dist/components/game/organisms/puzzles/debugger/DebuggerBoard.d.ts +16 -2
  47. package/dist/components/game/organisms/puzzles/event-handler/puzzleObject.d.ts +21 -10
  48. package/dist/components/game/organisms/puzzles/state-architect/StateJsonView.d.ts +2 -1
  49. package/dist/components/game/organisms/types/isometric.d.ts +16 -0
  50. package/dist/components/index.cjs +2228 -2251
  51. package/dist/components/index.js +1116 -1139
  52. package/dist/docs/index.cjs +107 -104
  53. package/dist/docs/index.d.cts +2 -0
  54. package/dist/docs/index.js +38 -35
  55. package/dist/lib/getNestedValue.d.ts +2 -13
  56. package/dist/marketing/index.cjs +97 -98
  57. package/dist/marketing/index.d.cts +2 -0
  58. package/dist/marketing/index.js +54 -55
  59. package/dist/providers/index.cjs +1908 -1951
  60. package/dist/providers/index.js +808 -851
  61. package/dist/runtime/index.cjs +1966 -2009
  62. package/dist/runtime/index.js +814 -857
  63. package/package.json +1 -1
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @packageDocumentation
12
12
  */
13
- import type { EntityRow } from '@almadar/core';
13
+ import type { EntityRow, FieldValue } from '@almadar/core';
14
14
  /** A 2D grid position read off an entity row. */
15
15
  export interface Vec2 {
16
16
  x: number;
@@ -27,15 +27,15 @@ export interface TeamUnitTraits {
27
27
  * an array of rows, or undefined. Boards operate on one board state. */
28
28
  export declare function boardEntity(entity: EntityRow | readonly EntityRow[] | undefined): EntityRow | undefined;
29
29
  /** Coerce a field value to a string (empty string when absent). */
30
- export declare function str(v: unknown): string;
30
+ export declare function str(v: FieldValue | undefined): string;
31
31
  /** Coerce a field value to a number (0 when absent / non-numeric). */
32
- export declare function num(v: unknown, fallback?: number): number;
32
+ export declare function num(v: FieldValue | undefined, fallback?: number): number;
33
33
  /** Coerce a field value to a boolean. */
34
- export declare function bool(v: unknown): boolean;
34
+ export declare function bool(v: FieldValue | undefined): boolean;
35
35
  /** Coerce a nested array field to a readonly array of entity rows. */
36
- export declare function rows(v: unknown): readonly EntityRow[];
36
+ export declare function rows(v: FieldValue | undefined): readonly EntityRow[];
37
37
  /** Read an `{ x, y }` position off an entity row's named field. */
38
- export declare function vec2(v: unknown): Vec2;
38
+ export declare function vec2(v: FieldValue | undefined): Vec2;
39
39
  /** Read a unit row's `position` as a `Vec2`. */
40
40
  export declare function unitPosition(u: EntityRow): Vec2;
41
41
  /** Read a unit row's `team` ('player' | 'enemy' | string). */
@@ -9,7 +9,7 @@
9
9
  * Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).
10
10
  */
11
11
  import React from 'react';
12
- import type { EventEmit, EntityRow } from '@almadar/core';
12
+ import type { EventEmit, EntityRow, EntityWith } from '@almadar/core';
13
13
  import type { DisplayStateProps } from '../../../../core/organisms/types';
14
14
  /** A reviewable code line (UI value DTO read off the entity). */
15
15
  export interface DebuggerLine {
@@ -23,7 +23,21 @@ export interface DebuggerBoardProps extends DisplayStateProps {
23
23
  /** Puzzle board-state entity (single row or array). The board reads
24
24
  * `lines` array (each with `isFlagged`), `result`, `attempts`, plus
25
25
  * title/description/bugCount/hint off the row. */
26
- entity?: EntityRow | readonly EntityRow[];
26
+ entity?: EntityWith<{
27
+ lines?: DebuggerLine[];
28
+ result?: string;
29
+ attempts?: number;
30
+ title?: string;
31
+ description?: string;
32
+ bugCount?: number;
33
+ hint?: string;
34
+ headerImage?: string;
35
+ theme?: {
36
+ background?: string;
37
+ accentColor?: string;
38
+ };
39
+ successMessage?: string;
40
+ }> | readonly EntityRow[];
27
41
  completeEvent?: EventEmit<{
28
42
  success: boolean;
29
43
  attempts: number;
@@ -8,14 +8,25 @@
8
8
  *
9
9
  * @packageDocumentation
10
10
  */
11
- import type { EntityRow } from '@almadar/core';
11
+ import type { EntityWith } from '@almadar/core';
12
12
  import type { RuleDefinition, RuleOption } from './RuleEditor';
13
- export declare function objId(o: EntityRow): string;
14
- export declare function objName(o: EntityRow): string;
15
- export declare function objIcon(o: EntityRow): string;
16
- export declare function objStates(o: EntityRow): string[];
17
- export declare function objCurrentState(o: EntityRow): string;
18
- export declare function objAvailableEvents(o: EntityRow): RuleOption[];
19
- export declare function objAvailableActions(o: EntityRow): RuleOption[];
20
- export declare function objRules(o: EntityRow): RuleDefinition[];
21
- export declare function objMaxRules(o: EntityRow): number;
13
+ type PuzzleObjectRow = EntityWith<{
14
+ name?: string;
15
+ icon?: string;
16
+ states?: string[];
17
+ currentState?: string;
18
+ availableEvents?: RuleOption[];
19
+ availableActions?: RuleOption[];
20
+ rules?: RuleDefinition[];
21
+ maxRules?: number;
22
+ }>;
23
+ export declare function objId(o: PuzzleObjectRow): string;
24
+ export declare function objName(o: PuzzleObjectRow): string;
25
+ export declare function objIcon(o: PuzzleObjectRow): string;
26
+ export declare function objStates(o: PuzzleObjectRow): string[];
27
+ export declare function objCurrentState(o: PuzzleObjectRow): string;
28
+ export declare function objAvailableEvents(o: PuzzleObjectRow): RuleOption[];
29
+ export declare function objAvailableActions(o: PuzzleObjectRow): RuleOption[];
30
+ export declare function objRules(o: PuzzleObjectRow): RuleDefinition[];
31
+ export declare function objMaxRules(o: PuzzleObjectRow): number;
32
+ export {};
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
+ import { JsonObject } from '@almadar/core';
2
3
  export interface StateJsonViewProps {
3
4
  /** JSON data to display */
4
- data: Record<string, unknown>;
5
+ data: JsonObject;
5
6
  /** Label */
6
7
  label?: string;
7
8
  /** Whether the code is expanded by default */
@@ -1,4 +1,5 @@
1
1
  import type { AssetUrl } from '@almadar/core';
2
+ import type { AnimationName } from './spriteAnimation';
2
3
  /**
3
4
  * Isometric Game Types
4
5
  *
@@ -7,6 +8,17 @@ import type { AssetUrl } from '@almadar/core';
7
8
  *
8
9
  * @packageDocumentation
9
10
  */
11
+ /** An active visual effect on the board. x,y are grid tile coords; ttl = remaining ticks. */
12
+ export interface ActiveEffect {
13
+ /** Unique key — matched against assetManifest.effects for sprite lookup */
14
+ key: string;
15
+ /** Grid x coordinate */
16
+ x: number;
17
+ /** Grid y coordinate */
18
+ y: number;
19
+ /** Remaining ticks — used as a fade/scale hint (alpha = min(1, ttl/4)) */
20
+ ttl: number;
21
+ }
10
22
  /** A single isometric tile on the grid */
11
23
  export interface IsometricTile {
12
24
  /** Optional unique identifier (required for 3D rendering) */
@@ -85,6 +97,10 @@ export type IsometricUnit = {
85
97
  };
86
98
  /** Elevation offset for 3D rendering */
87
99
  elevation?: number;
100
+ /** Animation name — driven by the LOLO state machine; renderer defaults to 'idle' */
101
+ animation?: AnimationName;
102
+ /** Frame index within the animation — driven by the LOLO state machine; renderer defaults to 0 */
103
+ frame?: number;
88
104
  };
89
105
  /** A map feature (resource, building, portal, etc.) */
90
106
  export type IsometricFeature = {