@energy8platform/game-engine 0.33.3 → 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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.esm.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":[],"mappings":"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"}
@@ -0,0 +1,377 @@
1
+ 'use strict';
2
+
3
+ // Pure helpers behind the scene inspector — kept renderer/DOM-free so the control
4
+ // inference and layout-field enumeration are unit-testable and reusable (the same
5
+ // mapping later feeds schema-driven autogen and the agent's docs).
6
+ /** Infer an editor control for a props value (schema-less fallback). */
7
+ function propControlKind(value) {
8
+ switch (typeof value) {
9
+ case 'number':
10
+ return 'number';
11
+ case 'boolean':
12
+ return 'boolean';
13
+ case 'string':
14
+ return /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(value) ? 'color' : 'text';
15
+ default:
16
+ return 'json';
17
+ }
18
+ }
19
+ const FRACTION_KEYS = /frac|anchor|scale|sag|left$|top$|width$|height$/i;
20
+ function numberStep(path, value) {
21
+ if (/rotation/i.test(path))
22
+ return 0.01;
23
+ if (FRACTION_KEYS.test(path) && Math.abs(value) <= 4)
24
+ return 0.01;
25
+ return 1;
26
+ }
27
+ /** Flatten a layout rule into editable field specs (mode itself is structural → readonly). */
28
+ function layoutFieldSpecs(rule) {
29
+ const out = [];
30
+ const visit = (value, path, label) => {
31
+ if (typeof value === 'number') {
32
+ out.push({ path, label, kind: 'number', value, step: numberStep(path, value) });
33
+ }
34
+ else if (typeof value === 'string') {
35
+ out.push(path === 'mode' ? { path, label, kind: 'readonly', value } : { path, label, kind: 'text', value });
36
+ }
37
+ else if (typeof value === 'boolean') {
38
+ out.push({ path, label, kind: 'text', value: String(value) });
39
+ }
40
+ else if (Array.isArray(value)) {
41
+ value.forEach((item, i) => visit(item, `${path}.${i}`, `${label}[${i}]`));
42
+ }
43
+ else if (value && typeof value === 'object') {
44
+ for (const [k, v] of Object.entries(value))
45
+ visit(v, `${path}.${k}`, `${label}.${k}`);
46
+ }
47
+ };
48
+ for (const [key, value] of Object.entries(rule))
49
+ visit(value, key, key);
50
+ return out;
51
+ }
52
+ /** Immutable set of a dot-path inside a (JSON-ish) rule object. */
53
+ function setRulePath(rule, path, value) {
54
+ const clone = JSON.parse(JSON.stringify(rule));
55
+ const parts = path.split('.');
56
+ let cursor = clone;
57
+ for (let i = 0; i < parts.length - 1; i++) {
58
+ const key = parts[i];
59
+ const next = Array.isArray(cursor) ? cursor[Number(key)] : cursor[key];
60
+ if (typeof next !== 'object' || next === null) {
61
+ const fresh = {};
62
+ if (Array.isArray(cursor))
63
+ cursor[Number(key)] = fresh;
64
+ else
65
+ cursor[key] = fresh;
66
+ cursor = fresh;
67
+ }
68
+ else {
69
+ cursor = next;
70
+ }
71
+ }
72
+ const last = parts[parts.length - 1];
73
+ if (Array.isArray(cursor))
74
+ cursor[Number(last)] = value;
75
+ else
76
+ cursor[last] = value;
77
+ return clone;
78
+ }
79
+
80
+ // Scene outliner + inspector — the human lens over the same SceneHandle surface the
81
+ // agent drives (tree/patch/setState). Framework-free DOM, dev-only: hosts (scene-lab,
82
+ // a game's preview page, later a harness panel) mount it into any container element.
83
+ // Every edit leaves through a ScenePatch, so a mouse edit and an agent edit are the
84
+ // same operation on the same doc.
85
+ const STYLE = `
86
+ .e8si { font: 12px/1.45 system-ui, sans-serif; color: #dfe6f5; display: flex; flex-direction: column; height: 100%; min-height: 0; }
87
+ .e8si h3 { margin: 0; padding: 8px 10px 6px; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: #7d8ab0; }
88
+ .e8si-tree { overflow: auto; max-height: 42%; border-bottom: 1px solid #1c2540; padding-bottom: 6px; }
89
+ .e8si-row { display: flex; gap: 6px; align-items: baseline; padding: 2px 10px; cursor: pointer; white-space: nowrap; }
90
+ .e8si-row:hover { background: #141c36; }
91
+ .e8si-row.sel { background: #1d2b55; }
92
+ .e8si-row .t { color: #7d8ab0; }
93
+ .e8si-row .dim { opacity: 0.45; }
94
+ .e8si-insp { overflow: auto; flex: 1; padding: 4px 0 12px; }
95
+ .e8si-head { padding: 6px 10px; }
96
+ .e8si-head .id { font-weight: 700; font-size: 13px; }
97
+ .e8si-head .meta { color: #7d8ab0; }
98
+ .e8si-sec { margin-top: 6px; }
99
+ .e8si-field { display: flex; align-items: center; gap: 6px; padding: 2px 10px; }
100
+ .e8si-field label { flex: 0 0 96px; color: #9fb0d8; overflow: hidden; text-overflow: ellipsis; }
101
+ .e8si-field input[type=number], .e8si-field input[type=text], .e8si-field select, .e8si-field textarea {
102
+ flex: 1; min-width: 0; background: #0d1428; color: #dfe6f5; border: 1px solid #2b3866; border-radius: 6px; padding: 3px 6px; font: inherit; }
103
+ .e8si-field input[type=color] { width: 34px; height: 24px; padding: 0; border: 1px solid #2b3866; border-radius: 6px; background: none; }
104
+ .e8si-field .ro { color: #8fa0c9; }
105
+ .e8si-json { display: block; width: calc(100% - 20px); margin: 2px 10px; min-height: 52px; font: 11px/1.4 ui-monospace, monospace; }
106
+ .e8si-apply { margin: 4px 10px; padding: 3px 10px; background: #18213d; color: #dfe6f5; border: 1px solid #2b3866; border-radius: 6px; cursor: pointer; }
107
+ .e8si-empty { padding: 10px; color: #7d8ab0; }
108
+ .e8si-badge { display: inline-block; padding: 0 6px; border: 1px solid #2b3866; border-radius: 8px; color: #9fb0d8; font-size: 10px; }
109
+ `;
110
+ function createSceneInspector(opts) {
111
+ const { handle, container } = opts;
112
+ const applyPatch = opts.applyPatch ?? handle.patch;
113
+ const getOrientation = opts.getOrientation ?? (() => 'landscape');
114
+ const root = document.createElement('div');
115
+ root.className = 'e8si';
116
+ const style = document.createElement('style');
117
+ style.textContent = STYLE;
118
+ root.appendChild(style);
119
+ const treeHost = document.createElement('div');
120
+ treeHost.className = 'e8si-tree';
121
+ const inspHost = document.createElement('div');
122
+ inspHost.className = 'e8si-insp';
123
+ root.append(treeHost, inspHost);
124
+ container.appendChild(root);
125
+ let selectedId = null;
126
+ // Edits from our own inputs schedule a refresh that must not rebuild the form under
127
+ // the user's cursor — only the outliner refreshes then.
128
+ let ownEdit = false;
129
+ const findNode = (id) => {
130
+ const walk = (n) => n.id === id ? n : n.children.map(walk).find(Boolean);
131
+ return walk(handle.tree());
132
+ };
133
+ const docNode = (id) => {
134
+ const walk = (n) => {
135
+ if (n.id === id)
136
+ return n;
137
+ for (const child of n.children ?? []) {
138
+ const hit = walk(child);
139
+ if (hit)
140
+ return hit;
141
+ }
142
+ return undefined;
143
+ };
144
+ return walk(handle.doc().root);
145
+ };
146
+ const patchAndRefresh = (patch) => {
147
+ ownEdit = true;
148
+ applyPatch(patch);
149
+ ownEdit = false;
150
+ renderTree();
151
+ };
152
+ // ── Outliner ────────────────────────────────────────────────────────────────
153
+ const renderTree = () => {
154
+ treeHost.textContent = '';
155
+ const title = document.createElement('h3');
156
+ title.textContent = 'Scene';
157
+ treeHost.appendChild(title);
158
+ const renderRow = (node, depth) => {
159
+ const row = document.createElement('div');
160
+ row.className = `e8si-row${node.id === selectedId ? ' sel' : ''}${node.visible ? '' : ' dim'}`;
161
+ row.style.paddingLeft = `${10 + depth * 12}px`;
162
+ const id = document.createElement('span');
163
+ id.textContent = node.id;
164
+ const type = document.createElement('span');
165
+ type.className = 't';
166
+ type.textContent = node.name ? `${node.type} · ${node.name}` : node.type;
167
+ row.append(id, type);
168
+ if (node.state) {
169
+ const badge = document.createElement('span');
170
+ badge.className = 'e8si-badge';
171
+ badge.textContent = node.state;
172
+ row.appendChild(badge);
173
+ }
174
+ row.addEventListener('click', () => {
175
+ select(node.id);
176
+ opts.onSelect?.(node.id);
177
+ });
178
+ treeHost.appendChild(row);
179
+ node.children.forEach((child) => renderRow(child, depth + 1));
180
+ };
181
+ renderRow(handle.tree(), 0);
182
+ };
183
+ // ── Inspector form ─────────────────────────────────────────────────────────
184
+ const field = (labelText) => {
185
+ const wrap = document.createElement('div');
186
+ wrap.className = 'e8si-field';
187
+ const label = document.createElement('label');
188
+ label.textContent = labelText;
189
+ label.title = labelText;
190
+ wrap.appendChild(label);
191
+ return wrap;
192
+ };
193
+ const renderInspector = () => {
194
+ inspHost.textContent = '';
195
+ if (!selectedId) {
196
+ const empty = document.createElement('div');
197
+ empty.className = 'e8si-empty';
198
+ empty.textContent = 'Select a node (canvas or tree) to edit its layout & props.';
199
+ inspHost.appendChild(empty);
200
+ return;
201
+ }
202
+ const id = selectedId;
203
+ const node = docNode(id);
204
+ const outline = findNode(id);
205
+ if (!node || !outline)
206
+ return;
207
+ const head = document.createElement('div');
208
+ head.className = 'e8si-head';
209
+ head.innerHTML = '';
210
+ const idEl = document.createElement('div');
211
+ idEl.className = 'id';
212
+ idEl.textContent = `#${node.id}`;
213
+ const meta = document.createElement('div');
214
+ meta.className = 'meta';
215
+ meta.textContent = `${node.type}${node.name ? ` · ${node.name}` : ''}${node.anchorName ? ` · @${node.anchorName}` : ''}${node.visibleWhen ? ` · when: ${node.visibleWhen}` : ''}`;
216
+ head.append(idEl, meta);
217
+ inspHost.appendChild(head);
218
+ // State selector (named prop variants).
219
+ const stateNames = Object.keys(node.states ?? {});
220
+ if (stateNames.length > 0) {
221
+ const wrap = field('state');
222
+ const select = document.createElement('select');
223
+ for (const name of ['—', ...stateNames]) {
224
+ const option = document.createElement('option');
225
+ option.value = name;
226
+ option.textContent = name;
227
+ select.appendChild(option);
228
+ }
229
+ select.value = outline.state ?? '—';
230
+ select.addEventListener('change', () => {
231
+ patchAndRefresh({ op: 'set-state', id, state: select.value === '—' ? null : select.value });
232
+ });
233
+ wrap.appendChild(select);
234
+ inspHost.appendChild(wrap);
235
+ }
236
+ // Layout — the EFFECTIVE rule for the current orientation, edited in place.
237
+ const orientation = getOrientation();
238
+ const override = node.responsive?.[orientation]?.layout;
239
+ const rule = override ?? node.layout;
240
+ const layoutTitle = document.createElement('h3');
241
+ layoutTitle.textContent = `Layout (${orientation}${override ? ' override' : ''})`;
242
+ layoutTitle.className = 'e8si-sec';
243
+ inspHost.appendChild(layoutTitle);
244
+ if (!rule) {
245
+ const none = document.createElement('div');
246
+ none.className = 'e8si-empty';
247
+ none.textContent = '(no rule — parent-relative identity)';
248
+ inspHost.appendChild(none);
249
+ }
250
+ else {
251
+ for (const spec of layoutFieldSpecs(rule)) {
252
+ const wrap = field(spec.label);
253
+ if (spec.kind === 'readonly') {
254
+ const span = document.createElement('span');
255
+ span.className = 'ro';
256
+ span.textContent = String(spec.value);
257
+ wrap.appendChild(span);
258
+ }
259
+ else {
260
+ const input = document.createElement('input');
261
+ input.type = spec.kind === 'number' ? 'number' : 'text';
262
+ if (spec.step !== undefined)
263
+ input.step = String(spec.step);
264
+ input.value = String(spec.value);
265
+ input.addEventListener('change', () => {
266
+ const raw = spec.kind === 'number' ? Number(input.value) : input.value;
267
+ if (spec.kind === 'number' && !Number.isFinite(raw))
268
+ return;
269
+ patchAndRefresh({
270
+ op: 'set-layout',
271
+ id,
272
+ layout: setRulePath(rule, spec.path, raw),
273
+ orientation: override ? orientation : undefined,
274
+ });
275
+ });
276
+ wrap.appendChild(input);
277
+ }
278
+ inspHost.appendChild(wrap);
279
+ }
280
+ }
281
+ // Props — base props, schema-less control inference.
282
+ const props = node.props ?? {};
283
+ const propKeys = Object.keys(props);
284
+ if (propKeys.length > 0) {
285
+ const propsTitle = document.createElement('h3');
286
+ propsTitle.textContent = 'Props';
287
+ propsTitle.className = 'e8si-sec';
288
+ inspHost.appendChild(propsTitle);
289
+ for (const key of propKeys) {
290
+ const value = props[key];
291
+ const kind = propControlKind(value);
292
+ if (kind === 'json') {
293
+ const wrap = field(key);
294
+ inspHost.appendChild(wrap);
295
+ const area = document.createElement('textarea');
296
+ area.className = 'e8si-json';
297
+ area.value = JSON.stringify(value, null, 1);
298
+ const apply = document.createElement('button');
299
+ apply.className = 'e8si-apply';
300
+ apply.textContent = `apply ${key}`;
301
+ apply.addEventListener('click', () => {
302
+ try {
303
+ patchAndRefresh({ op: 'set-props', id, props: { [key]: JSON.parse(area.value) } });
304
+ }
305
+ catch {
306
+ apply.textContent = `apply ${key} — invalid JSON`;
307
+ }
308
+ });
309
+ inspHost.append(area, apply);
310
+ continue;
311
+ }
312
+ const wrap = field(key);
313
+ if (kind === 'boolean') {
314
+ const input = document.createElement('input');
315
+ input.type = 'checkbox';
316
+ input.checked = value === true;
317
+ input.addEventListener('change', () => patchAndRefresh({ op: 'set-props', id, props: { [key]: input.checked } }));
318
+ wrap.appendChild(input);
319
+ }
320
+ else if (kind === 'color') {
321
+ const color = document.createElement('input');
322
+ color.type = 'color';
323
+ color.value = String(value).slice(0, 7);
324
+ const text = document.createElement('input');
325
+ text.type = 'text';
326
+ text.value = String(value);
327
+ const push = (v) => patchAndRefresh({ op: 'set-props', id, props: { [key]: v } });
328
+ color.addEventListener('input', () => {
329
+ text.value = color.value;
330
+ push(color.value);
331
+ });
332
+ text.addEventListener('change', () => push(text.value));
333
+ wrap.append(color, text);
334
+ }
335
+ else {
336
+ const input = document.createElement('input');
337
+ input.type = kind === 'number' ? 'number' : 'text';
338
+ input.value = String(value);
339
+ input.addEventListener('change', () => {
340
+ const raw = kind === 'number' ? Number(input.value) : input.value;
341
+ if (kind === 'number' && !Number.isFinite(raw))
342
+ return;
343
+ patchAndRefresh({ op: 'set-props', id, props: { [key]: raw } });
344
+ });
345
+ wrap.appendChild(input);
346
+ }
347
+ inspHost.appendChild(wrap);
348
+ }
349
+ }
350
+ };
351
+ const select = (id) => {
352
+ selectedId = id;
353
+ renderTree();
354
+ renderInspector();
355
+ };
356
+ renderTree();
357
+ renderInspector();
358
+ return {
359
+ select,
360
+ selected: () => selectedId,
361
+ refresh() {
362
+ renderTree();
363
+ // Keep the form stable while the user is typing into it after their own edit.
364
+ if (!ownEdit && !inspHost.contains(document.activeElement))
365
+ renderInspector();
366
+ },
367
+ destroy() {
368
+ root.remove();
369
+ },
370
+ };
371
+ }
372
+
373
+ exports.createSceneInspector = createSceneInspector;
374
+ exports.layoutFieldSpecs = layoutFieldSpecs;
375
+ exports.propControlKind = propControlKind;
376
+ exports.setRulePath = setRulePath;
377
+ //# sourceMappingURL=scene-devtools.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-devtools.cjs.js","sources":["../src/scene/devtools/helpers.ts","../src/scene/devtools/inspector.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}