@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.
- package/build/bundle-worker-terrain.js +1 -1
- package/editor/Editor.d.ts.map +1 -1
- package/editor/Editor.js +0 -3
- package/editor/ecs/component/prototypeObjectEditor.js +1 -165
- package/editor/ecs/component/registerBasicTypeEditors.d.ts.map +1 -1
- package/editor/ecs/component/registerBasicTypeEditors.js +0 -5
- package/editor/ecs/component/registerEngineComponentEditors.d.ts.map +1 -1
- package/editor/ecs/component/registerEngineComponentEditors.js +0 -20
- package/editor/process/SymbolicDisplayProcess.d.ts.map +1 -1
- package/editor/process/SymbolicDisplayProcess.js +100 -106
- package/editor/prototypeEditorShell.d.ts.map +1 -1
- package/editor/prototypeEditorShell.js +190 -186
- package/editor/templates/entity_templates.d.ts.map +1 -1
- package/editor/templates/entity_templates.js +10 -27
- package/editor/view/makeEntityDecorators.js +2 -2
- package/package.json +1 -1
- package/src/core/collection/table/RowFirstTable.d.ts +8 -0
- package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
- package/src/core/collection/table/RowFirstTable.js +40 -11
- package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.d.ts +3 -3
- package/src/core/geom/3d/aabb/MovingBoundingBox.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.js +5 -5
- package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts +3 -0
- package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGBA_LUT_HEATMAP_IR.js +1 -1
- package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts +6 -0
- package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_INFERNO.js +1 -1
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.d.ts +1 -1
- package/src/core/math/lookup/RGB_LUT_TURBO.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.js +1 -1
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.d.ts +1 -1
- package/src/core/math/lookup/RGB_LUT_VIRIDIS.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.js +1 -1
- package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
- package/src/engine/animation/AnimatedActions.js +2 -4
- package/src/engine/animation/AnimationUtils.d.ts +1 -17
- package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
- package/src/engine/animation/AnimationUtils.js +138 -246
- package/src/engine/ecs/EntityManager.d.ts +1 -1
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +2 -2
- package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +268 -275
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +0 -10
- package/src/engine/graphics/geometry/distribute_points_on_indexed_triangles.d.ts.map +1 -0
- package/src/engine/graphics/{particles/particular/engine/utils → geometry}/distribute_points_on_indexed_triangles.js +3 -3
- package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.d.ts +1 -1
- package/src/engine/graphics/texture/sampler/lut_to_sampler.d.ts.map +1 -0
- package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.js +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -3
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +0 -3
- package/src/engine/network/NetworkSession.d.ts +1 -1
- package/src/engine/network/NetworkSession.js +1 -1
- package/src/engine/physics/cloth/MEASUREMENTS.md +115 -0
- package/src/engine/physics/cloth/solver/cloth_contact_find.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_contact_find.js +2 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts +9 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.js +30 -7
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +12 -2
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts +11 -2
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/LiveEmitterSet.js +14 -7
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts +6 -15
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.js +161 -174
- package/src/shade/device/mock/SoftwareGPUBuffer.d.ts +5 -3
- package/src/shade/device/mock/SoftwareGPUBuffer.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUBuffer.js +32 -3
- package/src/shade/device/mock/SoftwareGPURenderPassEncoder.d.ts +20 -3
- package/src/shade/device/mock/SoftwareGPURenderPassEncoder.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPURenderPassEncoder.js +21 -3
- package/src/shade/playground/caldera/main.js +73 -60
- package/src/shade/playground/vgeo_runtime/main.js +25 -77
- package/src/shade/playground/vgeo_scene/main.js +2231 -2217
- package/src/shade/renderer/GraphicsContext.d.ts +18 -0
- package/src/shade/renderer/GraphicsContext.d.ts.map +1 -1
- package/src/shade/renderer/GraphicsContext.js +63 -40
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +38 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +8 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +21 -0
- package/src/shade/renderer/buffer/GPUBufferReadbackAllocator.d.ts +6 -5
- package/src/shade/renderer/buffer/GPUBufferReadbackAllocator.d.ts.map +1 -1
- package/src/shade/renderer/buffer/GPUBufferReadbackAllocator.js +241 -240
- package/src/shade/renderer/buffer/GPUBufferStagingAllocator.d.ts +51 -0
- package/src/shade/renderer/buffer/GPUBufferStagingAllocator.d.ts.map +1 -1
- package/src/shade/renderer/buffer/GPUBufferStagingAllocator.js +214 -28
- package/src/shade/renderer/dynamic/DynamicMeshAVBOITChannel.d.ts +2 -1
- package/src/shade/renderer/dynamic/DynamicMeshAVBOITChannel.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/DynamicMeshAVBOITChannel.js +19 -17
- package/src/shade/renderer/dynamic/GPUDynamicMeshDrawList.d.ts +70 -0
- package/src/shade/renderer/dynamic/GPUDynamicMeshDrawList.d.ts.map +1 -0
- package/src/shade/renderer/dynamic/GPUDynamicMeshDrawList.js +257 -0
- package/src/shade/renderer/dynamic/GPUDynamicMeshRenderer.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/GPUDynamicMeshRenderer.js +19 -34
- package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.d.ts +6 -20
- package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.js +42 -36
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts +2 -1
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.js +4 -3
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_vertex.d.ts +4 -3
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_vertex.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_vertex.js +7 -4
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts +14 -15
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.js +49 -83
- package/src/shade/renderer/dynamic/shader_dynamic_mesh.d.ts +19 -3
- package/src/shade/renderer/dynamic/shader_dynamic_mesh.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh.js +26 -6
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts +2 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.js +12 -6
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts +3 -2
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.js +21 -13
- package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.js +9 -10
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +5 -0
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +11 -0
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts +12 -0
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.js +25 -0
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts +115 -101
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.js +282 -140
- package/src/shade/renderer/geometry/virtual/runtime/REVIEW_LEDGER.md +30 -0
- package/src/shade/renderer/geometry/virtual/runtime/RUNTIME_PLAN_2026_09_14.md +4 -1
- package/src/shade/renderer/geometry/virtual/runtime/SHADOW_PLAN_2026_09_28.md +536 -0
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts +6 -2
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.js +68 -19
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts +2 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.js +17 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts +4 -0
- package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.js +42 -12
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts +93 -12
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.js +166 -20
- package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.js +30 -7
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.js +12 -5
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.js +2 -2
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.js +23 -13
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.js +1 -2
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.js +1 -2
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.js +10 -6
- package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts +45 -17
- package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.js +61 -19
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts +8 -11
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.js +9 -16
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.js +25 -10
- package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_FEEDBACK_OFFSET.js +10 -8
- package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.d.ts +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.js +19 -7
- package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts +4 -2
- package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.js +4 -2
- package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts +4 -0
- package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.js +7 -0
- package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.js +1 -0
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.js +2 -0
- package/src/shade/renderer/particles/DESIGN.md +4 -10
- package/src/shade/renderer/particles/ParticleConstants.d.ts +1 -3
- package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
- package/src/shade/renderer/particles/ParticleConstants.js +1 -3
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts +3 -4
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +3 -4
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts +45 -0
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.js +99 -0
- package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.d.ts +4 -4
- package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.js +36 -36
- package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts +15 -0
- package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.js +103 -0
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts +3 -0
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +6 -1
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts +26 -0
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.js +91 -0
- package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts +22 -0
- package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.js +102 -0
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts +2 -1
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js +28 -24
- package/src/shade/renderer/rasterize/native/avboit/AVBOIT_LEDGER.md +20 -0
- package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.js +32 -28
- package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.js +9 -105
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +5 -0
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +11 -0
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +11 -3
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +93 -21
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts +4 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.js +5 -23
- package/src/shade/renderer/shader/type/serde/write_gpu_typed_buffer.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/serde/write_gpu_typed_buffer.js +8 -1
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +63 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts +12 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.js +11 -0
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts +15 -0
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/Shadowmap.js +17 -0
- package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts +25 -0
- package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.js +22 -0
- package/src/shade/renderer/shadow/map/shadowmap_update_score.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shadowmap_update_score.js +5 -2
- package/src/shade/renderer/texture/TextureManager.d.ts +2 -1
- package/src/shade/renderer/texture/TextureManager.d.ts.map +1 -1
- package/src/shade/renderer/texture/TextureManager.js +4 -1
- package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +1 -1
- package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts +9 -1
- package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts.map +1 -1
- package/src/shade/renderer/util/Uint32BufferSamplingStats.js +55 -5
- package/src/shade/renderer/view/ViewManager.d.ts +7 -1
- package/src/shade/renderer/view/ViewManager.d.ts.map +1 -1
- package/src/shade/renderer/view/ViewManager.js +17 -1
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +1 -0
- package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts +0 -20
- package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.js +0 -35
- package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts +0 -12
- package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParameterTrackEditor.js +0 -17
- package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts +0 -14
- package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.js +0 -18
- package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts +0 -52
- package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.js +0 -58
- package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts +0 -47
- package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.js +0 -58
- package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts +0 -16
- package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.js +0 -21
- package/editor/particles/rebuildParticleEmitter.d.ts +0 -11
- package/editor/particles/rebuildParticleEmitter.d.ts.map +0 -1
- package/editor/particles/rebuildParticleEmitter.js +0 -31
- package/editor/process/ParticleEmitterRebuildProcess.d.ts +0 -66
- package/editor/process/ParticleEmitterRebuildProcess.d.ts.map +0 -1
- package/editor/process/ParticleEmitterRebuildProcess.js +0 -217
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts +0 -18
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts.map +0 -1
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.js +0 -140
- package/src/engine/animation/removeEntityGenericEffect.d.ts +0 -18
- package/src/engine/animation/removeEntityGenericEffect.d.ts.map +0 -1
- package/src/engine/animation/removeEntityGenericEffect.js +0 -160
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts +0 -16
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts.map +0 -1
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +0 -194
- package/src/engine/graphics/ecs/sprite/Sprite.d.ts +0 -12
- package/src/engine/graphics/ecs/sprite/Sprite.d.ts.map +0 -1
- package/src/engine/graphics/ecs/sprite/Sprite.js +0 -11
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts +0 -8
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +0 -1
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +0 -141
- package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +0 -61
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +0 -229
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts +0 -6
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.js +0 -8
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.js +0 -9
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts +0 -13
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.js +0 -12
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts +0 -3
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.js +0 -84
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +0 -285
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +0 -1201
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts +0 -19
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js +0 -67
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts +0 -197
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +0 -398
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.js +0 -4
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +0 -162
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +0 -472
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts +0 -10
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +0 -37
- package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.js +0 -25
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts +0 -19
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js +0 -28
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts +0 -19
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js +0 -162
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.js +0 -103
- package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts +0 -8
- package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.js +0 -28
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.js +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts +0 -60
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.js +0 -128
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts +0 -47
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js +0 -77
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts +0 -45
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.js +0 -93
- package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts +0 -95
- package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.js +0 -239
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts +0 -3
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts +0 -6
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts +0 -13
- package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.js +0 -28
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.js +0 -24
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts +0 -13
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.js +0 -27
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts +0 -33
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.js +0 -80
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +0 -49
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +0 -135
- package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts +0 -7
- package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.js +0 -14
- package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts +0 -41
- package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.js +0 -59
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts +0 -4
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.js +0 -56
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts +0 -4
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.js +0 -84
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts +0 -4
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +0 -80
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts +0 -29
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.js +0 -43
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.js +0 -104
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.js +0 -11
- package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.js +0 -64
- package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js +0 -172
- package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts +0 -20
- package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +0 -84
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +0 -81
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +0 -200
- package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts +0 -6
- package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.js +0 -8
- package/src/engine/graphics/particles/particular/engine/utils/volume/lut_to_sampler.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/Operation.d.ts +0 -20
- package/src/engine/graphics/particles/particular/group/Operation.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/Operation.js +0 -20
- package/src/engine/graphics/particles/particular/group/OperationType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/group/OperationType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/OperationType.js +0 -9
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts +0 -27
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.js +0 -27
- package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts +0 -8
- package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleAttributeType.js +0 -11
- package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleDataType.js +0 -10
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts +0 -24
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.js +0 -48
- package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.js +0 -20
- package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts +0 -6
- package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.js +0 -162
- package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts +0 -8
- package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.js +0 -19
- package/src/engine/graphics3/ParticleEmitterSystem.d.ts +0 -77
- package/src/engine/graphics3/ParticleEmitterSystem.d.ts.map +0 -1
- package/src/engine/graphics3/ParticleEmitterSystem.js +0 -307
- package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +0 -10
- package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/ParticleEmitterSystem3.js +0 -10
- package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts +0 -61
- package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts.map +0 -1
- package/src/engine/graphics3/particles/GPUParticularRenderer.js +0 -627
- package/src/engine/graphics3/particles/particle_gpu_records.d.ts +0 -85
- package/src/engine/graphics3/particles/particle_gpu_records.d.ts.map +0 -1
- package/src/engine/graphics3/particles/particle_gpu_records.js +0 -227
- package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts +0 -35
- package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +0 -1
- package/src/shade/renderer/particles/shaders/shader_particle_render.js +0 -135
- /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 {
|
|
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
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
editor
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
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":"
|
|
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 {
|
|
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
|
|
110
|
+
name: 'Particle Effect',
|
|
114
111
|
build(editor) {
|
|
115
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
138
|
-
|
|
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 {
|
|
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
|
-
[
|
|
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
|
@@ -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":"
|
|
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
|
-
|
|
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 >
|
|
273
|
+
} else if (this.capacity * ALLOCATION_SHRINK_FACTOR > fitted_capacity) {
|
|
245
274
|
|
|
246
275
|
//shrink
|
|
247
|
-
this.setCapacity(
|
|
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
|
|
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
|
|
402
|
+
this.#grow_to_fit(newRowCount);
|
|
374
403
|
|
|
375
404
|
const rowIndex = this.length;
|
|
376
405
|
|
package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.d.ts
RENAMED
|
@@ -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 "
|
|
51
|
-
import { RowFirstTable } from "
|
|
52
|
-
import Vector3 from "
|
|
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"}
|
package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.js
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BinaryDataType } from "
|
|
2
|
-
import { RowFirstTable } from "
|
|
3
|
-
import { RowFirstTableSpec } from "
|
|
4
|
-
import { AABB3 } from "
|
|
5
|
-
import Vector3 from "
|
|
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 @@
|
|
|
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"}
|