@energy8platform/game-engine 0.33.2 → 0.33.4
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.
- package/dist/flow.cjs.js +770 -0
- package/dist/flow.cjs.js.map +1 -0
- package/dist/flow.d.ts +390 -0
- package/dist/flow.esm.js +765 -0
- package/dist/flow.esm.js.map +1 -0
- package/dist/host.cjs.js +3 -0
- package/dist/host.cjs.js.map +1 -1
- package/dist/host.esm.js +3 -0
- package/dist/host.esm.js.map +1 -1
- package/dist/scene-devtools.cjs.js +377 -0
- package/dist/scene-devtools.cjs.js.map +1 -0
- package/dist/scene-devtools.d.ts +239 -0
- package/dist/scene-devtools.esm.js +372 -0
- package/dist/scene-devtools.esm.js.map +1 -0
- package/dist/scene.cjs.js +3626 -0
- package/dist/scene.cjs.js.map +1 -0
- package/dist/scene.d.ts +344 -0
- package/dist/scene.esm.js +3614 -0
- package/dist/scene.esm.js.map +1 -0
- package/package.json +1 -1
- package/src/host/shellConfig.ts +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.cjs.js","sources":["../src/flow/registry.ts","../src/scene/layout.ts","../src/animation/Easing.ts","../src/animation/Tween.ts","../src/slot/anim/easing-map.ts","../src/flow/steps.ts","../src/flow/runner.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["Ticker"],"mappings":"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"}
|
package/dist/flow.d.ts
ADDED
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
import { Container } from 'pixi.js';
|
|
2
|
+
|
|
3
|
+
interface FlowDoc {
|
|
4
|
+
version: 1;
|
|
5
|
+
id: string;
|
|
6
|
+
/** Sound cue registry: alias → definition. Steps refer to cues, never to files. */
|
|
7
|
+
cues?: Record<string, CueDef>;
|
|
8
|
+
/** Event name (host lifecycle: spinStart/reelStop/result/enterMode/…) → steps. */
|
|
9
|
+
on: Record<string, Step[]>;
|
|
10
|
+
}
|
|
11
|
+
interface CueDef {
|
|
12
|
+
/** One source alias, or several — with `rotate` the runner cycles them (anti-repetition). */
|
|
13
|
+
src: string | string[];
|
|
14
|
+
channel?: 'music' | 'sfx';
|
|
15
|
+
loop?: boolean;
|
|
16
|
+
rotate?: boolean;
|
|
17
|
+
/** ± random playback-rate jitter (0.06 = ±6%). */
|
|
18
|
+
jitter?: number;
|
|
19
|
+
volume?: number;
|
|
20
|
+
}
|
|
21
|
+
/** Core step vocabulary; plugins contribute additional `do` kinds through the registry. */
|
|
22
|
+
type Step = TweenStep | SoundStep | SetStateStep | SetVarStep | SetPropsStep | CountUpStep | WaitStep | IfStep | ParallelStep | SeqStep | CodeStep | PluginStep;
|
|
23
|
+
interface TweenStep {
|
|
24
|
+
do: 'tween';
|
|
25
|
+
node: string;
|
|
26
|
+
/** Target numeric view properties (alpha, x, y, scale, rotation, …). */
|
|
27
|
+
to: Record<string, number>;
|
|
28
|
+
ms: number;
|
|
29
|
+
ease?: string;
|
|
30
|
+
}
|
|
31
|
+
interface SoundStep {
|
|
32
|
+
do: 'sound';
|
|
33
|
+
cue: string;
|
|
34
|
+
action?: 'play' | 'stop';
|
|
35
|
+
}
|
|
36
|
+
interface SetStateStep {
|
|
37
|
+
do: 'setState';
|
|
38
|
+
node: string;
|
|
39
|
+
state: string | null;
|
|
40
|
+
}
|
|
41
|
+
interface SetVarStep {
|
|
42
|
+
do: 'setVar';
|
|
43
|
+
name: string;
|
|
44
|
+
value: unknown;
|
|
45
|
+
}
|
|
46
|
+
/** Transient prop write on the live instance (presentation) — does NOT touch the doc. */
|
|
47
|
+
interface SetPropsStep {
|
|
48
|
+
do: 'setProps';
|
|
49
|
+
node: string;
|
|
50
|
+
props: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
interface CountUpStep {
|
|
53
|
+
do: 'countUp';
|
|
54
|
+
node: string;
|
|
55
|
+
/** Instance prop receiving the formatted value (default 'value' — badge prefabs). */
|
|
56
|
+
prop?: string;
|
|
57
|
+
from?: number | string;
|
|
58
|
+
/** Number or a '$path' reference into the fire() ctx (e.g. '$win'). */
|
|
59
|
+
to: number | string;
|
|
60
|
+
ms?: number;
|
|
61
|
+
format?: 'int' | 'space';
|
|
62
|
+
}
|
|
63
|
+
interface WaitStep {
|
|
64
|
+
do: 'wait';
|
|
65
|
+
ms?: number;
|
|
66
|
+
until?: 'tap';
|
|
67
|
+
}
|
|
68
|
+
interface IfStep {
|
|
69
|
+
do: 'if';
|
|
70
|
+
/** Micro-expression over the fire() ctx: `win >= 100`, `mode === 'fs'`, or a bare truthy name. */
|
|
71
|
+
when: string;
|
|
72
|
+
then: Step[];
|
|
73
|
+
else?: Step[];
|
|
74
|
+
}
|
|
75
|
+
interface ParallelStep {
|
|
76
|
+
do: 'parallel';
|
|
77
|
+
/** Independent tracks, awaited together. */
|
|
78
|
+
steps: Step[][];
|
|
79
|
+
}
|
|
80
|
+
interface SeqStep {
|
|
81
|
+
do: 'seq';
|
|
82
|
+
steps: Step[];
|
|
83
|
+
}
|
|
84
|
+
/** Escape hatch: a named code choreography registered on the runner. */
|
|
85
|
+
interface CodeStep {
|
|
86
|
+
do: 'code';
|
|
87
|
+
ref: string;
|
|
88
|
+
args?: Record<string, unknown>;
|
|
89
|
+
}
|
|
90
|
+
interface PluginStep {
|
|
91
|
+
do: string;
|
|
92
|
+
[key: string]: unknown;
|
|
93
|
+
}
|
|
94
|
+
interface TraceEntry {
|
|
95
|
+
/** ms since fire() (real time, unscaled). */
|
|
96
|
+
t: number;
|
|
97
|
+
do: string;
|
|
98
|
+
node?: string;
|
|
99
|
+
info?: string;
|
|
100
|
+
}
|
|
101
|
+
interface FlowTrace {
|
|
102
|
+
event: string;
|
|
103
|
+
turbo: number;
|
|
104
|
+
skipped: boolean;
|
|
105
|
+
durationMs: number;
|
|
106
|
+
entries: TraceEntry[];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
type Orientation = 'landscape' | 'portrait';
|
|
110
|
+
interface SceneDoc {
|
|
111
|
+
version: 1;
|
|
112
|
+
/** Stable document id (usually the game id). */
|
|
113
|
+
id: string;
|
|
114
|
+
/** Design space the layout rules are authored in (viewport arrives in these units). */
|
|
115
|
+
design: {
|
|
116
|
+
width: number;
|
|
117
|
+
height: number;
|
|
118
|
+
};
|
|
119
|
+
root: SceneNode;
|
|
120
|
+
}
|
|
121
|
+
interface SceneNode {
|
|
122
|
+
/** Stable id — flow, code and patches address the node by it. Unique per doc. */
|
|
123
|
+
id: string;
|
|
124
|
+
/** Node kind resolved through the registry (built-in or plugin-contributed). */
|
|
125
|
+
type: string;
|
|
126
|
+
/** Human label for the outliner; never used for addressing. */
|
|
127
|
+
name?: string;
|
|
128
|
+
/** Kind-specific properties (validated by the contribution's schema). */
|
|
129
|
+
props?: Record<string, unknown>;
|
|
130
|
+
layout?: LayoutRule;
|
|
131
|
+
/** Per-orientation override merged over the base node before layout. */
|
|
132
|
+
responsive?: Partial<Record<Orientation, NodeOverride>>;
|
|
133
|
+
/**
|
|
134
|
+
* Named variants toggled at runtime (flow `setState`, editor, code) — e.g. a reel
|
|
135
|
+
* frame's `anticipation` / `bonus` looks. A state is an override, not a new node.
|
|
136
|
+
*/
|
|
137
|
+
states?: Record<string, NodeOverride>;
|
|
138
|
+
/** Id of another node in this doc used as this node's mask. */
|
|
139
|
+
mask?: string;
|
|
140
|
+
/**
|
|
141
|
+
* Tiny condition over runtime vars, e.g. `"mode === 'free_spins'"`. Supported form:
|
|
142
|
+
* `<var> <op> <literal>` with `=== !== >= <= > <`. Anything richer belongs in flow/code.
|
|
143
|
+
*/
|
|
144
|
+
visibleWhen?: string;
|
|
145
|
+
/** Entry in the shared anchor vocabulary flow/animation use to address the node. */
|
|
146
|
+
anchorName?: string;
|
|
147
|
+
/** Order = z-order. */
|
|
148
|
+
children?: SceneNode[];
|
|
149
|
+
}
|
|
150
|
+
/** Partial node applied on top of the base for an orientation or a named state. */
|
|
151
|
+
interface NodeOverride {
|
|
152
|
+
layout?: LayoutRule;
|
|
153
|
+
props?: Record<string, unknown>;
|
|
154
|
+
visible?: boolean;
|
|
155
|
+
}
|
|
156
|
+
interface LayoutCommon {
|
|
157
|
+
/** Content anchor [ax, ay] in 0..1 (applied via pivot on the node's natural size). */
|
|
158
|
+
anchor?: [number, number];
|
|
159
|
+
/** Final hand-tuned nudge in design px, applied after the rule resolves. */
|
|
160
|
+
pxNudge?: {
|
|
161
|
+
x?: number;
|
|
162
|
+
y?: number;
|
|
163
|
+
};
|
|
164
|
+
/** Static rotation in radians (choreographed rotation belongs to flow/animation). */
|
|
165
|
+
rotation?: number;
|
|
166
|
+
}
|
|
167
|
+
/** Fixed design-space coordinates. */
|
|
168
|
+
interface AbsoluteLayout extends LayoutCommon {
|
|
169
|
+
mode: 'absolute';
|
|
170
|
+
x: number;
|
|
171
|
+
y: number;
|
|
172
|
+
scale?: number;
|
|
173
|
+
rotation?: number;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Position as a fraction of the live viewport. Sizing, strongest first:
|
|
177
|
+
* `widthFrac`/`heightFrac` size the node to that fraction of the viewport (contain when
|
|
178
|
+
* both are given) — the "frame is 92% of the screen in portrait" idiom; otherwise
|
|
179
|
+
* `scaleWith` multiplies `scale` by the viewport/design ratio; otherwise plain `scale`.
|
|
180
|
+
*/
|
|
181
|
+
interface ViewportFractionLayout extends LayoutCommon {
|
|
182
|
+
mode: 'viewport-fraction';
|
|
183
|
+
xFrac: number;
|
|
184
|
+
yFrac: number;
|
|
185
|
+
scale?: number;
|
|
186
|
+
/** Multiply `scale` by viewport/design ratio: width | height | min | max. */
|
|
187
|
+
scaleWith?: 'width' | 'height' | 'min' | 'max';
|
|
188
|
+
/** Size the node to this fraction of the viewport width (scale derived from natural size). */
|
|
189
|
+
widthFrac?: number;
|
|
190
|
+
/** Size the node to this fraction of the viewport height. */
|
|
191
|
+
heightFrac?: number;
|
|
192
|
+
/** With both fracs: contain (default) keeps aspect, stretch distorts to fill exactly. */
|
|
193
|
+
fit?: 'contain' | 'stretch';
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Center-crop fill of the current space (backgrounds, diorama layers). `scale` multiplies
|
|
197
|
+
* the computed cover scale (the paper-duel `e` idiom); `pxNudge` offsets from center.
|
|
198
|
+
*/
|
|
199
|
+
interface CoverLayout extends LayoutCommon {
|
|
200
|
+
mode: 'cover';
|
|
201
|
+
scale?: number;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Place inside another node's laid-out rect using fractions of that rect.
|
|
205
|
+
* `use: 'inner'` reads the target's declared `props.inner` fractions (reel frames
|
|
206
|
+
* declare where their hollow is) instead of spelling the fractions twice.
|
|
207
|
+
* When a box (`wFrac`/`hFrac` or `use`) is given the node is contain-fitted into it
|
|
208
|
+
* (`fit: 'stretch'` distorts instead).
|
|
209
|
+
*/
|
|
210
|
+
interface FrameFractionLayout extends LayoutCommon {
|
|
211
|
+
mode: 'frame-fraction';
|
|
212
|
+
frame: string;
|
|
213
|
+
xFrac?: number;
|
|
214
|
+
yFrac?: number;
|
|
215
|
+
wFrac?: number;
|
|
216
|
+
hFrac?: number;
|
|
217
|
+
use?: 'inner';
|
|
218
|
+
fit?: 'contain' | 'stretch';
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Center of a reel-grid cell (badges, per-cell VFX slots). `grid` defaults to the sole
|
|
222
|
+
* reelGrid. By default the node scales with the grid (sizes authored in grid-design px);
|
|
223
|
+
* `scaleWithGrid: false` keeps it in absolute design units.
|
|
224
|
+
*/
|
|
225
|
+
interface GridCellLayout extends LayoutCommon {
|
|
226
|
+
mode: 'grid-cell';
|
|
227
|
+
grid?: string;
|
|
228
|
+
col: number;
|
|
229
|
+
row: number;
|
|
230
|
+
scale?: number;
|
|
231
|
+
scaleWithGrid?: boolean;
|
|
232
|
+
}
|
|
233
|
+
/** Pin to an edge/center of another node's laid-out rect. */
|
|
234
|
+
interface PinLayout extends LayoutCommon {
|
|
235
|
+
mode: 'pin';
|
|
236
|
+
to: string;
|
|
237
|
+
edge: PinEdge;
|
|
238
|
+
offset?: [number, number];
|
|
239
|
+
scale?: number;
|
|
240
|
+
}
|
|
241
|
+
type PinEdge = 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
242
|
+
type LayoutRule = AbsoluteLayout | ViewportFractionLayout | CoverLayout | FrameFractionLayout | GridCellLayout | PinLayout;
|
|
243
|
+
type ScenePatch = {
|
|
244
|
+
op: 'set-props';
|
|
245
|
+
id: string;
|
|
246
|
+
props: Record<string, unknown>;
|
|
247
|
+
}
|
|
248
|
+
/** Without `orientation` replaces the base rule; with it, that orientation's override. */
|
|
249
|
+
| {
|
|
250
|
+
op: 'set-layout';
|
|
251
|
+
id: string;
|
|
252
|
+
layout: LayoutRule;
|
|
253
|
+
orientation?: Orientation;
|
|
254
|
+
} | {
|
|
255
|
+
op: 'set-state';
|
|
256
|
+
id: string;
|
|
257
|
+
state: string | null;
|
|
258
|
+
} | {
|
|
259
|
+
op: 'set-var';
|
|
260
|
+
name: string;
|
|
261
|
+
value: unknown;
|
|
262
|
+
};
|
|
263
|
+
/** Outliner row — the tree the inspector and the agent both read. */
|
|
264
|
+
interface OutlineNode {
|
|
265
|
+
id: string;
|
|
266
|
+
type: string;
|
|
267
|
+
name?: string;
|
|
268
|
+
anchorName?: string;
|
|
269
|
+
visible: boolean;
|
|
270
|
+
state: string | null;
|
|
271
|
+
children: OutlineNode[];
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
interface Size {
|
|
275
|
+
width: number;
|
|
276
|
+
height: number;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/** Live counterpart of one scene node, produced by its contribution. */
|
|
280
|
+
interface NodeInstance {
|
|
281
|
+
view: Container;
|
|
282
|
+
/** Natural (unscaled) content size — drives anchor, cover and box fitting. */
|
|
283
|
+
measure(): Size;
|
|
284
|
+
/** Apply a props patch in place; absent → the engine rebuilds the node instead. */
|
|
285
|
+
applyProps?(props: Record<string, unknown>): void;
|
|
286
|
+
/** Scene-local center of a grid cell (reel-grid kinds only; enables `grid-cell` layout). */
|
|
287
|
+
gridCell?(col: number, row: number): {
|
|
288
|
+
x: number;
|
|
289
|
+
y: number;
|
|
290
|
+
};
|
|
291
|
+
destroy?(): void;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
interface SceneHandle {
|
|
295
|
+
view: Container;
|
|
296
|
+
node(id: string): Container | undefined;
|
|
297
|
+
instance(id: string): NodeInstance | undefined;
|
|
298
|
+
anchor(name: string): Container | undefined;
|
|
299
|
+
tree(): OutlineNode;
|
|
300
|
+
layout(width: number, height: number): void;
|
|
301
|
+
setVar(name: string, value: unknown): void;
|
|
302
|
+
setState(id: string, state: string | null): void;
|
|
303
|
+
patch(patch: ScenePatch): void;
|
|
304
|
+
/** The live doc (mutated by patches) — serialize this to persist the scene. */
|
|
305
|
+
doc(): SceneDoc;
|
|
306
|
+
destroy(): void;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/** What the audio adapter receives — cue already resolved (rotation/jitter applied). */
|
|
310
|
+
interface ResolvedCue {
|
|
311
|
+
cue: string;
|
|
312
|
+
src: string;
|
|
313
|
+
channel: 'music' | 'sfx';
|
|
314
|
+
loop: boolean;
|
|
315
|
+
rate: number;
|
|
316
|
+
volume: number;
|
|
317
|
+
}
|
|
318
|
+
interface FlowAudioAdapter {
|
|
319
|
+
play(cue: ResolvedCue): void;
|
|
320
|
+
stop(cueName: string): void;
|
|
321
|
+
}
|
|
322
|
+
interface CreateFlowRunnerOptions {
|
|
323
|
+
scene: SceneHandle;
|
|
324
|
+
audio?: FlowAudioAdapter;
|
|
325
|
+
plugins?: FlowPlugin[];
|
|
326
|
+
/** Named code choreographies for `{do:'code', ref}` escape hatches. */
|
|
327
|
+
code?: Record<string, (rt: FlowRuntime, args: Record<string, unknown>) => Promise<void> | void>;
|
|
328
|
+
/** Live trace feed (the log/timeline view); the full trace is also returned by fire(). */
|
|
329
|
+
onTrace?: (event: string, entry: TraceEntry) => void;
|
|
330
|
+
log?: (msg: string) => void;
|
|
331
|
+
}
|
|
332
|
+
interface FlowRunner {
|
|
333
|
+
fire(event: string, ctx?: Record<string, unknown>): Promise<FlowTrace>;
|
|
334
|
+
/** Complete every active run in zero time (settle). */
|
|
335
|
+
skip(): void;
|
|
336
|
+
/** 1 = normal; 2 = twice as fast. Applies to waits, tweens, count-ups. */
|
|
337
|
+
setTurbo(factor: number): void;
|
|
338
|
+
/** Host reports a user tap (releases `wait until:'tap'`). */
|
|
339
|
+
tap(): void;
|
|
340
|
+
events(): string[];
|
|
341
|
+
destroy(): void;
|
|
342
|
+
}
|
|
343
|
+
/** Per-run runtime handed to step executors (core and plugin alike). */
|
|
344
|
+
interface FlowRuntime {
|
|
345
|
+
scene: SceneHandle;
|
|
346
|
+
ctx: Record<string, unknown>;
|
|
347
|
+
audio: FlowAudioAdapter;
|
|
348
|
+
/** Turbo-scaled, skip-aware sleep. */
|
|
349
|
+
wait(ms: number): Promise<void>;
|
|
350
|
+
waitTap(): Promise<void>;
|
|
351
|
+
/** Execute a nested step list (if/parallel/seq bodies). */
|
|
352
|
+
run(steps: Step[]): Promise<void>;
|
|
353
|
+
/** True once skip() hit this run — executors should jump straight to end states. */
|
|
354
|
+
readonly skipped: boolean;
|
|
355
|
+
readonly turbo: number;
|
|
356
|
+
/** Resolve '$path' references against ctx; other values pass through. */
|
|
357
|
+
resolve(value: unknown): unknown;
|
|
358
|
+
/** Evaluate an if-condition against ctx. */
|
|
359
|
+
when(expr: string): boolean;
|
|
360
|
+
trace(entry: Omit<TraceEntry, 't'>): void;
|
|
361
|
+
/** The node's live view (tween targets). */
|
|
362
|
+
view(id: string): Container | undefined;
|
|
363
|
+
log(msg: string): void;
|
|
364
|
+
codeRef(ref: string): ((rt: FlowRuntime, args: Record<string, unknown>) => Promise<void> | void) | undefined;
|
|
365
|
+
playCue(name: string, action: 'play' | 'stop'): void;
|
|
366
|
+
}
|
|
367
|
+
declare function validateFlowDoc(doc: FlowDoc, registry: FlowStepRegistry): string[];
|
|
368
|
+
declare function createFlowRunner(doc: FlowDoc, opts: CreateFlowRunnerOptions): FlowRunner;
|
|
369
|
+
|
|
370
|
+
interface FlowStepContribution {
|
|
371
|
+
kind: string;
|
|
372
|
+
schema?: Record<string, unknown>;
|
|
373
|
+
/** 3–10 lines for the agent: when to use the step, patterns, anti-patterns. */
|
|
374
|
+
agentDoc?: string;
|
|
375
|
+
run(step: Step, rt: FlowRuntime): Promise<void> | void;
|
|
376
|
+
}
|
|
377
|
+
interface FlowPlugin {
|
|
378
|
+
id: string;
|
|
379
|
+
steps?: FlowStepContribution[];
|
|
380
|
+
}
|
|
381
|
+
interface FlowStepRegistry {
|
|
382
|
+
step(kind: string): FlowStepContribution | undefined;
|
|
383
|
+
kinds(): string[];
|
|
384
|
+
}
|
|
385
|
+
declare function createFlowStepRegistry(plugins?: FlowPlugin[], builtins?: FlowStepContribution[]): FlowStepRegistry;
|
|
386
|
+
|
|
387
|
+
declare const BUILTIN_FLOW_STEPS: FlowStepContribution[];
|
|
388
|
+
|
|
389
|
+
export { BUILTIN_FLOW_STEPS, createFlowRunner, createFlowStepRegistry, validateFlowDoc };
|
|
390
|
+
export type { CodeStep, CountUpStep, CreateFlowRunnerOptions, CueDef, FlowAudioAdapter, FlowDoc, FlowPlugin, FlowRunner, FlowRuntime, FlowStepContribution, FlowStepRegistry, FlowTrace, IfStep, ParallelStep, PluginStep, ResolvedCue, SeqStep, SetPropsStep, SetStateStep, SetVarStep, SoundStep, Step, TraceEntry, TweenStep, WaitStep };
|