@vgai/engine 0.5.15 → 0.5.16
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/adapter/adapter-module.d.ts +228 -17
- package/dist/adapter/adapter-module.d.ts.map +1 -1
- package/dist/adapter/adapter-module.js +224 -42
- package/dist/adapter/authoring-seam-contract.d.ts +530 -0
- package/dist/adapter/authoring-seam-contract.d.ts.map +1 -0
- package/dist/adapter/authoring-seam-contract.js +162 -0
- package/dist/adapter/authoring.d.ts +237 -50
- package/dist/adapter/authoring.d.ts.map +1 -1
- package/dist/adapter/authoring.js +2 -1
- package/dist/adapter/entrypoint-selection-source.d.ts +35 -0
- package/dist/adapter/entrypoint-selection-source.d.ts.map +1 -0
- package/dist/adapter/entrypoint-selection-source.js +151 -0
- package/dist/adapter/finders/scenes-from-entrypoint-selection.d.ts +7 -1
- package/dist/adapter/finders/scenes-from-entrypoint-selection.d.ts.map +1 -1
- package/dist/adapter/finders/scenes-from-entrypoint-selection.js +142 -21
- package/dist/adapter/first-party-systems.d.ts +13 -3
- package/dist/adapter/first-party-systems.d.ts.map +1 -1
- package/dist/adapter/first-party-systems.js +10 -3
- package/dist/adapter/index.d.ts +7 -2
- package/dist/adapter/index.d.ts.map +1 -1
- package/dist/adapter/index.js +4 -0
- package/dist/adapter/ingest/contract-system-adapters.d.ts +1 -1
- package/dist/adapter/ingest/contract-system-adapters.d.ts.map +1 -1
- package/dist/adapter/ingest/contract-system-adapters.js +13 -25
- package/dist/adapter/ingest/game-contract-seams.d.ts +214 -0
- package/dist/adapter/ingest/game-contract-seams.d.ts.map +1 -0
- package/dist/adapter/ingest/game-contract-seams.js +62 -0
- package/dist/adapter/ingest/game-contract.d.ts +5 -3
- package/dist/adapter/ingest/game-contract.d.ts.map +1 -1
- package/dist/adapter/ingest/game-contract.js +4 -1
- package/dist/adapter/ingest/merge-debug-adapters.d.ts +52 -0
- package/dist/adapter/ingest/merge-debug-adapters.d.ts.map +1 -0
- package/dist/adapter/ingest/merge-debug-adapters.js +141 -0
- package/dist/adapter/ingest/observation-debug-adapter.d.ts +56 -0
- package/dist/adapter/ingest/observation-debug-adapter.d.ts.map +1 -0
- package/dist/adapter/ingest/observation-debug-adapter.js +131 -0
- package/dist/adapter/ingest/scene-capture.d.ts +38 -13
- package/dist/adapter/ingest/scene-capture.d.ts.map +1 -1
- package/dist/adapter/ingest/scene-capture.js +101 -24
- package/dist/adapter/ingest/visible-capture-window.d.ts +22 -5
- package/dist/adapter/ingest/visible-capture-window.d.ts.map +1 -1
- package/dist/adapter/ingest/visible-capture-window.js +46 -7
- package/dist/adapter/native-debug-module.d.ts +43 -0
- package/dist/adapter/native-debug-module.d.ts.map +1 -0
- package/dist/adapter/native-debug-module.js +230 -0
- package/dist/adapter/object3d-authoring-subject.d.ts +32 -0
- package/dist/adapter/object3d-authoring-subject.d.ts.map +1 -0
- package/dist/adapter/object3d-authoring-subject.js +25 -0
- package/dist/adapter/root-adapter.d.ts +21 -56
- package/dist/adapter/root-adapter.d.ts.map +1 -1
- package/dist/adapter/root-adapter.js +4 -20
- package/dist/adapter/root-seam-contract.d.ts +124 -0
- package/dist/adapter/root-seam-contract.d.ts.map +1 -0
- package/dist/adapter/root-seam-contract.js +36 -0
- package/dist/adapter/seam-evidence.d.ts +118 -0
- package/dist/adapter/seam-evidence.d.ts.map +1 -0
- package/dist/adapter/seam-evidence.js +231 -0
- package/dist/adapter/setup-three-root-adapter.d.ts +2 -3
- package/dist/adapter/setup-three-root-adapter.d.ts.map +1 -1
- package/dist/adapter/setup-three-root-adapter.js +2 -3
- package/dist/adapter/system-adapter.d.ts +6 -1
- package/dist/adapter/system-adapter.d.ts.map +1 -1
- package/dist/adapter/system-seam-contract.d.ts +354 -0
- package/dist/adapter/system-seam-contract.d.ts.map +1 -0
- package/dist/adapter/system-seam-contract.js +95 -0
- package/dist/animation/xstate-animation-binding.d.ts +6 -0
- package/dist/animation/xstate-animation-binding.d.ts.map +1 -1
- package/dist/animation/xstate-animation-binding.js +142 -4
- package/dist/asset-formats/collider.d.ts +1 -1
- package/dist/asset-formats/mesh.d.ts +2 -2
- package/dist/asset-formats/particles.d.ts +1 -1
- package/dist/canvas-react/engine-bridge.d.ts +6 -6
- package/dist/canvas-react/engine-bridge.d.ts.map +1 -1
- package/dist/canvas-react/engine-bridge.js +2 -2
- package/dist/canvas-react/index.d.ts +2 -2
- package/dist/canvas-react/index.d.ts.map +1 -1
- package/dist/canvas-react/index.js +1 -1
- package/dist/canvas-react/pixi-react-adapter.d.ts +15 -9
- package/dist/canvas-react/pixi-react-adapter.d.ts.map +1 -1
- package/dist/canvas-react/pixi-react-adapter.js +43 -29
- package/dist/canvas-react/pixi-react-root-factory.d.ts.map +1 -1
- package/dist/canvas-react/pixi-react-root-factory.js +4 -0
- package/dist/canvas-react/world-context.d.ts +22 -12
- package/dist/canvas-react/world-context.d.ts.map +1 -1
- package/dist/canvas-react/world-context.js +12 -51
- package/dist/ecs/user-data.d.ts +5 -0
- package/dist/ecs/user-data.d.ts.map +1 -1
- package/dist/ecs/user-data.js +3 -0
- package/dist/input/input-manager.d.ts +49 -0
- package/dist/input/input-manager.d.ts.map +1 -1
- package/dist/input/input-manager.js +127 -0
- package/dist/manifest/schema.d.ts +9 -9
- package/dist/pixi/authoring.d.ts.map +1 -1
- package/dist/pixi/authoring.js +220 -1
- package/dist/pixi/ingest.d.ts +2 -1
- package/dist/pixi/ingest.d.ts.map +1 -1
- package/dist/pixi/ingest.js +4 -2
- package/dist/pixi/scene-capture.d.ts +9 -1
- package/dist/pixi/scene-capture.d.ts.map +1 -1
- package/dist/pixi/scene-capture.js +9 -6
- package/dist/render/particles-factory.d.ts +13 -6
- package/dist/render/particles-factory.d.ts.map +1 -1
- package/dist/render/particles-factory.js +6 -3
- package/dist/runtime/create-runtime.d.ts +23 -46
- package/dist/runtime/create-runtime.d.ts.map +1 -1
- package/dist/runtime/create-runtime.js +22 -67
- package/dist/runtime/game.d.ts +29 -71
- package/dist/runtime/game.d.ts.map +1 -1
- package/dist/runtime/game.js +15 -54
- package/dist/runtime/mount-game.d.ts.map +1 -1
- package/dist/runtime/mount-game.js +12 -1
- package/dist/runtime/mount-manifest.d.ts.map +1 -1
- package/dist/runtime/mount-manifest.js +4 -5
- package/dist/runtime/types.d.ts +18 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/setup/setup-renderer.d.ts +3 -4
- package/dist/setup/setup-renderer.d.ts.map +1 -1
- package/dist/setup/setup-renderer.js +3 -4
- package/dist/world3d-react/engine-bridge.d.ts +1 -1
- package/dist/world3d-react/engine-bridge.js +1 -1
- package/dist/world3d-react/r3f-adapter.d.ts +7 -0
- package/dist/world3d-react/r3f-adapter.d.ts.map +1 -1
- package/dist/world3d-react/r3f-adapter.js +50 -21
- package/dist/world3d-react/r3f-root-factory.d.ts.map +1 -1
- package/dist/world3d-react/r3f-root-factory.js +4 -0
- package/dist/world3d-react/world-context.d.ts +9 -3
- package/dist/world3d-react/world-context.d.ts.map +1 -1
- package/dist/world3d-react/world-context.js +5 -18
- package/package.json +1 -1
- package/schemas/engine-capabilities.json +7 -7
- package/src/adapter/adapter-module.ts +407 -50
- package/src/adapter/authoring-seam-contract.ts +211 -0
- package/src/adapter/authoring.ts +242 -50
- package/src/adapter/entrypoint-selection-source.ts +159 -0
- package/src/adapter/finders/scenes-from-entrypoint-selection.ts +159 -28
- package/src/adapter/first-party-systems.ts +17 -3
- package/src/adapter/index.ts +51 -1
- package/src/adapter/ingest/contract-system-adapters.ts +26 -30
- package/src/adapter/ingest/game-contract-seams.ts +85 -0
- package/src/adapter/ingest/game-contract.ts +9 -4
- package/src/adapter/ingest/merge-debug-adapters.ts +193 -0
- package/src/adapter/ingest/observation-debug-adapter.ts +158 -0
- package/src/adapter/ingest/scene-capture.ts +126 -23
- package/src/adapter/ingest/visible-capture-window.ts +63 -9
- package/src/adapter/native-debug-module.ts +307 -0
- package/src/adapter/object3d-authoring-subject.ts +50 -0
- package/src/adapter/root-adapter.ts +21 -56
- package/src/adapter/root-seam-contract.ts +56 -0
- package/src/adapter/seam-evidence.ts +336 -0
- package/src/adapter/setup-three-root-adapter.ts +4 -6
- package/src/adapter/system-adapter.ts +6 -1
- package/src/adapter/system-seam-contract.ts +121 -0
- package/src/animation/xstate-animation-binding.ts +151 -4
- package/src/canvas-react/engine-bridge.ts +6 -6
- package/src/canvas-react/index.ts +2 -1
- package/src/canvas-react/pixi-react-adapter.tsx +55 -34
- package/src/canvas-react/pixi-react-root-factory.tsx +4 -0
- package/src/canvas-react/world-context.ts +26 -101
- package/src/ecs/user-data.ts +5 -0
- package/src/input/input-manager.ts +122 -0
- package/src/pixi/authoring.ts +236 -1
- package/src/pixi/ingest.ts +9 -2
- package/src/pixi/scene-capture.ts +20 -5
- package/src/render/particles-factory.ts +16 -6
- package/src/runtime/create-runtime.ts +41 -106
- package/src/runtime/game.ts +41 -111
- package/src/runtime/mount-game.ts +19 -1
- package/src/runtime/mount-manifest.ts +4 -5
- package/src/runtime/types.ts +22 -0
- package/src/setup/setup-renderer.ts +3 -4
- package/src/world3d-react/engine-bridge.ts +1 -1
- package/src/world3d-react/r3f-adapter.tsx +64 -24
- package/src/world3d-react/r3f-root-factory.tsx +4 -0
- package/src/world3d-react/world-context.ts +11 -36
|
@@ -150,6 +150,50 @@ export interface AdapterRegion {
|
|
|
150
150
|
* how a declaration slot turns back into a language.
|
|
151
151
|
*/
|
|
152
152
|
readonly include?: readonly string[];
|
|
153
|
+
/**
|
|
154
|
+
* Surfaces this root mounts BESIDE {@link AdapterRegion.surface}, each with
|
|
155
|
+
* the source files that render on it. Together with `surface` — the manifest
|
|
156
|
+
* root's own adapter, which is always the PRIMARY — this states the root's
|
|
157
|
+
* FULL mounted surface set (decision, 2026-08-16; ARCHITECTURE-CORE §The
|
|
158
|
+
* editor protocol).
|
|
159
|
+
*
|
|
160
|
+
* A root is not always one surface. The shipped case is an R3F game whose
|
|
161
|
+
* `three` root mounts a canvas AND adopts a DOM HUD beside it
|
|
162
|
+
* (`adoptGameDomRoot` already adopts the pair together): its HUD modules
|
|
163
|
+
* render react-dom host elements, and `userData-oid` on a `<div>` is a prop
|
|
164
|
+
* react-dom does not recognize, so the editor must know they are the `dom`
|
|
165
|
+
* half. Before this slot there was nowhere to say so — `id` names the
|
|
166
|
+
* manifest root this region grades, so a second `dom` region for such a root
|
|
167
|
+
* would either name a root the host would try to MOUNT (fabrication, which
|
|
168
|
+
* the anti-shim rule forbids) or name no root at all.
|
|
169
|
+
*
|
|
170
|
+
* Each mount's `include` is REQUIRED and carries the same glob vocabulary as
|
|
171
|
+
* {@link AdapterRegion.include} (`**`, `*`, `?`). A mount with no files would
|
|
172
|
+
* declare a surface without saying which source renders on it, which answers
|
|
173
|
+
* no question any reader asks.
|
|
174
|
+
*
|
|
175
|
+
* READER: the same one — `resolveFileRegion`'s rung 1. A file claimed by a
|
|
176
|
+
* region's own `include` AND by a mount is a contradiction in the game's own
|
|
177
|
+
* declaration and settles nothing, exactly as two regions claiming one file
|
|
178
|
+
* do; it falls through to reach, and failing that to the caller's loud
|
|
179
|
+
* ambiguous path.
|
|
180
|
+
*
|
|
181
|
+
* {@link regionsFromManifestRoots} emits none: the manifest states one
|
|
182
|
+
* adapter per root and NOTHING infers a second surface from source text.
|
|
183
|
+
* Where the declaration and what a file renders disagree, the disagreement is
|
|
184
|
+
* reported as drift (the editor's `OID003`), never resolved by reading bytes.
|
|
185
|
+
*/
|
|
186
|
+
readonly mounts?: readonly AdapterRegionMount[];
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* One ADDITIONAL surface a root mounts, and the source files that render on it.
|
|
190
|
+
* See {@link AdapterRegion.mounts}.
|
|
191
|
+
*/
|
|
192
|
+
export interface AdapterRegionMount {
|
|
193
|
+
/** The surface this part of the root mounts on. */
|
|
194
|
+
readonly surface: AdapterSurface;
|
|
195
|
+
/** Project-relative globs (`**`, `*`, `?`) naming the files that render here. */
|
|
196
|
+
readonly include: readonly string[];
|
|
153
197
|
}
|
|
154
198
|
/**
|
|
155
199
|
* How a definition supplies its regions: the RULE `'manifest-roots'` (the
|
|
@@ -158,6 +202,19 @@ export interface AdapterRegion {
|
|
|
158
202
|
* with novel bindings states outright.
|
|
159
203
|
*/
|
|
160
204
|
export type RegionBinding = 'manifest-roots' | readonly AdapterRegion[];
|
|
205
|
+
/**
|
|
206
|
+
* The per-region PARAMETERS the `'manifest-roots'` rule takes — see
|
|
207
|
+
* {@link AdapterDefinition.regionIncludes}. Exactly the two fields of an
|
|
208
|
+
* {@link AdapterRegion} the mechanical derivation cannot produce, because
|
|
209
|
+
* neither is a fact the manifest states: which files a region owns beyond
|
|
210
|
+
* its entry's reach, and which surfaces its root mounts beside its own.
|
|
211
|
+
*/
|
|
212
|
+
export interface AdapterRegionOverlay {
|
|
213
|
+
/** See {@link AdapterRegion.include}. */
|
|
214
|
+
readonly include?: readonly string[];
|
|
215
|
+
/** See {@link AdapterRegion.mounts}. */
|
|
216
|
+
readonly mounts?: readonly AdapterRegionMount[];
|
|
217
|
+
}
|
|
161
218
|
/**
|
|
162
219
|
* The MECHANICAL derivation behind the `'manifest-roots'` rule: one region per
|
|
163
220
|
* declared root, its surface and adapter identity read straight off the
|
|
@@ -166,13 +223,20 @@ export type RegionBinding = 'manifest-roots' | readonly AdapterRegion[];
|
|
|
166
223
|
*
|
|
167
224
|
* The per-surface library table below is an ENGINE fact, stated once:
|
|
168
225
|
*
|
|
169
|
-
* | root `adapter` | projector | dialect | anchors
|
|
170
|
-
*
|
|
171
|
-
* | `three` | `three` | `r3f` | source-prop, construction-literal
|
|
172
|
-
* | `canvas` | `pixi` | `pixi-react` | source-prop, construction-literal
|
|
173
|
-
* | `dom` | `dom` | `jsx` | source-prop |
|
|
174
|
-
* | `{module,surface}` | (surface) | `null` | live-only
|
|
175
|
-
* | `{ingest,surface}` | (surface) | `null` | live-only
|
|
226
|
+
* | root `adapter` | projector | dialect | anchors |
|
|
227
|
+
* |-----------------------|-----------|---------------|------------------------------------------------------|
|
|
228
|
+
* | `three` | `three` | `r3f` | source-prop, source-structure, construction-literal |
|
|
229
|
+
* | `canvas` | `pixi` | `pixi-react` | source-prop, source-structure, construction-literal |
|
|
230
|
+
* | `dom` | `dom` | `jsx` | source-prop, source-structure |
|
|
231
|
+
* | `{module,surface}` | (surface) | `null` | live-only |
|
|
232
|
+
* | `{ingest,surface}` | (surface) | `null` | live-only |
|
|
233
|
+
*
|
|
234
|
+
* `source-structure` rides with every first-party dialect because all three
|
|
235
|
+
* write through the SAME structural door (`/__ui-source/struct`) — a region
|
|
236
|
+
* that can rewrite a JSX attribute in a file can rewrite that file's element
|
|
237
|
+
* tree. It is listed separately rather than folded into `source-prop` because
|
|
238
|
+
* they are different doors: a lane could lose one and keep the other, and the
|
|
239
|
+
* matrix has to be able to say so.
|
|
176
240
|
*
|
|
177
241
|
* A module/ingest root's truth is the game's own source, which no first-party
|
|
178
242
|
* dialect writer authors — so it declares `live-only` rather than implying a
|
|
@@ -182,8 +246,22 @@ export type RegionBinding = 'manifest-roots' | readonly AdapterRegion[];
|
|
|
182
246
|
* Every derived region carries {@link NATIVE_REGION_BASIS} outright, so the
|
|
183
247
|
* editor's ground plane READS a declaration on the native path too — the
|
|
184
248
|
* default is published, never assumed at the read site.
|
|
249
|
+
*
|
|
250
|
+
* It DERIVES no {@link AdapterRegion.include} and no {@link AdapterRegion.mounts},
|
|
251
|
+
* and there is no derivation that could: the manifest states ONE adapter per
|
|
252
|
+
* root and names only its entry, so a root's extra owned files and its second
|
|
253
|
+
* mounted surface are facts only the game can state. It states them as
|
|
254
|
+
* `regionIncludes` PARAMETERS, which this function merges onto the region it
|
|
255
|
+
* derives for that root — the rule stays selected, the parameters are declared
|
|
256
|
+
* (ARCHITECTURE-CORE §The editor protocol, "Declared includes LAYER onto the
|
|
257
|
+
* manifest-roots rule"). A key naming no declared root merges onto nothing;
|
|
258
|
+
* the LOADER reports that, because only it can see both sides.
|
|
185
259
|
*/
|
|
186
|
-
export declare function regionsFromManifestRoots(roots: readonly ResolvedAdapterRoot[]): AdapterRegion[];
|
|
260
|
+
export declare function regionsFromManifestRoots(roots: readonly ResolvedAdapterRoot[], regionIncludes?: Readonly<Record<string, AdapterRegionOverlay>>): AdapterRegion[];
|
|
261
|
+
/** Region ids an overlay names that no declared root answers to. A typo here
|
|
262
|
+
* would otherwise be a declaration that silently does nothing, which is the
|
|
263
|
+
* failure class the whole declaration lane exists to end. */
|
|
264
|
+
export declare function unmatchedRegionIncludeIds(roots: readonly ResolvedAdapterRoot[], regionIncludes: Readonly<Record<string, AdapterRegionOverlay>>): string[];
|
|
187
265
|
/**
|
|
188
266
|
* The rule form of a finder's region targeting: every region the host mounts
|
|
189
267
|
* from an exported composition (a root with an `entry`) that is not a declared
|
|
@@ -242,17 +320,50 @@ export type SceneReach =
|
|
|
242
320
|
{
|
|
243
321
|
readonly kind: 'root-mount';
|
|
244
322
|
}
|
|
245
|
-
/**
|
|
323
|
+
/**
|
|
324
|
+
* The entrypoint's own selection table reaches it under `key`.
|
|
325
|
+
*
|
|
326
|
+
* `active` is the SECOND load-bearing fact about the same slot: the
|
|
327
|
+
* entrypoint indexes its table with one key right now (`scenes[activeScene]`),
|
|
328
|
+
* and that key's composition is literally what mounting the region renders.
|
|
329
|
+
* So an active entry is the region's own standing document — it NAMES that
|
|
330
|
+
* document rather than earning a second one beside it, exactly as
|
|
331
|
+
* `root-mount` does. Absent means "not known to be the one at the slot",
|
|
332
|
+
* which is the honest answer whenever the key cannot be read statically; it
|
|
333
|
+
* is never a guess, and it is per-entry because two regions each have their
|
|
334
|
+
* own slot with its own occupant.
|
|
335
|
+
*/
|
|
246
336
|
| {
|
|
247
337
|
readonly kind: 'entrypoint-selection';
|
|
248
338
|
readonly selection: string;
|
|
249
339
|
readonly key: string;
|
|
340
|
+
readonly active?: boolean;
|
|
250
341
|
}
|
|
251
342
|
/** A portable story mounts it in isolation. */
|
|
252
343
|
| {
|
|
253
344
|
readonly kind: 'story';
|
|
254
345
|
readonly storyId: string;
|
|
255
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* The RUNNING game's own published scenes contract reaches it, under
|
|
349
|
+
* `sceneId` (`adapter/ingest/game-contract.ts`'s `scenes.list()` ids).
|
|
350
|
+
*
|
|
351
|
+
* This is the LIVE reach: opening it while playing means asking the game to
|
|
352
|
+
* navigate, the way its own buttons do. An authorable entry that also names
|
|
353
|
+
* `source` can independently own an Edit isolation document; reach never
|
|
354
|
+
* decides whether a source composition can be mounted as a piece.
|
|
355
|
+
*
|
|
356
|
+
* A DECLARATION, never an inference: the host does not sniff a mapping
|
|
357
|
+
* between a table entry and a contract id, and it does not assume the two
|
|
358
|
+
* vocabularies coincide. The adapter states which contract id this entry is,
|
|
359
|
+
* and the host validates that id against the game's OWN `list()` at the
|
|
360
|
+
* moment it navigates — so a game that stops publishing the scene refuses by
|
|
361
|
+
* name instead of navigating somewhere else.
|
|
362
|
+
*/
|
|
363
|
+
| {
|
|
364
|
+
readonly kind: 'game-contract';
|
|
365
|
+
readonly sceneId: string;
|
|
366
|
+
}
|
|
256
367
|
/** Declared, with no code path that opens it. */
|
|
257
368
|
| {
|
|
258
369
|
readonly kind: 'none';
|
|
@@ -285,6 +396,10 @@ export interface SceneEntry {
|
|
|
285
396
|
readonly authorable: boolean;
|
|
286
397
|
readonly reach: SceneReach;
|
|
287
398
|
readonly source?: SceneSource;
|
|
399
|
+
/** Optional adapter-declared prerequisite run before `source` is constructed
|
|
400
|
+
* in Edit isolation. The export is a zero-argument function; the host never
|
|
401
|
+
* infers setup from neighboring filenames or game globals. */
|
|
402
|
+
readonly isolationSetup?: SceneSource;
|
|
288
403
|
/** Which finder produced it; absent = the adapter stated it outright. */
|
|
289
404
|
readonly finder?: FinderName;
|
|
290
405
|
}
|
|
@@ -302,41 +417,98 @@ export interface AdapterSceneTable {
|
|
|
302
417
|
*/
|
|
303
418
|
readonly default?: string;
|
|
304
419
|
}
|
|
420
|
+
/**
|
|
421
|
+
* The two faces a declaration projects onto. They are exactly the two
|
|
422
|
+
* `DebugAdapter` halves (`adapter/system-adapter.ts`): `state` becomes a
|
|
423
|
+
* provider (`providers()` / `state(name)`), `command` becomes a verb
|
|
424
|
+
* (`commands()` / `invoke(name, args)`). There is deliberately no third kind —
|
|
425
|
+
* see {@link OBSERVATION_KIND_REFUSAL}.
|
|
426
|
+
*/
|
|
427
|
+
export declare const OBSERVATION_KINDS: readonly ["command", "state"];
|
|
428
|
+
export type ObservationKind = (typeof OBSERVATION_KINDS)[number];
|
|
305
429
|
/**
|
|
306
430
|
* One statically declared observation slot. Declaring a slot and ANSWERING it
|
|
307
431
|
* live are separate facts (the two-state rule): a slot declared here whose
|
|
308
|
-
* `answer` throws or whose game never booted reads as
|
|
309
|
-
* "the game has none".
|
|
432
|
+
* `answer` throws, whose `answer` is absent, or whose game never booted reads as
|
|
433
|
+
* broken, never as "the game has none". The projector
|
|
434
|
+
* (`adapter/ingest/observation-debug-adapter.ts`) keeps that distinction: an
|
|
435
|
+
* unanswerable slot is still LISTED, and refuses by name when read.
|
|
310
436
|
*/
|
|
311
437
|
export interface ObservationDeclaration {
|
|
312
438
|
readonly id: string;
|
|
313
|
-
readonly kind:
|
|
439
|
+
readonly kind: ObservationKind;
|
|
440
|
+
readonly description?: string | undefined;
|
|
441
|
+
/** Command execution side; omitted means a local app-owned command. */
|
|
442
|
+
readonly locus?: 'client' | 'server' | undefined;
|
|
314
443
|
/**
|
|
315
444
|
* Lazily evaluated against the mounted game. The field may be a closure; the
|
|
316
445
|
* TABLE around it stays statically readable, which is the whole discipline.
|
|
446
|
+
*
|
|
447
|
+
* What `game` IS is the host's to hand over and is stated at the projector:
|
|
448
|
+
* for an ingest mount it is the REALM the game's own modules ran in, because
|
|
449
|
+
* a foreign game's public handles are the only thing the host can honestly
|
|
450
|
+
* pass (`observation-debug-adapter.ts`).
|
|
317
451
|
*/
|
|
318
|
-
readonly answer?: (game: unknown) => unknown;
|
|
452
|
+
readonly answer?: (game: unknown, ...args: unknown[]) => unknown;
|
|
453
|
+
}
|
|
454
|
+
/** The action value shapes the session input door already speaks. */
|
|
455
|
+
export declare const ADAPTER_INPUT_VALUE_TYPES: readonly ["digital", "scalar", "vector2", "pointerDelta", "pointerPosition"];
|
|
456
|
+
export type AdapterInputValueType = (typeof ADAPTER_INPUT_VALUE_TYPES)[number];
|
|
457
|
+
export type AdapterInputValue = boolean | number | {
|
|
458
|
+
readonly x: number;
|
|
459
|
+
readonly y: number;
|
|
460
|
+
};
|
|
461
|
+
/** One action in an app-owned input store. */
|
|
462
|
+
export interface AdapterInputAction {
|
|
463
|
+
readonly name: string;
|
|
464
|
+
readonly valueType: AdapterInputValueType;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Adapter-side binding from the universal session input door to a game's
|
|
468
|
+
* ordinary input store. The game owns both its physical-device listeners and
|
|
469
|
+
* its state; this table only tells the host how to drive that same state for a
|
|
470
|
+
* bot or live REPL session. No component imports this contract.
|
|
471
|
+
*/
|
|
472
|
+
export interface AdapterInputBinding {
|
|
473
|
+
/** Manifest root whose native scheduler consumes these actions. */
|
|
474
|
+
readonly root: string;
|
|
475
|
+
/** Current action vocabulary. A closure permits an app-owned dynamic map. */
|
|
476
|
+
readonly actions: (game: unknown) => readonly AdapterInputAction[];
|
|
477
|
+
/** Apply one action through the app's own input-store write path. */
|
|
478
|
+
readonly set: (game: unknown, action: string, value: AdapterInputValue) => void;
|
|
479
|
+
/** Release every app-owned virtual action. */
|
|
480
|
+
readonly clear: (game: unknown) => void;
|
|
319
481
|
}
|
|
320
482
|
/** The adapter module's default export, after {@link defineAdapter}. */
|
|
321
483
|
export interface AdapterDefinition {
|
|
322
484
|
readonly regions: RegionBinding;
|
|
485
|
+
/**
|
|
486
|
+
* Per-region parameters for the `'manifest-roots'` RULE, keyed by manifest
|
|
487
|
+
* root id — the `include` globs and `mounts` surfaces the mechanical
|
|
488
|
+
* derivation cannot produce. {@link regionsFromManifestRoots} merges them;
|
|
489
|
+
* an explicit `regions` LIST carries its own and rejects these by name.
|
|
490
|
+
*/
|
|
491
|
+
readonly regionIncludes: Readonly<Record<string, AdapterRegionOverlay>>;
|
|
323
492
|
readonly scenes: AdapterSceneTable;
|
|
324
493
|
readonly observation: readonly ObservationDeclaration[];
|
|
494
|
+
readonly input?: AdapterInputBinding | undefined;
|
|
325
495
|
}
|
|
326
496
|
/** What a game writes. Every field optional — the near-empty adapter is the
|
|
327
497
|
* first-party case, and an adapter's SIZE measures the game's distance from
|
|
328
498
|
* native. */
|
|
329
499
|
export interface AdapterDefinitionInput {
|
|
330
500
|
readonly regions?: RegionBinding;
|
|
501
|
+
readonly regionIncludes?: Readonly<Record<string, AdapterRegionOverlay>>;
|
|
331
502
|
readonly scenes?: AdapterSceneTable;
|
|
332
503
|
readonly observation?: readonly ObservationDeclaration[];
|
|
504
|
+
readonly input?: AdapterInputBinding | undefined;
|
|
333
505
|
}
|
|
334
506
|
export declare const AdapterDefinitionSchema: z.ZodObject<{
|
|
335
507
|
regions: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"manifest-roots">, z.ZodArray<z.ZodObject<{
|
|
336
508
|
id: z.ZodString;
|
|
337
509
|
surface: z.ZodEnum<{
|
|
338
|
-
canvas: "canvas";
|
|
339
510
|
three: "three";
|
|
511
|
+
canvas: "canvas";
|
|
340
512
|
dom: "dom";
|
|
341
513
|
}>;
|
|
342
514
|
dev: z.ZodBoolean;
|
|
@@ -348,6 +520,7 @@ export declare const AdapterDefinitionSchema: z.ZodObject<{
|
|
|
348
520
|
dialect: z.ZodNullable<z.ZodString>;
|
|
349
521
|
anchors: z.ZodArray<z.ZodEnum<{
|
|
350
522
|
"source-prop": "source-prop";
|
|
523
|
+
"source-structure": "source-structure";
|
|
351
524
|
"construction-literal": "construction-literal";
|
|
352
525
|
"physics-binding": "physics-binding";
|
|
353
526
|
"data-record": "data-record";
|
|
@@ -361,7 +534,26 @@ export declare const AdapterDefinitionSchema: z.ZodObject<{
|
|
|
361
534
|
groundHeight: z.ZodNumber;
|
|
362
535
|
}, z.core.$strict>>;
|
|
363
536
|
include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
537
|
+
mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
538
|
+
surface: z.ZodEnum<{
|
|
539
|
+
three: "three";
|
|
540
|
+
canvas: "canvas";
|
|
541
|
+
dom: "dom";
|
|
542
|
+
}>;
|
|
543
|
+
include: z.ZodArray<z.ZodString>;
|
|
544
|
+
}, z.core.$strict>>>;
|
|
364
545
|
}, z.core.$strict>>]>>;
|
|
546
|
+
regionIncludes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
547
|
+
include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
548
|
+
mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
549
|
+
surface: z.ZodEnum<{
|
|
550
|
+
three: "three";
|
|
551
|
+
canvas: "canvas";
|
|
552
|
+
dom: "dom";
|
|
553
|
+
}>;
|
|
554
|
+
include: z.ZodArray<z.ZodString>;
|
|
555
|
+
}, z.core.$strict>>>;
|
|
556
|
+
}, z.core.$strict>>>;
|
|
365
557
|
scenes: z.ZodOptional<z.ZodObject<{
|
|
366
558
|
entries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
367
559
|
id: z.ZodString;
|
|
@@ -378,9 +570,13 @@ export declare const AdapterDefinitionSchema: z.ZodObject<{
|
|
|
378
570
|
kind: z.ZodLiteral<"entrypoint-selection">;
|
|
379
571
|
selection: z.ZodString;
|
|
380
572
|
key: z.ZodString;
|
|
573
|
+
active: z.ZodOptional<z.ZodBoolean>;
|
|
381
574
|
}, z.core.$strict>, z.ZodObject<{
|
|
382
575
|
kind: z.ZodLiteral<"story">;
|
|
383
576
|
storyId: z.ZodString;
|
|
577
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
578
|
+
kind: z.ZodLiteral<"game-contract">;
|
|
579
|
+
sceneId: z.ZodString;
|
|
384
580
|
}, z.core.$strict>, z.ZodObject<{
|
|
385
581
|
kind: z.ZodLiteral<"none">;
|
|
386
582
|
reason: z.ZodString;
|
|
@@ -389,6 +585,10 @@ export declare const AdapterDefinitionSchema: z.ZodObject<{
|
|
|
389
585
|
path: z.ZodString;
|
|
390
586
|
export: z.ZodOptional<z.ZodString>;
|
|
391
587
|
}, z.core.$strict>>;
|
|
588
|
+
isolationSetup: z.ZodOptional<z.ZodObject<{
|
|
589
|
+
path: z.ZodString;
|
|
590
|
+
export: z.ZodOptional<z.ZodString>;
|
|
591
|
+
}, z.core.$strict>>;
|
|
392
592
|
finder: z.ZodOptional<z.ZodEnum<{
|
|
393
593
|
scenesFromEntrypointSelection: "scenesFromEntrypointSelection";
|
|
394
594
|
prefabsFromStories: "prefabsFromStories";
|
|
@@ -408,10 +608,20 @@ export declare const AdapterDefinitionSchema: z.ZodObject<{
|
|
|
408
608
|
kind: z.ZodEnum<{
|
|
409
609
|
command: "command";
|
|
410
610
|
state: "state";
|
|
411
|
-
system: "system";
|
|
412
611
|
}>;
|
|
612
|
+
description: z.ZodOptional<z.ZodString>;
|
|
613
|
+
locus: z.ZodOptional<z.ZodEnum<{
|
|
614
|
+
server: "server";
|
|
615
|
+
client: "client";
|
|
616
|
+
}>>;
|
|
413
617
|
answer: z.ZodOptional<z.ZodCustom<(game: unknown) => unknown, (game: unknown) => unknown>>;
|
|
414
618
|
}, z.core.$strict>>>;
|
|
619
|
+
input: z.ZodOptional<z.ZodObject<{
|
|
620
|
+
root: z.ZodString;
|
|
621
|
+
actions: z.ZodCustom<(game: unknown) => readonly AdapterInputAction[], (game: unknown) => readonly AdapterInputAction[]>;
|
|
622
|
+
set: z.ZodCustom<(game: unknown, action: string, value: AdapterInputValue) => void, (game: unknown, action: string, value: AdapterInputValue) => void>;
|
|
623
|
+
clear: z.ZodCustom<(game: unknown) => void, (game: unknown) => void>;
|
|
624
|
+
}, z.core.$strict>>;
|
|
415
625
|
}, z.core.$strict>;
|
|
416
626
|
/**
|
|
417
627
|
* Validate and freeze a game's binding table.
|
|
@@ -427,8 +637,9 @@ export declare function defineAdapter(input?: AdapterDefinitionInput): AdapterDe
|
|
|
427
637
|
export interface NativeAdapterOptions {
|
|
428
638
|
/** Scene-table entries this game states outright, beside what the finders find. */
|
|
429
639
|
readonly scenes?: readonly SceneEntry[];
|
|
430
|
-
/**
|
|
431
|
-
|
|
640
|
+
/** Per-region `include`/`mounts` parameters for the derivation — see
|
|
641
|
+
* {@link AdapterDefinition.regionIncludes}. */
|
|
642
|
+
readonly regionIncludes?: Readonly<Record<string, AdapterRegionOverlay>>;
|
|
432
643
|
}
|
|
433
644
|
/**
|
|
434
645
|
* THE NATIVE DEFAULT — regions derived mechanically from the manifest's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-module.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAMvE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,mCAAoC,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,kBAGhC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-module.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter-module.ts"],"names":[],"mappings":"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"}
|