@vgai/engine 0.3.0 → 0.4.0-canary.20260715.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 (559) hide show
  1. package/package.json +8 -2
  2. package/schemas/engine-api.json +124 -0
  3. package/schemas/engine-api.md +53 -0
  4. package/schemas/engine-capabilities.json +124 -0
  5. package/schemas/inputmap.schema.json +314 -0
  6. package/schemas/mat.schema.json +286 -0
  7. package/schemas/prefab.schema.json +10148 -0
  8. package/schemas/scn2d.schema.json +475 -0
  9. package/schemas/vgai-game.schema.json +383 -0
  10. package/schemas/vscn.schema.json +11007 -0
  11. package/src/adapter/{world-kind.ts → adapter-surface.ts} +6 -6
  12. package/src/adapter/authoring.ts +67 -0
  13. package/src/adapter/game-adapter.ts +8 -8
  14. package/src/adapter/host-context.ts +2 -4
  15. package/src/adapter/index.ts +3 -1
  16. package/src/adapter/system-adapter.ts +73 -0
  17. package/src/adapter/vgai-scene-game-adapter.ts +239 -180
  18. package/src/animation/xstate-animation-binding.ts +300 -262
  19. package/src/animation/xstate-animation-meta.ts +50 -13
  20. package/src/character/cloth-sim.ts +533 -0
  21. package/src/character/spring-chain.ts +307 -0
  22. package/src/core/game-loop.ts +41 -3
  23. package/src/core/seeded-random.ts +161 -0
  24. package/src/core/system-runner.ts +20 -3
  25. package/src/core/types.ts +37 -0
  26. package/src/data/data-asset.ts +1 -1
  27. package/src/dev/performance-profiler.ts +213 -0
  28. package/src/dev/webgl-gpu-timer.ts +53 -0
  29. package/src/ecs/component-manager.ts +45 -12
  30. package/src/ecs/game-component.ts +95 -11
  31. package/src/humanoid/bake.operation.ts +326 -0
  32. package/src/humanoid/body.ts +663 -0
  33. package/src/humanoid/clips.ts +149 -0
  34. package/src/humanoid/compose.ts +209 -0
  35. package/src/humanoid/generate.ts +189 -0
  36. package/src/humanoid/index.ts +36 -0
  37. package/src/humanoid/schema.ts +108 -0
  38. package/src/humanoid/skeleton.ts +345 -0
  39. package/src/index.ts +5 -5
  40. package/src/input/input-manager.ts +701 -22
  41. package/src/input/input-types.ts +5 -2
  42. package/src/manifest/index.ts +5 -5
  43. package/src/manifest/load.ts +125 -72
  44. package/src/manifest/schema.ts +362 -255
  45. package/src/react/game-state.tsx +135 -32
  46. package/src/react/root-adapter.tsx +49 -0
  47. package/src/react/unmanaged-root-detector.ts +66 -0
  48. package/src/react/use-data.ts +12 -2
  49. package/src/runtime/create-runtime.ts +100 -282
  50. package/src/runtime/debug-bridge.ts +483 -0
  51. package/src/runtime/debug-registry.ts +856 -0
  52. package/src/runtime/game.ts +342 -93
  53. package/src/runtime/gameplay-rng-trap.ts +134 -0
  54. package/src/runtime/input-router.ts +7 -7
  55. package/src/runtime/mount-game.ts +40 -38
  56. package/src/runtime/mount-manifest.ts +169 -37
  57. package/src/runtime/render-control.ts +13 -13
  58. package/src/runtime/render-seed.ts +1 -1
  59. package/src/runtime/state-bridge.ts +24 -10
  60. package/src/runtime/types.ts +110 -28
  61. package/src/scene/asset-registry.ts +22 -0
  62. package/src/scene/component-registry.ts +14 -3
  63. package/src/scene/defaults.ts +1 -0
  64. package/src/scene/light-camera-factory.ts +11 -3
  65. package/src/scene/scene-apply.ts +55 -4
  66. package/src/scene/scene-loader.ts +10 -27
  67. package/src/scene/scene-types.ts +0 -1
  68. package/src/scene/schema/index.ts +0 -34
  69. package/src/scene/schema/light.ts +16 -1
  70. package/src/scene/schema/material.ts +96 -91
  71. package/src/scene/schema/scene-file.ts +1 -7
  72. package/src/scene/user-data.ts +14 -1
  73. package/src/setup/setup-renderer.ts +1 -1
  74. package/src/tools/define-tool.ts +50 -11
  75. package/src/world2d/authoring-2d.ts +17 -1
  76. package/src/world2d/collision-2d.ts +1 -1
  77. package/src/world2d/pixi-game-adapter.ts +19 -17
  78. package/src/world2d/scene2d-loader.ts +1 -0
  79. package/src/world2d/types.ts +8 -2
  80. package/dist/adapter/authoring.d.ts +0 -404
  81. package/dist/adapter/authoring.d.ts.map +0 -1
  82. package/dist/adapter/authoring.js +0 -22
  83. package/dist/adapter/colyseus-networking-adapter.d.ts +0 -43
  84. package/dist/adapter/colyseus-networking-adapter.d.ts.map +0 -1
  85. package/dist/adapter/colyseus-networking-adapter.js +0 -38
  86. package/dist/adapter/first-party-systems.d.ts +0 -38
  87. package/dist/adapter/first-party-systems.d.ts.map +0 -1
  88. package/dist/adapter/first-party-systems.js +0 -77
  89. package/dist/adapter/game-adapter.d.ts +0 -133
  90. package/dist/adapter/game-adapter.d.ts.map +0 -1
  91. package/dist/adapter/game-adapter.js +0 -10
  92. package/dist/adapter/host-context.d.ts +0 -73
  93. package/dist/adapter/host-context.d.ts.map +0 -1
  94. package/dist/adapter/host-context.js +0 -16
  95. package/dist/adapter/index.d.ts +0 -22
  96. package/dist/adapter/index.d.ts.map +0 -1
  97. package/dist/adapter/index.js +0 -15
  98. package/dist/adapter/ingest/game-contract.d.ts +0 -53
  99. package/dist/adapter/ingest/game-contract.d.ts.map +0 -1
  100. package/dist/adapter/ingest/game-contract.js +0 -30
  101. package/dist/adapter/ingest/overlay-applier.d.ts +0 -118
  102. package/dist/adapter/ingest/overlay-applier.d.ts.map +0 -1
  103. package/dist/adapter/ingest/overlay-applier.js +0 -132
  104. package/dist/adapter/ingest/overlay-apply.d.ts +0 -60
  105. package/dist/adapter/ingest/overlay-apply.d.ts.map +0 -1
  106. package/dist/adapter/ingest/overlay-apply.js +0 -101
  107. package/dist/adapter/ingest/overlay-file.d.ts +0 -79
  108. package/dist/adapter/ingest/overlay-file.d.ts.map +0 -1
  109. package/dist/adapter/ingest/overlay-file.js +0 -66
  110. package/dist/adapter/ingest/overlay-report.d.ts +0 -113
  111. package/dist/adapter/ingest/overlay-report.d.ts.map +0 -1
  112. package/dist/adapter/ingest/overlay-report.js +0 -103
  113. package/dist/adapter/ingest/scene-capture.d.ts +0 -97
  114. package/dist/adapter/ingest/scene-capture.d.ts.map +0 -1
  115. package/dist/adapter/ingest/scene-capture.js +0 -248
  116. package/dist/adapter/ingest/upstream-pin.d.ts +0 -47
  117. package/dist/adapter/ingest/upstream-pin.d.ts.map +0 -1
  118. package/dist/adapter/ingest/upstream-pin.js +0 -50
  119. package/dist/adapter/loop-gate-report.d.ts +0 -34
  120. package/dist/adapter/loop-gate-report.d.ts.map +0 -1
  121. package/dist/adapter/loop-gate-report.js +0 -37
  122. package/dist/adapter/rapier-physics-adapter.d.ts +0 -12
  123. package/dist/adapter/rapier-physics-adapter.d.ts.map +0 -1
  124. package/dist/adapter/rapier-physics-adapter.js +0 -46
  125. package/dist/adapter/system-adapter.d.ts +0 -133
  126. package/dist/adapter/system-adapter.d.ts.map +0 -1
  127. package/dist/adapter/system-adapter.js +0 -13
  128. package/dist/adapter/transform.d.ts +0 -18
  129. package/dist/adapter/transform.d.ts.map +0 -1
  130. package/dist/adapter/transform.js +0 -1
  131. package/dist/adapter/vgai-scene-game-adapter.d.ts +0 -116
  132. package/dist/adapter/vgai-scene-game-adapter.d.ts.map +0 -1
  133. package/dist/adapter/vgai-scene-game-adapter.js +0 -714
  134. package/dist/adapter/world-kind.d.ts +0 -30
  135. package/dist/adapter/world-kind.d.ts.map +0 -1
  136. package/dist/adapter/world-kind.js +0 -18
  137. package/dist/ai/navigation.d.ts +0 -64
  138. package/dist/ai/navigation.d.ts.map +0 -1
  139. package/dist/ai/navigation.js +0 -133
  140. package/dist/animation/anim-graph-types.d.ts +0 -25
  141. package/dist/animation/anim-graph-types.d.ts.map +0 -1
  142. package/dist/animation/anim-graph-types.js +0 -1
  143. package/dist/animation/animation-clock.d.ts +0 -213
  144. package/dist/animation/animation-clock.d.ts.map +0 -1
  145. package/dist/animation/animation-clock.js +0 -301
  146. package/dist/animation/blend-node.d.ts +0 -22
  147. package/dist/animation/blend-node.d.ts.map +0 -1
  148. package/dist/animation/blend-node.js +0 -97
  149. package/dist/animation/camera-ownership.d.ts +0 -250
  150. package/dist/animation/camera-ownership.d.ts.map +0 -1
  151. package/dist/animation/camera-ownership.js +0 -169
  152. package/dist/animation/cinematic-cues.d.ts +0 -200
  153. package/dist/animation/cinematic-cues.d.ts.map +0 -1
  154. package/dist/animation/cinematic-cues.js +0 -213
  155. package/dist/animation/clip-map.d.ts +0 -12
  156. package/dist/animation/clip-map.d.ts.map +0 -1
  157. package/dist/animation/clip-map.js +0 -37
  158. package/dist/animation/gsap-registration.d.ts +0 -119
  159. package/dist/animation/gsap-registration.d.ts.map +0 -1
  160. package/dist/animation/gsap-registration.js +0 -92
  161. package/dist/animation/theatre-clock-binding.d.ts +0 -89
  162. package/dist/animation/theatre-clock-binding.d.ts.map +0 -1
  163. package/dist/animation/theatre-clock-binding.js +0 -29
  164. package/dist/animation/theatre-director.d.ts +0 -242
  165. package/dist/animation/theatre-director.d.ts.map +0 -1
  166. package/dist/animation/theatre-director.js +0 -235
  167. package/dist/animation/theatre-object-binding.d.ts +0 -305
  168. package/dist/animation/theatre-object-binding.d.ts.map +0 -1
  169. package/dist/animation/theatre-object-binding.js +0 -351
  170. package/dist/animation/xstate-animation-binding.d.ts +0 -111
  171. package/dist/animation/xstate-animation-binding.d.ts.map +0 -1
  172. package/dist/animation/xstate-animation-binding.js +0 -307
  173. package/dist/animation/xstate-animation-meta.d.ts +0 -228
  174. package/dist/animation/xstate-animation-meta.d.ts.map +0 -1
  175. package/dist/animation/xstate-animation-meta.js +0 -221
  176. package/dist/assets.d.ts +0 -26
  177. package/dist/assets.d.ts.map +0 -1
  178. package/dist/assets.js +0 -55
  179. package/dist/audio/index.d.ts +0 -4
  180. package/dist/audio/index.d.ts.map +0 -1
  181. package/dist/audio/index.js +0 -24
  182. package/dist/audio/tone-clock-binding.d.ts +0 -75
  183. package/dist/audio/tone-clock-binding.d.ts.map +0 -1
  184. package/dist/audio/tone-clock-binding.js +0 -29
  185. package/dist/audio/tone-context.d.ts +0 -114
  186. package/dist/audio/tone-context.d.ts.map +0 -1
  187. package/dist/audio/tone-context.js +0 -39
  188. package/dist/audio/tone-offline-render.d.ts +0 -90
  189. package/dist/audio/tone-offline-render.d.ts.map +0 -1
  190. package/dist/audio/tone-offline-render.js +0 -56
  191. package/dist/audio/wav-encode.d.ts +0 -38
  192. package/dist/audio/wav-encode.d.ts.map +0 -1
  193. package/dist/audio/wav-encode.js +0 -97
  194. package/dist/core/game-loop.d.ts +0 -21
  195. package/dist/core/game-loop.d.ts.map +0 -1
  196. package/dist/core/game-loop.js +0 -130
  197. package/dist/core/system-runner.d.ts +0 -120
  198. package/dist/core/system-runner.d.ts.map +0 -1
  199. package/dist/core/system-runner.js +0 -286
  200. package/dist/core/types.d.ts +0 -58
  201. package/dist/core/types.d.ts.map +0 -1
  202. package/dist/core/types.js +0 -25
  203. package/dist/data/data-asset.d.ts +0 -101
  204. package/dist/data/data-asset.d.ts.map +0 -1
  205. package/dist/data/data-asset.js +0 -122
  206. package/dist/data/data-check-core.d.ts +0 -110
  207. package/dist/data/data-check-core.d.ts.map +0 -1
  208. package/dist/data/data-check-core.js +0 -178
  209. package/dist/data/data-ref.d.ts +0 -79
  210. package/dist/data/data-ref.d.ts.map +0 -1
  211. package/dist/data/data-ref.js +0 -130
  212. package/dist/data/vite-plugin-data.d.ts +0 -79
  213. package/dist/data/vite-plugin-data.d.ts.map +0 -1
  214. package/dist/data/vite-plugin-data.js +0 -217
  215. package/dist/dev/console-bridge.d.ts +0 -22
  216. package/dist/dev/console-bridge.d.ts.map +0 -1
  217. package/dist/dev/console-bridge.js +0 -71
  218. package/dist/dev/debug-draw.d.ts +0 -24
  219. package/dist/dev/debug-draw.d.ts.map +0 -1
  220. package/dist/dev/debug-draw.js +0 -73
  221. package/dist/dev/logger.d.ts +0 -30
  222. package/dist/dev/logger.d.ts.map +0 -1
  223. package/dist/dev/logger.js +0 -90
  224. package/dist/ecs/component-manager.d.ts +0 -189
  225. package/dist/ecs/component-manager.d.ts.map +0 -1
  226. package/dist/ecs/component-manager.js +0 -676
  227. package/dist/ecs/game-component.d.ts +0 -97
  228. package/dist/ecs/game-component.d.ts.map +0 -1
  229. package/dist/ecs/game-component.js +0 -80
  230. package/dist/ecs/hmr-swap-report.d.ts +0 -53
  231. package/dist/ecs/hmr-swap-report.d.ts.map +0 -1
  232. package/dist/ecs/hmr-swap-report.js +0 -55
  233. package/dist/index.d.ts +0 -37
  234. package/dist/index.d.ts.map +0 -1
  235. package/dist/index.js +0 -30
  236. package/dist/input/input-manager.d.ts +0 -596
  237. package/dist/input/input-manager.d.ts.map +0 -1
  238. package/dist/input/input-manager.js +0 -1564
  239. package/dist/input/input-types.d.ts +0 -171
  240. package/dist/input/input-types.d.ts.map +0 -1
  241. package/dist/input/input-types.js +0 -1
  242. package/dist/input/prompt-labels.d.ts +0 -21
  243. package/dist/input/prompt-labels.d.ts.map +0 -1
  244. package/dist/input/prompt-labels.js +0 -121
  245. package/dist/input/rebind-controller.d.ts +0 -59
  246. package/dist/input/rebind-controller.d.ts.map +0 -1
  247. package/dist/input/rebind-controller.js +0 -85
  248. package/dist/input/schema.d.ts +0 -16
  249. package/dist/input/schema.d.ts.map +0 -1
  250. package/dist/input/schema.js +0 -228
  251. package/dist/loader.d.ts +0 -43
  252. package/dist/loader.d.ts.map +0 -1
  253. package/dist/loader.js +0 -59
  254. package/dist/manifest/index.d.ts +0 -5
  255. package/dist/manifest/index.d.ts.map +0 -1
  256. package/dist/manifest/index.js +0 -8
  257. package/dist/manifest/load-file.d.ts +0 -4
  258. package/dist/manifest/load-file.d.ts.map +0 -1
  259. package/dist/manifest/load-file.js +0 -14
  260. package/dist/manifest/load.d.ts +0 -117
  261. package/dist/manifest/load.d.ts.map +0 -1
  262. package/dist/manifest/load.js +0 -255
  263. package/dist/manifest/schema.d.ts +0 -173
  264. package/dist/manifest/schema.d.ts.map +0 -1
  265. package/dist/manifest/schema.js +0 -302
  266. package/dist/physics/collision-system.d.ts +0 -41
  267. package/dist/physics/collision-system.d.ts.map +0 -1
  268. package/dist/physics/collision-system.js +0 -64
  269. package/dist/physics/physics-registry.d.ts +0 -45
  270. package/dist/physics/physics-registry.d.ts.map +0 -1
  271. package/dist/physics/physics-registry.js +0 -65
  272. package/dist/physics/transform-writer.d.ts +0 -16
  273. package/dist/physics/transform-writer.d.ts.map +0 -1
  274. package/dist/physics/transform-writer.js +0 -38
  275. package/dist/physics/trigger-dispatch.d.ts +0 -24
  276. package/dist/physics/trigger-dispatch.d.ts.map +0 -1
  277. package/dist/physics/trigger-dispatch.js +0 -80
  278. package/dist/react/game-state.d.ts +0 -105
  279. package/dist/react/game-state.d.ts.map +0 -1
  280. package/dist/react/game-state.js +0 -144
  281. package/dist/react/use-data.d.ts +0 -60
  282. package/dist/react/use-data.d.ts.map +0 -1
  283. package/dist/react/use-data.js +0 -96
  284. package/dist/react/use-selection.d.ts +0 -75
  285. package/dist/react/use-selection.d.ts.map +0 -1
  286. package/dist/react/use-selection.js +0 -90
  287. package/dist/render/auto-batcher.d.ts +0 -34
  288. package/dist/render/auto-batcher.d.ts.map +0 -1
  289. package/dist/render/auto-batcher.js +0 -140
  290. package/dist/render/render-batch-system.d.ts +0 -33
  291. package/dist/render/render-batch-system.d.ts.map +0 -1
  292. package/dist/render/render-batch-system.js +0 -230
  293. package/dist/render/render-features.d.ts +0 -47
  294. package/dist/render/render-features.d.ts.map +0 -1
  295. package/dist/render/render-features.js +0 -105
  296. package/dist/render/render-settings.d.ts +0 -36
  297. package/dist/render/render-settings.d.ts.map +0 -1
  298. package/dist/render/render-settings.js +0 -51
  299. package/dist/runtime/create-runtime.d.ts +0 -280
  300. package/dist/runtime/create-runtime.d.ts.map +0 -1
  301. package/dist/runtime/create-runtime.js +0 -795
  302. package/dist/runtime/frame-selector-cache.d.ts +0 -41
  303. package/dist/runtime/frame-selector-cache.d.ts.map +0 -1
  304. package/dist/runtime/frame-selector-cache.js +0 -65
  305. package/dist/runtime/game.d.ts +0 -433
  306. package/dist/runtime/game.d.ts.map +0 -1
  307. package/dist/runtime/game.js +0 -569
  308. package/dist/runtime/input-router.d.ts +0 -78
  309. package/dist/runtime/input-router.d.ts.map +0 -1
  310. package/dist/runtime/input-router.js +0 -171
  311. package/dist/runtime/mount-game.d.ts +0 -129
  312. package/dist/runtime/mount-game.d.ts.map +0 -1
  313. package/dist/runtime/mount-game.js +0 -152
  314. package/dist/runtime/mount-manifest.d.ts +0 -119
  315. package/dist/runtime/mount-manifest.d.ts.map +0 -1
  316. package/dist/runtime/mount-manifest.js +0 -204
  317. package/dist/runtime/render-audio-control.d.ts +0 -110
  318. package/dist/runtime/render-audio-control.d.ts.map +0 -1
  319. package/dist/runtime/render-audio-control.js +0 -111
  320. package/dist/runtime/render-control.d.ts +0 -291
  321. package/dist/runtime/render-control.d.ts.map +0 -1
  322. package/dist/runtime/render-control.js +0 -264
  323. package/dist/runtime/render-seed.d.ts +0 -57
  324. package/dist/runtime/render-seed.d.ts.map +0 -1
  325. package/dist/runtime/render-seed.js +0 -74
  326. package/dist/runtime/scene-ui-bridge.d.ts +0 -69
  327. package/dist/runtime/scene-ui-bridge.d.ts.map +0 -1
  328. package/dist/runtime/scene-ui-bridge.js +0 -23
  329. package/dist/runtime/scene-ui-data.d.ts +0 -13
  330. package/dist/runtime/scene-ui-data.d.ts.map +0 -1
  331. package/dist/runtime/scene-ui-data.js +0 -92
  332. package/dist/runtime/state-bridge.d.ts +0 -47
  333. package/dist/runtime/state-bridge.d.ts.map +0 -1
  334. package/dist/runtime/state-bridge.js +0 -53
  335. package/dist/runtime/types.d.ts +0 -179
  336. package/dist/runtime/types.d.ts.map +0 -1
  337. package/dist/runtime/types.js +0 -1
  338. package/dist/scene/asset-loaders.d.ts +0 -79
  339. package/dist/scene/asset-loaders.d.ts.map +0 -1
  340. package/dist/scene/asset-loaders.js +0 -141
  341. package/dist/scene/asset-paths.d.ts +0 -11
  342. package/dist/scene/asset-paths.d.ts.map +0 -1
  343. package/dist/scene/asset-paths.js +0 -108
  344. package/dist/scene/asset-ref-check.d.ts +0 -88
  345. package/dist/scene/asset-ref-check.d.ts.map +0 -1
  346. package/dist/scene/asset-ref-check.js +0 -214
  347. package/dist/scene/asset-registry.d.ts +0 -30
  348. package/dist/scene/asset-registry.d.ts.map +0 -1
  349. package/dist/scene/asset-registry.js +0 -50
  350. package/dist/scene/collider-dimensions.d.ts +0 -63
  351. package/dist/scene/collider-dimensions.d.ts.map +0 -1
  352. package/dist/scene/collider-dimensions.js +0 -98
  353. package/dist/scene/component-registry.d.ts +0 -17
  354. package/dist/scene/component-registry.d.ts.map +0 -1
  355. package/dist/scene/component-registry.js +0 -28
  356. package/dist/scene/defaults.d.ts +0 -252
  357. package/dist/scene/defaults.d.ts.map +0 -1
  358. package/dist/scene/defaults.js +0 -151
  359. package/dist/scene/geometries/index.d.ts +0 -8
  360. package/dist/scene/geometries/index.d.ts.map +0 -1
  361. package/dist/scene/geometries/index.js +0 -7
  362. package/dist/scene/geometries/terrain.d.ts +0 -2
  363. package/dist/scene/geometries/terrain.d.ts.map +0 -1
  364. package/dist/scene/geometries/terrain.js +0 -37
  365. package/dist/scene/geometry-registry.d.ts +0 -24
  366. package/dist/scene/geometry-registry.d.ts.map +0 -1
  367. package/dist/scene/geometry-registry.js +0 -20
  368. package/dist/scene/instance-registry.d.ts +0 -36
  369. package/dist/scene/instance-registry.d.ts.map +0 -1
  370. package/dist/scene/instance-registry.js +0 -55
  371. package/dist/scene/instancers/grid.d.ts +0 -2
  372. package/dist/scene/instancers/grid.d.ts.map +0 -1
  373. package/dist/scene/instancers/grid.js +0 -36
  374. package/dist/scene/instancers/index.d.ts +0 -8
  375. package/dist/scene/instancers/index.d.ts.map +0 -1
  376. package/dist/scene/instancers/index.js +0 -7
  377. package/dist/scene/light-camera-factory.d.ts +0 -23
  378. package/dist/scene/light-camera-factory.d.ts.map +0 -1
  379. package/dist/scene/light-camera-factory.js +0 -68
  380. package/dist/scene/material-factory.d.ts +0 -17
  381. package/dist/scene/material-factory.d.ts.map +0 -1
  382. package/dist/scene/material-factory.js +0 -197
  383. package/dist/scene/material-registry.d.ts +0 -40
  384. package/dist/scene/material-registry.d.ts.map +0 -1
  385. package/dist/scene/material-registry.js +0 -44
  386. package/dist/scene/materials/index.d.ts +0 -8
  387. package/dist/scene/materials/index.d.ts.map +0 -1
  388. package/dist/scene/materials/index.js +0 -7
  389. package/dist/scene/materials/water.d.ts +0 -2
  390. package/dist/scene/materials/water.d.ts.map +0 -1
  391. package/dist/scene/materials/water.js +0 -54
  392. package/dist/scene/parse.d.ts +0 -23
  393. package/dist/scene/parse.d.ts.map +0 -1
  394. package/dist/scene/parse.js +0 -179
  395. package/dist/scene/particles-factory.d.ts +0 -33
  396. package/dist/scene/particles-factory.d.ts.map +0 -1
  397. package/dist/scene/particles-factory.js +0 -282
  398. package/dist/scene/scene-apply.d.ts +0 -109
  399. package/dist/scene/scene-apply.d.ts.map +0 -1
  400. package/dist/scene/scene-apply.js +0 -326
  401. package/dist/scene/scene-diff-schema.d.ts +0 -285
  402. package/dist/scene/scene-diff-schema.d.ts.map +0 -1
  403. package/dist/scene/scene-diff-schema.js +0 -92
  404. package/dist/scene/scene-diff-types.d.ts +0 -40
  405. package/dist/scene/scene-diff-types.d.ts.map +0 -1
  406. package/dist/scene/scene-diff-types.js +0 -14
  407. package/dist/scene/scene-loader.d.ts +0 -177
  408. package/dist/scene/scene-loader.d.ts.map +0 -1
  409. package/dist/scene/scene-loader.js +0 -1213
  410. package/dist/scene/scene-query.d.ts +0 -11
  411. package/dist/scene/scene-query.d.ts.map +0 -1
  412. package/dist/scene/scene-query.js +0 -63
  413. package/dist/scene/scene-types.d.ts +0 -10
  414. package/dist/scene/scene-types.d.ts.map +0 -1
  415. package/dist/scene/scene-types.js +0 -8
  416. package/dist/scene/scene-version.d.ts +0 -26
  417. package/dist/scene/scene-version.d.ts.map +0 -1
  418. package/dist/scene/scene-version.js +0 -34
  419. package/dist/scene/schema/animation.d.ts +0 -8
  420. package/dist/scene/schema/animation.d.ts.map +0 -1
  421. package/dist/scene/schema/animation.js +0 -42
  422. package/dist/scene/schema/audio.d.ts +0 -13
  423. package/dist/scene/schema/audio.d.ts.map +0 -1
  424. package/dist/scene/schema/audio.js +0 -22
  425. package/dist/scene/schema/camera.d.ts +0 -28
  426. package/dist/scene/schema/camera.d.ts.map +0 -1
  427. package/dist/scene/schema/camera.js +0 -17
  428. package/dist/scene/schema/collider.d.ts +0 -40
  429. package/dist/scene/schema/collider.d.ts.map +0 -1
  430. package/dist/scene/schema/collider.js +0 -55
  431. package/dist/scene/schema/entity-ref.d.ts +0 -31
  432. package/dist/scene/schema/entity-ref.d.ts.map +0 -1
  433. package/dist/scene/schema/entity-ref.js +0 -61
  434. package/dist/scene/schema/entity.d.ts +0 -1036
  435. package/dist/scene/schema/entity.d.ts.map +0 -1
  436. package/dist/scene/schema/entity.js +0 -153
  437. package/dist/scene/schema/environment.d.ts +0 -425
  438. package/dist/scene/schema/environment.d.ts.map +0 -1
  439. package/dist/scene/schema/environment.js +0 -357
  440. package/dist/scene/schema/index.d.ts +0 -39
  441. package/dist/scene/schema/index.d.ts.map +0 -1
  442. package/dist/scene/schema/index.js +0 -20
  443. package/dist/scene/schema/instances.d.ts +0 -14
  444. package/dist/scene/schema/instances.d.ts.map +0 -1
  445. package/dist/scene/schema/instances.js +0 -28
  446. package/dist/scene/schema/joint.d.ts +0 -23
  447. package/dist/scene/schema/joint.d.ts.map +0 -1
  448. package/dist/scene/schema/joint.js +0 -23
  449. package/dist/scene/schema/light.d.ts +0 -38
  450. package/dist/scene/schema/light.d.ts.map +0 -1
  451. package/dist/scene/schema/light.js +0 -26
  452. package/dist/scene/schema/material.d.ts +0 -199
  453. package/dist/scene/schema/material.d.ts.map +0 -1
  454. package/dist/scene/schema/material.js +0 -99
  455. package/dist/scene/schema/mesh.d.ts +0 -48
  456. package/dist/scene/schema/mesh.d.ts.map +0 -1
  457. package/dist/scene/schema/mesh.js +0 -82
  458. package/dist/scene/schema/particles.d.ts +0 -2178
  459. package/dist/scene/schema/particles.d.ts.map +0 -1
  460. package/dist/scene/schema/particles.js +0 -321
  461. package/dist/scene/schema/physics.d.ts +0 -56
  462. package/dist/scene/schema/physics.d.ts.map +0 -1
  463. package/dist/scene/schema/physics.js +0 -37
  464. package/dist/scene/schema/scene-file.d.ts +0 -304
  465. package/dist/scene/schema/scene-file.d.ts.map +0 -1
  466. package/dist/scene/schema/scene-file.js +0 -262
  467. package/dist/scene/schema/shadow.d.ts +0 -28
  468. package/dist/scene/schema/shadow.d.ts.map +0 -1
  469. package/dist/scene/schema/shadow.js +0 -20
  470. package/dist/scene/schema/spline.d.ts +0 -25
  471. package/dist/scene/schema/spline.d.ts.map +0 -1
  472. package/dist/scene/schema/spline.js +0 -15
  473. package/dist/scene/schema/tuples.d.ts +0 -12
  474. package/dist/scene/schema/tuples.d.ts.map +0 -1
  475. package/dist/scene/schema/tuples.js +0 -14
  476. package/dist/scene/schema/ui.d.ts +0 -880
  477. package/dist/scene/schema/ui.d.ts.map +0 -1
  478. package/dist/scene/schema/ui.js +0 -506
  479. package/dist/scene/user-data.d.ts +0 -171
  480. package/dist/scene/user-data.d.ts.map +0 -1
  481. package/dist/scene/user-data.js +0 -137
  482. package/dist/setup/setup-audio.d.ts +0 -20
  483. package/dist/setup/setup-audio.d.ts.map +0 -1
  484. package/dist/setup/setup-audio.js +0 -41
  485. package/dist/setup/setup-particles.d.ts +0 -17
  486. package/dist/setup/setup-particles.d.ts.map +0 -1
  487. package/dist/setup/setup-particles.js +0 -16
  488. package/dist/setup/setup-physics.d.ts +0 -25
  489. package/dist/setup/setup-physics.d.ts.map +0 -1
  490. package/dist/setup/setup-physics.js +0 -51
  491. package/dist/setup/setup-renderer.d.ts +0 -69
  492. package/dist/setup/setup-renderer.d.ts.map +0 -1
  493. package/dist/setup/setup-renderer.js +0 -363
  494. package/dist/tools/define-tool.d.ts +0 -105
  495. package/dist/tools/define-tool.d.ts.map +0 -1
  496. package/dist/tools/define-tool.js +0 -82
  497. package/dist/world2d/authoring-2d.d.ts +0 -76
  498. package/dist/world2d/authoring-2d.d.ts.map +0 -1
  499. package/dist/world2d/authoring-2d.js +0 -176
  500. package/dist/world2d/capture-to-scene2d.d.ts +0 -5
  501. package/dist/world2d/capture-to-scene2d.d.ts.map +0 -1
  502. package/dist/world2d/capture-to-scene2d.js +0 -49
  503. package/dist/world2d/collision-2d.d.ts +0 -52
  504. package/dist/world2d/collision-2d.d.ts.map +0 -1
  505. package/dist/world2d/collision-2d.js +0 -70
  506. package/dist/world2d/components-2d.d.ts +0 -47
  507. package/dist/world2d/components-2d.d.ts.map +0 -1
  508. package/dist/world2d/components-2d.js +0 -77
  509. package/dist/world2d/index.d.ts +0 -34
  510. package/dist/world2d/index.d.ts.map +0 -1
  511. package/dist/world2d/index.js +0 -32
  512. package/dist/world2d/ingest-iframe-2d.d.ts +0 -82
  513. package/dist/world2d/ingest-iframe-2d.d.ts.map +0 -1
  514. package/dist/world2d/ingest-iframe-2d.js +0 -166
  515. package/dist/world2d/ingest2d.d.ts +0 -97
  516. package/dist/world2d/ingest2d.d.ts.map +0 -1
  517. package/dist/world2d/ingest2d.js +0 -40
  518. package/dist/world2d/physics2d-registry.d.ts +0 -24
  519. package/dist/world2d/physics2d-registry.d.ts.map +0 -1
  520. package/dist/world2d/physics2d-registry.js +0 -38
  521. package/dist/world2d/pixi-game-adapter.d.ts +0 -107
  522. package/dist/world2d/pixi-game-adapter.d.ts.map +0 -1
  523. package/dist/world2d/pixi-game-adapter.js +0 -211
  524. package/dist/world2d/pixi-surface.d.ts +0 -39
  525. package/dist/world2d/pixi-surface.d.ts.map +0 -1
  526. package/dist/world2d/pixi-surface.js +0 -47
  527. package/dist/world2d/scene-capture-2d.d.ts +0 -43
  528. package/dist/world2d/scene-capture-2d.d.ts.map +0 -1
  529. package/dist/world2d/scene-capture-2d.js +0 -92
  530. package/dist/world2d/scene2d-loader.d.ts +0 -27
  531. package/dist/world2d/scene2d-loader.d.ts.map +0 -1
  532. package/dist/world2d/scene2d-loader.js +0 -274
  533. package/dist/world2d/schema/entity2d.d.ts +0 -102
  534. package/dist/world2d/schema/entity2d.d.ts.map +0 -1
  535. package/dist/world2d/schema/entity2d.js +0 -119
  536. package/dist/world2d/schema/physics2d.d.ts +0 -46
  537. package/dist/world2d/schema/physics2d.d.ts.map +0 -1
  538. package/dist/world2d/schema/physics2d.js +0 -45
  539. package/dist/world2d/schema/sprite.d.ts +0 -42
  540. package/dist/world2d/schema/sprite.d.ts.map +0 -1
  541. package/dist/world2d/schema/sprite.js +0 -63
  542. package/dist/world2d/schema/tilemap.d.ts +0 -15
  543. package/dist/world2d/schema/tilemap.d.ts.map +0 -1
  544. package/dist/world2d/schema/tilemap.js +0 -19
  545. package/dist/world2d/schema/tuples2d.d.ts +0 -20
  546. package/dist/world2d/schema/tuples2d.d.ts.map +0 -1
  547. package/dist/world2d/schema/tuples2d.js +0 -19
  548. package/dist/world2d/system-adapters-2d.d.ts +0 -16
  549. package/dist/world2d/system-adapters-2d.d.ts.map +0 -1
  550. package/dist/world2d/system-adapters-2d.js +0 -37
  551. package/dist/world2d/transform-writer-2d.d.ts +0 -16
  552. package/dist/world2d/transform-writer-2d.d.ts.map +0 -1
  553. package/dist/world2d/transform-writer-2d.js +0 -22
  554. package/dist/world2d/types.d.ts +0 -53
  555. package/dist/world2d/types.d.ts.map +0 -1
  556. package/dist/world2d/types.js +0 -1
  557. package/src/runtime/scene-ui-bridge.ts +0 -86
  558. package/src/runtime/scene-ui-data.ts +0 -119
  559. package/src/scene/schema/ui.ts +0 -602
@@ -1,199 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,99 +0,0 @@
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)');
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,82 +0,0 @@
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();