@vgai/engine 0.2.0 → 0.3.0

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 (541) hide show
  1. package/README.md +3 -1
  2. package/dist/adapter/authoring.d.ts +404 -0
  3. package/dist/adapter/authoring.d.ts.map +1 -0
  4. package/dist/adapter/authoring.js +22 -0
  5. package/dist/adapter/colyseus-networking-adapter.d.ts +43 -0
  6. package/dist/adapter/colyseus-networking-adapter.d.ts.map +1 -0
  7. package/dist/adapter/colyseus-networking-adapter.js +38 -0
  8. package/dist/adapter/first-party-systems.d.ts +38 -0
  9. package/dist/adapter/first-party-systems.d.ts.map +1 -0
  10. package/dist/adapter/first-party-systems.js +77 -0
  11. package/dist/adapter/game-adapter.d.ts +133 -0
  12. package/dist/adapter/game-adapter.d.ts.map +1 -0
  13. package/dist/adapter/game-adapter.js +10 -0
  14. package/dist/adapter/host-context.d.ts +73 -0
  15. package/dist/adapter/host-context.d.ts.map +1 -0
  16. package/dist/adapter/host-context.js +16 -0
  17. package/dist/adapter/index.d.ts +22 -0
  18. package/dist/adapter/index.d.ts.map +1 -0
  19. package/dist/adapter/index.js +15 -0
  20. package/dist/adapter/ingest/game-contract.d.ts +53 -0
  21. package/dist/adapter/ingest/game-contract.d.ts.map +1 -0
  22. package/dist/adapter/ingest/game-contract.js +30 -0
  23. package/dist/adapter/ingest/overlay-applier.d.ts +118 -0
  24. package/dist/adapter/ingest/overlay-applier.d.ts.map +1 -0
  25. package/dist/adapter/ingest/overlay-applier.js +132 -0
  26. package/dist/adapter/ingest/overlay-apply.d.ts +60 -0
  27. package/dist/adapter/ingest/overlay-apply.d.ts.map +1 -0
  28. package/dist/adapter/ingest/overlay-apply.js +101 -0
  29. package/dist/adapter/ingest/overlay-file.d.ts +79 -0
  30. package/dist/adapter/ingest/overlay-file.d.ts.map +1 -0
  31. package/dist/adapter/ingest/overlay-file.js +66 -0
  32. package/dist/adapter/ingest/overlay-report.d.ts +113 -0
  33. package/dist/adapter/ingest/overlay-report.d.ts.map +1 -0
  34. package/dist/adapter/ingest/overlay-report.js +103 -0
  35. package/dist/adapter/ingest/scene-capture.d.ts +97 -0
  36. package/dist/adapter/ingest/scene-capture.d.ts.map +1 -0
  37. package/dist/adapter/ingest/scene-capture.js +248 -0
  38. package/dist/adapter/ingest/upstream-pin.d.ts +47 -0
  39. package/dist/adapter/ingest/upstream-pin.d.ts.map +1 -0
  40. package/dist/adapter/ingest/upstream-pin.js +50 -0
  41. package/dist/adapter/loop-gate-report.d.ts +34 -0
  42. package/dist/adapter/loop-gate-report.d.ts.map +1 -0
  43. package/dist/adapter/loop-gate-report.js +37 -0
  44. package/dist/adapter/rapier-physics-adapter.d.ts +12 -0
  45. package/dist/adapter/rapier-physics-adapter.d.ts.map +1 -0
  46. package/dist/adapter/rapier-physics-adapter.js +46 -0
  47. package/dist/adapter/system-adapter.d.ts +133 -0
  48. package/dist/adapter/system-adapter.d.ts.map +1 -0
  49. package/dist/adapter/system-adapter.js +13 -0
  50. package/dist/adapter/transform.d.ts +18 -0
  51. package/dist/adapter/transform.d.ts.map +1 -0
  52. package/dist/adapter/transform.js +1 -0
  53. package/dist/adapter/vgai-scene-game-adapter.d.ts +116 -0
  54. package/dist/adapter/vgai-scene-game-adapter.d.ts.map +1 -0
  55. package/dist/adapter/vgai-scene-game-adapter.js +714 -0
  56. package/dist/adapter/world-kind.d.ts +30 -0
  57. package/dist/adapter/world-kind.d.ts.map +1 -0
  58. package/dist/adapter/world-kind.js +18 -0
  59. package/dist/ai/navigation.d.ts +64 -0
  60. package/dist/ai/navigation.d.ts.map +1 -0
  61. package/dist/ai/navigation.js +133 -0
  62. package/dist/animation/anim-graph-types.d.ts +25 -0
  63. package/dist/animation/anim-graph-types.d.ts.map +1 -0
  64. package/dist/animation/anim-graph-types.js +1 -0
  65. package/dist/animation/animation-clock.d.ts +213 -0
  66. package/dist/animation/animation-clock.d.ts.map +1 -0
  67. package/dist/animation/animation-clock.js +301 -0
  68. package/dist/animation/blend-node.d.ts +22 -0
  69. package/dist/animation/blend-node.d.ts.map +1 -0
  70. package/dist/animation/blend-node.js +97 -0
  71. package/dist/animation/camera-ownership.d.ts +250 -0
  72. package/dist/animation/camera-ownership.d.ts.map +1 -0
  73. package/dist/animation/camera-ownership.js +169 -0
  74. package/dist/animation/cinematic-cues.d.ts +200 -0
  75. package/dist/animation/cinematic-cues.d.ts.map +1 -0
  76. package/dist/animation/cinematic-cues.js +213 -0
  77. package/dist/animation/clip-map.d.ts +12 -0
  78. package/dist/animation/clip-map.d.ts.map +1 -0
  79. package/dist/animation/clip-map.js +37 -0
  80. package/dist/animation/gsap-registration.d.ts +119 -0
  81. package/dist/animation/gsap-registration.d.ts.map +1 -0
  82. package/dist/animation/gsap-registration.js +92 -0
  83. package/dist/animation/theatre-clock-binding.d.ts +89 -0
  84. package/dist/animation/theatre-clock-binding.d.ts.map +1 -0
  85. package/dist/animation/theatre-clock-binding.js +29 -0
  86. package/dist/animation/theatre-director.d.ts +242 -0
  87. package/dist/animation/theatre-director.d.ts.map +1 -0
  88. package/dist/animation/theatre-director.js +235 -0
  89. package/dist/animation/theatre-object-binding.d.ts +305 -0
  90. package/dist/animation/theatre-object-binding.d.ts.map +1 -0
  91. package/dist/animation/theatre-object-binding.js +351 -0
  92. package/dist/animation/xstate-animation-binding.d.ts +111 -0
  93. package/dist/animation/xstate-animation-binding.d.ts.map +1 -0
  94. package/dist/animation/xstate-animation-binding.js +307 -0
  95. package/dist/animation/xstate-animation-meta.d.ts +228 -0
  96. package/dist/animation/xstate-animation-meta.d.ts.map +1 -0
  97. package/dist/animation/xstate-animation-meta.js +221 -0
  98. package/dist/assets.d.ts +26 -0
  99. package/dist/assets.d.ts.map +1 -0
  100. package/dist/assets.js +55 -0
  101. package/dist/audio/index.d.ts +4 -0
  102. package/dist/audio/index.d.ts.map +1 -0
  103. package/dist/audio/index.js +24 -0
  104. package/dist/audio/tone-clock-binding.d.ts +75 -0
  105. package/dist/audio/tone-clock-binding.d.ts.map +1 -0
  106. package/dist/audio/tone-clock-binding.js +29 -0
  107. package/dist/audio/tone-context.d.ts +114 -0
  108. package/dist/audio/tone-context.d.ts.map +1 -0
  109. package/dist/audio/tone-context.js +39 -0
  110. package/dist/audio/tone-offline-render.d.ts +90 -0
  111. package/dist/audio/tone-offline-render.d.ts.map +1 -0
  112. package/dist/audio/tone-offline-render.js +56 -0
  113. package/dist/audio/wav-encode.d.ts +38 -0
  114. package/dist/audio/wav-encode.d.ts.map +1 -0
  115. package/dist/audio/wav-encode.js +97 -0
  116. package/dist/core/game-loop.d.ts +21 -0
  117. package/dist/core/game-loop.d.ts.map +1 -0
  118. package/dist/core/game-loop.js +130 -0
  119. package/dist/core/system-runner.d.ts +120 -0
  120. package/dist/core/system-runner.d.ts.map +1 -0
  121. package/dist/core/system-runner.js +286 -0
  122. package/dist/core/types.d.ts +58 -0
  123. package/dist/core/types.d.ts.map +1 -0
  124. package/dist/core/types.js +25 -0
  125. package/dist/data/data-asset.d.ts +101 -0
  126. package/dist/data/data-asset.d.ts.map +1 -0
  127. package/dist/data/data-asset.js +122 -0
  128. package/dist/data/data-check-core.d.ts +110 -0
  129. package/dist/data/data-check-core.d.ts.map +1 -0
  130. package/dist/data/data-check-core.js +178 -0
  131. package/dist/data/data-ref.d.ts +79 -0
  132. package/dist/data/data-ref.d.ts.map +1 -0
  133. package/dist/data/data-ref.js +130 -0
  134. package/dist/data/vite-plugin-data.d.ts +79 -0
  135. package/dist/data/vite-plugin-data.d.ts.map +1 -0
  136. package/dist/data/vite-plugin-data.js +217 -0
  137. package/dist/dev/console-bridge.d.ts +22 -0
  138. package/dist/dev/console-bridge.d.ts.map +1 -0
  139. package/dist/dev/console-bridge.js +71 -0
  140. package/dist/dev/debug-draw.d.ts +24 -0
  141. package/dist/dev/debug-draw.d.ts.map +1 -0
  142. package/dist/dev/debug-draw.js +73 -0
  143. package/dist/dev/logger.d.ts +30 -0
  144. package/dist/dev/logger.d.ts.map +1 -0
  145. package/dist/dev/logger.js +90 -0
  146. package/dist/ecs/component-manager.d.ts +189 -0
  147. package/dist/ecs/component-manager.d.ts.map +1 -0
  148. package/dist/ecs/component-manager.js +676 -0
  149. package/dist/ecs/game-component.d.ts +97 -0
  150. package/dist/ecs/game-component.d.ts.map +1 -0
  151. package/dist/ecs/game-component.js +80 -0
  152. package/dist/ecs/hmr-swap-report.d.ts +53 -0
  153. package/dist/ecs/hmr-swap-report.d.ts.map +1 -0
  154. package/dist/ecs/hmr-swap-report.js +55 -0
  155. package/dist/index.d.ts +37 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +30 -0
  158. package/dist/input/input-manager.d.ts +596 -0
  159. package/dist/input/input-manager.d.ts.map +1 -0
  160. package/dist/input/input-manager.js +1564 -0
  161. package/dist/input/input-types.d.ts +171 -0
  162. package/dist/input/input-types.d.ts.map +1 -0
  163. package/dist/input/input-types.js +1 -0
  164. package/dist/input/prompt-labels.d.ts +21 -0
  165. package/dist/input/prompt-labels.d.ts.map +1 -0
  166. package/dist/input/prompt-labels.js +121 -0
  167. package/dist/input/rebind-controller.d.ts +59 -0
  168. package/dist/input/rebind-controller.d.ts.map +1 -0
  169. package/dist/input/rebind-controller.js +85 -0
  170. package/dist/input/schema.d.ts +16 -0
  171. package/dist/input/schema.d.ts.map +1 -0
  172. package/dist/input/schema.js +228 -0
  173. package/dist/loader.d.ts +43 -0
  174. package/dist/loader.d.ts.map +1 -0
  175. package/dist/loader.js +59 -0
  176. package/dist/manifest/index.d.ts +5 -0
  177. package/dist/manifest/index.d.ts.map +1 -0
  178. package/dist/manifest/index.js +8 -0
  179. package/dist/manifest/load-file.d.ts +4 -0
  180. package/dist/manifest/load-file.d.ts.map +1 -0
  181. package/dist/manifest/load-file.js +14 -0
  182. package/dist/manifest/load.d.ts +117 -0
  183. package/dist/manifest/load.d.ts.map +1 -0
  184. package/dist/manifest/load.js +255 -0
  185. package/dist/manifest/schema.d.ts +173 -0
  186. package/dist/manifest/schema.d.ts.map +1 -0
  187. package/dist/manifest/schema.js +302 -0
  188. package/dist/physics/collision-system.d.ts +41 -0
  189. package/dist/physics/collision-system.d.ts.map +1 -0
  190. package/dist/physics/collision-system.js +64 -0
  191. package/dist/physics/physics-registry.d.ts +45 -0
  192. package/dist/physics/physics-registry.d.ts.map +1 -0
  193. package/dist/physics/physics-registry.js +65 -0
  194. package/dist/physics/transform-writer.d.ts +16 -0
  195. package/dist/physics/transform-writer.d.ts.map +1 -0
  196. package/dist/physics/transform-writer.js +38 -0
  197. package/dist/physics/trigger-dispatch.d.ts +24 -0
  198. package/dist/physics/trigger-dispatch.d.ts.map +1 -0
  199. package/dist/physics/trigger-dispatch.js +80 -0
  200. package/dist/react/game-state.d.ts +105 -0
  201. package/dist/react/game-state.d.ts.map +1 -0
  202. package/dist/react/game-state.js +144 -0
  203. package/dist/react/use-data.d.ts +60 -0
  204. package/dist/react/use-data.d.ts.map +1 -0
  205. package/dist/react/use-data.js +96 -0
  206. package/dist/react/use-selection.d.ts +75 -0
  207. package/dist/react/use-selection.d.ts.map +1 -0
  208. package/dist/react/use-selection.js +90 -0
  209. package/dist/render/auto-batcher.d.ts +34 -0
  210. package/dist/render/auto-batcher.d.ts.map +1 -0
  211. package/dist/render/auto-batcher.js +140 -0
  212. package/dist/render/render-batch-system.d.ts +33 -0
  213. package/dist/render/render-batch-system.d.ts.map +1 -0
  214. package/dist/render/render-batch-system.js +230 -0
  215. package/dist/render/render-features.d.ts +47 -0
  216. package/dist/render/render-features.d.ts.map +1 -0
  217. package/dist/render/render-features.js +105 -0
  218. package/dist/render/render-settings.d.ts +36 -0
  219. package/dist/render/render-settings.d.ts.map +1 -0
  220. package/dist/render/render-settings.js +51 -0
  221. package/dist/runtime/create-runtime.d.ts +280 -0
  222. package/dist/runtime/create-runtime.d.ts.map +1 -0
  223. package/dist/runtime/create-runtime.js +795 -0
  224. package/dist/runtime/frame-selector-cache.d.ts +41 -0
  225. package/dist/runtime/frame-selector-cache.d.ts.map +1 -0
  226. package/dist/runtime/frame-selector-cache.js +65 -0
  227. package/dist/runtime/game.d.ts +433 -0
  228. package/dist/runtime/game.d.ts.map +1 -0
  229. package/dist/runtime/game.js +569 -0
  230. package/dist/runtime/input-router.d.ts +78 -0
  231. package/dist/runtime/input-router.d.ts.map +1 -0
  232. package/dist/runtime/input-router.js +171 -0
  233. package/dist/runtime/mount-game.d.ts +129 -0
  234. package/dist/runtime/mount-game.d.ts.map +1 -0
  235. package/dist/runtime/mount-game.js +152 -0
  236. package/dist/runtime/mount-manifest.d.ts +119 -0
  237. package/dist/runtime/mount-manifest.d.ts.map +1 -0
  238. package/dist/runtime/mount-manifest.js +204 -0
  239. package/dist/runtime/render-audio-control.d.ts +110 -0
  240. package/dist/runtime/render-audio-control.d.ts.map +1 -0
  241. package/dist/runtime/render-audio-control.js +111 -0
  242. package/dist/runtime/render-control.d.ts +291 -0
  243. package/dist/runtime/render-control.d.ts.map +1 -0
  244. package/dist/runtime/render-control.js +264 -0
  245. package/dist/runtime/render-seed.d.ts +57 -0
  246. package/dist/runtime/render-seed.d.ts.map +1 -0
  247. package/dist/runtime/render-seed.js +74 -0
  248. package/dist/runtime/scene-ui-bridge.d.ts +69 -0
  249. package/dist/runtime/scene-ui-bridge.d.ts.map +1 -0
  250. package/dist/runtime/scene-ui-bridge.js +23 -0
  251. package/dist/runtime/scene-ui-data.d.ts +13 -0
  252. package/dist/runtime/scene-ui-data.d.ts.map +1 -0
  253. package/dist/runtime/scene-ui-data.js +92 -0
  254. package/dist/runtime/state-bridge.d.ts +47 -0
  255. package/dist/runtime/state-bridge.d.ts.map +1 -0
  256. package/dist/runtime/state-bridge.js +53 -0
  257. package/dist/runtime/types.d.ts +179 -0
  258. package/dist/runtime/types.d.ts.map +1 -0
  259. package/dist/runtime/types.js +1 -0
  260. package/dist/scene/asset-loaders.d.ts +79 -0
  261. package/dist/scene/asset-loaders.d.ts.map +1 -0
  262. package/dist/scene/asset-loaders.js +141 -0
  263. package/dist/scene/asset-paths.d.ts +11 -0
  264. package/dist/scene/asset-paths.d.ts.map +1 -0
  265. package/dist/scene/asset-paths.js +108 -0
  266. package/dist/scene/asset-ref-check.d.ts +88 -0
  267. package/dist/scene/asset-ref-check.d.ts.map +1 -0
  268. package/dist/scene/asset-ref-check.js +214 -0
  269. package/dist/scene/asset-registry.d.ts +30 -0
  270. package/dist/scene/asset-registry.d.ts.map +1 -0
  271. package/dist/scene/asset-registry.js +50 -0
  272. package/dist/scene/collider-dimensions.d.ts +63 -0
  273. package/dist/scene/collider-dimensions.d.ts.map +1 -0
  274. package/dist/scene/collider-dimensions.js +98 -0
  275. package/dist/scene/component-registry.d.ts +17 -0
  276. package/dist/scene/component-registry.d.ts.map +1 -0
  277. package/dist/scene/component-registry.js +28 -0
  278. package/dist/scene/defaults.d.ts +252 -0
  279. package/dist/scene/defaults.d.ts.map +1 -0
  280. package/dist/scene/defaults.js +151 -0
  281. package/dist/scene/geometries/index.d.ts +8 -0
  282. package/dist/scene/geometries/index.d.ts.map +1 -0
  283. package/dist/scene/geometries/index.js +7 -0
  284. package/dist/scene/geometries/terrain.d.ts +2 -0
  285. package/dist/scene/geometries/terrain.d.ts.map +1 -0
  286. package/dist/scene/geometries/terrain.js +37 -0
  287. package/dist/scene/geometry-registry.d.ts +24 -0
  288. package/dist/scene/geometry-registry.d.ts.map +1 -0
  289. package/dist/scene/geometry-registry.js +20 -0
  290. package/dist/scene/instance-registry.d.ts +36 -0
  291. package/dist/scene/instance-registry.d.ts.map +1 -0
  292. package/dist/scene/instance-registry.js +55 -0
  293. package/dist/scene/instancers/grid.d.ts +2 -0
  294. package/dist/scene/instancers/grid.d.ts.map +1 -0
  295. package/dist/scene/instancers/grid.js +36 -0
  296. package/dist/scene/instancers/index.d.ts +8 -0
  297. package/dist/scene/instancers/index.d.ts.map +1 -0
  298. package/dist/scene/instancers/index.js +7 -0
  299. package/dist/scene/light-camera-factory.d.ts +23 -0
  300. package/dist/scene/light-camera-factory.d.ts.map +1 -0
  301. package/dist/scene/light-camera-factory.js +68 -0
  302. package/dist/scene/material-factory.d.ts +17 -0
  303. package/dist/scene/material-factory.d.ts.map +1 -0
  304. package/dist/scene/material-factory.js +197 -0
  305. package/dist/scene/material-registry.d.ts +40 -0
  306. package/dist/scene/material-registry.d.ts.map +1 -0
  307. package/dist/scene/material-registry.js +44 -0
  308. package/dist/scene/materials/index.d.ts +8 -0
  309. package/dist/scene/materials/index.d.ts.map +1 -0
  310. package/dist/scene/materials/index.js +7 -0
  311. package/dist/scene/materials/water.d.ts +2 -0
  312. package/dist/scene/materials/water.d.ts.map +1 -0
  313. package/dist/scene/materials/water.js +54 -0
  314. package/dist/scene/parse.d.ts +23 -0
  315. package/dist/scene/parse.d.ts.map +1 -0
  316. package/dist/scene/parse.js +179 -0
  317. package/dist/scene/particles-factory.d.ts +33 -0
  318. package/dist/scene/particles-factory.d.ts.map +1 -0
  319. package/dist/scene/particles-factory.js +282 -0
  320. package/dist/scene/scene-apply.d.ts +109 -0
  321. package/dist/scene/scene-apply.d.ts.map +1 -0
  322. package/dist/scene/scene-apply.js +326 -0
  323. package/dist/scene/scene-diff-schema.d.ts +285 -0
  324. package/dist/scene/scene-diff-schema.d.ts.map +1 -0
  325. package/dist/scene/scene-diff-schema.js +92 -0
  326. package/dist/scene/scene-diff-types.d.ts +40 -0
  327. package/dist/scene/scene-diff-types.d.ts.map +1 -0
  328. package/dist/scene/scene-diff-types.js +14 -0
  329. package/dist/scene/scene-loader.d.ts +177 -0
  330. package/dist/scene/scene-loader.d.ts.map +1 -0
  331. package/dist/scene/scene-loader.js +1213 -0
  332. package/dist/scene/scene-query.d.ts +11 -0
  333. package/dist/scene/scene-query.d.ts.map +1 -0
  334. package/dist/scene/scene-query.js +63 -0
  335. package/dist/scene/scene-types.d.ts +10 -0
  336. package/dist/scene/scene-types.d.ts.map +1 -0
  337. package/dist/scene/scene-types.js +8 -0
  338. package/dist/scene/scene-version.d.ts +26 -0
  339. package/dist/scene/scene-version.d.ts.map +1 -0
  340. package/dist/scene/scene-version.js +34 -0
  341. package/dist/scene/schema/animation.d.ts +8 -0
  342. package/dist/scene/schema/animation.d.ts.map +1 -0
  343. package/dist/scene/schema/animation.js +42 -0
  344. package/dist/scene/schema/audio.d.ts +13 -0
  345. package/dist/scene/schema/audio.d.ts.map +1 -0
  346. package/dist/scene/schema/audio.js +22 -0
  347. package/dist/scene/schema/camera.d.ts +28 -0
  348. package/dist/scene/schema/camera.d.ts.map +1 -0
  349. package/dist/scene/schema/camera.js +17 -0
  350. package/dist/scene/schema/collider.d.ts +40 -0
  351. package/dist/scene/schema/collider.d.ts.map +1 -0
  352. package/dist/scene/schema/collider.js +55 -0
  353. package/dist/scene/schema/entity-ref.d.ts +31 -0
  354. package/dist/scene/schema/entity-ref.d.ts.map +1 -0
  355. package/dist/scene/schema/entity-ref.js +61 -0
  356. package/dist/scene/schema/entity.d.ts +1036 -0
  357. package/dist/scene/schema/entity.d.ts.map +1 -0
  358. package/dist/scene/schema/entity.js +153 -0
  359. package/dist/scene/schema/environment.d.ts +425 -0
  360. package/dist/scene/schema/environment.d.ts.map +1 -0
  361. package/dist/scene/schema/environment.js +357 -0
  362. package/dist/scene/schema/index.d.ts +39 -0
  363. package/dist/scene/schema/index.d.ts.map +1 -0
  364. package/dist/scene/schema/index.js +20 -0
  365. package/dist/scene/schema/instances.d.ts +14 -0
  366. package/dist/scene/schema/instances.d.ts.map +1 -0
  367. package/dist/scene/schema/instances.js +28 -0
  368. package/dist/scene/schema/joint.d.ts +23 -0
  369. package/dist/scene/schema/joint.d.ts.map +1 -0
  370. package/dist/scene/schema/joint.js +23 -0
  371. package/dist/scene/schema/light.d.ts +38 -0
  372. package/dist/scene/schema/light.d.ts.map +1 -0
  373. package/dist/scene/schema/light.js +26 -0
  374. package/dist/scene/schema/material.d.ts +199 -0
  375. package/dist/scene/schema/material.d.ts.map +1 -0
  376. package/dist/scene/schema/material.js +99 -0
  377. package/dist/scene/schema/mesh.d.ts +48 -0
  378. package/dist/scene/schema/mesh.d.ts.map +1 -0
  379. package/dist/scene/schema/mesh.js +82 -0
  380. package/dist/scene/schema/particles.d.ts +2178 -0
  381. package/dist/scene/schema/particles.d.ts.map +1 -0
  382. package/dist/scene/schema/particles.js +321 -0
  383. package/dist/scene/schema/physics.d.ts +56 -0
  384. package/dist/scene/schema/physics.d.ts.map +1 -0
  385. package/dist/scene/schema/physics.js +37 -0
  386. package/dist/scene/schema/scene-file.d.ts +304 -0
  387. package/dist/scene/schema/scene-file.d.ts.map +1 -0
  388. package/dist/scene/schema/scene-file.js +262 -0
  389. package/dist/scene/schema/shadow.d.ts +28 -0
  390. package/dist/scene/schema/shadow.d.ts.map +1 -0
  391. package/dist/scene/schema/shadow.js +20 -0
  392. package/dist/scene/schema/spline.d.ts +25 -0
  393. package/dist/scene/schema/spline.d.ts.map +1 -0
  394. package/dist/scene/schema/spline.js +15 -0
  395. package/dist/scene/schema/tuples.d.ts +12 -0
  396. package/dist/scene/schema/tuples.d.ts.map +1 -0
  397. package/dist/scene/schema/tuples.js +14 -0
  398. package/dist/scene/schema/ui.d.ts +880 -0
  399. package/dist/scene/schema/ui.d.ts.map +1 -0
  400. package/dist/scene/schema/ui.js +506 -0
  401. package/dist/scene/user-data.d.ts +171 -0
  402. package/dist/scene/user-data.d.ts.map +1 -0
  403. package/dist/scene/user-data.js +137 -0
  404. package/dist/setup/setup-audio.d.ts +20 -0
  405. package/dist/setup/setup-audio.d.ts.map +1 -0
  406. package/dist/setup/setup-audio.js +41 -0
  407. package/dist/setup/setup-particles.d.ts +17 -0
  408. package/dist/setup/setup-particles.d.ts.map +1 -0
  409. package/dist/setup/setup-particles.js +16 -0
  410. package/dist/setup/setup-physics.d.ts +25 -0
  411. package/dist/setup/setup-physics.d.ts.map +1 -0
  412. package/dist/setup/setup-physics.js +51 -0
  413. package/dist/setup/setup-renderer.d.ts +69 -0
  414. package/dist/setup/setup-renderer.d.ts.map +1 -0
  415. package/dist/setup/setup-renderer.js +363 -0
  416. package/dist/tools/define-tool.d.ts +105 -0
  417. package/dist/tools/define-tool.d.ts.map +1 -0
  418. package/dist/tools/define-tool.js +82 -0
  419. package/dist/world2d/authoring-2d.d.ts +76 -0
  420. package/dist/world2d/authoring-2d.d.ts.map +1 -0
  421. package/dist/world2d/authoring-2d.js +176 -0
  422. package/dist/world2d/capture-to-scene2d.d.ts +5 -0
  423. package/dist/world2d/capture-to-scene2d.d.ts.map +1 -0
  424. package/dist/world2d/capture-to-scene2d.js +49 -0
  425. package/dist/world2d/collision-2d.d.ts +52 -0
  426. package/dist/world2d/collision-2d.d.ts.map +1 -0
  427. package/dist/world2d/collision-2d.js +70 -0
  428. package/dist/world2d/components-2d.d.ts +47 -0
  429. package/dist/world2d/components-2d.d.ts.map +1 -0
  430. package/dist/world2d/components-2d.js +77 -0
  431. package/dist/world2d/index.d.ts +34 -0
  432. package/dist/world2d/index.d.ts.map +1 -0
  433. package/dist/world2d/index.js +32 -0
  434. package/dist/world2d/ingest-iframe-2d.d.ts +82 -0
  435. package/dist/world2d/ingest-iframe-2d.d.ts.map +1 -0
  436. package/dist/world2d/ingest-iframe-2d.js +166 -0
  437. package/dist/world2d/ingest2d.d.ts +97 -0
  438. package/dist/world2d/ingest2d.d.ts.map +1 -0
  439. package/dist/world2d/ingest2d.js +40 -0
  440. package/dist/world2d/physics2d-registry.d.ts +24 -0
  441. package/dist/world2d/physics2d-registry.d.ts.map +1 -0
  442. package/dist/world2d/physics2d-registry.js +38 -0
  443. package/dist/world2d/pixi-game-adapter.d.ts +107 -0
  444. package/dist/world2d/pixi-game-adapter.d.ts.map +1 -0
  445. package/dist/world2d/pixi-game-adapter.js +211 -0
  446. package/dist/world2d/pixi-surface.d.ts +39 -0
  447. package/dist/world2d/pixi-surface.d.ts.map +1 -0
  448. package/dist/world2d/pixi-surface.js +47 -0
  449. package/dist/world2d/scene-capture-2d.d.ts +43 -0
  450. package/dist/world2d/scene-capture-2d.d.ts.map +1 -0
  451. package/dist/world2d/scene-capture-2d.js +92 -0
  452. package/dist/world2d/scene2d-loader.d.ts +27 -0
  453. package/dist/world2d/scene2d-loader.d.ts.map +1 -0
  454. package/dist/world2d/scene2d-loader.js +274 -0
  455. package/dist/world2d/schema/entity2d.d.ts +102 -0
  456. package/dist/world2d/schema/entity2d.d.ts.map +1 -0
  457. package/dist/world2d/schema/entity2d.js +119 -0
  458. package/dist/world2d/schema/physics2d.d.ts +46 -0
  459. package/dist/world2d/schema/physics2d.d.ts.map +1 -0
  460. package/dist/world2d/schema/physics2d.js +45 -0
  461. package/dist/world2d/schema/sprite.d.ts +42 -0
  462. package/dist/world2d/schema/sprite.d.ts.map +1 -0
  463. package/dist/world2d/schema/sprite.js +63 -0
  464. package/dist/world2d/schema/tilemap.d.ts +15 -0
  465. package/dist/world2d/schema/tilemap.d.ts.map +1 -0
  466. package/dist/world2d/schema/tilemap.js +19 -0
  467. package/dist/world2d/schema/tuples2d.d.ts +20 -0
  468. package/dist/world2d/schema/tuples2d.d.ts.map +1 -0
  469. package/dist/world2d/schema/tuples2d.js +19 -0
  470. package/dist/world2d/system-adapters-2d.d.ts +16 -0
  471. package/dist/world2d/system-adapters-2d.d.ts.map +1 -0
  472. package/dist/world2d/system-adapters-2d.js +37 -0
  473. package/dist/world2d/transform-writer-2d.d.ts +16 -0
  474. package/dist/world2d/transform-writer-2d.d.ts.map +1 -0
  475. package/dist/world2d/transform-writer-2d.js +22 -0
  476. package/dist/world2d/types.d.ts +53 -0
  477. package/dist/world2d/types.d.ts.map +1 -0
  478. package/dist/world2d/types.js +1 -0
  479. package/package.json +18 -4
  480. package/src/adapter/authoring.ts +10 -0
  481. package/src/adapter/first-party-systems.ts +23 -34
  482. package/src/adapter/index.ts +1 -3
  483. package/src/adapter/system-adapter.ts +15 -22
  484. package/src/adapter/vgai-scene-game-adapter.ts +5 -14
  485. package/src/animation/anim-graph-types.ts +12 -43
  486. package/src/animation/animation-clock.ts +479 -0
  487. package/src/animation/camera-ownership.ts +467 -0
  488. package/src/animation/cinematic-cues.ts +451 -0
  489. package/src/animation/clip-map.ts +41 -0
  490. package/src/animation/gsap-registration.ts +184 -0
  491. package/src/animation/theatre-clock-binding.ts +111 -0
  492. package/src/animation/theatre-director.ts +347 -0
  493. package/src/animation/theatre-object-binding.ts +661 -0
  494. package/src/animation/xstate-animation-binding.ts +398 -0
  495. package/src/animation/xstate-animation-meta.ts +282 -0
  496. package/src/audio/index.ts +39 -7
  497. package/src/audio/tone-clock-binding.ts +98 -0
  498. package/src/audio/tone-context.ts +129 -0
  499. package/src/audio/tone-offline-render.ts +167 -0
  500. package/src/audio/wav-encode.ts +119 -0
  501. package/src/core/game-loop.ts +17 -0
  502. package/src/core/types.ts +13 -0
  503. package/src/data/data-asset.ts +167 -0
  504. package/src/data/data-check-core.ts +242 -0
  505. package/src/data/data-ref.ts +145 -0
  506. package/src/data/vite-plugin-data.ts +290 -0
  507. package/src/index.ts +48 -0
  508. package/src/input/input-manager.ts +1206 -32
  509. package/src/input/input-types.ts +155 -3
  510. package/src/input/prompt-labels.ts +122 -0
  511. package/src/input/rebind-controller.ts +105 -0
  512. package/src/input/schema.ts +206 -52
  513. package/src/react/use-data.ts +114 -0
  514. package/src/react/use-selection.tsx +135 -0
  515. package/src/runtime/create-runtime.ts +30 -9
  516. package/src/runtime/render-audio-control.ts +168 -0
  517. package/src/runtime/render-control.ts +522 -0
  518. package/src/runtime/render-seed.ts +79 -0
  519. package/src/runtime/types.ts +0 -5
  520. package/src/scene/asset-loaders.ts +10 -36
  521. package/src/scene/asset-paths.ts +0 -2
  522. package/src/scene/asset-ref-check.ts +248 -0
  523. package/src/scene/parse.ts +133 -0
  524. package/src/scene/scene-loader.ts +81 -96
  525. package/src/scene/schema/animation.ts +30 -79
  526. package/src/scene/schema/entity.ts +20 -0
  527. package/src/scene/schema/index.ts +2 -12
  528. package/src/scene/user-data.ts +8 -9
  529. package/src/setup/setup-renderer.ts +9 -2
  530. package/src/tools/define-tool.ts +152 -0
  531. package/src/animation/anim-graph.ts +0 -406
  532. package/src/animation/anim-system.ts +0 -28
  533. package/src/animation/property-track.ts +0 -178
  534. package/src/animation/schema.ts +0 -204
  535. package/src/audio/ambient.ts +0 -300
  536. package/src/audio/impacts.ts +0 -212
  537. package/src/audio/movement.ts +0 -140
  538. package/src/audio/musical.ts +0 -200
  539. package/src/audio/ui-sounds.ts +0 -171
  540. package/src/audio/vehicle.ts +0 -235
  541. package/src/audio/weapons.ts +0 -152
@@ -0,0 +1,255 @@
1
+ // T3.1 slice 1 — the game manifest loader/validator (docs/GAME-MANIFEST-DESIGN.md §5).
2
+ //
3
+ // Pure data-in/data-out: `loadGameManifest(raw)` parses `raw` against
4
+ // `GameManifestSchema`, runs the cross-field checks §3 promises beyond what
5
+ // Zod alone can express, resolves every optional/derivable field, and
6
+ // returns a `ResolvedGameManifest` with nothing left implicit. This is the
7
+ // schema's runtime reader (T4.1 policy) — every described field in
8
+ // `schema.ts` either drives a check here or is carried into the resolved
9
+ // output explicitly (see the per-field comments below and
10
+ // `packages/engine/test/schema-consumption-map.ts`'s `manifest.*` entries).
11
+ //
12
+ // No `fs` import here on purpose — `load-file.ts` is the thin Node-only
13
+ // wrapper that reads a path and calls this function, so browser bundles that
14
+ // only need `loadGameManifest` never pull in `node:fs`.
15
+ import { GameManifestSchema, } from './schema';
16
+ // ---------------------------------------------------------------------------
17
+ // §4 — the per-context ceiling table (named + exported: the tier-table doc
18
+ // test in slice 2 pins docs/CAPABILITY-TIERS.md's rows against this).
19
+ // ---------------------------------------------------------------------------
20
+ /**
21
+ * Ceiling (maximum legal declared `Tier`) per adapter type and delivery
22
+ * context. `default` worlds are always first-party in both contexts (D6/§2 —
23
+ * a first-party world is fully vgai-native everywhere). `ingest` worlds are
24
+ * ceilinged by their own capture `strategy`: locally the local CLI's Vite
25
+ * pipeline gives bundler dedupe, so every strategy reaches its own natural
26
+ * rung; hosted has no bundler (esbuild-wasm + externals only), and a
27
+ * `deduped` world is DEFINED by being source built through our pipeline — no
28
+ * prebuilt bundle exists to fall back to an iframe rung, and nothing
29
+ * implements a hosted build for it, so hosted is `unsupported` (honesty over
30
+ * optimism; if the hosted esbuild-wasm path ever proves capable, raising
31
+ * this ceiling is a non-breaking widening). `shared`/`iframe-reachable`/
32
+ * `opaque-embed` don't depend on a bundler either way, so they carry through
33
+ * unchanged. `module` adapters have no derivable ceiling ("a custom
34
+ * adapter's reach is not derivable", §4) — modeled here as `first-party`
35
+ * (the top rank), i.e. no ceiling actually constrains a module adapter's
36
+ * declared tier; the loader instead requires the tier to be declared
37
+ * explicitly for module worlds (see `resolveCapabilities`), since there is no
38
+ * default to derive.
39
+ */
40
+ export const CAPABILITY_CEILINGS = {
41
+ default: { local: 'first-party', hosted: 'first-party' },
42
+ ingest: {
43
+ shared: { local: 'shared', hosted: 'shared' },
44
+ deduped: { local: 'deduped', hosted: 'unsupported' },
45
+ 'iframe-reachable': { local: 'iframe-reachable', hosted: 'iframe-reachable' },
46
+ 'opaque-embed': { local: 'opaque-embed', hosted: 'opaque-embed' },
47
+ },
48
+ module: { local: 'first-party', hosted: 'first-party' },
49
+ };
50
+ /** Total order over `Tier` (§4: `first-party > shared ≈ deduped > iframe-reachable > opaque-embed > unsupported`). */
51
+ const TIER_RANK = {
52
+ 'first-party': 5,
53
+ shared: 4,
54
+ deduped: 4,
55
+ 'iframe-reachable': 3,
56
+ 'opaque-embed': 2,
57
+ unsupported: 1,
58
+ };
59
+ /** Default relative path for `server.module` when omitted (§3) — the scaffolded Colyseus bootstrap. */
60
+ export const DEFAULT_SERVER_MODULE = 'server/colyseus-setup.ts';
61
+ const SEMVER_RE = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z-.]+)?(?:\+[0-9A-Za-z-.]+)?$/;
62
+ // ---------------------------------------------------------------------------
63
+ // Adapter shape guards
64
+ // ---------------------------------------------------------------------------
65
+ function isModuleAdapter(adapter) {
66
+ return typeof adapter === 'object' && 'module' in adapter;
67
+ }
68
+ function isIngestAdapter(adapter) {
69
+ return typeof adapter === 'object' && 'ingest' in adapter;
70
+ }
71
+ // ---------------------------------------------------------------------------
72
+ // Cross-field checks (§3 — beyond what Zod alone enforces)
73
+ // ---------------------------------------------------------------------------
74
+ //
75
+ // D-V6 (docs/WAVE5-MULTIWORLD-INGEST-DESIGN.md): world-id uniqueness used to
76
+ // be a cross-field check HERE (`checkUniqueWorldIds`, removed) — it moved
77
+ // INTO `GameManifestSchema`'s `worlds` `superRefine` (schema.ts) instead, so
78
+ // the generated JSON Schema and any other schema consumer see the same
79
+ // constraint the loader always enforced. `parseManifest` below catches that
80
+ // one recognizable schema-level issue and rethrows it as a clean, single
81
+ // `Error` — the exact message shape `checkUniqueWorldIds` used to throw
82
+ // directly — rather than a raw multi-issue `ZodError` dump, so existing
83
+ // callers/tests that pattern-match the message text are unaffected by the
84
+ // enforcement moving one layer down.
85
+ function checkAdapterSceneEntryRules(world) {
86
+ const { adapter } = world;
87
+ if (adapter === 'default' && !world.scene && !world.entry) {
88
+ throw new Error(`Game manifest: world "${world.id}" uses the 'default' adapter but declares neither ` +
89
+ '`scene` nor `entry` — a default-adapter world requires one of the two (§3).');
90
+ }
91
+ if (isIngestAdapter(adapter) && world.scene !== undefined) {
92
+ throw new Error(`Game manifest: world "${world.id}" uses an { ingest } adapter but declares \`scene\` — ` +
93
+ 'ingest adapters forbid `scene` (adapt-never-migrate: ingested games keep their own ' +
94
+ "formats; overlay persistence is T3.2's) (§3).");
95
+ }
96
+ }
97
+ // Historical note (Track N, N1): this file used to reject EVERY `kind:
98
+ // 'react'` + `{ ingest }` world outright here (`checkReactAdapterRestriction`,
99
+ // citing "no react ingest program is un-parked"). Track N un-parks exactly
100
+ // that program (docs/REACT-INGEST-LANDING-DESIGN.md) — react+ingest is now a
101
+ // structurally legal combination, resolved to the `'ingest-react'` identity
102
+ // by `resolveAdapter` below like any other ingest world. There is nothing
103
+ // left to reject at THIS layer: `checkAdapterSceneEntryRules` above already
104
+ // forbids `scene` on any `{ ingest }`-adapter world (kind-agnostic), and the
105
+ // v1 "deduped strategy only" restriction is an editor-resolver concern
106
+ // (D-N3), not a manifest-shape concern — see the `ResolvedAdapter` type's
107
+ // comment above.
108
+ // ---------------------------------------------------------------------------
109
+ // Resolution (§5)
110
+ // ---------------------------------------------------------------------------
111
+ function resolveAdapter(world) {
112
+ const { adapter, kind } = world;
113
+ if (adapter === 'default') {
114
+ const identity = kind === 'threejs' ? 'default-three' : kind === 'pixijs' ? 'default-pixi' : 'default-react';
115
+ return { type: 'default', identity };
116
+ }
117
+ if (isModuleAdapter(adapter)) {
118
+ return { type: 'module', identity: 'module', module: adapter.module };
119
+ }
120
+ // isIngestAdapter (Track N, N1: 'ingest-react' joins 'ingest-three'/
121
+ // 'ingest-pixi' — see the `ResolvedAdapter` type's comment above for why
122
+ // this stays strategy-agnostic here).
123
+ const identity = kind === 'threejs' ? 'ingest-three' : kind === 'pixijs' ? 'ingest-pixi' : 'ingest-react';
124
+ const ingest = adapter.ingest;
125
+ return {
126
+ type: 'ingest',
127
+ identity,
128
+ strategy: ingest.strategy,
129
+ entryHtml: ingest.entryHtml,
130
+ assets: ingest.assets,
131
+ domStubs: ingest.domStubs,
132
+ captureTimeoutMs: ingest.captureTimeoutMs,
133
+ bundleUrl: ingest.bundleUrl,
134
+ baseHref: ingest.baseHref,
135
+ assetBaseUrl: ingest.assetBaseUrl,
136
+ extraDeps: ingest.extraDeps,
137
+ pixiModuleUrl: ingest.pixiModuleUrl,
138
+ bodyHtml: ingest.bodyHtml,
139
+ };
140
+ }
141
+ function ceilingFor(adapter, context) {
142
+ if (adapter === 'default')
143
+ return CAPABILITY_CEILINGS.default[context];
144
+ if (isModuleAdapter(adapter))
145
+ return CAPABILITY_CEILINGS.module[context];
146
+ return CAPABILITY_CEILINGS.ingest[adapter.ingest.strategy][context];
147
+ }
148
+ function resolveCapabilities(world) {
149
+ const contexts = ['local', 'hosted'];
150
+ const result = {};
151
+ for (const context of contexts) {
152
+ const declared = world.capabilities?.[context];
153
+ if (declared !== undefined) {
154
+ const ceiling = ceilingFor(world.adapter, context);
155
+ if (TIER_RANK[declared] > TIER_RANK[ceiling]) {
156
+ throw new Error(`Game manifest: world "${world.id}": declared capabilities.${context} tier "${declared}" ` +
157
+ `exceeds the "${ceiling}" ceiling for this adapter in the ${context} context (§4). ` +
158
+ 'Under-claiming (including `unsupported`) is legal; over-claiming is not.');
159
+ }
160
+ result[context] = declared;
161
+ continue;
162
+ }
163
+ // Omitted -> derive.
164
+ if (world.adapter === 'default') {
165
+ result[context] = 'first-party';
166
+ }
167
+ else if (isModuleAdapter(world.adapter)) {
168
+ throw new Error(`Game manifest: world "${world.id}": { module } adapter requires an explicit ` +
169
+ `capabilities.${context} declaration — a custom adapter's reach is not derivable (§4).`);
170
+ }
171
+ else {
172
+ result[context] = CAPABILITY_CEILINGS.ingest[world.adapter.ingest.strategy][context];
173
+ }
174
+ }
175
+ return result;
176
+ }
177
+ function checkEngineVersionPin(version) {
178
+ if (!SEMVER_RE.test(version)) {
179
+ throw new Error(`Game manifest: engine.version "${version}" is not a valid exact semver string (e.g. ` +
180
+ '"0.1.0") — §1.5 requires an exact identity pin, not a range.');
181
+ }
182
+ }
183
+ /**
184
+ * Resolve one already-Zod-validated world entry into its `ResolvedWorldEntry`
185
+ * (adapter identity, capabilities, and a pass-through of every other field).
186
+ * Every `WorldEntry` field participates here or in a check above:
187
+ * `id`/`kind` drive adapter resolution + uniqueness; `adapter` (incl. its
188
+ * `module`/`ingest.*` sub-fields) drives identity + capability-ceiling
189
+ * resolution; `scene`/`entry` drive the scene/entry cross-field rule and are
190
+ * carried through; `zOrder` drives the final sort; `pausable`/`loop` are
191
+ * carried through as-is (their consumers are the runtime/CLI, T3.2/T3.3);
192
+ * `capabilities.{local,hosted}` drive tier resolution; `description` (T3.3
193
+ * slice 3) is carried through as-is — its consumer today is
194
+ * `resolveIngestDescriptor` (packages/editor/src/adapter-resolver.ts), which
195
+ * threads an ingest-three world's description into `IngestGame.description`.
196
+ */
197
+ function resolveWorld(world) {
198
+ checkAdapterSceneEntryRules(world);
199
+ return {
200
+ id: world.id,
201
+ kind: world.kind,
202
+ description: world.description,
203
+ adapter: resolveAdapter(world),
204
+ scene: world.scene,
205
+ entry: world.entry,
206
+ zOrder: world.zOrder,
207
+ pausable: world.pausable,
208
+ loop: world.loop,
209
+ capabilities: resolveCapabilities(world),
210
+ };
211
+ }
212
+ // ---------------------------------------------------------------------------
213
+ // Entry point
214
+ // ---------------------------------------------------------------------------
215
+ /**
216
+ * Parse + validate + resolve a raw manifest value into a `ResolvedGameManifest`.
217
+ * Pure data-in/data-out (no `fs`) — see `load-file.ts` for the Node path-based
218
+ * wrapper. Throws a descriptive `Error` (naming the offending world/field) on
219
+ * any Zod validation failure or cross-field rule violation.
220
+ */
221
+ export function loadGameManifest(raw) {
222
+ const parsed = GameManifestSchema.safeParse(raw);
223
+ if (!parsed.success) {
224
+ // D-V6: the `worlds` `superRefine`'s duplicate-id issue is the one
225
+ // schema-level violation this loader still surfaces as a clean, single
226
+ // `Error` (matching `checkUniqueWorldIds`'s pre-D-V6 message shape) —
227
+ // every other schema violation keeps propagating as the raw `ZodError`
228
+ // it always has (unchanged behavior, e.g. the iframe-reachable
229
+ // field-exclusivity / manifestVersion checks).
230
+ const dupIssue = parsed.error.issues.find((issue) => issue.message.startsWith('Game manifest: duplicate world id'));
231
+ if (dupIssue)
232
+ throw new Error(dupIssue.message);
233
+ throw parsed.error;
234
+ }
235
+ const manifest = parsed.data;
236
+ checkEngineVersionPin(manifest.engine.version);
237
+ const resolvedWithIndex = manifest.worlds.map((world, index) => ({
238
+ world: resolveWorld(world),
239
+ index,
240
+ }));
241
+ resolvedWithIndex.sort((a, b) => a.world.zOrder - b.world.zOrder || a.index - b.index);
242
+ const worlds = resolvedWithIndex.map(({ world }) => world);
243
+ const server = manifest.server
244
+ ? { room: manifest.server.room, module: manifest.server.module ?? DEFAULT_SERVER_MODULE }
245
+ : undefined;
246
+ return {
247
+ manifestVersion: manifest.manifestVersion,
248
+ name: manifest.name,
249
+ version: manifest.version,
250
+ engine: { version: manifest.engine.version },
251
+ worlds,
252
+ server,
253
+ resolution: manifest.resolution,
254
+ };
255
+ }
@@ -0,0 +1,173 @@
1
+ import { z } from 'zod';
2
+ export declare const IngestStrategySchema: z.ZodEnum<{
3
+ shared: "shared";
4
+ deduped: "deduped";
5
+ "iframe-reachable": "iframe-reachable";
6
+ "opaque-embed": "opaque-embed";
7
+ }>;
8
+ export type IngestStrategy = z.infer<typeof IngestStrategySchema>;
9
+ export declare const TierSchema: z.ZodEnum<{
10
+ shared: "shared";
11
+ deduped: "deduped";
12
+ "iframe-reachable": "iframe-reachable";
13
+ "opaque-embed": "opaque-embed";
14
+ "first-party": "first-party";
15
+ unsupported: "unsupported";
16
+ }>;
17
+ export type Tier = z.infer<typeof TierSchema>;
18
+ export declare const WorldAdapterSchema: z.ZodUnion<readonly [z.ZodLiteral<"default">, z.ZodObject<{
19
+ module: z.ZodString;
20
+ }, z.core.$strip>, z.ZodObject<{
21
+ ingest: z.ZodObject<{
22
+ strategy: z.ZodEnum<{
23
+ shared: "shared";
24
+ deduped: "deduped";
25
+ "iframe-reachable": "iframe-reachable";
26
+ "opaque-embed": "opaque-embed";
27
+ }>;
28
+ entryHtml: z.ZodOptional<z.ZodString>;
29
+ assets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
30
+ domStubs: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ captureTimeoutMs: z.ZodOptional<z.ZodNumber>;
32
+ bundleUrl: z.ZodOptional<z.ZodString>;
33
+ baseHref: z.ZodOptional<z.ZodString>;
34
+ assetBaseUrl: z.ZodOptional<z.ZodString>;
35
+ extraDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ pixiModuleUrl: z.ZodOptional<z.ZodString>;
37
+ bodyHtml: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>;
39
+ }, z.core.$strip>]>;
40
+ export type WorldAdapter = z.infer<typeof WorldAdapterSchema>;
41
+ export declare const WorldEntrySchema: z.ZodObject<{
42
+ id: z.ZodString;
43
+ kind: z.ZodEnum<{
44
+ threejs: "threejs";
45
+ pixijs: "pixijs";
46
+ react: "react";
47
+ }>;
48
+ description: z.ZodOptional<z.ZodString>;
49
+ adapter: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"default">, z.ZodObject<{
50
+ module: z.ZodString;
51
+ }, z.core.$strip>, z.ZodObject<{
52
+ ingest: z.ZodObject<{
53
+ strategy: z.ZodEnum<{
54
+ shared: "shared";
55
+ deduped: "deduped";
56
+ "iframe-reachable": "iframe-reachable";
57
+ "opaque-embed": "opaque-embed";
58
+ }>;
59
+ entryHtml: z.ZodOptional<z.ZodString>;
60
+ assets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
61
+ domStubs: z.ZodOptional<z.ZodArray<z.ZodString>>;
62
+ captureTimeoutMs: z.ZodOptional<z.ZodNumber>;
63
+ bundleUrl: z.ZodOptional<z.ZodString>;
64
+ baseHref: z.ZodOptional<z.ZodString>;
65
+ assetBaseUrl: z.ZodOptional<z.ZodString>;
66
+ extraDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
67
+ pixiModuleUrl: z.ZodOptional<z.ZodString>;
68
+ bodyHtml: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$strip>;
70
+ }, z.core.$strip>]>>;
71
+ scene: z.ZodOptional<z.ZodString>;
72
+ entry: z.ZodOptional<z.ZodString>;
73
+ zOrder: z.ZodDefault<z.ZodNumber>;
74
+ pausable: z.ZodDefault<z.ZodBoolean>;
75
+ loop: z.ZodDefault<z.ZodEnum<{
76
+ gated: "gated";
77
+ "self-driven": "self-driven";
78
+ }>>;
79
+ capabilities: z.ZodOptional<z.ZodObject<{
80
+ local: z.ZodOptional<z.ZodEnum<{
81
+ shared: "shared";
82
+ deduped: "deduped";
83
+ "iframe-reachable": "iframe-reachable";
84
+ "opaque-embed": "opaque-embed";
85
+ "first-party": "first-party";
86
+ unsupported: "unsupported";
87
+ }>>;
88
+ hosted: z.ZodOptional<z.ZodEnum<{
89
+ shared: "shared";
90
+ deduped: "deduped";
91
+ "iframe-reachable": "iframe-reachable";
92
+ "opaque-embed": "opaque-embed";
93
+ "first-party": "first-party";
94
+ unsupported: "unsupported";
95
+ }>>;
96
+ }, z.core.$strip>>;
97
+ }, z.core.$strip>;
98
+ export type WorldEntry = z.infer<typeof WorldEntrySchema>;
99
+ export declare const GameManifestSchema: z.ZodObject<{
100
+ manifestVersion: z.ZodLiteral<1>;
101
+ name: z.ZodString;
102
+ version: z.ZodString;
103
+ engine: z.ZodObject<{
104
+ version: z.ZodString;
105
+ }, z.core.$strip>;
106
+ worlds: z.ZodArray<z.ZodObject<{
107
+ id: z.ZodString;
108
+ kind: z.ZodEnum<{
109
+ threejs: "threejs";
110
+ pixijs: "pixijs";
111
+ react: "react";
112
+ }>;
113
+ description: z.ZodOptional<z.ZodString>;
114
+ adapter: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"default">, z.ZodObject<{
115
+ module: z.ZodString;
116
+ }, z.core.$strip>, z.ZodObject<{
117
+ ingest: z.ZodObject<{
118
+ strategy: z.ZodEnum<{
119
+ shared: "shared";
120
+ deduped: "deduped";
121
+ "iframe-reachable": "iframe-reachable";
122
+ "opaque-embed": "opaque-embed";
123
+ }>;
124
+ entryHtml: z.ZodOptional<z.ZodString>;
125
+ assets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
126
+ domStubs: z.ZodOptional<z.ZodArray<z.ZodString>>;
127
+ captureTimeoutMs: z.ZodOptional<z.ZodNumber>;
128
+ bundleUrl: z.ZodOptional<z.ZodString>;
129
+ baseHref: z.ZodOptional<z.ZodString>;
130
+ assetBaseUrl: z.ZodOptional<z.ZodString>;
131
+ extraDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
132
+ pixiModuleUrl: z.ZodOptional<z.ZodString>;
133
+ bodyHtml: z.ZodOptional<z.ZodString>;
134
+ }, z.core.$strip>;
135
+ }, z.core.$strip>]>>;
136
+ scene: z.ZodOptional<z.ZodString>;
137
+ entry: z.ZodOptional<z.ZodString>;
138
+ zOrder: z.ZodDefault<z.ZodNumber>;
139
+ pausable: z.ZodDefault<z.ZodBoolean>;
140
+ loop: z.ZodDefault<z.ZodEnum<{
141
+ gated: "gated";
142
+ "self-driven": "self-driven";
143
+ }>>;
144
+ capabilities: z.ZodOptional<z.ZodObject<{
145
+ local: z.ZodOptional<z.ZodEnum<{
146
+ shared: "shared";
147
+ deduped: "deduped";
148
+ "iframe-reachable": "iframe-reachable";
149
+ "opaque-embed": "opaque-embed";
150
+ "first-party": "first-party";
151
+ unsupported: "unsupported";
152
+ }>>;
153
+ hosted: z.ZodOptional<z.ZodEnum<{
154
+ shared: "shared";
155
+ deduped: "deduped";
156
+ "iframe-reachable": "iframe-reachable";
157
+ "opaque-embed": "opaque-embed";
158
+ "first-party": "first-party";
159
+ unsupported: "unsupported";
160
+ }>>;
161
+ }, z.core.$strip>>;
162
+ }, z.core.$strip>>;
163
+ server: z.ZodOptional<z.ZodObject<{
164
+ room: z.ZodString;
165
+ module: z.ZodOptional<z.ZodString>;
166
+ }, z.core.$strip>>;
167
+ resolution: z.ZodOptional<z.ZodObject<{
168
+ width: z.ZodNumber;
169
+ height: z.ZodNumber;
170
+ }, z.core.$strip>>;
171
+ }, z.core.$strip>;
172
+ export type GameManifest = z.infer<typeof GameManifestSchema>;
173
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/manifest/schema.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,oBAAoB;;;;;EAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,eAAO,MAAM,UAAU;;;;;;;EAOrB,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAS9C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;mBA8K5B,CAAC;AACJ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6D3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+D2D,CAAC;AAE3F,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}