@vgai/engine 0.5.5 → 0.5.7

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 (446) hide show
  1. package/dist/adapter/adapter-surface.d.ts +30 -0
  2. package/dist/adapter/adapter-surface.d.ts.map +1 -0
  3. package/dist/adapter/adapter-surface.js +18 -0
  4. package/dist/adapter/authoring.d.ts +597 -0
  5. package/dist/adapter/authoring.d.ts.map +1 -0
  6. package/dist/adapter/authoring.js +22 -0
  7. package/dist/adapter/colyseus-networking-adapter.d.ts +77 -0
  8. package/dist/adapter/colyseus-networking-adapter.d.ts.map +1 -0
  9. package/dist/adapter/colyseus-networking-adapter.js +76 -0
  10. package/dist/adapter/first-party-systems.d.ts +23 -0
  11. package/dist/adapter/first-party-systems.d.ts.map +1 -0
  12. package/dist/adapter/first-party-systems.js +196 -0
  13. package/dist/adapter/host-context.d.ts +194 -0
  14. package/dist/adapter/host-context.d.ts.map +1 -0
  15. package/dist/adapter/host-context.js +80 -0
  16. package/dist/adapter/index.d.ts +33 -0
  17. package/dist/adapter/index.d.ts.map +1 -0
  18. package/dist/adapter/index.js +25 -0
  19. package/dist/adapter/ingest/game-contract.d.ts +53 -0
  20. package/dist/adapter/ingest/game-contract.d.ts.map +1 -0
  21. package/dist/adapter/ingest/game-contract.js +30 -0
  22. package/dist/adapter/ingest/scene-capture.d.ts +121 -0
  23. package/dist/adapter/ingest/scene-capture.d.ts.map +1 -0
  24. package/dist/adapter/ingest/scene-capture.js +270 -0
  25. package/dist/adapter/ingest/structural-ids.d.ts +64 -0
  26. package/dist/adapter/ingest/structural-ids.d.ts.map +1 -0
  27. package/dist/adapter/ingest/structural-ids.js +110 -0
  28. package/dist/adapter/ingest/upstream-pin.d.ts +44 -0
  29. package/dist/adapter/ingest/upstream-pin.d.ts.map +1 -0
  30. package/dist/adapter/ingest/upstream-pin.js +47 -0
  31. package/dist/adapter/loop-gate-report.d.ts +34 -0
  32. package/dist/adapter/loop-gate-report.d.ts.map +1 -0
  33. package/dist/adapter/loop-gate-report.js +37 -0
  34. package/dist/adapter/rapier-physics-adapter.d.ts +69 -0
  35. package/dist/adapter/rapier-physics-adapter.d.ts.map +1 -0
  36. package/dist/adapter/rapier-physics-adapter.js +135 -0
  37. package/dist/adapter/root-adapter.d.ts +195 -0
  38. package/dist/adapter/root-adapter.d.ts.map +1 -0
  39. package/dist/adapter/root-adapter.js +25 -0
  40. package/dist/adapter/setup-three-root-adapter.d.ts +87 -0
  41. package/dist/adapter/setup-three-root-adapter.d.ts.map +1 -0
  42. package/dist/adapter/setup-three-root-adapter.js +791 -0
  43. package/dist/adapter/system-adapter.d.ts +453 -0
  44. package/dist/adapter/system-adapter.d.ts.map +1 -0
  45. package/dist/adapter/system-adapter.js +13 -0
  46. package/dist/adapter/transform.d.ts +18 -0
  47. package/dist/adapter/transform.d.ts.map +1 -0
  48. package/dist/adapter/transform.js +1 -0
  49. package/dist/ai/navigation.d.ts +78 -0
  50. package/dist/ai/navigation.d.ts.map +1 -0
  51. package/dist/ai/navigation.js +152 -0
  52. package/dist/animation/anim-graph-types.d.ts +25 -0
  53. package/dist/animation/anim-graph-types.d.ts.map +1 -0
  54. package/dist/animation/anim-graph-types.js +1 -0
  55. package/dist/animation/animation-clock.d.ts +213 -0
  56. package/dist/animation/animation-clock.d.ts.map +1 -0
  57. package/dist/animation/animation-clock.js +301 -0
  58. package/dist/animation/blend-node.d.ts +22 -0
  59. package/dist/animation/blend-node.d.ts.map +1 -0
  60. package/dist/animation/blend-node.js +97 -0
  61. package/dist/animation/camera-ownership.d.ts +249 -0
  62. package/dist/animation/camera-ownership.d.ts.map +1 -0
  63. package/dist/animation/camera-ownership.js +169 -0
  64. package/dist/animation/cinematic-cues.d.ts +200 -0
  65. package/dist/animation/cinematic-cues.d.ts.map +1 -0
  66. package/dist/animation/cinematic-cues.js +213 -0
  67. package/dist/animation/clip-map.d.ts +12 -0
  68. package/dist/animation/clip-map.d.ts.map +1 -0
  69. package/dist/animation/clip-map.js +31 -0
  70. package/dist/animation/cubic-spline-interpolant.d.ts +54 -0
  71. package/dist/animation/cubic-spline-interpolant.d.ts.map +1 -0
  72. package/dist/animation/cubic-spline-interpolant.js +111 -0
  73. package/dist/animation/theatre-clock-binding.d.ts +89 -0
  74. package/dist/animation/theatre-clock-binding.d.ts.map +1 -0
  75. package/dist/animation/theatre-clock-binding.js +29 -0
  76. package/dist/animation/theatre-director.d.ts +277 -0
  77. package/dist/animation/theatre-director.d.ts.map +1 -0
  78. package/dist/animation/theatre-director.js +248 -0
  79. package/dist/animation/theatre-object-binding.d.ts +305 -0
  80. package/dist/animation/theatre-object-binding.d.ts.map +1 -0
  81. package/dist/animation/theatre-object-binding.js +351 -0
  82. package/dist/animation/xstate-animation-binding.d.ts +119 -0
  83. package/dist/animation/xstate-animation-binding.d.ts.map +1 -0
  84. package/dist/animation/xstate-animation-binding.js +349 -0
  85. package/dist/animation/xstate-animation-meta.d.ts +266 -0
  86. package/dist/animation/xstate-animation-meta.d.ts.map +1 -0
  87. package/dist/animation/xstate-animation-meta.js +252 -0
  88. package/dist/asset-formats/camera.d.ts +15 -0
  89. package/dist/asset-formats/camera.d.ts.map +1 -0
  90. package/dist/asset-formats/camera.js +15 -0
  91. package/dist/asset-formats/collider.d.ts +21 -0
  92. package/dist/asset-formats/collider.d.ts.map +1 -0
  93. package/dist/asset-formats/collider.js +53 -0
  94. package/dist/asset-formats/index.d.ts +46 -0
  95. package/dist/asset-formats/index.d.ts.map +1 -0
  96. package/dist/asset-formats/index.js +36 -0
  97. package/dist/asset-formats/instances.d.ts +17 -0
  98. package/dist/asset-formats/instances.d.ts.map +1 -0
  99. package/dist/asset-formats/instances.js +31 -0
  100. package/dist/asset-formats/light.d.ts +21 -0
  101. package/dist/asset-formats/light.d.ts.map +1 -0
  102. package/dist/asset-formats/light.js +35 -0
  103. package/dist/asset-formats/material.d.ts +129 -0
  104. package/dist/asset-formats/material.d.ts.map +1 -0
  105. package/dist/asset-formats/material.js +88 -0
  106. package/dist/asset-formats/mesh.d.ts +22 -0
  107. package/dist/asset-formats/mesh.d.ts.map +1 -0
  108. package/dist/asset-formats/mesh.js +64 -0
  109. package/dist/asset-formats/parse.d.ts +20 -0
  110. package/dist/asset-formats/parse.d.ts.map +1 -0
  111. package/dist/asset-formats/parse.js +34 -0
  112. package/dist/asset-formats/particles.d.ts +1390 -0
  113. package/dist/asset-formats/particles.d.ts.map +1 -0
  114. package/dist/asset-formats/particles.js +319 -0
  115. package/dist/asset-formats/render-env.d.ts +387 -0
  116. package/dist/asset-formats/render-env.d.ts.map +1 -0
  117. package/dist/asset-formats/render-env.js +300 -0
  118. package/dist/asset-formats/tuples.d.ts +12 -0
  119. package/dist/asset-formats/tuples.d.ts.map +1 -0
  120. package/dist/asset-formats/tuples.js +14 -0
  121. package/dist/asset-loaders.d.ts +97 -0
  122. package/dist/asset-loaders.d.ts.map +1 -0
  123. package/dist/asset-loaders.js +209 -0
  124. package/dist/asset-parse-error.d.ts +24 -0
  125. package/dist/asset-parse-error.d.ts.map +1 -0
  126. package/dist/asset-parse-error.js +29 -0
  127. package/dist/asset-registry.d.ts +38 -0
  128. package/dist/asset-registry.d.ts.map +1 -0
  129. package/dist/asset-registry.js +66 -0
  130. package/dist/assets.d.ts +26 -0
  131. package/dist/assets.d.ts.map +1 -0
  132. package/dist/assets.js +55 -0
  133. package/dist/audio/wav-encode.d.ts +38 -0
  134. package/dist/audio/wav-encode.d.ts.map +1 -0
  135. package/dist/audio/wav-encode.js +97 -0
  136. package/dist/canvas-react/engine-bridge.d.ts +45 -0
  137. package/dist/canvas-react/engine-bridge.d.ts.map +1 -0
  138. package/dist/canvas-react/engine-bridge.js +45 -0
  139. package/dist/canvas-react/index.d.ts +42 -0
  140. package/dist/canvas-react/index.d.ts.map +1 -0
  141. package/dist/canvas-react/index.js +41 -0
  142. package/dist/canvas-react/pixi-primitive.d.ts +85 -0
  143. package/dist/canvas-react/pixi-primitive.d.ts.map +1 -0
  144. package/dist/canvas-react/pixi-primitive.js +181 -0
  145. package/dist/canvas-react/pixi-react-adapter.d.ts +71 -0
  146. package/dist/canvas-react/pixi-react-adapter.d.ts.map +1 -0
  147. package/dist/canvas-react/pixi-react-adapter.js +229 -0
  148. package/dist/canvas-react/pixi-react-root-factory.d.ts +56 -0
  149. package/dist/canvas-react/pixi-react-root-factory.d.ts.map +1 -0
  150. package/dist/canvas-react/pixi-react-root-factory.js +73 -0
  151. package/dist/canvas-react/world-context.d.ts +88 -0
  152. package/dist/canvas-react/world-context.d.ts.map +1 -0
  153. package/dist/canvas-react/world-context.js +212 -0
  154. package/dist/config.d.ts +9 -0
  155. package/dist/config.d.ts.map +1 -0
  156. package/dist/config.js +8 -0
  157. package/dist/core/frame-pacing.d.ts +90 -0
  158. package/dist/core/frame-pacing.d.ts.map +1 -0
  159. package/dist/core/frame-pacing.js +89 -0
  160. package/dist/core/game-loop.d.ts +62 -0
  161. package/dist/core/game-loop.d.ts.map +1 -0
  162. package/dist/core/game-loop.js +189 -0
  163. package/dist/core/seeded-random.d.ts +69 -0
  164. package/dist/core/seeded-random.d.ts.map +1 -0
  165. package/dist/core/seeded-random.js +121 -0
  166. package/dist/core/sim-clock.d.ts +199 -0
  167. package/dist/core/sim-clock.d.ts.map +1 -0
  168. package/dist/core/sim-clock.js +291 -0
  169. package/dist/core/system-runner.d.ts +96 -0
  170. package/dist/core/system-runner.d.ts.map +1 -0
  171. package/dist/core/system-runner.js +253 -0
  172. package/dist/core/types.d.ts +111 -0
  173. package/dist/core/types.d.ts.map +1 -0
  174. package/dist/core/types.js +25 -0
  175. package/dist/data/data-asset.d.ts +101 -0
  176. package/dist/data/data-asset.d.ts.map +1 -0
  177. package/dist/data/data-asset.js +122 -0
  178. package/dist/data/data-check-core.d.ts +109 -0
  179. package/dist/data/data-check-core.d.ts.map +1 -0
  180. package/dist/data/data-check-core.js +177 -0
  181. package/dist/data/data-ref.d.ts +79 -0
  182. package/dist/data/data-ref.d.ts.map +1 -0
  183. package/dist/data/data-ref.js +130 -0
  184. package/dist/data/vite-plugin-data.d.ts +79 -0
  185. package/dist/data/vite-plugin-data.d.ts.map +1 -0
  186. package/dist/data/vite-plugin-data.js +217 -0
  187. package/dist/defaults.d.ts +233 -0
  188. package/dist/defaults.d.ts.map +1 -0
  189. package/dist/defaults.js +137 -0
  190. package/dist/dev/chrome-trace.d.ts +45 -0
  191. package/dist/dev/chrome-trace.d.ts.map +1 -0
  192. package/dist/dev/chrome-trace.js +114 -0
  193. package/dist/dev/console-bridge.d.ts +22 -0
  194. package/dist/dev/console-bridge.d.ts.map +1 -0
  195. package/dist/dev/console-bridge.js +71 -0
  196. package/dist/dev/debug-draw.d.ts +24 -0
  197. package/dist/dev/debug-draw.d.ts.map +1 -0
  198. package/dist/dev/debug-draw.js +73 -0
  199. package/dist/dev/instruments.d.ts +133 -0
  200. package/dist/dev/instruments.d.ts.map +1 -0
  201. package/dist/dev/instruments.js +231 -0
  202. package/dist/dev/logger.d.ts +30 -0
  203. package/dist/dev/logger.d.ts.map +1 -0
  204. package/dist/dev/logger.js +90 -0
  205. package/dist/dev/performance-profiler.d.ts +111 -0
  206. package/dist/dev/performance-profiler.d.ts.map +1 -0
  207. package/dist/dev/performance-profiler.js +215 -0
  208. package/dist/dev/render-debug-adapter.d.ts +57 -0
  209. package/dist/dev/render-debug-adapter.d.ts.map +1 -0
  210. package/dist/dev/render-debug-adapter.js +141 -0
  211. package/dist/dev/render-memory.d.ts +53 -0
  212. package/dist/dev/render-memory.d.ts.map +1 -0
  213. package/dist/dev/render-memory.js +190 -0
  214. package/dist/dev/webgl-frame-capture.d.ts +134 -0
  215. package/dist/dev/webgl-frame-capture.d.ts.map +1 -0
  216. package/dist/dev/webgl-frame-capture.js +270 -0
  217. package/dist/dev/webgl-gpu-timer.d.ts +8 -0
  218. package/dist/dev/webgl-gpu-timer.d.ts.map +1 -0
  219. package/dist/dev/webgl-gpu-timer.js +52 -0
  220. package/dist/ecs/scene-index.d.ts +179 -0
  221. package/dist/ecs/scene-index.d.ts.map +1 -0
  222. package/dist/ecs/scene-index.js +331 -0
  223. package/dist/ecs/scene-query.d.ts +6 -0
  224. package/dist/ecs/scene-query.d.ts.map +1 -0
  225. package/dist/ecs/scene-query.js +40 -0
  226. package/dist/ecs/user-data.d.ts +193 -0
  227. package/dist/ecs/user-data.d.ts.map +1 -0
  228. package/dist/ecs/user-data.js +145 -0
  229. package/dist/index.d.ts +35 -0
  230. package/dist/index.d.ts.map +1 -0
  231. package/dist/index.js +29 -0
  232. package/dist/input/input-manager.d.ts +944 -0
  233. package/dist/input/input-manager.d.ts.map +1 -0
  234. package/dist/input/input-manager.js +2209 -0
  235. package/dist/input/input-types.d.ts +174 -0
  236. package/dist/input/input-types.d.ts.map +1 -0
  237. package/dist/input/input-types.js +1 -0
  238. package/dist/input/prompt-labels.d.ts +21 -0
  239. package/dist/input/prompt-labels.d.ts.map +1 -0
  240. package/dist/input/prompt-labels.js +121 -0
  241. package/dist/input/rebind-controller.d.ts +59 -0
  242. package/dist/input/rebind-controller.d.ts.map +1 -0
  243. package/dist/input/rebind-controller.js +85 -0
  244. package/dist/input/schema.d.ts +16 -0
  245. package/dist/input/schema.d.ts.map +1 -0
  246. package/dist/input/schema.js +228 -0
  247. package/dist/loader.d.ts +76 -0
  248. package/dist/loader.d.ts.map +1 -0
  249. package/dist/loader.js +114 -0
  250. package/dist/manifest/editor-port.d.ts +53 -0
  251. package/dist/manifest/editor-port.d.ts.map +1 -0
  252. package/dist/manifest/editor-port.js +67 -0
  253. package/dist/manifest/filename.d.ts +14 -0
  254. package/dist/manifest/filename.d.ts.map +1 -0
  255. package/dist/manifest/filename.js +43 -0
  256. package/dist/manifest/index.d.ts +6 -0
  257. package/dist/manifest/index.d.ts.map +1 -0
  258. package/dist/manifest/index.js +9 -0
  259. package/dist/manifest/load-file.d.ts +7 -0
  260. package/dist/manifest/load-file.d.ts.map +1 -0
  261. package/dist/manifest/load-file.js +23 -0
  262. package/dist/manifest/load.d.ts +161 -0
  263. package/dist/manifest/load.d.ts.map +1 -0
  264. package/dist/manifest/load.js +269 -0
  265. package/dist/manifest/locate.d.ts +24 -0
  266. package/dist/manifest/locate.d.ts.map +1 -0
  267. package/dist/manifest/locate.js +48 -0
  268. package/dist/manifest/schema.d.ts +293 -0
  269. package/dist/manifest/schema.d.ts.map +1 -0
  270. package/dist/manifest/schema.js +633 -0
  271. package/dist/physics/collider-dimensions.d.ts +63 -0
  272. package/dist/physics/collider-dimensions.d.ts.map +1 -0
  273. package/dist/physics/collider-dimensions.js +98 -0
  274. package/dist/physics/collision-system.d.ts +41 -0
  275. package/dist/physics/collision-system.d.ts.map +1 -0
  276. package/dist/physics/collision-system.js +64 -0
  277. package/dist/physics/physics-registry.d.ts +45 -0
  278. package/dist/physics/physics-registry.d.ts.map +1 -0
  279. package/dist/physics/physics-registry.js +65 -0
  280. package/dist/physics/transform-writer.d.ts +16 -0
  281. package/dist/physics/transform-writer.d.ts.map +1 -0
  282. package/dist/physics/transform-writer.js +38 -0
  283. package/dist/pixi/authoring.d.ts +93 -0
  284. package/dist/pixi/authoring.d.ts.map +1 -0
  285. package/dist/pixi/authoring.js +207 -0
  286. package/dist/pixi/index.d.ts +16 -0
  287. package/dist/pixi/index.d.ts.map +1 -0
  288. package/dist/pixi/index.js +15 -0
  289. package/dist/pixi/ingest-iframe.d.ts +82 -0
  290. package/dist/pixi/ingest-iframe.d.ts.map +1 -0
  291. package/dist/pixi/ingest-iframe.js +166 -0
  292. package/dist/pixi/ingest.d.ts +97 -0
  293. package/dist/pixi/ingest.d.ts.map +1 -0
  294. package/dist/pixi/ingest.js +40 -0
  295. package/dist/pixi/physics-registry.d.ts +24 -0
  296. package/dist/pixi/physics-registry.d.ts.map +1 -0
  297. package/dist/pixi/physics-registry.js +38 -0
  298. package/dist/pixi/scene-capture.d.ts +43 -0
  299. package/dist/pixi/scene-capture.d.ts.map +1 -0
  300. package/dist/pixi/scene-capture.js +92 -0
  301. package/dist/pixi/system-adapters.d.ts +16 -0
  302. package/dist/pixi/system-adapters.d.ts.map +1 -0
  303. package/dist/pixi/system-adapters.js +37 -0
  304. package/dist/react/unmanaged-root-detector.d.ts +18 -0
  305. package/dist/react/unmanaged-root-detector.d.ts.map +1 -0
  306. package/dist/react/unmanaged-root-detector.js +70 -0
  307. package/dist/react/use-data.d.ts +60 -0
  308. package/dist/react/use-data.d.ts.map +1 -0
  309. package/dist/react/use-data.js +101 -0
  310. package/dist/react/use-selection.d.ts +54 -0
  311. package/dist/react/use-selection.d.ts.map +1 -0
  312. package/dist/react/use-selection.js +71 -0
  313. package/dist/react/world-state.d.ts +154 -0
  314. package/dist/react/world-state.d.ts.map +1 -0
  315. package/dist/react/world-state.js +220 -0
  316. package/dist/render/auto-batcher.d.ts +34 -0
  317. package/dist/render/auto-batcher.d.ts.map +1 -0
  318. package/dist/render/auto-batcher.js +140 -0
  319. package/dist/render/instance-mesh.d.ts +5 -0
  320. package/dist/render/instance-mesh.d.ts.map +1 -0
  321. package/dist/render/instance-mesh.js +19 -0
  322. package/dist/render/light-camera-factory.d.ts +24 -0
  323. package/dist/render/light-camera-factory.d.ts.map +1 -0
  324. package/dist/render/light-camera-factory.js +71 -0
  325. package/dist/render/lod.d.ts +13 -0
  326. package/dist/render/lod.d.ts.map +1 -0
  327. package/dist/render/lod.js +16 -0
  328. package/dist/render/material-factory.d.ts +15 -0
  329. package/dist/render/material-factory.d.ts.map +1 -0
  330. package/dist/render/material-factory.js +186 -0
  331. package/dist/render/mesh-shadow.d.ts +11 -0
  332. package/dist/render/mesh-shadow.d.ts.map +1 -0
  333. package/dist/render/mesh-shadow.js +19 -0
  334. package/dist/render/particles-factory.d.ts +99 -0
  335. package/dist/render/particles-factory.d.ts.map +1 -0
  336. package/dist/render/particles-factory.js +361 -0
  337. package/dist/render/render-batch-system.d.ts +33 -0
  338. package/dist/render/render-batch-system.d.ts.map +1 -0
  339. package/dist/render/render-batch-system.js +223 -0
  340. package/dist/render/render-features.d.ts +47 -0
  341. package/dist/render/render-features.d.ts.map +1 -0
  342. package/dist/render/render-features.js +105 -0
  343. package/dist/render/render-settings.d.ts +35 -0
  344. package/dist/render/render-settings.d.ts.map +1 -0
  345. package/dist/render/render-settings.js +51 -0
  346. package/dist/render/spark-renderer-lifecycle.d.ts +18 -0
  347. package/dist/render/spark-renderer-lifecycle.d.ts.map +1 -0
  348. package/dist/render/spark-renderer-lifecycle.js +57 -0
  349. package/dist/render/viewport-shading.d.ts +17 -0
  350. package/dist/render/viewport-shading.d.ts.map +1 -0
  351. package/dist/render/viewport-shading.js +87 -0
  352. package/dist/runtime/create-runtime.d.ts +259 -0
  353. package/dist/runtime/create-runtime.d.ts.map +1 -0
  354. package/dist/runtime/create-runtime.js +666 -0
  355. package/dist/runtime/debug-bridge.d.ts +288 -0
  356. package/dist/runtime/debug-bridge.d.ts.map +1 -0
  357. package/dist/runtime/debug-bridge.js +277 -0
  358. package/dist/runtime/debug-registry.d.ts +287 -0
  359. package/dist/runtime/debug-registry.d.ts.map +1 -0
  360. package/dist/runtime/debug-registry.js +528 -0
  361. package/dist/runtime/dev-layers.d.ts +34 -0
  362. package/dist/runtime/dev-layers.d.ts.map +1 -0
  363. package/dist/runtime/dev-layers.js +40 -0
  364. package/dist/runtime/frame-selector-cache.d.ts +41 -0
  365. package/dist/runtime/frame-selector-cache.d.ts.map +1 -0
  366. package/dist/runtime/frame-selector-cache.js +65 -0
  367. package/dist/runtime/game.d.ts +576 -0
  368. package/dist/runtime/game.d.ts.map +1 -0
  369. package/dist/runtime/game.js +1003 -0
  370. package/dist/runtime/gameplay-rng-trap.d.ts +47 -0
  371. package/dist/runtime/gameplay-rng-trap.d.ts.map +1 -0
  372. package/dist/runtime/gameplay-rng-trap.js +95 -0
  373. package/dist/runtime/input-router.d.ts +78 -0
  374. package/dist/runtime/input-router.d.ts.map +1 -0
  375. package/dist/runtime/input-router.js +171 -0
  376. package/dist/runtime/mount-game.d.ts +126 -0
  377. package/dist/runtime/mount-game.d.ts.map +1 -0
  378. package/dist/runtime/mount-game.js +159 -0
  379. package/dist/runtime/mount-manifest.d.ts +174 -0
  380. package/dist/runtime/mount-manifest.d.ts.map +1 -0
  381. package/dist/runtime/mount-manifest.js +304 -0
  382. package/dist/runtime/presentation.d.ts +85 -0
  383. package/dist/runtime/presentation.d.ts.map +1 -0
  384. package/dist/runtime/presentation.js +92 -0
  385. package/dist/runtime/render-audio-control.d.ts +126 -0
  386. package/dist/runtime/render-audio-control.d.ts.map +1 -0
  387. package/dist/runtime/render-audio-control.js +116 -0
  388. package/dist/runtime/render-control.d.ts +347 -0
  389. package/dist/runtime/render-control.d.ts.map +1 -0
  390. package/dist/runtime/render-control.js +317 -0
  391. package/dist/runtime/render-seed.d.ts +56 -0
  392. package/dist/runtime/render-seed.d.ts.map +1 -0
  393. package/dist/runtime/render-seed.js +73 -0
  394. package/dist/runtime/state-bridge.d.ts +60 -0
  395. package/dist/runtime/state-bridge.d.ts.map +1 -0
  396. package/dist/runtime/state-bridge.js +62 -0
  397. package/dist/runtime/types.d.ts +285 -0
  398. package/dist/runtime/types.d.ts.map +1 -0
  399. package/dist/runtime/types.js +1 -0
  400. package/dist/runtime/unexported-game-trap.d.ts +36 -0
  401. package/dist/runtime/unexported-game-trap.d.ts.map +1 -0
  402. package/dist/runtime/unexported-game-trap.js +80 -0
  403. package/dist/setup/setup-audio.d.ts +20 -0
  404. package/dist/setup/setup-audio.d.ts.map +1 -0
  405. package/dist/setup/setup-audio.js +41 -0
  406. package/dist/setup/setup-particles.d.ts +17 -0
  407. package/dist/setup/setup-particles.d.ts.map +1 -0
  408. package/dist/setup/setup-particles.js +16 -0
  409. package/dist/setup/setup-physics.d.ts +25 -0
  410. package/dist/setup/setup-physics.d.ts.map +1 -0
  411. package/dist/setup/setup-physics.js +51 -0
  412. package/dist/setup/setup-renderer.d.ts +82 -0
  413. package/dist/setup/setup-renderer.d.ts.map +1 -0
  414. package/dist/setup/setup-renderer.js +381 -0
  415. package/dist/world3d-react/engine-bridge.d.ts +47 -0
  416. package/dist/world3d-react/engine-bridge.d.ts.map +1 -0
  417. package/dist/world3d-react/engine-bridge.js +48 -0
  418. package/dist/world3d-react/index.d.ts +47 -0
  419. package/dist/world3d-react/index.d.ts.map +1 -0
  420. package/dist/world3d-react/index.js +46 -0
  421. package/dist/world3d-react/r3f-adapter.d.ts +51 -0
  422. package/dist/world3d-react/r3f-adapter.d.ts.map +1 -0
  423. package/dist/world3d-react/r3f-adapter.js +368 -0
  424. package/dist/world3d-react/r3f-root-factory.d.ts +62 -0
  425. package/dist/world3d-react/r3f-root-factory.d.ts.map +1 -0
  426. package/dist/world3d-react/r3f-root-factory.js +79 -0
  427. package/dist/world3d-react/rapier-physics-bridge.d.ts +76 -0
  428. package/dist/world3d-react/rapier-physics-bridge.d.ts.map +1 -0
  429. package/dist/world3d-react/rapier-physics-bridge.js +120 -0
  430. package/dist/world3d-react/renderer-config.d.ts +58 -0
  431. package/dist/world3d-react/renderer-config.d.ts.map +1 -0
  432. package/dist/world3d-react/renderer-config.js +96 -0
  433. package/dist/world3d-react/world-context.d.ts +123 -0
  434. package/dist/world3d-react/world-context.d.ts.map +1 -0
  435. package/dist/world3d-react/world-context.js +204 -0
  436. package/dist-config/config.js +303 -0
  437. package/dist-config/config.js.map +7 -0
  438. package/package.json +14 -3
  439. package/src/adapter/rapier-physics-adapter.ts +77 -34
  440. package/src/config.ts +8 -0
  441. package/src/core/frame-pacing.ts +26 -0
  442. package/src/core/game-loop.ts +4 -3
  443. package/src/dev/instruments.ts +302 -0
  444. package/src/setup/setup-renderer.ts +2 -0
  445. package/src/world3d-react/index.ts +9 -0
  446. package/src/world3d-react/rapier-physics-bridge.tsx +137 -0
@@ -0,0 +1,129 @@
1
+ import { z } from 'zod';
2
+ export declare const MaterialDescriptorSchema: z.ZodObject<{
3
+ type: z.ZodEnum<{
4
+ standard: "standard";
5
+ physical: "physical";
6
+ basic: "basic";
7
+ toon: "toon";
8
+ }>;
9
+ color: z.ZodOptional<z.ZodString>;
10
+ metalness: z.ZodOptional<z.ZodNumber>;
11
+ roughness: z.ZodOptional<z.ZodNumber>;
12
+ map: z.ZodOptional<z.ZodString>;
13
+ normalMap: z.ZodOptional<z.ZodString>;
14
+ emissive: z.ZodOptional<z.ZodString>;
15
+ emissiveIntensity: z.ZodOptional<z.ZodNumber>;
16
+ emissiveMap: z.ZodOptional<z.ZodString>;
17
+ aoMap: z.ZodOptional<z.ZodString>;
18
+ lightMap: z.ZodOptional<z.ZodString>;
19
+ lightMapIntensity: z.ZodOptional<z.ZodNumber>;
20
+ roughnessMap: z.ZodOptional<z.ZodString>;
21
+ metalnessMap: z.ZodOptional<z.ZodString>;
22
+ opacity: z.ZodOptional<z.ZodNumber>;
23
+ transparent: z.ZodOptional<z.ZodBoolean>;
24
+ side: z.ZodOptional<z.ZodEnum<{
25
+ front: "front";
26
+ back: "back";
27
+ double: "double";
28
+ }>>;
29
+ flatShading: z.ZodOptional<z.ZodBoolean>;
30
+ clearcoat: z.ZodOptional<z.ZodObject<{
31
+ clearcoat: z.ZodNumber;
32
+ clearcoatRoughness: z.ZodOptional<z.ZodNumber>;
33
+ clearcoatMap: z.ZodOptional<z.ZodString>;
34
+ clearcoatRoughnessMap: z.ZodOptional<z.ZodString>;
35
+ }, z.core.$strip>>;
36
+ transmission: z.ZodOptional<z.ZodObject<{
37
+ transmission: z.ZodNumber;
38
+ ior: z.ZodOptional<z.ZodNumber>;
39
+ thickness: z.ZodOptional<z.ZodNumber>;
40
+ attenuationColor: z.ZodOptional<z.ZodString>;
41
+ attenuationDistance: z.ZodOptional<z.ZodNumber>;
42
+ transmissionMap: z.ZodOptional<z.ZodString>;
43
+ }, z.core.$strip>>;
44
+ sheen: z.ZodOptional<z.ZodObject<{
45
+ sheen: z.ZodNumber;
46
+ sheenColor: z.ZodOptional<z.ZodString>;
47
+ sheenRoughness: z.ZodOptional<z.ZodNumber>;
48
+ sheenColorMap: z.ZodOptional<z.ZodString>;
49
+ sheenRoughnessMap: z.ZodOptional<z.ZodString>;
50
+ }, z.core.$strip>>;
51
+ iridescence: z.ZodOptional<z.ZodObject<{
52
+ iridescence: z.ZodNumber;
53
+ iridescenceIOR: z.ZodOptional<z.ZodNumber>;
54
+ iridescenceThicknessRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
55
+ iridescenceMap: z.ZodOptional<z.ZodString>;
56
+ iridescenceThicknessMap: z.ZodOptional<z.ZodString>;
57
+ }, z.core.$strip>>;
58
+ displacementMap: z.ZodOptional<z.ZodString>;
59
+ displacementScale: z.ZodOptional<z.ZodNumber>;
60
+ displacementBias: z.ZodOptional<z.ZodNumber>;
61
+ }, z.core.$strict>;
62
+ export type MaterialDescriptor = z.infer<typeof MaterialDescriptorSchema>;
63
+ /** .mat.json file format for shared/reusable material assets. */
64
+ export declare const MaterialFileSchema: z.ZodObject<{
65
+ version: z.ZodNumber;
66
+ name: z.ZodString;
67
+ material: z.ZodObject<{
68
+ type: z.ZodEnum<{
69
+ standard: "standard";
70
+ physical: "physical";
71
+ basic: "basic";
72
+ toon: "toon";
73
+ }>;
74
+ color: z.ZodOptional<z.ZodString>;
75
+ metalness: z.ZodOptional<z.ZodNumber>;
76
+ roughness: z.ZodOptional<z.ZodNumber>;
77
+ map: z.ZodOptional<z.ZodString>;
78
+ normalMap: z.ZodOptional<z.ZodString>;
79
+ emissive: z.ZodOptional<z.ZodString>;
80
+ emissiveIntensity: z.ZodOptional<z.ZodNumber>;
81
+ emissiveMap: z.ZodOptional<z.ZodString>;
82
+ aoMap: z.ZodOptional<z.ZodString>;
83
+ lightMap: z.ZodOptional<z.ZodString>;
84
+ lightMapIntensity: z.ZodOptional<z.ZodNumber>;
85
+ roughnessMap: z.ZodOptional<z.ZodString>;
86
+ metalnessMap: z.ZodOptional<z.ZodString>;
87
+ opacity: z.ZodOptional<z.ZodNumber>;
88
+ transparent: z.ZodOptional<z.ZodBoolean>;
89
+ side: z.ZodOptional<z.ZodEnum<{
90
+ front: "front";
91
+ back: "back";
92
+ double: "double";
93
+ }>>;
94
+ flatShading: z.ZodOptional<z.ZodBoolean>;
95
+ clearcoat: z.ZodOptional<z.ZodObject<{
96
+ clearcoat: z.ZodNumber;
97
+ clearcoatRoughness: z.ZodOptional<z.ZodNumber>;
98
+ clearcoatMap: z.ZodOptional<z.ZodString>;
99
+ clearcoatRoughnessMap: z.ZodOptional<z.ZodString>;
100
+ }, z.core.$strip>>;
101
+ transmission: z.ZodOptional<z.ZodObject<{
102
+ transmission: z.ZodNumber;
103
+ ior: z.ZodOptional<z.ZodNumber>;
104
+ thickness: z.ZodOptional<z.ZodNumber>;
105
+ attenuationColor: z.ZodOptional<z.ZodString>;
106
+ attenuationDistance: z.ZodOptional<z.ZodNumber>;
107
+ transmissionMap: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strip>>;
109
+ sheen: z.ZodOptional<z.ZodObject<{
110
+ sheen: z.ZodNumber;
111
+ sheenColor: z.ZodOptional<z.ZodString>;
112
+ sheenRoughness: z.ZodOptional<z.ZodNumber>;
113
+ sheenColorMap: z.ZodOptional<z.ZodString>;
114
+ sheenRoughnessMap: z.ZodOptional<z.ZodString>;
115
+ }, z.core.$strip>>;
116
+ iridescence: z.ZodOptional<z.ZodObject<{
117
+ iridescence: z.ZodNumber;
118
+ iridescenceIOR: z.ZodOptional<z.ZodNumber>;
119
+ iridescenceThicknessRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
120
+ iridescenceMap: z.ZodOptional<z.ZodString>;
121
+ iridescenceThicknessMap: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strip>>;
123
+ displacementMap: z.ZodOptional<z.ZodString>;
124
+ displacementScale: z.ZodOptional<z.ZodNumber>;
125
+ displacementBias: z.ZodOptional<z.ZodNumber>;
126
+ }, z.core.$strict>;
127
+ }, z.core.$strip>;
128
+ export type MaterialFile = z.infer<typeof MaterialFileSchema>;
129
+ //# sourceMappingURL=material.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/asset-formats/material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwFxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAEpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMsB,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ const MaterialDescriptorObjectSchema = z
3
+ .object({
4
+ type: z.enum(['standard', 'physical', 'basic', 'toon']).describe('Material shading model'),
5
+ color: z.string().optional().describe('Base color as CSS hex string (e.g. "#ff0000")'),
6
+ metalness: z.number().optional().describe('Metalness factor 0–1 (standard/physical only)'),
7
+ roughness: z.number().optional().describe('Roughness factor 0–1 (standard/physical only)'),
8
+ map: z.string().optional().describe('Path to albedo/diffuse texture image'),
9
+ normalMap: z.string().optional().describe('Path to normal map texture image'),
10
+ emissive: z.string().optional().describe('Emissive color as CSS hex string'),
11
+ emissiveIntensity: z.number().optional().describe('Emissive light intensity multiplier'),
12
+ emissiveMap: z.string().optional().describe('Path to emissive map texture image'),
13
+ aoMap: z.string().optional().describe('Path to ambient occlusion map texture image'),
14
+ lightMap: z
15
+ .string()
16
+ .optional()
17
+ .describe("Path to a baked lightmap texture (uses the mesh's second UV set). Applies the pre-baked GI/shadow result on top of the material."),
18
+ lightMapIntensity: z.number().optional().describe('Lightmap intensity multiplier (default 1).'),
19
+ roughnessMap: z.string().optional().describe('Path to roughness map texture image'),
20
+ metalnessMap: z.string().optional().describe('Path to metalness map texture image'),
21
+ opacity: z.number().optional().describe('Opacity 0–1. Set transparent: true to enable'),
22
+ transparent: z.boolean().optional().describe('Enable alpha blending for this material'),
23
+ side: z.enum(['front', 'back', 'double']).optional().describe('Which face sides to render'),
24
+ flatShading: z.boolean().optional().describe('Use flat (faceted) shading instead of smooth'),
25
+ // Physical material feature groups (physical only, all optional)
26
+ clearcoat: z
27
+ .object({
28
+ clearcoat: z.number().describe('Clearcoat layer intensity 0–1'),
29
+ clearcoatRoughness: z.number().optional().describe('Clearcoat roughness 0–1'),
30
+ clearcoatMap: z.string().optional().describe('Path to clearcoat intensity map'),
31
+ clearcoatRoughnessMap: z.string().optional().describe('Path to clearcoat roughness map'),
32
+ })
33
+ .optional()
34
+ .describe('Clearcoat layer (physical only)'),
35
+ transmission: z
36
+ .object({
37
+ transmission: z.number().describe('Transmission intensity 0–1 (glass, liquid)'),
38
+ ior: z.number().optional().describe('Index of refraction (default 1.5)'),
39
+ thickness: z.number().optional().describe('Volume thickness for refraction'),
40
+ attenuationColor: z.string().optional().describe('Color absorbed over distance'),
41
+ attenuationDistance: z
42
+ .number()
43
+ .optional()
44
+ .describe('Distance at which attenuation color takes full effect'),
45
+ transmissionMap: z.string().optional().describe('Path to transmission map'),
46
+ })
47
+ .optional()
48
+ .describe('Light transmission (physical only)'),
49
+ sheen: z
50
+ .object({
51
+ sheen: z.number().describe('Sheen intensity 0–1 (fabric, velvet)'),
52
+ sheenColor: z.string().optional().describe('Sheen tint color'),
53
+ sheenRoughness: z.number().optional().describe('Sheen roughness 0–1'),
54
+ sheenColorMap: z.string().optional().describe('Path to sheen color map'),
55
+ sheenRoughnessMap: z.string().optional().describe('Path to sheen roughness map'),
56
+ })
57
+ .optional()
58
+ .describe('Sheen layer (physical only)'),
59
+ iridescence: z
60
+ .object({
61
+ iridescence: z.number().describe('Iridescence intensity 0–1 (soap bubbles, oil slick)'),
62
+ iridescenceIOR: z.number().optional().describe('Thin-film IOR (default 1.3)'),
63
+ iridescenceThicknessRange: z
64
+ .tuple([z.number(), z.number()])
65
+ .optional()
66
+ .describe('Min/max thin-film thickness in nm'),
67
+ iridescenceMap: z.string().optional().describe('Path to iridescence intensity map'),
68
+ iridescenceThicknessMap: z
69
+ .string()
70
+ .optional()
71
+ .describe('Path to iridescence thickness map'),
72
+ })
73
+ .optional()
74
+ .describe('Iridescence thin-film (physical only)'),
75
+ displacementMap: z.string().optional().describe('Path to displacement/height map'),
76
+ displacementScale: z.number().optional().describe('Displacement height multiplier'),
77
+ displacementBias: z.number().optional().describe('Displacement offset'),
78
+ })
79
+ .strict();
80
+ export const MaterialDescriptorSchema = MaterialDescriptorObjectSchema.describe('Material appearance properties');
81
+ /** .mat.json file format for shared/reusable material assets. */
82
+ export const MaterialFileSchema = z
83
+ .object({
84
+ version: z.number().describe('File format version'),
85
+ name: z.string().describe('Human-readable material name'),
86
+ material: MaterialDescriptorSchema.describe('Material definition'),
87
+ })
88
+ .describe('Shared material asset file (.mat.json)');
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ export declare const MeshDescriptorSchema: z.ZodObject<{
3
+ type: z.ZodEnum<{
4
+ box: "box";
5
+ capsule: "capsule";
6
+ sphere: "sphere";
7
+ plane: "plane";
8
+ cylinder: "cylinder";
9
+ gltf: "gltf";
10
+ splat: "splat";
11
+ }>;
12
+ args: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
13
+ src: z.ZodOptional<z.ZodString>;
14
+ node: z.ZodOptional<z.ZodString>;
15
+ instances: z.ZodOptional<z.ZodString>;
16
+ lod: z.ZodOptional<z.ZodArray<z.ZodObject<{
17
+ distance: z.ZodNumber;
18
+ node: z.ZodString;
19
+ }, z.core.$strip>>>;
20
+ }, z.core.$strict>;
21
+ export type MeshDescriptor = z.infer<typeof MeshDescriptorSchema>;
22
+ //# sourceMappingURL=mesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../src/asset-formats/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;kBAoBM,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ const MeshDescriptorBase = z
3
+ .object({
4
+ type: z
5
+ .enum(['box', 'sphere', 'plane', 'cylinder', 'capsule', 'gltf', 'splat'])
6
+ .describe('Renderable type: a built-in mesh primitive, "gltf" for an external 3D model, or "splat" for a native Gaussian-splat asset'),
7
+ args: z
8
+ .array(z.number())
9
+ .optional()
10
+ .describe('Geometry constructor args — box: [w,h,d], sphere: [radius], cylinder: [rTop,rBot,h], capsule: [radius,length], plane: [w,h,widthSegments,heightSegments]'),
11
+ src: z
12
+ .string()
13
+ .optional()
14
+ .describe('Path to the external render asset. Required for "gltf" (GLTF/GLB) and "splat" (SPZ)'),
15
+ node: z
16
+ .string()
17
+ .optional()
18
+ .describe('Name (or path) of a single node inside the referenced glTF (resolved via ' +
19
+ "getObjectByName) to instantiate as this entity's geometry, instead of the whole " +
20
+ 'file. The geometry stays SHARED from the cached glTF — nothing is copied out. ' +
21
+ 'Only meaningful with type: "gltf". CONSTRAINT: a skinned/animated node cannot be ' +
22
+ 'lifted out of its armature — if the named node is a SkinnedMesh (or contains one), ' +
23
+ 'resolving it throws (degrade loudly, not silently).'),
24
+ instances: z
25
+ .string()
26
+ .optional()
27
+ .describe('Path to an instance-transform asset (.instances.json: an array of ' +
28
+ '[posX,posY,posZ, quatX,quatY,quatZ,quatW, scaleX,scaleY,scaleZ] tuples). Renders one ' +
29
+ 'THREE.InstancedMesh (one draw call). Bulk transform data is referenced as an asset, ' +
30
+ 'never inlined — keeps the document thin.'),
31
+ lod: z
32
+ .array(z.object({
33
+ distance: z
34
+ .number()
35
+ .describe('Camera distance in world units at/beyond which this level shows (THREE.LOD ' +
36
+ 'threshold). Use 0 for the closest/highest-detail level.'),
37
+ node: z
38
+ .string()
39
+ .describe('Name of a node inside the referenced glTF (mesh.src) to show at this distance — ' +
40
+ 'resolved via getObjectByName, geometry shared (F4-style). A skinned node throws ' +
41
+ '(atomic-subtree rule).'),
42
+ }))
43
+ .optional()
44
+ .describe('Per-entity Level-of-Detail: distance-keyed glTF sub-nodes swapped by camera distance ' +
45
+ '(THREE.LOD). gltf-only. Gated by the environment.rendering.lod master toggle — when ' +
46
+ 'off, only the closest level renders. Cannot combine with node/instances.'),
47
+ })
48
+ .strict();
49
+ export const MeshDescriptorSchema = MeshDescriptorBase.refine((m) => (m.type !== 'gltf' && m.type !== 'splat') || m.src != null, {
50
+ message: "External render asset requires 'src' field",
51
+ })
52
+ .refine((m) => m.node == null || m.type === 'gltf', {
53
+ message: "Mesh 'node' is only meaningful with type: 'gltf' (names a sub-node of the referenced glTF)",
54
+ })
55
+ .refine((m) => m.lod == null || m.type === 'gltf', {
56
+ message: "Mesh 'lod' is only meaningful with type: 'gltf'",
57
+ })
58
+ .refine((m) => m.instances == null || m.type !== 'splat', {
59
+ message: "Mesh 'instances' is not supported with type: 'splat'",
60
+ })
61
+ .refine((m) => !(m.lod && (m.node || m.instances)), {
62
+ message: "Mesh 'lod' cannot combine with 'node'/'instances' — LOD is the multi-level form of a node ref",
63
+ })
64
+ .describe('Mesh geometry definition');
@@ -0,0 +1,20 @@
1
+ import { AssetParseError } from '../asset-parse-error';
2
+ import type { InstancesFile } from './instances';
3
+ import type { MaterialFile } from './material';
4
+ export { AssetParseError };
5
+ /**
6
+ * Parse a `.mat.json` shared material asset (T4.6). There is no version-range
7
+ * gate for this format — `MaterialFileSchema`'s `version` field is RESERVED
8
+ * (see `schema-consumption-map.ts`).
9
+ *
10
+ * Formerly `@engine/scene/parse`'s `parseMaterialFile`; moved here when WO-8
11
+ * deleted the `.vscn` scene format that module was named for.
12
+ */
13
+ export declare function parseMaterialFile(json: unknown, filePath?: string): MaterialFile;
14
+ /**
15
+ * Parse a `.instances.json` instance-transform asset (F3). Mirrors
16
+ * `parseMaterialFile` exactly — no version-range gate (the format is a bare
17
+ * tuple array, no `version` field).
18
+ */
19
+ export declare function parseInstancesFile(json: unknown, filePath?: string): InstancesFile;
20
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/asset-formats/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAMhF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAMlF"}
@@ -0,0 +1,34 @@
1
+ import { AssetParseError } from '../asset-parse-error';
2
+ import { InstancesFileSchema } from './instances';
3
+ import { MaterialFileSchema } from './material';
4
+ // The error class itself is format-neutral and lives in
5
+ // `engine/src/asset-parse-error.ts` (the input-map loader raises it too).
6
+ // Re-exported here so callers have one import for parse + error.
7
+ export { AssetParseError };
8
+ /**
9
+ * Parse a `.mat.json` shared material asset (T4.6). There is no version-range
10
+ * gate for this format — `MaterialFileSchema`'s `version` field is RESERVED
11
+ * (see `schema-consumption-map.ts`).
12
+ *
13
+ * Formerly `@engine/scene/parse`'s `parseMaterialFile`; moved here when WO-8
14
+ * deleted the `.vscn` scene format that module was named for.
15
+ */
16
+ export function parseMaterialFile(json, filePath) {
17
+ const result = MaterialFileSchema.safeParse(json);
18
+ if (!result.success) {
19
+ throw new AssetParseError(result.error.issues, filePath);
20
+ }
21
+ return result.data;
22
+ }
23
+ /**
24
+ * Parse a `.instances.json` instance-transform asset (F3). Mirrors
25
+ * `parseMaterialFile` exactly — no version-range gate (the format is a bare
26
+ * tuple array, no `version` field).
27
+ */
28
+ export function parseInstancesFile(json, filePath) {
29
+ const result = InstancesFileSchema.safeParse(json);
30
+ if (!result.success) {
31
+ throw new AssetParseError(result.error.issues, filePath);
32
+ }
33
+ return result.data;
34
+ }