@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,199 @@
1
+ import { z } from 'zod';
2
+ export declare const SceneMaterialSchema: z.ZodObject<{
3
+ type: z.ZodEnum<{
4
+ custom: "custom";
5
+ standard: "standard";
6
+ physical: "physical";
7
+ basic: "basic";
8
+ toon: "toon";
9
+ }>;
10
+ def: z.ZodOptional<z.ZodString>;
11
+ uniforms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodNumber>]>>>;
12
+ color: z.ZodOptional<z.ZodString>;
13
+ metalness: z.ZodOptional<z.ZodNumber>;
14
+ roughness: z.ZodOptional<z.ZodNumber>;
15
+ map: z.ZodOptional<z.ZodString>;
16
+ normalMap: z.ZodOptional<z.ZodString>;
17
+ emissive: z.ZodOptional<z.ZodString>;
18
+ emissiveIntensity: z.ZodOptional<z.ZodNumber>;
19
+ emissiveMap: z.ZodOptional<z.ZodString>;
20
+ aoMap: z.ZodOptional<z.ZodString>;
21
+ lightMap: z.ZodOptional<z.ZodString>;
22
+ lightMapIntensity: z.ZodOptional<z.ZodNumber>;
23
+ roughnessMap: z.ZodOptional<z.ZodString>;
24
+ metalnessMap: z.ZodOptional<z.ZodString>;
25
+ opacity: z.ZodOptional<z.ZodNumber>;
26
+ transparent: z.ZodOptional<z.ZodBoolean>;
27
+ side: z.ZodOptional<z.ZodEnum<{
28
+ front: "front";
29
+ back: "back";
30
+ double: "double";
31
+ }>>;
32
+ flatShading: z.ZodOptional<z.ZodBoolean>;
33
+ clearcoat: z.ZodOptional<z.ZodObject<{
34
+ clearcoat: z.ZodNumber;
35
+ clearcoatRoughness: z.ZodOptional<z.ZodNumber>;
36
+ clearcoatMap: z.ZodOptional<z.ZodString>;
37
+ clearcoatRoughnessMap: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>>;
39
+ transmission: z.ZodOptional<z.ZodObject<{
40
+ transmission: z.ZodNumber;
41
+ ior: z.ZodOptional<z.ZodNumber>;
42
+ thickness: z.ZodOptional<z.ZodNumber>;
43
+ attenuationColor: z.ZodOptional<z.ZodString>;
44
+ attenuationDistance: z.ZodOptional<z.ZodNumber>;
45
+ transmissionMap: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$strip>>;
47
+ sheen: z.ZodOptional<z.ZodObject<{
48
+ sheen: z.ZodNumber;
49
+ sheenColor: z.ZodOptional<z.ZodString>;
50
+ sheenRoughness: z.ZodOptional<z.ZodNumber>;
51
+ sheenColorMap: z.ZodOptional<z.ZodString>;
52
+ sheenRoughnessMap: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strip>>;
54
+ iridescence: z.ZodOptional<z.ZodObject<{
55
+ iridescence: z.ZodNumber;
56
+ iridescenceIOR: z.ZodOptional<z.ZodNumber>;
57
+ iridescenceThicknessRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
58
+ iridescenceMap: z.ZodOptional<z.ZodString>;
59
+ iridescenceThicknessMap: z.ZodOptional<z.ZodString>;
60
+ }, z.core.$strip>>;
61
+ displacementMap: z.ZodOptional<z.ZodString>;
62
+ displacementScale: z.ZodOptional<z.ZodNumber>;
63
+ displacementBias: z.ZodOptional<z.ZodNumber>;
64
+ }, z.core.$strip>;
65
+ /** Partial schema for prefab instance overrides (type not required). */
66
+ export declare const SceneMaterialOverrideSchema: z.ZodObject<{
67
+ type: z.ZodOptional<z.ZodEnum<{
68
+ custom: "custom";
69
+ standard: "standard";
70
+ physical: "physical";
71
+ basic: "basic";
72
+ toon: "toon";
73
+ }>>;
74
+ def: z.ZodOptional<z.ZodOptional<z.ZodString>>;
75
+ uniforms: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodNumber>]>>>>;
76
+ color: z.ZodOptional<z.ZodOptional<z.ZodString>>;
77
+ metalness: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
78
+ roughness: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
79
+ map: z.ZodOptional<z.ZodOptional<z.ZodString>>;
80
+ normalMap: z.ZodOptional<z.ZodOptional<z.ZodString>>;
81
+ emissive: z.ZodOptional<z.ZodOptional<z.ZodString>>;
82
+ emissiveIntensity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
83
+ emissiveMap: z.ZodOptional<z.ZodOptional<z.ZodString>>;
84
+ aoMap: z.ZodOptional<z.ZodOptional<z.ZodString>>;
85
+ lightMap: z.ZodOptional<z.ZodOptional<z.ZodString>>;
86
+ lightMapIntensity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
87
+ roughnessMap: z.ZodOptional<z.ZodOptional<z.ZodString>>;
88
+ metalnessMap: z.ZodOptional<z.ZodOptional<z.ZodString>>;
89
+ opacity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
90
+ transparent: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
91
+ side: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
92
+ front: "front";
93
+ back: "back";
94
+ double: "double";
95
+ }>>>;
96
+ flatShading: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
97
+ clearcoat: z.ZodOptional<z.ZodOptional<z.ZodObject<{
98
+ clearcoat: z.ZodNumber;
99
+ clearcoatRoughness: z.ZodOptional<z.ZodNumber>;
100
+ clearcoatMap: z.ZodOptional<z.ZodString>;
101
+ clearcoatRoughnessMap: z.ZodOptional<z.ZodString>;
102
+ }, z.core.$strip>>>;
103
+ transmission: z.ZodOptional<z.ZodOptional<z.ZodObject<{
104
+ transmission: z.ZodNumber;
105
+ ior: z.ZodOptional<z.ZodNumber>;
106
+ thickness: z.ZodOptional<z.ZodNumber>;
107
+ attenuationColor: z.ZodOptional<z.ZodString>;
108
+ attenuationDistance: z.ZodOptional<z.ZodNumber>;
109
+ transmissionMap: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$strip>>>;
111
+ sheen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
112
+ sheen: z.ZodNumber;
113
+ sheenColor: z.ZodOptional<z.ZodString>;
114
+ sheenRoughness: z.ZodOptional<z.ZodNumber>;
115
+ sheenColorMap: z.ZodOptional<z.ZodString>;
116
+ sheenRoughnessMap: z.ZodOptional<z.ZodString>;
117
+ }, z.core.$strip>>>;
118
+ iridescence: z.ZodOptional<z.ZodOptional<z.ZodObject<{
119
+ iridescence: z.ZodNumber;
120
+ iridescenceIOR: z.ZodOptional<z.ZodNumber>;
121
+ iridescenceThicknessRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
122
+ iridescenceMap: z.ZodOptional<z.ZodString>;
123
+ iridescenceThicknessMap: z.ZodOptional<z.ZodString>;
124
+ }, z.core.$strip>>>;
125
+ displacementMap: z.ZodOptional<z.ZodOptional<z.ZodString>>;
126
+ displacementScale: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
127
+ displacementBias: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
128
+ }, z.core.$strip>;
129
+ export type SceneMaterial = z.infer<typeof SceneMaterialSchema>;
130
+ /** .mat.json file format for shared/reusable material assets. */
131
+ export declare const MaterialFileSchema: z.ZodObject<{
132
+ version: z.ZodNumber;
133
+ name: z.ZodString;
134
+ material: z.ZodObject<{
135
+ type: z.ZodEnum<{
136
+ custom: "custom";
137
+ standard: "standard";
138
+ physical: "physical";
139
+ basic: "basic";
140
+ toon: "toon";
141
+ }>;
142
+ def: z.ZodOptional<z.ZodString>;
143
+ uniforms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodNumber>]>>>;
144
+ color: z.ZodOptional<z.ZodString>;
145
+ metalness: z.ZodOptional<z.ZodNumber>;
146
+ roughness: z.ZodOptional<z.ZodNumber>;
147
+ map: z.ZodOptional<z.ZodString>;
148
+ normalMap: z.ZodOptional<z.ZodString>;
149
+ emissive: z.ZodOptional<z.ZodString>;
150
+ emissiveIntensity: z.ZodOptional<z.ZodNumber>;
151
+ emissiveMap: z.ZodOptional<z.ZodString>;
152
+ aoMap: z.ZodOptional<z.ZodString>;
153
+ lightMap: z.ZodOptional<z.ZodString>;
154
+ lightMapIntensity: z.ZodOptional<z.ZodNumber>;
155
+ roughnessMap: z.ZodOptional<z.ZodString>;
156
+ metalnessMap: z.ZodOptional<z.ZodString>;
157
+ opacity: z.ZodOptional<z.ZodNumber>;
158
+ transparent: z.ZodOptional<z.ZodBoolean>;
159
+ side: z.ZodOptional<z.ZodEnum<{
160
+ front: "front";
161
+ back: "back";
162
+ double: "double";
163
+ }>>;
164
+ flatShading: z.ZodOptional<z.ZodBoolean>;
165
+ clearcoat: z.ZodOptional<z.ZodObject<{
166
+ clearcoat: z.ZodNumber;
167
+ clearcoatRoughness: z.ZodOptional<z.ZodNumber>;
168
+ clearcoatMap: z.ZodOptional<z.ZodString>;
169
+ clearcoatRoughnessMap: z.ZodOptional<z.ZodString>;
170
+ }, z.core.$strip>>;
171
+ transmission: z.ZodOptional<z.ZodObject<{
172
+ transmission: z.ZodNumber;
173
+ ior: z.ZodOptional<z.ZodNumber>;
174
+ thickness: z.ZodOptional<z.ZodNumber>;
175
+ attenuationColor: z.ZodOptional<z.ZodString>;
176
+ attenuationDistance: z.ZodOptional<z.ZodNumber>;
177
+ transmissionMap: z.ZodOptional<z.ZodString>;
178
+ }, z.core.$strip>>;
179
+ sheen: z.ZodOptional<z.ZodObject<{
180
+ sheen: z.ZodNumber;
181
+ sheenColor: z.ZodOptional<z.ZodString>;
182
+ sheenRoughness: z.ZodOptional<z.ZodNumber>;
183
+ sheenColorMap: z.ZodOptional<z.ZodString>;
184
+ sheenRoughnessMap: z.ZodOptional<z.ZodString>;
185
+ }, z.core.$strip>>;
186
+ iridescence: z.ZodOptional<z.ZodObject<{
187
+ iridescence: z.ZodNumber;
188
+ iridescenceIOR: z.ZodOptional<z.ZodNumber>;
189
+ iridescenceThicknessRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
190
+ iridescenceMap: z.ZodOptional<z.ZodString>;
191
+ iridescenceThicknessMap: z.ZodOptional<z.ZodString>;
192
+ }, z.core.$strip>>;
193
+ displacementMap: z.ZodOptional<z.ZodString>;
194
+ displacementScale: z.ZodOptional<z.ZodNumber>;
195
+ displacementBias: z.ZodOptional<z.ZodNumber>;
196
+ }, z.core.$strip>;
197
+ }, z.core.$strip>;
198
+ export type MaterialFile = z.infer<typeof MaterialFileSchema>;
199
+ //# sourceMappingURL=material.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../../src/scene/schema/material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8Fa,CAAC;AAE9C,wEAAwE;AACxE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgC,CAAC;AAEzE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMsB,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { z } from 'zod';
2
+ export const SceneMaterialSchema = z
3
+ .object({
4
+ type: z
5
+ .enum(['standard', 'physical', 'basic', 'toon', 'custom'])
6
+ .describe('Material shading model. "custom" resolves `def` against the material registry'),
7
+ def: z
8
+ .string()
9
+ .optional()
10
+ .describe('Registered custom-material name (required when type is "custom")'),
11
+ uniforms: z
12
+ .record(z.string(), z.union([z.number(), z.string(), z.boolean(), z.array(z.number())]))
13
+ .optional()
14
+ .describe('Authored uniform values for a custom material, keyed by uniform name'),
15
+ color: z.string().optional().describe('Base color as CSS hex string (e.g. "#ff0000")'),
16
+ metalness: z.number().optional().describe('Metalness factor 0–1 (standard/physical only)'),
17
+ roughness: z.number().optional().describe('Roughness factor 0–1 (standard/physical only)'),
18
+ map: z.string().optional().describe('Path to albedo/diffuse texture image'),
19
+ normalMap: z.string().optional().describe('Path to normal map texture image'),
20
+ emissive: z.string().optional().describe('Emissive color as CSS hex string'),
21
+ emissiveIntensity: z.number().optional().describe('Emissive light intensity multiplier'),
22
+ emissiveMap: z.string().optional().describe('Path to emissive map texture image'),
23
+ aoMap: z.string().optional().describe('Path to ambient occlusion map texture image'),
24
+ lightMap: z
25
+ .string()
26
+ .optional()
27
+ .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."),
28
+ lightMapIntensity: z.number().optional().describe('Lightmap intensity multiplier (default 1).'),
29
+ roughnessMap: z.string().optional().describe('Path to roughness map texture image'),
30
+ metalnessMap: z.string().optional().describe('Path to metalness map texture image'),
31
+ opacity: z.number().optional().describe('Opacity 0–1. Set transparent: true to enable'),
32
+ transparent: z.boolean().optional().describe('Enable alpha blending for this material'),
33
+ side: z.enum(['front', 'back', 'double']).optional().describe('Which face sides to render'),
34
+ flatShading: z.boolean().optional().describe('Use flat (faceted) shading instead of smooth'),
35
+ // Physical material feature groups (physical only, all optional)
36
+ clearcoat: z
37
+ .object({
38
+ clearcoat: z.number().describe('Clearcoat layer intensity 0–1'),
39
+ clearcoatRoughness: z.number().optional().describe('Clearcoat roughness 0–1'),
40
+ clearcoatMap: z.string().optional().describe('Path to clearcoat intensity map'),
41
+ clearcoatRoughnessMap: z.string().optional().describe('Path to clearcoat roughness map'),
42
+ })
43
+ .optional()
44
+ .describe('Clearcoat layer (physical only)'),
45
+ transmission: z
46
+ .object({
47
+ transmission: z.number().describe('Transmission intensity 0–1 (glass, liquid)'),
48
+ ior: z.number().optional().describe('Index of refraction (default 1.5)'),
49
+ thickness: z.number().optional().describe('Volume thickness for refraction'),
50
+ attenuationColor: z.string().optional().describe('Color absorbed over distance'),
51
+ attenuationDistance: z
52
+ .number()
53
+ .optional()
54
+ .describe('Distance at which attenuation color takes full effect'),
55
+ transmissionMap: z.string().optional().describe('Path to transmission map'),
56
+ })
57
+ .optional()
58
+ .describe('Light transmission (physical only)'),
59
+ sheen: z
60
+ .object({
61
+ sheen: z.number().describe('Sheen intensity 0–1 (fabric, velvet)'),
62
+ sheenColor: z.string().optional().describe('Sheen tint color'),
63
+ sheenRoughness: z.number().optional().describe('Sheen roughness 0–1'),
64
+ sheenColorMap: z.string().optional().describe('Path to sheen color map'),
65
+ sheenRoughnessMap: z.string().optional().describe('Path to sheen roughness map'),
66
+ })
67
+ .optional()
68
+ .describe('Sheen layer (physical only)'),
69
+ iridescence: z
70
+ .object({
71
+ iridescence: z.number().describe('Iridescence intensity 0–1 (soap bubbles, oil slick)'),
72
+ iridescenceIOR: z.number().optional().describe('Thin-film IOR (default 1.3)'),
73
+ iridescenceThicknessRange: z
74
+ .tuple([z.number(), z.number()])
75
+ .optional()
76
+ .describe('Min/max thin-film thickness in nm'),
77
+ iridescenceMap: z.string().optional().describe('Path to iridescence intensity map'),
78
+ iridescenceThicknessMap: z
79
+ .string()
80
+ .optional()
81
+ .describe('Path to iridescence thickness map'),
82
+ })
83
+ .optional()
84
+ .describe('Iridescence thin-film (physical only)'),
85
+ displacementMap: z.string().optional().describe('Path to displacement/height map'),
86
+ displacementScale: z.number().optional().describe('Displacement height multiplier'),
87
+ displacementBias: z.number().optional().describe('Displacement offset'),
88
+ })
89
+ .describe('Material appearance properties');
90
+ /** Partial schema for prefab instance overrides (type not required). */
91
+ export const SceneMaterialOverrideSchema = SceneMaterialSchema.partial();
92
+ /** .mat.json file format for shared/reusable material assets. */
93
+ export const MaterialFileSchema = z
94
+ .object({
95
+ version: z.number().describe('File format version'),
96
+ name: z.string().describe('Human-readable material name'),
97
+ material: SceneMaterialSchema.describe('Material definition'),
98
+ })
99
+ .describe('Shared material asset file (.mat.json)');
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ export declare const SceneMeshSchema: z.ZodObject<{
3
+ type: z.ZodEnum<{
4
+ capsule: "capsule";
5
+ box: "box";
6
+ sphere: "sphere";
7
+ plane: "plane";
8
+ cylinder: "cylinder";
9
+ gltf: "gltf";
10
+ }>;
11
+ args: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
12
+ src: z.ZodOptional<z.ZodString>;
13
+ node: z.ZodOptional<z.ZodString>;
14
+ instances: z.ZodOptional<z.ZodString>;
15
+ instancer: z.ZodOptional<z.ZodString>;
16
+ instancerParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
17
+ generator: z.ZodOptional<z.ZodString>;
18
+ generatorParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
19
+ lod: z.ZodOptional<z.ZodArray<z.ZodObject<{
20
+ distance: z.ZodNumber;
21
+ node: z.ZodString;
22
+ }, z.core.$strip>>>;
23
+ }, z.core.$strip>;
24
+ /** Partial schema for prefab instance overrides (type not required). */
25
+ export declare const SceneMeshOverrideSchema: z.ZodObject<{
26
+ type: z.ZodOptional<z.ZodEnum<{
27
+ capsule: "capsule";
28
+ box: "box";
29
+ sphere: "sphere";
30
+ plane: "plane";
31
+ cylinder: "cylinder";
32
+ gltf: "gltf";
33
+ }>>;
34
+ args: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodNumber>>>;
35
+ src: z.ZodOptional<z.ZodOptional<z.ZodString>>;
36
+ node: z.ZodOptional<z.ZodOptional<z.ZodString>>;
37
+ instances: z.ZodOptional<z.ZodOptional<z.ZodString>>;
38
+ instancer: z.ZodOptional<z.ZodOptional<z.ZodString>>;
39
+ instancerParams: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>>;
40
+ generator: z.ZodOptional<z.ZodOptional<z.ZodString>>;
41
+ generatorParams: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>>;
42
+ lod: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
43
+ distance: z.ZodNumber;
44
+ node: z.ZodString;
45
+ }, z.core.$strip>>>>;
46
+ }, z.core.$strip>;
47
+ export type SceneMesh = z.infer<typeof SceneMeshSchema>;
48
+ //# sourceMappingURL=mesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../src/scene/schema/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkFxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;iBAoBW,CAAC;AAExC,wEAAwE;AACxE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;iBAA0B,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { z } from 'zod';
2
+ const SceneMeshBase = z.object({
3
+ type: z
4
+ .enum(['box', 'sphere', 'plane', 'cylinder', 'capsule', 'gltf'])
5
+ .describe('Mesh primitive type, or "gltf" for an external 3D model'),
6
+ args: z
7
+ .array(z.number())
8
+ .optional()
9
+ .describe('Geometry constructor args — box: [w,h,d], sphere: [radius], cylinder: [rTop,rBot,h], capsule: [radius,length], plane: [w,h]'),
10
+ src: z.string().optional().describe('Path to GLTF/GLB model file. Required when type is "gltf"'),
11
+ node: z
12
+ .string()
13
+ .optional()
14
+ .describe('Name (or path) of a single node inside the referenced glTF (resolved via ' +
15
+ "getObjectByName) to instantiate as this entity's geometry, instead of the whole " +
16
+ 'file. The geometry stays SHARED from the cached glTF — nothing is copied out. ' +
17
+ 'Only meaningful with type: "gltf". CONSTRAINT: a skinned/animated node cannot be ' +
18
+ 'lifted out of its armature — if the named node is a SkinnedMesh (or contains one), ' +
19
+ 'resolving it throws (degrade loudly, not silently).'),
20
+ instances: z
21
+ .string()
22
+ .optional()
23
+ .describe('Path to an instance-transform asset (.instances.json: an array of ' +
24
+ '[posX,posY,posZ, quatX,quatY,quatZ,quatW, scaleX,scaleY,scaleZ] tuples). Renders one ' +
25
+ 'THREE.InstancedMesh (one draw call). Bulk transform data is referenced as an asset, ' +
26
+ 'never inlined — keeps vscn thin.'),
27
+ instancer: z
28
+ .string()
29
+ .optional()
30
+ .describe('Registered instancer name. When set, the mesh renders as a single THREE.InstancedMesh ' +
31
+ '(one draw call) with code-generated per-instance transforms instead of one THREE.Mesh'),
32
+ instancerParams: z
33
+ .record(z.string(), z.union([z.number(), z.string(), z.boolean()]))
34
+ .optional()
35
+ .describe('Params for the instancer (e.g. count, spacing), keyed by name'),
36
+ generator: z
37
+ .string()
38
+ .optional()
39
+ .describe('Registered geometry-generator name (e.g. "Terrain"). When set, the mesh geometry is ' +
40
+ 'produced procedurally in code instead of from `type`/`args`. Pairs with a "trimesh" ' +
41
+ 'collider for matching physics.'),
42
+ generatorParams: z
43
+ .record(z.string(), z.union([z.number(), z.string(), z.boolean()]))
44
+ .optional()
45
+ .describe('Params for the geometry generator (e.g. width, segments, amplitude)'),
46
+ lod: z
47
+ .array(z.object({
48
+ distance: z
49
+ .number()
50
+ .describe('Camera distance in world units at/beyond which this level shows (THREE.LOD ' +
51
+ 'threshold). Use 0 for the closest/highest-detail level.'),
52
+ node: z
53
+ .string()
54
+ .describe('Name of a node inside the referenced glTF (mesh.src) to show at this distance — ' +
55
+ 'resolved via getObjectByName, geometry shared (F4-style). A skinned node throws ' +
56
+ '(atomic-subtree rule).'),
57
+ }))
58
+ .optional()
59
+ .describe('Per-entity Level-of-Detail: distance-keyed glTF sub-nodes swapped by camera distance ' +
60
+ '(THREE.LOD). gltf-only. Gated by the environment.rendering.lod master toggle — when ' +
61
+ 'off, only the closest level renders. Cannot combine with node/instances/instancer.'),
62
+ });
63
+ export const SceneMeshSchema = SceneMeshBase.refine((m) => m.type !== 'gltf' || m.src != null, {
64
+ message: "GLTF mesh requires 'src' field",
65
+ })
66
+ .refine((m) => m.node == null || m.type === 'gltf', {
67
+ message: "Mesh 'node' is only meaningful with type: 'gltf' (names a sub-node of the referenced glTF)",
68
+ })
69
+ .refine((m) => !(m.instances && m.instancer), {
70
+ message: "Mesh cannot set both 'instances' (authored) and 'instancer' (code-registered) — " +
71
+ 'pick one canonical instancing source per mesh',
72
+ })
73
+ .refine((m) => m.lod == null || m.type === 'gltf', {
74
+ message: "Mesh 'lod' is only meaningful with type: 'gltf'",
75
+ })
76
+ .refine((m) => !(m.lod && (m.node || m.instances || m.instancer)), {
77
+ message: "Mesh 'lod' cannot combine with 'node'/'instances'/'instancer' — LOD is the multi-level " +
78
+ 'form of a node ref',
79
+ })
80
+ .describe('Mesh geometry definition');
81
+ /** Partial schema for prefab instance overrides (type not required). */
82
+ export const SceneMeshOverrideSchema = SceneMeshBase.partial();