@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,66 +0,0 @@
1
- /**
2
- * Keeps live particle emitters in sync with editing: rebuilds an emitter when its layer
3
- * list changes or one of its parameter lookup tables is edited (curve/gradient editors
4
- * announce those through {@link onParameterLutEdited}). Rebuilds are debounced — drags
5
- * produce edit bursts.
6
- */
7
- export class ParticleEmitterRebuildProcess extends EditorProcess {
8
- /**
9
- * emitter layer-list subscriptions, torn down on shutdown
10
- * @type {Map<number, {emitter: ParticleEmitter, handler: function}>}
11
- */
12
- __watched: Map<number, {
13
- emitter: ParticleEmitter;
14
- handler: Function;
15
- }>;
16
- /**
17
- * entities with a rebuild pending
18
- * @type {Set<number>}
19
- */
20
- __pending: Set<number>;
21
- /**
22
- * @type {number|null}
23
- */
24
- __timer: number | null;
25
- /**
26
- * @type {boolean}
27
- */
28
- __running: boolean;
29
- /**
30
- * Map an edited lookup table back to its owning emitter
31
- * @param {ParameterLookupTable} lut
32
- */
33
- __handleLutEdited(lut: ParameterLookupTable): void;
34
- /**
35
- *
36
- * @param {number} entity
37
- */
38
- __handleEntityCreated(entity: number): void;
39
- /**
40
- *
41
- * @param {number} entity
42
- */
43
- __handleEntityRemoved(entity: number): void;
44
- /**
45
- *
46
- * @param {number} entity
47
- */
48
- __scheduleRebuild(entity: number): void;
49
- /**
50
- *
51
- * @param {ParticleEmitter} emitter
52
- * @param {number} entity
53
- */
54
- __watch(emitter: ParticleEmitter, entity: number): void;
55
- /**
56
- *
57
- * @param {number} entity
58
- */
59
- __unwatch(entity: number): void;
60
- }
61
- export namespace ParticleEmitterRebuildProcess {
62
- let Id: string;
63
- }
64
- import { EditorProcess } from "./EditorProcess.js";
65
- import { ParticleEmitter } from "../../src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js";
66
- //# sourceMappingURL=ParticleEmitterRebuildProcess.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParticleEmitterRebuildProcess.d.ts","sourceRoot":"","sources":["../../../editor/process/ParticleEmitterRebuildProcess.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH;IAII;;;OAGG;IACH,WAFU,IAAI,MAAM,EAAE;QAAC,OAAO,EAAE,eAAe,CAAC;QAAC,OAAO,WAAU;KAAC,CAAC,CAE9C;IAEtB;;;OAGG;IACH,WAFU,IAAI,MAAM,CAAC,CAEC;IAEtB;;OAEG;IACH,SAFU,MAAM,GAAC,IAAI,CAEN;IAEf;;OAEG;IACH,WAFU,OAAO,CAEC;IAwGlB;;;OAGG;IACH,mDAuBC;IA9DD;;;OAGG;IACH,8BAFW,MAAM,QAsBhB;IAED;;;OAGG;IACH,8BAFW,MAAM,QAKhB;IA5FD;;;OAGG;IACH,0BAFW,MAAM,QAoBhB;IAED;;;;OAIG;IACH,iBAHW,eAAe,UACf,MAAM,QAahB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAahB;CA4GJ;;;;8BAjN6B,oBAAoB;gCAHlB,kFAAkF"}
@@ -1,217 +0,0 @@
1
- import { ParticleEmitter } from "../../src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js";
2
- import { onParameterLutEdited } from "../particles/particleEditEvents.js";
3
- import { rebuildParticleEmitter } from "../particles/rebuildParticleEmitter.js";
4
- import { EditorProcess } from "./EditorProcess.js";
5
-
6
- const REBUILD_DELAY_MS = 250;
7
-
8
- /**
9
- * Keeps live particle emitters in sync with editing: rebuilds an emitter when its layer
10
- * list changes or one of its parameter lookup tables is edited (curve/gradient editors
11
- * announce those through {@link onParameterLutEdited}). Rebuilds are debounced — drags
12
- * produce edit bursts.
13
- */
14
- class ParticleEmitterRebuildProcess extends EditorProcess {
15
-
16
- name = ParticleEmitterRebuildProcess.Id;
17
-
18
- /**
19
- * emitter layer-list subscriptions, torn down on shutdown
20
- * @type {Map<number, {emitter: ParticleEmitter, handler: function}>}
21
- */
22
- __watched = new Map();
23
-
24
- /**
25
- * entities with a rebuild pending
26
- * @type {Set<number>}
27
- */
28
- __pending = new Set();
29
-
30
- /**
31
- * @type {number|null}
32
- */
33
- __timer = null;
34
-
35
- /**
36
- * @type {boolean}
37
- */
38
- __running = false;
39
-
40
- constructor() {
41
- super();
42
-
43
- this.__handleLutEdited = this.__handleLutEdited.bind(this);
44
- this.__handleEntityCreated = this.__handleEntityCreated.bind(this);
45
- this.__handleEntityRemoved = this.__handleEntityRemoved.bind(this);
46
- }
47
-
48
- /**
49
- *
50
- * @param {number} entity
51
- */
52
- __scheduleRebuild(entity) {
53
- this.__pending.add(entity);
54
-
55
- if (this.__timer !== null) {
56
- return;
57
- }
58
-
59
- this.__timer = setTimeout(() => {
60
- this.__timer = null;
61
-
62
- const entityManager = this.editor.engine.entityManager;
63
-
64
- for (const pending of this.__pending) {
65
- rebuildParticleEmitter(entityManager, pending);
66
- }
67
-
68
- this.__pending.clear();
69
- }, REBUILD_DELAY_MS);
70
- }
71
-
72
- /**
73
- *
74
- * @param {ParticleEmitter} emitter
75
- * @param {number} entity
76
- */
77
- __watch(emitter, entity) {
78
- if (this.__watched.has(entity)) {
79
- return;
80
- }
81
-
82
- const handler = () => this.__scheduleRebuild(entity);
83
-
84
- emitter.layers.on.added.add(handler);
85
- emitter.layers.on.removed.add(handler);
86
-
87
- this.__watched.set(entity, { emitter, handler });
88
- }
89
-
90
- /**
91
- *
92
- * @param {number} entity
93
- */
94
- __unwatch(entity) {
95
- const record = this.__watched.get(entity);
96
-
97
- if (record === undefined) {
98
- return;
99
- }
100
-
101
- record.emitter.layers.on.added.remove(record.handler);
102
- record.emitter.layers.on.removed.remove(record.handler);
103
-
104
- this.__watched.delete(entity);
105
- }
106
-
107
- /**
108
- *
109
- * @param {number} entity
110
- */
111
- __handleEntityCreated(entity) {
112
- // components attach in the microtasks that follow creation (the action queue is
113
- // microtask-chained), so the check must land in the NEXT macrotask
114
- setTimeout(() => {
115
- if (!this.__running) {
116
- return;
117
- }
118
-
119
- const ecd = this.editor.engine.entityManager.dataset;
120
-
121
- if (!ecd.entityExists(entity)) {
122
- return;
123
- }
124
-
125
- const emitter = ecd.getComponent(entity, ParticleEmitter);
126
-
127
- if (emitter !== undefined) {
128
- this.__watch(emitter, entity);
129
- }
130
- }, 0);
131
- }
132
-
133
- /**
134
- *
135
- * @param {number} entity
136
- */
137
- __handleEntityRemoved(entity) {
138
- this.__unwatch(entity);
139
- this.__pending.delete(entity);
140
- }
141
-
142
- /**
143
- * Map an edited lookup table back to its owning emitter
144
- * @param {ParameterLookupTable} lut
145
- */
146
- __handleLutEdited(lut) {
147
- const ecd = this.editor.engine.entityManager.dataset;
148
-
149
- if (!ecd.isComponentTypeRegistered(ParticleEmitter)) {
150
- return;
151
- }
152
-
153
- ecd.traverseComponents(ParticleEmitter, (emitter, entity) => {
154
- const layer_count = emitter.layers.length;
155
-
156
- for (let i = 0; i < layer_count; i++) {
157
- const layer = emitter.layers.get(i);
158
-
159
- const track_count = layer.parameterTracks.tracks.length;
160
-
161
- for (let j = 0; j < track_count; j++) {
162
- if (layer.parameterTracks.tracks.get(j).track === lut) {
163
- this.__scheduleRebuild(entity);
164
- return;
165
- }
166
- }
167
- }
168
- });
169
- }
170
-
171
- startup() {
172
- super.startup();
173
-
174
- this.__running = true;
175
-
176
- const ecd = this.editor.engine.entityManager.dataset;
177
-
178
- if (ecd.isComponentTypeRegistered(ParticleEmitter)) {
179
- ecd.traverseComponents(ParticleEmitter, (emitter, entity) => {
180
- this.__watch(emitter, entity);
181
- });
182
- }
183
-
184
- ecd.onEntityCreated.add(this.__handleEntityCreated);
185
- ecd.onEntityRemoved.add(this.__handleEntityRemoved);
186
-
187
- onParameterLutEdited.add(this.__handleLutEdited);
188
- }
189
-
190
- shutdown() {
191
- super.shutdown();
192
-
193
- this.__running = false;
194
-
195
- const ecd = this.editor.engine.entityManager.dataset;
196
-
197
- ecd.onEntityCreated.remove(this.__handleEntityCreated);
198
- ecd.onEntityRemoved.remove(this.__handleEntityRemoved);
199
-
200
- onParameterLutEdited.remove(this.__handleLutEdited);
201
-
202
- for (const entity of Array.from(this.__watched.keys())) {
203
- this.__unwatch(entity);
204
- }
205
-
206
- if (this.__timer !== null) {
207
- clearTimeout(this.__timer);
208
- this.__timer = null;
209
- }
210
-
211
- this.__pending.clear();
212
- }
213
- }
214
-
215
- ParticleEmitterRebuildProcess.Id = 'particle-emitter-rebuild';
216
-
217
- export { ParticleEmitterRebuildProcess };
@@ -1,18 +0,0 @@
1
- /**
2
- * Where a particle emitter's layers are and what volume each of them emits from.
3
- *
4
- * One marker per layer wherever the layer sits, and the emission volume around it: a sphere for a
5
- * spherical emission shape, a box for a box one, and for a point shape the marker alone, because a
6
- * point has no volume to draw.
7
- *
8
- * **The box is twelve segments rather than the recording's own wire cube.** A layer's box is in the
9
- * emitter's frame and turns with the entity; `draw_wire_cube` takes a centre and a size and is
10
- * therefore axis-aligned. See {@link gizmo_draw_wire_box_oriented}.
11
- *
12
- * @see SymbolicDisplay
13
- */
14
- export class ParticleEmitterSymbolicDisplay extends SymbolicDisplay {
15
- #private;
16
- }
17
- import { SymbolicDisplay } from "./SymbolicDisplay.js";
18
- //# sourceMappingURL=ParticleEmitterSymbolicDisplay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParticleEmitterSymbolicDisplay.d.ts","sourceRoot":"","sources":["../../../../editor/process/symbolic/ParticleEmitterSymbolicDisplay.js"],"names":[],"mappings":"AAsEA;;;;;;;;;;;;GAYG;AACH;;CAwDC;gCA9HuD,sBAAsB"}
@@ -1,140 +0,0 @@
1
- import { m4_compose } from "../../../src/core/geom/3d/mat4/m4_compose.js";
2
- import { m4_multiply } from "../../../src/core/geom/3d/mat4/m4_multiply.js";
3
- import Quaternion from "../../../src/core/geom/Quaternion.js";
4
- import Vector3 from "../../../src/core/geom/Vector3.js";
5
- import { Transform64 } from "../../../src/engine/ecs/transform/Transform64.js";
6
- import {
7
- EmissionShapeType
8
- } from "../../../src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.js";
9
- import {
10
- ParticleEmitter
11
- } from "../../../src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js";
12
- import { Gizmo } from "../../../src/engine/graphics/render/gizmo/Gizmo.js";
13
- import { gizmo_draw_wire_box_oriented } from "./gizmo_draw_wire_box_oriented.js";
14
- import { entity_is_editor_owned, SymbolicDisplay } from "./SymbolicDisplay.js";
15
-
16
- /**
17
- * @type {number[]}
18
- */
19
- const CENTER_COLOR = [1, 0, 0, 1];
20
-
21
- /**
22
- * @type {number[]}
23
- */
24
- const SHAPE_COLOR = [1, 1, 1, 0.5];
25
-
26
- /**
27
- * How big a layer's centre marker is, in world units.
28
- *
29
- * @type {number}
30
- */
31
- const CENTER_SIZE = 0.03;
32
-
33
- /**
34
- * @type {Float32Array}
35
- */
36
- const emitter_matrix = new Float32Array(16);
37
-
38
- /**
39
- * @type {Float32Array}
40
- */
41
- const layer_matrix = new Float32Array(16);
42
-
43
- /**
44
- * @type {Float32Array}
45
- */
46
- const shape_matrix = new Float32Array(16);
47
-
48
- /**
49
- * @type {Float32Array}
50
- */
51
- const center = new Float32Array(3);
52
-
53
- /**
54
- * @type {Float32Array}
55
- */
56
- const size = new Float32Array(3);
57
-
58
- /**
59
- * A layer's own frame carries no rotation of its own — only an offset and a scale — and
60
- * {@link m4_compose} wants all three.
61
- *
62
- * @type {Quaternion}
63
- */
64
- const no_rotation = new Quaternion(0, 0, 0, 1);
65
-
66
- /**
67
- * @type {Vector3}
68
- */
69
- const unit_scale = new Vector3(1, 1, 1);
70
-
71
- /**
72
- * Where a particle emitter's layers are and what volume each of them emits from.
73
- *
74
- * One marker per layer wherever the layer sits, and the emission volume around it: a sphere for a
75
- * spherical emission shape, a box for a box one, and for a point shape the marker alone, because a
76
- * point has no volume to draw.
77
- *
78
- * **The box is twelve segments rather than the recording's own wire cube.** A layer's box is in the
79
- * emitter's frame and turns with the entity; `draw_wire_cube` takes a centre and a size and is
80
- * therefore axis-aligned. See {@link gizmo_draw_wire_box_oriented}.
81
- *
82
- * @see SymbolicDisplay
83
- */
84
- export class ParticleEmitterSymbolicDisplay extends SymbolicDisplay {
85
- /**
86
- * @param {EntityComponentDataset} dataset
87
- */
88
- record(dataset) {
89
- dataset.traverseEntities([ParticleEmitter, Transform64], (emitter, transform, entity) => {
90
- if (entity_is_editor_owned(dataset, entity)) {
91
- return;
92
- }
93
-
94
- // the matrix sits at offset 0, so the first sixteen elements are it
95
- for (let i = 0; i < 16; i++) {
96
- emitter_matrix[i] = transform[i];
97
- }
98
-
99
- // a sphere in the recording has one radius, so a non-uniformly scaled emitter cannot
100
- // have its emission sphere drawn exactly; x is the component the three version scaled
101
- // the helper by too
102
- const emitter_scale = Math.hypot(emitter_matrix[0], emitter_matrix[1], emitter_matrix[2]);
103
-
104
- emitter.traverseLayers(layer => this.#draw_layer(layer, emitter_scale));
105
- });
106
- }
107
-
108
- /**
109
- * @param {ParticleLayer} layer
110
- * @param {number} emitter_scale the emitter's own scale along x, from its transform
111
- */
112
- #draw_layer(layer, emitter_scale) {
113
- m4_compose(layer_matrix, layer.position, no_rotation, unit_scale);
114
- m4_multiply(shape_matrix, emitter_matrix, layer_matrix);
115
-
116
- center[0] = shape_matrix[12];
117
- center[1] = shape_matrix[13];
118
- center[2] = shape_matrix[14];
119
-
120
- Gizmo.color = CENTER_COLOR;
121
-
122
- size[0] = CENTER_SIZE;
123
- size[1] = CENTER_SIZE;
124
- size[2] = CENTER_SIZE;
125
-
126
- Gizmo.draw_solid_cube(center, size);
127
-
128
- Gizmo.color = SHAPE_COLOR;
129
-
130
- if (layer.emissionShape === EmissionShapeType.Sphere) {
131
- // the emission sphere is a unit diameter scaled by the layer, and a radius is half of it
132
- Gizmo.draw_wire_sphere(center, layer.scale.x * emitter_scale * 0.5);
133
- } else if (layer.emissionShape === EmissionShapeType.Box) {
134
- m4_compose(layer_matrix, layer.position, no_rotation, layer.scale);
135
- m4_multiply(shape_matrix, emitter_matrix, layer_matrix);
136
-
137
- gizmo_draw_wire_box_oriented(shape_matrix);
138
- }
139
- }
140
- }
@@ -1,18 +0,0 @@
1
- /**
2
- *
3
- * @param {Object} options
4
- * @param {Engine} options.engine
5
- * @param {EntityComponentDataset} options.ecd
6
- * @param {number} options.entity
7
- * @param {string} [options.particles]
8
- * @param {string} [options.sound]
9
- * @returns {Promise<any>}
10
- */
11
- export function removeEntityGenericEffect({ engine, ecd, entity, particles, sound }: {
12
- engine: Engine;
13
- ecd: EntityComponentDataset;
14
- entity: number;
15
- particles?: string;
16
- sound?: string;
17
- }): Promise<any>;
18
- //# sourceMappingURL=removeEntityGenericEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeEntityGenericEffect.d.ts","sourceRoot":"","sources":["../../../../src/engine/animation/removeEntityGenericEffect.js"],"names":[],"mappings":"AA2HA;;;;;;;;;GASG;AACH;IAP2B,MAAM;IACU,GAAG;IACnB,MAAM,EAAtB,MAAM;IACW,SAAS,GAA1B,MAAM;IACW,KAAK,GAAtB,MAAM;IACJ,QAAQ,GAAG,CAAC,CA4BxB"}
@@ -1,160 +0,0 @@
1
- import { removeEntityWithEffect } from "./AnimationUtils.js";
2
- import { ParticleEmitter } from "../graphics/particles/particular/engine/emitter/ParticleEmitter.js";
3
-
4
- const lib = {
5
- 'cloud-puff': {
6
- "receiveLight": true,
7
- "parameters": [
8
- {
9
- "name": "scale",
10
- "itemSize": 1,
11
- "defaultTrackValue": {
12
- "itemSize": 1,
13
- "data": [
14
- 1
15
- ],
16
- "positions": [
17
- 0
18
- ]
19
- }
20
- },
21
- {
22
- "name": "color",
23
- "itemSize": 4,
24
- "defaultTrackValue": {
25
- "itemSize": 4,
26
- "data": [
27
- 1,
28
- 1,
29
- 1,
30
- 1
31
- ],
32
- "positions": [
33
- 0
34
- ]
35
- }
36
- }
37
- ],
38
- "blendingMode": 0,
39
- "layers": [
40
- {
41
- "imageURL": "data/textures/particle/smokeparticle.png",
42
- "particleLife": {
43
- "min": 1.2,
44
- "max": 1.5
45
- },
46
- "particleSize": {
47
- "min": 1,
48
- "max": 1.2
49
- },
50
- "particleRotation": {
51
- "min": 0,
52
- "max": 0
53
- },
54
- "particleRotationSpeed": {
55
- "min": 0,
56
- "max": 0
57
- },
58
- "emissionShape": 1,
59
- "emissionFrom": 1,
60
- "emissionRate": 0,
61
- "emissionImmediate": 25,
62
- "parameterTracks": [
63
- {
64
- "name": "color",
65
- "track": {
66
- "itemSize": 4,
67
- "data": [
68
- 0.6,
69
- 0.6,
70
- 0.6,
71
- 0,
72
-
73
- 0.6,
74
- 0.6,
75
- 0.6,
76
- 1,
77
-
78
- 0.6,
79
- 0.6,
80
- 0.6,
81
- 0.5,
82
-
83
- 0.6,
84
- 0.6,
85
- 0.6,
86
- 0
87
- ],
88
- "positions": [
89
- 0,
90
- 0.07,
91
- 0.8097826086956522,
92
- 1
93
- ]
94
- }
95
- }
96
- ],
97
- "position": {
98
- "x": 0,
99
- "y": 0.6,
100
- "z": 0
101
- },
102
- "scale": {
103
- "x": 0.9,
104
- "y": 0.5,
105
- "z": 0.65
106
- },
107
- "particleVelocityDirection": {
108
- "direction": {
109
- "x": 0,
110
- "y": 1,
111
- "z": 0
112
- },
113
- "angle": 1.5
114
- },
115
- "particleSpeed": {
116
- "min": 0.2,
117
- "max": 0.5
118
- }
119
- }
120
- ]
121
- }
122
- };
123
-
124
- /**
125
- *
126
- * @param {Object} options
127
- * @param {Engine} options.engine
128
- * @param {EntityComponentDataset} options.ecd
129
- * @param {number} options.entity
130
- * @param {string} [options.particles]
131
- * @param {string} [options.sound]
132
- * @returns {Promise<any>}
133
- */
134
- export function removeEntityGenericEffect(
135
- {
136
- engine,
137
- ecd,
138
- entity,
139
- particles = 'cloud-puff',
140
- sound = "data/sounds/effects/Magic_Game_Essentials/Magic_Vanish_3.wav"
141
- }
142
- ) {
143
-
144
- const particle_json = lib[particles];
145
-
146
- if (particle_json === undefined) {
147
- throw new Error(`Unsupported particle ID '${particles}'`);
148
- }
149
-
150
- const emitter = ParticleEmitter.fromJSON(particle_json);
151
-
152
- const result = removeEntityWithEffect({
153
- entity,
154
- ecd,
155
- emitter,
156
- soundEffect: sound
157
- });
158
-
159
- return result;
160
- }
@@ -1,16 +0,0 @@
1
- /**
2
- *
3
- * @param {Object} options
4
- * @param {EntityManager} options.entityManager
5
- * @param {EntityComponentDataset} options.ecd
6
- * @param {number} options.entity
7
- * @param {string} options.particles
8
- * @returns {Promise<any>}
9
- */
10
- export function removeEntityWithMeshParticlesEffect({ entityManager, ecd, entity, particles }: {
11
- entityManager: EntityManager;
12
- ecd: EntityComponentDataset;
13
- entity: number;
14
- particles: string;
15
- }): Promise<any>;
16
- //# sourceMappingURL=removeEntityWithMeshParticlesEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeEntityWithMeshParticlesEffect.d.ts","sourceRoot":"","sources":["../../../../src/engine/animation/removeEntityWithMeshParticlesEffect.js"],"names":[],"mappings":"AA2IA;;;;;;;;GAQG;AACH;IANkC,aAAa;IACJ,GAAG;IACnB,MAAM,EAAtB,MAAM;IACU,SAAS,EAAzB,MAAM;IACJ,QAAQ,GAAG,CAAC,CA+CxB"}