@woosh/meep-engine 3.3.0 → 3.5.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 (886) hide show
  1. package/editor/process/SymbolicDisplayProcess.js +106 -106
  2. package/editor/process/symbolic/{SoundEmitterSymbolicDisplay.js → AudioEmitterSymbolicDisplay.js} +67 -57
  3. package/package.json +94 -94
  4. package/src/DUPLICATION_AUDIT_2026_08_07/F_sound.md +110 -102
  5. package/src/core/bvh2/bvh3/ebvh_build_hierarchy_radix.d.ts +54 -0
  6. package/src/core/bvh2/bvh3/ebvh_build_hierarchy_radix.d.ts.map +1 -1
  7. package/src/core/bvh2/bvh3/ebvh_build_hierarchy_radix.js +10 -3
  8. package/src/engine/Engine.js +2 -2
  9. package/src/engine/EntityCreator.d.ts +19 -11
  10. package/src/engine/EntityCreator.d.ts.map +1 -1
  11. package/src/engine/EntityCreator.js +116 -94
  12. package/src/engine/achievements/AchievementManager.d.ts.map +1 -1
  13. package/src/engine/achievements/AchievementManager.js +437 -433
  14. package/src/engine/animation/AnimatedActions.d.ts +6 -1
  15. package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
  16. package/src/engine/animation/AnimatedActions.js +111 -81
  17. package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
  18. package/src/engine/animation/AnimationUtils.js +234 -252
  19. package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +275 -269
  20. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
  21. package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +26 -5
  22. package/src/engine/ecs/util/hideEntityGracefully.d.ts.map +1 -1
  23. package/src/engine/ecs/util/hideEntityGracefully.js +196 -208
  24. package/src/engine/graphics/CONTEXT_LOSS_RECOVERY_PLAN.md +1 -1
  25. package/src/engine/graphics3/GraphicsEngine3.d.ts +7 -0
  26. package/src/engine/graphics3/GraphicsEngine3.d.ts.map +1 -1
  27. package/src/engine/graphics3/GraphicsEngine3.js +9 -0
  28. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +3 -1
  29. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  30. package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +4 -2
  31. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  32. package/src/engine/sound/SOUND_EMITTER_RETIREMENT_PLAN.md +536 -0
  33. package/src/engine/sound/SoundEngine.d.ts +2 -2
  34. package/src/engine/sound/SoundEngine.js +124 -124
  35. package/src/engine/sound/ecs/audio/AudioEmitter.d.ts +20 -0
  36. package/src/engine/sound/ecs/audio/AudioEmitter.d.ts.map +1 -1
  37. package/src/engine/sound/ecs/audio/AudioEmitter.js +25 -2
  38. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +6 -6
  39. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  40. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +338 -314
  41. package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts +143 -0
  42. package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts.map +1 -0
  43. package/src/engine/sound/ecs/trigger/AudioEventTrigger.js +191 -0
  44. package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.d.ts +33 -0
  45. package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.d.ts.map +1 -0
  46. package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.js +81 -0
  47. package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts +65 -0
  48. package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts.map +1 -0
  49. package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.js +184 -0
  50. package/src/engine/sound/sopra/IMPLEMENTATION_PLAN.md +999 -993
  51. package/src/engine/sound/sopra/README.md +644 -643
  52. package/src/engine/sound/sopra/SopraEngine.d.ts +2 -2
  53. package/src/engine/sound/sopra/SopraEngine.js +432 -432
  54. package/src/engine/sound/sopra/legacy/SoundAttenuationFunction.d.ts.map +1 -0
  55. package/src/engine/sound/{ecs → sopra/legacy}/SoundController.d.ts +3 -3
  56. package/src/engine/sound/sopra/legacy/SoundController.d.ts.map +1 -0
  57. package/src/engine/sound/{ecs → sopra/legacy}/SoundController.js +176 -176
  58. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitter.d.ts +11 -27
  59. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -0
  60. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitter.js +352 -382
  61. package/src/engine/sound/sopra/legacy/SoundEmitterFlags.d.ts.map +1 -0
  62. package/src/engine/sound/sopra/legacy/SoundEmitterSerializationAdapter.d.ts.map +1 -0
  63. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.d.ts.map +1 -1
  64. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.d.ts.map +1 -1
  65. package/src/engine/sound/sopra/legacy/SoundPanningModelType.d.ts.map +1 -0
  66. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrack.d.ts +11 -55
  67. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -0
  68. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrack.js +278 -357
  69. package/src/engine/sound/sopra/legacy/SoundTrackFlags.d.ts.map +1 -0
  70. package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.d.ts +34 -0
  71. package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.d.ts.map +1 -0
  72. package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.js +279 -0
  73. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts +3 -3
  74. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts.map +1 -1
  75. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.js +122 -122
  76. package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
  77. package/src/shade/device/mock/SoftwareGPUDevice.js +7 -1
  78. package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
  79. package/src/shade/device/timing/GPUTimerArray.js +10 -0
  80. package/src/shade/playground/add_random_meshes.d.ts +19 -3
  81. package/src/shade/playground/add_random_meshes.d.ts.map +1 -1
  82. package/src/shade/playground/add_random_meshes.js +132 -84
  83. package/src/shade/playground/bvh_repro/README.md +57 -0
  84. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts +33 -0
  85. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -0
  86. package/src/shade/playground/bvh_repro/bvh_repro_device.js +90 -0
  87. package/src/shade/playground/bvh_repro/index.html +124 -0
  88. package/src/shade/playground/bvh_repro/main.d.ts.map +1 -0
  89. package/src/shade/playground/bvh_repro/main.js +254 -0
  90. package/src/shade/playground/load_default_environment.d.ts +10 -1
  91. package/src/shade/playground/load_default_environment.d.ts.map +1 -1
  92. package/src/shade/playground/load_default_environment.js +44 -20
  93. package/src/shade/playground/make_playground_asset_manager.d.ts +16 -0
  94. package/src/shade/playground/make_playground_asset_manager.d.ts.map +1 -0
  95. package/src/shade/playground/make_playground_asset_manager.js +33 -0
  96. package/src/shade/playground/skinned_blas_refit/README.md +126 -0
  97. package/src/shade/playground/skinned_blas_refit/add_floor.d.ts +47 -0
  98. package/src/shade/playground/skinned_blas_refit/add_floor.d.ts.map +1 -0
  99. package/src/shade/playground/skinned_blas_refit/add_floor.js +71 -0
  100. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.d.ts +28 -0
  101. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.d.ts.map +1 -0
  102. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.js +745 -0
  103. package/src/shade/playground/skinned_blas_refit/flat_environment.d.ts +30 -0
  104. package/src/shade/playground/skinned_blas_refit/flat_environment.d.ts.map +1 -0
  105. package/src/shade/playground/skinned_blas_refit/flat_environment.js +67 -0
  106. package/src/shade/playground/skinned_blas_refit/index.html +168 -0
  107. package/src/shade/playground/skinned_blas_refit/main.d.ts +8 -0
  108. package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -0
  109. package/src/shade/playground/skinned_blas_refit/main.js +502 -0
  110. package/src/shade/playground/skinned_blas_refit/place_character.d.ts +82 -0
  111. package/src/shade/playground/skinned_blas_refit/place_character.d.ts.map +1 -0
  112. package/src/shade/playground/skinned_blas_refit/place_character.js +117 -0
  113. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts +21 -0
  114. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts.map +1 -0
  115. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.js +104 -0
  116. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.d.ts +23 -0
  117. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.d.ts.map +1 -0
  118. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.js +94 -0
  119. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.d.ts +26 -0
  120. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.d.ts.map +1 -0
  121. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.js +134 -0
  122. package/src/shade/playground/skinned_blas_refit/sweep_views.d.ts +40 -0
  123. package/src/shade/playground/skinned_blas_refit/sweep_views.d.ts.map +1 -0
  124. package/src/shade/playground/skinned_blas_refit/sweep_views.js +135 -0
  125. package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts +31 -0
  126. package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts.map +1 -0
  127. package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.js +240 -0
  128. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts +20 -0
  129. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts.map +1 -0
  130. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.js +202 -0
  131. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts +50 -0
  132. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -0
  133. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +366 -0
  134. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.d.ts +17 -0
  135. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.d.ts.map +1 -0
  136. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +249 -0
  137. package/src/shade/playground/sponza_path_trace/README.md +57 -0
  138. package/src/shade/playground/sponza_path_trace/index.html +164 -0
  139. package/src/shade/playground/sponza_path_trace/main.d.ts +8 -0
  140. package/src/shade/playground/sponza_path_trace/main.d.ts.map +1 -0
  141. package/src/shade/playground/sponza_path_trace/main.js +363 -0
  142. package/src/shade/renderer/Renderer.d.ts +16 -0
  143. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  144. package/src/shade/renderer/Renderer.js +23 -4
  145. package/src/shade/renderer/animation/GPUAnimationManager.d.ts +5 -1
  146. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  147. package/src/shade/renderer/animation/GPUAnimationManager.js +28 -3
  148. package/src/shade/renderer/animation/Skin.d.ts +9 -7
  149. package/src/shade/renderer/animation/Skin.d.ts.map +1 -1
  150. package/src/shade/renderer/animation/Skin.js +9 -7
  151. package/src/shade/renderer/animation/compute_skin_world_bounds.d.ts +35 -0
  152. package/src/shade/renderer/animation/compute_skin_world_bounds.d.ts.map +1 -0
  153. package/src/shade/renderer/animation/compute_skin_world_bounds.js +146 -0
  154. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
  155. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +41 -0
  156. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  157. package/src/shade/renderer/geometry/GPUGeometryManager.js +65 -15
  158. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +78 -7
  159. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  160. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +302 -77
  161. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts +18 -6
  162. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts.map +1 -1
  163. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js +19 -6
  164. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts +51 -0
  165. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -0
  166. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.js +260 -0
  167. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts +23 -0
  168. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -0
  169. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.js +82 -0
  170. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts +25 -0
  171. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts.map +1 -0
  172. package/src/shade/renderer/geometry/bvh/record_blas_refit.js +102 -0
  173. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts +30 -0
  174. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts.map +1 -0
  175. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.js +122 -0
  176. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.d.ts +55 -0
  177. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.d.ts.map +1 -0
  178. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.js +70 -0
  179. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.d.ts +37 -0
  180. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.d.ts.map +1 -0
  181. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.js +45 -0
  182. package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +1115 -0
  183. package/src/shade/renderer/gpu_primitive/bvh/PHASE1_HANDOVER.md +201 -0
  184. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts +88 -0
  185. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -0
  186. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.js +233 -0
  187. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts +18 -0
  188. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts.map +1 -0
  189. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.js +38 -0
  190. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts +16 -0
  191. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts.map +1 -0
  192. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.js +79 -0
  193. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts +16 -0
  194. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts.map +1 -0
  195. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.js +49 -0
  196. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts +43 -0
  197. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts.map +1 -0
  198. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.js +217 -0
  199. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts +24 -0
  200. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts.map +1 -0
  201. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.js +143 -0
  202. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts +17 -0
  203. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts.map +1 -0
  204. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.js +83 -0
  205. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts +24 -0
  206. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts.map +1 -0
  207. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js +141 -0
  208. package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.d.ts +31 -0
  209. package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.d.ts.map +1 -0
  210. package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.js +422 -0
  211. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.d.ts.map +1 -1
  212. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.js +1 -2
  213. package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.d.ts +9 -0
  214. package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.d.ts.map +1 -0
  215. package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.js +23 -0
  216. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.d.ts +18 -0
  217. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.d.ts.map +1 -0
  218. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.js +32 -0
  219. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.d.ts +27 -0
  220. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.d.ts.map +1 -0
  221. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.js +41 -0
  222. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.d.ts +25 -0
  223. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.d.ts.map +1 -0
  224. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.js +74 -0
  225. package/src/shade/renderer/gpu_primitive/sort/defs.d.ts +71 -0
  226. package/src/shade/renderer/gpu_primitive/sort/defs.d.ts.map +1 -0
  227. package/src/shade/renderer/gpu_primitive/sort/defs.js +79 -0
  228. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts +37 -0
  229. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts.map +1 -0
  230. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.js +197 -0
  231. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.d.ts +16 -0
  232. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.d.ts.map +1 -0
  233. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.js +85 -0
  234. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.d.ts +15 -0
  235. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.d.ts.map +1 -0
  236. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.js +192 -0
  237. package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.d.ts +12 -0
  238. package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.d.ts.map +1 -0
  239. package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.js +188 -0
  240. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +16 -4
  241. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
  242. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +235 -24
  243. package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
  244. package/src/shade/renderer/scene/GPUSceneContext.js +15 -3
  245. package/src/shade/renderer/scene/SkinnedMesh.d.ts +57 -11
  246. package/src/shade/renderer/scene/SkinnedMesh.d.ts.map +1 -1
  247. package/src/shade/renderer/scene/SkinnedMesh.js +111 -11
  248. package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.d.ts +22 -0
  249. package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.d.ts.map +1 -0
  250. package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.js +145 -0
  251. package/src/shade/renderer/scene/verify_gpu_tlas_build.d.ts +18 -0
  252. package/src/shade/renderer/scene/verify_gpu_tlas_build.d.ts.map +1 -0
  253. package/src/shade/renderer/scene/verify_gpu_tlas_build.js +364 -0
  254. package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.d.ts +9 -1
  255. package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.d.ts.map +1 -1
  256. package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.js +29 -21
  257. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.d.ts +22 -0
  258. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.d.ts.map +1 -0
  259. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.js +31 -0
  260. package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_ray.d.ts.map +1 -1
  261. package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_ray.js +87 -39
  262. package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.d.ts +17 -0
  263. package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.d.ts.map +1 -0
  264. package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.js +40 -0
  265. package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts +15 -0
  266. package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts.map +1 -0
  267. package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.js +52 -0
  268. package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.d.ts +9 -0
  269. package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.d.ts.map +1 -1
  270. package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.js +9 -0
  271. package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.d.ts +20 -0
  272. package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.d.ts.map +1 -1
  273. package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.js +52 -34
  274. package/src/shade/renderer/texture/virtual/README.md +255 -276
  275. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
  276. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +66 -2
  277. package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
  278. package/src/shade/wgsl/emulator/WGSLLanguageCore.js +83 -0
  279. package/src/view/graphics/{WebGLContextFailureView.d.ts → GraphicsContextFailureView.d.ts} +2 -2
  280. package/src/view/graphics/GraphicsContextFailureView.d.ts.map +1 -0
  281. package/src/view/graphics/{WebGLContextFailureView.js → GraphicsContextFailureView.js} +1 -1
  282. package/src/view/interaction/InterfaceCommand.d.ts +8 -8
  283. package/src/view/interaction/InterfaceCommand.d.ts.map +1 -1
  284. package/src/view/interaction/InterfaceCommand.js +146 -146
  285. package/src/view/interaction/createInterfaceCommandButton.d.ts.map +1 -1
  286. package/src/view/interaction/createInterfaceCommandButton.js +115 -124
  287. package/src/core/geom/3d/aabb/aabb3_from_three_geometry.d.ts +0 -7
  288. package/src/core/geom/3d/aabb/aabb3_from_three_geometry.d.ts.map +0 -1
  289. package/src/core/geom/3d/aabb/aabb3_from_three_geometry.js +0 -18
  290. package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.d.ts +0 -7
  291. package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.d.ts.map +0 -1
  292. package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.js +0 -7
  293. package/src/engine/ecs/components/Timer.d.ts +0 -50
  294. package/src/engine/ecs/components/Timer.d.ts.map +0 -1
  295. package/src/engine/ecs/components/Timer.js +0 -80
  296. package/src/engine/ecs/evaluation/PointFitnessBinary.d.ts +0 -22
  297. package/src/engine/ecs/evaluation/PointFitnessBinary.d.ts.map +0 -1
  298. package/src/engine/ecs/evaluation/PointFitnessBinary.js +0 -33
  299. package/src/engine/ecs/evaluation/PointFitnessConstant.d.ts +0 -12
  300. package/src/engine/ecs/evaluation/PointFitnessConstant.d.ts.map +0 -1
  301. package/src/engine/ecs/evaluation/PointFitnessConstant.js +0 -27
  302. package/src/engine/ecs/evaluation/PointFitnessFunction.d.ts +0 -17
  303. package/src/engine/ecs/evaluation/PointFitnessFunction.d.ts.map +0 -1
  304. package/src/engine/ecs/evaluation/PointFitnessFunction.js +0 -20
  305. package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.d.ts +0 -12
  306. package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.d.ts.map +0 -1
  307. package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.js +0 -27
  308. package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.d.ts +0 -12
  309. package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.d.ts.map +0 -1
  310. package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.js +0 -28
  311. package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.d.ts +0 -50
  312. package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.d.ts.map +0 -1
  313. package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.js +0 -176
  314. package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.d.ts +0 -7
  315. package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.d.ts.map +0 -1
  316. package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.js +0 -68
  317. package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.d.ts +0 -7
  318. package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.d.ts.map +0 -1
  319. package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.js +0 -89
  320. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.d.ts +0 -17
  321. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.d.ts.map +0 -1
  322. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.js +0 -60
  323. package/src/engine/ecs/systems/TimerSystem.d.ts +0 -10
  324. package/src/engine/ecs/systems/TimerSystem.d.ts.map +0 -1
  325. package/src/engine/ecs/systems/TimerSystem.js +0 -86
  326. package/src/engine/ecs/transform/copy_three_transform.d.ts +0 -7
  327. package/src/engine/ecs/transform/copy_three_transform.d.ts.map +0 -1
  328. package/src/engine/ecs/transform/copy_three_transform.js +0 -15
  329. package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.d.ts +0 -13
  330. package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.d.ts.map +0 -1
  331. package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.js +0 -14
  332. package/src/engine/graphics/StandardFrameBuffers.d.ts +0 -7
  333. package/src/engine/graphics/StandardFrameBuffers.d.ts.map +0 -1
  334. package/src/engine/graphics/StandardFrameBuffers.js +0 -9
  335. package/src/engine/graphics/copy_transform_to_threejs_object.d.ts +0 -7
  336. package/src/engine/graphics/copy_transform_to_threejs_object.d.ts.map +0 -1
  337. package/src/engine/graphics/copy_transform_to_threejs_object.js +0 -12
  338. package/src/engine/graphics/ecs/light/binding/LightBinding.d.ts +0 -42
  339. package/src/engine/graphics/ecs/light/binding/LightBinding.d.ts.map +0 -1
  340. package/src/engine/graphics/ecs/light/binding/LightBinding.js +0 -133
  341. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.d.ts +0 -25
  342. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.d.ts.map +0 -1
  343. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.js +0 -90
  344. package/src/engine/graphics/ecs/light/binding/three/applyRotation.d.ts +0 -7
  345. package/src/engine/graphics/ecs/light/binding/three/applyRotation.d.ts.map +0 -1
  346. package/src/engine/graphics/ecs/light/binding/three/applyRotation.js +0 -24
  347. package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.d.ts +0 -7
  348. package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.d.ts.map +0 -1
  349. package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.js +0 -12
  350. package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.d.ts +0 -8
  351. package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.d.ts.map +0 -1
  352. package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.js +0 -41
  353. package/src/engine/graphics/ecs/light/shadow/LightShadow.d.ts +0 -4
  354. package/src/engine/graphics/ecs/light/shadow/LightShadow.d.ts.map +0 -1
  355. package/src/engine/graphics/ecs/light/shadow/LightShadow.js +0 -4
  356. package/src/engine/graphics/ecs/light/shadow/ShadowManager.d.ts +0 -27
  357. package/src/engine/graphics/ecs/light/shadow/ShadowManager.d.ts.map +0 -1
  358. package/src/engine/graphics/ecs/light/shadow/ShadowManager.js +0 -53
  359. package/src/engine/graphics/ecs/light/shadow/ShadowMap.d.ts +0 -8
  360. package/src/engine/graphics/ecs/light/shadow/ShadowMap.d.ts.map +0 -1
  361. package/src/engine/graphics/ecs/light/shadow/ShadowMap.js +0 -7
  362. package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.d.ts +0 -14
  363. package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.d.ts.map +0 -1
  364. package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.js +0 -62
  365. package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts +0 -30
  366. package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts.map +0 -1
  367. package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.js +0 -77
  368. package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.d.ts +0 -13
  369. package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.d.ts.map +0 -1
  370. package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.js +0 -43
  371. package/src/engine/graphics/ecs/light/three/light2type.d.ts +0 -8
  372. package/src/engine/graphics/ecs/light/three/light2type.d.ts.map +0 -1
  373. package/src/engine/graphics/ecs/light/three/light2type.js +0 -20
  374. package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.d.ts +0 -7
  375. package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.d.ts.map +0 -1
  376. package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.js +0 -13
  377. package/src/engine/graphics/ecs/mesh-v2/DeferredBoundsQueue.d.ts +0 -48
  378. package/src/engine/graphics/ecs/mesh-v2/DeferredBoundsQueue.d.ts.map +0 -1
  379. package/src/engine/graphics/ecs/mesh-v2/DeferredBoundsQueue.js +0 -88
  380. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.d.ts +0 -63
  381. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.d.ts.map +0 -1
  382. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.js +0 -314
  383. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.d.ts +0 -67
  384. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.d.ts.map +0 -1
  385. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.js +0 -130
  386. package/src/engine/graphics/ecs/mesh-v2/render/adapters/SGCacheKey.d.ts +0 -42
  387. package/src/engine/graphics/ecs/mesh-v2/render/adapters/SGCacheKey.d.ts.map +0 -1
  388. package/src/engine/graphics/ecs/mesh-v2/render/adapters/SGCacheKey.js +0 -71
  389. package/src/engine/graphics/ecs/mesh-v2/render/optimization/RuntimeDrawMethodOptimizer.d.ts +0 -20
  390. package/src/engine/graphics/ecs/mesh-v2/render/optimization/RuntimeDrawMethodOptimizer.d.ts.map +0 -1
  391. package/src/engine/graphics/ecs/mesh-v2/render/optimization/RuntimeDrawMethodOptimizer.js +0 -123
  392. package/src/engine/graphics/ecs/mesh-v2/three_object_to_entity_composition.d.ts +0 -8
  393. package/src/engine/graphics/ecs/mesh-v2/three_object_to_entity_composition.d.ts.map +0 -1
  394. package/src/engine/graphics/ecs/mesh-v2/three_object_to_entity_composition.js +0 -55
  395. package/src/engine/graphics/impostors/octahedral/util/load_mesh_for_bake.d.ts +0 -12
  396. package/src/engine/graphics/impostors/octahedral/util/load_mesh_for_bake.d.ts.map +0 -1
  397. package/src/engine/graphics/impostors/octahedral/util/load_mesh_for_bake.js +0 -31
  398. package/src/engine/graphics/particles/node-based/codegen/CodeContext.d.ts +0 -20
  399. package/src/engine/graphics/particles/node-based/codegen/CodeContext.d.ts.map +0 -1
  400. package/src/engine/graphics/particles/node-based/codegen/CodeContext.js +0 -47
  401. package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.d.ts +0 -12
  402. package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.d.ts.map +0 -1
  403. package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.js +0 -19
  404. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.d.ts +0 -18
  405. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.d.ts.map +0 -1
  406. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.js +0 -249
  407. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.d.ts +0 -7
  408. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.d.ts.map +0 -1
  409. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.js +0 -8
  410. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.d.ts +0 -7
  411. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.d.ts.map +0 -1
  412. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.js +0 -8
  413. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.d.ts +0 -14
  414. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.d.ts.map +0 -1
  415. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.js +0 -20
  416. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.d.ts +0 -3
  417. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.d.ts.map +0 -1
  418. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.js +0 -58
  419. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.d.ts +0 -3
  420. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.d.ts.map +0 -1
  421. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.js +0 -44
  422. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.d.ts +0 -3
  423. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.d.ts.map +0 -1
  424. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.js +0 -28
  425. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.d.ts +0 -3
  426. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.d.ts.map +0 -1
  427. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.js +0 -28
  428. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.d.ts +0 -3
  429. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.d.ts.map +0 -1
  430. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.js +0 -39
  431. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.d.ts +0 -3
  432. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.d.ts.map +0 -1
  433. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.js +0 -124
  434. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.d.ts +0 -3
  435. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.d.ts.map +0 -1
  436. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.js +0 -30
  437. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts +0 -64
  438. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts.map +0 -1
  439. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.js +0 -131
  440. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.d.ts +0 -32
  441. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.d.ts.map +0 -1
  442. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.js +0 -62
  443. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.d.ts +0 -46
  444. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.d.ts.map +0 -1
  445. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.js +0 -272
  446. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.d.ts +0 -28
  447. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.d.ts.map +0 -1
  448. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.js +0 -57
  449. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.d.ts +0 -32
  450. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.d.ts.map +0 -1
  451. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.js +0 -55
  452. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts +0 -34
  453. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts.map +0 -1
  454. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.js +0 -178
  455. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts +0 -7
  456. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts.map +0 -1
  457. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.js +0 -31
  458. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts +0 -13
  459. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts.map +0 -1
  460. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.js +0 -13
  461. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts +0 -7
  462. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts.map +0 -1
  463. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.js +0 -26
  464. package/src/engine/graphics/particles/node-based/nodes/ReadPosition.d.ts +0 -4
  465. package/src/engine/graphics/particles/node-based/nodes/ReadPosition.d.ts.map +0 -1
  466. package/src/engine/graphics/particles/node-based/nodes/ReadPosition.js +0 -5
  467. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts +0 -6
  468. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts.map +0 -1
  469. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.js +0 -14
  470. package/src/engine/graphics/particles/node-based/nodes/ShaderNode.d.ts +0 -37
  471. package/src/engine/graphics/particles/node-based/nodes/ShaderNode.d.ts.map +0 -1
  472. package/src/engine/graphics/particles/node-based/nodes/ShaderNode.js +0 -73
  473. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts +0 -7
  474. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts.map +0 -1
  475. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.js +0 -30
  476. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts +0 -7
  477. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts.map +0 -1
  478. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.js +0 -30
  479. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts +0 -7
  480. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts.map +0 -1
  481. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.js +0 -32
  482. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts +0 -6
  483. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts.map +0 -1
  484. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.js +0 -15
  485. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts +0 -7
  486. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts.map +0 -1
  487. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.js +0 -27
  488. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts +0 -7
  489. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts.map +0 -1
  490. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.js +0 -25
  491. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts +0 -7
  492. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts.map +0 -1
  493. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.js +0 -26
  494. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts +0 -7
  495. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts.map +0 -1
  496. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.js +0 -25
  497. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts +0 -7
  498. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts.map +0 -1
  499. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.js +0 -25
  500. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts +0 -7
  501. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts.map +0 -1
  502. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.js +0 -25
  503. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts +0 -7
  504. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts.map +0 -1
  505. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.js +0 -25
  506. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts +0 -7
  507. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts.map +0 -1
  508. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.js +0 -39
  509. package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.d.ts +0 -39
  510. package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.d.ts.map +0 -1
  511. package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.js +0 -45
  512. package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.d.ts +0 -9
  513. package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.d.ts.map +0 -1
  514. package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.js +0 -10
  515. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.d.ts +0 -13
  516. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.d.ts.map +0 -1
  517. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.js +0 -14
  518. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.d.ts +0 -50
  519. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.d.ts.map +0 -1
  520. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.js +0 -47
  521. package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.d.ts +0 -51
  522. package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.d.ts.map +0 -1
  523. package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.js +0 -93
  524. package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.d.ts +0 -6
  525. package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.d.ts.map +0 -1
  526. package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.js +0 -23
  527. package/src/engine/graphics/particles/node-based/populateNodeRegistry.d.ts +0 -7
  528. package/src/engine/graphics/particles/node-based/populateNodeRegistry.d.ts.map +0 -1
  529. package/src/engine/graphics/particles/node-based/populateNodeRegistry.js +0 -48
  530. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.d.ts +0 -21
  531. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.d.ts.map +0 -1
  532. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.js +0 -35
  533. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.d.ts +0 -20
  534. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.d.ts.map +0 -1
  535. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.js +0 -35
  536. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.d.ts +0 -14
  537. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.d.ts.map +0 -1
  538. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.js +0 -17
  539. package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.d.ts +0 -5
  540. package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.d.ts.map +0 -1
  541. package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.js +0 -150
  542. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.d.ts +0 -55
  543. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.d.ts.map +0 -1
  544. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.js +0 -105
  545. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.d.ts +0 -49
  546. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.d.ts.map +0 -1
  547. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.js +0 -103
  548. package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.d.ts +0 -4
  549. package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.d.ts.map +0 -1
  550. package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.js +0 -6
  551. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.d.ts +0 -83
  552. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.d.ts.map +0 -1
  553. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.js +0 -188
  554. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.d.ts +0 -123
  555. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.d.ts.map +0 -1
  556. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.js +0 -415
  557. package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts +0 -71
  558. package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts.map +0 -1
  559. package/src/engine/graphics/render/buffer/FrameBufferManager.js +0 -229
  560. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts +0 -22
  561. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts.map +0 -1
  562. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.js +0 -84
  563. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts +0 -33
  564. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts.map +0 -1
  565. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.js +0 -61
  566. package/src/engine/graphics/render/forward_plus/SPECIFICATION.md +0 -155
  567. package/src/engine/graphics/render/forward_plus/assign_cluster.d.ts +0 -29
  568. package/src/engine/graphics/render/forward_plus/assign_cluster.d.ts.map +0 -1
  569. package/src/engine/graphics/render/forward_plus/assign_cluster.js +0 -124
  570. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.d.ts +0 -7
  571. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.d.ts.map +0 -1
  572. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.js +0 -17
  573. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.d.ts +0 -7
  574. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.d.ts.map +0 -1
  575. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.js +0 -17
  576. package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.d.ts +0 -9
  577. package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.d.ts.map +0 -1
  578. package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.js +0 -29
  579. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.d.ts +0 -12
  580. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.d.ts.map +0 -1
  581. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.js +0 -43
  582. package/src/engine/graphics/render/forward_plus/computeFrustumCorners.d.ts +0 -8
  583. package/src/engine/graphics/render/forward_plus/computeFrustumCorners.d.ts.map +0 -1
  584. package/src/engine/graphics/render/forward_plus/computeFrustumCorners.js +0 -68
  585. package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.d.ts +0 -4
  586. package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.d.ts.map +0 -1
  587. package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.js +0 -46
  588. package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.d.ts +0 -14
  589. package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.d.ts.map +0 -1
  590. package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.js +0 -327
  591. package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.d.ts +0 -2
  592. package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.d.ts.map +0 -1
  593. package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.js +0 -1
  594. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.d.ts +0 -2
  595. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.d.ts.map +0 -1
  596. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.js +0 -40
  597. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.d.ts +0 -2
  598. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.d.ts.map +0 -1
  599. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.js +0 -74
  600. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.d.ts +0 -2
  601. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.d.ts.map +0 -1
  602. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.js +0 -55
  603. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.d.ts +0 -2
  604. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.d.ts.map +0 -1
  605. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.js +0 -11
  606. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.d.ts +0 -2
  607. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.d.ts.map +0 -1
  608. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.js +0 -34
  609. package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.d.ts +0 -7
  610. package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.d.ts.map +0 -1
  611. package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.js +0 -60
  612. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.d.ts +0 -7
  613. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.d.ts.map +0 -1
  614. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.js +0 -38
  615. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.d.ts +0 -7
  616. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.d.ts.map +0 -1
  617. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.js +0 -30
  618. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts +0 -51
  619. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts.map +0 -1
  620. package/src/engine/graphics/render/forward_plus/model/Decal.js +0 -133
  621. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts +0 -16
  622. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts.map +0 -1
  623. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.js +0 -18
  624. package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.d.ts +0 -7
  625. package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.d.ts.map +0 -1
  626. package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.js +0 -8
  627. package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.d.ts +0 -10
  628. package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.d.ts.map +0 -1
  629. package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.js +0 -65
  630. package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.d.ts +0 -7
  631. package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.d.ts.map +0 -1
  632. package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.js +0 -8
  633. package/src/engine/graphics/render/forward_plus/query/cube_mapping.d.ts +0 -11
  634. package/src/engine/graphics/render/forward_plus/query/cube_mapping.d.ts.map +0 -1
  635. package/src/engine/graphics/render/forward_plus/query/cube_mapping.js +0 -38
  636. package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts +0 -21
  637. package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts.map +0 -1
  638. package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.js +0 -96
  639. package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts +0 -22
  640. package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts.map +0 -1
  641. package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.js +0 -44
  642. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts +0 -11
  643. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts.map +0 -1
  644. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.js +0 -169
  645. package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.d.ts +0 -9
  646. package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.d.ts.map +0 -1
  647. package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.js +0 -33
  648. package/src/engine/graphics/render/forward_plus/read_frustum_corner.d.ts +0 -2
  649. package/src/engine/graphics/render/forward_plus/read_frustum_corner.d.ts.map +0 -1
  650. package/src/engine/graphics/render/forward_plus/read_frustum_corner.js +0 -2
  651. package/src/engine/graphics/render/forward_plus/sort_decal_data.d.ts +0 -9
  652. package/src/engine/graphics/render/forward_plus/sort_decal_data.d.ts.map +0 -1
  653. package/src/engine/graphics/render/forward_plus/sort_decal_data.js +0 -102
  654. package/src/engine/graphics/render/forward_plus/testClusterEquality.d.ts +0 -10
  655. package/src/engine/graphics/render/forward_plus/testClusterEquality.d.ts.map +0 -1
  656. package/src/engine/graphics/render/forward_plus/testClusterEquality.js +0 -22
  657. package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts +0 -19
  658. package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts.map +0 -1
  659. package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.js +0 -62
  660. package/src/engine/graphics/shaders/AlphaBlendShader.d.ts +0 -18
  661. package/src/engine/graphics/shaders/AlphaBlendShader.d.ts.map +0 -1
  662. package/src/engine/graphics/shaders/AlphaBlendShader.js +0 -42
  663. package/src/engine/graphics/shaders/ClearShader.d.ts +0 -8
  664. package/src/engine/graphics/shaders/ClearShader.d.ts.map +0 -1
  665. package/src/engine/graphics/shaders/ClearShader.js +0 -28
  666. package/src/engine/graphics/shaders/ScreenSpaceQuadShader.d.ts +0 -13
  667. package/src/engine/graphics/shaders/ScreenSpaceQuadShader.d.ts.map +0 -1
  668. package/src/engine/graphics/shaders/ScreenSpaceQuadShader.js +0 -38
  669. package/src/engine/graphics/shaders/ScreenSpaceShader.d.ts +0 -7
  670. package/src/engine/graphics/shaders/ScreenSpaceShader.d.ts.map +0 -1
  671. package/src/engine/graphics/shaders/ScreenSpaceShader.js +0 -102
  672. package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.d.ts +0 -102
  673. package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.d.ts.map +0 -1
  674. package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.js +0 -277
  675. package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.d.ts +0 -40
  676. package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.d.ts.map +0 -1
  677. package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.js +0 -57
  678. package/src/engine/graphics/shaders/glsl_gen_swizzled_read.d.ts +0 -8
  679. package/src/engine/graphics/shaders/glsl_gen_swizzled_read.d.ts.map +0 -1
  680. package/src/engine/graphics/shaders/glsl_gen_swizzled_read.js +0 -39
  681. package/src/engine/graphics/shadows/README.md +0 -6
  682. package/src/engine/graphics/shadows/vsm.glsl.d.ts +0 -3
  683. package/src/engine/graphics/shadows/vsm.glsl.d.ts.map +0 -1
  684. package/src/engine/graphics/shadows/vsm.glsl.js +0 -43
  685. package/src/engine/graphics/util/composeMatrix4.d.ts +0 -9
  686. package/src/engine/graphics/util/composeMatrix4.d.ts.map +0 -1
  687. package/src/engine/graphics/util/composeMatrix4.js +0 -13
  688. package/src/engine/graphics/util/threeUpdateMatrix.d.ts +0 -6
  689. package/src/engine/graphics/util/threeUpdateMatrix.d.ts.map +0 -1
  690. package/src/engine/graphics/util/threeUpdateMatrix.js +0 -14
  691. package/src/engine/graphics/util/threeUpdateTransform.d.ts +0 -6
  692. package/src/engine/graphics/util/threeUpdateTransform.d.ts.map +0 -1
  693. package/src/engine/graphics/util/threeUpdateTransform.js +0 -16
  694. package/src/engine/sound/ecs/SoundController.d.ts.map +0 -1
  695. package/src/engine/sound/ecs/SoundControllerSystem.d.ts +0 -23
  696. package/src/engine/sound/ecs/SoundControllerSystem.d.ts.map +0 -1
  697. package/src/engine/sound/ecs/SoundControllerSystem.js +0 -103
  698. package/src/engine/sound/ecs/emitter/SoundAttenuationFunction.d.ts.map +0 -1
  699. package/src/engine/sound/ecs/emitter/SoundEmitter.d.ts.map +0 -1
  700. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.d.ts +0 -55
  701. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.d.ts.map +0 -1
  702. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.js +0 -265
  703. package/src/engine/sound/ecs/emitter/SoundEmitterFlags.d.ts.map +0 -1
  704. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationAdapter.d.ts.map +0 -1
  705. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts +0 -88
  706. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts.map +0 -1
  707. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +0 -159
  708. package/src/engine/sound/ecs/emitter/SoundPanningModelType.d.ts.map +0 -1
  709. package/src/engine/sound/ecs/emitter/SoundTrack.d.ts.map +0 -1
  710. package/src/engine/sound/ecs/emitter/SoundTrackFlags.d.ts.map +0 -1
  711. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.d.ts +0 -8
  712. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.d.ts.map +0 -1
  713. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.js +0 -41
  714. package/src/shade/playground/FramePerformanceMonitor.d.ts +0 -114
  715. package/src/shade/playground/FramePerformanceMonitor.d.ts.map +0 -1
  716. package/src/shade/playground/FramePerformanceMonitor.js +0 -468
  717. package/src/shade/playground/add_random_lights.d.ts +0 -8
  718. package/src/shade/playground/add_random_lights.d.ts.map +0 -1
  719. package/src/shade/playground/add_random_lights.js +0 -50
  720. package/src/shade/playground/animation_prototype.d.ts +0 -24
  721. package/src/shade/playground/animation_prototype.d.ts.map +0 -1
  722. package/src/shade/playground/animation_prototype.js +0 -508
  723. package/src/shade/playground/animation_prototype_skinning.d.ts +0 -31
  724. package/src/shade/playground/animation_prototype_skinning.d.ts.map +0 -1
  725. package/src/shade/playground/animation_prototype_skinning.js +0 -647
  726. package/src/shade/playground/animation_prototype_stress.d.ts +0 -35
  727. package/src/shade/playground/animation_prototype_stress.d.ts.map +0 -1
  728. package/src/shade/playground/animation_prototype_stress.js +0 -765
  729. package/src/shade/playground/enable_picker.d.ts +0 -8
  730. package/src/shade/playground/enable_picker.d.ts.map +0 -1
  731. package/src/shade/playground/enable_picker.js +0 -60
  732. package/src/shade/playground/gltf_skinned_prototype.d.ts +0 -27
  733. package/src/shade/playground/gltf_skinned_prototype.d.ts.map +0 -1
  734. package/src/shade/playground/gltf_skinned_prototype.js +0 -560
  735. package/src/shade/playground/gltf_skinned_stress_prototype.d.ts +0 -24
  736. package/src/shade/playground/gltf_skinned_stress_prototype.d.ts.map +0 -1
  737. package/src/shade/playground/gltf_skinned_stress_prototype.js +0 -387
  738. package/src/shade/playground/gltf_viewer.d.ts +0 -2
  739. package/src/shade/playground/gltf_viewer.d.ts.map +0 -1
  740. package/src/shade/playground/gltf_viewer.js +0 -283
  741. package/src/shade/playground/main.d.ts.map +0 -1
  742. package/src/shade/playground/main.js +0 -2727
  743. package/src/shade/playground/make_animated_instances.d.ts +0 -9
  744. package/src/shade/playground/make_animated_instances.d.ts.map +0 -1
  745. package/src/shade/playground/make_animated_instances.js +0 -118
  746. package/src/shade/playground/prototype_virtual_texture.d.ts +0 -2
  747. package/src/shade/playground/prototype_virtual_texture.d.ts.map +0 -1
  748. package/src/shade/playground/prototype_virtual_texture.js +0 -274
  749. package/src/shade/playground/prototype_volumetrics_01.d.ts +0 -2
  750. package/src/shade/playground/prototype_volumetrics_01.d.ts.map +0 -1
  751. package/src/shade/playground/prototype_volumetrics_01.js +0 -206
  752. package/src/shade/playground/sample.d.ts +0 -2
  753. package/src/shade/playground/sample.d.ts.map +0 -1
  754. package/src/shade/playground/sample.js +0 -234
  755. package/src/shade/playground/sample_load_gltf.d.ts +0 -9
  756. package/src/shade/playground/sample_load_gltf.d.ts.map +0 -1
  757. package/src/shade/playground/sample_load_gltf.js +0 -103
  758. package/src/shade/playground/spread_node3d_grid.d.ts +0 -7
  759. package/src/shade/playground/spread_node3d_grid.d.ts.map +0 -1
  760. package/src/shade/playground/spread_node3d_grid.js +0 -20
  761. package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.d.ts +0 -24
  762. package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.d.ts.map +0 -1
  763. package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.js +0 -88
  764. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.d.ts +0 -3
  765. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.d.ts.map +0 -1
  766. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.js +0 -49
  767. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.d.ts +0 -3
  768. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.d.ts.map +0 -1
  769. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.js +0 -93
  770. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.d.ts +0 -24
  771. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.d.ts.map +0 -1
  772. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.js +0 -119
  773. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.d.ts +0 -7
  774. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.d.ts.map +0 -1
  775. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.js +0 -235
  776. package/src/shade/renderer/gpu_primitive/sort/NOTES.md +0 -5
  777. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.d.ts +0 -7
  778. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.d.ts.map +0 -1
  779. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.js +0 -136
  780. package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.d.ts +0 -18
  781. package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.d.ts.map +0 -1
  782. package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.js +0 -108
  783. package/src/shade/renderer/gpu_primitive/sort/ffx/defs.d.ts +0 -35
  784. package/src/shade/renderer/gpu_primitive/sort/ffx/defs.d.ts.map +0 -1
  785. package/src/shade/renderer/gpu_primitive/sort/ffx/defs.js +0 -42
  786. package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.d.ts +0 -13
  787. package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.d.ts.map +0 -1
  788. package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.js +0 -116
  789. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.d.ts +0 -3
  790. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.d.ts.map +0 -1
  791. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.js +0 -120
  792. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.d.ts +0 -3
  793. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.d.ts.map +0 -1
  794. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.js +0 -76
  795. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.d.ts +0 -3
  796. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.d.ts.map +0 -1
  797. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.js +0 -125
  798. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.d.ts +0 -3
  799. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.d.ts.map +0 -1
  800. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.js +0 -140
  801. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.d.ts +0 -3
  802. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.d.ts.map +0 -1
  803. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.js +0 -338
  804. package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.d.ts +0 -7
  805. package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.d.ts.map +0 -1
  806. package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.js +0 -261
  807. package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.d.ts +0 -3
  808. package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.d.ts.map +0 -1
  809. package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.js +0 -14
  810. package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.d.ts +0 -25
  811. package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.d.ts.map +0 -1
  812. package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.js +0 -25
  813. package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.d.ts +0 -15
  814. package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.d.ts.map +0 -1
  815. package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.js +0 -192
  816. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.d.ts +0 -5
  817. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.d.ts.map +0 -1
  818. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.js +0 -990
  819. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.d.ts +0 -5
  820. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.d.ts.map +0 -1
  821. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.js +0 -82
  822. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.d.ts +0 -3
  823. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.d.ts.map +0 -1
  824. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.js +0 -44
  825. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.d.ts +0 -5
  826. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.d.ts.map +0 -1
  827. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.js +0 -156
  828. package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.d.ts +0 -6
  829. package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.d.ts.map +0 -1
  830. package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.js +0 -55
  831. package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.d.ts +0 -14
  832. package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.d.ts.map +0 -1
  833. package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.js +0 -110
  834. package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.d.ts +0 -12
  835. package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.d.ts.map +0 -1
  836. package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.js +0 -74
  837. package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.d.ts +0 -3
  838. package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.d.ts.map +0 -1
  839. package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.js +0 -125
  840. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.d.ts +0 -7
  841. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.d.ts.map +0 -1
  842. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.js +0 -36
  843. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.d.ts +0 -7
  844. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.d.ts.map +0 -1
  845. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.js +0 -54
  846. package/src/shade/renderer/shader/chunk/bvh/packed/NOTES.md +0 -19
  847. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.d.ts +0 -3
  848. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.d.ts.map +0 -1
  849. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.js +0 -9
  850. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.d.ts +0 -6
  851. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.d.ts.map +0 -1
  852. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.js +0 -5
  853. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.d.ts +0 -8
  854. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.d.ts.map +0 -1
  855. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.js +0 -17
  856. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.d.ts +0 -3
  857. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.d.ts.map +0 -1
  858. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.js +0 -14
  859. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.d.ts +0 -3
  860. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.d.ts.map +0 -1
  861. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.js +0 -27
  862. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.d.ts +0 -3
  863. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.d.ts.map +0 -1
  864. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.js +0 -31
  865. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.d.ts +0 -3
  866. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.d.ts.map +0 -1
  867. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.js +0 -25
  868. package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.d.ts +0 -3
  869. package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.d.ts.map +0 -1
  870. package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.js +0 -42
  871. package/src/view/graphics/WebGLContextFailureView.d.ts.map +0 -1
  872. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundAttenuationFunction.d.ts +0 -0
  873. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundAttenuationFunction.js +0 -0
  874. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterFlags.d.ts +0 -0
  875. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterFlags.js +0 -0
  876. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationAdapter.d.ts +0 -0
  877. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationAdapter.js +0 -0
  878. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.d.ts +0 -0
  879. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.js +0 -0
  880. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.d.ts +0 -0
  881. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.js +0 -0
  882. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundPanningModelType.d.ts +0 -0
  883. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundPanningModelType.js +0 -0
  884. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrackFlags.d.ts +0 -0
  885. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrackFlags.js +0 -0
  886. /package/src/shade/playground/{main.d.ts → bvh_repro/main.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLegacySoundComponents.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/sound/sopra/legacy/convertLegacySoundComponents.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,gGAVW;IAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,GAAC,MAAM,EAAE,GAAC,IAAI,CAAA;CAAC,GAOvC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,CAmEnE"}
@@ -0,0 +1,279 @@
1
+ import { AudioEmitter } from "../../ecs/audio/AudioEmitter.js";
2
+ import { SoundEmitter } from "./SoundEmitter.js";
3
+ import { SoundTrack } from "./SoundTrack.js";
4
+ import { SoundTrackFlags } from "./SoundTrackFlags.js";
5
+ import SoundController from "./SoundController.js";
6
+ import { AudioEventTrigger, AudioEventTriggerRule } from "../../ecs/trigger/AudioEventTrigger.js";
7
+ import { volume2dB } from "../../volume2dB.js";
8
+ import { BlendContainerAudioClip } from "../definition/clip/BlendContainerAudioClip.js";
9
+ import {
10
+ RandomContainerAudioClip
11
+ } from "../definition/clip/RandomContainerAudioClip.js";
12
+ import { SampleAudioClip } from "../definition/clip/SampleAudioClip.js";
13
+ import { LEGACY_FALLBACK_BUS_ID, soundTrackToEventDescription } from "./soundEmitterToEventDescription.js";
14
+
15
+ /**
16
+ * Turns legacy sound components in a deserialized dataset into their native equivalents:
17
+ * `SoundEmitter` → {@link AudioEmitter}, `SoundController` → {@link AudioEventTrigger}. Old saves and
18
+ * old scenes keep loading — their bytes still deserialize through the registered legacy adapters — and
19
+ * this pass is what makes what they loaded playable by the native systems.
20
+ *
21
+ * **Hosts call this themselves, after deserialization.** It is deliberately not run inside the
22
+ * deserializer: a host owns its load pipeline, and `populateEngineSerializationRegistry` promises only
23
+ * to know how to read the bytes.
24
+ *
25
+ * What is deliberately dropped, because it never survived a load anyway:
26
+ * - `track.time` — the legacy runtime always started a restored track from zero.
27
+ * - `panningModel` — the v2 binary adapter never wrote it, so a binary-sourced emitter has the HRTF
28
+ * default already, which is what a conversion produces.
29
+ *
30
+ * @param {EntityComponentDataset} dataset mutated in place
31
+ * @param {{knownBusIds?: Set<string>|string[]|null}} [options] the bus ids the target mixer actually
32
+ * has. A legacy `channel` is a free string on decade-old authored data, and sopra's
33
+ * `BusGraph.getInput` THROWS on an unknown id — so a stale channel name would fail the emitter's
34
+ * first play. Given this set, an unrecognised channel is logged and rewritten to
35
+ * `effects`, which is the contract the legacy runtime applied at play time. Omit it only when
36
+ * the channel names are already known to be good. A host on the default mixer can pass
37
+ * `Object.values(SopraDefaultBus)`.
38
+ * @returns {{emitters: number, triggers: number, discarded: number}} what the pass did: emitters and
39
+ * triggers created, and legacy components removed without a replacement (nothing to play)
40
+ */
41
+ export function convertLegacySoundComponents(dataset, { knownBusIds = null } = {}) {
42
+ const buses = knownBusIds === null ? null : new Set(knownBusIds);
43
+
44
+ /**
45
+ * @param {string|null|undefined} channel
46
+ * @returns {string}
47
+ */
48
+ function resolveBus(channel) {
49
+ const busId = typeof channel === "string" && channel !== "" ? channel : LEGACY_FALLBACK_BUS_ID;
50
+
51
+ if (buses === null || buses.has(busId)) {
52
+ return busId;
53
+ }
54
+
55
+ console.error(`sopra: no bus named '${busId}', falling back to '${LEGACY_FALLBACK_BUS_ID}'`);
56
+
57
+ return LEGACY_FALLBACK_BUS_ID;
58
+ }
59
+
60
+ const result = { emitters: 0, triggers: 0, discarded: 0 };
61
+
62
+ const emitterEntities = collectEntities(dataset, SoundEmitter);
63
+ const controllerEntities = collectEntities(dataset, SoundController);
64
+
65
+ // controllers first: a rule's sound was played through the entity's emitter at runtime, so it has to
66
+ // read that emitter's spatialization before the emitter is taken away
67
+ for (let i = 0; i < controllerEntities.length; i++) {
68
+ const entity = controllerEntities[i];
69
+
70
+ const controller = dataset.getComponent(entity, SoundController);
71
+ const emitter = dataset.getComponent(entity, SoundEmitter);
72
+
73
+ const trigger = convertController(controller, emitter, resolveBus);
74
+
75
+ dataset.removeComponentFromEntity(entity, SoundController);
76
+
77
+ if (trigger === null) {
78
+ result.discarded++;
79
+ continue;
80
+ }
81
+
82
+ addComponent(dataset, entity, trigger);
83
+ result.triggers++;
84
+ }
85
+
86
+ for (let i = 0; i < emitterEntities.length; i++) {
87
+ const entity = emitterEntities[i];
88
+
89
+ const emitter = dataset.getComponent(entity, SoundEmitter);
90
+
91
+ const audioEmitter = convertEmitter(emitter, resolveBus);
92
+
93
+ dataset.removeComponentFromEntity(entity, SoundEmitter);
94
+
95
+ if (audioEmitter === null) {
96
+ result.discarded++;
97
+ continue;
98
+ }
99
+
100
+ addComponent(dataset, entity, audioEmitter);
101
+ result.emitters++;
102
+ }
103
+
104
+ return result;
105
+ }
106
+
107
+ /**
108
+ * Entity ids carrying `type`, collected up front — the pass adds and removes components as it goes,
109
+ * which is not safe to do while traversing.
110
+ *
111
+ * @param {EntityComponentDataset} dataset
112
+ * @param {Class} type
113
+ * @returns {number[]}
114
+ */
115
+ function collectEntities(dataset, type) {
116
+ if (!dataset.isComponentTypeRegistered(type)) {
117
+ // no legacy data of this kind was ever loaded into this dataset
118
+ return [];
119
+ }
120
+
121
+ const entities = [];
122
+
123
+ dataset.traverseComponents(type, (component, entity) => {
124
+ entities.push(entity);
125
+ });
126
+
127
+ return entities;
128
+ }
129
+
130
+ /**
131
+ * @param {EntityComponentDataset} dataset
132
+ * @param {number} entity
133
+ * @param {AudioEmitter|AudioEventTrigger} component
134
+ */
135
+ function addComponent(dataset, entity, component) {
136
+ const type = Object.getPrototypeOf(component).constructor;
137
+
138
+ if (!dataset.isComponentTypeRegistered(type)) {
139
+ dataset.registerComponentType(type);
140
+ }
141
+
142
+ dataset.addComponentToEntity(entity, component);
143
+ }
144
+
145
+ /**
146
+ * Build one legacy-equivalent event: the routing (bus, 3D, panning, distances, attenuation curve) comes
147
+ * from the emitter through the verified translator, so a conversion and a live translation agree by
148
+ * construction.
149
+ *
150
+ * @param {SoundEmitter} emitter
151
+ * @param {string} url
152
+ * @param {boolean} loop
153
+ * @param {boolean} [usingAlias]
154
+ * @returns {EventDescription}
155
+ */
156
+ function legacyEventFor(emitter, url, loop, usingAlias = false) {
157
+ const track = new SoundTrack();
158
+
159
+ track.url = url;
160
+ track.writeFlag(SoundTrackFlags.Loop, loop);
161
+ track.writeFlag(SoundTrackFlags.UsingAliasURL, usingAlias);
162
+
163
+ return soundTrackToEventDescription(emitter, track);
164
+ }
165
+
166
+ /**
167
+ * @param {SoundTrack} track
168
+ * @returns {SampleAudioClip} with the track's own volume baked into its gain
169
+ */
170
+ function clipFor(track) {
171
+ return SampleAudioClip.from(track.url, {
172
+ usingAlias: track.getFlag(SoundTrackFlags.UsingAliasURL),
173
+ loop: track.getFlag(SoundTrackFlags.Loop),
174
+ // The live translator leaves track volume out on purpose — the ECS layer composes
175
+ // emitter.volume x track.volume into the instance gain every frame, so there is one live volume
176
+ // home. A static conversion has no live track gain to compose with, so it has to bake it in.
177
+ gain: volume2dB(track.volume)
178
+ });
179
+ }
180
+
181
+ /**
182
+ * @param {SoundEmitter} emitter
183
+ * @param {function(string|null): string} resolveBus
184
+ * @returns {AudioEmitter|null} null when the emitter had nothing to play
185
+ */
186
+ function convertEmitter(emitter, resolveBus) {
187
+ const tracks = emitter.tracks.asArray();
188
+
189
+ if (tracks.length === 0) {
190
+ // an emitter with no tracks made no sound and had no authored event of its own — most of these
191
+ // are the "empty emitter for a SoundController to write into" pattern, which the trigger
192
+ // replaces outright
193
+ return null;
194
+ }
195
+
196
+ const first = tracks[0];
197
+
198
+ const event = legacyEventFor(
199
+ emitter,
200
+ first.url,
201
+ first.getFlag(SoundTrackFlags.Loop),
202
+ first.getFlag(SoundTrackFlags.UsingAliasURL)
203
+ );
204
+
205
+ if (tracks.length === 1) {
206
+ event.rootClip = clipFor(first);
207
+ } else {
208
+ // Several tracks on one emitter played simultaneously, each at its own volume — a blend
209
+ // container is the engine's parallel container, so it is the shape that preserves that. No blend
210
+ // curves: a child without one is always fully on, which is the constant unit gain this needs.
211
+ console.warn(`sopra: converting a legacy SoundEmitter with ${tracks.length} concurrent tracks into a blend container`);
212
+
213
+ event.label = `${first.url} +${tracks.length - 1}`;
214
+ event.rootClip = BlendContainerAudioClip.from(tracks.map(clipFor));
215
+ }
216
+
217
+ event.busId = resolveBus(emitter.channel);
218
+
219
+ const result = new AudioEmitter();
220
+
221
+ result.event = event;
222
+ result.volume.set(emitter.volume.getValue());
223
+ result.autoplay = true;
224
+
225
+ return result;
226
+ }
227
+
228
+ /**
229
+ * @param {SoundController} controller
230
+ * @param {SoundEmitter|undefined} emitter the emitter this controller wrote its tracks into, if the
231
+ * entity still has one — it is what decided whether a triggered sound was spatialized
232
+ * @param {function(string|null): string} resolveBus
233
+ * @returns {AudioEventTrigger|null} null when no rule of it could ever play anything
234
+ */
235
+ function convertController(controller, emitter, resolveBus) {
236
+ // no emitter on the entity: its flags are all clear, which the translator reads as a 2D,
237
+ // unattenuated event — the same thing a controller writing into a default-constructed emitter got
238
+ const routingSource = emitter === undefined ? new SoundEmitter() : emitter;
239
+
240
+ const rules = [];
241
+
242
+ controller.rules.forEach(rule => {
243
+ if (typeof rule.startEvent !== "string") {
244
+ console.warn(`sopra: dropping a legacy SoundController rule with no start event`);
245
+ return;
246
+ }
247
+
248
+ const urls = rule.tracks;
249
+
250
+ if (urls === undefined || urls.length === 0) {
251
+ console.warn(`sopra: dropping the legacy SoundController rule for '${rule.startEvent}', it names no sound`);
252
+ return;
253
+ }
254
+
255
+ const event = legacyEventFor(routingSource, urls[0], rule.loop);
256
+
257
+ event.busId = resolveBus(rule.channel !== undefined && rule.channel !== null
258
+ ? rule.channel
259
+ : routingSource.channel);
260
+
261
+ const gain = volume2dB(rule.volume);
262
+
263
+ // the legacy system picked one url at random per trigger; a random container IS that pick, as
264
+ // authored data rather than as a decision the runtime remakes every time
265
+ event.rootClip = urls.length === 1
266
+ ? SampleAudioClip.from(urls[0], { loop: rule.loop, gain })
267
+ : RandomContainerAudioClip.from(urls.map(url => SampleAudioClip.from(url, { loop: rule.loop, gain })));
268
+
269
+ event.label = rule.startEvent;
270
+
271
+ rules.push(AudioEventTriggerRule.from(
272
+ rule.startEvent,
273
+ event,
274
+ typeof rule.stopEvent === "string" ? rule.stopEvent : null
275
+ ));
276
+ });
277
+
278
+ return rules.length === 0 ? null : AudioEventTrigger.from(rules);
279
+ }
@@ -34,13 +34,13 @@ export function soundTrackToEventDescription(emitter: SoundEmitter, track: Sound
34
34
  export function soundEmitterToEventDescriptions(emitter: SoundEmitter): EventDescription[];
35
35
  /**
36
36
  * Bus a legacy emitter falls back to when its `channel` names one the mixer does not have. Applied by
37
- * {@link SoundEmitterComponentContext}, which can see the live bus graph; this module stays pure.
37
+ * {@link convertLegacySoundComponents}, which is told the live bus set; this module stays pure.
38
38
  * @type {string}
39
39
  */
40
40
  export const LEGACY_FALLBACK_BUS_ID: string;
41
- import { SoundAttenuationFunction } from "../../ecs/emitter/SoundAttenuationFunction.js";
41
+ import { SoundAttenuationFunction } from "./SoundAttenuationFunction.js";
42
42
  import { AnimationCurve } from "../../../animation/curve/AnimationCurve.js";
43
- import { SoundPanningModelType } from "../../ecs/emitter/SoundPanningModelType.js";
43
+ import { SoundPanningModelType } from "./SoundPanningModelType.js";
44
44
  import { SopraPanningModel } from "../definition/SopraPanningModel.js";
45
45
  import { EventDescription } from "../definition/EventDescription.js";
46
46
  //# sourceMappingURL=soundEmitterToEventDescription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"soundEmitterToEventDescription.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/sound/sopra/legacy/soundEmitterToEventDescription.js"],"names":[],"mappings":"AA2BA;;;;;GAKG;AACH,gEALW,wBAAwB,GAAC,MAAM,eAC/B,MAAM,eACN,MAAM,GACJ,cAAc,CAmB1B;AAED;;;GAGG;AACH,uDAHW,qBAAqB,GAAC,MAAM,GAC1B,iBAAiB,GAAC,MAAM,CAMpC;AASD;;;;;;;;;;;;;;GAcG;AACH,wFAFa,gBAAgB,CAwB5B;AAED;;;;GAIG;AACH,wEAFa,gBAAgB,EAAE,CAU9B;AA3DD;;;;GAIG;AACH,qCAFU,MAAM,CAEgC;yCA/DP,+CAA+C;+BADzD,4CAA4C;sCAGrC,4CAA4C;kCAKhD,oCAAoC;iCAFrC,mCAAmC"}
1
+ {"version":3,"file":"soundEmitterToEventDescription.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/sound/sopra/legacy/soundEmitterToEventDescription.js"],"names":[],"mappings":"AA2BA;;;;;GAKG;AACH,gEALW,wBAAwB,GAAC,MAAM,eAC/B,MAAM,eACN,MAAM,GACJ,cAAc,CAmB1B;AAED;;;GAGG;AACH,uDAHW,qBAAqB,GAAC,MAAM,GAC1B,iBAAiB,GAAC,MAAM,CAMpC;AASD;;;;;;;;;;;;;;GAcG;AACH,wFAFa,gBAAgB,CAwB5B;AAED;;;;GAIG;AACH,wEAFa,gBAAgB,EAAE,CAU9B;AA3DD;;;;GAIG;AACH,qCAFU,MAAM,CAEgC;yCA/DP,+BAA+B;+BADzC,4CAA4C;sCAGrC,4BAA4B;kCAKhC,oCAAoC;iCAFrC,mCAAmC"}
@@ -1,122 +1,122 @@
1
- import { interpolate_irradiance_linear } from "../../../../core/math/physics/irradiance/interpolate_irradiance_linear.js";
2
- import { interpolate_irradiance_lograrithmic } from "../../../../core/math/physics/irradiance/interpolate_irradiance_lograrithmic.js";
3
- import { interpolate_irradiance_smith } from "../../../../core/math/physics/irradiance/interpolate_irradiance_smith.js";
4
- import { AnimationCurve } from "../../../animation/curve/AnimationCurve.js";
5
- import { SoundAttenuationFunction } from "../../ecs/emitter/SoundAttenuationFunction.js";
6
- import { SoundEmitterFlags } from "../../ecs/emitter/SoundEmitterFlags.js";
7
- import { SoundPanningModelType } from "../../ecs/emitter/SoundPanningModelType.js";
8
- import { SoundTrackFlags } from "../../ecs/emitter/SoundTrackFlags.js";
9
- import { buildAttenuationCurve } from "../util/buildAttenuationCurve.js";
10
- import { EventDescription } from "../definition/EventDescription.js";
11
- import { SampleAudioClip } from "../definition/clip/SampleAudioClip.js";
12
- import { SopraPanningModel } from "../definition/SopraPanningModel.js";
13
-
14
- /*
15
- * Pure translation from the legacy SoundEmitter/SoundTrack data into sopra EventDescriptions. No ECS,
16
- * no engine, no live state — just maps authored fields. Volume is intentionally NOT baked here: the
17
- * full live gain (emitter.volume × track.volume) is applied by the ECS layer through the instance's
18
- * gain (P3.5), so there is one live volume home and no double-counting.
19
- */
20
-
21
- /**
22
- * Translated legacy descriptions get a high instance cap so the legacy "play everything" behaviour is
23
- * preserved (the per-event VoiceManager limit effectively never trips).
24
- * @type {number}
25
- */
26
- const LEGACY_MAX_INSTANCES = 256;
27
-
28
- /**
29
- * @param {SoundAttenuationFunction|number} attenuationFunction
30
- * @param {number} distanceMin
31
- * @param {number} distanceMax
32
- * @returns {AnimationCurve} distance→gain curve reproducing the legacy falloff at sampled distances
33
- */
34
- export function attenuationFunctionToCurve(attenuationFunction, distanceMin, distanceMax) {
35
- let falloff;
36
-
37
- switch (attenuationFunction) {
38
- case SoundAttenuationFunction.Logarithmic:
39
- falloff = interpolate_irradiance_lograrithmic;
40
- break;
41
- case SoundAttenuationFunction.Smith:
42
- falloff = interpolate_irradiance_smith;
43
- break;
44
- case SoundAttenuationFunction.Linear:
45
- default:
46
- falloff = interpolate_irradiance_linear;
47
- break;
48
- }
49
-
50
- return buildAttenuationCurve(distanceMin, distanceMax, falloff);
51
- }
52
-
53
- /**
54
- * @param {SoundPanningModelType|number} panningModel
55
- * @returns {SopraPanningModel|number}
56
- */
57
- export function soundPanningModelToSopra(panningModel) {
58
- return panningModel === SoundPanningModelType.EqualPower
59
- ? SopraPanningModel.EqualPower
60
- : SopraPanningModel.HRTF;
61
- }
62
-
63
- /**
64
- * Bus a legacy emitter falls back to when its `channel` names one the mixer does not have. Applied by
65
- * {@link SoundEmitterComponentContext}, which can see the live bus graph; this module stays pure.
66
- * @type {string}
67
- */
68
- export const LEGACY_FALLBACK_BUS_ID = 'effects';
69
-
70
- /**
71
- * Translate one legacy SoundTrack (in the context of its emitter) into a sopra EventDescription.
72
- *
73
- * The legacy component carries TWO independent spatial flags, and sopra needs both of them honoured:
74
- * `Spatialization` asks for panning, `Attenuation` asks for distance falloff. An emitter may set either
75
- * without the other — an ambience bed that fades with distance but must not swing around the listener's
76
- * head is precisely `Attenuation` alone, and the pre-sopra engine rendered it as a bare gain node with
77
- * no panner. So "positioned" here is `Spatialization || Attenuation` (sopra's `is3D`, which governs
78
- * distance handling), while panning is chosen separately — `SopraPanningModel.None` when the emitter
79
- * never asked to be panned.
80
- *
81
- * @param {SoundEmitter} emitter
82
- * @param {SoundTrack} track
83
- * @returns {EventDescription}
84
- */
85
- export function soundTrackToEventDescription(emitter, track) {
86
- const clip = SampleAudioClip.from(track.url, {
87
- usingAlias: track.getFlag(SoundTrackFlags.UsingAliasURL),
88
- loop: track.getFlag(SoundTrackFlags.Loop)
89
- });
90
-
91
- const spatialized = emitter.getFlag(SoundEmitterFlags.Spatialization);
92
- const attenuated = emitter.getFlag(SoundEmitterFlags.Attenuation);
93
-
94
- const attenuation = attenuated
95
- ? attenuationFunctionToCurve(emitter.attenuation, emitter.distanceMin, emitter.distanceMax)
96
- : AnimationCurve.constant(0, 1, 1); // flat-1 = no distance attenuation
97
-
98
- return EventDescription.from(track.url || "", clip, {
99
- busId: emitter.channel || LEGACY_FALLBACK_BUS_ID,
100
- is3D: spatialized || attenuated,
101
- panningModel: spatialized ? soundPanningModelToSopra(emitter.panningModel) : SopraPanningModel.None,
102
- distanceMin: emitter.distanceMin,
103
- distanceMax: emitter.distanceMax,
104
- attenuation,
105
- maxInstances: LEGACY_MAX_INSTANCES
106
- });
107
- }
108
-
109
- /**
110
- * Translate all of an emitter's current tracks into EventDescriptions (one per track).
111
- * @param {SoundEmitter} emitter
112
- * @returns {EventDescription[]}
113
- */
114
- export function soundEmitterToEventDescriptions(emitter) {
115
- const result = [];
116
-
117
- emitter.tracks.forEach(track => {
118
- result.push(soundTrackToEventDescription(emitter, track));
119
- });
120
-
121
- return result;
122
- }
1
+ import { interpolate_irradiance_linear } from "../../../../core/math/physics/irradiance/interpolate_irradiance_linear.js";
2
+ import { interpolate_irradiance_lograrithmic } from "../../../../core/math/physics/irradiance/interpolate_irradiance_lograrithmic.js";
3
+ import { interpolate_irradiance_smith } from "../../../../core/math/physics/irradiance/interpolate_irradiance_smith.js";
4
+ import { AnimationCurve } from "../../../animation/curve/AnimationCurve.js";
5
+ import { SoundAttenuationFunction } from "./SoundAttenuationFunction.js";
6
+ import { SoundEmitterFlags } from "./SoundEmitterFlags.js";
7
+ import { SoundPanningModelType } from "./SoundPanningModelType.js";
8
+ import { SoundTrackFlags } from "./SoundTrackFlags.js";
9
+ import { buildAttenuationCurve } from "../util/buildAttenuationCurve.js";
10
+ import { EventDescription } from "../definition/EventDescription.js";
11
+ import { SampleAudioClip } from "../definition/clip/SampleAudioClip.js";
12
+ import { SopraPanningModel } from "../definition/SopraPanningModel.js";
13
+
14
+ /*
15
+ * Pure translation from the legacy SoundEmitter/SoundTrack data into sopra EventDescriptions. No ECS,
16
+ * no engine, no live state — just maps authored fields. Volume is intentionally NOT baked here: the
17
+ * full live gain (emitter.volume × track.volume) is applied by the ECS layer through the instance's
18
+ * gain (P3.5), so there is one live volume home and no double-counting.
19
+ */
20
+
21
+ /**
22
+ * Translated legacy descriptions get a high instance cap so the legacy "play everything" behaviour is
23
+ * preserved (the per-event VoiceManager limit effectively never trips).
24
+ * @type {number}
25
+ */
26
+ const LEGACY_MAX_INSTANCES = 256;
27
+
28
+ /**
29
+ * @param {SoundAttenuationFunction|number} attenuationFunction
30
+ * @param {number} distanceMin
31
+ * @param {number} distanceMax
32
+ * @returns {AnimationCurve} distance→gain curve reproducing the legacy falloff at sampled distances
33
+ */
34
+ export function attenuationFunctionToCurve(attenuationFunction, distanceMin, distanceMax) {
35
+ let falloff;
36
+
37
+ switch (attenuationFunction) {
38
+ case SoundAttenuationFunction.Logarithmic:
39
+ falloff = interpolate_irradiance_lograrithmic;
40
+ break;
41
+ case SoundAttenuationFunction.Smith:
42
+ falloff = interpolate_irradiance_smith;
43
+ break;
44
+ case SoundAttenuationFunction.Linear:
45
+ default:
46
+ falloff = interpolate_irradiance_linear;
47
+ break;
48
+ }
49
+
50
+ return buildAttenuationCurve(distanceMin, distanceMax, falloff);
51
+ }
52
+
53
+ /**
54
+ * @param {SoundPanningModelType|number} panningModel
55
+ * @returns {SopraPanningModel|number}
56
+ */
57
+ export function soundPanningModelToSopra(panningModel) {
58
+ return panningModel === SoundPanningModelType.EqualPower
59
+ ? SopraPanningModel.EqualPower
60
+ : SopraPanningModel.HRTF;
61
+ }
62
+
63
+ /**
64
+ * Bus a legacy emitter falls back to when its `channel` names one the mixer does not have. Applied by
65
+ * {@link convertLegacySoundComponents}, which is told the live bus set; this module stays pure.
66
+ * @type {string}
67
+ */
68
+ export const LEGACY_FALLBACK_BUS_ID = 'effects';
69
+
70
+ /**
71
+ * Translate one legacy SoundTrack (in the context of its emitter) into a sopra EventDescription.
72
+ *
73
+ * The legacy component carries TWO independent spatial flags, and sopra needs both of them honoured:
74
+ * `Spatialization` asks for panning, `Attenuation` asks for distance falloff. An emitter may set either
75
+ * without the other — an ambience bed that fades with distance but must not swing around the listener's
76
+ * head is precisely `Attenuation` alone, and the pre-sopra engine rendered it as a bare gain node with
77
+ * no panner. So "positioned" here is `Spatialization || Attenuation` (sopra's `is3D`, which governs
78
+ * distance handling), while panning is chosen separately — `SopraPanningModel.None` when the emitter
79
+ * never asked to be panned.
80
+ *
81
+ * @param {SoundEmitter} emitter
82
+ * @param {SoundTrack} track
83
+ * @returns {EventDescription}
84
+ */
85
+ export function soundTrackToEventDescription(emitter, track) {
86
+ const clip = SampleAudioClip.from(track.url, {
87
+ usingAlias: track.getFlag(SoundTrackFlags.UsingAliasURL),
88
+ loop: track.getFlag(SoundTrackFlags.Loop)
89
+ });
90
+
91
+ const spatialized = emitter.getFlag(SoundEmitterFlags.Spatialization);
92
+ const attenuated = emitter.getFlag(SoundEmitterFlags.Attenuation);
93
+
94
+ const attenuation = attenuated
95
+ ? attenuationFunctionToCurve(emitter.attenuation, emitter.distanceMin, emitter.distanceMax)
96
+ : AnimationCurve.constant(0, 1, 1); // flat-1 = no distance attenuation
97
+
98
+ return EventDescription.from(track.url || "", clip, {
99
+ busId: emitter.channel || LEGACY_FALLBACK_BUS_ID,
100
+ is3D: spatialized || attenuated,
101
+ panningModel: spatialized ? soundPanningModelToSopra(emitter.panningModel) : SopraPanningModel.None,
102
+ distanceMin: emitter.distanceMin,
103
+ distanceMax: emitter.distanceMax,
104
+ attenuation,
105
+ maxInstances: LEGACY_MAX_INSTANCES
106
+ });
107
+ }
108
+
109
+ /**
110
+ * Translate all of an emitter's current tracks into EventDescriptions (one per track).
111
+ * @param {SoundEmitter} emitter
112
+ * @returns {EventDescription[]}
113
+ */
114
+ export function soundEmitterToEventDescriptions(emitter) {
115
+ const result = [];
116
+
117
+ emitter.tracks.forEach(track => {
118
+ result.push(soundTrackToEventDescription(emitter, track));
119
+ });
120
+
121
+ return result;
122
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"SoftwareGPUDevice.d.ts","sourceRoot":"","sources":["../../../../../src/shade/device/mock/SoftwareGPUDevice.js"],"names":[],"mappings":"AAmOA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wEAFgB,SAAS;IAkCrB;;;;;;;;;;OAUG;IACH;QAT+B,KAAK,GAAzB,MAAM;QACwB,gBAAgB,GAA9C,gBAAgB;QAGyB,cAAc,GAAvD,2BAA2B;OAyBrC;IAzDD;;;;;OAKG;IACH,qCAEC;IAOD;;;;;;OAMG;IACH,iCAEC;IAmCD;;OAEG;IACH,kCAEC;IAID;;OAEG;IACH,sBAEC;IAaD;;;;;;;;OAQG;IACH,iEAUC;IAwBD;;;;;OAKG;IACH,uCAEC;IAID;;;;OAIG;IACH,2BAEC;IAED;;;;;;;OAOG;IACH,gBAcC;IAID;;;;;;;;;OASG;IACH,uBALW,MAAM,YACN,kCAAkC,YAClC,OAAO,GAAC,uBAAuB,GAC7B,IAAI,CAIhB;IAED;;;;;OAKG;IACH,0BALW,MAAM,YACN,kCAAkC,YAClC,OAAO,GAAC,oBAAoB,GAC1B,IAAI,CAIhB;IAED;;;OAGG;IACH,qBAHW,KAAK,GACH,OAAO,CAInB;IASD;;;;;;;OAOG;IACH,wCAFa,IAAI,CAUhB;IAED;;;;;;;;;OASG;IACH,iBAHa,QAAQ,mBAAiB,IAAI,CAAC,CAc1C;IAED;;;;;;;;;;;;;;OAcG;IACH,yCAFa,IAAI,CA4BhB;IAED;;;;;;;;;OASG;IACH,yDAcC;IAmHD;;;;;;OAMG;IACH,4DAcC;IAED;;;;;;OAMG;IACH,6DAEC;IAED;;;OAGG;IACH,oFAEC;IAED;;;OAGG;IACH,kEAEC;IAED;;;OAGG;IACH,iFAEC;IAED;;;;;;;OAOG;IACH,2EAEC;IAED;;;;;;OAMG;IACH,iFAEC;IAED;;;;;OAKG;IACH,oFAEC;IAUD;;;;;OAKG;IACH,kBAFa,MAAM,CAMlB;IAED;;;OAGG;IACH,+DAQC;IA4BD;;;OAGG;IACH,kFAEC;IAGL;;;OAGG;IACH,8BAFU,OAAO,CAE8B;;CAN9C;;;;;;;;;;;;WAvnBa,mBAAiB,IAAI;;sCAlOG,4BAA4B;kCAHhC,wBAAwB;mCASvB,yBAAyB"}
1
+ {"version":3,"file":"SoftwareGPUDevice.d.ts","sourceRoot":"","sources":["../../../../../src/shade/device/mock/SoftwareGPUDevice.js"],"names":[],"mappings":"AAyOA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wEAFgB,SAAS;IAkCrB;;;;;;;;;;OAUG;IACH;QAT+B,KAAK,GAAzB,MAAM;QACwB,gBAAgB,GAA9C,gBAAgB;QAGyB,cAAc,GAAvD,2BAA2B;OAyBrC;IAzDD;;;;;OAKG;IACH,qCAEC;IAOD;;;;;;OAMG;IACH,iCAEC;IAmCD;;OAEG;IACH,kCAEC;IAID;;OAEG;IACH,sBAEC;IAaD;;;;;;;;OAQG;IACH,iEAUC;IAwBD;;;;;OAKG;IACH,uCAEC;IAID;;;;OAIG;IACH,2BAEC;IAED;;;;;;;OAOG;IACH,gBAcC;IAID;;;;;;;;;OASG;IACH,uBALW,MAAM,YACN,kCAAkC,YAClC,OAAO,GAAC,uBAAuB,GAC7B,IAAI,CAIhB;IAED;;;;;OAKG;IACH,0BALW,MAAM,YACN,kCAAkC,YAClC,OAAO,GAAC,oBAAoB,GAC1B,IAAI,CAIhB;IAED;;;OAGG;IACH,qBAHW,KAAK,GACH,OAAO,CAInB;IASD;;;;;;;OAOG;IACH,wCAFa,IAAI,CAUhB;IAED;;;;;;;;;OASG;IACH,iBAHa,QAAQ,mBAAiB,IAAI,CAAC,CAc1C;IAED;;;;;;;;;;;;;;OAcG;IACH,yCAFa,IAAI,CA4BhB;IAED;;;;;;;;;OASG;IACH,yDAcC;IAmHD;;;;;;OAMG;IACH,4DAcC;IAED;;;;;;OAMG;IACH,6DAEC;IAED;;;OAGG;IACH,oFAEC;IAED;;;OAGG;IACH,kEAEC;IAED;;;OAGG;IACH,iFAEC;IAED;;;;;;;OAOG;IACH,2EAEC;IAED;;;;;;OAMG;IACH,iFAEC;IAED;;;;;OAKG;IACH,oFAEC;IAUD;;;;;OAKG;IACH,kBAFa,MAAM,CAMlB;IAED;;;OAGG;IACH,+DAQC;IA4BD;;;OAGG;IACH,kFAEC;IAGL;;;OAGG;IACH,8BAFU,OAAO,CAE8B;;CAN9C;;;;;;;;;;;;WAvnBa,mBAAiB,IAAI;;sCAxOG,4BAA4B;kCAHhC,wBAAwB;mCASvB,yBAAyB"}
@@ -177,9 +177,15 @@ const CORE_FEATURE = "core-features-and-limits";
177
177
  * construction rather than silently granted — a device that claims a feature it does not emulate
178
178
  * sends the code under test down a path this mock cannot honour.
179
179
  *
180
+ * `subgroups` is here on the opposite argument: it changes nothing but which WGSL a shader module
181
+ * is allowed to contain, and this device runs no WGSL at all. Subgroups being a baseline engine
182
+ * requirement, refusing it would leave the orchestration of every subgroup-using pass — which is
183
+ * most of the compute ones — untestable at this tier for a reason that has nothing to do with what
184
+ * the tier asserts.
185
+ *
180
186
  * @type {GPUFeatureName[]}
181
187
  */
182
- const SUPPORTED_OPTIONAL_FEATURES = ["timestamp-query"];
188
+ const SUPPORTED_OPTIONAL_FEATURES = ["timestamp-query", "subgroups"];
183
189
 
184
190
  /**
185
191
  * A buffer that can be mapped for reading may combine that with nothing but `COPY_DST`, and one
@@ -1 +1 @@
1
- {"version":3,"file":"GPUTimerArray.d.ts","sourceRoot":"","sources":["../../../../../src/shade/device/timing/GPUTimerArray.js"],"names":[],"mappings":"AAGA;IA8FI;;;;OAIG;IACH,sCAFW,MAAM,EAoChB;IA/ED;;;;OAIG;IACH,wBAHW,MAAM,iCAgBhB;IAED;;;;OAIG;IACH,uBAHW,MAAM,gCAgBhB;IA2CD,gBAQC;IAED;;;OAGG;IACH,0CAQC;IAED,kCAcC;IAED;;;OAGG;IACH,gCAqBC;;CAEJ"}
1
+ {"version":3,"file":"GPUTimerArray.d.ts","sourceRoot":"","sources":["../../../../../src/shade/device/timing/GPUTimerArray.js"],"names":[],"mappings":"AAGA;IA8FI;;;;OAIG;IACH,sCAFW,MAAM,EAoChB;IA/ED;;;;OAIG;IACH,wBAHW,MAAM,iCAgBhB;IAED;;;;OAIG;IACH,uBAHW,MAAM,gCAgBhB;IA2CD,gBAQC;IAED;;;OAGG;IACH,0CAQC;IAED,kCAwBC;IAED;;;OAGG;IACH,gCAqBC;;CAEJ"}
@@ -164,6 +164,16 @@ export class GPUTimerArray {
164
164
 
165
165
  const results_buffer = this.#results_buffer;
166
166
 
167
+ if (results_buffer === undefined) {
168
+ // Same guard as `resolve` and `destroy`: with the profiling feature withheld there is no
169
+ // query set and no buffers, and the timers are supposed to go quiet rather than take the
170
+ // frame down with them. Without it, `enable_debug_timers` on such a device raises an
171
+ // unhandled rejection out of `ShadeGPUCommandContext.finish`, which calls this
172
+ // unconditionally — `results_to_console_table` then reports an empty table, which is
173
+ // what "quiet" means.
174
+ return;
175
+ }
176
+
167
177
  await results_buffer.mapAsync(GPUMapMode.READ)
168
178
 
169
179
  const mapped = results_buffer.getMappedRange(
@@ -1,10 +1,26 @@
1
1
  /**
2
+ * Scatter `count` instances of `geometries` through `region`, randomly oriented, at sizes spread
3
+ * across `geometry_scale_range`.
4
+ *
5
+ * This exists to build a workload the acceleration structures have to work for. Quantity moves
6
+ * traversal cost out of the per-mesh BLAS and into the TLAS — at a typical scene's hundred-odd
7
+ * instances a traced frame is entirely BLAS and shading, and the TLAS's shape is invisible in it.
8
+ * Size variety is the case a Morton order handles worst, since a Morton code sees a centroid and
9
+ * nothing about extent.
10
+ *
11
+ * Sizes are drawn as a *world-space diagonal* and divided down by each geometry's own, so the
12
+ * interval means the same thing whatever size the geometries were authored at, and a mixed list
13
+ * does not scatter one shape at a hundred times the size of another by accident.
2
14
  *
3
15
  * @param {InstanceBatch} batch
4
- * @param {Geometry[]} geometries
16
+ * @param {MeshletGeometry[]} geometries not plain `Geometry` — see {@link BoxGeometry} and
17
+ * {@link meshlet_geometry_build_from_geometry}
5
18
  * @param {ShadeMaterial[]} [materials]
6
19
  * @param {number} [count]
7
- * @param {NumericInterval} [geometry_scale_range]
20
+ * @param {NumericInterval} [geometry_scale_range] world-space bounding-box diagonal, in scene units
21
+ * @param {AABB3} [region] where instance origins land
22
+ * @param {function():number} [random] pass one shared generator to keep successive calls from
23
+ * scattering the same instances in the same places
8
24
  */
9
- export function add_random_meshes({ batch, geometries, materials, count, geometry_scale_range }: InstanceBatch): void;
25
+ export function add_random_meshes({ batch, geometries, materials, count, geometry_scale_range, region, random }: InstanceBatch): void;
10
26
  //# sourceMappingURL=add_random_meshes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add_random_meshes.d.ts","sourceRoot":"","sources":["../../../../src/shade/playground/add_random_meshes.js"],"names":[],"mappings":"AAcA;;;;;;;GAOG;AACH,sHA6DC"}
1
+ {"version":3,"file":"add_random_meshes.d.ts","sourceRoot":"","sources":["../../../../src/shade/playground/add_random_meshes.js"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,sIAoFC"}