@vgai/engine 0.5.14 → 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 (177) 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/manifest/schema.js +1 -1
  94. package/dist/pixi/authoring.d.ts.map +1 -1
  95. package/dist/pixi/authoring.js +220 -1
  96. package/dist/pixi/ingest.d.ts +2 -1
  97. package/dist/pixi/ingest.d.ts.map +1 -1
  98. package/dist/pixi/ingest.js +4 -2
  99. package/dist/pixi/scene-capture.d.ts +9 -1
  100. package/dist/pixi/scene-capture.d.ts.map +1 -1
  101. package/dist/pixi/scene-capture.js +9 -6
  102. package/dist/render/particles-factory.d.ts +13 -6
  103. package/dist/render/particles-factory.d.ts.map +1 -1
  104. package/dist/render/particles-factory.js +6 -3
  105. package/dist/runtime/create-runtime.d.ts +23 -46
  106. package/dist/runtime/create-runtime.d.ts.map +1 -1
  107. package/dist/runtime/create-runtime.js +22 -67
  108. package/dist/runtime/game.d.ts +29 -71
  109. package/dist/runtime/game.d.ts.map +1 -1
  110. package/dist/runtime/game.js +15 -54
  111. package/dist/runtime/mount-game.d.ts.map +1 -1
  112. package/dist/runtime/mount-game.js +12 -1
  113. package/dist/runtime/mount-manifest.d.ts.map +1 -1
  114. package/dist/runtime/mount-manifest.js +4 -5
  115. package/dist/runtime/types.d.ts +18 -0
  116. package/dist/runtime/types.d.ts.map +1 -1
  117. package/dist/setup/setup-renderer.d.ts +3 -4
  118. package/dist/setup/setup-renderer.d.ts.map +1 -1
  119. package/dist/setup/setup-renderer.js +3 -4
  120. package/dist/world3d-react/engine-bridge.d.ts +1 -1
  121. package/dist/world3d-react/engine-bridge.js +1 -1
  122. package/dist/world3d-react/r3f-adapter.d.ts +7 -0
  123. package/dist/world3d-react/r3f-adapter.d.ts.map +1 -1
  124. package/dist/world3d-react/r3f-adapter.js +50 -21
  125. package/dist/world3d-react/r3f-root-factory.d.ts.map +1 -1
  126. package/dist/world3d-react/r3f-root-factory.js +4 -0
  127. package/dist/world3d-react/world-context.d.ts +9 -3
  128. package/dist/world3d-react/world-context.d.ts.map +1 -1
  129. package/dist/world3d-react/world-context.js +5 -18
  130. package/package.json +1 -1
  131. package/schemas/engine-capabilities.json +8 -8
  132. package/schemas/vgai-project.schema.json +1 -1
  133. package/src/adapter/adapter-module.ts +407 -50
  134. package/src/adapter/authoring-seam-contract.ts +211 -0
  135. package/src/adapter/authoring.ts +242 -50
  136. package/src/adapter/entrypoint-selection-source.ts +159 -0
  137. package/src/adapter/finders/scenes-from-entrypoint-selection.ts +159 -28
  138. package/src/adapter/first-party-systems.ts +17 -3
  139. package/src/adapter/index.ts +51 -1
  140. package/src/adapter/ingest/contract-system-adapters.ts +26 -30
  141. package/src/adapter/ingest/game-contract-seams.ts +85 -0
  142. package/src/adapter/ingest/game-contract.ts +9 -4
  143. package/src/adapter/ingest/merge-debug-adapters.ts +193 -0
  144. package/src/adapter/ingest/observation-debug-adapter.ts +158 -0
  145. package/src/adapter/ingest/scene-capture.ts +126 -23
  146. package/src/adapter/ingest/visible-capture-window.ts +63 -9
  147. package/src/adapter/native-debug-module.ts +307 -0
  148. package/src/adapter/object3d-authoring-subject.ts +50 -0
  149. package/src/adapter/root-adapter.ts +21 -56
  150. package/src/adapter/root-seam-contract.ts +56 -0
  151. package/src/adapter/seam-evidence.ts +336 -0
  152. package/src/adapter/setup-three-root-adapter.ts +4 -6
  153. package/src/adapter/system-adapter.ts +6 -1
  154. package/src/adapter/system-seam-contract.ts +121 -0
  155. package/src/animation/xstate-animation-binding.ts +151 -4
  156. package/src/canvas-react/engine-bridge.ts +6 -6
  157. package/src/canvas-react/index.ts +2 -1
  158. package/src/canvas-react/pixi-react-adapter.tsx +55 -34
  159. package/src/canvas-react/pixi-react-root-factory.tsx +4 -0
  160. package/src/canvas-react/world-context.ts +26 -101
  161. package/src/ecs/user-data.ts +5 -0
  162. package/src/input/input-manager.ts +122 -0
  163. package/src/manifest/schema.ts +1 -1
  164. package/src/pixi/authoring.ts +236 -1
  165. package/src/pixi/ingest.ts +9 -2
  166. package/src/pixi/scene-capture.ts +20 -5
  167. package/src/render/particles-factory.ts +16 -6
  168. package/src/runtime/create-runtime.ts +41 -106
  169. package/src/runtime/game.ts +41 -111
  170. package/src/runtime/mount-game.ts +19 -1
  171. package/src/runtime/mount-manifest.ts +4 -5
  172. package/src/runtime/types.ts +22 -0
  173. package/src/setup/setup-renderer.ts +3 -4
  174. package/src/world3d-react/engine-bridge.ts +1 -1
  175. package/src/world3d-react/r3f-adapter.tsx +64 -24
  176. package/src/world3d-react/r3f-root-factory.tsx +4 -0
  177. package/src/world3d-react/world-context.ts +11 -36
@@ -0,0 +1,530 @@
1
+ /** Compiler-derived proof requirements for the AuthoringAdapter protocol.
2
+ *
3
+ * This is intentionally adjacent to the interface. Coverage used to enumerate
4
+ * only top-level provider names, which allowed `{}` to count as a complete
5
+ * provider. These descriptors cover every nested member and encode the
6
+ * weakest evidence that can truthfully verify it.
7
+ */
8
+ import type { AuthoringAdapter } from './authoring';
9
+ import { type SeamShape } from './seam-evidence';
10
+ export declare const AUTHORING_ADAPTER_SHAPE: {
11
+ readonly capabilities: {
12
+ readonly optional: false;
13
+ readonly kind: "value";
14
+ readonly required: "shape";
15
+ };
16
+ readonly provenance: {
17
+ readonly optional: true;
18
+ readonly kind: "value";
19
+ readonly required: "shape";
20
+ };
21
+ readonly hierarchy: {
22
+ readonly optional: false;
23
+ readonly kind: "value";
24
+ readonly required: "operation";
25
+ };
26
+ readonly selection: {
27
+ readonly optional: true;
28
+ readonly kind: "value";
29
+ readonly required: "effect";
30
+ };
31
+ readonly transforms: {
32
+ readonly optional: true;
33
+ readonly kind: "value";
34
+ readonly required: "effect";
35
+ };
36
+ readonly inspector: {
37
+ readonly optional: true;
38
+ readonly kind: "value";
39
+ readonly required: "effect";
40
+ };
41
+ readonly assetSubject: {
42
+ readonly optional: true;
43
+ readonly kind: "value";
44
+ readonly required: "operation";
45
+ };
46
+ readonly related: {
47
+ readonly optional: true;
48
+ readonly kind: "value";
49
+ readonly required: "operation";
50
+ };
51
+ readonly instances: {
52
+ readonly optional: true;
53
+ readonly kind: "value";
54
+ readonly required: "effect";
55
+ };
56
+ readonly structure: {
57
+ readonly optional: true;
58
+ readonly kind: "value";
59
+ readonly required: "round-trip";
60
+ };
61
+ readonly persistence: {
62
+ readonly optional: true;
63
+ readonly kind: "value";
64
+ readonly required: "round-trip";
65
+ };
66
+ readonly pickable: {
67
+ readonly optional: true;
68
+ readonly kind: "value";
69
+ readonly required: "operation";
70
+ };
71
+ readonly rects: {
72
+ readonly optional: true;
73
+ readonly kind: "value";
74
+ readonly required: "operation";
75
+ };
76
+ readonly boxEdit: {
77
+ readonly optional: true;
78
+ readonly kind: "value";
79
+ readonly required: "effect";
80
+ };
81
+ readonly text: {
82
+ readonly optional: true;
83
+ readonly kind: "value";
84
+ readonly required: "effect";
85
+ };
86
+ readonly colorSample: {
87
+ readonly optional: true;
88
+ readonly kind: "value";
89
+ readonly required: "operation";
90
+ };
91
+ readonly stories: {
92
+ readonly optional: true;
93
+ readonly kind: "value";
94
+ readonly required: "effect";
95
+ };
96
+ readonly truth: {
97
+ readonly optional: true;
98
+ readonly kind: "value";
99
+ readonly required: "operation";
100
+ };
101
+ readonly spatialHandles: {
102
+ readonly optional: true;
103
+ readonly kind: "value";
104
+ readonly required: "effect";
105
+ };
106
+ readonly assetDrop: {
107
+ readonly optional: true;
108
+ readonly kind: "value";
109
+ readonly required: "round-trip";
110
+ };
111
+ readonly subscribe: {
112
+ readonly optional: true;
113
+ readonly kind: "function";
114
+ readonly required: "effect";
115
+ };
116
+ readonly observeTransforms: {
117
+ readonly optional: true;
118
+ readonly kind: "function";
119
+ readonly required: "effect";
120
+ };
121
+ };
122
+ export declare const HIERARCHY_PROVIDER_SHAPE: {
123
+ readonly roots: {
124
+ readonly optional: false;
125
+ readonly kind: "function";
126
+ readonly required: "operation";
127
+ };
128
+ readonly node: {
129
+ readonly optional: false;
130
+ readonly kind: "function";
131
+ readonly required: "operation";
132
+ };
133
+ readonly object3D: {
134
+ readonly optional: true;
135
+ readonly kind: "function";
136
+ readonly required: "operation";
137
+ };
138
+ readonly idForObject3D: {
139
+ readonly optional: true;
140
+ readonly kind: "function";
141
+ readonly required: "effect";
142
+ };
143
+ };
144
+ export declare const SELECTION_PROVIDER_SHAPE: {
145
+ readonly get: {
146
+ readonly optional: false;
147
+ readonly kind: "function";
148
+ readonly required: "operation";
149
+ };
150
+ readonly set: {
151
+ readonly optional: false;
152
+ readonly kind: "function";
153
+ readonly required: "effect";
154
+ };
155
+ readonly resolve: {
156
+ readonly optional: true;
157
+ readonly kind: "function";
158
+ readonly required: "operation";
159
+ };
160
+ };
161
+ export declare const TRANSFORM_PROVIDER_SHAPE: {
162
+ readonly dimensions: {
163
+ readonly optional: true;
164
+ readonly kind: "function";
165
+ readonly required: "operation";
166
+ };
167
+ readonly get: {
168
+ readonly optional: false;
169
+ readonly kind: "function";
170
+ readonly required: "operation";
171
+ };
172
+ readonly editability: {
173
+ readonly optional: true;
174
+ readonly kind: "function";
175
+ readonly required: "operation";
176
+ };
177
+ readonly beginEdit: {
178
+ readonly optional: false;
179
+ readonly kind: "function";
180
+ readonly required: "effect";
181
+ };
182
+ readonly apply: {
183
+ readonly optional: false;
184
+ readonly kind: "function";
185
+ readonly required: "effect";
186
+ };
187
+ readonly endEdit: {
188
+ readonly optional: false;
189
+ readonly kind: "function";
190
+ readonly required: "effect";
191
+ };
192
+ readonly remove: {
193
+ readonly optional: true;
194
+ readonly kind: "function";
195
+ readonly required: "round-trip";
196
+ };
197
+ readonly sourceCommit: {
198
+ readonly optional: true;
199
+ readonly kind: "value";
200
+ readonly required: "round-trip";
201
+ };
202
+ };
203
+ export declare const INSPECTOR_PROVIDER_SHAPE: {
204
+ readonly properties: {
205
+ readonly optional: false;
206
+ readonly kind: "function";
207
+ readonly required: "operation";
208
+ };
209
+ readonly get: {
210
+ readonly optional: false;
211
+ readonly kind: "function";
212
+ readonly required: "operation";
213
+ };
214
+ readonly set: {
215
+ readonly optional: false;
216
+ readonly kind: "function";
217
+ readonly required: "effect";
218
+ };
219
+ readonly editability: {
220
+ readonly optional: true;
221
+ readonly kind: "function";
222
+ readonly required: "operation";
223
+ };
224
+ readonly remove: {
225
+ readonly optional: true;
226
+ readonly kind: "function";
227
+ readonly required: "round-trip";
228
+ };
229
+ };
230
+ export declare const ASSET_SUBJECT_PROVIDER_SHAPE: {
231
+ readonly get: {
232
+ readonly optional: false;
233
+ readonly kind: "function";
234
+ readonly required: "operation";
235
+ };
236
+ readonly entries: {
237
+ readonly optional: true;
238
+ readonly kind: "function";
239
+ readonly required: "operation";
240
+ };
241
+ };
242
+ export declare const RELATED_SUBJECTS_PROVIDER_SHAPE: {
243
+ readonly links: {
244
+ readonly optional: false;
245
+ readonly kind: "function";
246
+ readonly required: "operation";
247
+ };
248
+ };
249
+ export declare const COMPONENT_INSTANCES_PROVIDER_SHAPE: {
250
+ readonly describe: {
251
+ readonly optional: false;
252
+ readonly kind: "function";
253
+ readonly required: "operation";
254
+ };
255
+ readonly openComponent: {
256
+ readonly optional: true;
257
+ readonly kind: "function";
258
+ readonly required: "effect";
259
+ };
260
+ readonly revert: {
261
+ readonly optional: false;
262
+ readonly kind: "function";
263
+ readonly required: "round-trip";
264
+ };
265
+ readonly applyToComponent: {
266
+ readonly optional: false;
267
+ readonly kind: "function";
268
+ readonly required: "round-trip";
269
+ };
270
+ };
271
+ export declare const STRUCTURE_PROVIDER_SHAPE: {
272
+ readonly create: {
273
+ readonly optional: false;
274
+ readonly kind: "function";
275
+ readonly required: "round-trip";
276
+ };
277
+ readonly remove: {
278
+ readonly optional: false;
279
+ readonly kind: "function";
280
+ readonly required: "round-trip";
281
+ };
282
+ readonly duplicate: {
283
+ readonly optional: false;
284
+ readonly kind: "function";
285
+ readonly required: "round-trip";
286
+ };
287
+ readonly reparent: {
288
+ readonly optional: false;
289
+ readonly kind: "function";
290
+ readonly required: "round-trip";
291
+ };
292
+ readonly reorder: {
293
+ readonly optional: true;
294
+ readonly kind: "function";
295
+ readonly required: "round-trip";
296
+ };
297
+ readonly creatableKinds: {
298
+ readonly optional: true;
299
+ readonly kind: "function";
300
+ readonly required: "operation";
301
+ };
302
+ readonly wrap: {
303
+ readonly optional: true;
304
+ readonly kind: "function";
305
+ readonly required: "round-trip";
306
+ };
307
+ readonly unwrap: {
308
+ readonly optional: true;
309
+ readonly kind: "function";
310
+ readonly required: "round-trip";
311
+ };
312
+ readonly group: {
313
+ readonly optional: true;
314
+ readonly kind: "function";
315
+ readonly required: "round-trip";
316
+ };
317
+ readonly ungroup: {
318
+ readonly optional: true;
319
+ readonly kind: "function";
320
+ readonly required: "round-trip";
321
+ };
322
+ readonly canUngroup: {
323
+ readonly optional: true;
324
+ readonly kind: "function";
325
+ readonly required: "operation";
326
+ };
327
+ readonly removeMany: {
328
+ readonly optional: true;
329
+ readonly kind: "function";
330
+ readonly required: "round-trip";
331
+ };
332
+ readonly copy: {
333
+ readonly optional: true;
334
+ readonly kind: "function";
335
+ readonly required: "effect";
336
+ };
337
+ readonly canCopy: {
338
+ readonly optional: true;
339
+ readonly kind: "function";
340
+ readonly required: "operation";
341
+ };
342
+ readonly cut: {
343
+ readonly optional: true;
344
+ readonly kind: "function";
345
+ readonly required: "round-trip";
346
+ };
347
+ readonly paste: {
348
+ readonly optional: true;
349
+ readonly kind: "function";
350
+ readonly required: "round-trip";
351
+ };
352
+ readonly canPaste: {
353
+ readonly optional: true;
354
+ readonly kind: "function";
355
+ readonly required: "operation";
356
+ };
357
+ };
358
+ export declare const PERSISTENCE_PROVIDER_SHAPE: {
359
+ readonly isDirty: {
360
+ readonly optional: false;
361
+ readonly kind: "function";
362
+ readonly required: "operation";
363
+ };
364
+ readonly lastError: {
365
+ readonly optional: true;
366
+ readonly kind: "function";
367
+ readonly required: "operation";
368
+ };
369
+ readonly save: {
370
+ readonly optional: false;
371
+ readonly kind: "function";
372
+ readonly required: "round-trip";
373
+ };
374
+ readonly destination: {
375
+ readonly optional: false;
376
+ readonly kind: "value";
377
+ readonly required: "shape";
378
+ };
379
+ readonly applyExternal: {
380
+ readonly optional: true;
381
+ readonly kind: "function";
382
+ readonly required: "effect";
383
+ };
384
+ };
385
+ export declare const PICK_PROVIDER_SHAPE: {
386
+ readonly pick: {
387
+ readonly optional: false;
388
+ readonly kind: "function";
389
+ readonly required: "operation";
390
+ };
391
+ readonly candidates: {
392
+ readonly optional: true;
393
+ readonly kind: "function";
394
+ readonly required: "operation";
395
+ };
396
+ };
397
+ export declare const STORIES_PROVIDER_SHAPE: {
398
+ readonly storiesFor: {
399
+ readonly optional: false;
400
+ readonly kind: "function";
401
+ readonly required: "operation";
402
+ };
403
+ readonly active: {
404
+ readonly optional: false;
405
+ readonly kind: "function";
406
+ readonly required: "operation";
407
+ };
408
+ readonly apply: {
409
+ readonly optional: false;
410
+ readonly kind: "function";
411
+ readonly required: "effect";
412
+ };
413
+ readonly isolate: {
414
+ readonly optional: true;
415
+ readonly kind: "function";
416
+ readonly required: "effect";
417
+ };
418
+ readonly title: {
419
+ readonly optional: true;
420
+ readonly kind: "value";
421
+ readonly required: "shape";
422
+ };
423
+ };
424
+ export declare const ASSET_DROP_PROVIDER_SHAPE: {
425
+ readonly accepts: {
426
+ readonly optional: false;
427
+ readonly kind: "function";
428
+ readonly required: "operation";
429
+ };
430
+ readonly drop: {
431
+ readonly optional: false;
432
+ readonly kind: "function";
433
+ readonly required: "round-trip";
434
+ };
435
+ };
436
+ export declare const RECT_PROVIDER_SHAPE: {
437
+ readonly rect: {
438
+ readonly optional: false;
439
+ readonly kind: "function";
440
+ readonly required: "operation";
441
+ };
442
+ readonly contextRects: {
443
+ readonly optional: true;
444
+ readonly kind: "function";
445
+ readonly required: "operation";
446
+ };
447
+ readonly emptyContainers: {
448
+ readonly optional: true;
449
+ readonly kind: "function";
450
+ readonly required: "operation";
451
+ };
452
+ };
453
+ export declare const BOX_EDIT_PROVIDER_SHAPE: {
454
+ readonly begin: {
455
+ readonly optional: false;
456
+ readonly kind: "function";
457
+ readonly required: "effect";
458
+ };
459
+ readonly apply: {
460
+ readonly optional: false;
461
+ readonly kind: "function";
462
+ readonly required: "effect";
463
+ };
464
+ readonly end: {
465
+ readonly optional: false;
466
+ readonly kind: "function";
467
+ readonly required: "effect";
468
+ };
469
+ readonly gizmoOrigin: {
470
+ readonly optional: true;
471
+ readonly kind: "function";
472
+ readonly required: "operation";
473
+ };
474
+ readonly referencePoint: {
475
+ readonly optional: true;
476
+ readonly kind: "function";
477
+ readonly required: "operation";
478
+ };
479
+ };
480
+ export declare const TEXT_PROVIDER_SHAPE: {
481
+ readonly get: {
482
+ readonly optional: false;
483
+ readonly kind: "function";
484
+ readonly required: "operation";
485
+ };
486
+ readonly set: {
487
+ readonly optional: false;
488
+ readonly kind: "function";
489
+ readonly required: "effect";
490
+ };
491
+ };
492
+ export declare const COLOR_SAMPLE_PROVIDER_SHAPE: {
493
+ readonly backgroundChainAt: {
494
+ readonly optional: false;
495
+ readonly kind: "function";
496
+ readonly required: "operation";
497
+ };
498
+ };
499
+ export declare const TRUTH_PROVIDER_SHAPE: {
500
+ readonly resolve: {
501
+ readonly optional: false;
502
+ readonly kind: "function";
503
+ readonly required: "operation";
504
+ };
505
+ };
506
+ export declare const SPATIAL_HANDLES_PROVIDER_SHAPE: {
507
+ readonly layers: {
508
+ readonly optional: false;
509
+ readonly kind: "function";
510
+ readonly required: "operation";
511
+ };
512
+ readonly preview: {
513
+ readonly optional: false;
514
+ readonly kind: "function";
515
+ readonly required: "effect";
516
+ };
517
+ readonly commit: {
518
+ readonly optional: false;
519
+ readonly kind: "function";
520
+ readonly required: "round-trip";
521
+ };
522
+ };
523
+ type ObjectProviderKey = Exclude<keyof AuthoringAdapter, 'capabilities' | 'provenance' | 'hierarchy' | 'subscribe' | 'observeTransforms'>;
524
+ /** The one nested-provider table. Its key type comes from AuthoringAdapter and
525
+ * each value is typed against that provider's own interface. */
526
+ export declare const AUTHORING_PROVIDER_SHAPES: {
527
+ readonly [K in ObjectProviderKey]: SeamShape<NonNullable<AuthoringAdapter[K]>>;
528
+ };
529
+ export {};
530
+ //# sourceMappingURL=authoring-seam-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring-seam-contract.d.ts","sourceRoot":"","sources":["../../src/adapter/authoring-seam-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAGV,gBAAgB,EAiBjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;CAInC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;CAGvC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;CAE1C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;CAK7C,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBnC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CAMrC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;CAMjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;CAGpC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;CAI9B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAG9B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;CAEtC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;CAE/B,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;CAIzC,CAAC;AAEH,KAAK,iBAAiB,GAAG,OAAO,CAC9B,MAAM,gBAAgB,EACtB,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,mBAAmB,CAChF,CAAC;AAEF;gEACgE;AAChE,eAAO,MAAM,yBAAyB,EAAE;IACtC,QAAQ,EAAE,CAAC,IAAI,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAmB/E,CAAC"}
@@ -0,0 +1,162 @@
1
+ /** Compiler-derived proof requirements for the AuthoringAdapter protocol.
2
+ *
3
+ * This is intentionally adjacent to the interface. Coverage used to enumerate
4
+ * only top-level provider names, which allowed `{}` to count as a complete
5
+ * provider. These descriptors cover every nested member and encode the
6
+ * weakest evidence that can truthfully verify it.
7
+ */
8
+ import { defineSeamShape } from './seam-evidence';
9
+ export const AUTHORING_ADAPTER_SHAPE = defineSeamShape()({
10
+ capabilities: { optional: false, kind: 'value', required: 'shape' },
11
+ provenance: { optional: true, kind: 'value', required: 'shape' },
12
+ hierarchy: { optional: false, kind: 'value', required: 'operation' },
13
+ selection: { optional: true, kind: 'value', required: 'effect' },
14
+ transforms: { optional: true, kind: 'value', required: 'effect' },
15
+ inspector: { optional: true, kind: 'value', required: 'effect' },
16
+ assetSubject: { optional: true, kind: 'value', required: 'operation' },
17
+ related: { optional: true, kind: 'value', required: 'operation' },
18
+ instances: { optional: true, kind: 'value', required: 'effect' },
19
+ structure: { optional: true, kind: 'value', required: 'round-trip' },
20
+ persistence: { optional: true, kind: 'value', required: 'round-trip' },
21
+ pickable: { optional: true, kind: 'value', required: 'operation' },
22
+ rects: { optional: true, kind: 'value', required: 'operation' },
23
+ boxEdit: { optional: true, kind: 'value', required: 'effect' },
24
+ text: { optional: true, kind: 'value', required: 'effect' },
25
+ colorSample: { optional: true, kind: 'value', required: 'operation' },
26
+ stories: { optional: true, kind: 'value', required: 'effect' },
27
+ truth: { optional: true, kind: 'value', required: 'operation' },
28
+ spatialHandles: { optional: true, kind: 'value', required: 'effect' },
29
+ assetDrop: { optional: true, kind: 'value', required: 'round-trip' },
30
+ subscribe: { optional: true, kind: 'function', required: 'effect' },
31
+ observeTransforms: { optional: true, kind: 'function', required: 'effect' },
32
+ });
33
+ export const HIERARCHY_PROVIDER_SHAPE = defineSeamShape()({
34
+ roots: { optional: false, kind: 'function', required: 'operation' },
35
+ node: { optional: false, kind: 'function', required: 'operation' },
36
+ object3D: { optional: true, kind: 'function', required: 'operation' },
37
+ idForObject3D: { optional: true, kind: 'function', required: 'effect' },
38
+ });
39
+ export const SELECTION_PROVIDER_SHAPE = defineSeamShape()({
40
+ get: { optional: false, kind: 'function', required: 'operation' },
41
+ set: { optional: false, kind: 'function', required: 'effect' },
42
+ resolve: { optional: true, kind: 'function', required: 'operation' },
43
+ });
44
+ export const TRANSFORM_PROVIDER_SHAPE = defineSeamShape()({
45
+ dimensions: { optional: true, kind: 'function', required: 'operation' },
46
+ get: { optional: false, kind: 'function', required: 'operation' },
47
+ editability: { optional: true, kind: 'function', required: 'operation' },
48
+ beginEdit: { optional: false, kind: 'function', required: 'effect' },
49
+ apply: { optional: false, kind: 'function', required: 'effect' },
50
+ endEdit: { optional: false, kind: 'function', required: 'effect' },
51
+ remove: { optional: true, kind: 'function', required: 'round-trip' },
52
+ sourceCommit: { optional: true, kind: 'value', required: 'round-trip' },
53
+ });
54
+ export const INSPECTOR_PROVIDER_SHAPE = defineSeamShape()({
55
+ properties: { optional: false, kind: 'function', required: 'operation' },
56
+ get: { optional: false, kind: 'function', required: 'operation' },
57
+ set: { optional: false, kind: 'function', required: 'effect' },
58
+ editability: { optional: true, kind: 'function', required: 'operation' },
59
+ remove: { optional: true, kind: 'function', required: 'round-trip' },
60
+ });
61
+ export const ASSET_SUBJECT_PROVIDER_SHAPE = defineSeamShape()({
62
+ get: { optional: false, kind: 'function', required: 'operation' },
63
+ entries: { optional: true, kind: 'function', required: 'operation' },
64
+ });
65
+ export const RELATED_SUBJECTS_PROVIDER_SHAPE = defineSeamShape()({
66
+ links: { optional: false, kind: 'function', required: 'operation' },
67
+ });
68
+ export const COMPONENT_INSTANCES_PROVIDER_SHAPE = defineSeamShape()({
69
+ describe: { optional: false, kind: 'function', required: 'operation' },
70
+ openComponent: { optional: true, kind: 'function', required: 'effect' },
71
+ revert: { optional: false, kind: 'function', required: 'round-trip' },
72
+ applyToComponent: { optional: false, kind: 'function', required: 'round-trip' },
73
+ });
74
+ export const STRUCTURE_PROVIDER_SHAPE = defineSeamShape()({
75
+ create: { optional: false, kind: 'function', required: 'round-trip' },
76
+ remove: { optional: false, kind: 'function', required: 'round-trip' },
77
+ duplicate: { optional: false, kind: 'function', required: 'round-trip' },
78
+ reparent: { optional: false, kind: 'function', required: 'round-trip' },
79
+ reorder: { optional: true, kind: 'function', required: 'round-trip' },
80
+ creatableKinds: { optional: true, kind: 'function', required: 'operation' },
81
+ wrap: { optional: true, kind: 'function', required: 'round-trip' },
82
+ unwrap: { optional: true, kind: 'function', required: 'round-trip' },
83
+ group: { optional: true, kind: 'function', required: 'round-trip' },
84
+ ungroup: { optional: true, kind: 'function', required: 'round-trip' },
85
+ canUngroup: { optional: true, kind: 'function', required: 'operation' },
86
+ removeMany: { optional: true, kind: 'function', required: 'round-trip' },
87
+ copy: { optional: true, kind: 'function', required: 'effect' },
88
+ canCopy: { optional: true, kind: 'function', required: 'operation' },
89
+ cut: { optional: true, kind: 'function', required: 'round-trip' },
90
+ paste: { optional: true, kind: 'function', required: 'round-trip' },
91
+ canPaste: { optional: true, kind: 'function', required: 'operation' },
92
+ });
93
+ export const PERSISTENCE_PROVIDER_SHAPE = defineSeamShape()({
94
+ isDirty: { optional: false, kind: 'function', required: 'operation' },
95
+ lastError: { optional: true, kind: 'function', required: 'operation' },
96
+ save: { optional: false, kind: 'function', required: 'round-trip' },
97
+ destination: { optional: false, kind: 'value', required: 'shape' },
98
+ applyExternal: { optional: true, kind: 'function', required: 'effect' },
99
+ });
100
+ export const PICK_PROVIDER_SHAPE = defineSeamShape()({
101
+ pick: { optional: false, kind: 'function', required: 'operation' },
102
+ candidates: { optional: true, kind: 'function', required: 'operation' },
103
+ });
104
+ export const STORIES_PROVIDER_SHAPE = defineSeamShape()({
105
+ storiesFor: { optional: false, kind: 'function', required: 'operation' },
106
+ active: { optional: false, kind: 'function', required: 'operation' },
107
+ apply: { optional: false, kind: 'function', required: 'effect' },
108
+ isolate: { optional: true, kind: 'function', required: 'effect' },
109
+ title: { optional: true, kind: 'value', required: 'shape' },
110
+ });
111
+ export const ASSET_DROP_PROVIDER_SHAPE = defineSeamShape()({
112
+ accepts: { optional: false, kind: 'function', required: 'operation' },
113
+ drop: { optional: false, kind: 'function', required: 'round-trip' },
114
+ });
115
+ export const RECT_PROVIDER_SHAPE = defineSeamShape()({
116
+ rect: { optional: false, kind: 'function', required: 'operation' },
117
+ contextRects: { optional: true, kind: 'function', required: 'operation' },
118
+ emptyContainers: { optional: true, kind: 'function', required: 'operation' },
119
+ });
120
+ export const BOX_EDIT_PROVIDER_SHAPE = defineSeamShape()({
121
+ begin: { optional: false, kind: 'function', required: 'effect' },
122
+ apply: { optional: false, kind: 'function', required: 'effect' },
123
+ end: { optional: false, kind: 'function', required: 'effect' },
124
+ gizmoOrigin: { optional: true, kind: 'function', required: 'operation' },
125
+ referencePoint: { optional: true, kind: 'function', required: 'operation' },
126
+ });
127
+ export const TEXT_PROVIDER_SHAPE = defineSeamShape()({
128
+ get: { optional: false, kind: 'function', required: 'operation' },
129
+ set: { optional: false, kind: 'function', required: 'effect' },
130
+ });
131
+ export const COLOR_SAMPLE_PROVIDER_SHAPE = defineSeamShape()({
132
+ backgroundChainAt: { optional: false, kind: 'function', required: 'operation' },
133
+ });
134
+ export const TRUTH_PROVIDER_SHAPE = defineSeamShape()({
135
+ resolve: { optional: false, kind: 'function', required: 'operation' },
136
+ });
137
+ export const SPATIAL_HANDLES_PROVIDER_SHAPE = defineSeamShape()({
138
+ layers: { optional: false, kind: 'function', required: 'operation' },
139
+ preview: { optional: false, kind: 'function', required: 'effect' },
140
+ commit: { optional: false, kind: 'function', required: 'round-trip' },
141
+ });
142
+ /** The one nested-provider table. Its key type comes from AuthoringAdapter and
143
+ * each value is typed against that provider's own interface. */
144
+ export const AUTHORING_PROVIDER_SHAPES = {
145
+ selection: SELECTION_PROVIDER_SHAPE,
146
+ transforms: TRANSFORM_PROVIDER_SHAPE,
147
+ inspector: INSPECTOR_PROVIDER_SHAPE,
148
+ assetSubject: ASSET_SUBJECT_PROVIDER_SHAPE,
149
+ related: RELATED_SUBJECTS_PROVIDER_SHAPE,
150
+ instances: COMPONENT_INSTANCES_PROVIDER_SHAPE,
151
+ structure: STRUCTURE_PROVIDER_SHAPE,
152
+ persistence: PERSISTENCE_PROVIDER_SHAPE,
153
+ pickable: PICK_PROVIDER_SHAPE,
154
+ rects: RECT_PROVIDER_SHAPE,
155
+ boxEdit: BOX_EDIT_PROVIDER_SHAPE,
156
+ text: TEXT_PROVIDER_SHAPE,
157
+ colorSample: COLOR_SAMPLE_PROVIDER_SHAPE,
158
+ stories: STORIES_PROVIDER_SHAPE,
159
+ truth: TRUTH_PROVIDER_SHAPE,
160
+ spatialHandles: SPATIAL_HANDLES_PROVIDER_SHAPE,
161
+ assetDrop: ASSET_DROP_PROVIDER_SHAPE,
162
+ };