@vgai/engine 0.5.0 → 0.5.2

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 (538) hide show
  1. package/package.json +1 -1
  2. package/schemas/engine-capabilities.json +4 -4
  3. package/schemas/vgai-game.schema.json +2 -2
  4. package/src/adapter/authoring.ts +42 -0
  5. package/src/adapter/index.ts +3 -0
  6. package/src/adapter/ingest/overlay-apply.ts +50 -6
  7. package/src/adapter/ingest/scene-capture.ts +51 -2
  8. package/src/adapter/vgai-scene-game-adapter.ts +24 -0
  9. package/src/manifest/schema.ts +7 -3
  10. package/src/runtime/create-runtime.ts +97 -0
  11. package/src/runtime/game.ts +11 -1
  12. package/src/scene/asset-ref-check.ts +1 -1
  13. package/src/scene/scene-loader.ts +2 -2
  14. package/src/scene/user-data.ts +18 -0
  15. package/src/world3d-react/behavior.tsx +19 -11
  16. package/src/world3d-react/r3f-adapter.tsx +8 -0
  17. package/dist/adapter/adapter-surface.d.ts +0 -30
  18. package/dist/adapter/adapter-surface.d.ts.map +0 -1
  19. package/dist/adapter/adapter-surface.js +0 -18
  20. package/dist/adapter/authoring.d.ts +0 -461
  21. package/dist/adapter/authoring.d.ts.map +0 -1
  22. package/dist/adapter/authoring.js +0 -22
  23. package/dist/adapter/colyseus-networking-adapter.d.ts +0 -43
  24. package/dist/adapter/colyseus-networking-adapter.d.ts.map +0 -1
  25. package/dist/adapter/colyseus-networking-adapter.js +0 -38
  26. package/dist/adapter/first-party-systems.d.ts +0 -38
  27. package/dist/adapter/first-party-systems.d.ts.map +0 -1
  28. package/dist/adapter/first-party-systems.js +0 -77
  29. package/dist/adapter/game-adapter.d.ts +0 -133
  30. package/dist/adapter/game-adapter.d.ts.map +0 -1
  31. package/dist/adapter/game-adapter.js +0 -10
  32. package/dist/adapter/host-context.d.ts +0 -71
  33. package/dist/adapter/host-context.d.ts.map +0 -1
  34. package/dist/adapter/host-context.js +0 -16
  35. package/dist/adapter/index.d.ts +0 -22
  36. package/dist/adapter/index.d.ts.map +0 -1
  37. package/dist/adapter/index.js +0 -15
  38. package/dist/adapter/ingest/game-contract.d.ts +0 -53
  39. package/dist/adapter/ingest/game-contract.d.ts.map +0 -1
  40. package/dist/adapter/ingest/game-contract.js +0 -30
  41. package/dist/adapter/ingest/overlay-applier.d.ts +0 -118
  42. package/dist/adapter/ingest/overlay-applier.d.ts.map +0 -1
  43. package/dist/adapter/ingest/overlay-applier.js +0 -132
  44. package/dist/adapter/ingest/overlay-apply.d.ts +0 -60
  45. package/dist/adapter/ingest/overlay-apply.d.ts.map +0 -1
  46. package/dist/adapter/ingest/overlay-apply.js +0 -101
  47. package/dist/adapter/ingest/overlay-file.d.ts +0 -79
  48. package/dist/adapter/ingest/overlay-file.d.ts.map +0 -1
  49. package/dist/adapter/ingest/overlay-file.js +0 -66
  50. package/dist/adapter/ingest/overlay-report.d.ts +0 -113
  51. package/dist/adapter/ingest/overlay-report.d.ts.map +0 -1
  52. package/dist/adapter/ingest/overlay-report.js +0 -103
  53. package/dist/adapter/ingest/scene-capture.d.ts +0 -97
  54. package/dist/adapter/ingest/scene-capture.d.ts.map +0 -1
  55. package/dist/adapter/ingest/scene-capture.js +0 -248
  56. package/dist/adapter/ingest/upstream-pin.d.ts +0 -47
  57. package/dist/adapter/ingest/upstream-pin.d.ts.map +0 -1
  58. package/dist/adapter/ingest/upstream-pin.js +0 -50
  59. package/dist/adapter/loop-gate-report.d.ts +0 -34
  60. package/dist/adapter/loop-gate-report.d.ts.map +0 -1
  61. package/dist/adapter/loop-gate-report.js +0 -37
  62. package/dist/adapter/rapier-physics-adapter.d.ts +0 -12
  63. package/dist/adapter/rapier-physics-adapter.d.ts.map +0 -1
  64. package/dist/adapter/rapier-physics-adapter.js +0 -46
  65. package/dist/adapter/system-adapter.d.ts +0 -206
  66. package/dist/adapter/system-adapter.d.ts.map +0 -1
  67. package/dist/adapter/system-adapter.js +0 -13
  68. package/dist/adapter/transform.d.ts +0 -18
  69. package/dist/adapter/transform.d.ts.map +0 -1
  70. package/dist/adapter/transform.js +0 -1
  71. package/dist/adapter/vgai-scene-game-adapter.d.ts +0 -108
  72. package/dist/adapter/vgai-scene-game-adapter.d.ts.map +0 -1
  73. package/dist/adapter/vgai-scene-game-adapter.js +0 -762
  74. package/dist/ai/navigation.d.ts +0 -64
  75. package/dist/ai/navigation.d.ts.map +0 -1
  76. package/dist/ai/navigation.js +0 -133
  77. package/dist/animation/anim-graph-types.d.ts +0 -25
  78. package/dist/animation/anim-graph-types.d.ts.map +0 -1
  79. package/dist/animation/anim-graph-types.js +0 -1
  80. package/dist/animation/animation-clock.d.ts +0 -213
  81. package/dist/animation/animation-clock.d.ts.map +0 -1
  82. package/dist/animation/animation-clock.js +0 -301
  83. package/dist/animation/blend-node.d.ts +0 -22
  84. package/dist/animation/blend-node.d.ts.map +0 -1
  85. package/dist/animation/blend-node.js +0 -97
  86. package/dist/animation/camera-ownership.d.ts +0 -250
  87. package/dist/animation/camera-ownership.d.ts.map +0 -1
  88. package/dist/animation/camera-ownership.js +0 -169
  89. package/dist/animation/cinematic-cues.d.ts +0 -200
  90. package/dist/animation/cinematic-cues.d.ts.map +0 -1
  91. package/dist/animation/cinematic-cues.js +0 -213
  92. package/dist/animation/clip-map.d.ts +0 -12
  93. package/dist/animation/clip-map.d.ts.map +0 -1
  94. package/dist/animation/clip-map.js +0 -37
  95. package/dist/animation/gsap-registration.d.ts +0 -119
  96. package/dist/animation/gsap-registration.d.ts.map +0 -1
  97. package/dist/animation/gsap-registration.js +0 -92
  98. package/dist/animation/theatre-clock-binding.d.ts +0 -89
  99. package/dist/animation/theatre-clock-binding.d.ts.map +0 -1
  100. package/dist/animation/theatre-clock-binding.js +0 -29
  101. package/dist/animation/theatre-director.d.ts +0 -242
  102. package/dist/animation/theatre-director.d.ts.map +0 -1
  103. package/dist/animation/theatre-director.js +0 -235
  104. package/dist/animation/theatre-object-binding.d.ts +0 -305
  105. package/dist/animation/theatre-object-binding.d.ts.map +0 -1
  106. package/dist/animation/theatre-object-binding.js +0 -351
  107. package/dist/animation/xstate-animation-binding.d.ts +0 -56
  108. package/dist/animation/xstate-animation-binding.d.ts.map +0 -1
  109. package/dist/animation/xstate-animation-binding.js +0 -331
  110. package/dist/animation/xstate-animation-meta.d.ts +0 -266
  111. package/dist/animation/xstate-animation-meta.d.ts.map +0 -1
  112. package/dist/animation/xstate-animation-meta.js +0 -252
  113. package/dist/assets.d.ts +0 -26
  114. package/dist/assets.d.ts.map +0 -1
  115. package/dist/assets.js +0 -55
  116. package/dist/audio/index.d.ts +0 -4
  117. package/dist/audio/index.d.ts.map +0 -1
  118. package/dist/audio/index.js +0 -24
  119. package/dist/audio/tone-clock-binding.d.ts +0 -75
  120. package/dist/audio/tone-clock-binding.d.ts.map +0 -1
  121. package/dist/audio/tone-clock-binding.js +0 -29
  122. package/dist/audio/tone-context.d.ts +0 -114
  123. package/dist/audio/tone-context.d.ts.map +0 -1
  124. package/dist/audio/tone-context.js +0 -39
  125. package/dist/audio/tone-offline-render.d.ts +0 -90
  126. package/dist/audio/tone-offline-render.d.ts.map +0 -1
  127. package/dist/audio/tone-offline-render.js +0 -56
  128. package/dist/audio/wav-encode.d.ts +0 -38
  129. package/dist/audio/wav-encode.d.ts.map +0 -1
  130. package/dist/audio/wav-encode.js +0 -97
  131. package/dist/character/cloth-sim.d.ts +0 -179
  132. package/dist/character/cloth-sim.d.ts.map +0 -1
  133. package/dist/character/cloth-sim.js +0 -334
  134. package/dist/character/spring-chain.d.ts +0 -135
  135. package/dist/character/spring-chain.d.ts.map +0 -1
  136. package/dist/character/spring-chain.js +0 -165
  137. package/dist/core/game-loop.d.ts +0 -42
  138. package/dist/core/game-loop.d.ts.map +0 -1
  139. package/dist/core/game-loop.js +0 -167
  140. package/dist/core/seeded-random.d.ts +0 -69
  141. package/dist/core/seeded-random.d.ts.map +0 -1
  142. package/dist/core/seeded-random.js +0 -121
  143. package/dist/core/system-runner.d.ts +0 -120
  144. package/dist/core/system-runner.d.ts.map +0 -1
  145. package/dist/core/system-runner.js +0 -297
  146. package/dist/core/types.d.ts +0 -92
  147. package/dist/core/types.d.ts.map +0 -1
  148. package/dist/core/types.js +0 -25
  149. package/dist/data/data-asset.d.ts +0 -101
  150. package/dist/data/data-asset.d.ts.map +0 -1
  151. package/dist/data/data-asset.js +0 -122
  152. package/dist/data/data-check-core.d.ts +0 -110
  153. package/dist/data/data-check-core.d.ts.map +0 -1
  154. package/dist/data/data-check-core.js +0 -178
  155. package/dist/data/data-ref.d.ts +0 -79
  156. package/dist/data/data-ref.d.ts.map +0 -1
  157. package/dist/data/data-ref.js +0 -130
  158. package/dist/data/vite-plugin-data.d.ts +0 -79
  159. package/dist/data/vite-plugin-data.d.ts.map +0 -1
  160. package/dist/data/vite-plugin-data.js +0 -217
  161. package/dist/dev/console-bridge.d.ts +0 -22
  162. package/dist/dev/console-bridge.d.ts.map +0 -1
  163. package/dist/dev/console-bridge.js +0 -71
  164. package/dist/dev/debug-draw.d.ts +0 -24
  165. package/dist/dev/debug-draw.d.ts.map +0 -1
  166. package/dist/dev/debug-draw.js +0 -73
  167. package/dist/dev/logger.d.ts +0 -30
  168. package/dist/dev/logger.d.ts.map +0 -1
  169. package/dist/dev/logger.js +0 -90
  170. package/dist/dev/performance-profiler.d.ts +0 -60
  171. package/dist/dev/performance-profiler.d.ts.map +0 -1
  172. package/dist/dev/performance-profiler.js +0 -181
  173. package/dist/dev/webgl-gpu-timer.d.ts +0 -8
  174. package/dist/dev/webgl-gpu-timer.d.ts.map +0 -1
  175. package/dist/dev/webgl-gpu-timer.js +0 -52
  176. package/dist/ecs/component-manager.d.ts +0 -205
  177. package/dist/ecs/component-manager.d.ts.map +0 -1
  178. package/dist/ecs/component-manager.js +0 -706
  179. package/dist/ecs/game-component.d.ts +0 -146
  180. package/dist/ecs/game-component.d.ts.map +0 -1
  181. package/dist/ecs/game-component.js +0 -141
  182. package/dist/ecs/hmr-swap-report.d.ts +0 -53
  183. package/dist/ecs/hmr-swap-report.d.ts.map +0 -1
  184. package/dist/ecs/hmr-swap-report.js +0 -55
  185. package/dist/humanoid/bake.operation.d.ts +0 -119
  186. package/dist/humanoid/bake.operation.d.ts.map +0 -1
  187. package/dist/humanoid/bake.operation.js +0 -228
  188. package/dist/humanoid/body.d.ts +0 -101
  189. package/dist/humanoid/body.d.ts.map +0 -1
  190. package/dist/humanoid/body.js +0 -530
  191. package/dist/humanoid/clips.d.ts +0 -62
  192. package/dist/humanoid/clips.d.ts.map +0 -1
  193. package/dist/humanoid/clips.js +0 -121
  194. package/dist/humanoid/compose.d.ts +0 -75
  195. package/dist/humanoid/compose.d.ts.map +0 -1
  196. package/dist/humanoid/compose.js +0 -176
  197. package/dist/humanoid/generate.d.ts +0 -92
  198. package/dist/humanoid/generate.d.ts.map +0 -1
  199. package/dist/humanoid/generate.js +0 -124
  200. package/dist/humanoid/index.d.ts +0 -24
  201. package/dist/humanoid/index.d.ts.map +0 -1
  202. package/dist/humanoid/index.js +0 -18
  203. package/dist/humanoid/schema.d.ts +0 -35
  204. package/dist/humanoid/schema.d.ts.map +0 -1
  205. package/dist/humanoid/schema.js +0 -87
  206. package/dist/humanoid/skeleton.d.ts +0 -103
  207. package/dist/humanoid/skeleton.d.ts.map +0 -1
  208. package/dist/humanoid/skeleton.js +0 -289
  209. package/dist/index.d.ts +0 -37
  210. package/dist/index.d.ts.map +0 -1
  211. package/dist/index.js +0 -30
  212. package/dist/input/input-manager.d.ts +0 -945
  213. package/dist/input/input-manager.d.ts.map +0 -1
  214. package/dist/input/input-manager.js +0 -2207
  215. package/dist/input/input-types.d.ts +0 -174
  216. package/dist/input/input-types.d.ts.map +0 -1
  217. package/dist/input/input-types.js +0 -1
  218. package/dist/input/prompt-labels.d.ts +0 -21
  219. package/dist/input/prompt-labels.d.ts.map +0 -1
  220. package/dist/input/prompt-labels.js +0 -121
  221. package/dist/input/rebind-controller.d.ts +0 -59
  222. package/dist/input/rebind-controller.d.ts.map +0 -1
  223. package/dist/input/rebind-controller.js +0 -85
  224. package/dist/input/schema.d.ts +0 -16
  225. package/dist/input/schema.d.ts.map +0 -1
  226. package/dist/input/schema.js +0 -228
  227. package/dist/loader.d.ts +0 -43
  228. package/dist/loader.d.ts.map +0 -1
  229. package/dist/loader.js +0 -59
  230. package/dist/manifest/index.d.ts +0 -5
  231. package/dist/manifest/index.d.ts.map +0 -1
  232. package/dist/manifest/index.js +0 -8
  233. package/dist/manifest/load-file.d.ts +0 -4
  234. package/dist/manifest/load-file.d.ts.map +0 -1
  235. package/dist/manifest/load-file.js +0 -14
  236. package/dist/manifest/load.d.ts +0 -144
  237. package/dist/manifest/load.d.ts.map +0 -1
  238. package/dist/manifest/load.js +0 -273
  239. package/dist/manifest/schema.d.ts +0 -230
  240. package/dist/manifest/schema.d.ts.map +0 -1
  241. package/dist/manifest/schema.js +0 -394
  242. package/dist/physics/collision-system.d.ts +0 -41
  243. package/dist/physics/collision-system.d.ts.map +0 -1
  244. package/dist/physics/collision-system.js +0 -64
  245. package/dist/physics/physics-registry.d.ts +0 -45
  246. package/dist/physics/physics-registry.d.ts.map +0 -1
  247. package/dist/physics/physics-registry.js +0 -65
  248. package/dist/physics/transform-writer.d.ts +0 -16
  249. package/dist/physics/transform-writer.d.ts.map +0 -1
  250. package/dist/physics/transform-writer.js +0 -38
  251. package/dist/physics/trigger-dispatch.d.ts +0 -24
  252. package/dist/physics/trigger-dispatch.d.ts.map +0 -1
  253. package/dist/physics/trigger-dispatch.js +0 -80
  254. package/dist/react/game-state.d.ts +0 -156
  255. package/dist/react/game-state.d.ts.map +0 -1
  256. package/dist/react/game-state.js +0 -222
  257. package/dist/react/root-adapter.d.ts +0 -11
  258. package/dist/react/root-adapter.d.ts.map +0 -1
  259. package/dist/react/root-adapter.js +0 -41
  260. package/dist/react/unmanaged-root-detector.d.ts +0 -12
  261. package/dist/react/unmanaged-root-detector.d.ts.map +0 -1
  262. package/dist/react/unmanaged-root-detector.js +0 -45
  263. package/dist/react/use-data.d.ts +0 -60
  264. package/dist/react/use-data.d.ts.map +0 -1
  265. package/dist/react/use-data.js +0 -101
  266. package/dist/react/use-selection.d.ts +0 -75
  267. package/dist/react/use-selection.d.ts.map +0 -1
  268. package/dist/react/use-selection.js +0 -90
  269. package/dist/render/auto-batcher.d.ts +0 -34
  270. package/dist/render/auto-batcher.d.ts.map +0 -1
  271. package/dist/render/auto-batcher.js +0 -140
  272. package/dist/render/render-batch-system.d.ts +0 -33
  273. package/dist/render/render-batch-system.d.ts.map +0 -1
  274. package/dist/render/render-batch-system.js +0 -230
  275. package/dist/render/render-features.d.ts +0 -47
  276. package/dist/render/render-features.d.ts.map +0 -1
  277. package/dist/render/render-features.js +0 -105
  278. package/dist/render/render-settings.d.ts +0 -36
  279. package/dist/render/render-settings.d.ts.map +0 -1
  280. package/dist/render/render-settings.js +0 -51
  281. package/dist/runtime/create-runtime.d.ts +0 -249
  282. package/dist/runtime/create-runtime.d.ts.map +0 -1
  283. package/dist/runtime/create-runtime.js +0 -641
  284. package/dist/runtime/debug-bridge.d.ts +0 -257
  285. package/dist/runtime/debug-bridge.d.ts.map +0 -1
  286. package/dist/runtime/debug-bridge.js +0 -224
  287. package/dist/runtime/debug-registry.d.ts +0 -288
  288. package/dist/runtime/debug-registry.d.ts.map +0 -1
  289. package/dist/runtime/debug-registry.js +0 -513
  290. package/dist/runtime/frame-selector-cache.d.ts +0 -41
  291. package/dist/runtime/frame-selector-cache.d.ts.map +0 -1
  292. package/dist/runtime/frame-selector-cache.js +0 -65
  293. package/dist/runtime/game.d.ts +0 -496
  294. package/dist/runtime/game.d.ts.map +0 -1
  295. package/dist/runtime/game.js +0 -741
  296. package/dist/runtime/gameplay-rng-trap.d.ts +0 -48
  297. package/dist/runtime/gameplay-rng-trap.d.ts.map +0 -1
  298. package/dist/runtime/gameplay-rng-trap.js +0 -96
  299. package/dist/runtime/input-router.d.ts +0 -78
  300. package/dist/runtime/input-router.d.ts.map +0 -1
  301. package/dist/runtime/input-router.js +0 -171
  302. package/dist/runtime/mount-game.d.ts +0 -129
  303. package/dist/runtime/mount-game.d.ts.map +0 -1
  304. package/dist/runtime/mount-game.js +0 -152
  305. package/dist/runtime/mount-manifest.d.ts +0 -173
  306. package/dist/runtime/mount-manifest.d.ts.map +0 -1
  307. package/dist/runtime/mount-manifest.js +0 -297
  308. package/dist/runtime/render-audio-control.d.ts +0 -110
  309. package/dist/runtime/render-audio-control.d.ts.map +0 -1
  310. package/dist/runtime/render-audio-control.js +0 -111
  311. package/dist/runtime/render-control.d.ts +0 -291
  312. package/dist/runtime/render-control.d.ts.map +0 -1
  313. package/dist/runtime/render-control.js +0 -264
  314. package/dist/runtime/render-seed.d.ts +0 -57
  315. package/dist/runtime/render-seed.d.ts.map +0 -1
  316. package/dist/runtime/render-seed.js +0 -74
  317. package/dist/runtime/state-bridge.d.ts +0 -61
  318. package/dist/runtime/state-bridge.d.ts.map +0 -1
  319. package/dist/runtime/state-bridge.js +0 -63
  320. package/dist/runtime/types.d.ts +0 -253
  321. package/dist/runtime/types.d.ts.map +0 -1
  322. package/dist/runtime/types.js +0 -1
  323. package/dist/scene/asset-loaders.d.ts +0 -79
  324. package/dist/scene/asset-loaders.d.ts.map +0 -1
  325. package/dist/scene/asset-loaders.js +0 -141
  326. package/dist/scene/asset-paths.d.ts +0 -11
  327. package/dist/scene/asset-paths.d.ts.map +0 -1
  328. package/dist/scene/asset-paths.js +0 -108
  329. package/dist/scene/asset-ref-check.d.ts +0 -88
  330. package/dist/scene/asset-ref-check.d.ts.map +0 -1
  331. package/dist/scene/asset-ref-check.js +0 -214
  332. package/dist/scene/asset-registry.d.ts +0 -38
  333. package/dist/scene/asset-registry.d.ts.map +0 -1
  334. package/dist/scene/asset-registry.js +0 -66
  335. package/dist/scene/collider-dimensions.d.ts +0 -63
  336. package/dist/scene/collider-dimensions.d.ts.map +0 -1
  337. package/dist/scene/collider-dimensions.js +0 -98
  338. package/dist/scene/component-registry.d.ts +0 -22
  339. package/dist/scene/component-registry.d.ts.map +0 -1
  340. package/dist/scene/component-registry.js +0 -37
  341. package/dist/scene/defaults.d.ts +0 -252
  342. package/dist/scene/defaults.d.ts.map +0 -1
  343. package/dist/scene/defaults.js +0 -151
  344. package/dist/scene/geometries/index.d.ts +0 -8
  345. package/dist/scene/geometries/index.d.ts.map +0 -1
  346. package/dist/scene/geometries/index.js +0 -7
  347. package/dist/scene/geometries/terrain.d.ts +0 -2
  348. package/dist/scene/geometries/terrain.d.ts.map +0 -1
  349. package/dist/scene/geometries/terrain.js +0 -37
  350. package/dist/scene/geometry-registry.d.ts +0 -24
  351. package/dist/scene/geometry-registry.d.ts.map +0 -1
  352. package/dist/scene/geometry-registry.js +0 -20
  353. package/dist/scene/instance-registry.d.ts +0 -36
  354. package/dist/scene/instance-registry.d.ts.map +0 -1
  355. package/dist/scene/instance-registry.js +0 -55
  356. package/dist/scene/instancers/grid.d.ts +0 -2
  357. package/dist/scene/instancers/grid.d.ts.map +0 -1
  358. package/dist/scene/instancers/grid.js +0 -36
  359. package/dist/scene/instancers/index.d.ts +0 -8
  360. package/dist/scene/instancers/index.d.ts.map +0 -1
  361. package/dist/scene/instancers/index.js +0 -7
  362. package/dist/scene/light-camera-factory.d.ts +0 -23
  363. package/dist/scene/light-camera-factory.d.ts.map +0 -1
  364. package/dist/scene/light-camera-factory.js +0 -68
  365. package/dist/scene/material-factory.d.ts +0 -17
  366. package/dist/scene/material-factory.d.ts.map +0 -1
  367. package/dist/scene/material-factory.js +0 -197
  368. package/dist/scene/material-registry.d.ts +0 -40
  369. package/dist/scene/material-registry.d.ts.map +0 -1
  370. package/dist/scene/material-registry.js +0 -44
  371. package/dist/scene/materials/index.d.ts +0 -8
  372. package/dist/scene/materials/index.d.ts.map +0 -1
  373. package/dist/scene/materials/index.js +0 -7
  374. package/dist/scene/materials/water.d.ts +0 -2
  375. package/dist/scene/materials/water.d.ts.map +0 -1
  376. package/dist/scene/materials/water.js +0 -54
  377. package/dist/scene/parse.d.ts +0 -23
  378. package/dist/scene/parse.d.ts.map +0 -1
  379. package/dist/scene/parse.js +0 -179
  380. package/dist/scene/particles-factory.d.ts +0 -33
  381. package/dist/scene/particles-factory.d.ts.map +0 -1
  382. package/dist/scene/particles-factory.js +0 -282
  383. package/dist/scene/scene-apply.d.ts +0 -109
  384. package/dist/scene/scene-apply.d.ts.map +0 -1
  385. package/dist/scene/scene-apply.js +0 -370
  386. package/dist/scene/scene-diff-schema.d.ts +0 -285
  387. package/dist/scene/scene-diff-schema.d.ts.map +0 -1
  388. package/dist/scene/scene-diff-schema.js +0 -92
  389. package/dist/scene/scene-diff-types.d.ts +0 -40
  390. package/dist/scene/scene-diff-types.d.ts.map +0 -1
  391. package/dist/scene/scene-diff-types.js +0 -14
  392. package/dist/scene/scene-loader.d.ts +0 -167
  393. package/dist/scene/scene-loader.d.ts.map +0 -1
  394. package/dist/scene/scene-loader.js +0 -1211
  395. package/dist/scene/scene-query.d.ts +0 -11
  396. package/dist/scene/scene-query.d.ts.map +0 -1
  397. package/dist/scene/scene-query.js +0 -63
  398. package/dist/scene/scene-types.d.ts +0 -10
  399. package/dist/scene/scene-types.d.ts.map +0 -1
  400. package/dist/scene/scene-types.js +0 -8
  401. package/dist/scene/scene-version.d.ts +0 -26
  402. package/dist/scene/scene-version.d.ts.map +0 -1
  403. package/dist/scene/scene-version.js +0 -34
  404. package/dist/scene/schema/animation.d.ts +0 -8
  405. package/dist/scene/schema/animation.d.ts.map +0 -1
  406. package/dist/scene/schema/animation.js +0 -42
  407. package/dist/scene/schema/audio.d.ts +0 -13
  408. package/dist/scene/schema/audio.d.ts.map +0 -1
  409. package/dist/scene/schema/audio.js +0 -22
  410. package/dist/scene/schema/camera.d.ts +0 -28
  411. package/dist/scene/schema/camera.d.ts.map +0 -1
  412. package/dist/scene/schema/camera.js +0 -17
  413. package/dist/scene/schema/collider.d.ts +0 -40
  414. package/dist/scene/schema/collider.d.ts.map +0 -1
  415. package/dist/scene/schema/collider.js +0 -55
  416. package/dist/scene/schema/entity-ref.d.ts +0 -31
  417. package/dist/scene/schema/entity-ref.d.ts.map +0 -1
  418. package/dist/scene/schema/entity-ref.js +0 -61
  419. package/dist/scene/schema/entity.d.ts +0 -1036
  420. package/dist/scene/schema/entity.d.ts.map +0 -1
  421. package/dist/scene/schema/entity.js +0 -153
  422. package/dist/scene/schema/environment.d.ts +0 -425
  423. package/dist/scene/schema/environment.d.ts.map +0 -1
  424. package/dist/scene/schema/environment.js +0 -357
  425. package/dist/scene/schema/index.d.ts +0 -37
  426. package/dist/scene/schema/index.d.ts.map +0 -1
  427. package/dist/scene/schema/index.js +0 -19
  428. package/dist/scene/schema/instances.d.ts +0 -14
  429. package/dist/scene/schema/instances.d.ts.map +0 -1
  430. package/dist/scene/schema/instances.js +0 -28
  431. package/dist/scene/schema/joint.d.ts +0 -23
  432. package/dist/scene/schema/joint.d.ts.map +0 -1
  433. package/dist/scene/schema/joint.js +0 -23
  434. package/dist/scene/schema/light.d.ts +0 -38
  435. package/dist/scene/schema/light.d.ts.map +0 -1
  436. package/dist/scene/schema/light.js +0 -26
  437. package/dist/scene/schema/material.d.ts +0 -199
  438. package/dist/scene/schema/material.d.ts.map +0 -1
  439. package/dist/scene/schema/material.js +0 -103
  440. package/dist/scene/schema/mesh.d.ts +0 -48
  441. package/dist/scene/schema/mesh.d.ts.map +0 -1
  442. package/dist/scene/schema/mesh.js +0 -82
  443. package/dist/scene/schema/particles.d.ts +0 -2178
  444. package/dist/scene/schema/particles.d.ts.map +0 -1
  445. package/dist/scene/schema/particles.js +0 -321
  446. package/dist/scene/schema/physics.d.ts +0 -56
  447. package/dist/scene/schema/physics.d.ts.map +0 -1
  448. package/dist/scene/schema/physics.js +0 -37
  449. package/dist/scene/schema/scene-file.d.ts +0 -303
  450. package/dist/scene/schema/scene-file.d.ts.map +0 -1
  451. package/dist/scene/schema/scene-file.js +0 -256
  452. package/dist/scene/schema/shadow.d.ts +0 -28
  453. package/dist/scene/schema/shadow.d.ts.map +0 -1
  454. package/dist/scene/schema/shadow.js +0 -20
  455. package/dist/scene/schema/spline.d.ts +0 -25
  456. package/dist/scene/schema/spline.d.ts.map +0 -1
  457. package/dist/scene/schema/spline.js +0 -15
  458. package/dist/scene/schema/tuples.d.ts +0 -12
  459. package/dist/scene/schema/tuples.d.ts.map +0 -1
  460. package/dist/scene/schema/tuples.js +0 -14
  461. package/dist/scene/user-data.d.ts +0 -185
  462. package/dist/scene/user-data.d.ts.map +0 -1
  463. package/dist/scene/user-data.js +0 -144
  464. package/dist/setup/setup-audio.d.ts +0 -20
  465. package/dist/setup/setup-audio.d.ts.map +0 -1
  466. package/dist/setup/setup-audio.js +0 -41
  467. package/dist/setup/setup-particles.d.ts +0 -17
  468. package/dist/setup/setup-particles.d.ts.map +0 -1
  469. package/dist/setup/setup-particles.js +0 -16
  470. package/dist/setup/setup-physics.d.ts +0 -25
  471. package/dist/setup/setup-physics.d.ts.map +0 -1
  472. package/dist/setup/setup-physics.js +0 -51
  473. package/dist/setup/setup-renderer.d.ts +0 -69
  474. package/dist/setup/setup-renderer.d.ts.map +0 -1
  475. package/dist/setup/setup-renderer.js +0 -363
  476. package/dist/tools/define-tool.d.ts +0 -130
  477. package/dist/tools/define-tool.d.ts.map +0 -1
  478. package/dist/tools/define-tool.js +0 -96
  479. package/dist/world2d/authoring-2d.d.ts +0 -80
  480. package/dist/world2d/authoring-2d.d.ts.map +0 -1
  481. package/dist/world2d/authoring-2d.js +0 -195
  482. package/dist/world2d/capture-to-scene2d.d.ts +0 -5
  483. package/dist/world2d/capture-to-scene2d.d.ts.map +0 -1
  484. package/dist/world2d/capture-to-scene2d.js +0 -49
  485. package/dist/world2d/collision-2d.d.ts +0 -52
  486. package/dist/world2d/collision-2d.d.ts.map +0 -1
  487. package/dist/world2d/collision-2d.js +0 -70
  488. package/dist/world2d/components-2d.d.ts +0 -47
  489. package/dist/world2d/components-2d.d.ts.map +0 -1
  490. package/dist/world2d/components-2d.js +0 -77
  491. package/dist/world2d/index.d.ts +0 -34
  492. package/dist/world2d/index.d.ts.map +0 -1
  493. package/dist/world2d/index.js +0 -32
  494. package/dist/world2d/ingest-iframe-2d.d.ts +0 -82
  495. package/dist/world2d/ingest-iframe-2d.d.ts.map +0 -1
  496. package/dist/world2d/ingest-iframe-2d.js +0 -166
  497. package/dist/world2d/ingest2d.d.ts +0 -97
  498. package/dist/world2d/ingest2d.d.ts.map +0 -1
  499. package/dist/world2d/ingest2d.js +0 -40
  500. package/dist/world2d/physics2d-registry.d.ts +0 -24
  501. package/dist/world2d/physics2d-registry.d.ts.map +0 -1
  502. package/dist/world2d/physics2d-registry.js +0 -38
  503. package/dist/world2d/pixi-game-adapter.d.ts +0 -107
  504. package/dist/world2d/pixi-game-adapter.d.ts.map +0 -1
  505. package/dist/world2d/pixi-game-adapter.js +0 -210
  506. package/dist/world2d/pixi-surface.d.ts +0 -39
  507. package/dist/world2d/pixi-surface.d.ts.map +0 -1
  508. package/dist/world2d/pixi-surface.js +0 -47
  509. package/dist/world2d/scene-capture-2d.d.ts +0 -43
  510. package/dist/world2d/scene-capture-2d.d.ts.map +0 -1
  511. package/dist/world2d/scene-capture-2d.js +0 -92
  512. package/dist/world2d/scene2d-loader.d.ts +0 -27
  513. package/dist/world2d/scene2d-loader.d.ts.map +0 -1
  514. package/dist/world2d/scene2d-loader.js +0 -275
  515. package/dist/world2d/schema/entity2d.d.ts +0 -102
  516. package/dist/world2d/schema/entity2d.d.ts.map +0 -1
  517. package/dist/world2d/schema/entity2d.js +0 -119
  518. package/dist/world2d/schema/physics2d.d.ts +0 -46
  519. package/dist/world2d/schema/physics2d.d.ts.map +0 -1
  520. package/dist/world2d/schema/physics2d.js +0 -45
  521. package/dist/world2d/schema/sprite.d.ts +0 -42
  522. package/dist/world2d/schema/sprite.d.ts.map +0 -1
  523. package/dist/world2d/schema/sprite.js +0 -63
  524. package/dist/world2d/schema/tilemap.d.ts +0 -15
  525. package/dist/world2d/schema/tilemap.d.ts.map +0 -1
  526. package/dist/world2d/schema/tilemap.js +0 -19
  527. package/dist/world2d/schema/tuples2d.d.ts +0 -20
  528. package/dist/world2d/schema/tuples2d.d.ts.map +0 -1
  529. package/dist/world2d/schema/tuples2d.js +0 -19
  530. package/dist/world2d/system-adapters-2d.d.ts +0 -16
  531. package/dist/world2d/system-adapters-2d.d.ts.map +0 -1
  532. package/dist/world2d/system-adapters-2d.js +0 -37
  533. package/dist/world2d/transform-writer-2d.d.ts +0 -16
  534. package/dist/world2d/transform-writer-2d.d.ts.map +0 -1
  535. package/dist/world2d/transform-writer-2d.js +0 -22
  536. package/dist/world2d/types.d.ts +0 -59
  537. package/dist/world2d/types.d.ts.map +0 -1
  538. package/dist/world2d/types.js +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"particles.d.ts","sourceRoot":"","sources":["../../../src/scene/schema/particles.ts"],"names":[],"mappings":"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"}
@@ -1,321 +0,0 @@
1
- import { z } from 'zod';
2
- import { Vec3Schema } from './tuples';
3
- // --- Value Generators (mirrors quarks.core FunctionJSON) ---
4
- const ConstantValueSchema = z.object({
5
- type: z.literal('ConstantValue'),
6
- value: z.number(),
7
- });
8
- const IntervalValueSchema = z.object({
9
- type: z.literal('IntervalValue'),
10
- a: z.number(),
11
- b: z.number(),
12
- });
13
- const BezierSchema = z.object({
14
- p0: z.number(),
15
- p1: z.number(),
16
- p2: z.number(),
17
- p3: z.number(),
18
- });
19
- const PiecewiseBezierSchema = z.object({
20
- type: z.literal('PiecewiseBezier'),
21
- functions: z.array(z.object({
22
- function: BezierSchema,
23
- start: z.number(),
24
- })),
25
- });
26
- export const ValueGeneratorSchema = z
27
- .discriminatedUnion('type', [ConstantValueSchema, IntervalValueSchema, PiecewiseBezierSchema])
28
- .describe('Numeric value: constant, random interval, or bezier curve');
29
- // --- Color Generators (mirrors quarks.core ColorGenerator JSON) ---
30
- const ColorRGBA = z.object({
31
- r: z.number(),
32
- g: z.number(),
33
- b: z.number(),
34
- a: z.number(),
35
- });
36
- const ColorRGB = z.object({
37
- r: z.number(),
38
- g: z.number(),
39
- b: z.number(),
40
- });
41
- /** ContinuousLinearFunction JSON format used by Gradient internally */
42
- const CLinearColorSchema = z.object({
43
- type: z.literal('CLinearFunction'),
44
- subType: z.literal('Color'),
45
- keys: z.array(z.object({ value: ColorRGB, pos: z.number() })),
46
- });
47
- const CLinearNumberSchema = z.object({
48
- type: z.literal('CLinearFunction'),
49
- subType: z.literal('Number'),
50
- keys: z.array(z.object({ value: z.number(), pos: z.number() })),
51
- });
52
- const ConstantColorSchema = z.object({
53
- type: z.literal('ConstantColor'),
54
- color: ColorRGBA,
55
- });
56
- const ColorRangeSchema = z.object({
57
- type: z.literal('ColorRange'),
58
- a: ColorRGBA,
59
- b: ColorRGBA,
60
- });
61
- const GradientSchema = z.object({
62
- type: z.literal('Gradient'),
63
- color: CLinearColorSchema,
64
- alpha: CLinearNumberSchema,
65
- });
66
- const RandomColorBetweenGradientSchema = z.object({
67
- type: z.literal('RandomColorBetweenGradient'),
68
- gradient1: GradientSchema,
69
- gradient2: GradientSchema,
70
- });
71
- export const ColorGeneratorSchema = z
72
- .discriminatedUnion('type', [
73
- ConstantColorSchema,
74
- ColorRangeSchema,
75
- GradientSchema,
76
- RandomColorBetweenGradientSchema,
77
- ])
78
- .describe('Color generator: constant, range, gradient, or random between gradients');
79
- // --- Emitter Shapes (mirrors quarks.core shape constructor params) ---
80
- const PointEmitterSchema = z.object({ type: z.literal('point') });
81
- const SphereEmitterSchema = z.object({
82
- type: z.literal('sphere'),
83
- radius: z.number().optional().describe('Sphere radius'),
84
- arc: z.number().optional().describe('Arc angle in radians (2π = full sphere)'),
85
- thickness: z.number().optional().describe('Shell thickness 0–1 (1 = solid, 0 = surface only)'),
86
- });
87
- const HemisphereEmitterSchema = z.object({
88
- type: z.literal('hemisphere'),
89
- radius: z.number().optional().describe('Hemisphere radius'),
90
- arc: z.number().optional().describe('Arc angle in radians'),
91
- thickness: z.number().optional().describe('Shell thickness 0–1'),
92
- });
93
- const ConeEmitterSchema = z.object({
94
- type: z.literal('cone'),
95
- radius: z.number().optional().describe('Cone base radius'),
96
- arc: z.number().optional().describe('Arc angle in radians'),
97
- thickness: z.number().optional().describe('Shell thickness 0–1'),
98
- angle: z.number().optional().describe('Cone opening angle in radians'),
99
- });
100
- const CircleEmitterSchema = z.object({
101
- type: z.literal('circle'),
102
- radius: z.number().optional().describe('Circle radius'),
103
- arc: z.number().optional().describe('Arc angle in radians'),
104
- thickness: z.number().optional().describe('Ring thickness 0–1'),
105
- });
106
- const DonutEmitterSchema = z.object({
107
- type: z.literal('donut'),
108
- radius: z.number().optional().describe('Donut major radius'),
109
- arc: z.number().optional().describe('Arc angle in radians'),
110
- thickness: z.number().optional().describe('Ring thickness 0–1'),
111
- donutRadius: z.number().optional().describe('Donut tube (minor) radius'),
112
- });
113
- const RectangleEmitterSchema = z.object({
114
- type: z.literal('rectangle'),
115
- width: z.number().optional().describe('Rectangle width'),
116
- height: z.number().optional().describe('Rectangle height'),
117
- thickness: z.number().optional().describe('Extrusion depth 0–1'),
118
- });
119
- const GridEmitterSchema = z.object({
120
- type: z.literal('grid'),
121
- width: z.number().optional().describe('Grid total width'),
122
- height: z.number().optional().describe('Grid total height'),
123
- column: z.number().int().optional().describe('Number of columns'),
124
- row: z.number().int().optional().describe('Number of rows'),
125
- });
126
- export const EmitterShapeSchema = z
127
- .discriminatedUnion('type', [
128
- PointEmitterSchema,
129
- SphereEmitterSchema,
130
- HemisphereEmitterSchema,
131
- ConeEmitterSchema,
132
- CircleEmitterSchema,
133
- DonutEmitterSchema,
134
- RectangleEmitterSchema,
135
- GridEmitterSchema,
136
- ])
137
- .describe('Particle emitter shape');
138
- // --- Behaviors (mirrors quarks.core behavior toJSON) ---
139
- const ApplyForceBehaviorSchema = z.object({
140
- type: z.literal('ApplyForce'),
141
- direction: Vec3Schema.describe('Force direction vector'),
142
- magnitude: ValueGeneratorSchema.describe('Force magnitude'),
143
- });
144
- const ColorOverLifeBehaviorSchema = z.object({
145
- type: z.literal('ColorOverLife'),
146
- color: ColorGeneratorSchema.describe('Color curve over particle lifetime'),
147
- });
148
- const SizeOverLifeBehaviorSchema = z.object({
149
- type: z.literal('SizeOverLife'),
150
- size: ValueGeneratorSchema.describe('Size curve over particle lifetime'),
151
- });
152
- const SpeedOverLifeBehaviorSchema = z.object({
153
- type: z.literal('SpeedOverLife'),
154
- speed: ValueGeneratorSchema.describe('Speed multiplier curve over lifetime'),
155
- });
156
- const RotationOverLifeBehaviorSchema = z.object({
157
- type: z.literal('RotationOverLife'),
158
- angularVelocity: ValueGeneratorSchema.describe('Angular velocity in radians/sec'),
159
- });
160
- const ForceOverLifeBehaviorSchema = z.object({
161
- type: z.literal('ForceOverLife'),
162
- x: ValueGeneratorSchema.describe('Force along X axis over lifetime'),
163
- y: ValueGeneratorSchema.describe('Force along Y axis over lifetime'),
164
- z: ValueGeneratorSchema.describe('Force along Z axis over lifetime'),
165
- });
166
- const OrbitOverLifeBehaviorSchema = z.object({
167
- type: z.literal('OrbitOverLife'),
168
- orbitSpeed: ValueGeneratorSchema.describe('Orbit speed over lifetime'),
169
- axis: Vec3Schema.optional().describe('Orbit axis. Defaults to [0, 1, 0]'),
170
- });
171
- const NoiseBehaviorSchema = z.object({
172
- type: z.literal('Noise'),
173
- frequency: ValueGeneratorSchema.describe('Noise frequency'),
174
- power: ValueGeneratorSchema.describe('Noise amplitude'),
175
- positionAmount: ValueGeneratorSchema.optional().describe('Position displacement amount'),
176
- rotationAmount: ValueGeneratorSchema.optional().describe('Rotation displacement amount'),
177
- });
178
- const TurbulenceFieldBehaviorSchema = z.object({
179
- type: z.literal('TurbulenceField'),
180
- scale: Vec3Schema.describe('Turbulence field scale'),
181
- octaves: z.number().int().describe('Noise octave count'),
182
- velocityMultiplier: Vec3Schema.describe('Velocity multiplier per axis'),
183
- timeScale: Vec3Schema.describe('Time scale per axis'),
184
- });
185
- const FrameOverLifeBehaviorSchema = z.object({
186
- type: z.literal('FrameOverLife'),
187
- frame: ValueGeneratorSchema.describe('Sprite sheet frame index over lifetime'),
188
- });
189
- const LimitSpeedOverLifeBehaviorSchema = z.object({
190
- type: z.literal('LimitSpeedOverLife'),
191
- speed: ValueGeneratorSchema.describe('Maximum speed over lifetime'),
192
- dampen: z.number().describe('Damping factor when speed exceeds limit (0–1)'),
193
- });
194
- const ChangeEmitDirectionBehaviorSchema = z.object({
195
- type: z.literal('ChangeEmitDirection'),
196
- angle: ValueGeneratorSchema.describe('Angle deviation from original emit direction'),
197
- });
198
- const GravityForceBehaviorSchema = z.object({
199
- type: z.literal('GravityForce'),
200
- center: Vec3Schema.describe('Gravity center point'),
201
- magnitude: z.number().describe('Gravity force strength'),
202
- });
203
- const WidthOverLengthBehaviorSchema = z.object({
204
- type: z.literal('WidthOverLength'),
205
- width: ValueGeneratorSchema.describe('Trail width over trail length'),
206
- });
207
- export const BehaviorSchema = z
208
- .discriminatedUnion('type', [
209
- ApplyForceBehaviorSchema,
210
- ColorOverLifeBehaviorSchema,
211
- SizeOverLifeBehaviorSchema,
212
- SpeedOverLifeBehaviorSchema,
213
- RotationOverLifeBehaviorSchema,
214
- ForceOverLifeBehaviorSchema,
215
- OrbitOverLifeBehaviorSchema,
216
- NoiseBehaviorSchema,
217
- TurbulenceFieldBehaviorSchema,
218
- FrameOverLifeBehaviorSchema,
219
- LimitSpeedOverLifeBehaviorSchema,
220
- ChangeEmitDirectionBehaviorSchema,
221
- GravityForceBehaviorSchema,
222
- WidthOverLengthBehaviorSchema,
223
- ])
224
- .describe('Particle behavior applied over lifetime');
225
- // --- Render Mode ---
226
- export const RenderModeSchema = z
227
- .enum([
228
- 'billboard',
229
- 'stretchedBillboard',
230
- 'mesh',
231
- 'trail',
232
- 'horizontalBillboard',
233
- 'verticalBillboard',
234
- ])
235
- .describe('How particles are rendered');
236
- // --- Particle Material (our format — asset paths, not Three.js UUIDs) ---
237
- const ParticleMaterialSchema = z
238
- .object({
239
- type: z.enum(['basic', 'standard']).optional().describe('Particle material shading model'),
240
- color: z.string().optional().describe('Particle color as CSS hex string'),
241
- map: z.string().optional().describe('Path to particle sprite texture'),
242
- blending: z
243
- .enum(['normal', 'additive'])
244
- .optional()
245
- .describe('Blending mode (additive for glowing/fire effects)'),
246
- transparent: z.boolean().optional().describe('Enable transparency'),
247
- depthWrite: z
248
- .boolean()
249
- .optional()
250
- .describe('Write to depth buffer (disable for additive effects)'),
251
- side: z.enum(['front', 'back', 'double']).optional().describe('Which face sides to render'),
252
- })
253
- .describe('Particle material settings');
254
- // --- Burst ---
255
- const BurstSchema = z
256
- .object({
257
- time: z.number().describe('Time offset in seconds within the emission cycle'),
258
- count: ValueGeneratorSchema.describe('Number of particles to emit'),
259
- cycle: z.number().optional().describe('Burst repeat interval in seconds'),
260
- interval: z.number().optional().describe('Delay between burst repetitions'),
261
- probability: z.number().optional().describe('Chance of burst firing (0–1)'),
262
- })
263
- .describe('Timed particle burst');
264
- // --- Top-level SceneParticles ---
265
- export const SceneParticlesSchema = z
266
- .object({
267
- // Lifecycle
268
- autoDestroy: z
269
- .boolean()
270
- .optional()
271
- .describe('Destroy the particle system when all particles have died'),
272
- looping: z.boolean().optional().describe('Continuously emit particles'),
273
- prewarm: z
274
- .boolean()
275
- .optional()
276
- .describe('Simulate one full cycle on start so particles appear immediately'),
277
- duration: z.number().optional().describe('Total emission duration in seconds'),
278
- // Shape
279
- shape: EmitterShapeSchema.optional().describe('Emitter shape that defines where particles spawn'),
280
- // Per-particle initial values
281
- startLife: ValueGeneratorSchema.optional().describe('Initial particle lifetime in seconds'),
282
- startSpeed: ValueGeneratorSchema.optional().describe('Initial particle speed'),
283
- startSize: ValueGeneratorSchema.optional().describe('Initial particle size'),
284
- startRotation: ValueGeneratorSchema.optional().describe('Initial particle rotation in radians'),
285
- startColor: ColorGeneratorSchema.optional().describe('Initial particle color'),
286
- startLength: ValueGeneratorSchema.optional().describe('Initial trail length (trail render mode only)'),
287
- startTileIndex: ValueGeneratorSchema.optional().describe('Initial sprite sheet tile index'),
288
- // Emission
289
- emissionOverTime: ValueGeneratorSchema.optional().describe('Particles emitted per second'),
290
- emissionOverDistance: ValueGeneratorSchema.optional().describe('Particles emitted per unit of emitter movement'),
291
- emissionBursts: z.array(BurstSchema).optional().describe('Timed burst emissions'),
292
- // Behaviors
293
- behaviors: z
294
- .array(BehaviorSchema)
295
- .optional()
296
- .describe('Behaviors applied to particles over their lifetime'),
297
- // Rendering
298
- renderMode: RenderModeSchema.optional().describe('How particles are rendered (billboard, trail, mesh, etc.)'),
299
- worldSpace: z
300
- .boolean()
301
- .optional()
302
- .describe('Simulate particles in world space instead of local space'),
303
- renderOrder: z
304
- .number()
305
- .optional()
306
- .describe('Render order for sorting (higher = rendered later)'),
307
- uTileCount: z.number().int().optional().describe('Horizontal tile count in sprite sheet'),
308
- vTileCount: z.number().int().optional().describe('Vertical tile count in sprite sheet'),
309
- blendTiles: z
310
- .boolean()
311
- .optional()
312
- .describe('Blend between sprite sheet tiles for smooth animation'),
313
- softParticles: z.boolean().optional().describe('Enable soft particle depth fading'),
314
- softFarFade: z.number().optional().describe('Far fade distance for soft particles'),
315
- softNearFade: z.number().optional().describe('Near fade distance for soft particles'),
316
- // Material
317
- material: ParticleMaterialSchema.describe('Particle material settings'),
318
- })
319
- .describe('Particle system configuration');
320
- /** Partial schema for prefab instance overrides. */
321
- export const SceneParticlesOverrideSchema = SceneParticlesSchema.partial();
@@ -1,56 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const ScenePhysicsSchema: z.ZodObject<{
3
- bodyType: z.ZodEnum<{
4
- fixed: "fixed";
5
- dynamic: "dynamic";
6
- kinematic: "kinematic";
7
- }>;
8
- mass: z.ZodOptional<z.ZodNumber>;
9
- collider: z.ZodObject<{
10
- type: z.ZodEnum<{
11
- cuboid: "cuboid";
12
- ball: "ball";
13
- capsule: "capsule";
14
- trimesh: "trimesh";
15
- }>;
16
- halfExtents: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
17
- radius: z.ZodOptional<z.ZodNumber>;
18
- halfHeight: z.ZodOptional<z.ZodNumber>;
19
- friction: z.ZodOptional<z.ZodNumber>;
20
- restitution: z.ZodOptional<z.ZodNumber>;
21
- density: z.ZodOptional<z.ZodNumber>;
22
- offset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
23
- isSensor: z.ZodOptional<z.ZodBoolean>;
24
- collisionGroups: z.ZodOptional<z.ZodNumber>;
25
- collisionFilter: z.ZodOptional<z.ZodNumber>;
26
- }, z.core.$strip>;
27
- }, z.core.$strip>;
28
- /** Partial override — uses SceneColliderOverrideSchema for deep partial on collider. */
29
- export declare const ScenePhysicsOverrideSchema: z.ZodObject<{
30
- bodyType: z.ZodOptional<z.ZodEnum<{
31
- fixed: "fixed";
32
- dynamic: "dynamic";
33
- kinematic: "kinematic";
34
- }>>;
35
- mass: z.ZodOptional<z.ZodNumber>;
36
- collider: z.ZodOptional<z.ZodObject<{
37
- type: z.ZodOptional<z.ZodEnum<{
38
- cuboid: "cuboid";
39
- ball: "ball";
40
- capsule: "capsule";
41
- trimesh: "trimesh";
42
- }>>;
43
- halfExtents: z.ZodOptional<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
44
- radius: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
45
- halfHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
46
- friction: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
47
- restitution: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
48
- density: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
49
- offset: z.ZodOptional<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
50
- isSensor: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
51
- collisionGroups: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
52
- collisionFilter: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
53
- }, z.core.$strip>>;
54
- }, z.core.$strip>;
55
- export type ScenePhysics = z.infer<typeof ScenePhysicsSchema>;
56
- //# sourceMappingURL=physics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"physics.d.ts","sourceRoot":"","sources":["../../../src/scene/schema/physics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBgB,CAAC;AAEhD,wFAAwF;AACxF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBrC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,37 +0,0 @@
1
- import { z } from 'zod';
2
- import { SceneColliderOverrideSchema, SceneColliderSchema } from './collider';
3
- export const ScenePhysicsSchema = z
4
- .object({
5
- bodyType: z
6
- .enum(['dynamic', 'fixed', 'kinematic'])
7
- .describe('Physics body type: dynamic (simulated), fixed (immovable), kinematic (script-driven). ' +
8
- 'T1.1/R1c: ANY physics body (dynamic, fixed, OR kinematic) nested under an ancestor ' +
9
- 'entity that itself has a "dynamic" or "kinematic" body is unsupported (loud load ' +
10
- 'error) — Rapier has no parent/child body relationship, so a moving ancestor cannot ' +
11
- "carry a nested body of ANY type with it; the child's Object3D would stay pinned to " +
12
- "its own (non-moving) body's pose while the ancestor moves out from under it. " +
13
- 'Nesting under a "fixed"/static or physics-less transformed ancestor is fine.'),
14
- mass: z
15
- .number()
16
- .optional()
17
- .describe('Explicit mass override. If omitted, computed from collider density and volume'),
18
- collider: SceneColliderSchema.describe('Collider shape attached to this body. T1.1/T1.2: the Rapier body is created at this ' +
19
- "entity's COMPOSED WORLD transform (parent chain × own local transform) — Rapier has " +
20
- "no concept of a parent Object3D, so nested entities' transforms are baked in at spawn " +
21
- 'time, not read live thereafter.'),
22
- })
23
- .describe('Physics rigid body configuration');
24
- /** Partial override — uses SceneColliderOverrideSchema for deep partial on collider. */
25
- export const ScenePhysicsOverrideSchema = z.object({
26
- bodyType: z
27
- .enum(['dynamic', 'fixed', 'kinematic'])
28
- .optional()
29
- .describe('Physics body type: dynamic (simulated), fixed (immovable), kinematic (script-driven). ' +
30
- 'A body of ANY type nested under a "dynamic"/"kinematic"-bodied ancestor throws a loud ' +
31
- 'load error (T1.1/R1c) — see ScenePhysicsSchema.bodyType.'),
32
- mass: z
33
- .number()
34
- .optional()
35
- .describe('Explicit mass override. If omitted, computed from collider density and volume'),
36
- collider: SceneColliderOverrideSchema.optional().describe('Partial collider overrides merged with prefab'),
37
- });