@woosh/meep-engine 3.33.0 → 3.34.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 (419) hide show
  1. package/editor/Editor.d.ts.map +1 -1
  2. package/editor/Editor.js +0 -3
  3. package/editor/ecs/component/prototypeObjectEditor.js +1 -165
  4. package/editor/ecs/component/registerBasicTypeEditors.d.ts.map +1 -1
  5. package/editor/ecs/component/registerBasicTypeEditors.js +0 -5
  6. package/editor/ecs/component/registerEngineComponentEditors.d.ts.map +1 -1
  7. package/editor/ecs/component/registerEngineComponentEditors.js +0 -20
  8. package/editor/process/SymbolicDisplayProcess.d.ts.map +1 -1
  9. package/editor/process/SymbolicDisplayProcess.js +100 -106
  10. package/editor/prototypeEditorShell.d.ts.map +1 -1
  11. package/editor/prototypeEditorShell.js +190 -186
  12. package/editor/templates/entity_templates.d.ts.map +1 -1
  13. package/editor/templates/entity_templates.js +10 -27
  14. package/editor/view/makeEntityDecorators.js +2 -2
  15. package/package.json +1 -1
  16. package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.d.ts +3 -3
  17. package/src/core/geom/3d/aabb/MovingBoundingBox.d.ts.map +1 -0
  18. package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.js +5 -5
  19. package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts +3 -0
  20. package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts.map +1 -0
  21. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGBA_LUT_HEATMAP_IR.js +1 -1
  22. package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts +6 -0
  23. package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts.map +1 -0
  24. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_INFERNO.js +1 -1
  25. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.d.ts +1 -1
  26. package/src/core/math/lookup/RGB_LUT_TURBO.d.ts.map +1 -0
  27. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.js +1 -1
  28. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.d.ts +1 -1
  29. package/src/core/math/lookup/RGB_LUT_VIRIDIS.d.ts.map +1 -0
  30. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.js +1 -1
  31. package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
  32. package/src/engine/animation/AnimatedActions.js +2 -4
  33. package/src/engine/animation/AnimationUtils.d.ts +1 -17
  34. package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
  35. package/src/engine/animation/AnimationUtils.js +138 -246
  36. package/src/engine/ecs/EntityManager.d.ts +1 -1
  37. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  38. package/src/engine/ecs/EntityManager.js +2 -2
  39. package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +268 -275
  40. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
  41. package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +0 -10
  42. package/src/engine/graphics/geometry/distribute_points_on_indexed_triangles.d.ts.map +1 -0
  43. package/src/engine/graphics/{particles/particular/engine/utils → geometry}/distribute_points_on_indexed_triangles.js +3 -3
  44. package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.d.ts +1 -1
  45. package/src/engine/graphics/texture/sampler/lut_to_sampler.d.ts.map +1 -0
  46. package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.js +1 -1
  47. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -3
  48. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
  49. package/src/engine/graphics3/GPUParticleEmitterSystem.js +0 -3
  50. package/src/engine/network/NetworkSession.d.ts +1 -1
  51. package/src/engine/network/NetworkSession.js +1 -1
  52. package/src/engine/physics/cloth/MEASUREMENTS.md +115 -0
  53. package/src/engine/physics/cloth/solver/cloth_contact_find.d.ts.map +1 -1
  54. package/src/engine/physics/cloth/solver/cloth_contact_find.js +2 -0
  55. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts +9 -0
  56. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts.map +1 -1
  57. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.js +30 -7
  58. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  59. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  60. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +12 -2
  61. package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts +11 -2
  62. package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts.map +1 -1
  63. package/src/engine/sound/ecs/audio/LiveEmitterSet.js +14 -7
  64. package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts +6 -15
  65. package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts.map +1 -1
  66. package/src/engine/sound/ecs/audio/SpatialAudioIndex.js +161 -174
  67. package/src/shade/device/mock/SoftwareGPUBuffer.d.ts +5 -3
  68. package/src/shade/device/mock/SoftwareGPUBuffer.d.ts.map +1 -1
  69. package/src/shade/device/mock/SoftwareGPUBuffer.js +32 -3
  70. package/src/shade/playground/caldera/main.js +73 -60
  71. package/src/shade/playground/vgeo_runtime/main.js +25 -77
  72. package/src/shade/playground/vgeo_scene/main.js +2231 -2217
  73. package/src/shade/renderer/GraphicsContext.d.ts +7 -0
  74. package/src/shade/renderer/GraphicsContext.d.ts.map +1 -1
  75. package/src/shade/renderer/GraphicsContext.js +11 -2
  76. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  77. package/src/shade/renderer/Renderer.js +38 -0
  78. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +8 -0
  79. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
  80. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +21 -0
  81. package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +1 -1
  82. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  83. package/src/shade/renderer/geometry/GPUGeometryManager.js +9 -10
  84. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +5 -0
  85. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  86. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +11 -0
  87. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts +12 -0
  88. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts.map +1 -1
  89. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.js +25 -0
  90. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts +115 -101
  91. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts.map +1 -1
  92. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.js +282 -140
  93. package/src/shade/renderer/geometry/virtual/runtime/REVIEW_LEDGER.md +30 -0
  94. package/src/shade/renderer/geometry/virtual/runtime/RUNTIME_PLAN_2026_09_14.md +4 -1
  95. package/src/shade/renderer/geometry/virtual/runtime/SHADOW_PLAN_2026_09_28.md +536 -0
  96. package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts +6 -2
  97. package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts.map +1 -1
  98. package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.js +68 -19
  99. package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts +2 -1
  100. package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts.map +1 -1
  101. package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.js +17 -1
  102. package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts +4 -0
  103. package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts.map +1 -1
  104. package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.js +42 -12
  105. package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts +93 -12
  106. package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts.map +1 -1
  107. package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.js +166 -20
  108. package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.d.ts.map +1 -1
  109. package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.js +30 -7
  110. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.d.ts.map +1 -1
  111. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.js +12 -5
  112. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.d.ts.map +1 -1
  113. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.js +2 -2
  114. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.d.ts.map +1 -1
  115. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.js +23 -13
  116. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.d.ts.map +1 -1
  117. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.js +1 -2
  118. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.d.ts.map +1 -1
  119. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.js +1 -2
  120. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.d.ts.map +1 -1
  121. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.js +10 -6
  122. package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts +45 -17
  123. package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts.map +1 -1
  124. package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.js +61 -19
  125. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts +8 -11
  126. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts.map +1 -1
  127. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.js +9 -16
  128. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.d.ts.map +1 -1
  129. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.js +25 -10
  130. package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_FEEDBACK_OFFSET.js +10 -8
  131. package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.d.ts +1 -0
  132. package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.js +19 -7
  133. package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts +4 -2
  134. package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts.map +1 -1
  135. package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.js +4 -2
  136. package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts +4 -0
  137. package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts.map +1 -1
  138. package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.js +7 -0
  139. package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts.map +1 -1
  140. package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.js +1 -0
  141. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
  142. package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
  143. package/src/shade/renderer/material/GPUMaterialManager.js +2 -0
  144. package/src/shade/renderer/particles/DESIGN.md +4 -10
  145. package/src/shade/renderer/particles/ParticleConstants.d.ts +1 -3
  146. package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
  147. package/src/shade/renderer/particles/ParticleConstants.js +1 -3
  148. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts +3 -4
  149. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts.map +1 -1
  150. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +3 -4
  151. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts +45 -0
  152. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts.map +1 -0
  153. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.js +99 -0
  154. package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.d.ts +4 -4
  155. package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.js +36 -36
  156. package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts +15 -0
  157. package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts.map +1 -0
  158. package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.js +103 -0
  159. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts +3 -0
  160. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts.map +1 -1
  161. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +6 -1
  162. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts +26 -0
  163. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts.map +1 -0
  164. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.js +91 -0
  165. package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts +22 -0
  166. package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts.map +1 -0
  167. package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.js +102 -0
  168. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts +2 -1
  169. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts.map +1 -1
  170. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js +28 -24
  171. package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.d.ts.map +1 -1
  172. package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.js +32 -28
  173. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts.map +1 -1
  174. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.js +9 -105
  175. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +5 -0
  176. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
  177. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +11 -0
  178. package/src/shade/renderer/scene/GPUSceneContext.d.ts +11 -3
  179. package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
  180. package/src/shade/renderer/scene/GPUSceneContext.js +93 -21
  181. package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts +4 -1
  182. package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
  183. package/src/shade/renderer/scene/rows/GPUSceneRows.js +5 -23
  184. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
  185. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +63 -0
  186. package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts +12 -0
  187. package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts.map +1 -0
  188. package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.js +11 -0
  189. package/src/shade/renderer/shadow/map/Shadowmap.d.ts +15 -0
  190. package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
  191. package/src/shade/renderer/shadow/map/Shadowmap.js +17 -0
  192. package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts +25 -0
  193. package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts.map +1 -0
  194. package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.js +22 -0
  195. package/src/shade/renderer/shadow/map/shadowmap_update_score.d.ts.map +1 -1
  196. package/src/shade/renderer/shadow/map/shadowmap_update_score.js +5 -2
  197. package/src/shade/renderer/texture/TextureManager.d.ts +2 -1
  198. package/src/shade/renderer/texture/TextureManager.d.ts.map +1 -1
  199. package/src/shade/renderer/texture/TextureManager.js +4 -1
  200. package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +1 -1
  201. package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts +9 -1
  202. package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts.map +1 -1
  203. package/src/shade/renderer/util/Uint32BufferSamplingStats.js +55 -5
  204. package/src/shade/renderer/view/ViewManager.d.ts +7 -1
  205. package/src/shade/renderer/view/ViewManager.d.ts.map +1 -1
  206. package/src/shade/renderer/view/ViewManager.js +17 -1
  207. package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
  208. package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +1 -0
  209. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts +0 -20
  210. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts.map +0 -1
  211. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.js +0 -35
  212. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts +0 -12
  213. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts.map +0 -1
  214. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.js +0 -17
  215. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts +0 -14
  216. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts.map +0 -1
  217. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.js +0 -18
  218. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts +0 -52
  219. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts.map +0 -1
  220. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.js +0 -58
  221. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts +0 -47
  222. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts.map +0 -1
  223. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.js +0 -58
  224. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts +0 -16
  225. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts.map +0 -1
  226. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.js +0 -21
  227. package/editor/particles/rebuildParticleEmitter.d.ts +0 -11
  228. package/editor/particles/rebuildParticleEmitter.d.ts.map +0 -1
  229. package/editor/particles/rebuildParticleEmitter.js +0 -31
  230. package/editor/process/ParticleEmitterRebuildProcess.d.ts +0 -66
  231. package/editor/process/ParticleEmitterRebuildProcess.d.ts.map +0 -1
  232. package/editor/process/ParticleEmitterRebuildProcess.js +0 -217
  233. package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts +0 -18
  234. package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts.map +0 -1
  235. package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.js +0 -140
  236. package/src/engine/animation/removeEntityGenericEffect.d.ts +0 -18
  237. package/src/engine/animation/removeEntityGenericEffect.d.ts.map +0 -1
  238. package/src/engine/animation/removeEntityGenericEffect.js +0 -160
  239. package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts +0 -16
  240. package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts.map +0 -1
  241. package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +0 -194
  242. package/src/engine/graphics/ecs/sprite/Sprite.d.ts +0 -15
  243. package/src/engine/graphics/ecs/sprite/Sprite.d.ts.map +0 -1
  244. package/src/engine/graphics/ecs/sprite/Sprite.js +0 -14
  245. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts +0 -11
  246. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +0 -1
  247. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +0 -144
  248. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts.map +0 -1
  249. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +0 -61
  250. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +0 -1
  251. package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +0 -229
  252. package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts +0 -6
  253. package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts.map +0 -1
  254. package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.js +0 -8
  255. package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts +0 -7
  256. package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts.map +0 -1
  257. package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.js +0 -9
  258. package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts +0 -13
  259. package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts.map +0 -1
  260. package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.js +0 -12
  261. package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts +0 -3
  262. package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts.map +0 -1
  263. package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.js +0 -84
  264. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +0 -285
  265. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +0 -1
  266. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +0 -1201
  267. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts +0 -19
  268. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts.map +0 -1
  269. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js +0 -67
  270. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts +0 -197
  271. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts.map +0 -1
  272. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +0 -398
  273. package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts +0 -5
  274. package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts.map +0 -1
  275. package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.js +0 -4
  276. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +0 -162
  277. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +0 -1
  278. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +0 -472
  279. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts +0 -10
  280. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +0 -1
  281. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +0 -37
  282. package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts +0 -9
  283. package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts.map +0 -1
  284. package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.js +0 -25
  285. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts +0 -19
  286. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts.map +0 -1
  287. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js +0 -28
  288. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts +0 -19
  289. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts.map +0 -1
  290. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js +0 -162
  291. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts +0 -5
  292. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts.map +0 -1
  293. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.js +0 -103
  294. package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts +0 -8
  295. package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts.map +0 -1
  296. package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.js +0 -28
  297. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts +0 -2
  298. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts.map +0 -1
  299. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +0 -2
  300. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts +0 -2
  301. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts.map +0 -1
  302. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.js +0 -2
  303. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts +0 -60
  304. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts.map +0 -1
  305. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.js +0 -128
  306. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts +0 -47
  307. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts.map +0 -1
  308. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js +0 -77
  309. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts +0 -45
  310. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts.map +0 -1
  311. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.js +0 -93
  312. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts +0 -95
  313. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts.map +0 -1
  314. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.js +0 -239
  315. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts +0 -3
  316. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts.map +0 -1
  317. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts +0 -6
  318. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts.map +0 -1
  319. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.d.ts.map +0 -1
  320. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.d.ts.map +0 -1
  321. package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts +0 -13
  322. package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts.map +0 -1
  323. package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.js +0 -28
  324. package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts +0 -9
  325. package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts.map +0 -1
  326. package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.js +0 -24
  327. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts +0 -13
  328. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts.map +0 -1
  329. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.js +0 -27
  330. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts +0 -33
  331. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts.map +0 -1
  332. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.js +0 -80
  333. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +0 -49
  334. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +0 -1
  335. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +0 -135
  336. package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts +0 -7
  337. package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts.map +0 -1
  338. package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.js +0 -14
  339. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts +0 -41
  340. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts.map +0 -1
  341. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.js +0 -59
  342. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts +0 -4
  343. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts.map +0 -1
  344. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.js +0 -56
  345. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts +0 -4
  346. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts.map +0 -1
  347. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.js +0 -84
  348. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts +0 -4
  349. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts.map +0 -1
  350. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +0 -80
  351. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts +0 -29
  352. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts.map +0 -1
  353. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.js +0 -43
  354. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts +0 -5
  355. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts.map +0 -1
  356. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.js +0 -104
  357. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts +0 -9
  358. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts.map +0 -1
  359. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.js +0 -11
  360. package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts +0 -9
  361. package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts.map +0 -1
  362. package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.js +0 -64
  363. package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts +0 -9
  364. package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts.map +0 -1
  365. package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js +0 -172
  366. package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +0 -1
  367. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts +0 -20
  368. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +0 -1
  369. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +0 -84
  370. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +0 -81
  371. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +0 -1
  372. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +0 -200
  373. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts +0 -6
  374. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts.map +0 -1
  375. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.js +0 -8
  376. package/src/engine/graphics/particles/particular/engine/utils/volume/lut_to_sampler.d.ts.map +0 -1
  377. package/src/engine/graphics/particles/particular/group/Operation.d.ts +0 -20
  378. package/src/engine/graphics/particles/particular/group/Operation.d.ts.map +0 -1
  379. package/src/engine/graphics/particles/particular/group/Operation.js +0 -20
  380. package/src/engine/graphics/particles/particular/group/OperationType.d.ts +0 -7
  381. package/src/engine/graphics/particles/particular/group/OperationType.d.ts.map +0 -1
  382. package/src/engine/graphics/particles/particular/group/OperationType.js +0 -9
  383. package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts +0 -27
  384. package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts.map +0 -1
  385. package/src/engine/graphics/particles/particular/group/ParticleAttribute.js +0 -27
  386. package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts +0 -8
  387. package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts.map +0 -1
  388. package/src/engine/graphics/particles/particular/group/ParticleAttributeType.js +0 -11
  389. package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts +0 -7
  390. package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts.map +0 -1
  391. package/src/engine/graphics/particles/particular/group/ParticleDataType.js +0 -10
  392. package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts +0 -24
  393. package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts.map +0 -1
  394. package/src/engine/graphics/particles/particular/group/ParticleSpecification.js +0 -48
  395. package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts +0 -7
  396. package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts.map +0 -1
  397. package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.js +0 -20
  398. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts +0 -6
  399. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts.map +0 -1
  400. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.js +0 -162
  401. package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts +0 -8
  402. package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts.map +0 -1
  403. package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.js +0 -19
  404. package/src/engine/graphics3/ParticleEmitterSystem.d.ts +0 -77
  405. package/src/engine/graphics3/ParticleEmitterSystem.d.ts.map +0 -1
  406. package/src/engine/graphics3/ParticleEmitterSystem.js +0 -307
  407. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +0 -10
  408. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +0 -1
  409. package/src/engine/graphics3/ParticleEmitterSystem3.js +0 -10
  410. package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts +0 -61
  411. package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts.map +0 -1
  412. package/src/engine/graphics3/particles/GPUParticularRenderer.js +0 -627
  413. package/src/engine/graphics3/particles/particle_gpu_records.d.ts +0 -85
  414. package/src/engine/graphics3/particles/particle_gpu_records.d.ts.map +0 -1
  415. package/src/engine/graphics3/particles/particle_gpu_records.js +0 -227
  416. package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts +0 -35
  417. package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +0 -1
  418. package/src/shade/renderer/particles/shaders/shader_particle_render.js +0 -135
  419. /package/src/engine/graphics/{particles/particular/engine/utils → geometry}/distribute_points_on_indexed_triangles.d.ts +0 -0
@@ -1,162 +0,0 @@
1
- export class ParticlePool {
2
- /**
3
- *
4
- * @param {AttributeGroupSpec} spec
5
- * @constructor
6
- */
7
- constructor(spec: AttributeGroupSpec);
8
- /**
9
- *
10
- * @type {BitSet}
11
- */
12
- occupancy: BitSet;
13
- /**
14
- * One per attribute of {@link spec}, in the same order, each holding {@link capacity} items.
15
- *
16
- * @type {AttributeData[]}
17
- */
18
- attributes: AttributeData[];
19
- /**
20
- *
21
- * @type {number}
22
- */
23
- growFactor: number;
24
- /**
25
- *
26
- * @type {number}
27
- */
28
- shrinkFactor: number;
29
- /**
30
- *
31
- * @type {number}
32
- */
33
- capacity: number;
34
- /**
35
- *
36
- * @type {AttributeGroupSpec}
37
- */
38
- spec: AttributeGroupSpec;
39
- size(): number;
40
- /**
41
- *
42
- * @returns {number}
43
- */
44
- create(): number;
45
- /**
46
- * Returns true if particle has discontinuous unused slots (holes)
47
- * @returns {boolean}
48
- */
49
- hasHoles(): boolean;
50
- /**
51
- *
52
- * @param {number} index
53
- */
54
- remove(index: number): void;
55
- /**
56
- * Remove holes from the occupancy set
57
- */
58
- compact(): void;
59
- update(): void;
60
- /**
61
- * Swap two particles identified by index
62
- * NOTE: Only attributes are swapped, occupancy is unaffected.
63
- * @param {number} indexA
64
- * @param {number} indexB
65
- */
66
- swap(indexA: number, indexB: number): void;
67
- build(): void;
68
- /**
69
- *
70
- * @param {number} capacity
71
- */
72
- growCapacity(capacity: number): void;
73
- /**
74
- *
75
- * @param {number} newCapacity
76
- */
77
- shrinkCapacity(newCapacity: number): void;
78
- /**
79
- *
80
- * @param {number} newCapacity
81
- */
82
- setCapacity(newCapacity: number): void;
83
- /**
84
- *
85
- * @param {number} particleIndex
86
- * @param {number} attributeIndex
87
- * @returns {number}
88
- */
89
- readAttributeScalar(particleIndex: number, attributeIndex: number): number;
90
- /**
91
- *
92
- * @param {number} particleIndex
93
- * @param {number} attributeIndex
94
- * @param {number} value
95
- */
96
- writeAttributeScalar(particleIndex: number, attributeIndex: number, value: number): void;
97
- /**
98
- *
99
- * @param {number} particleIndex
100
- * @param {number} attributeIndex
101
- * @param {number[]} result
102
- */
103
- readAttributeVector2(particleIndex: number, attributeIndex: number, result: number[]): void;
104
- /**
105
- *
106
- * @param {number} particleIndex
107
- * @param {number} attributeIndex
108
- * @param {number} x
109
- * @param {number} y
110
- */
111
- writeAttributeVector2(particleIndex: number, attributeIndex: number, x: number, y: number): void;
112
- /**
113
- *
114
- * @param {number} particleIndex
115
- * @param {number} attributeIndex
116
- * @param {number[]} result
117
- */
118
- readAttributeVector3(particleIndex: number, attributeIndex: number, result: number[]): void;
119
- /**
120
- *
121
- * @param {number} particleIndex
122
- * @param {number} attributeIndex
123
- * @param {number} x
124
- * @param {number} y
125
- * @param {number} z
126
- */
127
- writeAttributeVector3(particleIndex: number, attributeIndex: number, x: number, y: number, z: number): void;
128
- /**
129
- *
130
- * @param {number} particleIndex
131
- * @param {number} attributeIndex
132
- * @param {number[]} result
133
- */
134
- readAttributeVector4(particleIndex: number, attributeIndex: number, result: number[]): void;
135
- /**
136
- *
137
- * @param {number} particleIndex
138
- * @param {number} attributeIndex
139
- * @param {number} x
140
- * @param {number} y
141
- * @param {number} z
142
- * @param {number} w
143
- */
144
- writeAttributeVector4(particleIndex: number, attributeIndex: number, x: number, y: number, z: number, w: number): void;
145
- /**
146
- * Write the same attribute value for every particle.
147
- * Assumes particles are packed (no holes).
148
- * @param {number} attribute_index
149
- * @param {number[]|Float32Array|Uint8Array|Uint16Array|Int8Array|Int32Array} value
150
- */
151
- writeAttributeForAllArray(attribute_index: number, value: number[] | Float32Array | Uint8Array | Uint16Array | Int8Array | Int32Array): void;
152
- /**
153
- *
154
- * @param {number} attribute_index
155
- * @param {number[]} result
156
- */
157
- computeAttributeVector3AxisAlignedBoundingBox(attribute_index: number, result: number[]): void;
158
- dispose(): void;
159
- }
160
- import { BitSet } from "../../../../../../core/binary/BitSet.js";
161
- import { AttributeData } from "../../../../geometry/AttributeData.js";
162
- //# sourceMappingURL=ParticlePool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParticlePool.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js"],"names":[],"mappings":"AAUA;IAgCI;;;;OAIG;IACH,sCAWC;IA/CD;;;OAGG;IACH,WAFU,MAAM,CAES;IAEzB;;;;OAIG;IACH,YAFU,aAAa,EAAE,CAET;IAEhB;;;OAGG;IACH,YAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,cAFU,MAAM,CAEG;IAEnB;;;OAGG;IACH,UAFU,MAAM,CAEF;IAUV;;;OAGG;IACH,yBAAgB;IAMpB,eAEC;IAED;;;OAGG;IACH,UAFa,MAAM,CAiBlB;IAED;;;OAGG;IACH,YAFa,OAAO,CAMnB;IAED;;;OAGG;IACH,cAFW,MAAM,QAIhB;IAED;;OAEG;IACH,gBA2CC;IAED,eAOC;IAED;;;;;OAKG;IACH,aAHW,MAAM,UACN,MAAM,QAgChB;IAED,cAsBC;IAED;;;OAGG;IACH,uBAFW,MAAM,QAYhB;IAED;;;OAGG;IACH,4BAFW,MAAM,QAWhB;IAED;;;OAGG;IACH,yBAFW,MAAM,QAiBhB;IAED;;;;;OAKG;IACH,mCAJW,MAAM,kBACN,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;OAKG;IACH,oCAJW,MAAM,kBACN,MAAM,SACN,MAAM,QAQhB;IAED;;;;;OAKG;IACH,oCAJW,MAAM,kBACN,MAAM,UACN,MAAM,EAAE,QAWlB;IAED;;;;;;OAMG;IACH,qCALW,MAAM,kBACN,MAAM,KACN,MAAM,KACN,MAAM,QAWhB;IAED;;;;;OAKG;IACH,oCAJW,MAAM,kBACN,MAAM,UACN,MAAM,EAAE,QAYlB;IAED;;;;;;;OAOG;IACH,qCANW,MAAM,kBACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QAYhB;IAED;;;;;OAKG;IACH,oCAJW,MAAM,kBACN,MAAM,UACN,MAAM,EAAE,QAalB;IAED;;;;;;;;OAQG;IACH,qCAPW,MAAM,kBACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QAahB;IAED;;;;;OAKG;IACH,2CAHW,MAAM,SACN,MAAM,EAAE,GAAC,YAAY,GAAC,UAAU,GAAC,WAAW,GAAC,SAAS,GAAC,UAAU,QAwB3E;IAED;;;;OAIG;IACH,+DAHW,MAAM,UACN,MAAM,EAAE,QAgBlB;IAED,gBAGC;CACJ;uBAtdsB,yCAAyC;8BAIlC,uCAAuC"}
@@ -1,472 +0,0 @@
1
- import { assert } from "../../../../../../core/assert.js";
2
- import { BitSet } from "../../../../../../core/binary/BitSet.js";
3
- import { typed_array_copy } from "../../../../../../core/collection/array/typed/typed_array_copy.js";
4
- import { aabb3_from_v3_array } from "../../../../../../core/geom/3d/aabb/aabb3_from_v3_array.js";
5
- import { max3 } from "../../../../../../core/math/max3.js";
6
- import { AttributeData } from "../../../../geometry/AttributeData.js";
7
-
8
- const SHRINK_THRESHOLD = 64;
9
- const GROW_MIN_STEP = 32;
10
-
11
- export class ParticlePool {
12
- /**
13
- *
14
- * @type {BitSet}
15
- */
16
- occupancy = new BitSet();
17
-
18
- /**
19
- * One per attribute of {@link spec}, in the same order, each holding {@link capacity} items.
20
- *
21
- * @type {AttributeData[]}
22
- */
23
- attributes = [];
24
-
25
- /**
26
- *
27
- * @type {number}
28
- */
29
- growFactor = 1.3;
30
-
31
- /**
32
- *
33
- * @type {number}
34
- */
35
- shrinkFactor = 0.5;
36
-
37
- /**
38
- *
39
- * @type {number}
40
- */
41
- capacity = 16;
42
-
43
- /**
44
- *
45
- * @param {AttributeGroupSpec} spec
46
- * @constructor
47
- */
48
- constructor(spec) {
49
- assert.equal(spec.isAttributeGroupSpec, true, 'spec.VertexDataSpec !== true');
50
-
51
- /**
52
- *
53
- * @type {AttributeGroupSpec}
54
- */
55
- this.spec = spec;
56
-
57
-
58
- this.build();
59
- }
60
-
61
- size() {
62
- return this.occupancy.size();
63
- }
64
-
65
- /**
66
- *
67
- * @returns {number}
68
- */
69
- create() {
70
- //find an empty place in the pool
71
- const index = this.occupancy.nextClearBit(0);
72
-
73
- //reserve place
74
- this.occupancy.set(index, true);
75
-
76
- //ensure attribute arrays are large enough
77
- const min_capacity = index + 1;
78
-
79
- if (this.capacity < min_capacity) {
80
- this.growCapacity(min_capacity);
81
- }
82
-
83
- return index;
84
- }
85
-
86
- /**
87
- * Returns true if particle has discontinuous unused slots (holes)
88
- * @returns {boolean}
89
- */
90
- hasHoles() {
91
- const occupancy = this.occupancy;
92
-
93
- return occupancy.nextClearBit(0) < occupancy.size();
94
- }
95
-
96
- /**
97
- *
98
- * @param {number} index
99
- */
100
- remove(index) {
101
- this.occupancy.set(index, false);
102
- }
103
-
104
- /**
105
- * Remove holes from the occupancy set
106
- */
107
- compact() {
108
- const occupancy = this.occupancy;
109
-
110
- const specAttributes = this.spec.attributes;
111
- const numAttributes = specAttributes.length;
112
-
113
- let holeIndex, lastIndex, attributeIndex;
114
-
115
- holeIndex = occupancy.nextClearBit(0);
116
- lastIndex = occupancy.previousSetBit(occupancy.size());
117
-
118
- const attributes = this.attributes;
119
-
120
- while (holeIndex < lastIndex) {
121
-
122
- //move occupancy flag from the last to the hole
123
- occupancy.set(holeIndex, true);
124
- occupancy.set(lastIndex, false);
125
-
126
- //move attribute values
127
- for (attributeIndex = 0; attributeIndex < numAttributes; attributeIndex++) {
128
- const attribute = attributes[attributeIndex];
129
-
130
- const itemSize = attribute.itemSize;
131
-
132
- /**
133
- *
134
- * @type {Float32Array}
135
- */
136
- const attribute_array = attribute.array;
137
-
138
- //do swaps in the old array
139
- const targetIndex = holeIndex * itemSize;
140
- const sourceIndex = lastIndex * itemSize;
141
-
142
- attribute_array.copyWithin(targetIndex, sourceIndex, sourceIndex + itemSize);
143
- }
144
-
145
- //move hole and last cursors
146
- holeIndex = occupancy.nextClearBit(holeIndex + 1);
147
- lastIndex = occupancy.previousSetBit(lastIndex);
148
- }
149
-
150
- }
151
-
152
- update() {
153
- //some of the particles may have died and formed holes in the data array, compaction removes them
154
- this.compact();
155
-
156
- //attempt attribute size shrinkage
157
- const size = this.occupancy.size();
158
- this.shrinkCapacity(size);
159
- }
160
-
161
- /**
162
- * Swap two particles identified by index
163
- * NOTE: Only attributes are swapped, occupancy is unaffected.
164
- * @param {number} indexA
165
- * @param {number} indexB
166
- */
167
- swap(indexA, indexB) {
168
- //assert.ok(this.occupancy.get(indexA), `indexA=${indexA} is unoccupied`);
169
- //assert.ok(this.occupancy.get(indexB), `indexB=${indexB} is unoccupied`);
170
-
171
- const attributes = this.attributes;
172
- const numAttributes = attributes.length;
173
-
174
- let i, j;
175
-
176
- for (i = 0; i < numAttributes; i++) {
177
- const attribute = attributes[i];
178
-
179
- const itemSize = attribute.itemSize;
180
-
181
- const offsetA = indexA * itemSize;
182
- const offsetB = indexB * itemSize;
183
-
184
- const array = attribute.array;
185
-
186
- for (j = 0; j < itemSize; j++) {
187
- const addressA = offsetA + j;
188
- const addressB = offsetB + j;
189
-
190
- const temp = array[addressA];
191
-
192
- array[addressA] = array[addressB];
193
-
194
- array[addressB] = temp;
195
- }
196
- }
197
- }
198
-
199
- build() {
200
- const spec_attributes = this.spec.attributes;
201
- const l = spec_attributes.length;
202
-
203
- for (let i = 0; i < l; i++) {
204
-
205
- /**
206
- * @type {AttributeSpec}
207
- */
208
- const attributeSpec = spec_attributes[i];
209
-
210
- const newAttribute = AttributeData.allocate(attributeSpec, this.capacity);
211
-
212
- const old_attribute = this.attributes[i];
213
-
214
- if (old_attribute !== undefined && old_attribute.count !== 0) {
215
- //copy old data
216
- typed_array_copy(old_attribute.array, newAttribute.array);
217
- }
218
-
219
- this.attributes[i] = newAttribute;
220
- }
221
- }
222
-
223
- /**
224
- *
225
- * @param {number} capacity
226
- */
227
- growCapacity(capacity) {
228
- const newCapacity = Math.floor(
229
- max3(
230
- capacity,
231
- this.capacity * this.growFactor,
232
- this.capacity + GROW_MIN_STEP
233
- )
234
- );
235
-
236
- this.setCapacity(newCapacity);
237
- }
238
-
239
- /**
240
- *
241
- * @param {number} newCapacity
242
- */
243
- shrinkCapacity(newCapacity) {
244
- if (
245
- newCapacity < this.capacity * this.shrinkFactor
246
- && newCapacity < this.capacity - SHRINK_THRESHOLD
247
- ) {
248
-
249
- this.setCapacity(newCapacity);
250
-
251
- }
252
- }
253
-
254
- /**
255
- *
256
- * @param {number} newCapacity
257
- */
258
- setCapacity(newCapacity) {
259
- if (this.capacity === newCapacity) {
260
- //do nothing
261
- return;
262
- }
263
-
264
- const occupancy_size = this.occupancy.size();
265
-
266
- if (newCapacity < occupancy_size) {
267
- throw new Error(`Can not set capacity (=${newCapacity}) below occupancy set size (=${occupancy_size})`);
268
- }
269
-
270
- this.capacity = newCapacity;
271
-
272
- this.build();
273
- }
274
-
275
- /**
276
- *
277
- * @param {number} particleIndex
278
- * @param {number} attributeIndex
279
- * @returns {number}
280
- */
281
- readAttributeScalar(particleIndex, attributeIndex) {
282
- const attribute = this.attributes[attributeIndex];
283
-
284
- const array = attribute.array;
285
-
286
- return array[particleIndex];
287
- }
288
-
289
- /**
290
- *
291
- * @param {number} particleIndex
292
- * @param {number} attributeIndex
293
- * @param {number} value
294
- */
295
- writeAttributeScalar(particleIndex, attributeIndex, value) {
296
- const attribute = this.attributes[attributeIndex];
297
-
298
- const array = attribute.array;
299
-
300
- array[particleIndex] = value;
301
- }
302
-
303
- /**
304
- *
305
- * @param {number} particleIndex
306
- * @param {number} attributeIndex
307
- * @param {number[]} result
308
- */
309
- readAttributeVector2(particleIndex, attributeIndex, result) {
310
- const attribute = this.attributes[attributeIndex];
311
-
312
- const address = particleIndex * 2;
313
-
314
- const array = attribute.array;
315
-
316
- result[0] = array[address];
317
- result[1] = array[address + 1];
318
- }
319
-
320
- /**
321
- *
322
- * @param {number} particleIndex
323
- * @param {number} attributeIndex
324
- * @param {number} x
325
- * @param {number} y
326
- */
327
- writeAttributeVector2(particleIndex, attributeIndex, x, y) {
328
- const attribute = this.attributes[attributeIndex];
329
-
330
- const address = particleIndex * 2;
331
-
332
- const array = attribute.array;
333
-
334
- array[address] = x;
335
- array[address + 1] = y;
336
- }
337
-
338
- /**
339
- *
340
- * @param {number} particleIndex
341
- * @param {number} attributeIndex
342
- * @param {number[]} result
343
- */
344
- readAttributeVector3(particleIndex, attributeIndex, result) {
345
- const attribute = this.attributes[attributeIndex];
346
-
347
- const address = particleIndex * 3;
348
-
349
- const array = attribute.array;
350
-
351
- result[0] = array[address];
352
- result[1] = array[address + 1];
353
- result[2] = array[address + 2];
354
- }
355
-
356
- /**
357
- *
358
- * @param {number} particleIndex
359
- * @param {number} attributeIndex
360
- * @param {number} x
361
- * @param {number} y
362
- * @param {number} z
363
- */
364
- writeAttributeVector3(particleIndex, attributeIndex, x, y, z) {
365
- const attribute = this.attributes[attributeIndex];
366
-
367
- const address = particleIndex * 3;
368
-
369
- const array = attribute.array;
370
-
371
- array[address] = x;
372
- array[address + 1] = y;
373
- array[address + 2] = z;
374
- }
375
-
376
- /**
377
- *
378
- * @param {number} particleIndex
379
- * @param {number} attributeIndex
380
- * @param {number[]} result
381
- */
382
- readAttributeVector4(particleIndex, attributeIndex, result) {
383
- const attribute = this.attributes[attributeIndex];
384
-
385
- const address = particleIndex * 4;
386
-
387
- const array = attribute.array;
388
-
389
- result[0] = array[address];
390
- result[1] = array[address + 1];
391
- result[2] = array[address + 2];
392
- result[3] = array[address + 3];
393
- }
394
-
395
- /**
396
- *
397
- * @param {number} particleIndex
398
- * @param {number} attributeIndex
399
- * @param {number} x
400
- * @param {number} y
401
- * @param {number} z
402
- * @param {number} w
403
- */
404
- writeAttributeVector4(particleIndex, attributeIndex, x, y, z, w) {
405
- const attribute = this.attributes[attributeIndex];
406
-
407
- const address = particleIndex * 4;
408
-
409
- const array = attribute.array;
410
-
411
- array[address] = x;
412
- array[address + 1] = y;
413
- array[address + 2] = z;
414
- array[address + 3] = w;
415
- }
416
-
417
- /**
418
- * Write the same attribute value for every particle.
419
- * Assumes particles are packed (no holes).
420
- * @param {number} attribute_index
421
- * @param {number[]|Float32Array|Uint8Array|Uint16Array|Int8Array|Int32Array} value
422
- */
423
- writeAttributeForAllArray(attribute_index, value) {
424
- const attribute = this.attributes[attribute_index];
425
-
426
- const itemSize = attribute.itemSize;
427
-
428
- if (value.length < itemSize) {
429
- throw new Error(`Argument underflow, attribute.itemSize is '${itemSize}', but supplier argument's length is '${value.length}'`);
430
- }
431
-
432
- const n = this.size();
433
-
434
- const destination = attribute.array;
435
-
436
- let k;
437
- for (let i = 0; i < n; i++) {
438
- const offset = i * itemSize;
439
-
440
- for (k = 0; k < itemSize; k++) {
441
- destination[offset + k] = value[k];
442
- }
443
- }
444
-
445
- }
446
-
447
- /**
448
- *
449
- * @param {number} attribute_index
450
- * @param {number[]} result
451
- */
452
- computeAttributeVector3AxisAlignedBoundingBox(attribute_index, result) {
453
- const attribute = this.attributes[attribute_index];
454
- const item_size = attribute.itemSize;
455
-
456
- if (item_size !== 3) {
457
- throw new Error(`Attribute item_size is expected to be 3, instead was '${item_size}'`);
458
- }
459
-
460
- const particle_count = this.size();
461
-
462
- const data = attribute.array;
463
-
464
- aabb3_from_v3_array(result, data, particle_count * 3);
465
-
466
- }
467
-
468
- dispose() {
469
- // the pool owns nothing but its own arrays, and those go with it
470
- this.attributes.length = 0;
471
- }
472
- }
@@ -1,10 +0,0 @@
1
- /**
2
- *
3
- * @param {EmissionFromType} emissionType
4
- * @param {EmissionShapeType} emissionShape
5
- * @returns {(random: function, result: (number[]|Float32Array|Float64Array), result_offset: number) => void}
6
- */
7
- export function computeEmissionFunction(emissionType: EmissionFromType, emissionShape: EmissionShapeType): (random: Function, result: (number[] | Float32Array | Float64Array), result_offset: number) => void;
8
- import { EmissionFromType } from "./EmissionFromType.js";
9
- import { EmissionShapeType } from "./EmissionShapeType.js";
10
- //# sourceMappingURL=computeEmissionFunction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computeEmissionFunction.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,sDAJW,gBAAgB,iBAChB,iBAAiB,GACf,CAAC,MAAM,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAwB3G;iCAlCgC,uBAAuB;kCAFtB,wBAAwB"}
@@ -1,37 +0,0 @@
1
- import { EmissionShapeType } from "./EmissionShapeType.js";
2
- import { random_point_in_point } from "../../../../../../core/geom/random/random_point_in_point.js";
3
- import { EmissionFromType } from "./EmissionFromType.js";
4
- import { random_point_in_sphere } from "../../../../../../core/geom/random/random_point_in_sphere.js";
5
- import { random_point_on_sphere } from "../../../../../../core/geom/random/random_point_on_sphere.js";
6
- import { random_point_in_box } from "../../../../../../core/geom/random/random_point_in_box.js";
7
- import { random_point_on_box } from "../../../../../../core/geom/random/random_point_on_box.js";
8
-
9
- /**
10
- *
11
- * @param {EmissionFromType} emissionType
12
- * @param {EmissionShapeType} emissionShape
13
- * @returns {(random: function, result: (number[]|Float32Array|Float64Array), result_offset: number) => void}
14
- */
15
- export function computeEmissionFunction(emissionType, emissionShape) {
16
- if (emissionShape === EmissionShapeType.Point) {
17
- return random_point_in_point;
18
- } else if (emissionShape === EmissionShapeType.Sphere) {
19
- if (emissionType === EmissionFromType.Volume) {
20
- return random_point_in_sphere;
21
- } else if (emissionType === EmissionFromType.Shell) {
22
- return random_point_on_sphere;
23
- } else {
24
- throw new TypeError('Unsupported EmissionFrom Type');
25
- }
26
- } else if (emissionShape === EmissionShapeType.Box) {
27
- if (emissionType === EmissionFromType.Volume) {
28
- return random_point_in_box;
29
- } else if (emissionType === EmissionFromType.Shell) {
30
- return random_point_on_box;
31
- } else {
32
- throw new TypeError('Unsupported EmissionFrom Type');
33
- }
34
- } else {
35
- throw new TypeError('Unsupported emission shape');
36
- }
37
- }
@@ -1,9 +0,0 @@
1
- /**
2
- *
3
- * @param {number} index
4
- * @param {number[]|Float32Array} positionArray
5
- * @param {Vector3} planeNormal
6
- * @return {number}
7
- */
8
- export function distance_to_camera(index: number, positionArray: number[] | Float32Array, planeNormal: Vector3): number;
9
- //# sourceMappingURL=distance_to_camera.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"distance_to_camera.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,0CALW,MAAM,iBACN,MAAM,EAAE,GAAC,YAAY,yBAEpB,MAAM,CAmBjB"}