@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.
Files changed (174) hide show
  1. package/dist/adapter/adapter-module.d.ts +228 -17
  2. package/dist/adapter/adapter-module.d.ts.map +1 -1
  3. package/dist/adapter/adapter-module.js +224 -42
  4. package/dist/adapter/authoring-seam-contract.d.ts +530 -0
  5. package/dist/adapter/authoring-seam-contract.d.ts.map +1 -0
  6. package/dist/adapter/authoring-seam-contract.js +162 -0
  7. package/dist/adapter/authoring.d.ts +237 -50
  8. package/dist/adapter/authoring.d.ts.map +1 -1
  9. package/dist/adapter/authoring.js +2 -1
  10. package/dist/adapter/entrypoint-selection-source.d.ts +35 -0
  11. package/dist/adapter/entrypoint-selection-source.d.ts.map +1 -0
  12. package/dist/adapter/entrypoint-selection-source.js +151 -0
  13. package/dist/adapter/finders/scenes-from-entrypoint-selection.d.ts +7 -1
  14. package/dist/adapter/finders/scenes-from-entrypoint-selection.d.ts.map +1 -1
  15. package/dist/adapter/finders/scenes-from-entrypoint-selection.js +142 -21
  16. package/dist/adapter/first-party-systems.d.ts +13 -3
  17. package/dist/adapter/first-party-systems.d.ts.map +1 -1
  18. package/dist/adapter/first-party-systems.js +10 -3
  19. package/dist/adapter/index.d.ts +7 -2
  20. package/dist/adapter/index.d.ts.map +1 -1
  21. package/dist/adapter/index.js +4 -0
  22. package/dist/adapter/ingest/contract-system-adapters.d.ts +1 -1
  23. package/dist/adapter/ingest/contract-system-adapters.d.ts.map +1 -1
  24. package/dist/adapter/ingest/contract-system-adapters.js +13 -25
  25. package/dist/adapter/ingest/game-contract-seams.d.ts +214 -0
  26. package/dist/adapter/ingest/game-contract-seams.d.ts.map +1 -0
  27. package/dist/adapter/ingest/game-contract-seams.js +62 -0
  28. package/dist/adapter/ingest/game-contract.d.ts +5 -3
  29. package/dist/adapter/ingest/game-contract.d.ts.map +1 -1
  30. package/dist/adapter/ingest/game-contract.js +4 -1
  31. package/dist/adapter/ingest/merge-debug-adapters.d.ts +52 -0
  32. package/dist/adapter/ingest/merge-debug-adapters.d.ts.map +1 -0
  33. package/dist/adapter/ingest/merge-debug-adapters.js +141 -0
  34. package/dist/adapter/ingest/observation-debug-adapter.d.ts +56 -0
  35. package/dist/adapter/ingest/observation-debug-adapter.d.ts.map +1 -0
  36. package/dist/adapter/ingest/observation-debug-adapter.js +131 -0
  37. package/dist/adapter/ingest/scene-capture.d.ts +38 -13
  38. package/dist/adapter/ingest/scene-capture.d.ts.map +1 -1
  39. package/dist/adapter/ingest/scene-capture.js +101 -24
  40. package/dist/adapter/ingest/visible-capture-window.d.ts +22 -5
  41. package/dist/adapter/ingest/visible-capture-window.d.ts.map +1 -1
  42. package/dist/adapter/ingest/visible-capture-window.js +46 -7
  43. package/dist/adapter/native-debug-module.d.ts +43 -0
  44. package/dist/adapter/native-debug-module.d.ts.map +1 -0
  45. package/dist/adapter/native-debug-module.js +230 -0
  46. package/dist/adapter/object3d-authoring-subject.d.ts +32 -0
  47. package/dist/adapter/object3d-authoring-subject.d.ts.map +1 -0
  48. package/dist/adapter/object3d-authoring-subject.js +25 -0
  49. package/dist/adapter/root-adapter.d.ts +21 -56
  50. package/dist/adapter/root-adapter.d.ts.map +1 -1
  51. package/dist/adapter/root-adapter.js +4 -20
  52. package/dist/adapter/root-seam-contract.d.ts +124 -0
  53. package/dist/adapter/root-seam-contract.d.ts.map +1 -0
  54. package/dist/adapter/root-seam-contract.js +36 -0
  55. package/dist/adapter/seam-evidence.d.ts +118 -0
  56. package/dist/adapter/seam-evidence.d.ts.map +1 -0
  57. package/dist/adapter/seam-evidence.js +231 -0
  58. package/dist/adapter/setup-three-root-adapter.d.ts +2 -3
  59. package/dist/adapter/setup-three-root-adapter.d.ts.map +1 -1
  60. package/dist/adapter/setup-three-root-adapter.js +2 -3
  61. package/dist/adapter/system-adapter.d.ts +6 -1
  62. package/dist/adapter/system-adapter.d.ts.map +1 -1
  63. package/dist/adapter/system-seam-contract.d.ts +354 -0
  64. package/dist/adapter/system-seam-contract.d.ts.map +1 -0
  65. package/dist/adapter/system-seam-contract.js +95 -0
  66. package/dist/animation/xstate-animation-binding.d.ts +6 -0
  67. package/dist/animation/xstate-animation-binding.d.ts.map +1 -1
  68. package/dist/animation/xstate-animation-binding.js +142 -4
  69. package/dist/asset-formats/collider.d.ts +1 -1
  70. package/dist/asset-formats/mesh.d.ts +2 -2
  71. package/dist/asset-formats/particles.d.ts +1 -1
  72. package/dist/canvas-react/engine-bridge.d.ts +6 -6
  73. package/dist/canvas-react/engine-bridge.d.ts.map +1 -1
  74. package/dist/canvas-react/engine-bridge.js +2 -2
  75. package/dist/canvas-react/index.d.ts +2 -2
  76. package/dist/canvas-react/index.d.ts.map +1 -1
  77. package/dist/canvas-react/index.js +1 -1
  78. package/dist/canvas-react/pixi-react-adapter.d.ts +15 -9
  79. package/dist/canvas-react/pixi-react-adapter.d.ts.map +1 -1
  80. package/dist/canvas-react/pixi-react-adapter.js +43 -29
  81. package/dist/canvas-react/pixi-react-root-factory.d.ts.map +1 -1
  82. package/dist/canvas-react/pixi-react-root-factory.js +4 -0
  83. package/dist/canvas-react/world-context.d.ts +22 -12
  84. package/dist/canvas-react/world-context.d.ts.map +1 -1
  85. package/dist/canvas-react/world-context.js +12 -51
  86. package/dist/ecs/user-data.d.ts +5 -0
  87. package/dist/ecs/user-data.d.ts.map +1 -1
  88. package/dist/ecs/user-data.js +3 -0
  89. package/dist/input/input-manager.d.ts +49 -0
  90. package/dist/input/input-manager.d.ts.map +1 -1
  91. package/dist/input/input-manager.js +127 -0
  92. package/dist/manifest/schema.d.ts +9 -9
  93. package/dist/pixi/authoring.d.ts.map +1 -1
  94. package/dist/pixi/authoring.js +220 -1
  95. package/dist/pixi/ingest.d.ts +2 -1
  96. package/dist/pixi/ingest.d.ts.map +1 -1
  97. package/dist/pixi/ingest.js +4 -2
  98. package/dist/pixi/scene-capture.d.ts +9 -1
  99. package/dist/pixi/scene-capture.d.ts.map +1 -1
  100. package/dist/pixi/scene-capture.js +9 -6
  101. package/dist/render/particles-factory.d.ts +13 -6
  102. package/dist/render/particles-factory.d.ts.map +1 -1
  103. package/dist/render/particles-factory.js +6 -3
  104. package/dist/runtime/create-runtime.d.ts +23 -46
  105. package/dist/runtime/create-runtime.d.ts.map +1 -1
  106. package/dist/runtime/create-runtime.js +22 -67
  107. package/dist/runtime/game.d.ts +29 -71
  108. package/dist/runtime/game.d.ts.map +1 -1
  109. package/dist/runtime/game.js +15 -54
  110. package/dist/runtime/mount-game.d.ts.map +1 -1
  111. package/dist/runtime/mount-game.js +12 -1
  112. package/dist/runtime/mount-manifest.d.ts.map +1 -1
  113. package/dist/runtime/mount-manifest.js +4 -5
  114. package/dist/runtime/types.d.ts +18 -0
  115. package/dist/runtime/types.d.ts.map +1 -1
  116. package/dist/setup/setup-renderer.d.ts +3 -4
  117. package/dist/setup/setup-renderer.d.ts.map +1 -1
  118. package/dist/setup/setup-renderer.js +3 -4
  119. package/dist/world3d-react/engine-bridge.d.ts +1 -1
  120. package/dist/world3d-react/engine-bridge.js +1 -1
  121. package/dist/world3d-react/r3f-adapter.d.ts +7 -0
  122. package/dist/world3d-react/r3f-adapter.d.ts.map +1 -1
  123. package/dist/world3d-react/r3f-adapter.js +50 -21
  124. package/dist/world3d-react/r3f-root-factory.d.ts.map +1 -1
  125. package/dist/world3d-react/r3f-root-factory.js +4 -0
  126. package/dist/world3d-react/world-context.d.ts +9 -3
  127. package/dist/world3d-react/world-context.d.ts.map +1 -1
  128. package/dist/world3d-react/world-context.js +5 -18
  129. package/package.json +1 -1
  130. package/schemas/engine-capabilities.json +7 -7
  131. package/src/adapter/adapter-module.ts +407 -50
  132. package/src/adapter/authoring-seam-contract.ts +211 -0
  133. package/src/adapter/authoring.ts +242 -50
  134. package/src/adapter/entrypoint-selection-source.ts +159 -0
  135. package/src/adapter/finders/scenes-from-entrypoint-selection.ts +159 -28
  136. package/src/adapter/first-party-systems.ts +17 -3
  137. package/src/adapter/index.ts +51 -1
  138. package/src/adapter/ingest/contract-system-adapters.ts +26 -30
  139. package/src/adapter/ingest/game-contract-seams.ts +85 -0
  140. package/src/adapter/ingest/game-contract.ts +9 -4
  141. package/src/adapter/ingest/merge-debug-adapters.ts +193 -0
  142. package/src/adapter/ingest/observation-debug-adapter.ts +158 -0
  143. package/src/adapter/ingest/scene-capture.ts +126 -23
  144. package/src/adapter/ingest/visible-capture-window.ts +63 -9
  145. package/src/adapter/native-debug-module.ts +307 -0
  146. package/src/adapter/object3d-authoring-subject.ts +50 -0
  147. package/src/adapter/root-adapter.ts +21 -56
  148. package/src/adapter/root-seam-contract.ts +56 -0
  149. package/src/adapter/seam-evidence.ts +336 -0
  150. package/src/adapter/setup-three-root-adapter.ts +4 -6
  151. package/src/adapter/system-adapter.ts +6 -1
  152. package/src/adapter/system-seam-contract.ts +121 -0
  153. package/src/animation/xstate-animation-binding.ts +151 -4
  154. package/src/canvas-react/engine-bridge.ts +6 -6
  155. package/src/canvas-react/index.ts +2 -1
  156. package/src/canvas-react/pixi-react-adapter.tsx +55 -34
  157. package/src/canvas-react/pixi-react-root-factory.tsx +4 -0
  158. package/src/canvas-react/world-context.ts +26 -101
  159. package/src/ecs/user-data.ts +5 -0
  160. package/src/input/input-manager.ts +122 -0
  161. package/src/pixi/authoring.ts +236 -1
  162. package/src/pixi/ingest.ts +9 -2
  163. package/src/pixi/scene-capture.ts +20 -5
  164. package/src/render/particles-factory.ts +16 -6
  165. package/src/runtime/create-runtime.ts +41 -106
  166. package/src/runtime/game.ts +41 -111
  167. package/src/runtime/mount-game.ts +19 -1
  168. package/src/runtime/mount-manifest.ts +4 -5
  169. package/src/runtime/types.ts +22 -0
  170. package/src/setup/setup-renderer.ts +3 -4
  171. package/src/world3d-react/engine-bridge.ts +1 -1
  172. package/src/world3d-react/r3f-adapter.tsx +64 -24
  173. package/src/world3d-react/r3f-root-factory.tsx +4 -0
  174. package/src/world3d-react/world-context.ts +11 -36
@@ -55,7 +55,7 @@ export interface AuthoringProvenance {
55
55
  * - `foreign` — a live tree the editor does not own (an unmodified external
56
56
  * game, or any world edited only through an overlay); edits go to the
57
57
  * overlay, never the source;
58
- * - `live` — a running game adopted at play time; edits are not persisted;
58
+ * - `live` — a running game adopted at play time; ordinary edits are not persisted;
59
59
  * - `boundary` — a declared world with no live editing surface here.
60
60
  */
61
61
  source: 'document' | 'source-code' | 'foreign' | 'live' | 'boundary';
@@ -103,6 +103,12 @@ export interface PropertyDescriptor {
103
103
  label: string;
104
104
  type: 'string' | 'number' | 'boolean' | 'vec3' | 'color' | 'enum' | 'asset' | 'json';
105
105
  readonly?: boolean;
106
+ /**
107
+ * Why this field cannot be written, in the adapter's own vocabulary. The
108
+ * Inspector, its control surface, and the write refusal all project this
109
+ * same sentence; omitting it uses the generic read-only explanation.
110
+ */
111
+ readonlyReason?: string;
106
112
  options?: unknown[];
107
113
  /**
108
114
  * Optional domain-shaped grouping (T3.4 slice 2): properties sharing the
@@ -192,6 +198,44 @@ export interface TransformEditability {
192
198
  writable: boolean;
193
199
  /** Human-facing explanation for a disabled gizmo/field. */
194
200
  reason?: string;
201
+ /**
202
+ * Is there an AUTHORED override of this channel that {@link
203
+ * TransformProvider.remove} could drop? The per-channel analogue of a
204
+ * property descriptor's `resettable`, and it is answered the same way: the
205
+ * document actually carries this channel, and this session has a door that
206
+ * can take it back.
207
+ *
208
+ * It lives HERE rather than being inferred from `remove`'s presence because
209
+ * `remove` is a lane-wide fact while this is a per-subject one — a composite
210
+ * routes both, but only this one can say that THIS node's `position` is
211
+ * authored and THAT node's is not. Omitted ⇒ nothing to drop, and the
212
+ * protocol's removal door refuses by name instead of acking a revert it did
213
+ * not perform.
214
+ *
215
+ * EACH HALF IS ANSWERED BY WHOEVER CAN SEE IT, and a lane that cannot read
216
+ * its own document may not invent the first. A source lane holding the
217
+ * file's text answers both (the first-party R3F lane reads the callsite's
218
+ * attributes before saying yes). A lane whose client holds only an
219
+ * oid → file:line index and writes through a server that resolves the
220
+ * address — the vendored-ingest lane — can honestly answer only the SECOND,
221
+ * so that is what it answers, and `remove`'s own {@link WriteAck} reports
222
+ * whether an attribute was actually dropped (`persisted: false` when the
223
+ * callsite carried none). The inverse is what is forbidden on every lane:
224
+ * acking a drop that took no byte.
225
+ */
226
+ removable?: boolean;
227
+ }
228
+ /** The one lawful Play→source write: a person explicitly attributes the
229
+ * selected live node's current transform to its OID-anchored source literal.
230
+ * This is an atomic optional group so availability and the write door cannot
231
+ * drift apart. Ordinary transform gestures remain governed by begin/apply/end
232
+ * and therefore stay ephemeral while Play is running. */
233
+ export interface TransformSourceCommitProvider {
234
+ availability(id: string): {
235
+ available: boolean;
236
+ reason?: string;
237
+ };
238
+ commit(id: string): Promise<WriteAck>;
195
239
  }
196
240
  export interface TransformProvider {
197
241
  /** Honest inspector presentation for the substrate's transform vocabulary. */
@@ -212,6 +256,35 @@ export interface TransformProvider {
212
256
  * live-only floor rather than borrowing an answer from somewhere else.
213
257
  */
214
258
  endEdit(id: string): void | WriteAck | Promise<void | WriteAck>;
259
+ /**
260
+ * Optional — DROP one channel's authored transform entirely, rather than
261
+ * writing a value into it.
262
+ *
263
+ * THE SAME DOOR {@link InspectorProvider.remove} IS, for the channel the
264
+ * Transform section owns instead of a property row. `apply`/`endEdit` write a
265
+ * VALUE, so reverting a channel an authoring gesture APPENDED by writing the
266
+ * old numbers back leaves `position={[0, 0, 0]}` standing where the source
267
+ * carried nothing — the file ends one attribute heavier than it started, and
268
+ * no byte-level edit/revert round trip can close. Only removal expresses that
269
+ * absence, which is why a lane without this door grades UNVERIFIABLE rather
270
+ * than passing.
271
+ *
272
+ * SAME ACK CONTRACT AS {@link endEdit} — the pipe's per-edit {@link WriteAck}
273
+ * for THIS removal, awaited. Removal is a write; it moves bytes, and the
274
+ * caller has the same right to be told where they went. Returning nothing
275
+ * means this provider performed no persisted write and the shell reports the
276
+ * live-only floor.
277
+ *
278
+ * What "absent" MEANS is the dialect writer's to decide (deleting the JSX
279
+ * attribute, for the source lanes). Nothing above this seam infers it: a lane
280
+ * whose transform truth IS the running object — there is no document for the
281
+ * channel to be absent from — simply omits the method, and the protocol door
282
+ * refuses by name rather than falling back to a value write.
283
+ */
284
+ remove?(id: string, channel: TransformChannel): void | WriteAck | Promise<void | WriteAck>;
285
+ /** Explicit Play→source attribution. Absent outside an eligible live OID
286
+ * surface; never used implicitly by a transform gesture. */
287
+ readonly sourceCommit?: TransformSourceCommitProvider;
215
288
  }
216
289
  /**
217
290
  * One transform gesture event (see {@link AuthoringAdapter.observeTransforms}).
@@ -244,14 +317,28 @@ export interface InspectorProvider {
244
317
  };
245
318
  /**
246
319
  * Optional — REMOVE a property's authored override entirely (not "set to a
247
- * value"), letting whatever governs it in its absence take over. The one
248
- * concrete need today: a longhand CSS override (`style.borderTopLeftRadius`)
249
- * that a uniform edit of its shorthand (`style.borderRadius`) must clear so
250
- * the shorthand actually wins, instead of leaving a stale longhand that
251
- * silently overrides it on reload (spec 27 §5 C2, U2). Adapters with no
252
- * removable-override concept simply omit it callers optional-chain.
320
+ * value"), letting whatever governs it in its absence take over.
321
+ *
322
+ * THIS IS THE ONLY WAY TO EXPRESS BYTE-ABSENCE. {@link set} writes a VALUE:
323
+ * reverting a prop an authoring gesture ADDED by setting it back to what the
324
+ * default would have been leaves `position={[0, 0, 0]}` in the source where
325
+ * the file previously carried nothing at all. Only removal restores the
326
+ * bytes, which is why a lane with no `remove` cannot close its own
327
+ * edit/revert round trip and grades UNVERIFIABLE rather than passing.
328
+ *
329
+ * SAME ACK CONTRACT AS {@link set} — the pipe's per-edit {@link WriteAck}
330
+ * (`editor/src/authoring/write-pipe.ts`), awaited. Removal is a write; it
331
+ * moves bytes, and the caller has the same right to be told where they went
332
+ * and whether they moved. Returning nothing means this provider performed no
333
+ * persisted write, and the shell reports the live-only floor.
334
+ *
335
+ * What "absent" MEANS is the dialect writer's to decide — deleting a JSX
336
+ * attribute, dropping a CSS longhand so its shorthand cascades. Nothing above
337
+ * this seam infers it. Adapters with no removable-override concept simply
338
+ * omit the method; callers optional-chain, and the protocol door refuses by
339
+ * name rather than falling back to a value write.
253
340
  */
254
- remove?(id: string, path: string): void;
341
+ remove?(id: string, path: string): void | WriteAck | Promise<void | WriteAck>;
255
342
  }
256
343
  /**
257
344
  * An authored node that is itself an asset, even when its bytes are embedded
@@ -318,6 +405,9 @@ export interface ComponentInstanceDescription {
318
405
  export interface ComponentInstanceApplyResult {
319
406
  readonly changed: boolean;
320
407
  readonly message: string;
408
+ /** This operation's own writer acknowledgement. Absent when the request was
409
+ * refused before any write; live-only is an explicit WriteAck. */
410
+ readonly write?: WriteAck;
321
411
  }
322
412
  /**
323
413
  * Source-derived component-instance operations. A provider exists only when an
@@ -329,13 +419,79 @@ export interface ComponentInstancesProvider {
329
419
  describe(id: string): ComponentInstanceDescription | null;
330
420
  /** Open the native component/prefab board for this instance's surface. */
331
421
  openComponent?(id: string): void;
332
- revert(id: string, paths: readonly string[]): Promise<void>;
422
+ revert(id: string, paths: readonly string[]): Promise<void | WriteAck>;
333
423
  applyToComponent(id: string, path: string): Promise<ComponentInstanceApplyResult>;
334
424
  }
425
+ /**
426
+ * WHAT A STRUCTURAL VERB ANSWERS WITH — the same widening
427
+ * {@link TransformProvider.endEdit} and {@link InspectorProvider.set} carry,
428
+ * for the same reason: the ack is produced by the component that performed
429
+ * THIS edit, and there is nowhere else for a caller to get one.
430
+ *
431
+ * `void` is the honest answer for a lane whose verb performs no write of its
432
+ * own (an in-memory adapter mutating a graph it already owns); a lane that
433
+ * writes returns the persistence pipe's own {@link WriteAck}
434
+ * (`editor/src/authoring/write-pipe.ts`), awaited, so a caller that awaits the
435
+ * verb has awaited the byte.
436
+ *
437
+ * A structural verb resolves on ITS OWN verb: `remove` asks whether the struct
438
+ * writer is bound, never whether the PROP writer is — resolving on a
439
+ * value-write door is how a lane comes to ack `source-prop` for a door it does
440
+ * not have.
441
+ */
442
+ export type StructuralWriteOutcome = void | WriteAck | Promise<void | WriteAck>;
443
+ /**
444
+ * WHAT AN ID-RETURNING STRUCTURAL VERB ANSWERS WITH — the id and the ack, as
445
+ * ONE return.
446
+ *
447
+ * The writing verbs ({@link StructureProvider.remove} and friends) answer with
448
+ * a bare {@link StructuralWriteOutcome}, because the write IS their whole
449
+ * answer. `create`/`duplicate`/`group`/`ungroup` owe their caller a second
450
+ * thing — the id(s) the op produced — and those two halves settle at DIFFERENT
451
+ * TIMES:
452
+ *
453
+ * - the id is SYNCHRONOUS where a lane can mint one. The live canvas surface
454
+ * adds a real display object to the running tree and re-indexes before it
455
+ * returns, so `create` hands back an id its caller can select in the same
456
+ * turn ("create then immediately select it" is the ordinary shell
457
+ * sequence). Making the verb `async` to carry the ack would take that
458
+ * away from every caller to serve a value that is already known.
459
+ * - the ack is ASYNCHRONOUS wherever a byte is involved, and it is the only
460
+ * thing that says whether the edit reached the file it claims.
461
+ *
462
+ * So the return carries both. A source lane whose new id only exists after the
463
+ * remount stamps it answers `id: ''` (there is no honest synchronous id) with a
464
+ * real `ack`; a router that could not route answers with an unchanged id and
465
+ * `ack: undefined` (no write was attempted, which is exactly what `void` means
466
+ * in {@link StructuralWriteOutcome}).
467
+ *
468
+ * Firing the write and dropping the promise on the floor — `void structOp(…)`
469
+ * behind a `return ''` — is the shape this type exists to make unrepresentable:
470
+ * it left the caller unable to await the byte, which is how N same-file
471
+ * duplicates went out together, each reading the file before any wrote back.
472
+ */
473
+ export interface StructuralIdWrite<Id extends string | null = string> {
474
+ /** The id the op produced — `''` when the lane cannot know it until its own
475
+ * source write completes and the world remounts. */
476
+ readonly id: Id;
477
+ readonly ack: StructuralWriteOutcome;
478
+ }
479
+ /** The plural half of {@link StructuralIdWrite}, for a verb that promotes a set
480
+ * of ids rather than minting one. */
481
+ export interface StructuralIdsWrite {
482
+ readonly ids: readonly string[];
483
+ readonly ack: StructuralWriteOutcome;
484
+ }
485
+ /** Clipboard-backed structural writes retain the existing `false` refusal
486
+ * channel while answering a successful cut/paste with the write's real
487
+ * destination. A bare `true` cannot prove a byte landed anywhere. */
488
+ export type StructuralClipboardOutcome = false | WriteAck | Promise<false | WriteAck>;
335
489
  export interface StructureProvider {
336
- create(kind: string, parentId?: string): string;
490
+ /** Create a `kind` under `parentId`, answering with the new id AND this
491
+ * creation's own write ack (see {@link StructuralIdWrite}). */
492
+ create(kind: string, parentId?: string): StructuralIdWrite;
337
493
  /**
338
- * Remove `id`. May optionally return an awaitable (`Promise<void>`) when the
494
+ * Remove `id`. May optionally return an awaitable when the
339
495
  * underlying write is asynchronous (e.g. a react-world source-file edit) —
340
496
  * `deleteSelection` (`editor-hotkeys.ts`) awaits it per id so a same-file
341
497
  * multi-delete's writes land strictly one at a time (see that function's own
@@ -343,14 +499,22 @@ export interface StructureProvider {
343
499
  * a per-id loop sound for an adapter whose OID index isn't reindexed between
344
500
  * writes). An adapter with a synchronous/in-memory remove (e.g.
345
501
  * `UIAuthoringAdapter`) returns `void` — `await`ing it is a harmless no-op.
502
+ *
503
+ * A source-writing lane returns THIS removal's own {@link WriteAck} (see
504
+ * {@link StructuralWriteOutcome}).
346
505
  */
347
- remove(id: string): void | Promise<void>;
348
- duplicate(id: string): string;
349
- reparent(id: string, newParentId: string | null): void;
506
+ remove(id: string): StructuralWriteOutcome;
507
+ /** Copy `id`, answering with the copy's id AND this duplication's own write
508
+ * ack (see {@link StructuralIdWrite}). A source lane whose copy has no id
509
+ * until the remount stamps it answers with the SOURCE id it was given —
510
+ * `duplicate` has no refusal channel, so an empty string there would be
511
+ * indistinguishable from "refused". */
512
+ duplicate(id: string): StructuralIdWrite;
513
+ reparent(id: string, newParentId: string | null): StructuralWriteOutcome;
350
514
  /** Reorder `id` to sit immediately before `beforeSiblingId` among its siblings
351
515
  * (`null` = move to the end). Absent ⇒ the shell has no sibling-reorder UI
352
516
  * for this adapter. */
353
- reorder?(id: string, beforeSiblingId: string | null): void;
517
+ reorder?(id: string, beforeSiblingId: string | null): StructuralWriteOutcome;
354
518
  /**
355
519
  * The kinds `create` accepts for a given parent (`null` parentId = a new
356
520
  * root), each with a display label — drives the shell's creation palette.
@@ -366,18 +530,22 @@ export interface StructureProvider {
366
530
  * adapter-chosen, e.g. a `div`), re-parenting `id` as that container's sole
367
531
  * child. Absent ⇒ the shell's context menu shows no Wrap item for this
368
532
  * adapter. */
369
- wrap?(id: string, wrapperTag?: string): void;
533
+ wrap?(id: string, wrapperTag?: string): StructuralWriteOutcome;
370
534
  /** D3 (spec 27 §6) — replace `id` with its own children (the inverse of
371
535
  * `wrap`). Absent ⇒ the shell's context menu shows no Unwrap item for this
372
536
  * adapter. */
373
- unwrap?(id: string): void;
537
+ unwrap?(id: string): StructuralWriteOutcome;
374
538
  /** Group sibling authoring objects beneath one new spatial parent. The
375
539
  * adapter owns transform preservation, persistence, and undo semantics.
376
- * Returns the new group id, or null when the selection cannot be grouped. */
377
- group?(ids: readonly string[]): string | null;
378
- /** Dissolve a plain spatial group and return the ids of its promoted
379
- * children. Absent means this adapter has no lossless ungroup operation. */
380
- ungroup?(id: string): string[];
540
+ * Answers with the new group id `null` when the selection cannot be
541
+ * grouped at all AND this grouping's own write ack (see
542
+ * {@link StructuralIdWrite}). */
543
+ group?(ids: readonly string[]): StructuralIdWrite<string | null>;
544
+ /** Dissolve a plain spatial group, answering with the ids of its promoted
545
+ * children AND this dissolution's own write ack (see
546
+ * {@link StructuralIdsWrite}). Absent means this adapter has no lossless
547
+ * ungroup operation. */
548
+ ungroup?(id: string): StructuralIdsWrite;
381
549
  /** Preflight for an Ungroup affordance. Omit when ungroup is never offered. */
382
550
  canUngroup?(id: string): boolean;
383
551
  /**
@@ -389,15 +557,15 @@ export interface StructureProvider {
389
557
  * own single batched multi-delete undo). Absent ⇒ the shell falls back to
390
558
  * the per-id `remove` loop (today's N-entry behavior, unchanged) — an
391
559
  * honest degrade, not a silent behavior change, for any adapter that
392
- * hasn't implemented batching. May optionally return an awaitable
393
- * (`Promise<void>`), same widening `remove` documents above and for the
394
- * same reason (delete-order-residual fix): `deleteSelection`
560
+ * hasn't implemented batching. May optionally return an awaitable, same
561
+ * widening `remove` documents above ({@link StructuralWriteOutcome}) and for
562
+ * the same reason (delete-order-residual fix): `deleteSelection`
395
563
  * (`editor-hotkeys.ts`) awaits it so the caller can rely on the whole
396
564
  * batch's write having landed before it returns. A synchronous/in-memory
397
565
  * implementation (e.g. `UIAuthoringAdapter`'s) returns `void` — awaiting it
398
566
  * is a harmless no-op.
399
567
  */
400
- removeMany?(ids: readonly string[]): void | Promise<void>;
568
+ removeMany?(ids: readonly string[]): StructuralWriteOutcome;
401
569
  /** Copy authored entities through the host clipboard. The adapter owns the
402
570
  * native payload (JSX for a source-backed Three/Canvas world, native records
403
571
  * for a data-backed adapter); the shell never serializes an engine-private
@@ -407,11 +575,11 @@ export interface StructureProvider {
407
575
  canCopy?(ids: readonly string[]): boolean;
408
576
  /** Copy, then remove the same authored entities only after the clipboard
409
577
  * write succeeds. One adapter operation owns that ordering. */
410
- cut?(ids: readonly string[]): boolean | Promise<boolean>;
578
+ cut?(ids: readonly string[]): StructuralClipboardOutcome;
411
579
  /** Paste as children of `parentId`; `null` means the adapter document root.
412
580
  * The shell derives the current selection's parent so ordinary Paste creates
413
581
  * siblings, matching scene-hierarchy editors. */
414
- paste?(parentId: string | null): boolean | Promise<boolean>;
582
+ paste?(parentId: string | null): StructuralClipboardOutcome;
415
583
  /** Honest affordance preflight. It need only cover adapter/session state;
416
584
  * the actual paste still validates the live system clipboard. */
417
585
  canPaste?(parentId: string | null): boolean;
@@ -513,7 +681,11 @@ export interface AssetDropContext {
513
681
  /** Asset drop (hierarchy + viewport). */
514
682
  export interface AssetDropProvider {
515
683
  accepts(nodeId: string, assetPath: string, context?: AssetDropContext): boolean;
516
- drop(nodeId: string, assetPath: string, context?: AssetDropContext): void | Promise<void>;
684
+ /** A drop that lands as an ELEMENT in the game's own source is a structural
685
+ * write, so it answers with the same {@link StructuralWriteOutcome} the rest
686
+ * of {@link StructureProvider}'s writing verbs do — a lane whose drop only
687
+ * mutates the running graph returns `void`. */
688
+ drop(nodeId: string, assetPath: string, context?: AssetDropContext): StructuralWriteOutcome;
517
689
  }
518
690
  /** Plain-object rect shape shared by {@link RectProvider} — the same fields a real
519
691
  * `DOMRect` carries (a subset, so a real `DOMRect` satisfies this structurally too).
@@ -697,6 +869,19 @@ export type NodeCreationSite = {
697
869
  * the anchor; survives a cold remount, because the file is truth and the next
698
870
  * mount re-derives from it.
699
871
  * Proof: `packages/editor/test/oid-source-persistence.test.ts`.
872
+ * - `source-structure` — the edit is not a VALUE at all: it adds, removes,
873
+ * moves or re-nests an ELEMENT of the game's own source (`delete`,
874
+ * `duplicate`, `wrap`/`unwrap`, `create`, `reorder`, `reparent`, `group`).
875
+ * It is a kind rather than a flavour of `source-prop` because it resolves on
876
+ * a DIFFERENT DOOR — the dialect's structural writer, not its attribute
877
+ * writer — and a lane can have one without the other. Claiming `source-prop`
878
+ * for a structural edit is exactly the classifier/writer split the
879
+ * persistence pipe exists to make impossible: it names a value lane that
880
+ * never carried the bytes. Its landing contract adds one gate the prop lane
881
+ * does not have: the write is WHOLE-FILE and checksum-guarded, so an op
882
+ * resolved against a stale element index must fail rather than land at the
883
+ * wrong offset.
884
+ * Proof: `packages/editor/test/structural-write-pipe.test.ts`.
700
885
  * - `construction-literal` — the value is a literal in the CONSTRUCTION
701
886
  * EXPRESSION that built the object (`new THREE.Mesh(…)` in the game's own
702
887
  * served module). Same landing/remount contract, plus one gate the prop lane
@@ -727,7 +912,7 @@ export type NodeCreationSite = {
727
912
  * ("an object with no source stamp is refused by name")
728
913
  * + `packages/editor/test/inspection-write-destination.test.ts`.
729
914
  */
730
- export type WriteAnchorKind = 'source-prop' | 'construction-literal' | 'physics-binding' | 'data-record' | 'live-only';
915
+ export type WriteAnchorKind = 'source-prop' | 'source-structure' | 'construction-literal' | 'physics-binding' | 'data-record' | 'live-only';
731
916
  /**
732
917
  * WHAT ONE EDIT DID — the ack the persistence pipe returns for THAT edit, from
733
918
  * the component that actually performed the write.
@@ -777,22 +962,22 @@ export declare function emptyWriteAnchorKindCounts(): Record<WriteAnchorKind, nu
777
962
  * document-backed world's truth is the document, not a construction site).
778
963
  * Present ⇒ every id gets an answer, anchored or reasoned.
779
964
  */
780
- export interface CreationSiteProvider {
781
- anchor(id: string): NodeCreationSite;
782
- /**
783
- * The write-side sibling of {@link anchor}: which LANE would carry an edit to
784
- * this node's transform, in the closed vocabulary above. Exposed beside the
785
- * anchor because that is where every reader already looks, and because a
786
- * caller sweeping a hierarchy needs it to find a representative node per kind
787
- * (`vgai doctor`'s edit-write walk is that caller).
788
- *
789
- * Absent this adapter plans no lanes it can distinguish; the reader has only
790
- * the anchor's own shape, which cannot tell two source lanes apart.
791
- * `undefined` for a particular id this adapter plans no write for THAT id
792
- * (a synthetic hierarchy row, an id no child of a composite owns) — which is
793
- * not the same as `live-only`, a lane that really does land on a live object.
794
- */
795
- writeAnchorKind?(id: string): WriteAnchorKind | undefined;
965
+ export interface AuthoringTruth {
966
+ /** Where the runtime object came from in the game's own source or data. */
967
+ readonly site: NodeCreationSite;
968
+ /** The lane THIS property edit would actually take. `undefined` means the
969
+ * subject is synthetic or otherwise has no write plan; `live-only` is a real
970
+ * plan whose destination is the running object. */
971
+ readonly writeAnchorKind: WriteAnchorKind | undefined;
972
+ }
973
+ /**
974
+ * The TRUTH-family binding. One resolution answers both where a subject came
975
+ * from and where an edit to one of its properties lands. A caller may not read
976
+ * those facts through separate providers: that was the classifier/writer split
977
+ * the persistence pipe exists to remove.
978
+ */
979
+ export interface TruthProvider {
980
+ resolve(id: string, property: string): AuthoringTruth;
796
981
  }
797
982
  /** A plain world-space point. Component handles cross the authoring seam as
798
983
  * data; a substrate object or renderer handle never does. */
@@ -874,7 +1059,10 @@ export interface SpatialHandleLayer {
874
1059
  export interface SpatialHandlesProvider {
875
1060
  layers(id: string): readonly SpatialHandleLayer[];
876
1061
  preview(id: string, handleId: string, worldPosition: SpatialPoint3): void;
877
- commit(id: string, handleId: string, worldPosition: SpatialPoint3): void | Promise<void>;
1062
+ /** Commit the preview and pass through the owning writer's acknowledgement.
1063
+ * `void` remains the honest live-only/no-write floor; callers must not grade
1064
+ * it as a persisted round trip. */
1065
+ commit(id: string, handleId: string, worldPosition: SpatialPoint3): StructuralWriteOutcome;
878
1066
  }
879
1067
  export interface AuthoringAdapter {
880
1068
  readonly capabilities: AuthoringCapabilities;
@@ -909,9 +1097,8 @@ export interface AuthoringAdapter {
909
1097
  readonly colorSample?: ColorSampleProvider;
910
1098
  /** D4 — storybook stories. Absent ⇒ no stories for any node in this adapter. */
911
1099
  readonly stories?: StoriesProvider;
912
- /** WO-IDX1 the source location that constructed a node's live object.
913
- * Absent this adapter indexes no creation sites. */
914
- readonly creationSite?: CreationSiteProvider;
1100
+ /** Projection subject source/data anchor and write lane, resolved together. */
1101
+ readonly truth?: TruthProvider;
915
1102
  /** Adapter-owned component guides and direct-manipulation points. */
916
1103
  readonly spatialHandles?: SpatialHandlesProvider;
917
1104
  /** Asset drop (hierarchy + viewport). Absent ⇒ this adapter accepts no drops. */
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../src/adapter/authoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../src/adapter/authoring.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@
34
34
  */
35
35
  const WRITE_ANCHOR_KIND_PRESENCE = {
36
36
  'source-prop': true,
37
+ 'source-structure': true,
37
38
  'construction-literal': true,
38
39
  'physics-binding': true,
39
40
  'data-record': true,
@@ -78,7 +79,7 @@ const AUTHORING_PROVIDER_PRESENCE = {
78
79
  text: true,
79
80
  colorSample: true,
80
81
  stories: true,
81
- creationSite: true,
82
+ truth: true,
82
83
  spatialHandles: true,
83
84
  assetDrop: true,
84
85
  subscribe: true,
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Serve-time rewrite of an entrypoint's swap-slot key.
3
+ *
4
+ * The scenes finder (`adapter/finders/scenes-from-entrypoint-selection.ts`)
5
+ * READS the same facts this module WRITES: a module-level `const <selection>
6
+ * = { … }` table, indexed by one identifier whose own module-level `const`
7
+ * is a string literal (`const activeScene = 'main'`). This is not an
8
+ * extraction of that finder — the finder stays the adapter-selected discovery
9
+ * algorithm, import-banned everywhere except the adapter loader. The rewrite
10
+ * is a host-owned mount parameter: play remounts the same entrypoint with a
11
+ * different declared key, without a new adapter slot and without mutating
12
+ * the file on disk.
13
+ *
14
+ * `typescript` is the same parser the finder already uses. This module is
15
+ * host-side only — a game's `vgai.adapter.ts` must not import it.
16
+ */
17
+ export type EntrypointSelectionRewrite = {
18
+ readonly ok: true;
19
+ readonly source: string;
20
+ readonly changed: boolean;
21
+ } | {
22
+ readonly ok: false;
23
+ readonly reason: string;
24
+ };
25
+ /**
26
+ * Rewrite the entrypoint so its swap slot mounts `key` instead of the
27
+ * source-declared occupant.
28
+ *
29
+ * Fails (never guesses) when the source is not the template's shape: no
30
+ * table, a key the table does not declare, or an index that is not a
31
+ * module-level `const` string. A no-op rewrite (`key` already at the slot)
32
+ * is still `ok` — remounting the same key is a real restart.
33
+ */
34
+ export declare function rewriteEntrypointSelectionKey(source: string, path: string, selection: string, key: string): EntrypointSelectionRewrite;
35
+ //# sourceMappingURL=entrypoint-selection-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entrypoint-selection-source.d.ts","sourceRoot":"","sources":["../../src/adapter/entrypoint-selection-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,MAAM,0BAA0B,GAClC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAqEpD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,0BAA0B,CAsD5B"}