@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,12 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const Vec3Schema: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3
- export declare const QuatSchema: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
4
- export type Vec3 = z.infer<typeof Vec3Schema>;
5
- export type Quat = z.infer<typeof QuatSchema>;
6
- export declare const TransformSchema: z.ZodObject<{
7
- position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
8
- rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
9
- scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
10
- }, z.core.$strip>;
11
- export type SceneTransform = z.infer<typeof TransformSchema>;
12
- //# sourceMappingURL=tuples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tuples.d.ts","sourceRoot":"","sources":["../../../src/scene/schema/tuples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU,2DAEc,CAAC;AACtC,eAAO,MAAM,UAAU,wEAEkB,CAAC;AAE1C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,eAAe;;;;iBAM4B,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import { z } from 'zod';
2
- export const Vec3Schema = z
3
- .tuple([z.number(), z.number(), z.number()])
4
- .describe('3D vector as [x, y, z]');
5
- export const QuatSchema = z
6
- .tuple([z.number(), z.number(), z.number(), z.number()])
7
- .describe('Quaternion as [x, y, z, w]');
8
- export const TransformSchema = z
9
- .object({
10
- position: Vec3Schema.optional().describe('World-space position [x, y, z]'),
11
- rotation: QuatSchema.optional().describe('Rotation quaternion [x, y, z, w]'),
12
- scale: Vec3Schema.optional().describe('Scale factor per axis [x, y, z]. Defaults to [1, 1, 1]'),
13
- })
14
- .describe('Local transform relative to parent entity');
@@ -1,185 +0,0 @@
1
- /**
2
- * Typed registry for `Object3D.userData` keys used by the engine and editor.
3
- *
4
- * Three.js lets any code stash arbitrary values on `object.userData`, and over
5
- * time the engine + editor accumulated ~20 stringly-typed keys that together
6
- * form a *parallel object model* — meaning carried entirely in undocumented
7
- * string literals. This module is the ONE documented place that lists every
8
- * such key, its value type, and what it means. All engine/editor-internal
9
- * `userData` access for these keys must go through {@link getUserData} /
10
- * {@link setUserData} / {@link hasUserData} / {@link deleteUserData} so the key
11
- * strings live in exactly one place and are type-checked at every call site.
12
- *
13
- * NOTE: This covers engine/editor *internal* keys only. User game code in the
14
- * example template may stash its own ad-hoc keys; those are out of scope.
15
- *
16
- * ## Key reference
17
- *
18
- * Serialization / identity (load-bearing — editor identity + scene I/O):
19
- * - `entity` — the full {@link SceneEntity} descriptor backing this
20
- * Object3D. Source of truth the editor reads/writes and
21
- * the serializer walks to rebuild `.vscn.json`.
22
- * - `entityId` — the entity's stable string id. Presence also marks an
23
- * Object3D as a "real" entity (vs editor helper/env object).
24
- *
25
- * Runtime scene-query overrides (read by `scene-query.ts`):
26
- * - `tags` — string[] tag override; falls back to `entity.tags`.
27
- * - `components` — component record or name[] override; falls back to
28
- * `entity.components`.
29
- *
30
- * Runtime gameplay metadata (set by the scene loader):
31
- * - `navRole` — `'walkable' | 'obstacle'` navmesh role; collected at runtime.
32
- * - `pivot` — `[x,y,z]` local-space pivot for rotate/scale-around-pivot.
33
- * - `splineCurve` — resolved THREE curve built from the entity's spline.
34
- * - `_camera` — THREE.Camera owned by a camera entity (collected on load).
35
- * - `_particleSystem` — three.quarks ParticleSystem (scene-sync registration + census).
36
- *
37
- * Animation (load-bearing — ED5 disposal contract):
38
- * - `_animMixer` — THREE.AnimationMixer driving this subtree's clips.
39
- * - `_animClips` — Map<string, AnimationClip> discovered on the GLTF (E5 —
40
- * lets a GameComponent build its own XState-driven
41
- * binding via `bindXStateAnimation` over the SAME
42
- * mixer; see xstate-animation-binding.ts).
43
- * - `_availableClips` — string[] of clip names discovered on the GLTF
44
- * (inspector dropdown; same names as `_animClips`' keys).
45
- * - `_xstateAnimation` — live native XState/Three binding exposed for
46
- * play-mode inspection; removed when binding disposes.
47
- *
48
- * Disposal contract:
49
- * - `__sharedGeometry` — `true` when a mesh's geometry is shared/cached and MUST
50
- * NOT be disposed by per-object cleanup (P0.2 contract).
51
- *
52
- * Editor shading overrides (editor-only, see `scene-sync.ts`):
53
- * - `__shadeOrig` — original material(s) stashed before a shading override.
54
- * - `__shadeUnlit` — generated unlit material(s) for the unlit view mode.
55
- *
56
- * Custom-shader materials (see `material-registry.ts`):
57
- * - `__matDef` — name of the registered custom-material definition.
58
- * - `__uniforms` — authored uniform values passed to the def's update().
59
- *
60
- * Instancing (see `instance-registry.ts`):
61
- * - `__instancer` — name of the registered instancer that built the mesh.
62
- *
63
- * Unmodified-game ingestion (editor-only, see `editor/src/ingest/`):
64
- * - `__ingest` — `true` on every Object3D minted by ingestion (vs the
65
- * first-party scene loader); routes edits to live
66
- * mutation instead of descriptor rebuild.
67
- * - `__ingestNextId` — monotonic id counter stashed on the captured Scene
68
- * root so re-reflects keep minting unique ids.
69
- *
70
- * Editor scene-graph tagging (editor-only):
71
- * - `engineInternal` — `true` on engine-owned infrastructure in the game scene
72
- * (particle BatchedRenderer, debug-draw + its subtree).
73
- * The editor's play-mode hierarchy skips these so they
74
- * don't show up as selectable "entities".
75
- * - `liveObject` — `true` on a runtime/procedural Object3D that the editor
76
- * surfaced in the play-mode hierarchy with a *synthetic*
77
- * descriptor (it has no `.vscn` record). Marks it as
78
- * ephemeral: selectable/movable for testing, never saved.
79
- * - `editorHelper` — `true` for editor-only helper objects (gizmos, wireframes).
80
- * - `editorHelperType` — which kind of helper (lights/particles/pivot/navmesh/...).
81
- * - `editorIcon` — `true` for editor billboard icon sprites.
82
- * - `skeletonVisible` — per-entity editor preference for its bone overlay.
83
- * - `skeletonEnabled` — resolved visibility preference on a skeleton helper.
84
- * - `envObject` — `true` for environment objects (ambient light, etc.).
85
- * - `splineControlPoint` — index of a spline control-point drag handle.
86
- * - `vcDirIdx` — view-cube face direction index (0=+X,1=-X,2=+Y,...).
87
- */
88
- import type * as THREE from 'three';
89
- import type { ParticleSystem } from 'three.quarks';
90
- import type { AnyActor } from 'xstate';
91
- import type { XStateAnimationBinding } from '../animation/xstate-animation-binding';
92
- import type { SceneEntity } from './scene-types';
93
- /** The kinds of editor helper objects tagged via `editorHelperType`. */
94
- export type EditorHelperType = 'lights' | 'cameras' | 'audio' | 'colliders' | 'splines' | 'particles' | 'pivot' | 'navmesh' | 'skeletons';
95
- /**
96
- * Maps each canonical accessor name to its value type. This is the single
97
- * source of truth for what every known `userData` key holds.
98
- */
99
- export interface UserDataSchema {
100
- entity: SceneEntity;
101
- entityId: string;
102
- tags: string[];
103
- components: Record<string, unknown> | string[];
104
- navRole: 'walkable' | 'obstacle';
105
- pivot: [number, number, number];
106
- splineCurve: THREE.Curve<THREE.Vector3>;
107
- splineControlPoint: number;
108
- _camera: THREE.Camera;
109
- _particleSystem: ParticleSystem;
110
- _animMixer: THREE.AnimationMixer;
111
- _animClips: Map<string, THREE.AnimationClip>;
112
- _availableClips: string[];
113
- _xstateAnimation: XStateAnimationBinding & {
114
- readonly actor: AnyActor;
115
- };
116
- __sharedGeometry: boolean;
117
- __shadeOrig: THREE.Material | THREE.Material[];
118
- __shadeUnlit: THREE.Material[];
119
- __matDef: string;
120
- __uniforms: Record<string, unknown>;
121
- __instancer: string;
122
- __ingest: boolean;
123
- __ingestNextId: number;
124
- engineInternal: boolean;
125
- liveObject: boolean;
126
- editorHelper: boolean;
127
- editorHelperType: EditorHelperType;
128
- editorIcon: boolean;
129
- skeletonVisible: boolean;
130
- skeletonEnabled: boolean;
131
- envObject: boolean;
132
- vcDirIdx: number;
133
- }
134
- /** Any key in the typed registry. */
135
- export type UserDataKey = keyof UserDataSchema;
136
- /**
137
- * Canonical name → literal `userData` string key. The accessor names match the
138
- * raw string keys 1:1 (this is the documented set referenced by the AC), so the
139
- * literal strings appear in exactly this one place.
140
- */
141
- export declare const UserDataKeys: {
142
- readonly entity: "entity";
143
- readonly entityId: "entityId";
144
- readonly tags: "tags";
145
- readonly components: "components";
146
- readonly navRole: "navRole";
147
- readonly pivot: "pivot";
148
- readonly splineCurve: "splineCurve";
149
- readonly splineControlPoint: "splineControlPoint";
150
- readonly _camera: "_camera";
151
- readonly _particleSystem: "_particleSystem";
152
- readonly _animMixer: "_animMixer";
153
- readonly _animClips: "_animClips";
154
- readonly _availableClips: "_availableClips";
155
- readonly _xstateAnimation: "_xstateAnimation";
156
- readonly __sharedGeometry: "__sharedGeometry";
157
- readonly __shadeOrig: "__shadeOrig";
158
- readonly __shadeUnlit: "__shadeUnlit";
159
- readonly __matDef: "__matDef";
160
- readonly __uniforms: "__uniforms";
161
- readonly __instancer: "__instancer";
162
- readonly __ingest: "__ingest";
163
- readonly __ingestNextId: "__ingestNextId";
164
- readonly engineInternal: "engineInternal";
165
- readonly liveObject: "liveObject";
166
- readonly editorHelper: "editorHelper";
167
- readonly editorHelperType: "editorHelperType";
168
- readonly editorIcon: "editorIcon";
169
- readonly skeletonVisible: "skeletonVisible";
170
- readonly skeletonEnabled: "skeletonEnabled";
171
- readonly envObject: "envObject";
172
- readonly vcDirIdx: "vcDirIdx";
173
- };
174
- /**
175
- * Read a typed `userData` value. Returns `undefined` when the key is unset or
176
- * when `obj` is nullish (so call sites can pass an optionally-resolved object).
177
- */
178
- export declare function getUserData<K extends UserDataKey>(obj: THREE.Object3D | null | undefined, key: K): UserDataSchema[K] | undefined;
179
- /** Write a typed `userData` value. */
180
- export declare function setUserData<K extends UserDataKey>(obj: THREE.Object3D, key: K, value: UserDataSchema[K]): void;
181
- /** True when `key` is set (not `undefined`) on the object's `userData`. */
182
- export declare function hasUserData(obj: THREE.Object3D | null | undefined, key: UserDataKey): boolean;
183
- /** Remove a `userData` key. */
184
- export declare function deleteUserData(obj: THREE.Object3D, key: UserDataKey): void;
185
- //# sourceMappingURL=user-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-data.d.ts","sourceRoot":"","sources":["../../src/scene/user-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,GACT,WAAW,CAAC;AAEhB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;IAC/C,OAAO,EAAE,UAAU,GAAG,UAAU,CAAC;IACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;IACtB,eAAe,EAAE,cAAc,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,sBAAsB,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;IACxE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/C,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCuB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,SAAS,EACtC,GAAG,EAAE,CAAC,GACL,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAE/B;AAED,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,GAAG,EAAE,KAAK,CAAC,QAAQ,EACnB,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GACvB,IAAI,CAEN;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAE7F;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAE1E"}
@@ -1,144 +0,0 @@
1
- /**
2
- * Typed registry for `Object3D.userData` keys used by the engine and editor.
3
- *
4
- * Three.js lets any code stash arbitrary values on `object.userData`, and over
5
- * time the engine + editor accumulated ~20 stringly-typed keys that together
6
- * form a *parallel object model* — meaning carried entirely in undocumented
7
- * string literals. This module is the ONE documented place that lists every
8
- * such key, its value type, and what it means. All engine/editor-internal
9
- * `userData` access for these keys must go through {@link getUserData} /
10
- * {@link setUserData} / {@link hasUserData} / {@link deleteUserData} so the key
11
- * strings live in exactly one place and are type-checked at every call site.
12
- *
13
- * NOTE: This covers engine/editor *internal* keys only. User game code in the
14
- * example template may stash its own ad-hoc keys; those are out of scope.
15
- *
16
- * ## Key reference
17
- *
18
- * Serialization / identity (load-bearing — editor identity + scene I/O):
19
- * - `entity` — the full {@link SceneEntity} descriptor backing this
20
- * Object3D. Source of truth the editor reads/writes and
21
- * the serializer walks to rebuild `.vscn.json`.
22
- * - `entityId` — the entity's stable string id. Presence also marks an
23
- * Object3D as a "real" entity (vs editor helper/env object).
24
- *
25
- * Runtime scene-query overrides (read by `scene-query.ts`):
26
- * - `tags` — string[] tag override; falls back to `entity.tags`.
27
- * - `components` — component record or name[] override; falls back to
28
- * `entity.components`.
29
- *
30
- * Runtime gameplay metadata (set by the scene loader):
31
- * - `navRole` — `'walkable' | 'obstacle'` navmesh role; collected at runtime.
32
- * - `pivot` — `[x,y,z]` local-space pivot for rotate/scale-around-pivot.
33
- * - `splineCurve` — resolved THREE curve built from the entity's spline.
34
- * - `_camera` — THREE.Camera owned by a camera entity (collected on load).
35
- * - `_particleSystem` — three.quarks ParticleSystem (scene-sync registration + census).
36
- *
37
- * Animation (load-bearing — ED5 disposal contract):
38
- * - `_animMixer` — THREE.AnimationMixer driving this subtree's clips.
39
- * - `_animClips` — Map<string, AnimationClip> discovered on the GLTF (E5 —
40
- * lets a GameComponent build its own XState-driven
41
- * binding via `bindXStateAnimation` over the SAME
42
- * mixer; see xstate-animation-binding.ts).
43
- * - `_availableClips` — string[] of clip names discovered on the GLTF
44
- * (inspector dropdown; same names as `_animClips`' keys).
45
- * - `_xstateAnimation` — live native XState/Three binding exposed for
46
- * play-mode inspection; removed when binding disposes.
47
- *
48
- * Disposal contract:
49
- * - `__sharedGeometry` — `true` when a mesh's geometry is shared/cached and MUST
50
- * NOT be disposed by per-object cleanup (P0.2 contract).
51
- *
52
- * Editor shading overrides (editor-only, see `scene-sync.ts`):
53
- * - `__shadeOrig` — original material(s) stashed before a shading override.
54
- * - `__shadeUnlit` — generated unlit material(s) for the unlit view mode.
55
- *
56
- * Custom-shader materials (see `material-registry.ts`):
57
- * - `__matDef` — name of the registered custom-material definition.
58
- * - `__uniforms` — authored uniform values passed to the def's update().
59
- *
60
- * Instancing (see `instance-registry.ts`):
61
- * - `__instancer` — name of the registered instancer that built the mesh.
62
- *
63
- * Unmodified-game ingestion (editor-only, see `editor/src/ingest/`):
64
- * - `__ingest` — `true` on every Object3D minted by ingestion (vs the
65
- * first-party scene loader); routes edits to live
66
- * mutation instead of descriptor rebuild.
67
- * - `__ingestNextId` — monotonic id counter stashed on the captured Scene
68
- * root so re-reflects keep minting unique ids.
69
- *
70
- * Editor scene-graph tagging (editor-only):
71
- * - `engineInternal` — `true` on engine-owned infrastructure in the game scene
72
- * (particle BatchedRenderer, debug-draw + its subtree).
73
- * The editor's play-mode hierarchy skips these so they
74
- * don't show up as selectable "entities".
75
- * - `liveObject` — `true` on a runtime/procedural Object3D that the editor
76
- * surfaced in the play-mode hierarchy with a *synthetic*
77
- * descriptor (it has no `.vscn` record). Marks it as
78
- * ephemeral: selectable/movable for testing, never saved.
79
- * - `editorHelper` — `true` for editor-only helper objects (gizmos, wireframes).
80
- * - `editorHelperType` — which kind of helper (lights/particles/pivot/navmesh/...).
81
- * - `editorIcon` — `true` for editor billboard icon sprites.
82
- * - `skeletonVisible` — per-entity editor preference for its bone overlay.
83
- * - `skeletonEnabled` — resolved visibility preference on a skeleton helper.
84
- * - `envObject` — `true` for environment objects (ambient light, etc.).
85
- * - `splineControlPoint` — index of a spline control-point drag handle.
86
- * - `vcDirIdx` — view-cube face direction index (0=+X,1=-X,2=+Y,...).
87
- */
88
- /**
89
- * Canonical name → literal `userData` string key. The accessor names match the
90
- * raw string keys 1:1 (this is the documented set referenced by the AC), so the
91
- * literal strings appear in exactly this one place.
92
- */
93
- export const UserDataKeys = {
94
- entity: 'entity',
95
- entityId: 'entityId',
96
- tags: 'tags',
97
- components: 'components',
98
- navRole: 'navRole',
99
- pivot: 'pivot',
100
- splineCurve: 'splineCurve',
101
- splineControlPoint: 'splineControlPoint',
102
- _camera: '_camera',
103
- _particleSystem: '_particleSystem',
104
- _animMixer: '_animMixer',
105
- _animClips: '_animClips',
106
- _availableClips: '_availableClips',
107
- _xstateAnimation: '_xstateAnimation',
108
- __sharedGeometry: '__sharedGeometry',
109
- __shadeOrig: '__shadeOrig',
110
- __shadeUnlit: '__shadeUnlit',
111
- __matDef: '__matDef',
112
- __uniforms: '__uniforms',
113
- __instancer: '__instancer',
114
- __ingest: '__ingest',
115
- __ingestNextId: '__ingestNextId',
116
- engineInternal: 'engineInternal',
117
- liveObject: 'liveObject',
118
- editorHelper: 'editorHelper',
119
- editorHelperType: 'editorHelperType',
120
- editorIcon: 'editorIcon',
121
- skeletonVisible: 'skeletonVisible',
122
- skeletonEnabled: 'skeletonEnabled',
123
- envObject: 'envObject',
124
- vcDirIdx: 'vcDirIdx',
125
- };
126
- /**
127
- * Read a typed `userData` value. Returns `undefined` when the key is unset or
128
- * when `obj` is nullish (so call sites can pass an optionally-resolved object).
129
- */
130
- export function getUserData(obj, key) {
131
- return obj ? obj.userData[UserDataKeys[key]] : undefined;
132
- }
133
- /** Write a typed `userData` value. */
134
- export function setUserData(obj, key, value) {
135
- obj.userData[UserDataKeys[key]] = value;
136
- }
137
- /** True when `key` is set (not `undefined`) on the object's `userData`. */
138
- export function hasUserData(obj, key) {
139
- return obj ? obj.userData[UserDataKeys[key]] !== undefined : false;
140
- }
141
- /** Remove a `userData` key. */
142
- export function deleteUserData(obj, key) {
143
- delete obj.userData[UserDataKeys[key]];
144
- }
@@ -1,20 +0,0 @@
1
- import * as THREE from 'three';
2
- export interface AudioContext {
3
- listener: THREE.AudioListener;
4
- masterGain: GainNode;
5
- buses: {
6
- music: GainNode;
7
- sfx: GainNode;
8
- voice: GainNode;
9
- };
10
- /** Call this on first user interaction (click/key) to resume audio context */
11
- resume: () => void;
12
- }
13
- /**
14
- * Creates the audio listener and bus hierarchy.
15
- *
16
- * Bus routing: music/sfx/voice → master → destination
17
- * Attach `listener` to the active camera: `camera.add(audioCtx.listener)`.
18
- */
19
- export declare function setupAudio(camera: THREE.Camera): AudioContext;
20
- //# sourceMappingURL=setup-audio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-audio.d.ts","sourceRoot":"","sources":["../../src/setup/setup-audio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE;QACL,KAAK,EAAE,QAAQ,CAAC;QAChB,GAAG,EAAE,QAAQ,CAAC;QACd,KAAK,EAAE,QAAQ,CAAC;KACjB,CAAC;IACF,8EAA8E;IAC9E,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAuC7D"}
@@ -1,41 +0,0 @@
1
- import * as THREE from 'three';
2
- /**
3
- * Creates the audio listener and bus hierarchy.
4
- *
5
- * Bus routing: music/sfx/voice → master → destination
6
- * Attach `listener` to the active camera: `camera.add(audioCtx.listener)`.
7
- */
8
- export function setupAudio(camera) {
9
- const listener = new THREE.AudioListener();
10
- camera.add(listener);
11
- const ctx = listener.context;
12
- const masterGain = ctx.createGain();
13
- masterGain.connect(ctx.destination);
14
- // Route the Three.js listener through masterGain so that THREE.Audio /
15
- // THREE.PositionalAudio objects are also silenced by the mute button.
16
- listener.gain.disconnect();
17
- listener.gain.connect(masterGain);
18
- const musicGain = ctx.createGain();
19
- musicGain.gain.value = 0.7;
20
- musicGain.connect(masterGain);
21
- const sfxGain = ctx.createGain();
22
- sfxGain.gain.value = 1.0;
23
- sfxGain.connect(masterGain);
24
- const voiceGain = ctx.createGain();
25
- voiceGain.gain.value = 1.0;
26
- voiceGain.connect(masterGain);
27
- return {
28
- listener,
29
- masterGain,
30
- buses: {
31
- music: musicGain,
32
- sfx: sfxGain,
33
- voice: voiceGain,
34
- },
35
- resume() {
36
- if (ctx.state === 'suspended') {
37
- ctx.resume();
38
- }
39
- },
40
- };
41
- }
@@ -1,17 +0,0 @@
1
- import type * as THREE from 'three';
2
- import { BatchedRenderer } from 'three.quarks';
3
- export interface ParticlesContext {
4
- batchedRenderer: BatchedRenderer;
5
- }
6
- /**
7
- * Creates the three.quarks BatchedRenderer for GPU particle systems.
8
- *
9
- * three.quarks renders all particle systems in a single draw call via instancing.
10
- * Add particle systems to the batchedRenderer, not directly to the scene.
11
- *
12
- * Usage:
13
- * const particles = setupParticles(scene);
14
- * // In render loop: particles.batchedRenderer.update(dt);
15
- */
16
- export declare function setupParticles(scene: THREE.Scene): ParticlesContext;
17
- //# sourceMappingURL=setup-particles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-particles.d.ts","sourceRoot":"","sources":["../../src/setup/setup-particles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAKnE"}
@@ -1,16 +0,0 @@
1
- import { BatchedRenderer } from 'three.quarks';
2
- /**
3
- * Creates the three.quarks BatchedRenderer for GPU particle systems.
4
- *
5
- * three.quarks renders all particle systems in a single draw call via instancing.
6
- * Add particle systems to the batchedRenderer, not directly to the scene.
7
- *
8
- * Usage:
9
- * const particles = setupParticles(scene);
10
- * // In render loop: particles.batchedRenderer.update(dt);
11
- */
12
- export function setupParticles(scene) {
13
- const batchedRenderer = new BatchedRenderer();
14
- scene.add(batchedRenderer);
15
- return { batchedRenderer };
16
- }
@@ -1,25 +0,0 @@
1
- import type RAPIER from '@dimforge/rapier3d-compat';
2
- import * as THREE from 'three';
3
- export interface PhysicsContext {
4
- rapierWorld: RAPIER.World;
5
- eventQueue: RAPIER.EventQueue;
6
- debugMesh: THREE.LineSegments;
7
- debugEnabled: boolean;
8
- }
9
- /**
10
- * Creates the Rapier physics world and debug visualization.
11
- *
12
- * Call RAPIER.init() before this function.
13
- * This is direct Rapier setup — no abstraction. Edit freely.
14
- */
15
- export declare function setupPhysics(rapier: typeof RAPIER, scene: THREE.Scene, gravity?: {
16
- x: number;
17
- y: number;
18
- z: number;
19
- }): PhysicsContext;
20
- /**
21
- * Update the debug line visualization from Rapier's debug render data.
22
- * Call this each frame if debug is enabled.
23
- */
24
- export declare function updatePhysicsDebug(rapierWorld: RAPIER.World, debugMesh: THREE.LineSegments): void;
25
- //# sourceMappingURL=setup-physics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-physics.d.ts","sourceRoot":"","sources":["../../src/setup/setup-physics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;IAC9B,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,MAAM,EACrB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA6B,GACtE,cAAc,CAiBhB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,QAuB1F"}
@@ -1,51 +0,0 @@
1
- import * as THREE from 'three';
2
- /**
3
- * Creates the Rapier physics world and debug visualization.
4
- *
5
- * Call RAPIER.init() before this function.
6
- * This is direct Rapier setup — no abstraction. Edit freely.
7
- */
8
- export function setupPhysics(rapier, scene, gravity = { x: 0, y: -9.81, z: 0 }) {
9
- const rapierWorld = new rapier.World(gravity);
10
- const eventQueue = new rapier.EventQueue(true);
11
- // Debug visualization (toggled at runtime)
12
- const debugGeometry = new THREE.BufferGeometry();
13
- const debugMaterial = new THREE.LineBasicMaterial({ color: 0x00ff00, vertexColors: true });
14
- const debugMesh = new THREE.LineSegments(debugGeometry, debugMaterial);
15
- debugMesh.visible = false;
16
- scene.add(debugMesh);
17
- return {
18
- rapierWorld,
19
- eventQueue,
20
- debugMesh,
21
- debugEnabled: false,
22
- };
23
- }
24
- /**
25
- * Update the debug line visualization from Rapier's debug render data.
26
- * Call this each frame if debug is enabled.
27
- */
28
- export function updatePhysicsDebug(rapierWorld, debugMesh) {
29
- const buffers = rapierWorld.debugRender();
30
- const geom = debugMesh.geometry;
31
- // Reuse the existing BufferAttributes whenever the vertex count is stable
32
- // (the common case). Allocating a new Float32Array + BufferAttribute every
33
- // frame orphaned a fresh GPU buffer each time. We only allocate when the
34
- // size actually changes.
35
- const posAttr = geom.getAttribute('position');
36
- if (posAttr && posAttr.array.length === buffers.vertices.length) {
37
- posAttr.array.set(buffers.vertices);
38
- posAttr.needsUpdate = true;
39
- }
40
- else {
41
- geom.setAttribute('position', new THREE.BufferAttribute(new Float32Array(buffers.vertices), 3));
42
- }
43
- const colAttr = geom.getAttribute('color');
44
- if (colAttr && colAttr.array.length === buffers.colors.length) {
45
- colAttr.array.set(buffers.colors);
46
- colAttr.needsUpdate = true;
47
- }
48
- else {
49
- geom.setAttribute('color', new THREE.BufferAttribute(new Float32Array(buffers.colors), 4));
50
- }
51
- }
@@ -1,69 +0,0 @@
1
- import { EffectComposer } from 'postprocessing';
2
- import * as THREE from 'three';
3
- import { type RenderScope } from '../render/render-settings';
4
- import type { SceneEnvironment } from '../scene/scene-types';
5
- export interface RendererContext {
6
- renderer: THREE.WebGLRenderer;
7
- scene: THREE.Scene;
8
- camera: THREE.PerspectiveCamera;
9
- composer: EffectComposer;
10
- }
11
- /**
12
- * Apply the live renderer-level render settings (shadows, resolution scale) from
13
- * the resolved cascade. `antialias`/`backend` are reload-only (renderer re-init)
14
- * and are handled at construction, not here. Pass the scene `rendering` scope
15
- * (e.g. `env.rendering`); absent values fall back to the registry defaults so
16
- * behavior is unchanged when a scene omits `rendering`.
17
- *
18
- * `basePixelRatio` is the call-site's native pixel-ratio policy (the runtime caps
19
- * at 2; the editor uses the raw devicePixelRatio); `resolutionScale` multiplies it.
20
- */
21
- export declare function applyRendererSettings(renderer: THREE.WebGLRenderer, rendering?: RenderScope, basePixelRatio?: number): void;
22
- /**
23
- * Create ONLY the WebGL renderer. The HOST owns the renderer (see
24
- * `HostContext.renderer`); the game/adapter owns the scene/camera/composer it
25
- * renders into. Split out of `setupRenderer` for the adapter inversion.
26
- *
27
- * `rendering` is the scene-level render scope (`env.rendering`); it seeds the
28
- * reload-only `antialias` option at construction and the live shadow/resolution
29
- * settings (via {@link applyRendererSettings}). Absent → registry defaults.
30
- *
31
- * `opts` is additive (T6.1 slice 1, COMPOSITION-DESIGN.md D5 §1/§4): omitted
32
- * entirely, construction is byte-identical to before (no `alpha`/
33
- * `preserveDrawingBuffer` keys at all) — the legacy single-canvas host never
34
- * passes it. The roots path passes `alpha:true` for every stacked canvas
35
- * above the bottom one (so its clear-alpha-0 shows the layer below through
36
- * it) and `preserveDrawingBuffer:true` for every stacked canvas (the
37
- * recorded capture-tier cost, paid once here rather than re-derived later).
38
- */
39
- export declare function createHostRenderer(canvas: HTMLCanvasElement, width?: number, height?: number, rendering?: RenderScope, opts?: {
40
- alpha?: boolean;
41
- preserveDrawingBuffer?: boolean;
42
- }): THREE.WebGLRenderer;
43
- /**
44
- * Create the scene, camera, and postprocessing composer that a first-party game
45
- * renders into, given a host-provided renderer. The GPU-only `composer` is
46
- * created here; a headless host (no GPU) skips this entirely.
47
- */
48
- export declare function createSceneView(renderer: THREE.WebGLRenderer, width?: number, height?: number): {
49
- scene: THREE.Scene;
50
- camera: THREE.PerspectiveCamera;
51
- composer: EffectComposer;
52
- };
53
- /**
54
- * Creates the Three.js renderer, scene, camera, and postprocessing pipeline.
55
- *
56
- * This is direct Three.js setup — no abstraction. Edit freely. (Now a thin
57
- * combination of {@link createHostRenderer} + {@link createSceneView}.)
58
- */
59
- export declare function setupRenderer(canvas: HTMLCanvasElement, width?: number, height?: number): RendererContext;
60
- /**
61
- * Rebuild composer passes from scene environment settings.
62
- * Scenes without toneMapping default to ACES (the runtime default).
63
- * Code can further modify the composer after this call.
64
- *
65
- * Pass objectMap to enable entity-referencing effects (godRays, outline).
66
- * Pass entities to resolve tag-based references (outline).
67
- */
68
- export declare function applyScenePostProcessing(composer: EffectComposer, renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, env?: SceneEnvironment, objectMap?: Map<string, THREE.Object3D>, entityTags?: Map<string, string[]>): void;
69
- //# sourceMappingURL=setup-renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-renderer.d.ts","sourceRoot":"","sources":["../../src/setup/setup-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,cAAc,EAoBf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,2BAA2B,CAAC;AAEpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAChC,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,SAAS,CAAC,EAAE,WAAW,EACvB,cAAc,SAAuC,GACpD,IAAI,CAKN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EACzB,KAAK,SAAoB,EACzB,MAAM,SAAqB,EAC3B,SAAS,CAAC,EAAE,WAAW,EACvB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1D,KAAK,CAAC,aAAa,CAoBrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,KAAK,SAAoB,EACzB,MAAM,SAAqB,GAC1B;IAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAyBnF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,iBAAiB,EACzB,KAAK,SAAoB,EACzB,MAAM,SAAqB,GAC1B,eAAe,CAIjB;AAkBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,CAAC,EAAE,gBAAgB,EACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACjC,IAAI,CAsVN"}