@woosh/meep-engine 3.3.0 → 3.4.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 (846) 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/EntityCreator.d.ts +19 -11
  9. package/src/engine/EntityCreator.d.ts.map +1 -1
  10. package/src/engine/EntityCreator.js +116 -94
  11. package/src/engine/achievements/AchievementManager.d.ts.map +1 -1
  12. package/src/engine/achievements/AchievementManager.js +437 -433
  13. package/src/engine/animation/AnimatedActions.d.ts +6 -1
  14. package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
  15. package/src/engine/animation/AnimatedActions.js +111 -81
  16. package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
  17. package/src/engine/animation/AnimationUtils.js +234 -252
  18. package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +275 -269
  19. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
  20. package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +26 -5
  21. package/src/engine/ecs/util/hideEntityGracefully.d.ts.map +1 -1
  22. package/src/engine/ecs/util/hideEntityGracefully.js +196 -208
  23. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +3 -1
  24. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  25. package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +4 -2
  26. package/src/engine/sound/SOUND_EMITTER_RETIREMENT_PLAN.md +536 -0
  27. package/src/engine/sound/SoundEngine.d.ts +2 -2
  28. package/src/engine/sound/SoundEngine.js +124 -124
  29. package/src/engine/sound/ecs/audio/AudioEmitter.d.ts +20 -0
  30. package/src/engine/sound/ecs/audio/AudioEmitter.d.ts.map +1 -1
  31. package/src/engine/sound/ecs/audio/AudioEmitter.js +25 -2
  32. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +6 -6
  33. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  34. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +338 -314
  35. package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts +143 -0
  36. package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts.map +1 -0
  37. package/src/engine/sound/ecs/trigger/AudioEventTrigger.js +191 -0
  38. package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.d.ts +33 -0
  39. package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.d.ts.map +1 -0
  40. package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.js +81 -0
  41. package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts +65 -0
  42. package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts.map +1 -0
  43. package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.js +184 -0
  44. package/src/engine/sound/sopra/IMPLEMENTATION_PLAN.md +999 -993
  45. package/src/engine/sound/sopra/README.md +644 -643
  46. package/src/engine/sound/sopra/SopraEngine.d.ts +2 -2
  47. package/src/engine/sound/sopra/SopraEngine.js +432 -432
  48. package/src/engine/sound/sopra/legacy/SoundAttenuationFunction.d.ts.map +1 -0
  49. package/src/engine/sound/{ecs → sopra/legacy}/SoundController.d.ts +3 -3
  50. package/src/engine/sound/sopra/legacy/SoundController.d.ts.map +1 -0
  51. package/src/engine/sound/{ecs → sopra/legacy}/SoundController.js +176 -176
  52. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitter.d.ts +11 -27
  53. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -0
  54. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitter.js +352 -382
  55. package/src/engine/sound/sopra/legacy/SoundEmitterFlags.d.ts.map +1 -0
  56. package/src/engine/sound/sopra/legacy/SoundEmitterSerializationAdapter.d.ts.map +1 -0
  57. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.d.ts.map +1 -1
  58. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.d.ts.map +1 -1
  59. package/src/engine/sound/sopra/legacy/SoundPanningModelType.d.ts.map +1 -0
  60. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrack.d.ts +11 -55
  61. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -0
  62. package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrack.js +278 -357
  63. package/src/engine/sound/sopra/legacy/SoundTrackFlags.d.ts.map +1 -0
  64. package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.d.ts +34 -0
  65. package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.d.ts.map +1 -0
  66. package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.js +279 -0
  67. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts +3 -3
  68. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts.map +1 -1
  69. package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.js +122 -122
  70. package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
  71. package/src/shade/device/mock/SoftwareGPUDevice.js +7 -1
  72. package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
  73. package/src/shade/device/timing/GPUTimerArray.js +10 -0
  74. package/src/shade/playground/add_random_meshes.d.ts +19 -3
  75. package/src/shade/playground/add_random_meshes.d.ts.map +1 -1
  76. package/src/shade/playground/add_random_meshes.js +132 -84
  77. package/src/shade/playground/bvh_repro/README.md +57 -0
  78. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts +33 -0
  79. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -0
  80. package/src/shade/playground/bvh_repro/bvh_repro_device.js +90 -0
  81. package/src/shade/playground/bvh_repro/index.html +124 -0
  82. package/src/shade/playground/bvh_repro/main.d.ts.map +1 -0
  83. package/src/shade/playground/bvh_repro/main.js +254 -0
  84. package/src/shade/playground/load_default_environment.d.ts +10 -1
  85. package/src/shade/playground/load_default_environment.d.ts.map +1 -1
  86. package/src/shade/playground/load_default_environment.js +44 -20
  87. package/src/shade/playground/make_playground_asset_manager.d.ts +16 -0
  88. package/src/shade/playground/make_playground_asset_manager.d.ts.map +1 -0
  89. package/src/shade/playground/make_playground_asset_manager.js +33 -0
  90. package/src/shade/playground/skinned_blas_refit/README.md +103 -0
  91. package/src/shade/playground/skinned_blas_refit/add_floor.d.ts +47 -0
  92. package/src/shade/playground/skinned_blas_refit/add_floor.d.ts.map +1 -0
  93. package/src/shade/playground/skinned_blas_refit/add_floor.js +71 -0
  94. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.d.ts +28 -0
  95. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.d.ts.map +1 -0
  96. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.js +745 -0
  97. package/src/shade/playground/skinned_blas_refit/flat_environment.d.ts +30 -0
  98. package/src/shade/playground/skinned_blas_refit/flat_environment.d.ts.map +1 -0
  99. package/src/shade/playground/skinned_blas_refit/flat_environment.js +67 -0
  100. package/src/shade/playground/skinned_blas_refit/index.html +168 -0
  101. package/src/shade/playground/skinned_blas_refit/main.d.ts +8 -0
  102. package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -0
  103. package/src/shade/playground/skinned_blas_refit/main.js +502 -0
  104. package/src/shade/playground/skinned_blas_refit/place_character.d.ts +81 -0
  105. package/src/shade/playground/skinned_blas_refit/place_character.d.ts.map +1 -0
  106. package/src/shade/playground/skinned_blas_refit/place_character.js +116 -0
  107. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts +21 -0
  108. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts.map +1 -0
  109. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.js +104 -0
  110. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.d.ts +23 -0
  111. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.d.ts.map +1 -0
  112. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.js +94 -0
  113. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.d.ts +26 -0
  114. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.d.ts.map +1 -0
  115. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.js +134 -0
  116. package/src/shade/playground/skinned_blas_refit/sweep_views.d.ts +40 -0
  117. package/src/shade/playground/skinned_blas_refit/sweep_views.d.ts.map +1 -0
  118. package/src/shade/playground/skinned_blas_refit/sweep_views.js +135 -0
  119. package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts +31 -0
  120. package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts.map +1 -0
  121. package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.js +240 -0
  122. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts +20 -0
  123. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts.map +1 -0
  124. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.js +202 -0
  125. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts +50 -0
  126. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -0
  127. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +366 -0
  128. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.d.ts +17 -0
  129. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.d.ts.map +1 -0
  130. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +249 -0
  131. package/src/shade/playground/sponza_path_trace/README.md +57 -0
  132. package/src/shade/playground/sponza_path_trace/index.html +164 -0
  133. package/src/shade/playground/sponza_path_trace/main.d.ts +8 -0
  134. package/src/shade/playground/sponza_path_trace/main.d.ts.map +1 -0
  135. package/src/shade/playground/sponza_path_trace/main.js +363 -0
  136. package/src/shade/renderer/Renderer.d.ts +16 -0
  137. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  138. package/src/shade/renderer/Renderer.js +23 -4
  139. package/src/shade/renderer/animation/GPUAnimationManager.d.ts +5 -1
  140. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  141. package/src/shade/renderer/animation/GPUAnimationManager.js +28 -3
  142. package/src/shade/renderer/animation/Skin.d.ts +9 -7
  143. package/src/shade/renderer/animation/Skin.d.ts.map +1 -1
  144. package/src/shade/renderer/animation/Skin.js +9 -7
  145. package/src/shade/renderer/animation/compute_skin_world_bounds.d.ts +35 -0
  146. package/src/shade/renderer/animation/compute_skin_world_bounds.d.ts.map +1 -0
  147. package/src/shade/renderer/animation/compute_skin_world_bounds.js +146 -0
  148. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
  149. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +41 -0
  150. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  151. package/src/shade/renderer/geometry/GPUGeometryManager.js +65 -15
  152. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +78 -7
  153. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  154. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +302 -77
  155. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts +18 -6
  156. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts.map +1 -1
  157. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js +19 -6
  158. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts +51 -0
  159. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -0
  160. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.js +260 -0
  161. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts +23 -0
  162. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -0
  163. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.js +82 -0
  164. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts +25 -0
  165. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts.map +1 -0
  166. package/src/shade/renderer/geometry/bvh/record_blas_refit.js +102 -0
  167. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts +30 -0
  168. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts.map +1 -0
  169. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.js +122 -0
  170. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.d.ts +55 -0
  171. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.d.ts.map +1 -0
  172. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.js +70 -0
  173. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.d.ts +37 -0
  174. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.d.ts.map +1 -0
  175. package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.js +45 -0
  176. package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +1115 -0
  177. package/src/shade/renderer/gpu_primitive/bvh/PHASE1_HANDOVER.md +201 -0
  178. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts +88 -0
  179. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -0
  180. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.js +233 -0
  181. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts +18 -0
  182. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts.map +1 -0
  183. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.js +38 -0
  184. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts +16 -0
  185. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts.map +1 -0
  186. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.js +79 -0
  187. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts +16 -0
  188. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts.map +1 -0
  189. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.js +49 -0
  190. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts +43 -0
  191. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts.map +1 -0
  192. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.js +217 -0
  193. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts +24 -0
  194. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts.map +1 -0
  195. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.js +143 -0
  196. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts +17 -0
  197. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts.map +1 -0
  198. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.js +83 -0
  199. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts +24 -0
  200. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts.map +1 -0
  201. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js +141 -0
  202. package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.d.ts +31 -0
  203. package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.d.ts.map +1 -0
  204. package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.js +422 -0
  205. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.d.ts.map +1 -1
  206. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.js +1 -2
  207. package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.d.ts +9 -0
  208. package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.d.ts.map +1 -0
  209. package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.js +23 -0
  210. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.d.ts +18 -0
  211. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.d.ts.map +1 -0
  212. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.js +32 -0
  213. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.d.ts +27 -0
  214. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.d.ts.map +1 -0
  215. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.js +41 -0
  216. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.d.ts +25 -0
  217. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.d.ts.map +1 -0
  218. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.js +74 -0
  219. package/src/shade/renderer/gpu_primitive/sort/defs.d.ts +71 -0
  220. package/src/shade/renderer/gpu_primitive/sort/defs.d.ts.map +1 -0
  221. package/src/shade/renderer/gpu_primitive/sort/defs.js +79 -0
  222. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts +37 -0
  223. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts.map +1 -0
  224. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.js +197 -0
  225. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.d.ts +16 -0
  226. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.d.ts.map +1 -0
  227. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.js +85 -0
  228. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.d.ts +15 -0
  229. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.d.ts.map +1 -0
  230. package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.js +192 -0
  231. package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.d.ts +12 -0
  232. package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.d.ts.map +1 -0
  233. package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.js +188 -0
  234. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +16 -4
  235. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
  236. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +235 -24
  237. package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
  238. package/src/shade/renderer/scene/GPUSceneContext.js +15 -3
  239. package/src/shade/renderer/scene/SkinnedMesh.d.ts +57 -11
  240. package/src/shade/renderer/scene/SkinnedMesh.d.ts.map +1 -1
  241. package/src/shade/renderer/scene/SkinnedMesh.js +111 -11
  242. package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.d.ts +22 -0
  243. package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.d.ts.map +1 -0
  244. package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.js +145 -0
  245. package/src/shade/renderer/scene/verify_gpu_tlas_build.d.ts +18 -0
  246. package/src/shade/renderer/scene/verify_gpu_tlas_build.d.ts.map +1 -0
  247. package/src/shade/renderer/scene/verify_gpu_tlas_build.js +364 -0
  248. package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.d.ts +9 -1
  249. package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.d.ts.map +1 -1
  250. package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.js +29 -21
  251. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.d.ts +22 -0
  252. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.d.ts.map +1 -0
  253. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.js +31 -0
  254. package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_ray.d.ts.map +1 -1
  255. package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_ray.js +87 -39
  256. package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.d.ts +17 -0
  257. package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.d.ts.map +1 -0
  258. package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.js +40 -0
  259. package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts +15 -0
  260. package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts.map +1 -0
  261. package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.js +52 -0
  262. package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.d.ts +9 -0
  263. package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.d.ts.map +1 -1
  264. package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.js +9 -0
  265. package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.d.ts +20 -0
  266. package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.d.ts.map +1 -1
  267. package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.js +52 -34
  268. package/src/shade/renderer/texture/virtual/README.md +255 -276
  269. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
  270. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +66 -2
  271. package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
  272. package/src/shade/wgsl/emulator/WGSLLanguageCore.js +83 -0
  273. package/src/view/interaction/InterfaceCommand.d.ts +8 -8
  274. package/src/view/interaction/InterfaceCommand.d.ts.map +1 -1
  275. package/src/view/interaction/InterfaceCommand.js +146 -146
  276. package/src/view/interaction/createInterfaceCommandButton.d.ts.map +1 -1
  277. package/src/view/interaction/createInterfaceCommandButton.js +115 -124
  278. package/src/engine/ecs/components/Timer.d.ts +0 -50
  279. package/src/engine/ecs/components/Timer.d.ts.map +0 -1
  280. package/src/engine/ecs/components/Timer.js +0 -80
  281. package/src/engine/ecs/evaluation/PointFitnessBinary.d.ts +0 -22
  282. package/src/engine/ecs/evaluation/PointFitnessBinary.d.ts.map +0 -1
  283. package/src/engine/ecs/evaluation/PointFitnessBinary.js +0 -33
  284. package/src/engine/ecs/evaluation/PointFitnessConstant.d.ts +0 -12
  285. package/src/engine/ecs/evaluation/PointFitnessConstant.d.ts.map +0 -1
  286. package/src/engine/ecs/evaluation/PointFitnessConstant.js +0 -27
  287. package/src/engine/ecs/evaluation/PointFitnessFunction.d.ts +0 -17
  288. package/src/engine/ecs/evaluation/PointFitnessFunction.d.ts.map +0 -1
  289. package/src/engine/ecs/evaluation/PointFitnessFunction.js +0 -20
  290. package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.d.ts +0 -12
  291. package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.d.ts.map +0 -1
  292. package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.js +0 -27
  293. package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.d.ts +0 -12
  294. package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.d.ts.map +0 -1
  295. package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.js +0 -28
  296. package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.d.ts +0 -50
  297. package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.d.ts.map +0 -1
  298. package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.js +0 -176
  299. package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.d.ts +0 -7
  300. package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.d.ts.map +0 -1
  301. package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.js +0 -68
  302. package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.d.ts +0 -7
  303. package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.d.ts.map +0 -1
  304. package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.js +0 -89
  305. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.d.ts +0 -17
  306. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.d.ts.map +0 -1
  307. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.js +0 -60
  308. package/src/engine/ecs/systems/TimerSystem.d.ts +0 -10
  309. package/src/engine/ecs/systems/TimerSystem.d.ts.map +0 -1
  310. package/src/engine/ecs/systems/TimerSystem.js +0 -86
  311. package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.d.ts +0 -13
  312. package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.d.ts.map +0 -1
  313. package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.js +0 -14
  314. package/src/engine/graphics/StandardFrameBuffers.d.ts +0 -7
  315. package/src/engine/graphics/StandardFrameBuffers.d.ts.map +0 -1
  316. package/src/engine/graphics/StandardFrameBuffers.js +0 -9
  317. package/src/engine/graphics/copy_transform_to_threejs_object.d.ts +0 -7
  318. package/src/engine/graphics/copy_transform_to_threejs_object.d.ts.map +0 -1
  319. package/src/engine/graphics/copy_transform_to_threejs_object.js +0 -12
  320. package/src/engine/graphics/ecs/light/binding/LightBinding.d.ts +0 -42
  321. package/src/engine/graphics/ecs/light/binding/LightBinding.d.ts.map +0 -1
  322. package/src/engine/graphics/ecs/light/binding/LightBinding.js +0 -133
  323. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.d.ts +0 -25
  324. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.d.ts.map +0 -1
  325. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.js +0 -90
  326. package/src/engine/graphics/ecs/light/binding/three/applyRotation.d.ts +0 -7
  327. package/src/engine/graphics/ecs/light/binding/three/applyRotation.d.ts.map +0 -1
  328. package/src/engine/graphics/ecs/light/binding/three/applyRotation.js +0 -24
  329. package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.d.ts +0 -7
  330. package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.d.ts.map +0 -1
  331. package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.js +0 -12
  332. package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.d.ts +0 -8
  333. package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.d.ts.map +0 -1
  334. package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.js +0 -41
  335. package/src/engine/graphics/ecs/light/shadow/LightShadow.d.ts +0 -4
  336. package/src/engine/graphics/ecs/light/shadow/LightShadow.d.ts.map +0 -1
  337. package/src/engine/graphics/ecs/light/shadow/LightShadow.js +0 -4
  338. package/src/engine/graphics/ecs/light/shadow/ShadowManager.d.ts +0 -27
  339. package/src/engine/graphics/ecs/light/shadow/ShadowManager.d.ts.map +0 -1
  340. package/src/engine/graphics/ecs/light/shadow/ShadowManager.js +0 -53
  341. package/src/engine/graphics/ecs/light/shadow/ShadowMap.d.ts +0 -8
  342. package/src/engine/graphics/ecs/light/shadow/ShadowMap.d.ts.map +0 -1
  343. package/src/engine/graphics/ecs/light/shadow/ShadowMap.js +0 -7
  344. package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.d.ts +0 -14
  345. package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.d.ts.map +0 -1
  346. package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.js +0 -62
  347. package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts +0 -30
  348. package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts.map +0 -1
  349. package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.js +0 -77
  350. package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.d.ts +0 -13
  351. package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.d.ts.map +0 -1
  352. package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.js +0 -43
  353. package/src/engine/graphics/ecs/light/three/light2type.d.ts +0 -8
  354. package/src/engine/graphics/ecs/light/three/light2type.d.ts.map +0 -1
  355. package/src/engine/graphics/ecs/light/three/light2type.js +0 -20
  356. package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.d.ts +0 -7
  357. package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.d.ts.map +0 -1
  358. package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.js +0 -13
  359. package/src/engine/graphics/particles/node-based/codegen/CodeContext.d.ts +0 -20
  360. package/src/engine/graphics/particles/node-based/codegen/CodeContext.d.ts.map +0 -1
  361. package/src/engine/graphics/particles/node-based/codegen/CodeContext.js +0 -47
  362. package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.d.ts +0 -12
  363. package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.d.ts.map +0 -1
  364. package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.js +0 -19
  365. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.d.ts +0 -18
  366. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.d.ts.map +0 -1
  367. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.js +0 -249
  368. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.d.ts +0 -7
  369. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.d.ts.map +0 -1
  370. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.js +0 -8
  371. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.d.ts +0 -7
  372. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.d.ts.map +0 -1
  373. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.js +0 -8
  374. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.d.ts +0 -14
  375. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.d.ts.map +0 -1
  376. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.js +0 -20
  377. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.d.ts +0 -3
  378. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.d.ts.map +0 -1
  379. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.js +0 -58
  380. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.d.ts +0 -3
  381. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.d.ts.map +0 -1
  382. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.js +0 -44
  383. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.d.ts +0 -3
  384. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.d.ts.map +0 -1
  385. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.js +0 -28
  386. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.d.ts +0 -3
  387. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.d.ts.map +0 -1
  388. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.js +0 -28
  389. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.d.ts +0 -3
  390. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.d.ts.map +0 -1
  391. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.js +0 -39
  392. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.d.ts +0 -3
  393. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.d.ts.map +0 -1
  394. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.js +0 -124
  395. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.d.ts +0 -3
  396. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.d.ts.map +0 -1
  397. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.js +0 -30
  398. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts +0 -64
  399. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts.map +0 -1
  400. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.js +0 -131
  401. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.d.ts +0 -32
  402. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.d.ts.map +0 -1
  403. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.js +0 -62
  404. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.d.ts +0 -46
  405. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.d.ts.map +0 -1
  406. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.js +0 -272
  407. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.d.ts +0 -28
  408. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.d.ts.map +0 -1
  409. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.js +0 -57
  410. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.d.ts +0 -32
  411. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.d.ts.map +0 -1
  412. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.js +0 -55
  413. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts +0 -34
  414. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts.map +0 -1
  415. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.js +0 -178
  416. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts +0 -7
  417. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts.map +0 -1
  418. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.js +0 -31
  419. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts +0 -13
  420. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts.map +0 -1
  421. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.js +0 -13
  422. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts +0 -7
  423. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts.map +0 -1
  424. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.js +0 -26
  425. package/src/engine/graphics/particles/node-based/nodes/ReadPosition.d.ts +0 -4
  426. package/src/engine/graphics/particles/node-based/nodes/ReadPosition.d.ts.map +0 -1
  427. package/src/engine/graphics/particles/node-based/nodes/ReadPosition.js +0 -5
  428. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts +0 -6
  429. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts.map +0 -1
  430. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.js +0 -14
  431. package/src/engine/graphics/particles/node-based/nodes/ShaderNode.d.ts +0 -37
  432. package/src/engine/graphics/particles/node-based/nodes/ShaderNode.d.ts.map +0 -1
  433. package/src/engine/graphics/particles/node-based/nodes/ShaderNode.js +0 -73
  434. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts +0 -7
  435. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts.map +0 -1
  436. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.js +0 -30
  437. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts +0 -7
  438. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts.map +0 -1
  439. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.js +0 -30
  440. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts +0 -7
  441. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts.map +0 -1
  442. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.js +0 -32
  443. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts +0 -6
  444. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts.map +0 -1
  445. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.js +0 -15
  446. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts +0 -7
  447. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts.map +0 -1
  448. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.js +0 -27
  449. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts +0 -7
  450. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts.map +0 -1
  451. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.js +0 -25
  452. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts +0 -7
  453. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts.map +0 -1
  454. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.js +0 -26
  455. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts +0 -7
  456. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts.map +0 -1
  457. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.js +0 -25
  458. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts +0 -7
  459. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts.map +0 -1
  460. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.js +0 -25
  461. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts +0 -7
  462. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts.map +0 -1
  463. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.js +0 -25
  464. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts +0 -7
  465. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts.map +0 -1
  466. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.js +0 -25
  467. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts +0 -7
  468. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts.map +0 -1
  469. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.js +0 -39
  470. package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.d.ts +0 -39
  471. package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.d.ts.map +0 -1
  472. package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.js +0 -45
  473. package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.d.ts +0 -9
  474. package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.d.ts.map +0 -1
  475. package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.js +0 -10
  476. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.d.ts +0 -13
  477. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.d.ts.map +0 -1
  478. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.js +0 -14
  479. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.d.ts +0 -50
  480. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.d.ts.map +0 -1
  481. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.js +0 -47
  482. package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.d.ts +0 -51
  483. package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.d.ts.map +0 -1
  484. package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.js +0 -93
  485. package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.d.ts +0 -6
  486. package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.d.ts.map +0 -1
  487. package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.js +0 -23
  488. package/src/engine/graphics/particles/node-based/populateNodeRegistry.d.ts +0 -7
  489. package/src/engine/graphics/particles/node-based/populateNodeRegistry.d.ts.map +0 -1
  490. package/src/engine/graphics/particles/node-based/populateNodeRegistry.js +0 -48
  491. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.d.ts +0 -21
  492. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.d.ts.map +0 -1
  493. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.js +0 -35
  494. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.d.ts +0 -20
  495. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.d.ts.map +0 -1
  496. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.js +0 -35
  497. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.d.ts +0 -14
  498. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.d.ts.map +0 -1
  499. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.js +0 -17
  500. package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.d.ts +0 -5
  501. package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.d.ts.map +0 -1
  502. package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.js +0 -150
  503. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.d.ts +0 -55
  504. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.d.ts.map +0 -1
  505. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.js +0 -105
  506. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.d.ts +0 -49
  507. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.d.ts.map +0 -1
  508. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.js +0 -103
  509. package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.d.ts +0 -4
  510. package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.d.ts.map +0 -1
  511. package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.js +0 -6
  512. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.d.ts +0 -83
  513. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.d.ts.map +0 -1
  514. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.js +0 -188
  515. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.d.ts +0 -123
  516. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.d.ts.map +0 -1
  517. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.js +0 -415
  518. package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts +0 -71
  519. package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts.map +0 -1
  520. package/src/engine/graphics/render/buffer/FrameBufferManager.js +0 -229
  521. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts +0 -22
  522. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts.map +0 -1
  523. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.js +0 -84
  524. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts +0 -33
  525. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts.map +0 -1
  526. package/src/engine/graphics/render/forward_plus/LightRenderMetadata.js +0 -61
  527. package/src/engine/graphics/render/forward_plus/SPECIFICATION.md +0 -155
  528. package/src/engine/graphics/render/forward_plus/assign_cluster.d.ts +0 -29
  529. package/src/engine/graphics/render/forward_plus/assign_cluster.d.ts.map +0 -1
  530. package/src/engine/graphics/render/forward_plus/assign_cluster.js +0 -124
  531. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.d.ts +0 -7
  532. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.d.ts.map +0 -1
  533. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.js +0 -17
  534. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.d.ts +0 -7
  535. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.d.ts.map +0 -1
  536. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.js +0 -17
  537. package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.d.ts +0 -9
  538. package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.d.ts.map +0 -1
  539. package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.js +0 -29
  540. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.d.ts +0 -12
  541. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.d.ts.map +0 -1
  542. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.js +0 -43
  543. package/src/engine/graphics/render/forward_plus/computeFrustumCorners.d.ts +0 -8
  544. package/src/engine/graphics/render/forward_plus/computeFrustumCorners.d.ts.map +0 -1
  545. package/src/engine/graphics/render/forward_plus/computeFrustumCorners.js +0 -68
  546. package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.d.ts +0 -4
  547. package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.d.ts.map +0 -1
  548. package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.js +0 -46
  549. package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.d.ts +0 -14
  550. package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.d.ts.map +0 -1
  551. package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.js +0 -327
  552. package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.d.ts +0 -2
  553. package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.d.ts.map +0 -1
  554. package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.js +0 -1
  555. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.d.ts +0 -2
  556. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.d.ts.map +0 -1
  557. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.js +0 -40
  558. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.d.ts +0 -2
  559. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.d.ts.map +0 -1
  560. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.js +0 -74
  561. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.d.ts +0 -2
  562. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.d.ts.map +0 -1
  563. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.js +0 -55
  564. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.d.ts +0 -2
  565. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.d.ts.map +0 -1
  566. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.js +0 -11
  567. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.d.ts +0 -2
  568. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.d.ts.map +0 -1
  569. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.js +0 -34
  570. package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.d.ts +0 -7
  571. package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.d.ts.map +0 -1
  572. package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.js +0 -60
  573. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.d.ts +0 -7
  574. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.d.ts.map +0 -1
  575. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.js +0 -38
  576. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.d.ts +0 -7
  577. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.d.ts.map +0 -1
  578. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.js +0 -30
  579. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts +0 -51
  580. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts.map +0 -1
  581. package/src/engine/graphics/render/forward_plus/model/Decal.js +0 -133
  582. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts +0 -16
  583. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts.map +0 -1
  584. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.js +0 -18
  585. package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.d.ts +0 -7
  586. package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.d.ts.map +0 -1
  587. package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.js +0 -8
  588. package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.d.ts +0 -10
  589. package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.d.ts.map +0 -1
  590. package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.js +0 -65
  591. package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.d.ts +0 -7
  592. package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.d.ts.map +0 -1
  593. package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.js +0 -8
  594. package/src/engine/graphics/render/forward_plus/query/cube_mapping.d.ts +0 -11
  595. package/src/engine/graphics/render/forward_plus/query/cube_mapping.d.ts.map +0 -1
  596. package/src/engine/graphics/render/forward_plus/query/cube_mapping.js +0 -38
  597. package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts +0 -21
  598. package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts.map +0 -1
  599. package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.js +0 -96
  600. package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts +0 -22
  601. package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts.map +0 -1
  602. package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.js +0 -44
  603. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts +0 -11
  604. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts.map +0 -1
  605. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.js +0 -169
  606. package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.d.ts +0 -9
  607. package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.d.ts.map +0 -1
  608. package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.js +0 -33
  609. package/src/engine/graphics/render/forward_plus/read_frustum_corner.d.ts +0 -2
  610. package/src/engine/graphics/render/forward_plus/read_frustum_corner.d.ts.map +0 -1
  611. package/src/engine/graphics/render/forward_plus/read_frustum_corner.js +0 -2
  612. package/src/engine/graphics/render/forward_plus/sort_decal_data.d.ts +0 -9
  613. package/src/engine/graphics/render/forward_plus/sort_decal_data.d.ts.map +0 -1
  614. package/src/engine/graphics/render/forward_plus/sort_decal_data.js +0 -102
  615. package/src/engine/graphics/render/forward_plus/testClusterEquality.d.ts +0 -10
  616. package/src/engine/graphics/render/forward_plus/testClusterEquality.d.ts.map +0 -1
  617. package/src/engine/graphics/render/forward_plus/testClusterEquality.js +0 -22
  618. package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts +0 -19
  619. package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts.map +0 -1
  620. package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.js +0 -62
  621. package/src/engine/graphics/shaders/AlphaBlendShader.d.ts +0 -18
  622. package/src/engine/graphics/shaders/AlphaBlendShader.d.ts.map +0 -1
  623. package/src/engine/graphics/shaders/AlphaBlendShader.js +0 -42
  624. package/src/engine/graphics/shaders/ClearShader.d.ts +0 -8
  625. package/src/engine/graphics/shaders/ClearShader.d.ts.map +0 -1
  626. package/src/engine/graphics/shaders/ClearShader.js +0 -28
  627. package/src/engine/graphics/shaders/ScreenSpaceQuadShader.d.ts +0 -13
  628. package/src/engine/graphics/shaders/ScreenSpaceQuadShader.d.ts.map +0 -1
  629. package/src/engine/graphics/shaders/ScreenSpaceQuadShader.js +0 -38
  630. package/src/engine/graphics/shaders/ScreenSpaceShader.d.ts +0 -7
  631. package/src/engine/graphics/shaders/ScreenSpaceShader.d.ts.map +0 -1
  632. package/src/engine/graphics/shaders/ScreenSpaceShader.js +0 -102
  633. package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.d.ts +0 -102
  634. package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.d.ts.map +0 -1
  635. package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.js +0 -277
  636. package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.d.ts +0 -40
  637. package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.d.ts.map +0 -1
  638. package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.js +0 -57
  639. package/src/engine/graphics/shaders/glsl_gen_swizzled_read.d.ts +0 -8
  640. package/src/engine/graphics/shaders/glsl_gen_swizzled_read.d.ts.map +0 -1
  641. package/src/engine/graphics/shaders/glsl_gen_swizzled_read.js +0 -39
  642. package/src/engine/graphics/shadows/README.md +0 -6
  643. package/src/engine/graphics/shadows/vsm.glsl.d.ts +0 -3
  644. package/src/engine/graphics/shadows/vsm.glsl.d.ts.map +0 -1
  645. package/src/engine/graphics/shadows/vsm.glsl.js +0 -43
  646. package/src/engine/graphics/util/composeMatrix4.d.ts +0 -9
  647. package/src/engine/graphics/util/composeMatrix4.d.ts.map +0 -1
  648. package/src/engine/graphics/util/composeMatrix4.js +0 -13
  649. package/src/engine/graphics/util/threeUpdateMatrix.d.ts +0 -6
  650. package/src/engine/graphics/util/threeUpdateMatrix.d.ts.map +0 -1
  651. package/src/engine/graphics/util/threeUpdateMatrix.js +0 -14
  652. package/src/engine/graphics/util/threeUpdateTransform.d.ts +0 -6
  653. package/src/engine/graphics/util/threeUpdateTransform.d.ts.map +0 -1
  654. package/src/engine/graphics/util/threeUpdateTransform.js +0 -16
  655. package/src/engine/sound/ecs/SoundController.d.ts.map +0 -1
  656. package/src/engine/sound/ecs/SoundControllerSystem.d.ts +0 -23
  657. package/src/engine/sound/ecs/SoundControllerSystem.d.ts.map +0 -1
  658. package/src/engine/sound/ecs/SoundControllerSystem.js +0 -103
  659. package/src/engine/sound/ecs/emitter/SoundAttenuationFunction.d.ts.map +0 -1
  660. package/src/engine/sound/ecs/emitter/SoundEmitter.d.ts.map +0 -1
  661. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.d.ts +0 -55
  662. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.d.ts.map +0 -1
  663. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.js +0 -265
  664. package/src/engine/sound/ecs/emitter/SoundEmitterFlags.d.ts.map +0 -1
  665. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationAdapter.d.ts.map +0 -1
  666. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts +0 -88
  667. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts.map +0 -1
  668. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +0 -159
  669. package/src/engine/sound/ecs/emitter/SoundPanningModelType.d.ts.map +0 -1
  670. package/src/engine/sound/ecs/emitter/SoundTrack.d.ts.map +0 -1
  671. package/src/engine/sound/ecs/emitter/SoundTrackFlags.d.ts.map +0 -1
  672. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.d.ts +0 -8
  673. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.d.ts.map +0 -1
  674. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.js +0 -41
  675. package/src/shade/playground/FramePerformanceMonitor.d.ts +0 -114
  676. package/src/shade/playground/FramePerformanceMonitor.d.ts.map +0 -1
  677. package/src/shade/playground/FramePerformanceMonitor.js +0 -468
  678. package/src/shade/playground/add_random_lights.d.ts +0 -8
  679. package/src/shade/playground/add_random_lights.d.ts.map +0 -1
  680. package/src/shade/playground/add_random_lights.js +0 -50
  681. package/src/shade/playground/animation_prototype.d.ts +0 -24
  682. package/src/shade/playground/animation_prototype.d.ts.map +0 -1
  683. package/src/shade/playground/animation_prototype.js +0 -508
  684. package/src/shade/playground/animation_prototype_skinning.d.ts +0 -31
  685. package/src/shade/playground/animation_prototype_skinning.d.ts.map +0 -1
  686. package/src/shade/playground/animation_prototype_skinning.js +0 -647
  687. package/src/shade/playground/animation_prototype_stress.d.ts +0 -35
  688. package/src/shade/playground/animation_prototype_stress.d.ts.map +0 -1
  689. package/src/shade/playground/animation_prototype_stress.js +0 -765
  690. package/src/shade/playground/enable_picker.d.ts +0 -8
  691. package/src/shade/playground/enable_picker.d.ts.map +0 -1
  692. package/src/shade/playground/enable_picker.js +0 -60
  693. package/src/shade/playground/gltf_skinned_prototype.d.ts +0 -27
  694. package/src/shade/playground/gltf_skinned_prototype.d.ts.map +0 -1
  695. package/src/shade/playground/gltf_skinned_prototype.js +0 -560
  696. package/src/shade/playground/gltf_skinned_stress_prototype.d.ts +0 -24
  697. package/src/shade/playground/gltf_skinned_stress_prototype.d.ts.map +0 -1
  698. package/src/shade/playground/gltf_skinned_stress_prototype.js +0 -387
  699. package/src/shade/playground/gltf_viewer.d.ts +0 -2
  700. package/src/shade/playground/gltf_viewer.d.ts.map +0 -1
  701. package/src/shade/playground/gltf_viewer.js +0 -283
  702. package/src/shade/playground/main.d.ts.map +0 -1
  703. package/src/shade/playground/main.js +0 -2727
  704. package/src/shade/playground/make_animated_instances.d.ts +0 -9
  705. package/src/shade/playground/make_animated_instances.d.ts.map +0 -1
  706. package/src/shade/playground/make_animated_instances.js +0 -118
  707. package/src/shade/playground/prototype_virtual_texture.d.ts +0 -2
  708. package/src/shade/playground/prototype_virtual_texture.d.ts.map +0 -1
  709. package/src/shade/playground/prototype_virtual_texture.js +0 -274
  710. package/src/shade/playground/prototype_volumetrics_01.d.ts +0 -2
  711. package/src/shade/playground/prototype_volumetrics_01.d.ts.map +0 -1
  712. package/src/shade/playground/prototype_volumetrics_01.js +0 -206
  713. package/src/shade/playground/sample.d.ts +0 -2
  714. package/src/shade/playground/sample.d.ts.map +0 -1
  715. package/src/shade/playground/sample.js +0 -234
  716. package/src/shade/playground/sample_load_gltf.d.ts +0 -9
  717. package/src/shade/playground/sample_load_gltf.d.ts.map +0 -1
  718. package/src/shade/playground/sample_load_gltf.js +0 -103
  719. package/src/shade/playground/spread_node3d_grid.d.ts +0 -7
  720. package/src/shade/playground/spread_node3d_grid.d.ts.map +0 -1
  721. package/src/shade/playground/spread_node3d_grid.js +0 -20
  722. package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.d.ts +0 -24
  723. package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.d.ts.map +0 -1
  724. package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.js +0 -88
  725. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.d.ts +0 -3
  726. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.d.ts.map +0 -1
  727. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.js +0 -49
  728. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.d.ts +0 -3
  729. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.d.ts.map +0 -1
  730. package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.js +0 -93
  731. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.d.ts +0 -24
  732. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.d.ts.map +0 -1
  733. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.js +0 -119
  734. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.d.ts +0 -7
  735. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.d.ts.map +0 -1
  736. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.js +0 -235
  737. package/src/shade/renderer/gpu_primitive/sort/NOTES.md +0 -5
  738. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.d.ts +0 -7
  739. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.d.ts.map +0 -1
  740. package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.js +0 -136
  741. package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.d.ts +0 -18
  742. package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.d.ts.map +0 -1
  743. package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.js +0 -108
  744. package/src/shade/renderer/gpu_primitive/sort/ffx/defs.d.ts +0 -35
  745. package/src/shade/renderer/gpu_primitive/sort/ffx/defs.d.ts.map +0 -1
  746. package/src/shade/renderer/gpu_primitive/sort/ffx/defs.js +0 -42
  747. package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.d.ts +0 -13
  748. package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.d.ts.map +0 -1
  749. package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.js +0 -116
  750. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.d.ts +0 -3
  751. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.d.ts.map +0 -1
  752. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.js +0 -120
  753. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.d.ts +0 -3
  754. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.d.ts.map +0 -1
  755. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.js +0 -76
  756. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.d.ts +0 -3
  757. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.d.ts.map +0 -1
  758. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.js +0 -125
  759. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.d.ts +0 -3
  760. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.d.ts.map +0 -1
  761. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.js +0 -140
  762. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.d.ts +0 -3
  763. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.d.ts.map +0 -1
  764. package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.js +0 -338
  765. package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.d.ts +0 -7
  766. package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.d.ts.map +0 -1
  767. package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.js +0 -261
  768. package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.d.ts +0 -3
  769. package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.d.ts.map +0 -1
  770. package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.js +0 -14
  771. package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.d.ts +0 -25
  772. package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.d.ts.map +0 -1
  773. package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.js +0 -25
  774. package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.d.ts +0 -15
  775. package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.d.ts.map +0 -1
  776. package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.js +0 -192
  777. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.d.ts +0 -5
  778. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.d.ts.map +0 -1
  779. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.js +0 -990
  780. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.d.ts +0 -5
  781. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.d.ts.map +0 -1
  782. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.js +0 -82
  783. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.d.ts +0 -3
  784. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.d.ts.map +0 -1
  785. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.js +0 -44
  786. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.d.ts +0 -5
  787. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.d.ts.map +0 -1
  788. package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.js +0 -156
  789. package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.d.ts +0 -6
  790. package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.d.ts.map +0 -1
  791. package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.js +0 -55
  792. package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.d.ts +0 -14
  793. package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.d.ts.map +0 -1
  794. package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.js +0 -110
  795. package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.d.ts +0 -12
  796. package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.d.ts.map +0 -1
  797. package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.js +0 -74
  798. package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.d.ts +0 -3
  799. package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.d.ts.map +0 -1
  800. package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.js +0 -125
  801. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.d.ts +0 -7
  802. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.d.ts.map +0 -1
  803. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.js +0 -36
  804. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.d.ts +0 -7
  805. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.d.ts.map +0 -1
  806. package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.js +0 -54
  807. package/src/shade/renderer/shader/chunk/bvh/packed/NOTES.md +0 -19
  808. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.d.ts +0 -3
  809. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.d.ts.map +0 -1
  810. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.js +0 -9
  811. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.d.ts +0 -6
  812. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.d.ts.map +0 -1
  813. package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.js +0 -5
  814. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.d.ts +0 -8
  815. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.d.ts.map +0 -1
  816. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.js +0 -17
  817. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.d.ts +0 -3
  818. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.d.ts.map +0 -1
  819. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.js +0 -14
  820. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.d.ts +0 -3
  821. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.d.ts.map +0 -1
  822. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.js +0 -27
  823. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.d.ts +0 -3
  824. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.d.ts.map +0 -1
  825. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.js +0 -31
  826. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.d.ts +0 -3
  827. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.d.ts.map +0 -1
  828. package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.js +0 -25
  829. package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.d.ts +0 -3
  830. package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.d.ts.map +0 -1
  831. package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.js +0 -42
  832. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundAttenuationFunction.d.ts +0 -0
  833. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundAttenuationFunction.js +0 -0
  834. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterFlags.d.ts +0 -0
  835. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterFlags.js +0 -0
  836. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationAdapter.d.ts +0 -0
  837. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationAdapter.js +0 -0
  838. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.d.ts +0 -0
  839. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.js +0 -0
  840. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.d.ts +0 -0
  841. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.js +0 -0
  842. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundPanningModelType.d.ts +0 -0
  843. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundPanningModelType.js +0 -0
  844. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrackFlags.d.ts +0 -0
  845. /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrackFlags.js +0 -0
  846. /package/src/shade/playground/{main.d.ts → bvh_repro/main.d.ts} +0 -0
@@ -1,468 +0,0 @@
1
- import { assert } from "../../core/assert.js";
2
- import { RingBuffer } from "../../core/collection/RingBuffer.js";
3
- import { computeStatisticalMean } from "../../core/math/statistics/computeStatisticalMean.js";
4
- import { computeStatisticalMedian } from "../../core/math/statistics/computeStatisticalMedian.js";
5
- import {
6
- computeStatisticalPercentile
7
- } from "../../core/math/statistics/computeStatisticalPercentile.js";
8
- import {
9
- computeStatisticalStandardDeviation
10
- } from "../../core/math/statistics/computeStatisticalStandardDeviation.js";
11
-
12
- /**
13
- * Overlay lines that can be drawn on top of the per-frame trace.
14
- * @enum {string}
15
- */
16
- export const FrameOverlayMode = Object.freeze({
17
- NONE: 'none',
18
- MEDIAN: 'median',
19
- P10: 'p10', // worst 10% (a.k.a. "10% lows")
20
- P5: 'p5', // worst 5% (a.k.a. "5% lows")
21
- P1: 'p1', // worst 1% (a.k.a. "1% lows")
22
- });
23
-
24
- const OVERLAY_LABELS = {
25
- [FrameOverlayMode.NONE]: 'off',
26
- [FrameOverlayMode.MEDIAN]: 'median',
27
- [FrameOverlayMode.P10]: '10% low',
28
- [FrameOverlayMode.P5]: '5% low',
29
- [FrameOverlayMode.P1]: '1% low',
30
- };
31
-
32
- const OVERLAY_CYCLE = [
33
- FrameOverlayMode.NONE,
34
- FrameOverlayMode.MEDIAN,
35
- FrameOverlayMode.P10,
36
- FrameOverlayMode.P5,
37
- FrameOverlayMode.P1,
38
- ];
39
-
40
- /**
41
- * Tracks per-frame submission timestamps and reports pacing statistics over a
42
- * rolling window. Renders a Stats.js-style canvas with the per-frame trace,
43
- * an auto-scaled millisecond grid, and a selectable percentile/median overlay.
44
- *
45
- * The y-axis is auto-scaled to the maximum sample in the window (with 10%
46
- * headroom), so the visible graph "height" tracks the data.
47
- *
48
- * Usage:
49
- * const monitor = new FramePerformanceMonitor();
50
- * document.body.appendChild(monitor.dom);
51
- * // each frame:
52
- * monitor.record(performance.now() * 1e-3);
53
- */
54
- export class FramePerformanceMonitor {
55
-
56
- /**
57
- * Rolling window of frame deltas, in seconds.
58
- * @type {RingBuffer<number>}
59
- */
60
- #buffer;
61
-
62
- /**
63
- *
64
- * @param {number} count
65
- * @returns {number[]}
66
- */
67
- dump_last(count) {
68
- const result = [];
69
-
70
- let n = Math.min(count, this.#buffer.count);
71
-
72
- for (let i = n - 1; i >= 0; i--) {
73
- result.push(this.#buffer.getFromHead(i));
74
- }
75
-
76
- return result;
77
- }
78
-
79
- /**
80
- * Reusable scratch array for copying ring-buffer contents into a flat list
81
- * for the statistics utilities.
82
- * @type {number[]}
83
- */
84
- #scratch = [];
85
-
86
-
87
- /** @type {HTMLCanvasElement} */
88
- #canvas;
89
-
90
- /** @type {CanvasRenderingContext2D} */
91
- #ctx;
92
-
93
- /** @type {number} logical (CSS) width */
94
- #width;
95
-
96
- /** @type {number} logical (CSS) height */
97
- #height;
98
-
99
- /**
100
- * Currently displayed overlay line. Public — assign directly to change.
101
- * Use a value from {@link FrameOverlayMode}.
102
- * @type {string}
103
- */
104
- overlay_mode = FrameOverlayMode.MEDIAN;
105
-
106
- /**
107
- * @param {object} [options]
108
- * @param {number} [options.analysis_frame_count] number of frames in the rolling window (default 512)
109
- * @param {number} [options.width] canvas width in CSS pixels (default 240)
110
- * @param {number} [options.height] canvas height in CSS pixels (default 110)
111
- */
112
- constructor({ analysis_frame_count = 512, width = 640, height = 200 } = {}) {
113
- assert.isNonNegativeInteger(analysis_frame_count, 'analysis_frame_count');
114
- assert.greaterThan(analysis_frame_count, 0, 'analysis_frame_count');
115
-
116
- this.#buffer = new RingBuffer(analysis_frame_count);
117
-
118
- this.#width = width;
119
- this.#height = height;
120
-
121
- const dpr = (typeof window !== 'undefined' && window.devicePixelRatio) || 1;
122
-
123
- const canvas = document.createElement('canvas');
124
- canvas.width = Math.round(width * dpr);
125
- canvas.height = Math.round(height * dpr);
126
- canvas.style.cssText = [
127
- `width: ${width}px`,
128
- `height: ${height}px`,
129
- 'background: #0d0d12',
130
- 'border: 1px solid #2a2a35',
131
- 'border-radius: 4px',
132
- "font-family: 'JetBrains Mono', Consolas, monospace",
133
- 'cursor: pointer',
134
- 'user-select: none',
135
- 'display: block',
136
- ].join('; ');
137
-
138
- canvas.title = 'Frame Performance Monitor — click to cycle overlay (median / 10% low / 5% low / 1% low / off)';
139
- canvas.addEventListener('click', () => this.cycle_overlay());
140
-
141
- this.#ctx = canvas.getContext('2d');
142
- // Draw in logical (CSS) coordinates; scale once for HiDPI.
143
- this.#ctx.scale(dpr, dpr);
144
-
145
- this.#canvas = canvas;
146
-
147
- this.#render();
148
- }
149
-
150
- /**
151
- * The HTML element to insert into the page. Mirrors stats.js convention.
152
- * @returns {HTMLCanvasElement}
153
- */
154
- get dom() {
155
- return this.#canvas;
156
- }
157
-
158
- /**
159
- * Number of frame samples kept in the rolling window.
160
- * @returns {number}
161
- */
162
- get analysis_frame_count() {
163
- return this.#buffer.size;
164
- }
165
-
166
- /**
167
- * @param {number} v
168
- */
169
- set analysis_frame_count(v) {
170
- assert.isNonNegativeInteger(v, 'analysis_frame_count');
171
- assert.greaterThan(v, 0, 'analysis_frame_count');
172
-
173
- this.#buffer.resize(v);
174
- this.#render();
175
- }
176
-
177
- /**
178
- * Number of frames currently recorded (≤ analysis_frame_count).
179
- * @returns {number}
180
- */
181
- get sample_count() {
182
- return this.#buffer.count;
183
- }
184
-
185
- /**
186
- * Record a frame submission timestamp.
187
- * Successive calls produce frame deltas that feed the analysis window.
188
- *
189
- * @param {number} time_delta_s
190
- */
191
- record(time_delta_s) {
192
- assert.isNumber(time_delta_s, 'time_delta_s');
193
-
194
- // Guard against NaN and clock-backwards readings — keep the new
195
- // baseline so the next delta is valid.
196
- if (!Number.isFinite(time_delta_s) || time_delta_s < 0) {
197
- return;
198
- }
199
-
200
- this.#buffer.push(time_delta_s);
201
- this.#render();
202
- }
203
-
204
- /**
205
- * Discard all recorded samples.
206
- */
207
- reset() {
208
- this.#buffer.clear();
209
- this.#render();
210
- }
211
-
212
- /**
213
- * Cycle the overlay mode: off → median → 10% low → 5% low → 1% low → off …
214
- */
215
- cycle_overlay() {
216
- const idx = OVERLAY_CYCLE.indexOf(this.overlay_mode);
217
- this.overlay_mode = OVERLAY_CYCLE[(idx + 1) % OVERLAY_CYCLE.length];
218
- this.#render();
219
- }
220
-
221
- // ── Stats getters (all values in seconds) ─────────────────────────────
222
-
223
- /** @returns {number} */
224
- get mean() {
225
- const samples = this.#collect();
226
- if (samples.length === 0) return 0;
227
- return computeStatisticalMean(samples);
228
- }
229
-
230
- /**
231
- * Population standard deviation across the window.
232
- * @returns {number}
233
- */
234
- get standard_deviation() {
235
- const samples = this.#collect();
236
- if (samples.length === 0) return 0;
237
- return computeStatisticalStandardDeviation(samples);
238
- }
239
-
240
- /** @returns {number} */
241
- get median() {
242
- const samples = this.#collect();
243
- if (samples.length === 0) return 0;
244
- return computeStatisticalMedian(samples);
245
- }
246
-
247
- /**
248
- * "1% low" — median delta of the worst 1% of frames.
249
- * @returns {number}
250
- */
251
- get low_1_percent() {
252
- return this.#low_percentile(0.01);
253
- }
254
-
255
- /**
256
- * "5% low" — median delta of the worst 5% of frames.
257
- * @returns {number}
258
- */
259
- get low_5_percent() {
260
- return this.#low_percentile(0.05);
261
- }
262
-
263
- /**
264
- * "10% low" — median delta of the worst 10% of frames.
265
- * @returns {number}
266
- */
267
- get low_10_percent() {
268
- return this.#low_percentile(0.10);
269
- }
270
-
271
- /**
272
- * @param {number} fraction 0..1 — top-fraction of slowest frames to summarise
273
- * @returns {number}
274
- */
275
- #low_percentile(fraction) {
276
- const samples = this.#collect();
277
- if (samples.length < 2) return 0;
278
- return computeStatisticalPercentile(samples, 1 - fraction, 1);
279
- }
280
-
281
- /**
282
- * Copy the ring buffer into a flat array (reusing scratch).
283
- * The returned array must not be retained — it is reused across calls.
284
- * @returns {number[]}
285
- */
286
- #collect() {
287
- const buffer = this.#buffer;
288
- const count = buffer.count;
289
- const scratch = this.#scratch;
290
-
291
- scratch.length = count;
292
-
293
- let i = 0;
294
- buffer.forEach((v) => {
295
- scratch[i++] = v;
296
- });
297
-
298
- return scratch;
299
- }
300
-
301
- // ── Rendering ─────────────────────────────────────────────────────────
302
-
303
- #render() {
304
- const ctx = this.#ctx;
305
- const w = this.#width;
306
- const h = this.#height;
307
-
308
- ctx.fillStyle = '#0d0d12';
309
- ctx.fillRect(0, 0, w, h);
310
-
311
- const samples = this.#collect();
312
-
313
- const header_h = 14;
314
- const label_w = 32;
315
- const graph_top = header_h;
316
- const graph_left = label_w;
317
- const graph_h = h - header_h - 2;
318
- const graph_w = w - label_w - 2;
319
-
320
- if (samples.length < 2) {
321
- ctx.fillStyle = 'rgba(255,255,255,0.55)';
322
- ctx.font = '10px monospace';
323
- ctx.textBaseline = 'top';
324
- ctx.fillText('frame perf · waiting for samples…', 4, 2);
325
- return;
326
- }
327
-
328
- // Auto-scale y axis to the peak sample, with 10% headroom.
329
- let max_s = 0;
330
- for (let i = 0; i < samples.length; i++) {
331
- const v = samples[i];
332
- if (v > max_s) max_s = v;
333
- }
334
- if (max_s <= 0) max_s = 1 / 60;
335
-
336
- const y_max_s = max_s * 1.1;
337
- const y_max_ms = y_max_s * 1000;
338
-
339
- // Y grid + labels.
340
- const ticks = nice_ticks(y_max_ms, 4);
341
- ctx.strokeStyle = 'rgba(255,255,255,0.06)';
342
- ctx.fillStyle = 'rgba(255,255,255,0.4)';
343
- ctx.font = '9px monospace';
344
- ctx.textBaseline = 'middle';
345
- ctx.lineWidth = 1;
346
- for (const ms of ticks) {
347
- const ratio = ms / y_max_ms;
348
- const y = graph_top + graph_h - ratio * graph_h;
349
-
350
- ctx.beginPath();
351
- // +0.5 for crisp 1px lines.
352
- ctx.moveTo(graph_left, y + 0.5);
353
- ctx.lineTo(graph_left + graph_w, y + 0.5);
354
- ctx.stroke();
355
-
356
- ctx.fillText(format_ms_tick(ms), 2, y);
357
- }
358
-
359
- // Per-frame trace.
360
- ctx.beginPath();
361
- ctx.strokeStyle = '#7fc1ff';
362
- ctx.lineWidth = 1;
363
-
364
- const N = samples.length;
365
- const x_step = N > 1 ? graph_w / (N - 1) : 0;
366
-
367
- for (let i = 0; i < N; i++) {
368
- const x = graph_left + i * x_step;
369
- const y = graph_top + graph_h - (samples[i] / y_max_s) * graph_h;
370
-
371
- if (i === 0) ctx.moveTo(x, y);
372
- else ctx.lineTo(x, y);
373
- }
374
- ctx.stroke();
375
-
376
- // Overlay line.
377
- const overlay_value_s = this.#overlay_value();
378
- if (overlay_value_s > 0 && overlay_value_s <= y_max_s) {
379
- const y = graph_top + graph_h - (overlay_value_s / y_max_s) * graph_h;
380
-
381
- ctx.beginPath();
382
- ctx.strokeStyle = '#ffaa55';
383
- ctx.lineWidth = 1;
384
- ctx.setLineDash([4, 3]);
385
- ctx.moveTo(graph_left, y + 0.5);
386
- ctx.lineTo(graph_left + graph_w, y + 0.5);
387
- ctx.stroke();
388
- ctx.setLineDash([]);
389
-
390
- ctx.fillStyle = '#ffaa55';
391
- ctx.textBaseline = 'bottom';
392
- const label = `${OVERLAY_LABELS[this.overlay_mode]} ${(overlay_value_s * 1000).toFixed(2)}ms`;
393
- const label_y = Math.max(graph_top + 8, y - 1);
394
- ctx.fillText(label, graph_left + 2, label_y);
395
- }
396
-
397
- // Header.
398
- const mean_s = computeStatisticalMean(samples);
399
- const sd_s = computeStatisticalStandardDeviation(samples);
400
- const fps = mean_s > 0 ? 1 / mean_s : 0;
401
-
402
- const header = `${(mean_s * 1000).toFixed(2)}ms σ${(sd_s * 1000).toFixed(2)} ${fps.toFixed(0)}fps · ${OVERLAY_LABELS[this.overlay_mode]}`;
403
-
404
- ctx.fillStyle = 'rgba(255,255,255,0.85)';
405
- ctx.font = '10px monospace';
406
- ctx.textBaseline = 'top';
407
- ctx.fillText(header, 4, 2);
408
- }
409
-
410
- /**
411
- * @returns {number} -1 if no overlay should be drawn
412
- */
413
- #overlay_value() {
414
- switch (this.overlay_mode) {
415
- case FrameOverlayMode.MEDIAN:
416
- return this.median;
417
- case FrameOverlayMode.P10:
418
- return this.low_10_percent;
419
- case FrameOverlayMode.P5:
420
- return this.low_5_percent;
421
- case FrameOverlayMode.P1:
422
- return this.low_1_percent;
423
- default:
424
- return -1;
425
- }
426
- }
427
- }
428
-
429
- /**
430
- * Pick "nice" tick values for an axis ranging from 0 to `max`.
431
- * Returns an ascending list of values (excluding 0).
432
- *
433
- * @param {number} max
434
- * @param {number} target_count desired number of ticks
435
- * @returns {number[]}
436
- */
437
- function nice_ticks(max, target_count) {
438
- if (max <= 0) return [];
439
- const raw_step = max / target_count;
440
- const exp = Math.floor(Math.log10(raw_step));
441
- const base = Math.pow(10, exp);
442
- const fraction = raw_step / base;
443
-
444
- let nice;
445
- if (fraction < 1.5) nice = 1;
446
- else if (fraction < 3) nice = 2;
447
- else if (fraction < 7) nice = 5;
448
- else nice = 10;
449
-
450
- const step = nice * base;
451
-
452
- const ticks = [];
453
- for (let v = step; v <= max; v += step) {
454
- ticks.push(v);
455
- }
456
- return ticks;
457
- }
458
-
459
- /**
460
- * @param {number} ms
461
- * @returns {string}
462
- */
463
- function format_ms_tick(ms) {
464
- if (ms >= 100) return ms.toFixed(0);
465
- if (ms >= 10) return ms.toFixed(1);
466
- if (ms >= 1) return ms.toFixed(1);
467
- return ms.toFixed(2);
468
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Debug method
3
- * @param {Scene} scene
4
- * @param {number} count
5
- * @param normalize
6
- */
7
- export function add_random_lights(scene: Scene, count?: number, normalize?: boolean): void;
8
- //# sourceMappingURL=add_random_lights.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add_random_lights.d.ts","sourceRoot":"","sources":["../../../../src/shade/playground/add_random_lights.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wDAHW,MAAM,6BAyChB"}
@@ -1,50 +0,0 @@
1
- import Vector3 from "../../core/geom/Vector3.js";
2
- import { randomFloatBetween } from "../../core/math/random/randomFloatBetween.js";
3
- import { seededRandom } from "../../core/math/random/seededRandom.js";
4
- import { PointLight } from "../renderer/light/model/PointLight.js";
5
-
6
- /**
7
- * Debug method
8
- * @param {Scene} scene
9
- * @param {number} count
10
- * @param normalize
11
- */
12
- export function add_random_lights(scene, count = 10000, normalize = true) {
13
-
14
- const random = seededRandom();
15
-
16
- const bounds = scene.instances.bounding_box;
17
-
18
- const bounds_size = 1;
19
-
20
- for (let i = 0; i < count; i++) {
21
-
22
- const light = new PointLight();
23
-
24
- let radius = bounds_size;
25
-
26
- if (normalize) {
27
- radius /= Math.sqrt(count);
28
- }
29
-
30
- light.radius = radius * 0.02;
31
-
32
- light.position = new Vector3(
33
- randomFloatBetween(random, bounds.x0, bounds.x1),
34
- randomFloatBetween(random, bounds.y0, bounds.y1),
35
- randomFloatBetween(random, bounds.z0, bounds.z1),
36
- );
37
-
38
- light.updateMatrices();
39
-
40
- light.distance = radius;
41
-
42
- light.casts_shadow = false;
43
-
44
- light.color.setHSV(randomFloatBetween(random, 0, 1), 1, 1);
45
-
46
- scene.lights.add(light);
47
-
48
- }
49
-
50
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * Build the animation prototype scene: a cube simultaneously bobbing up and
3
- * down, spinning around a tilted axis, and shifting through the rainbow,
4
- * above a flat plane and lit by a directional sun. Animation runs entirely
5
- * on the GPU; the only per-frame CPU work is to advance the clip's `time`.
6
- *
7
- * Two separate playbacks drive two separate tracks (one scalar Y, one
8
- * 4-channel quaternion) with different periods, exercising:
9
- * - per-binding playback indirection (each binding picks its own `time`),
10
- * - simultaneous evaluation of multiple curves on a single instance,
11
- * - the `MeshRotation` apply path that writes a quaternion into the mesh
12
- * transform's rotation 3×3.
13
- *
14
- * @param {object} args
15
- * @param {Renderer} args.renderer
16
- * @param {Scene} args.scene
17
- * @param {OrbitalCameraController} args.controller
18
- */
19
- export function animation_prototype({ renderer, scene, controller }: {
20
- renderer: Renderer;
21
- scene: Scene;
22
- controller: OrbitalCameraController;
23
- }): void;
24
- //# sourceMappingURL=animation_prototype.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animation_prototype.d.ts","sourceRoot":"","sources":["../../../../src/shade/playground/animation_prototype.js"],"names":[],"mappings":"AA6IA;;;;;;;;;;;;;;;;;GAiBG;AACH;IAJ0B,QAAQ;IACX,KAAK;IACa,UAAU;SA8VlD"}