@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
@@ -1,269 +1,275 @@
1
- # Binary serialization coverage
2
-
3
- What verifies the save format, what does not, and what is known to be wrong with it.
4
-
5
- This file exists because three aggregate specs that used to answer those questions were deleted. They are
6
- worth understanding before adding anything like them back.
7
-
8
- ## Why the aggregate harnesses went
9
-
10
- `binary_adapter_round_trip.spec.js`, `upgrader_chain_contract.spec.js` and
11
- `upgrader_execution_contract.spec.js` walked the source tree with `fs.readdirSync`, dynamically imported every
12
- match, and drove each adapter through reflection.
13
-
14
- They found real defects — that was never in doubt. They were removed anyway, for reasons that are worth
15
- keeping:
16
-
17
- * **40% of the green was hollow.** The round-trip harness reported 78 passing tests. **31 of them asserted
18
- nothing:** 20 "not checked" (16 of those because the harness's own perturbation produced an object that
19
- violated the component's invariants and `serialize` threw — *"Expected 'Managed' flag to be set"*,
20
- *"Incorrect height data size. 4 !== 256"*), 4 whose state is `#private` and therefore invisible to
21
- structural comparison, and 7 the perturber could not vary. `Tag`, `Blackboard`, `UUID`, `Terrain`,
22
- `FogOfWar`, `AudioEmitter`, `SoundEmitter`, `ParticleEmitter` and `AnimationGraph` were all reported green
23
- and none of them were checked. The list was printed by `console.log` in an `afterAll`, invisible in a normal
24
- run.
25
- * **It asserted that the broken things were exactly the broken things.** `KNOWN_DIVERGENCE` was, in its own
26
- words, "a baseline, not a specification" — nine real defects encoded as expected values. A test that passes
27
- *because* the bug is still present is worse than no test.
28
- * **It hid a bug of exactly the kind it existed to catch.** See "Found and fixed" below.
29
- * **The reflection was the failure surface.** `perturb()` and `divergentPaths()` were ~250 lines of
30
- special-cased traversal (`isColor`, `isQuaternion`, typed arrays, `getValue`/`set`, `__validSet`,
31
- writability probing, depth limits, `Math.fround` tolerance). Whenever a test failed, the first question was
32
- whether the harness or the adapter was wrong.
33
- * **The dynamic imports flaked.** On Windows the transform cache lost `rename` races —
34
- `EPERM: operation not permitted, rename ...\ssr\.tmp-... -> ...\ssr\<hash>` — failing whichever adapter
35
- happened to be importing. The flake was read as a serialization bug more than once.
36
-
37
- The replacement is one hand-written spec per adapter, colocated with it, in the style of
38
- [`TagSerializationAdapter.spec.js`](../../components/TagSerializationAdapter.spec.js): construct an instance
39
- with distinctive values, serialize, deserialize into a fresh one, assert. Explicit, verbose, no reflection, no
40
- allow-lists, and each one states what the format actually promises.
41
-
42
- **The upgrade-path property is not reproduced.** `upgrader_chain_contract.spec.js` checked that every
43
- historical version could reach the current one. That property matters to a *consumer* of the engine shipping
44
- saved data, not to the engine, so it belongs in the consumer's suite.
45
-
46
- ## Found and fixed on the way out
47
-
48
- `FailingBehavior` and `SucceedingBehavior` **could not be serialized at all.** Both adapters wrote
49
- `value.delayTicks` — a constructor parameter that was deprecated and removed from both classes — so
50
- `writeUintVar(undefined)` threw on *any* instance, and a behaviour tree containing either could not be saved.
51
-
52
- The harness reported both green. `perturb()` found no field it knew how to vary, pushed them onto the
53
- "nothing the harness could vary" list, and returned before ever calling `serialize`.
54
-
55
- Both adapters now write nothing, because the classes carry no state. No version bump: since `serialize` always
56
- threw, no save containing these behaviours can exist, so there is no data to stay compatible with.
57
-
58
- ## Adapters still without a spec
59
-
60
- 29 files, of which `BinaryClassSerializationAdapter.js` (the base class) and
61
- `ObjectBasedClassSerializationAdapter.js` (a helper) are not adapters — so **27 real ones**. Every entry is an
62
- adapter nothing currently verifies.
63
-
64
- Sixteen of these are the ones whose `serialize` threw under the old harness. That is not a coincidence and it
65
- is where the interesting bugs are: those components have invariants, so a spec for one needs a hand-built
66
- fixture rather than a default instance. `FogOfWar` needs correctly-sized height data, `GUIElement` needs its
67
- `Managed` flag, `Terrain` needs a height array matching its resolution.
68
-
69
- | Class | Adapter |
70
- |---|---|
71
- | `Animation` | `engine/ecs/animation/AnimationSerializationAdapter.js` |
72
- | `FogOfWar` | `engine/ecs/fow/serialization/FogOfWarSerializationAdapter.js` |
73
- | `GUIElement` | `engine/ecs/gui/GUIElementSerializationAdapter.js` |
74
- | `InverseKinematics` | `engine/ecs/ik/InverseKinematicsSerializationAdapter.js` |
75
- | `Book` | `engine/ecs/storage/binary/BinaryClassSerializationAdapter.js` |
76
- | `?` | `engine/ecs/storage/binary/object/ObjectBasedClassSerializationAdapter.js` |
77
- | `Terrain` | `engine/ecs/terrain/serialization/TerrainSerializationAdapter.js` |
78
- | `AnimationController` | `engine/graphics/ecs/animation/AnimationControllerSerializationAdapter.js` |
79
- | `AnimationGraph` | `engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.js` |
80
- | `AnimationGraphDefinition` | `engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionSerializationAdapter.js` |
81
- | `Camera` | `engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.js` |
82
- | `TopDownCameraController` | `engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.js` |
83
- | `Decal` | `engine/graphics/ecs/decal/v2/DecalSerializationAdapter.js` |
84
- | `Highlight` | `engine/graphics/ecs/highlight/HighlightSerializationAdapter.js` |
85
- | `Mesh` | `engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js` |
86
- | `Water` | `engine/graphics/ecs/water/WaterSerializationAdapter.js` |
87
- | `ParameterLookupTable` | `engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js` |
88
- | `ParticleEmitter` | `engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js` |
89
- | `LightProbeVolume` | `engine/graphics/sh3/lpv/serialization/LightProbeVolumeSerializationAdapter.js` |
90
- | `Sampler2D` | `engine/graphics/texture/sampler/serialization/Sampler2DSerializationAdapter.js` |
91
- | `GridPosition2Transform` | `engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.js` |
92
- | `GridObstacle` | `engine/grid/obstacle/GridObstacleSerializationAdapter.js` |
93
- | `ParallelBehavior` | `engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.js` |
94
- | `SequenceBehavior` | `engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js` |
95
- | `InvertStatusBehavior` | `engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.js` |
96
- | `RepeatBehavior` | `engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js` |
97
- | `BehaviorComponent` | `engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js` |
98
- | `Transform` | `engine/interpolation/TransformPoseSerializationAdapter.js` |
99
- | `AcousticProbeField` | `engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.js` |
100
-
101
- ## Upgraders
102
-
103
- 24 upgraders in the tree. Ten had a hand-written golden — an explicit byte layout in the version the upgrader
104
- reads — and those goldens are the one genuinely brutalist thing in the deleted files. They are preserved here
105
- verbatim so porting them to per-upgrader specs is transcription rather than archaeology.
106
-
107
- The per-upgrader spec should assert **the restored field values**, not the byte count the deleted harness
108
- asserted. The byte count was a proxy it used because it had no idea what the values ought to be; a spec that
109
- names one upgrader does know, and should say so.
110
-
111
- ### Goldens to port
112
-
113
- ```js
114
- const GOLDENS = {
115
- "CameraSerializationUpgrader_0_1.js": buffer => {
116
- buffer.writeUint8(1); // autoClip
117
- buffer.writeUint8(1); // active, an ObservedBoolean, one byte
118
- },
119
-
120
- "ClingToTerrainSerializationUpgrader_0_1.js": buffer => {
121
- buffer.writeUint8(1); // normalAlign
122
- },
123
-
124
- "DecalSerializationUpgrader_0_1.js": buffer => {
125
- buffer.writeUTF8String("data/textures/decal/circle1.png");
126
- buffer.writeFloat32(0); // priority
127
- buffer.writeFloat32Array([1, 1, 1, 1], 0, 4); // colour
128
- },
129
-
130
- "HighlightSerializationUpgrader_0_1.js": buffer => {
131
- buffer.writeFloat32(0.25); // r
132
- buffer.writeFloat32(0.5); // g
133
- buffer.writeFloat32(0.75); // b
134
- buffer.writeFloat32(1); // a
135
- },
136
-
137
- "PathSerializationUpgrader_0_1.js": buffer => {
138
- buffer.writeUint32(2); // point count
139
-
140
- for (let i = 0; i < 6; i++) {
141
- buffer.writeFloat64(i);
142
- }
143
- },
144
-
145
- "PathSerializationUpgrader_1_2.js": buffer => {
146
- buffer.writeUint8(0); // interpolation
147
- buffer.writeUintVar(0); // marker index
148
- buffer.writeFloat32(0); // marker offset
149
- buffer.writeUintVar(2); // point count
150
-
151
- for (let i = 0; i < 6; i++) {
152
- buffer.writeFloat32(i);
153
- }
154
- },
155
-
156
- "PathSerializationUpgrader_2_3.js": buffer => {
157
- buffer.writeUint8(0); // interpolation
158
- buffer.writeUintVar(2); // point count
159
- buffer.writeUintVar(3); // elements per point
160
-
161
- for (let i = 0; i < 6; i++) {
162
- buffer.writeFloat32(i);
163
- }
164
- },
165
-
166
- "TagSerializationUpgrader_0_1.js": buffer => {
167
- buffer.writeUTF8String("a-tag");
168
- },
169
-
170
- "TopDownCameraControllerSerializationUpgrader_0_1.js": buffer => {
171
- // target x/y/z, pitch, yaw, distance, distanceMin, distanceMax
172
- for (let i = 0; i < 8; i++) {
173
- buffer.writeFloat64(i + 1);
174
- }
175
- },
176
-
177
- "TransformSerializationUpgrader_0_1.js": buffer => {
178
- buffer.writeFloat64(1); // position x
179
- buffer.writeFloat64(2); // position y
180
- buffer.writeFloat64(3); // position z
181
-
182
- buffer.writeUint32(0); // encoded rotation
183
-
184
- buffer.writeFloat32(1); // scale x
185
- buffer.writeFloat32(2); // scale y
186
- buffer.writeFloat32(3); // scale z
187
- }
188
- };
189
- ```
190
-
191
- ### Upgraders with no golden
192
-
193
- Fourteen versions of the save format that nothing verifies can still be read. This was already an admitted gap
194
- in the deleted spec; it is not a new one.
195
-
196
- ```js
197
- const WITHOUT_GOLDEN = [
198
- "FogOfWarSerializationUpdater_0_1.js",
199
- "GridPosition2TransformSerializationUpgrader_0_1.js",
200
- "GridPositionSerializationUpdater_0_1.js",
201
- "ParticleEmitterSerializationUpgrader_0_1.js",
202
- "PathFollowerSerializationUpgrader_0_1.js",
203
- "PathFollowerSerializationUpgrader_1_2.js",
204
- "PathFollowerSerializationUpgrader_2_3.js",
205
- "PathFollowerSerializationUpgrader_3_4.js",
206
- "RigidBodySerializationUpgrader_0_1.js",
207
- "SoundEmitterSerializationUpgrader_0_1.js",
208
- "SoundEmitterSerializationUpgrader_1_2.js",
209
- "TerrainSerializationUpgrader_0_1.js",
210
- "TerrainSerializationUpgrader_1_2.js",
211
- "WaterSerializationUpgrader_0_1.js"
212
- ];
213
- ```
214
-
215
- ## Known defects in the format
216
-
217
- These came out of `KNOWN_DIVERGENCE`, where they were encoded as expected values so the suite stayed green
218
- with the bugs in place. They are real: an entity saved with any of these set does not come back the same.
219
- Preserved here as a defect list, which is what they always were.
220
-
221
- Where a spec has since been written for the adapter, the divergence is asserted explicitly *with its reason*,
222
- so the behaviour is visible at the adapter rather than in a table keyed by file path — see
223
- `LightSerializationAdapter.spec.js` (packed RGB drops alpha, harmless for a light and stated as such) and
224
- `WaitForEventBehaviorSerializationAdapter.spec.js` (the event name survives, the wait state does not, which is
225
- a defect and says so).
226
-
227
- ```js
228
- const KNOWN_DIVERGENCE = {
229
- // Color.toUint() is documented as RGB-only (uint24) and both adapters use
230
- // it, so alpha is dropped by design. Kept visible rather than exempted:
231
- // a light has no meaningful alpha, but water's might, and that is a call
232
- // for whoever owns the water shader.
233
- "engine/graphics/ecs/light/LightSerializationAdapter.js": ["color.a"],
234
- "engine/graphics/ecs/water/WaterSerializationAdapter.js": ["color.a", "shoreColor.a"],
235
-
236
- "engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js": [
237
- "flags", "valueMax", "valueMin"
238
- ],
239
-
240
- // flag fields dropped wholesale
241
- "engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.js": ["flags"],
242
- "engine/ecs/transform/TransformSerializationAdapter.js": ["flags"],
243
- "engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js": ["flags"],
244
-
245
- // a behaviour tree restored mid-run resumes from the wrong child
246
- "engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js": [
247
- "__currentBehaviourIndex", "__currentBehaviourState"
248
- ],
249
- "engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js": ["__behavior"],
250
-
251
- // the event it is waiting for is dropped, so it waits forever
252
- "engine/intelligence/behavior/ecs/WaitForEventBehaviorSerializationAdapter.js": [
253
- "detected", "entity", "target"
254
- ],
255
-
256
- "engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.js": ["shape.radius"]
257
- };
258
- ```
259
-
260
- Worth separating when these are worked through:
261
-
262
- * **Deliberate and harmless** — `Light.color.a`: `Color.toUint()` is documented RGB-only. A light has no
263
- meaningful alpha.
264
- * **Deliberate and questionable** — `Water.color.a`, `Water.shoreColor.a`: same encoding, but water's alpha
265
- might mean something. A call for whoever owns that shader.
266
- * **Straightforwardly broken** `flags` dropped wholesale on `Transform`, `Mesh` and
267
- `GridPosition2Transform`; `SequenceBehavior` resuming from the wrong child; `BehaviorComponent` losing its
268
- behaviour entirely; `WaitForEventBehavior` restored on the wrong side of the event it waits for, so it waits
269
- forever; `AcousticVolume` losing its radius.
1
+ # Binary serialization coverage
2
+
3
+ What verifies the save format, what does not, and what is known to be wrong with it.
4
+
5
+ This file exists because three aggregate specs that used to answer those questions were deleted. They are
6
+ worth understanding before adding anything like them back.
7
+
8
+ ## Why the aggregate harnesses went
9
+
10
+ `binary_adapter_round_trip.spec.js`, `upgrader_chain_contract.spec.js` and
11
+ `upgrader_execution_contract.spec.js` walked the source tree with `fs.readdirSync`, dynamically imported every
12
+ match, and drove each adapter through reflection.
13
+
14
+ They found real defects — that was never in doubt. They were removed anyway, for reasons that are worth
15
+ keeping:
16
+
17
+ * **40% of the green was hollow.** The round-trip harness reported 78 passing tests. **31 of them asserted
18
+ nothing:** 20 "not checked" (16 of those because the harness's own perturbation produced an object that
19
+ violated the component's invariants and `serialize` threw — *"Expected 'Managed' flag to be set"*,
20
+ *"Incorrect height data size. 4 !== 256"*), 4 whose state is `#private` and therefore invisible to
21
+ structural comparison, and 7 the perturber could not vary. `Tag`, `Blackboard`, `UUID`, `Terrain`,
22
+ `FogOfWar`, `AudioEmitter`, `SoundEmitter`, `ParticleEmitter` and `AnimationGraph` were all reported green
23
+ and none of them were checked. The list was printed by `console.log` in an `afterAll`, invisible in a normal
24
+ run.
25
+ * **It asserted that the broken things were exactly the broken things.** `KNOWN_DIVERGENCE` was, in its own
26
+ words, "a baseline, not a specification" — nine real defects encoded as expected values. A test that passes
27
+ *because* the bug is still present is worse than no test.
28
+ * **It hid a bug of exactly the kind it existed to catch.** See "Found and fixed" below.
29
+ * **The reflection was the failure surface.** `perturb()` and `divergentPaths()` were ~250 lines of
30
+ special-cased traversal (`isColor`, `isQuaternion`, typed arrays, `getValue`/`set`, `__validSet`,
31
+ writability probing, depth limits, `Math.fround` tolerance). Whenever a test failed, the first question was
32
+ whether the harness or the adapter was wrong.
33
+ * **The dynamic imports flaked.** On Windows the transform cache lost `rename` races —
34
+ `EPERM: operation not permitted, rename ...\ssr\.tmp-... -> ...\ssr\<hash>` — failing whichever adapter
35
+ happened to be importing. The flake was read as a serialization bug more than once.
36
+
37
+ The replacement is one hand-written spec per adapter, colocated with it, in the style of
38
+ [`TagSerializationAdapter.spec.js`](../../components/TagSerializationAdapter.spec.js): construct an instance
39
+ with distinctive values, serialize, deserialize into a fresh one, assert. Explicit, verbose, no reflection, no
40
+ allow-lists, and each one states what the format actually promises.
41
+
42
+ **The upgrade-path property is not reproduced.** `upgrader_chain_contract.spec.js` checked that every
43
+ historical version could reach the current one. That property matters to a *consumer* of the engine shipping
44
+ saved data, not to the engine, so it belongs in the consumer's suite.
45
+
46
+ ## Found and fixed on the way out
47
+
48
+ `FailingBehavior` and `SucceedingBehavior` **could not be serialized at all.** Both adapters wrote
49
+ `value.delayTicks` — a constructor parameter that was deprecated and removed from both classes — so
50
+ `writeUintVar(undefined)` threw on *any* instance, and a behaviour tree containing either could not be saved.
51
+
52
+ The harness reported both green. `perturb()` found no field it knew how to vary, pushed them onto the
53
+ "nothing the harness could vary" list, and returned before ever calling `serialize`.
54
+
55
+ Both adapters now write nothing, because the classes carry no state. No version bump: since `serialize` always
56
+ threw, no save containing these behaviours can exist, so there is no data to stay compatible with.
57
+
58
+ ## Adapters still without a spec
59
+
60
+ 29 files, of which `BinaryClassSerializationAdapter.js` (the base class) and
61
+ `ObjectBasedClassSerializationAdapter.js` (a helper) are not adapters — so **27 real ones**. Every entry is an
62
+ adapter nothing currently verifies.
63
+
64
+ Sixteen of these are the ones whose `serialize` threw under the old harness. That is not a coincidence and it
65
+ is where the interesting bugs are: those components have invariants, so a spec for one needs a hand-built
66
+ fixture rather than a default instance. `FogOfWar` needs correctly-sized height data, `GUIElement` needs its
67
+ `Managed` flag, `Terrain` needs a height array matching its resolution.
68
+
69
+ | Class | Adapter |
70
+ |---|---|
71
+ | `Animation` | `engine/ecs/animation/AnimationSerializationAdapter.js` |
72
+ | `FogOfWar` | `engine/ecs/fow/serialization/FogOfWarSerializationAdapter.js` |
73
+ | `GUIElement` | `engine/ecs/gui/GUIElementSerializationAdapter.js` |
74
+ | `InverseKinematics` | `engine/ecs/ik/InverseKinematicsSerializationAdapter.js` |
75
+ | `Book` | `engine/ecs/storage/binary/BinaryClassSerializationAdapter.js` |
76
+ | `?` | `engine/ecs/storage/binary/object/ObjectBasedClassSerializationAdapter.js` |
77
+ | `Terrain` | `engine/ecs/terrain/serialization/TerrainSerializationAdapter.js` |
78
+ | `AnimationController` | `engine/graphics/ecs/animation/AnimationControllerSerializationAdapter.js` |
79
+ | `AnimationGraph` | `engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.js` |
80
+ | `AnimationGraphDefinition` | `engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionSerializationAdapter.js` |
81
+ | `Camera` | `engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.js` |
82
+ | `TopDownCameraController` | `engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.js` |
83
+ | `Decal` | `engine/graphics/ecs/decal/v2/DecalSerializationAdapter.js` |
84
+ | `Highlight` | `engine/graphics/ecs/highlight/HighlightSerializationAdapter.js` |
85
+ | `Mesh` | `engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js` |
86
+ | `Water` | `engine/graphics/ecs/water/WaterSerializationAdapter.js` |
87
+ | `ParameterLookupTable` | `engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js` |
88
+ | `ParticleEmitter` | `engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js` |
89
+ | `LightProbeVolume` | `engine/graphics/sh3/lpv/serialization/LightProbeVolumeSerializationAdapter.js` |
90
+ | `Sampler2D` | `engine/graphics/texture/sampler/serialization/Sampler2DSerializationAdapter.js` |
91
+ | `GridPosition2Transform` | `engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.js` |
92
+ | `GridObstacle` | `engine/grid/obstacle/GridObstacleSerializationAdapter.js` |
93
+ | `ParallelBehavior` | `engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.js` |
94
+ | `SequenceBehavior` | `engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js` |
95
+ | `InvertStatusBehavior` | `engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.js` |
96
+ | `RepeatBehavior` | `engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js` |
97
+ | `BehaviorComponent` | `engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js` |
98
+ | `Transform` | `engine/interpolation/TransformPoseSerializationAdapter.js` |
99
+ | `AcousticProbeField` | `engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.js` |
100
+
101
+ ## Upgraders
102
+
103
+ 24 upgraders in the tree. Ten had a hand-written golden — an explicit byte layout in the version the upgrader
104
+ reads — and those goldens are the one genuinely brutalist thing in the deleted files. They are preserved here
105
+ verbatim so porting them to per-upgrader specs is transcription rather than archaeology.
106
+
107
+ The per-upgrader spec should assert **the restored field values**, not the byte count the deleted harness
108
+ asserted. The byte count was a proxy it used because it had no idea what the values ought to be; a spec that
109
+ names one upgrader does know, and should say so.
110
+
111
+ ### Goldens to port
112
+
113
+ ```js
114
+ const GOLDENS = {
115
+ "CameraSerializationUpgrader_0_1.js": buffer => {
116
+ buffer.writeUint8(1); // autoClip
117
+ buffer.writeUint8(1); // active, an ObservedBoolean, one byte
118
+ },
119
+
120
+ "ClingToTerrainSerializationUpgrader_0_1.js": buffer => {
121
+ buffer.writeUint8(1); // normalAlign
122
+ },
123
+
124
+ "DecalSerializationUpgrader_0_1.js": buffer => {
125
+ buffer.writeUTF8String("data/textures/decal/circle1.png");
126
+ buffer.writeFloat32(0); // priority
127
+ buffer.writeFloat32Array([1, 1, 1, 1], 0, 4); // colour
128
+ },
129
+
130
+ "HighlightSerializationUpgrader_0_1.js": buffer => {
131
+ buffer.writeFloat32(0.25); // r
132
+ buffer.writeFloat32(0.5); // g
133
+ buffer.writeFloat32(0.75); // b
134
+ buffer.writeFloat32(1); // a
135
+ },
136
+
137
+ "PathSerializationUpgrader_0_1.js": buffer => {
138
+ buffer.writeUint32(2); // point count
139
+
140
+ for (let i = 0; i < 6; i++) {
141
+ buffer.writeFloat64(i);
142
+ }
143
+ },
144
+
145
+ "PathSerializationUpgrader_1_2.js": buffer => {
146
+ buffer.writeUint8(0); // interpolation
147
+ buffer.writeUintVar(0); // marker index
148
+ buffer.writeFloat32(0); // marker offset
149
+ buffer.writeUintVar(2); // point count
150
+
151
+ for (let i = 0; i < 6; i++) {
152
+ buffer.writeFloat32(i);
153
+ }
154
+ },
155
+
156
+ "PathSerializationUpgrader_2_3.js": buffer => {
157
+ buffer.writeUint8(0); // interpolation
158
+ buffer.writeUintVar(2); // point count
159
+ buffer.writeUintVar(3); // elements per point
160
+
161
+ for (let i = 0; i < 6; i++) {
162
+ buffer.writeFloat32(i);
163
+ }
164
+ },
165
+
166
+ "TagSerializationUpgrader_0_1.js": buffer => {
167
+ buffer.writeUTF8String("a-tag");
168
+ },
169
+
170
+ "TopDownCameraControllerSerializationUpgrader_0_1.js": buffer => {
171
+ // target x/y/z, pitch, yaw, distance, distanceMin, distanceMax
172
+ for (let i = 0; i < 8; i++) {
173
+ buffer.writeFloat64(i + 1);
174
+ }
175
+ },
176
+
177
+ "TransformSerializationUpgrader_0_1.js": buffer => {
178
+ buffer.writeFloat64(1); // position x
179
+ buffer.writeFloat64(2); // position y
180
+ buffer.writeFloat64(3); // position z
181
+
182
+ buffer.writeUint32(0); // encoded rotation
183
+
184
+ buffer.writeFloat32(1); // scale x
185
+ buffer.writeFloat32(2); // scale y
186
+ buffer.writeFloat32(3); // scale z
187
+ }
188
+ };
189
+ ```
190
+
191
+ ### Upgraders with no golden
192
+
193
+ Fourteen versions of the save format that nothing verifies can still be read. This was already an admitted gap
194
+ in the deleted spec; it is not a new one.
195
+
196
+ > The two `SoundEmitter` upgraders, its v2 adapter and the `SoundController` adapter now live under
197
+ > `engine/sound/sopra/legacy/` alongside the components they read. Those components are frozen readers with no
198
+ > runtime behaviour: they exist so that pre-`AudioEmitter` saves still deserialize, and are fed to
199
+ > `convertLegacySoundComponents`, which turns them into `AudioEmitter` / `AudioEventTrigger`. They stay
200
+ > registered here for exactly that reason — de-registering them would make old saves unreadable.
201
+
202
+ ```js
203
+ const WITHOUT_GOLDEN = [
204
+ "FogOfWarSerializationUpdater_0_1.js",
205
+ "GridPosition2TransformSerializationUpgrader_0_1.js",
206
+ "GridPositionSerializationUpdater_0_1.js",
207
+ "ParticleEmitterSerializationUpgrader_0_1.js",
208
+ "PathFollowerSerializationUpgrader_0_1.js",
209
+ "PathFollowerSerializationUpgrader_1_2.js",
210
+ "PathFollowerSerializationUpgrader_2_3.js",
211
+ "PathFollowerSerializationUpgrader_3_4.js",
212
+ "RigidBodySerializationUpgrader_0_1.js",
213
+ "SoundEmitterSerializationUpgrader_0_1.js",
214
+ "SoundEmitterSerializationUpgrader_1_2.js",
215
+ "TerrainSerializationUpgrader_0_1.js",
216
+ "TerrainSerializationUpgrader_1_2.js",
217
+ "WaterSerializationUpgrader_0_1.js"
218
+ ];
219
+ ```
220
+
221
+ ## Known defects in the format
222
+
223
+ These came out of `KNOWN_DIVERGENCE`, where they were encoded as expected values so the suite stayed green
224
+ with the bugs in place. They are real: an entity saved with any of these set does not come back the same.
225
+ Preserved here as a defect list, which is what they always were.
226
+
227
+ Where a spec has since been written for the adapter, the divergence is asserted explicitly *with its reason*,
228
+ so the behaviour is visible at the adapter rather than in a table keyed by file path — see
229
+ `LightSerializationAdapter.spec.js` (packed RGB drops alpha, harmless for a light and stated as such) and
230
+ `WaitForEventBehaviorSerializationAdapter.spec.js` (the event name survives, the wait state does not, which is
231
+ a defect and says so).
232
+
233
+ ```js
234
+ const KNOWN_DIVERGENCE = {
235
+ // Color.toUint() is documented as RGB-only (uint24) and both adapters use
236
+ // it, so alpha is dropped by design. Kept visible rather than exempted:
237
+ // a light has no meaningful alpha, but water's might, and that is a call
238
+ // for whoever owns the water shader.
239
+ "engine/graphics/ecs/light/LightSerializationAdapter.js": ["color.a"],
240
+ "engine/graphics/ecs/water/WaterSerializationAdapter.js": ["color.a", "shoreColor.a"],
241
+
242
+ "engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js": [
243
+ "flags", "valueMax", "valueMin"
244
+ ],
245
+
246
+ // flag fields dropped wholesale
247
+ "engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.js": ["flags"],
248
+ "engine/ecs/transform/TransformSerializationAdapter.js": ["flags"],
249
+ "engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js": ["flags"],
250
+
251
+ // a behaviour tree restored mid-run resumes from the wrong child
252
+ "engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js": [
253
+ "__currentBehaviourIndex", "__currentBehaviourState"
254
+ ],
255
+ "engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js": ["__behavior"],
256
+
257
+ // the event it is waiting for is dropped, so it waits forever
258
+ "engine/intelligence/behavior/ecs/WaitForEventBehaviorSerializationAdapter.js": [
259
+ "detected", "entity", "target"
260
+ ],
261
+
262
+ "engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.js": ["shape.radius"]
263
+ };
264
+ ```
265
+
266
+ Worth separating when these are worked through:
267
+
268
+ * **Deliberate and harmless** `Light.color.a`: `Color.toUint()` is documented RGB-only. A light has no
269
+ meaningful alpha.
270
+ * **Deliberate and questionable** — `Water.color.a`, `Water.shoreColor.a`: same encoding, but water's alpha
271
+ might mean something. A call for whoever owns that shader.
272
+ * **Straightforwardly broken** — `flags` dropped wholesale on `Transform`, `Mesh` and
273
+ `GridPosition2Transform`; `SequenceBehavior` resuming from the wrong child; `BehaviorComponent` losing its
274
+ behaviour entirely; `WaitForEventBehavior` restored on the wrong side of the event it waits for, so it waits
275
+ forever; `AcousticVolume` losing its radius.
@@ -1 +1 @@
1
- {"version":3,"file":"populateEngineSerializationRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/populateEngineSerializationRegistry.js"],"names":[],"mappings":"AAqKA;;;;;;;;GAQG;AACH,iGA8FC"}
1
+ {"version":3,"file":"populateEngineSerializationRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/populateEngineSerializationRegistry.js"],"names":[],"mappings":"AA+KA;;;;;;;;GAQG;AACH,iGAyGC"}
@@ -152,16 +152,26 @@ import {
152
152
  import {
153
153
  PathFollowerSerializationUpgrader_3_4
154
154
  } from "../../navigation/ecs/path_following/PathFollowerSerializationUpgrader_3_4.js";
155
- import { SoundEmitter } from "../../sound/ecs/emitter/SoundEmitter.js";
156
- import { SoundEmitterSerializationAdapter } from "../../sound/ecs/emitter/SoundEmitterSerializationAdapter.js";
155
+ import { SoundEmitter } from "../../sound/sopra/legacy/SoundEmitter.js";
156
+ import { SoundEmitterSerializationAdapter } from "../../sound/sopra/legacy/SoundEmitterSerializationAdapter.js";
157
157
  import {
158
158
  SoundEmitterSerializationUpgrader_0_1
159
- } from "../../sound/ecs/emitter/SoundEmitterSerializationUpgrader_0_1.js";
159
+ } from "../../sound/sopra/legacy/SoundEmitterSerializationUpgrader_0_1.js";
160
160
  import {
161
161
  SoundEmitterSerializationUpgrader_1_2
162
- } from "../../sound/ecs/emitter/SoundEmitterSerializationUpgrader_1_2.js";
163
- import { SoundControllerSerializationAdapter } from "../../sound/ecs/SoundController.js";
162
+ } from "../../sound/sopra/legacy/SoundEmitterSerializationUpgrader_1_2.js";
163
+ import { SoundControllerSerializationAdapter } from "../../sound/sopra/legacy/SoundController.js";
164
164
  import { SoundListenerSerializationAdapter } from "../../sound/ecs/SoundListener.js";
165
+ import { AudioEmitterSerializationAdapter } from "../../sound/ecs/audio/AudioEmitterSerializationAdapter.js";
166
+ import {
167
+ AudioEventTriggerSerializationAdapter
168
+ } from "../../sound/ecs/trigger/AudioEventTriggerSerializationAdapter.js";
169
+ import {
170
+ populateAcousticSerializationRegistry
171
+ } from "../../sound/simulation/serialization/populateAcousticSerializationRegistry.js";
172
+ import {
173
+ populateSopraSerializationRegistry
174
+ } from "../../sound/sopra/serialization/populateSopraSerializationRegistry.js";
165
175
 
166
176
  /**
167
177
  * Registers the serialization adapters and upgraders for every engine-side component type.
@@ -174,6 +184,15 @@ import { SoundListenerSerializationAdapter } from "../../sound/ecs/SoundListener
174
184
  */
175
185
  export function populateEngineSerializationRegistry(registry) {
176
186
 
187
+ // Value types the component adapters below reach through the engine's BinaryObjectSerializationAdapter,
188
+ // which is built from THIS registry: an AudioEmitter's EventDescription owns a polymorphic clip graph
189
+ // (sample / sequence / random / switch / blend) plus effects, and the acoustic components carry
190
+ // materials / media / directivity. Without these the object adapter cannot name those types and an
191
+ // AudioEmitter cannot be written at all. Registered first so a host that also calls one of them gets the
192
+ // engine's registration rather than a duplicate warning.
193
+ populateSopraSerializationRegistry(registry);
194
+ populateAcousticSerializationRegistry(registry);
195
+
177
196
  registry.registerAdapters([
178
197
  new TransformSerializationAdapter(),
179
198
  new NameSerializationAdapter(),
@@ -185,6 +204,8 @@ export function populateEngineSerializationRegistry(registry) {
185
204
  new SoundEmitterSerializationAdapter(),
186
205
  new SoundControllerSerializationAdapter(),
187
206
  new SoundListenerSerializationAdapter(),
207
+ new AudioEmitterSerializationAdapter(),
208
+ new AudioEventTriggerSerializationAdapter(),
188
209
  new AnimationSerializationAdapter(),
189
210
  new SGMeshSerializationAdapter(),
190
211
  new TopDownCameraControllerSerializationAdapter(),
@@ -1 +1 @@
1
- {"version":3,"file":"hideEntityGracefully.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/util/hideEntityGracefully.js"],"names":[],"mappings":"AAuKA;;;;;;GAMG;AACH,8GAFY,MAAM,CAmCjB"}
1
+ {"version":3,"file":"hideEntityGracefully.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/util/hideEntityGracefully.js"],"names":[],"mappings":"AA2JA;;;;;;GAMG;AACH,8GAFY,MAAM,CAmCjB"}