@woosh/meep-engine 3.32.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 (465) hide show
  1. package/build/bundle-worker-terrain.js +1 -1
  2. package/editor/Editor.d.ts.map +1 -1
  3. package/editor/Editor.js +0 -3
  4. package/editor/ecs/component/prototypeObjectEditor.js +1 -165
  5. package/editor/ecs/component/registerBasicTypeEditors.d.ts.map +1 -1
  6. package/editor/ecs/component/registerBasicTypeEditors.js +0 -5
  7. package/editor/ecs/component/registerEngineComponentEditors.d.ts.map +1 -1
  8. package/editor/ecs/component/registerEngineComponentEditors.js +0 -20
  9. package/editor/process/SymbolicDisplayProcess.d.ts.map +1 -1
  10. package/editor/process/SymbolicDisplayProcess.js +100 -106
  11. package/editor/prototypeEditorShell.d.ts.map +1 -1
  12. package/editor/prototypeEditorShell.js +190 -186
  13. package/editor/templates/entity_templates.d.ts.map +1 -1
  14. package/editor/templates/entity_templates.js +10 -27
  15. package/editor/view/makeEntityDecorators.js +2 -2
  16. package/package.json +1 -1
  17. package/src/core/collection/table/RowFirstTable.d.ts +8 -0
  18. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  19. package/src/core/collection/table/RowFirstTable.js +40 -11
  20. package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.d.ts +3 -3
  21. package/src/core/geom/3d/aabb/MovingBoundingBox.d.ts.map +1 -0
  22. package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.js +5 -5
  23. package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts +3 -0
  24. package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts.map +1 -0
  25. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGBA_LUT_HEATMAP_IR.js +1 -1
  26. package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts +6 -0
  27. package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts.map +1 -0
  28. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_INFERNO.js +1 -1
  29. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.d.ts +1 -1
  30. package/src/core/math/lookup/RGB_LUT_TURBO.d.ts.map +1 -0
  31. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.js +1 -1
  32. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.d.ts +1 -1
  33. package/src/core/math/lookup/RGB_LUT_VIRIDIS.d.ts.map +1 -0
  34. package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.js +1 -1
  35. package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
  36. package/src/engine/animation/AnimatedActions.js +2 -4
  37. package/src/engine/animation/AnimationUtils.d.ts +1 -17
  38. package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
  39. package/src/engine/animation/AnimationUtils.js +138 -246
  40. package/src/engine/ecs/EntityManager.d.ts +1 -1
  41. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  42. package/src/engine/ecs/EntityManager.js +2 -2
  43. package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +268 -275
  44. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
  45. package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +0 -10
  46. package/src/engine/graphics/geometry/distribute_points_on_indexed_triangles.d.ts.map +1 -0
  47. package/src/engine/graphics/{particles/particular/engine/utils → geometry}/distribute_points_on_indexed_triangles.js +3 -3
  48. package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.d.ts +1 -1
  49. package/src/engine/graphics/texture/sampler/lut_to_sampler.d.ts.map +1 -0
  50. package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.js +1 -1
  51. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -3
  52. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
  53. package/src/engine/graphics3/GPUParticleEmitterSystem.js +0 -3
  54. package/src/engine/network/NetworkSession.d.ts +1 -1
  55. package/src/engine/network/NetworkSession.js +1 -1
  56. package/src/engine/physics/cloth/MEASUREMENTS.md +115 -0
  57. package/src/engine/physics/cloth/solver/cloth_contact_find.d.ts.map +1 -1
  58. package/src/engine/physics/cloth/solver/cloth_contact_find.js +2 -0
  59. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts +9 -0
  60. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts.map +1 -1
  61. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.js +30 -7
  62. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  63. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  64. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +12 -2
  65. package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts +11 -2
  66. package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts.map +1 -1
  67. package/src/engine/sound/ecs/audio/LiveEmitterSet.js +14 -7
  68. package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts +6 -15
  69. package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts.map +1 -1
  70. package/src/engine/sound/ecs/audio/SpatialAudioIndex.js +161 -174
  71. package/src/shade/device/mock/SoftwareGPUBuffer.d.ts +5 -3
  72. package/src/shade/device/mock/SoftwareGPUBuffer.d.ts.map +1 -1
  73. package/src/shade/device/mock/SoftwareGPUBuffer.js +32 -3
  74. package/src/shade/device/mock/SoftwareGPURenderPassEncoder.d.ts +20 -3
  75. package/src/shade/device/mock/SoftwareGPURenderPassEncoder.d.ts.map +1 -1
  76. package/src/shade/device/mock/SoftwareGPURenderPassEncoder.js +21 -3
  77. package/src/shade/playground/caldera/main.js +73 -60
  78. package/src/shade/playground/vgeo_runtime/main.js +25 -77
  79. package/src/shade/playground/vgeo_scene/main.js +2231 -2217
  80. package/src/shade/renderer/GraphicsContext.d.ts +18 -0
  81. package/src/shade/renderer/GraphicsContext.d.ts.map +1 -1
  82. package/src/shade/renderer/GraphicsContext.js +63 -40
  83. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  84. package/src/shade/renderer/Renderer.js +38 -0
  85. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +8 -0
  86. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
  87. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +21 -0
  88. package/src/shade/renderer/buffer/GPUBufferReadbackAllocator.d.ts +6 -5
  89. package/src/shade/renderer/buffer/GPUBufferReadbackAllocator.d.ts.map +1 -1
  90. package/src/shade/renderer/buffer/GPUBufferReadbackAllocator.js +241 -240
  91. package/src/shade/renderer/buffer/GPUBufferStagingAllocator.d.ts +51 -0
  92. package/src/shade/renderer/buffer/GPUBufferStagingAllocator.d.ts.map +1 -1
  93. package/src/shade/renderer/buffer/GPUBufferStagingAllocator.js +214 -28
  94. package/src/shade/renderer/dynamic/DynamicMeshAVBOITChannel.d.ts +2 -1
  95. package/src/shade/renderer/dynamic/DynamicMeshAVBOITChannel.d.ts.map +1 -1
  96. package/src/shade/renderer/dynamic/DynamicMeshAVBOITChannel.js +19 -17
  97. package/src/shade/renderer/dynamic/GPUDynamicMeshDrawList.d.ts +70 -0
  98. package/src/shade/renderer/dynamic/GPUDynamicMeshDrawList.d.ts.map +1 -0
  99. package/src/shade/renderer/dynamic/GPUDynamicMeshDrawList.js +257 -0
  100. package/src/shade/renderer/dynamic/GPUDynamicMeshRenderer.d.ts.map +1 -1
  101. package/src/shade/renderer/dynamic/GPUDynamicMeshRenderer.js +19 -34
  102. package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.d.ts +6 -20
  103. package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.d.ts.map +1 -1
  104. package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.js +42 -36
  105. package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts +2 -1
  106. package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts.map +1 -1
  107. package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.js +4 -3
  108. package/src/shade/renderer/dynamic/chunk_dynamic_mesh_vertex.d.ts +4 -3
  109. package/src/shade/renderer/dynamic/chunk_dynamic_mesh_vertex.d.ts.map +1 -1
  110. package/src/shade/renderer/dynamic/chunk_dynamic_mesh_vertex.js +7 -4
  111. package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts +14 -15
  112. package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts.map +1 -1
  113. package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.js +49 -83
  114. package/src/shade/renderer/dynamic/shader_dynamic_mesh.d.ts +19 -3
  115. package/src/shade/renderer/dynamic/shader_dynamic_mesh.d.ts.map +1 -1
  116. package/src/shade/renderer/dynamic/shader_dynamic_mesh.js +26 -6
  117. package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts +2 -1
  118. package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts.map +1 -1
  119. package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.js +12 -6
  120. package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts +3 -2
  121. package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts.map +1 -1
  122. package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.js +21 -13
  123. package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +1 -1
  124. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  125. package/src/shade/renderer/geometry/GPUGeometryManager.js +9 -10
  126. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +5 -0
  127. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  128. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +11 -0
  129. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts +12 -0
  130. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts.map +1 -1
  131. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.js +25 -0
  132. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts +115 -101
  133. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts.map +1 -1
  134. package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.js +282 -140
  135. package/src/shade/renderer/geometry/virtual/runtime/REVIEW_LEDGER.md +30 -0
  136. package/src/shade/renderer/geometry/virtual/runtime/RUNTIME_PLAN_2026_09_14.md +4 -1
  137. package/src/shade/renderer/geometry/virtual/runtime/SHADOW_PLAN_2026_09_28.md +536 -0
  138. package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts +6 -2
  139. package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts.map +1 -1
  140. package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.js +68 -19
  141. package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts +2 -1
  142. package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts.map +1 -1
  143. package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.js +17 -1
  144. package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts +4 -0
  145. package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts.map +1 -1
  146. package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.js +42 -12
  147. package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts +93 -12
  148. package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts.map +1 -1
  149. package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.js +166 -20
  150. package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.d.ts.map +1 -1
  151. package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.js +30 -7
  152. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.d.ts.map +1 -1
  153. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.js +12 -5
  154. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.d.ts.map +1 -1
  155. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.js +2 -2
  156. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.d.ts.map +1 -1
  157. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.js +23 -13
  158. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.d.ts.map +1 -1
  159. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.js +1 -2
  160. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.d.ts.map +1 -1
  161. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.js +1 -2
  162. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.d.ts.map +1 -1
  163. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.js +10 -6
  164. package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts +45 -17
  165. package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts.map +1 -1
  166. package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.js +61 -19
  167. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts +8 -11
  168. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts.map +1 -1
  169. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.js +9 -16
  170. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.d.ts.map +1 -1
  171. package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.js +25 -10
  172. package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_FEEDBACK_OFFSET.js +10 -8
  173. package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.d.ts +1 -0
  174. package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.js +19 -7
  175. package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts +4 -2
  176. package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts.map +1 -1
  177. package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.js +4 -2
  178. package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts +4 -0
  179. package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts.map +1 -1
  180. package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.js +7 -0
  181. package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts.map +1 -1
  182. package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.js +1 -0
  183. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
  184. package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
  185. package/src/shade/renderer/material/GPUMaterialManager.js +2 -0
  186. package/src/shade/renderer/particles/DESIGN.md +4 -10
  187. package/src/shade/renderer/particles/ParticleConstants.d.ts +1 -3
  188. package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
  189. package/src/shade/renderer/particles/ParticleConstants.js +1 -3
  190. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts +3 -4
  191. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts.map +1 -1
  192. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +3 -4
  193. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  194. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts +45 -0
  195. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts.map +1 -0
  196. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.js +99 -0
  197. package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.d.ts +4 -4
  198. package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.js +36 -36
  199. package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts +15 -0
  200. package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts.map +1 -0
  201. package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.js +103 -0
  202. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts +3 -0
  203. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts.map +1 -1
  204. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +6 -1
  205. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts +26 -0
  206. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts.map +1 -0
  207. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.js +91 -0
  208. package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts +22 -0
  209. package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts.map +1 -0
  210. package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.js +102 -0
  211. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts +2 -1
  212. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts.map +1 -1
  213. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js +28 -24
  214. package/src/shade/renderer/rasterize/native/avboit/AVBOIT_LEDGER.md +20 -0
  215. package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.d.ts.map +1 -1
  216. package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.js +32 -28
  217. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts.map +1 -1
  218. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.js +9 -105
  219. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +5 -0
  220. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
  221. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +11 -0
  222. package/src/shade/renderer/scene/GPUSceneContext.d.ts +11 -3
  223. package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
  224. package/src/shade/renderer/scene/GPUSceneContext.js +93 -21
  225. package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts +4 -1
  226. package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
  227. package/src/shade/renderer/scene/rows/GPUSceneRows.js +5 -23
  228. package/src/shade/renderer/shader/type/serde/write_gpu_typed_buffer.d.ts.map +1 -1
  229. package/src/shade/renderer/shader/type/serde/write_gpu_typed_buffer.js +8 -1
  230. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
  231. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +63 -0
  232. package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts +12 -0
  233. package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts.map +1 -0
  234. package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.js +11 -0
  235. package/src/shade/renderer/shadow/map/Shadowmap.d.ts +15 -0
  236. package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
  237. package/src/shade/renderer/shadow/map/Shadowmap.js +17 -0
  238. package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts +25 -0
  239. package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts.map +1 -0
  240. package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.js +22 -0
  241. package/src/shade/renderer/shadow/map/shadowmap_update_score.d.ts.map +1 -1
  242. package/src/shade/renderer/shadow/map/shadowmap_update_score.js +5 -2
  243. package/src/shade/renderer/texture/TextureManager.d.ts +2 -1
  244. package/src/shade/renderer/texture/TextureManager.d.ts.map +1 -1
  245. package/src/shade/renderer/texture/TextureManager.js +4 -1
  246. package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +1 -1
  247. package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts +9 -1
  248. package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts.map +1 -1
  249. package/src/shade/renderer/util/Uint32BufferSamplingStats.js +55 -5
  250. package/src/shade/renderer/view/ViewManager.d.ts +7 -1
  251. package/src/shade/renderer/view/ViewManager.d.ts.map +1 -1
  252. package/src/shade/renderer/view/ViewManager.js +17 -1
  253. package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
  254. package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +1 -0
  255. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts +0 -20
  256. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts.map +0 -1
  257. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.js +0 -35
  258. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts +0 -12
  259. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts.map +0 -1
  260. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.js +0 -17
  261. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts +0 -14
  262. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts.map +0 -1
  263. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.js +0 -18
  264. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts +0 -52
  265. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts.map +0 -1
  266. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.js +0 -58
  267. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts +0 -47
  268. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts.map +0 -1
  269. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.js +0 -58
  270. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts +0 -16
  271. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts.map +0 -1
  272. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.js +0 -21
  273. package/editor/particles/rebuildParticleEmitter.d.ts +0 -11
  274. package/editor/particles/rebuildParticleEmitter.d.ts.map +0 -1
  275. package/editor/particles/rebuildParticleEmitter.js +0 -31
  276. package/editor/process/ParticleEmitterRebuildProcess.d.ts +0 -66
  277. package/editor/process/ParticleEmitterRebuildProcess.d.ts.map +0 -1
  278. package/editor/process/ParticleEmitterRebuildProcess.js +0 -217
  279. package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts +0 -18
  280. package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts.map +0 -1
  281. package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.js +0 -140
  282. package/src/engine/animation/removeEntityGenericEffect.d.ts +0 -18
  283. package/src/engine/animation/removeEntityGenericEffect.d.ts.map +0 -1
  284. package/src/engine/animation/removeEntityGenericEffect.js +0 -160
  285. package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts +0 -16
  286. package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts.map +0 -1
  287. package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +0 -194
  288. package/src/engine/graphics/ecs/sprite/Sprite.d.ts +0 -12
  289. package/src/engine/graphics/ecs/sprite/Sprite.d.ts.map +0 -1
  290. package/src/engine/graphics/ecs/sprite/Sprite.js +0 -11
  291. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts +0 -8
  292. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +0 -1
  293. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +0 -141
  294. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts.map +0 -1
  295. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +0 -61
  296. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +0 -1
  297. package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +0 -229
  298. package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts +0 -6
  299. package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts.map +0 -1
  300. package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.js +0 -8
  301. package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts +0 -7
  302. package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts.map +0 -1
  303. package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.js +0 -9
  304. package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts +0 -13
  305. package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts.map +0 -1
  306. package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.js +0 -12
  307. package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts +0 -3
  308. package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts.map +0 -1
  309. package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.js +0 -84
  310. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +0 -285
  311. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +0 -1
  312. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +0 -1201
  313. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts +0 -19
  314. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts.map +0 -1
  315. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js +0 -67
  316. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts +0 -197
  317. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts.map +0 -1
  318. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +0 -398
  319. package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts +0 -5
  320. package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts.map +0 -1
  321. package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.js +0 -4
  322. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +0 -162
  323. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +0 -1
  324. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +0 -472
  325. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts +0 -10
  326. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +0 -1
  327. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +0 -37
  328. package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts +0 -9
  329. package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts.map +0 -1
  330. package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.js +0 -25
  331. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts +0 -19
  332. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts.map +0 -1
  333. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js +0 -28
  334. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts +0 -19
  335. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts.map +0 -1
  336. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js +0 -162
  337. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts +0 -5
  338. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts.map +0 -1
  339. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.js +0 -103
  340. package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts +0 -8
  341. package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts.map +0 -1
  342. package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.js +0 -28
  343. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts +0 -2
  344. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts.map +0 -1
  345. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +0 -2
  346. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts +0 -2
  347. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts.map +0 -1
  348. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.js +0 -2
  349. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts +0 -60
  350. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts.map +0 -1
  351. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.js +0 -128
  352. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts +0 -47
  353. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts.map +0 -1
  354. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js +0 -77
  355. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts +0 -45
  356. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts.map +0 -1
  357. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.js +0 -93
  358. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts +0 -95
  359. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts.map +0 -1
  360. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.js +0 -239
  361. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts +0 -3
  362. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts.map +0 -1
  363. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts +0 -6
  364. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts.map +0 -1
  365. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.d.ts.map +0 -1
  366. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.d.ts.map +0 -1
  367. package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts +0 -13
  368. package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts.map +0 -1
  369. package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.js +0 -28
  370. package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts +0 -9
  371. package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts.map +0 -1
  372. package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.js +0 -24
  373. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts +0 -13
  374. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts.map +0 -1
  375. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.js +0 -27
  376. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts +0 -33
  377. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts.map +0 -1
  378. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.js +0 -80
  379. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +0 -49
  380. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +0 -1
  381. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +0 -135
  382. package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts +0 -7
  383. package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts.map +0 -1
  384. package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.js +0 -14
  385. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts +0 -41
  386. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts.map +0 -1
  387. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.js +0 -59
  388. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts +0 -4
  389. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts.map +0 -1
  390. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.js +0 -56
  391. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts +0 -4
  392. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts.map +0 -1
  393. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.js +0 -84
  394. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts +0 -4
  395. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts.map +0 -1
  396. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +0 -80
  397. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts +0 -29
  398. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts.map +0 -1
  399. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.js +0 -43
  400. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts +0 -5
  401. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts.map +0 -1
  402. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.js +0 -104
  403. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts +0 -9
  404. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts.map +0 -1
  405. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.js +0 -11
  406. package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts +0 -9
  407. package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts.map +0 -1
  408. package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.js +0 -64
  409. package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts +0 -9
  410. package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts.map +0 -1
  411. package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js +0 -172
  412. package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +0 -1
  413. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts +0 -20
  414. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +0 -1
  415. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +0 -84
  416. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +0 -81
  417. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +0 -1
  418. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +0 -200
  419. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts +0 -6
  420. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts.map +0 -1
  421. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.js +0 -8
  422. package/src/engine/graphics/particles/particular/engine/utils/volume/lut_to_sampler.d.ts.map +0 -1
  423. package/src/engine/graphics/particles/particular/group/Operation.d.ts +0 -20
  424. package/src/engine/graphics/particles/particular/group/Operation.d.ts.map +0 -1
  425. package/src/engine/graphics/particles/particular/group/Operation.js +0 -20
  426. package/src/engine/graphics/particles/particular/group/OperationType.d.ts +0 -7
  427. package/src/engine/graphics/particles/particular/group/OperationType.d.ts.map +0 -1
  428. package/src/engine/graphics/particles/particular/group/OperationType.js +0 -9
  429. package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts +0 -27
  430. package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts.map +0 -1
  431. package/src/engine/graphics/particles/particular/group/ParticleAttribute.js +0 -27
  432. package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts +0 -8
  433. package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts.map +0 -1
  434. package/src/engine/graphics/particles/particular/group/ParticleAttributeType.js +0 -11
  435. package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts +0 -7
  436. package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts.map +0 -1
  437. package/src/engine/graphics/particles/particular/group/ParticleDataType.js +0 -10
  438. package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts +0 -24
  439. package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts.map +0 -1
  440. package/src/engine/graphics/particles/particular/group/ParticleSpecification.js +0 -48
  441. package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts +0 -7
  442. package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts.map +0 -1
  443. package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.js +0 -20
  444. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts +0 -6
  445. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts.map +0 -1
  446. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.js +0 -162
  447. package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts +0 -8
  448. package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts.map +0 -1
  449. package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.js +0 -19
  450. package/src/engine/graphics3/ParticleEmitterSystem.d.ts +0 -77
  451. package/src/engine/graphics3/ParticleEmitterSystem.d.ts.map +0 -1
  452. package/src/engine/graphics3/ParticleEmitterSystem.js +0 -307
  453. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +0 -10
  454. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +0 -1
  455. package/src/engine/graphics3/ParticleEmitterSystem3.js +0 -10
  456. package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts +0 -61
  457. package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts.map +0 -1
  458. package/src/engine/graphics3/particles/GPUParticularRenderer.js +0 -627
  459. package/src/engine/graphics3/particles/particle_gpu_records.d.ts +0 -85
  460. package/src/engine/graphics3/particles/particle_gpu_records.d.ts.map +0 -1
  461. package/src/engine/graphics3/particles/particle_gpu_records.js +0 -227
  462. package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts +0 -35
  463. package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +0 -1
  464. package/src/shade/renderer/particles/shaders/shader_particle_render.js +0 -135
  465. /package/src/engine/graphics/{particles/particular/engine/utils → geometry}/distribute_points_on_indexed_triangles.d.ts +0 -0
@@ -1,186 +1,190 @@
1
- import './style/editor.scss';
2
-
3
- import Vector2 from "../src/core/geom/Vector2.js";
4
- import { GameAssetType } from "../src/engine/asset/GameAssetType.js";
5
- import { ArrayBufferLoader } from "../src/engine/asset/loaders/ArrayBufferLoader.js";
6
- import {
7
- GLTFSceneBundleAssetLoader
8
- } from "../src/engine/asset/loaders/GLTFSceneBundleAssetLoader.js";
9
- import {
10
- USDSceneBundleAssetLoader
11
- } from "../src/engine/asset/loaders/USDSceneBundleAssetLoader.js";
12
- import { ImageBitmapAssetLoader } from "../src/engine/asset/loaders/image/ImageBitmapAssetLoader.js";
13
- import { ImageRGBADataLoader } from "../src/engine/asset/loaders/image/ImageRGBADataLoader.js";
14
- import { load_model_scene_bundle } from "../src/engine/asset/load_model_scene_bundle.js";
15
- import { ParentEntitySystem } from "../src/engine/ecs/parent/ParentEntitySystem.js";
16
- import { obtainTerrain } from "../src/engine/ecs/terrain/util/obtainTerrain.js";
17
- import { populateEngineSerializationRegistry } from "../src/engine/ecs/storage/populateEngineSerializationRegistry.js";
18
- import { TransformAttachmentSystem } from "../src/engine/ecs/transform-attachment/TransformAttachmentSystem.js";
19
- import { EngineHarness } from "../src/engine/EngineHarness.js";
20
- import TopDownCameraController from "../src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js";
21
- import { DebugDrawSystem } from "../src/engine/graphics3/DebugDrawSystem.js";
22
- import {
23
- HighlightOutlineSystem
24
- } from "../src/engine/graphics3/HighlightOutlineSystem.js";
25
- import { MeshSystem } from "../src/engine/graphics3/MeshSystem.js";
26
- import {
27
- ShadedGeometryHighlightSystem
28
- } from "../src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js";
29
- import {
30
- SGMeshHighlightSystem
31
- } from "../src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js";
32
- import {
33
- ShadedGeometrySystem
34
- } from "../src/engine/graphics3/ShadedGeometrySystem.js";
35
- import { ParticleEmitterSystem } from "../src/engine/graphics3/ParticleEmitterSystem.js";
36
- import { enableEditor } from "./enableEditor.js";
37
-
38
- /**
39
- * Point the camera at the middle of the terrain, standing off by its own extent.
40
- *
41
- * The harness anchors terrain at the world origin and aims the camera at the origin too,
42
- * so the default view sits on the terrain's corner with three quadrants of empty space —
43
- * and every orbit pivots on that corner. The editor camera inherits this state when it
44
- * takes over the scene's active camera.
45
- *
46
- * Standing off by the terrain's extent frames most of it while keeping the far corners
47
- * inside the camera's clip range; the rest is a wheel away.
48
- *
49
- * @param {Engine} engine
50
- * @param {Terrain} terrain
51
- */
52
- function frameTerrain(engine, terrain) {
53
- const world_x = terrain.size.x * terrain.gridScale;
54
- const world_y = terrain.size.y * terrain.gridScale;
55
-
56
- engine.entityManager.dataset.traverseComponents(TopDownCameraController, controller => {
57
- controller.target.set(world_x / 2, 0, world_y / 2);
58
- controller.distance = Math.max(world_x, world_y);
59
- });
60
- }
61
-
62
- /**
63
- * The model loaders — the same split the game's graphics profile makes, and for the same reason: a
64
- * model is the one asset whose loaded form *is* the renderer's own representation.
65
- *
66
- * @param {EngineConfiguration} config
67
- */
68
- function addModelLoaders(config) {
69
- const loader = new GLTFSceneBundleAssetLoader();
70
-
71
- config.addLoader(GameAssetType.ModelGLTF, loader);
72
- config.addLoader(GameAssetType.ModelGLTF_JSON, loader);
73
-
74
- // `.usd`, `.usda` and `.usdz` all arrive under the one type — see `GameAssetType.ModelUSD`
75
- config.addLoader(GameAssetType.ModelUSD, new USDSceneBundleAssetLoader());
76
-
77
- // `load_gltf` asks the asset manager for each of a model's images rather than fetching them
78
- // itself (D34), so a shell without this loader loads geometry and no textures
79
- config.addLoader(GameAssetType.ImageBitmap, new ImageBitmapAssetLoader());
80
- }
81
-
82
- /**
83
- * The systems that talk to the renderer.
84
- *
85
- * @param {Engine} engine
86
- * @returns {Promise}
87
- */
88
- async function addGraphicsSystems(engine) {
89
- const em = engine.entityManager;
90
-
91
- const meshes = new MeshSystem(
92
- engine.graphics,
93
- EngineHarness.shadeScene(engine),
94
- url => load_model_scene_bundle(engine.assetManager, url)
95
- );
96
-
97
- await em.addSystem(meshes);
98
-
99
- // a model with neither skin nor clip becomes entities, and its primitives are drawn by the
100
- // system that owns primitives (D47)
101
- await em.addSystem(new ShadedGeometrySystem(engine.graphics, EngineHarness.shadeScene(engine)));
102
-
103
- /*
104
- One outline pass and both of its sources, because the editor offers a `Highlight` editor and
105
- either kind of thing can be carrying the component: a model placed from the mesh library is an
106
- `SGMesh`, and anything built in place is a `ShadedGeometry`. The pass is registered once and
107
- draws for both — a pass per kind would read the whole visibility buffer once per kind, and the
108
- last would paint over the rest.
109
- */
110
- const outline = new HighlightOutlineSystem(engine.graphics);
111
-
112
- await em.addSystem(outline);
113
- await em.addSystem(new SGMeshHighlightSystem(outline, meshes));
114
- await em.addSystem(new ShadedGeometryHighlightSystem(outline));
115
-
116
- await em.addSystem(new ParticleEmitterSystem(engine.graphics, engine.assetManager));
117
-
118
- // the editor's selection box is the debug-draw pass's first consumer (V5)
119
- await em.addSystem(new DebugDrawSystem(engine.graphics));
120
- }
121
-
122
- /**
123
- * Standalone editor shell harness: engine + terrain + lights + camera, the systems the
124
- * editor tooling relies on, a seeded mesh library, and the editor enabled from the start.
125
- *
126
- * @returns {Promise<{engine: Engine, editor: Editor, editorControl: object, terrain: Terrain}>}
127
- */
128
- async function main() {
129
- const harness = new EngineHarness();
130
-
131
- const engine = await harness.initialize({
132
- configuration(config) {
133
- addModelLoaders(config);
134
-
135
- config.addLoader(GameAssetType.ArrayBuffer, new ArrayBufferLoader());
136
- config.addLoader(GameAssetType.Image, new ImageRGBADataLoader());
137
- }
138
- });
139
-
140
- populateEngineSerializationRegistry(engine.binarySerializationRegistry);
141
-
142
- const em = engine.entityManager;
143
-
144
- await addGraphicsSystems(engine);
145
-
146
- await em.addSystem(new TransformAttachmentSystem(engine));
147
- await em.addSystem(new ParentEntitySystem());
148
-
149
- await EngineHarness.buildBasics({
150
- engine,
151
- terrainSize: new Vector2(32, 32),
152
- enableWater: false,
153
- cameraController: false,
154
- pitch: 0.9
155
- });
156
-
157
- // the default terrain has a 1x1 height sampler; height painting needs real resolution
158
- const terrain = obtainTerrain(engine.entityManager.dataset);
159
- terrain.samplerHeight.resize(256, 256);
160
- terrain.updateHeights();
161
-
162
- frameTerrain(engine, terrain);
163
-
164
- const editorControl = enableEditor(engine);
165
-
166
- const editor = editorControl.editor;
167
-
168
- // console access for debugging, mirrors the window.engine convention
169
- window.editor = editor;
170
-
171
- editor.meshLibrary.add('data/models/samples/susanne.glb');
172
- editor.meshLibrary.add('data/models/samples/teapot.gltf');
173
- editor.meshLibrary.add('data/models/samples/textured_unit_cube.gltf');
174
-
175
- editorControl.enable();
176
-
177
- return { engine, editor, editorControl, terrain };
178
- }
179
-
180
- /**
181
- * The shell, booting. Exported as the promise it is so that a probe driving this page has something
182
- * to await — the module boots when it is loaded either way, which is what makes it an entry.
183
- *
184
- * @type {Promise<{engine: Engine, editor: Editor, editorControl: object, terrain: Terrain}>}
185
- */
186
- export const editor_shell = main();
1
+ import './style/editor.scss';
2
+
3
+ import Vector2 from "../src/core/geom/Vector2.js";
4
+ import { GameAssetType } from "../src/engine/asset/GameAssetType.js";
5
+ import { ArrayBufferLoader } from "../src/engine/asset/loaders/ArrayBufferLoader.js";
6
+ import {
7
+ GLTFSceneBundleAssetLoader
8
+ } from "../src/engine/asset/loaders/GLTFSceneBundleAssetLoader.js";
9
+ import {
10
+ USDSceneBundleAssetLoader
11
+ } from "../src/engine/asset/loaders/USDSceneBundleAssetLoader.js";
12
+ import { ImageBitmapAssetLoader } from "../src/engine/asset/loaders/image/ImageBitmapAssetLoader.js";
13
+ import { ImageRGBADataLoader } from "../src/engine/asset/loaders/image/ImageRGBADataLoader.js";
14
+ import { load_model_scene_bundle } from "../src/engine/asset/load_model_scene_bundle.js";
15
+ import { ParentEntitySystem } from "../src/engine/ecs/parent/ParentEntitySystem.js";
16
+ import { obtainTerrain } from "../src/engine/ecs/terrain/util/obtainTerrain.js";
17
+ import { populateEngineSerializationRegistry } from "../src/engine/ecs/storage/populateEngineSerializationRegistry.js";
18
+ import { TransformAttachmentSystem } from "../src/engine/ecs/transform-attachment/TransformAttachmentSystem.js";
19
+ import { EngineHarness } from "../src/engine/EngineHarness.js";
20
+ import TopDownCameraController from "../src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js";
21
+ import { DebugDrawSystem } from "../src/engine/graphics3/DebugDrawSystem.js";
22
+ import {
23
+ HighlightOutlineSystem
24
+ } from "../src/engine/graphics3/HighlightOutlineSystem.js";
25
+ import { MeshSystem } from "../src/engine/graphics3/MeshSystem.js";
26
+ import {
27
+ ShadedGeometryHighlightSystem
28
+ } from "../src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js";
29
+ import {
30
+ SGMeshHighlightSystem
31
+ } from "../src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js";
32
+ import {
33
+ ShadedGeometrySystem
34
+ } from "../src/engine/graphics3/ShadedGeometrySystem.js";
35
+ import { GPUParticleEmitterSystem } from "../src/engine/graphics3/GPUParticleEmitterSystem.js";
36
+ import { enableEditor } from "./enableEditor.js";
37
+
38
+ /**
39
+ * Point the camera at the middle of the terrain, standing off by its own extent.
40
+ *
41
+ * The harness anchors terrain at the world origin and aims the camera at the origin too,
42
+ * so the default view sits on the terrain's corner with three quadrants of empty space —
43
+ * and every orbit pivots on that corner. The editor camera inherits this state when it
44
+ * takes over the scene's active camera.
45
+ *
46
+ * Standing off by the terrain's extent frames most of it while keeping the far corners
47
+ * inside the camera's clip range; the rest is a wheel away.
48
+ *
49
+ * @param {Engine} engine
50
+ * @param {Terrain} terrain
51
+ */
52
+ function frameTerrain(engine, terrain) {
53
+ const world_x = terrain.size.x * terrain.gridScale;
54
+ const world_y = terrain.size.y * terrain.gridScale;
55
+
56
+ engine.entityManager.dataset.traverseComponents(TopDownCameraController, controller => {
57
+ controller.target.set(world_x / 2, 0, world_y / 2);
58
+ controller.distance = Math.max(world_x, world_y);
59
+ });
60
+ }
61
+
62
+ /**
63
+ * The model loaders — the same split the game's graphics profile makes, and for the same reason: a
64
+ * model is the one asset whose loaded form *is* the renderer's own representation.
65
+ *
66
+ * @param {EngineConfiguration} config
67
+ */
68
+ function addModelLoaders(config) {
69
+ const loader = new GLTFSceneBundleAssetLoader();
70
+
71
+ config.addLoader(GameAssetType.ModelGLTF, loader);
72
+ config.addLoader(GameAssetType.ModelGLTF_JSON, loader);
73
+
74
+ // `.usd`, `.usda` and `.usdz` all arrive under the one type — see `GameAssetType.ModelUSD`
75
+ config.addLoader(GameAssetType.ModelUSD, new USDSceneBundleAssetLoader());
76
+
77
+ // `load_gltf` asks the asset manager for each of a model's images rather than fetching them
78
+ // itself (D34), so a shell without this loader loads geometry and no textures
79
+ config.addLoader(GameAssetType.ImageBitmap, new ImageBitmapAssetLoader());
80
+ }
81
+
82
+ /**
83
+ * The systems that talk to the renderer.
84
+ *
85
+ * @param {Engine} engine
86
+ * @returns {Promise}
87
+ */
88
+ async function addGraphicsSystems(engine) {
89
+ const em = engine.entityManager;
90
+
91
+ const meshes = new MeshSystem(
92
+ engine.graphics,
93
+ EngineHarness.shadeScene(engine),
94
+ url => load_model_scene_bundle(engine.assetManager, url)
95
+ );
96
+
97
+ await em.addSystem(meshes);
98
+
99
+ // a model with neither skin nor clip becomes entities, and its primitives are drawn by the
100
+ // system that owns primitives (D47)
101
+ await em.addSystem(new ShadedGeometrySystem(engine.graphics, EngineHarness.shadeScene(engine)));
102
+
103
+ /*
104
+ One outline pass and both of its sources, because the editor offers a `Highlight` editor and
105
+ either kind of thing can be carrying the component: a model placed from the mesh library is an
106
+ `SGMesh`, and anything built in place is a `ShadedGeometry`. The pass is registered once and
107
+ draws for both — a pass per kind would read the whole visibility buffer once per kind, and the
108
+ last would paint over the rest.
109
+ */
110
+ const outline = new HighlightOutlineSystem(engine.graphics);
111
+
112
+ await em.addSystem(outline);
113
+ await em.addSystem(new SGMeshHighlightSystem(outline, meshes));
114
+ await em.addSystem(new ShadedGeometryHighlightSystem(outline));
115
+
116
+ await em.addSystem(new GPUParticleEmitterSystem(
117
+ engine.graphics,
118
+ EngineHarness.shadeScene(engine),
119
+ engine.assetManager
120
+ ));
121
+
122
+ // the editor's selection box is the debug-draw pass's first consumer (V5)
123
+ await em.addSystem(new DebugDrawSystem(engine.graphics));
124
+ }
125
+
126
+ /**
127
+ * Standalone editor shell harness: engine + terrain + lights + camera, the systems the
128
+ * editor tooling relies on, a seeded mesh library, and the editor enabled from the start.
129
+ *
130
+ * @returns {Promise<{engine: Engine, editor: Editor, editorControl: object, terrain: Terrain}>}
131
+ */
132
+ async function main() {
133
+ const harness = new EngineHarness();
134
+
135
+ const engine = await harness.initialize({
136
+ configuration(config) {
137
+ addModelLoaders(config);
138
+
139
+ config.addLoader(GameAssetType.ArrayBuffer, new ArrayBufferLoader());
140
+ config.addLoader(GameAssetType.Image, new ImageRGBADataLoader());
141
+ }
142
+ });
143
+
144
+ populateEngineSerializationRegistry(engine.binarySerializationRegistry);
145
+
146
+ const em = engine.entityManager;
147
+
148
+ await addGraphicsSystems(engine);
149
+
150
+ await em.addSystem(new TransformAttachmentSystem(engine));
151
+ await em.addSystem(new ParentEntitySystem());
152
+
153
+ await EngineHarness.buildBasics({
154
+ engine,
155
+ terrainSize: new Vector2(32, 32),
156
+ enableWater: false,
157
+ cameraController: false,
158
+ pitch: 0.9
159
+ });
160
+
161
+ // the default terrain has a 1x1 height sampler; height painting needs real resolution
162
+ const terrain = obtainTerrain(engine.entityManager.dataset);
163
+ terrain.samplerHeight.resize(256, 256);
164
+ terrain.updateHeights();
165
+
166
+ frameTerrain(engine, terrain);
167
+
168
+ const editorControl = enableEditor(engine);
169
+
170
+ const editor = editorControl.editor;
171
+
172
+ // console access for debugging, mirrors the window.engine convention
173
+ window.editor = editor;
174
+
175
+ editor.meshLibrary.add('data/models/samples/susanne.glb');
176
+ editor.meshLibrary.add('data/models/samples/teapot.gltf');
177
+ editor.meshLibrary.add('data/models/samples/textured_unit_cube.gltf');
178
+
179
+ editorControl.enable();
180
+
181
+ return { engine, editor, editorControl, terrain };
182
+ }
183
+
184
+ /**
185
+ * The shell, booting. Exported as the promise it is so that a probe driving this page has something
186
+ * to await — the module boots when it is loaded either way, which is what makes it an entry.
187
+ *
188
+ * @type {Promise<{engine: Engine, editor: Editor, editorControl: object, terrain: Terrain}>}
189
+ */
190
+ export const editor_shell = main();
@@ -1 +1 @@
1
- {"version":3,"file":"entity_templates.d.ts","sourceRoot":"","sources":["../../../editor/templates/entity_templates.js"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AACH,8DAJW,MAAM,cACN,EAAE,GACA,QAAQ,MAAM,CAAC,CA4B3B;AAED;;;;GAIG;AACH,+BAFU,cAAc;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,oBAAoB,QAAQ,MAAM,CAAC,CAAA;CAAC,CAAC,CA6G/E"}
1
+ {"version":3,"file":"entity_templates.d.ts","sourceRoot":"","sources":["../../../editor/templates/entity_templates.js"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,8DAJW,MAAM,cACN,EAAE,GACA,QAAQ,MAAM,CAAC,CA4B3B;AAED;;;;GAIG;AACH,+BAFU,cAAc;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,oBAAoB,QAAQ,MAAM,CAAC,CAAA;CAAC,CAAC,CA+F/E"}
@@ -6,15 +6,12 @@ import { Camera } from "../../src/engine/graphics/ecs/camera/Camera.js";
6
6
  import { Light } from "../../src/engine/graphics/ecs/light/Light.js";
7
7
  import { SGMesh } from "../../src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.js";
8
8
  import CheckersTextureURI from "../../src/engine/graphics/texture/CheckersTextureURI.js";
9
- import { ParticleEmitter } from "../../src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js";
10
- import { ParticleLayer } from "../../src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js";
11
- import { ParticleParameters } from "../../src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.js";
12
- import { ParameterLookupTable } from "../../src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js";
13
- import { ParameterTrack } from "../../src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js";
9
+ import { ParticleEffect } from "../../src/engine/graphics/ecs/particles/ParticleEffect.js";
14
10
  import ComponentAddAction from "../actions/concrete/ComponentAddAction.js";
15
11
  import EntityCreateAction from "../actions/concrete/EntityCreateAction.js";
16
12
  import SelectionAddAction from "../actions/concrete/SelectionAddAction.js";
17
13
  import SelectionClearAction from "../actions/concrete/SelectionClearAction.js";
14
+ import { make_starter_particle_effect } from "../particles/effect/make_starter_particle_effect.js";
18
15
 
19
16
  /**
20
17
  * Create an entity from a list of components as one undoable group, select it.
@@ -110,32 +107,18 @@ export const ENTITY_TEMPLATES = [
110
107
  }
111
108
  },
112
109
  {
113
- name: 'Particle Emitter',
110
+ name: 'Particle Effect',
114
111
  build(editor) {
115
- const emitter = new ParticleEmitter();
112
+ // the particle editor's own starting point, compiled: a plume that burns as soon as it is
113
+ // placed. Untextured, so the template names no image the host may not ship
114
+ const starter = make_starter_particle_effect();
116
115
 
117
- const layer = new ParticleLayer();
118
- layer.imageURL = 'data/textures/particle/UETools/x64/Circle_04.png';
119
- layer.emissionRate = 20;
116
+ const effect = ParticleEffect.from(starter.emitterConfig(starter.compile()));
120
117
 
121
- // editable parameter tracks: constant size, warm fade-out
122
- const scale_lut = new ParameterLookupTable(1);
123
- scale_lut.write([1, 1], [0, 1]);
124
- layer.parameterTracks.add(new ParameterTrack(ParticleParameters.Scale, scale_lut));
125
-
126
- const color_lut = new ParameterLookupTable(4);
127
- color_lut.write([
128
- 1, 0.85, 0.4, 1,
129
- 1, 0.25, 0.05, 0
130
- ], [0, 1]);
131
- layer.parameterTracks.add(new ParameterTrack(ParticleParameters.Color, color_lut));
132
-
133
- emitter.layers.add(layer);
134
-
135
- return spawnEntityFromTemplate(editor, 'Particle Emitter', [
118
+ return spawnEntityFromTemplate(editor, 'Particle Effect', [
136
119
  new Transform64(),
137
- new Name('Particle Emitter'),
138
- emitter
120
+ new Name('Particle Effect'),
121
+ effect
139
122
  ]);
140
123
  }
141
124
  },
@@ -3,7 +3,7 @@ import { EventType } from "../../src/engine/ecs/EventType.js";
3
3
  import { Camera } from "../../src/engine/graphics/ecs/camera/Camera.js";
4
4
  import { Light } from "../../src/engine/graphics/ecs/light/Light.js";
5
5
  import { SGMesh } from "../../src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.js";
6
- import { ParticleEmitter } from "../../src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js";
6
+ import { ParticleEffect } from "../../src/engine/graphics/ecs/particles/ParticleEffect.js";
7
7
  import LabelView from "../../src/view/common/LabelView.js";
8
8
  import EmptyView from "../../src/view/elements/EmptyView.js";
9
9
  import ImageView from "../../src/view/elements/image/ImageView.js";
@@ -43,7 +43,7 @@ export function makeEntityDecorators() {
43
43
 
44
44
  const component_icons = new Map([
45
45
  [SGMesh, "data/textures/icons/editor/cube-shaded-v1.png"],
46
- [ParticleEmitter, "data/textures/icons/editor/particles.png"],
46
+ [ParticleEffect, "data/textures/icons/editor/particles.png"],
47
47
  [Light, "data/textures/icons/editor/light.png"],
48
48
  [Camera, "data/textures/icons/editor/camera.png"],
49
49
  [Tag, "data/textures/icons/editor/tag-v0.png"],
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "Advanced 3D game engine",
7
7
  "type": "module",
8
8
  "author": "Alexander Goldring",
9
- "version": "3.32.0",
9
+ "version": "3.34.0",
10
10
  "exports": {
11
11
  "./build/*": "./build/*",
12
12
  "./src/*": "./src/*",
@@ -70,7 +70,14 @@ export class RowFirstTable {
70
70
  */
71
71
  trim(): void;
72
72
  /**
73
+ * Fit capacity to `row_count` rows: grow if they do not fit, shrink if the table is much larger than they need.
73
74
  *
75
+ * A shrink lands on the capacity a grow would pick, and only happens once {@link ALLOCATION_SHRINK_FACTOR} of the
76
+ * capacity would still exceed that, so the next row added or removed cannot undo either direction. Shrinking to
77
+ * exactly `row_count` whenever `capacity * ALLOCATION_SHRINK_FACTOR > row_count` overlapped the minimum grow step,
78
+ * and reallocated the whole table on every append below ~30 rows.
79
+ *
80
+ * NOTE: any reallocation replaces {@link data} and {@link dataView}
74
81
  * @param {number} row_count
75
82
  */
76
83
  resize(row_count: number): void;
@@ -178,6 +185,7 @@ export class RowFirstTable {
178
185
  * @returns {boolean}
179
186
  */
180
187
  equals(other: RowFirstTable): boolean;
188
+ #private;
181
189
  }
182
190
  export type RowFirstTableSpec = import("./RowFirstTableSpec.js").RowFirstTableSpec;
183
191
  import Signal from "../../events/signal/Signal.js";
@@ -1 +1 @@
1
- {"version":3,"file":"RowFirstTable.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/table/RowFirstTable.js"],"names":[],"mappings":"AAmCA;;;;;;;;GAQG;AACH;IAOI;;;;;OAKG;IACH,kBAJW,iBAAiB,iBACjB,OAAO,EA+CjB;IAxDD;;;OAGG;IACH,QAFU,MAAM,CAEL;IAkBP;;;OAGG;IACH,MAFU,iBAAiB,CAEX;IAEhB;;;OAGG;IACH,MAFU,WAAW,CAE4D;IAEjF;;;OAGG;IACH,UAFU,MAAM,CAEgB;IAEhC;;;OAGG;IACH,UAFU,QAAQ,CAEqB;IAEvC;;;OAGG;IACH,IAFU;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAOxB;IAIL;;;;;;OAMG;IACH,0DAMC;IAED;;;OAGG;IACH,QAFa,MAAM,CA4ClB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAgDhB;IAED;;OAEG;IACH,aAEC;IAED;;;OAGG;IACH,kBAFW,MAAM,QAsBhB;IAED;;;;;OAKG;IACH,0BAJW,MAAM,gBACN,MAAM,SACN,MAAM,QAmBhB;IAED;;;;;OAKG;IACH,yBAJW,MAAM,gBACN,MAAM,GACJ,MAAM,CAmBlB;IAED;;;;OAIG;IACH,kBAHW,MAAM,aACN,MAAM,QAyBhB;IAED;;;;;;OAMG;IACH,kBAHW,MAAM,aACN,MAAM,QAwBhB;IAED;;;;;OAKG;IACH,kBAFY,MAAM,CAYjB;IAED;;;;OAIG;IACH,eAHW,MAAO,MAAM,CAAC,GACZ,MAAM,CAYlB;IAED;;;;OAIG;IACH,eAHW,MAAM,iBACN,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAO,MAAM,CAAC,QAAM,QAIvD;IAED;;;;OAIG;IACH,gBAHW,MAAM,UACN,MAAM,QAwBhB;IAGD;;;;;OAKG;IACH,eAJW,MAAM,WACN,MAAM,EAAE,GACN,MAAM,EAAE,CAUpB;IAED;;;;OAIG;IACH,gBAHW,MAAM,UACN,MAAM,EAAE,QAUlB;IAED;;;;;;OAMG;IACH,gBAFW,MAAM,QAgBhB;IAED;;OAEG;IACH,qBA4BC;IAED;;OAEG;IACH,cAIC;IAED;;;;OAIG;IACH,cAFa,MAAM,EAAE,EAAE,CAetB;IAED;;;OAGG;IACH,uBAIC;IAED;;;;OAIG;IACH,YAFW,aAAa,QAqBvB;IAED;;;OAGG;IACH,cAHW,aAAa,GACX,OAAO,CAwCnB;CACJ;gCAhnBY,OAAO,wBAAwB,EAAE,iBAAiB;mBAN5C,+BAA+B"}
1
+ {"version":3,"file":"RowFirstTable.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/table/RowFirstTable.js"],"names":[],"mappings":"AAiDA;;;;;;;;GAQG;AACH;IAOI;;;;;OAKG;IACH,kBAJW,iBAAiB,iBACjB,OAAO,EA+CjB;IAxDD;;;OAGG;IACH,QAFU,MAAM,CAEL;IAkBP;;;OAGG;IACH,MAFU,iBAAiB,CAEX;IAEhB;;;OAGG;IACH,MAFU,WAAW,CAE4D;IAEjF;;;OAGG;IACH,UAFU,MAAM,CAEgB;IAEhC;;;OAGG;IACH,UAFU,QAAQ,CAEqB;IAEvC;;;OAGG;IACH,IAFU;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAOxB;IAIL;;;;;;OAMG;IACH,0DAMC;IAED;;;OAGG;IACH,QAFa,MAAM,CA4ClB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAgDhB;IAED;;OAEG;IACH,aAEC;IAaD;;;;;;;;;;OAUG;IACH,kBAFW,MAAM,QAmBhB;IAED;;;;;OAKG;IACH,0BAJW,MAAM,gBACN,MAAM,SACN,MAAM,QAmBhB;IAED;;;;;OAKG;IACH,yBAJW,MAAM,gBACN,MAAM,GACJ,MAAM,CAmBlB;IAED;;;;OAIG;IACH,kBAHW,MAAM,aACN,MAAM,QAyBhB;IAED;;;;;;OAMG;IACH,kBAHW,MAAM,aACN,MAAM,QAwBhB;IAED;;;;;OAKG;IACH,kBAFY,MAAM,CAYjB;IAED;;;;OAIG;IACH,eAHW,MAAO,MAAM,CAAC,GACZ,MAAM,CAYlB;IAED;;;;OAIG;IACH,eAHW,MAAM,iBACN,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAO,MAAM,CAAC,QAAM,QAIvD;IAED;;;;OAIG;IACH,gBAHW,MAAM,UACN,MAAM,QAwBhB;IAGD;;;;;OAKG;IACH,eAJW,MAAM,WACN,MAAM,EAAE,GACN,MAAM,EAAE,CAUpB;IAED;;;;OAIG;IACH,gBAHW,MAAM,UACN,MAAM,EAAE,QAUlB;IAED;;;;;;OAMG;IACH,gBAFW,MAAM,QAgBhB;IAED;;OAEG;IACH,qBA4BC;IAED;;OAEG;IACH,cAIC;IAED;;;;OAIG;IACH,cAFa,MAAM,EAAE,EAAE,CAetB;IAED;;;OAGG;IACH,uBAIC;IAED;;;;OAIG;IACH,YAFW,aAAa,QAqBvB;IAED;;;OAGG;IACH,cAHW,aAAa,GACX,OAAO,CAwCnB;;CACJ;gCA7oBY,OAAO,wBAAwB,EAAE,iBAAiB;mBAN5C,+BAA+B"}
@@ -28,11 +28,25 @@ const ALLOCATION_GROW_FACTOR = 1.5;
28
28
  const ALLOCATION_GROW_MINIMUM_STEP = 32;
29
29
 
30
30
  /**
31
- * Must be less than 1 and greater than 0
31
+ * Must be less than 1 and greater than 0.
32
+ * A table shrinks once this fraction of its capacity would still exceed what a grow picks for the current row count,
33
+ * see {@link RowFirstTable#resize}
32
34
  * @type {number}
33
35
  */
34
36
  const ALLOCATION_SHRINK_FACTOR = 0.5;
35
37
 
38
+ /**
39
+ * Capacity a grow picks for `row_count` rows, and the capacity a shrink lands on
40
+ * @param {number} row_count
41
+ * @returns {number}
42
+ */
43
+ function capacity_for_row_count(row_count) {
44
+ return Math.max(
45
+ Math.ceil(row_count * ALLOCATION_GROW_FACTOR),
46
+ row_count + ALLOCATION_GROW_MINIMUM_STEP
47
+ );
48
+ }
49
+
36
50
  /**
37
51
  * Compact binary table storage.
38
52
  * Very efficient in terms of memory usage and allocation.
@@ -225,26 +239,41 @@ export class RowFirstTable {
225
239
  }
226
240
 
227
241
  /**
242
+ * Grow capacity to fit `row_count` rows if it does not already, never shrinks.
243
+ * What every operation that adds rows uses, so an append cannot undo a {@link setCapacity} reservation.
244
+ * @param {number} row_count
245
+ */
246
+ #grow_to_fit(row_count) {
247
+ if (this.capacity < row_count) {
248
+ this.setCapacity(capacity_for_row_count(row_count));
249
+ }
250
+ }
251
+
252
+ /**
253
+ * Fit capacity to `row_count` rows: grow if they do not fit, shrink if the table is much larger than they need.
228
254
  *
255
+ * A shrink lands on the capacity a grow would pick, and only happens once {@link ALLOCATION_SHRINK_FACTOR} of the
256
+ * capacity would still exceed that, so the next row added or removed cannot undo either direction. Shrinking to
257
+ * exactly `row_count` whenever `capacity * ALLOCATION_SHRINK_FACTOR > row_count` overlapped the minimum grow step,
258
+ * and reallocated the whole table on every append below ~30 rows.
259
+ *
260
+ * NOTE: any reallocation replaces {@link data} and {@link dataView}
229
261
  * @param {number} row_count
230
262
  */
231
263
  resize(row_count) {
232
264
  assert.isNonNegativeInteger(row_count, 'row_count');
233
265
 
266
+ const fitted_capacity = capacity_for_row_count(row_count);
267
+
234
268
  if (this.capacity < row_count) {
235
269
 
236
270
  //grow
237
- const new_size = Math.max(
238
- Math.ceil(row_count * ALLOCATION_GROW_FACTOR),
239
- row_count + ALLOCATION_GROW_MINIMUM_STEP
240
- );
241
-
242
- this.setCapacity(new_size);
271
+ this.setCapacity(fitted_capacity);
243
272
 
244
- } else if (this.capacity * ALLOCATION_SHRINK_FACTOR > row_count) {
273
+ } else if (this.capacity * ALLOCATION_SHRINK_FACTOR > fitted_capacity) {
245
274
 
246
275
  //shrink
247
- this.setCapacity(row_count);
276
+ this.setCapacity(fitted_capacity);
248
277
 
249
278
  }
250
279
 
@@ -343,7 +372,7 @@ export class RowFirstTable {
343
372
 
344
373
  const future_length = this.length + row_count;
345
374
 
346
- this.resize(future_length);
375
+ this.#grow_to_fit(future_length);
347
376
 
348
377
  const data = this.data;
349
378
 
@@ -370,7 +399,7 @@ export class RowFirstTable {
370
399
  createEmptyRow() {
371
400
  const newRowCount = this.length + 1;
372
401
 
373
- this.resize(newRowCount);
402
+ this.#grow_to_fit(newRowCount);
374
403
 
375
404
  const rowIndex = this.length;
376
405
 
@@ -47,7 +47,7 @@ export class MovingBoundingBox {
47
47
  */
48
48
  move(x: number, y: number, z: number): void;
49
49
  }
50
- import { AABB3 } from "../../../../../core/geom/3d/aabb/AABB3.js";
51
- import { RowFirstTable } from "../../../../../core/collection/table/RowFirstTable.js";
52
- import Vector3 from "../../../../../core/geom/Vector3.js";
50
+ import { AABB3 } from "./AABB3.js";
51
+ import { RowFirstTable } from "../../../collection/table/RowFirstTable.js";
52
+ import Vector3 from "../../Vector3.js";
53
53
  //# sourceMappingURL=MovingBoundingBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MovingBoundingBox.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/aabb/MovingBoundingBox.js"],"names":[],"mappings":"AAcA;;GAEG;AACH;IACI;;;OAGG;IACH,QAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,cAFU,KAAK,CAE4B;IAE3C;;;OAGG;IACH,aAFU,KAAK,CAE2B;IAE1C;;;OAGG;IACH,kBAFU,aAAa,CAEoC;IAE3D;;;OAGG;IACH,UAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,MAFU,MAAM,CAEP;IAET;;;OAGG;IACH,kBAFW,MAAM,QAKhB;IAED,uBAwBC;IAED,2BAgCC;IAED;;;;;OAKG;IACH,QAJW,MAAM,KACN,MAAM,KACN,MAAM,QAyBhB;CACJ;sBAtJqB,YAAY;8BAFJ,4CAA4C;oBAGtD,kBAAkB"}
@@ -1,8 +1,8 @@
1
- import { BinaryDataType } from "../../../../../core/binary/type/BinaryDataType.js";
2
- import { RowFirstTable } from "../../../../../core/collection/table/RowFirstTable.js";
3
- import { RowFirstTableSpec } from "../../../../../core/collection/table/RowFirstTableSpec.js";
4
- import { AABB3 } from "../../../../../core/geom/3d/aabb/AABB3.js";
5
- import Vector3 from "../../../../../core/geom/Vector3.js";
1
+ import { BinaryDataType } from "../../../binary/type/BinaryDataType.js";
2
+ import { RowFirstTable } from "../../../collection/table/RowFirstTable.js";
3
+ import { RowFirstTableSpec } from "../../../collection/table/RowFirstTableSpec.js";
4
+ import { AABB3 } from "./AABB3.js";
5
+ import Vector3 from "../../Vector3.js";
6
6
 
7
7
  const tempSequenceRecord = [];
8
8
 
@@ -0,0 +1,3 @@
1
+ export const RGBA_LUT_HEATMAP_IR: ParameterLookupTable;
2
+ import { ParameterLookupTable } from "./ParameterLookupTable.js";
3
+ //# sourceMappingURL=RGBA_LUT_HEATMAP_IR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RGBA_LUT_HEATMAP_IR.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/lookup/RGBA_LUT_HEATMAP_IR.js"],"names":[],"mappings":"AAEA,uDAA+D;qCAF1B,2BAA2B"}