@woosh/meep-engine 3.47.0 → 3.49.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/particles/effect/ParticleReferenceSimulation.d.ts +1 -2
- package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -1
- package/editor/particles/effect/ParticleReferenceSimulation.js +2 -4
- package/editor/view/particles/effect/ParticleGraphEditorView.js +1 -1
- package/package.json +1 -1
- package/src/engine/ecs/async/WORKER_SYSTEM_PLAN.md +27 -11
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +11 -0
- package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts +2 -2
- package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts.map +1 -1
- package/src/engine/graphics/ecs/particles/ParticleEffect.js +7 -7
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.d.ts +8 -0
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.js +11 -3
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_1_2.d.ts +26 -0
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_1_2.d.ts.map +1 -0
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_1_2.js +91 -0
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +2 -2
- package/src/engine/graphics3/GraphicsEngine.d.ts.map +1 -1
- package/src/engine/graphics3/GraphicsEngine.js +8 -1
- package/src/engine/graphics3/ParticipatingMedia.d.ts +84 -1
- package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMedia.js +139 -5
- package/src/engine/graphics3/ParticipatingMediaSerializationAdapter.d.ts +6 -2
- package/src/engine/graphics3/ParticipatingMediaSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMediaSerializationAdapter.js +29 -4
- package/src/engine/graphics3/ParticipatingMediaSerializationUpgrader_0_1.d.ts +10 -0
- package/src/engine/graphics3/ParticipatingMediaSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/graphics3/ParticipatingMediaSerializationUpgrader_0_1.js +38 -0
- package/src/engine/graphics3/ParticipatingMediaSystem.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMediaSystem.js +46 -3
- package/src/engine/network/NetworkSession.d.ts +16 -5
- package/src/engine/network/NetworkSession.d.ts.map +1 -1
- package/src/engine/network/NetworkSession.js +104 -7
- package/src/engine/network/README.md +27 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +40 -18
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +180 -190
- package/src/engine/network/replication/Replicator.d.ts +15 -4
- package/src/engine/network/replication/Replicator.d.ts.map +1 -1
- package/src/engine/network/replication/Replicator.js +50 -16
- package/src/engine/network/state/RecordArrivalRing.d.ts +57 -0
- package/src/engine/network/state/RecordArrivalRing.d.ts.map +1 -0
- package/src/engine/network/state/RecordArrivalRing.js +144 -0
- package/src/engine/physics/cloth/MEASUREMENTS.md +354 -0
- package/src/engine/physics/cloth/PLAN.md +85 -5
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts +0 -12
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothInstance.js +0 -13
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts +2 -1
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothSystem.js +7 -1
- package/src/engine/physics/cloth/ecs/ClothWorld.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothWorld.js +4 -15
- package/src/engine/physics/cloth/ecs/WorkerClothSystem.d.ts +2 -1
- package/src/engine/physics/cloth/ecs/WorkerClothSystem.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/WorkerClothSystem.js +6 -1
- package/src/engine/physics/cloth/ecs/cloth_build_rows.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_build_rows.js +20 -10
- package/src/engine/physics/cloth/playground/collide.html +5 -3
- package/src/engine/physics/cloth/playground/collide_main.js +14 -13
- package/src/engine/physics/cloth/solver/ClothState.d.ts +30 -2
- package/src/engine/physics/cloth/solver/ClothState.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/ClothState.js +62 -4
- package/src/engine/physics/cloth/solver/cloth_self_find.d.ts +11 -3
- package/src/engine/physics/cloth/solver/cloth_self_find.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_self_find.js +52 -11
- package/src/engine/physics/cloth/solver/cloth_self_radius.d.ts +42 -0
- package/src/engine/physics/cloth/solver/cloth_self_radius.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/cloth_self_radius.js +64 -0
- package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts +99 -24
- package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_solver_constants.js +102 -25
- package/src/engine/physics/cloth/solver/cloth_step.d.ts +5 -1
- package/src/engine/physics/cloth/solver/cloth_step.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_step.js +13 -3
- package/src/engine/physics/cloth/solver/cloth_step_instance.d.ts +0 -1
- package/src/engine/physics/cloth/solver/cloth_step_instance.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_step_instance.js +12 -14
- package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts +23 -4
- 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 +36 -8
- package/src/engine/physics/cloth/solver/constraint/cloth_self_row.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/constraint/cloth_self_row.js +4 -2
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/shade/device/mock/SoftwareGPUDevice.d.ts +15 -0
- package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUDevice.js +21 -0
- package/src/shade/device/pipeline/ComputePipelineManager.d.ts +20 -0
- package/src/shade/device/pipeline/ComputePipelineManager.d.ts.map +1 -1
- package/src/shade/device/pipeline/ComputePipelineManager.js +80 -6
- package/src/shade/device/pipeline/PipelineEnquiry.d.ts +52 -0
- package/src/shade/device/pipeline/PipelineEnquiry.d.ts.map +1 -0
- package/src/shade/device/pipeline/PipelineEnquiry.js +63 -0
- package/src/shade/device/pipeline/RenderPipelineManager.d.ts +21 -0
- package/src/shade/device/pipeline/RenderPipelineManager.d.ts.map +1 -1
- package/src/shade/device/pipeline/RenderPipelineManager.js +84 -4
- package/src/shade/playground/contact_shadows/ContactShadowLab.d.ts +137 -0
- package/src/shade/playground/contact_shadows/ContactShadowLab.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/ContactShadowLab.js +654 -0
- package/src/shade/playground/contact_shadows/README.md +126 -0
- package/src/shade/playground/contact_shadows/index.html +191 -0
- package/src/shade/playground/contact_shadows/main.d.ts +2 -0
- package/src/shade/playground/contact_shadows/main.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/main.js +888 -0
- package/src/shade/playground/contact_shadows/scenes.d.ts +48 -0
- package/src/shade/playground/contact_shadows/scenes.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/scenes.js +620 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_composite.d.ts +36 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_composite.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_composite.js +245 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_reference.d.ts +15 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_reference.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_reference.js +120 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_stats.d.ts +55 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_stats.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_stats.js +216 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_view.d.ts +20 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_view.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/shader_contact_lab_view.js +114 -0
- package/src/shade/playground/contact_shadows/shader_contact_shadow_march.d.ts +11 -0
- package/src/shade/playground/contact_shadows/shader_contact_shadow_march.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/shader_contact_shadow_march.js +90 -0
- package/src/shade/playground/contact_shadows/textures.d.ts +16 -0
- package/src/shade/playground/contact_shadows/textures.d.ts.map +1 -0
- package/src/shade/playground/contact_shadows/textures.js +123 -0
- package/src/shade/playground/particle_ecs/README.md +1 -1
- package/src/shade/playground/particle_ecs/effects/flame.json +1932 -1881
- package/src/shade/playground/particle_ecs/effects/smoke.json +99 -1
- package/src/shade/playground/particle_ecs/effects/soot.json +152 -145
- package/src/shade/playground/tonemap_sdr/README.md +90 -0
- package/src/shade/playground/tonemap_sdr/ToneMapCompare.d.ts +105 -0
- package/src/shade/playground/tonemap_sdr/ToneMapCompare.d.ts.map +1 -0
- package/src/shade/playground/tonemap_sdr/ToneMapCompare.js +380 -0
- package/src/shade/playground/tonemap_sdr/chunk_tonemap_gt7_sdr_reference.d.ts +32 -0
- package/src/shade/playground/tonemap_sdr/chunk_tonemap_gt7_sdr_reference.d.ts.map +1 -0
- package/src/shade/playground/tonemap_sdr/chunk_tonemap_gt7_sdr_reference.js +104 -0
- package/src/shade/playground/tonemap_sdr/index.html +90 -0
- package/src/shade/playground/tonemap_sdr/main.d.ts +2 -0
- package/src/shade/playground/tonemap_sdr/main.d.ts.map +1 -0
- package/src/shade/playground/tonemap_sdr/main.js +306 -0
- package/src/shade/playground/tonemap_sdr/scenes.d.ts +26 -0
- package/src/shade/playground/tonemap_sdr/scenes.d.ts.map +1 -0
- package/src/shade/playground/tonemap_sdr/scenes.js +404 -0
- package/src/shade/playground/volumetrics_froxel/main.d.ts.map +1 -1
- package/src/shade/playground/volumetrics_froxel/main.js +85 -4
- package/src/shade/playground/water_refraction/README.md +26 -18
- package/src/shade/playground/water_refraction/index.html +1 -1
- package/src/shade/renderer/Renderer.d.ts +35 -3
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +208 -12
- package/src/shade/renderer/ShadeToneMappingMode.d.ts +14 -0
- package/src/shade/renderer/ShadeToneMappingMode.d.ts.map +1 -0
- package/src/shade/renderer/ShadeToneMappingMode.js +30 -0
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +9 -0
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +14 -0
- package/src/shade/renderer/animation/skinning/shader_meshlet_apply_skinning.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/shader_meshlet_apply_skinning.js +5 -3
- package/src/shade/renderer/buffer/table/GPUDatabase.d.ts +7 -0
- package/src/shade/renderer/buffer/table/GPUDatabase.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUDatabase.js +12 -0
- package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts +8 -0
- package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.js +12 -0
- package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
- package/src/shade/renderer/camera/GPUCameraContext.js +19 -8
- package/src/shade/renderer/deferred/chunk_read_gBuffer_material.d.ts.map +1 -1
- package/src/shade/renderer/deferred/chunk_read_gBuffer_material.js +4 -0
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct.d.ts.map +1 -1
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct.js +4 -0
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_restir.d.ts.map +1 -1
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_restir.js +4 -0
- package/src/shade/renderer/deferred/shader_deferred_main.d.ts.map +1 -1
- package/src/shade/renderer/deferred/shader_deferred_main.js +3 -0
- package/src/shade/renderer/deferred/shader_tonemap_HDR.d.ts +6 -0
- package/src/shade/renderer/deferred/shader_tonemap_HDR.d.ts.map +1 -1
- package/src/shade/renderer/deferred/shader_tonemap_HDR.js +13 -3
- package/src/shade/renderer/deferred/shader_tonemap_HDR_none.d.ts +9 -0
- package/src/shade/renderer/deferred/shader_tonemap_HDR_none.d.ts.map +1 -0
- package/src/shade/renderer/deferred/shader_tonemap_HDR_none.js +63 -0
- package/src/shade/renderer/deferred/shader_tonemap_HDR_pbr_neutral.d.ts +10 -0
- package/src/shade/renderer/deferred/shader_tonemap_HDR_pbr_neutral.d.ts.map +1 -0
- package/src/shade/renderer/deferred/shader_tonemap_HDR_pbr_neutral.js +87 -0
- package/src/shade/renderer/deferred/shader_tonemap_LDR.d.ts +6 -0
- package/src/shade/renderer/deferred/shader_tonemap_LDR.d.ts.map +1 -1
- package/src/shade/renderer/deferred/shader_tonemap_LDR.js +23 -5
- package/src/shade/renderer/deferred/shader_tonemap_LDR_none.d.ts +9 -0
- package/src/shade/renderer/deferred/shader_tonemap_LDR_none.d.ts.map +1 -0
- package/src/shade/renderer/deferred/shader_tonemap_LDR_none.js +68 -0
- package/src/shade/renderer/deferred/shader_tonemap_LDR_pbr_neutral.d.ts +10 -0
- package/src/shade/renderer/deferred/shader_tonemap_LDR_pbr_neutral.d.ts.map +1 -0
- package/src/shade/renderer/deferred/shader_tonemap_LDR_pbr_neutral.js +73 -0
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.js +58 -9
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts +35 -25
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.js +97 -196
- package/src/shade/renderer/geometry/sdf/shader_build_sdf.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/shader_build_sdf.js +121 -129
- package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.js +3 -0
- package/src/shade/renderer/global_illumination/brick4/gpu/bake/shader_brick4_bake_probes.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/bake/shader_brick4_bake_probes.js +4 -0
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_indirect_lighting.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_indirect_lighting.js +4 -0
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js +3 -0
- package/src/shade/renderer/global_illumination/lpv/deprecated/probe_trace_compute_shader_code.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/deprecated/probe_trace_compute_shader_code.js +4 -0
- package/src/shade/renderer/global_illumination/probe/octahedral/graph_sample_light_probes.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/graph_sample_light_probes.js +4 -0
- package/src/shade/renderer/global_illumination/shader_resolve_indirect_lighting.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/shader_resolve_indirect_lighting.js +4 -0
- package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +131 -1
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts +7 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.js +45 -38
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts +2 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.js +81 -79
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts +2 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.js +5 -3
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_internal_children.d.ts +21 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_internal_children.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_internal_children.js +42 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_morton_code.d.ts +19 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_morton_code.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_morton_code.js +44 -0
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts +23 -5
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.js +139 -23
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_build_single_workgroup.d.ts +25 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_build_single_workgroup.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_build_single_workgroup.js +179 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts +2 -2
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.js +7 -16
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts +3 -4
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.js +6 -23
- package/src/shade/renderer/gpu_primitive/indirect/IndirectComputeCommandBuildPass.d.ts +11 -0
- package/src/shade/renderer/gpu_primitive/indirect/IndirectComputeCommandBuildPass.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/indirect/IndirectComputeCommandBuildPass.js +14 -3
- package/src/shade/renderer/gpu_primitive/indirect/build_indirect_draw_command.d.ts +10 -0
- package/src/shade/renderer/gpu_primitive/indirect/build_indirect_draw_command.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/indirect/build_indirect_draw_command.js +13 -3
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts +10 -0
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.js +14 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_bitonic_comparator.d.ts +26 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_bitonic_comparator.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_bitonic_comparator.js +52 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_bitonic_workgroup.d.ts +32 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_bitonic_workgroup.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_bitonic_workgroup.js +89 -0
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts +10 -0
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.js +20 -1
- package/src/shade/renderer/hiz/HierarchicalZBuffer.d.ts +10 -0
- package/src/shade/renderer/hiz/HierarchicalZBuffer.d.ts.map +1 -1
- package/src/shade/renderer/hiz/HierarchicalZBuffer.js +294 -281
- package/src/shade/renderer/light/GPULightCollection.d.ts +8 -0
- package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
- package/src/shade/renderer/light/GPULightCollection.js +18 -1
- package/src/shade/renderer/light/cluster/cull/graph_cull_lights.d.ts +8 -0
- package/src/shade/renderer/light/cluster/cull/graph_cull_lights.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/cull/graph_cull_lights.js +234 -218
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.d.ts +7 -0
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.js +13 -0
- package/src/shade/renderer/light/cluster/graph_build_light_clusters.d.ts +7 -0
- package/src/shade/renderer/light/cluster/graph_build_light_clusters.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/graph_build_light_clusters.js +16 -2
- package/src/shade/renderer/light/environment/execute_filter_environment_map.d.ts +10 -0
- package/src/shade/renderer/light/environment/execute_filter_environment_map.d.ts.map +1 -1
- package/src/shade/renderer/light/environment/execute_filter_environment_map.js +13 -0
- package/src/shade/renderer/lightmap/GPULightMap.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/GPULightMap.js +3 -0
- package/src/shade/renderer/lightmap/bake/shader_lightmap_viz_to_irradiance_flat.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/bake/shader_lightmap_viz_to_irradiance_flat.js +4 -0
- package/src/shade/renderer/lightmap/bake/shader_lightmap_viz_to_sh.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/bake/shader_lightmap_viz_to_sh.js +4 -0
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.d.ts +16 -4
- package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.js +38 -8
- package/src/shade/renderer/particles/DESIGN.md +49 -7
- package/src/shade/renderer/particles/ORIENTATION_PLAN_2026_10_15.md +453 -0
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts +5 -1
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.js +13 -5
- package/src/shade/renderer/particles/data/particle_emitter_record.js +2 -2
- package/src/shade/renderer/particles/graph/groups/particle_builtin_groups.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/groups/particle_builtin_groups.js +12 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_geometry.d.ts +60 -0
- package/src/shade/renderer/particles/graph/groups/particle_groups_geometry.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/groups/particle_groups_geometry.js +156 -0
- package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts +2 -2
- package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/ParticleEmitter.js +8 -8
- 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 +6 -4
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts +7 -6
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +91 -58
- package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.d.ts.map +1 -1
- package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.js +10 -0
- package/src/shade/renderer/path_tracer/accumulating/shader_accumulating_path_tracer.d.ts.map +1 -1
- package/src/shade/renderer/path_tracer/accumulating/shader_accumulating_path_tracer.js +5 -1
- package/src/shade/renderer/path_tracer/graph_path_trace_scene.d.ts.map +1 -1
- package/src/shade/renderer/path_tracer/graph_path_trace_scene.js +6 -0
- package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.d.ts +7 -0
- package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.js +18 -0
- package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.js +1 -0
- package/src/shade/renderer/postprocess/denoise/shader_temporal_reprojection_luma.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/denoise/shader_temporal_reprojection_luma.js +6 -4
- package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.d.ts +11 -0
- package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.js +16 -0
- package/src/shade/renderer/postprocess/gtao/GTAO.d.ts +10 -0
- package/src/shade/renderer/postprocess/gtao/GTAO.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/GTAO.js +16 -0
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.js +32 -10
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +3 -0
- package/src/shade/renderer/postprocess/ssr/resolve/build_ssr_resolve_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/build_ssr_resolve_shader.js +6 -3
- package/src/shade/renderer/postprocess/taa/TAA.d.ts +12 -0
- package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/TAA.js +15 -0
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.d.ts +7 -0
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.js +13 -0
- package/src/shade/renderer/rasterize/TemplatePassDescriptor.d.ts +31 -3
- package/src/shade/renderer/rasterize/TemplatePassDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/TemplatePassDescriptor.js +79 -4
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts +17 -0
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.js +35 -4
- package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.d.ts +7 -0
- package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.js +182 -169
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.d.ts +10 -0
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.js +20 -1
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts +10 -0
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.js +18 -1
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.d.ts +10 -0
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.js +20 -1
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.d.ts +7 -0
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.js +187 -170
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.d.ts +10 -0
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.js +19 -1
- package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts +13 -0
- package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.js +25 -1
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.d.ts +10 -0
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.js +20 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_brick4.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_brick4.js +6 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_ibl.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_ibl.js +6 -0
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +3 -2
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +3 -2
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +7 -2
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js +12 -4
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_brick4.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_brick4.js +4 -3
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_ibl.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_ibl.js +4 -3
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.d.ts +2 -1
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.js +11 -3
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments.js +4 -3
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments_ibl.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments_ibl.js +4 -3
- package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.d.ts +15 -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 +35 -2
- package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts +14 -0
- 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 +32 -4
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts +17 -0
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.js +34 -4
- package/src/shade/renderer/restir/di/chunk_restir_resolve.d.ts +5 -3
- package/src/shade/renderer/restir/di/chunk_restir_resolve.d.ts.map +1 -1
- package/src/shade/renderer/restir/di/chunk_restir_resolve.js +8 -3
- package/src/shade/renderer/restir/di/graph_restir_di.d.ts.map +1 -1
- package/src/shade/renderer/restir/di/graph_restir_di.js +1 -0
- package/src/shade/renderer/restir/di/shader_restir_di_resolve.d.ts.map +1 -1
- package/src/shade/renderer/restir/di/shader_restir_di_resolve.js +5 -1
- package/src/shade/renderer/restir/reservoir/shader.d.ts.map +1 -1
- package/src/shade/renderer/restir/reservoir/shader.js +7 -4
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +7 -0
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +13 -1
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +10 -0
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +19 -0
- package/src/shade/renderer/scene/SceneManager.d.ts +9 -0
- package/src/shade/renderer/scene/SceneManager.d.ts.map +1 -1
- package/src/shade/renderer/scene/SceneManager.js +11 -0
- package/src/shade/renderer/scene/hierarchy/graph_nodes_update_transform_hierarchy.d.ts +11 -0
- package/src/shade/renderer/scene/hierarchy/graph_nodes_update_transform_hierarchy.d.ts.map +1 -1
- package/src/shade/renderer/scene/hierarchy/graph_nodes_update_transform_hierarchy.js +17 -0
- package/src/shade/renderer/scene/hierarchy/graph_scene_update_transform_hierarchy.d.ts +11 -0
- package/src/shade/renderer/scene/hierarchy/graph_scene_update_transform_hierarchy.d.ts.map +1 -1
- package/src/shade/renderer/scene/hierarchy/graph_scene_update_transform_hierarchy.js +18 -1
- package/src/shade/renderer/shader/ComputeShader.d.ts +12 -0
- package/src/shade/renderer/shader/ComputeShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ComputeShader.js +53 -0
- package/src/shade/renderer/shader/ImageShader.d.ts +27 -8
- package/src/shade/renderer/shader/ImageShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ImageShader.js +70 -1
- package/src/shade/renderer/shader/ShaderDescriptor.d.ts +21 -0
- package/src/shade/renderer/shader/ShaderDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/ShaderDescriptor.js +71 -1
- package/src/shade/renderer/shader/chunk/camera/chunk_project_view_position_from_depth.d.ts +17 -0
- package/src/shade/renderer/shader/chunk/camera/chunk_project_view_position_from_depth.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/camera/chunk_project_view_position_from_depth.js +45 -0
- package/src/shade/renderer/shader/chunk/camera/chunk_screen_coordinate_to_view.js +3 -3
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts +1 -1
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.js +62 -62
- package/src/shade/renderer/shader/chunk/color/tonemap/HDR_TONE_MAPPING_FORMS_BRIEF_2026_10_16.md +318 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/SDR_TONE_MAPPING_BRIEF_2026_10_16.md +237 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.d.ts +17 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.js +22 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_khronos_pbr.d.ts +14 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_khronos_pbr.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_khronos_pbr.js +28 -15
- package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.d.ts +12 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.js +128 -110
- package/src/shade/renderer/shader/chunk/geometry/ray/chunk_offset_ray_from_depth.d.ts +20 -0
- package/src/shade/renderer/shader/chunk/geometry/ray/chunk_offset_ray_from_depth.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/ray/chunk_offset_ray_from_depth.js +33 -0
- package/src/shade/renderer/shader/chunk/light/chunk_compute_multiscattering_specular.d.ts +4 -0
- package/src/shade/renderer/shader/chunk/light/chunk_compute_multiscattering_specular.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/chunk_compute_multiscattering_specular.js +12 -1
- package/src/shade/renderer/shader/chunk/material/MATERIAL_SHADING_INFO_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/material/MATERIAL_SHADING_INFO_STRUCT.js +7 -0
- package/src/shade/renderer/shader/chunk/material/MULTISCATTER.md +108 -0
- package/src/shade/renderer/shader/chunk/material/chunk_compute_indirect_specular.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/material/chunk_compute_indirect_specular.js +23 -4
- package/src/shade/renderer/shader/chunk/material/chunk_re_direct_multiscatter.d.ts +18 -0
- package/src/shade/renderer/shader/chunk/material/chunk_re_direct_multiscatter.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/material/chunk_re_direct_multiscatter.js +56 -0
- package/src/shade/renderer/shader/chunk/material/chunk_re_indirect_specular_physical.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/material/chunk_re_indirect_specular_physical.js +2 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_space_linear_ray.d.ts +43 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_space_linear_ray.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_space_linear_ray.js +319 -0
- package/src/shade/renderer/shader/compiler/CodeChunk.d.ts +33 -0
- package/src/shade/renderer/shader/compiler/CodeChunk.d.ts.map +1 -1
- package/src/shade/renderer/shader/compiler/CodeChunk.js +140 -0
- package/src/shade/renderer/shader/compiler/CodeChunkChoice.d.ts +74 -0
- package/src/shade/renderer/shader/compiler/CodeChunkChoice.d.ts.map +1 -0
- package/src/shade/renderer/shader/compiler/CodeChunkChoice.js +166 -0
- package/src/shade/renderer/shader/compiler/SHADER_SWITCH_PROPOSAL_2026_10_16.md +680 -0
- package/src/shade/renderer/shader/compiler/ShaderSwitch.d.ts +86 -0
- package/src/shade/renderer/shader/compiler/ShaderSwitch.d.ts.map +1 -0
- package/src/shade/renderer/shader/compiler/ShaderSwitch.js +178 -0
- package/src/shade/renderer/shader/compiler/ShaderSwitchSet.d.ts +67 -0
- package/src/shade/renderer/shader/compiler/ShaderSwitchSet.d.ts.map +1 -0
- package/src/shade/renderer/shader/compiler/ShaderSwitchSet.js +205 -0
- package/src/shade/renderer/shadow/contact/CONTACT_SHADOW_WAVE_SIZE.d.ts +14 -0
- package/src/shade/renderer/shadow/contact/CONTACT_SHADOW_WAVE_SIZE.d.ts.map +1 -0
- package/src/shade/renderer/shadow/contact/CONTACT_SHADOW_WAVE_SIZE.js +13 -0
- package/src/shade/renderer/shadow/contact/ContactShadowDispatchList.d.ts +65 -0
- package/src/shade/renderer/shadow/contact/ContactShadowDispatchList.d.ts.map +1 -0
- package/src/shade/renderer/shadow/contact/ContactShadowDispatchList.js +252 -0
- package/src/shade/renderer/shadow/contact/FINDINGS.md +413 -0
- package/src/shade/renderer/shadow/contact/chunk_contact_shadow_wavefront_extents.d.ts +29 -0
- package/src/shade/renderer/shadow/contact/chunk_contact_shadow_wavefront_extents.d.ts.map +1 -0
- package/src/shade/renderer/shadow/contact/chunk_contact_shadow_wavefront_extents.js +105 -0
- package/src/shade/renderer/shadow/contact/graph_contact_shadow_linear.d.ts +29 -0
- package/src/shade/renderer/shadow/contact/graph_contact_shadow_linear.d.ts.map +1 -0
- package/src/shade/renderer/shadow/contact/graph_contact_shadow_linear.js +39 -0
- package/src/shade/renderer/shadow/contact/graph_contact_shadow_wavefront.d.ts +29 -0
- package/src/shade/renderer/shadow/contact/graph_contact_shadow_wavefront.d.ts.map +1 -0
- package/src/shade/renderer/shadow/contact/graph_contact_shadow_wavefront.js +92 -0
- package/src/shade/renderer/shadow/contact/shader_contact_shadow_linear.d.ts +29 -0
- package/src/shade/renderer/shadow/contact/shader_contact_shadow_linear.d.ts.map +1 -0
- package/src/shade/renderer/shadow/contact/shader_contact_shadow_linear.js +128 -0
- package/src/shade/renderer/shadow/contact/shader_contact_shadow_wavefront.d.ts +52 -0
- package/src/shade/renderer/shadow/contact/shader_contact_shadow_wavefront.d.ts.map +1 -0
- package/src/shade/renderer/shadow/contact/shader_contact_shadow_wavefront.js +358 -0
- package/src/shade/renderer/shadow/map/ShadowDirectionalTechnique.d.ts +10 -0
- package/src/shade/renderer/shadow/map/ShadowDirectionalTechnique.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/ShadowDirectionalTechnique.js +12 -0
- package/src/shade/renderer/shadow/map/shader/SHADOW_DIRECTIONAL_TECHNIQUE.d.ts +13 -0
- package/src/shade/renderer/shadow/map/shader/SHADOW_DIRECTIONAL_TECHNIQUE.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/shader/SHADOW_DIRECTIONAL_TECHNIQUE.js +14 -0
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional.d.ts +14 -8
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional.js +20 -86
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional_cascades.d.ts +14 -0
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional_cascades.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional_cascades.js +79 -0
- package/src/shade/renderer/shadow/ray/shader_ray_shadow_code.d.ts.map +1 -1
- package/src/shade/renderer/shadow/ray/shader_ray_shadow_code.js +12 -12
- package/src/shade/renderer/shadow/ray/staged/gen/shader_generate_rays.d.ts.map +1 -1
- package/src/shade/renderer/shadow/ray/staged/gen/shader_generate_rays.js +153 -151
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_directional_virtual.d.ts +13 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_directional_virtual.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_directional_virtual.js +48 -0
- package/src/shade/renderer/texture/GPUTextureContext.d.ts +10 -0
- package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
- package/src/shade/renderer/texture/GPUTextureContext.js +24 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts +219 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts.map +1 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.js +671 -0
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts +26 -2
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +108 -4
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +5 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +6 -0
- package/src/shade/renderer/volumetrics/NOTES.md +50 -0
- package/src/shade/renderer/volumetrics/PARTICIPATING_MEDIA_VOLUME_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/PARTICIPATING_MEDIA_VOLUME_STRUCT.js +30 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +51 -13
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.js +98 -13
- package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts +9 -0
- package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/SceneVolumetrics.js +78 -68
- package/src/shade/renderer/volumetrics/VOLUMETRIC_NOISE_PLAN_2026_10_15.md +326 -0
- package/src/shade/renderer/volumetrics/chunk_participating_media_volume_sample.d.ts +7 -4
- package/src/shade/renderer/volumetrics/chunk_participating_media_volume_sample.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/chunk_participating_media_volume_sample.js +21 -9
- package/src/shade/renderer/volumetrics/chunk_volumetrics_froxel_uvw_from_clip.d.ts +19 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_froxel_uvw_from_clip.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_froxel_uvw_from_clip.js +53 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sample_froxel_extinction.d.ts +12 -3
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sample_froxel_extinction.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sample_froxel_extinction.js +85 -48
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts +4 -1
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.js +4 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts +4 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +21 -1
- package/src/shade/renderer/volumetrics/noise/PARTICIPATING_MEDIA_NOISE.d.ts +98 -0
- package/src/shade/renderer/volumetrics/noise/PARTICIPATING_MEDIA_NOISE.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/PARTICIPATING_MEDIA_NOISE.js +115 -0
- package/src/shade/renderer/volumetrics/noise/VOLUMETRICS_NOISE_TILE_BAKE_SETTINGS_STRUCT.d.ts +9 -0
- package/src/shade/renderer/volumetrics/noise/VOLUMETRICS_NOISE_TILE_BAKE_SETTINGS_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/VOLUMETRICS_NOISE_TILE_BAKE_SETTINGS_STRUCT.js +24 -0
- package/src/shade/renderer/volumetrics/noise/bake_volumetrics_noise_tile.d.ts +27 -0
- package/src/shade/renderer/volumetrics/noise/bake_volumetrics_noise_tile.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/bake_volumetrics_noise_tile.js +91 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise.d.ts +35 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise.js +92 -0
- package/src/shade/renderer/volumetrics/noise/shader_volumetrics_noise_tile_bake.d.ts +10 -0
- package/src/shade/renderer/volumetrics/noise/shader_volumetrics_noise_tile_bake.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/shader_volumetrics_noise_tile_bake.js +121 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_participating_media.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_participating_media.js +38 -3
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.js +311 -290
- package/src/shade/renderer/volumetrics/volumetrics_position_world_to_froxel_uvw.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/volumetrics_position_world_to_froxel_uvw.js +28 -49
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts +3 -1
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts.map +1 -1
- package/src/shade/renderer/water/GPUWaterRenderer.js +24 -18
- package/src/shade/renderer/water/chunk_water_transport.d.ts +0 -1
- package/src/shade/renderer/water/chunk_water_transport.d.ts.map +1 -1
- package/src/shade/renderer/water/chunk_water_transport.js +0 -17
- package/src/shade/renderer/water/shader_water.d.ts +4 -2
- package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water.js +27 -16
- package/src/shade/renderer/water/shader_water_avboit.d.ts +0 -4
- package/src/shade/renderer/water/shader_water_avboit.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water_avboit.js +0 -63
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +43 -9
- package/src/engine/network/transport/Channel.d.ts +0 -85
- package/src/engine/network/transport/Channel.d.ts.map +0 -1
- package/src/engine/network/transport/ReliableCommandPipeline.d.ts +0 -155
- package/src/engine/network/transport/ReliableCommandPipeline.d.ts.map +0 -1
- package/src/engine/network/transport/fragments/FragmentAssembler.d.ts +0 -105
- package/src/engine/network/transport/fragments/FragmentAssembler.d.ts.map +0 -1
- package/src/engine/network/transport/fragments/FragmentRetention.d.ts +0 -103
- package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +0 -1
- package/src/engine/network/transport/fragments/fragment_send.d.ts +0 -61
- package/src/engine/network/transport/fragments/fragment_send.d.ts.map +0 -1
- package/src/engine/network/transport/fragments/packet_size.d.ts +0 -99
- package/src/engine/network/transport/fragments/packet_size.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/color/sRGB/chunk_RRTAndODTFit.d.ts +0 -6
- package/src/shade/renderer/shader/chunk/color/sRGB/chunk_RRTAndODTFit.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/color/sRGB/chunk_RRTAndODTFit.js +0 -16
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_aces.d.ts +0 -7
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_aces.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_aces.js +0 -46
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_agx.d.ts +0 -10
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_agx.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_agx.js +0 -127
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_pbr_neutral.d.ts +0 -7
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_pbr_neutral.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_tonemap_pbr_neutral.js +0 -39
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A choice a pipeline makes, when it is created, between implementations of part of its shader: the
|
|
3
|
+
* directional shadow technique, the indirect lighting mode.
|
|
4
|
+
*
|
|
5
|
+
* Made one of two ways, which share everything else:
|
|
6
|
+
*
|
|
7
|
+
* ```js
|
|
8
|
+
* export const ShadowDirectionalTechnique = { Cascades: 0, Virtual: 1 };
|
|
9
|
+
* export const SHADOW_DIRECTIONAL_TECHNIQUE = ShaderSwitch.enum('shadow directional technique', ShadowDirectionalTechnique);
|
|
10
|
+
*
|
|
11
|
+
* export const SOME_FEATURE = ShaderSwitch.bool('some feature');
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* A switch's values are its own: the members of its enum, or `false` and `true`. Every switch has the
|
|
15
|
+
* value `0` — `false` for a bool — unless a {@link ShaderSwitchSet} says otherwise.
|
|
16
|
+
*
|
|
17
|
+
* The switch only names the choice. The code each value links is said where a chunk graph makes the
|
|
18
|
+
* choice, by a {@link CodeChunkChoice}, and one switch can be decided at several such places from the
|
|
19
|
+
* one value.
|
|
20
|
+
*/
|
|
21
|
+
export class ShaderSwitch {
|
|
22
|
+
/**
|
|
23
|
+
* @param {string} label
|
|
24
|
+
* @param {ReadonlyArray<number|boolean>} values
|
|
25
|
+
* @param {ReadonlyArray<string>} names
|
|
26
|
+
* @param {number|boolean} default_value
|
|
27
|
+
* @returns {ShaderSwitch}
|
|
28
|
+
*/
|
|
29
|
+
static "__#69@#make"(label: string, values: ReadonlyArray<number | boolean>, names: ReadonlyArray<string>, default_value: number | boolean): ShaderSwitch;
|
|
30
|
+
/**
|
|
31
|
+
* A switch over the members of an engine enum: a plain object of names to distinct integers, one of
|
|
32
|
+
* which is `0` — the value every switch has until a set says otherwise.
|
|
33
|
+
*
|
|
34
|
+
* @param {string} label names the switch in errors, pipeline labels and tooling
|
|
35
|
+
* @param {Object<number>} values the enum, e.g. `ShadeIndirectLightingMode`
|
|
36
|
+
* @returns {ShaderSwitch}
|
|
37
|
+
*/
|
|
38
|
+
static enum(label: string, values: any): ShaderSwitch;
|
|
39
|
+
/**
|
|
40
|
+
* A switch that is on or off: `false` by default.
|
|
41
|
+
*
|
|
42
|
+
* @param {string} label names the switch in errors, pipeline labels and tooling
|
|
43
|
+
* @returns {ShaderSwitch}
|
|
44
|
+
*/
|
|
45
|
+
static bool(label: string): ShaderSwitch;
|
|
46
|
+
/**
|
|
47
|
+
* @returns {number}
|
|
48
|
+
*/
|
|
49
|
+
get id(): number;
|
|
50
|
+
/**
|
|
51
|
+
* @returns {string}
|
|
52
|
+
*/
|
|
53
|
+
get label(): string;
|
|
54
|
+
/**
|
|
55
|
+
* @returns {ReadonlyArray<number|boolean>}
|
|
56
|
+
*/
|
|
57
|
+
get values(): readonly (number | boolean)[];
|
|
58
|
+
/**
|
|
59
|
+
* What the switch is when a set does not say: `0`, or `false` for a bool.
|
|
60
|
+
* @returns {number|boolean}
|
|
61
|
+
*/
|
|
62
|
+
get default_value(): number | boolean;
|
|
63
|
+
/**
|
|
64
|
+
* @param {*} value
|
|
65
|
+
* @returns {number} the value's position in {@link values}, or -1 when it is not one of them
|
|
66
|
+
*/
|
|
67
|
+
index_of(value: any): number;
|
|
68
|
+
/**
|
|
69
|
+
* @param {*} value
|
|
70
|
+
* @returns {boolean}
|
|
71
|
+
*/
|
|
72
|
+
is_value(value: any): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* @param {number|boolean} value one of the switch's values
|
|
75
|
+
* @returns {string} its name in the enum, or `false`/`true`
|
|
76
|
+
*/
|
|
77
|
+
name_of(value: number | boolean): string;
|
|
78
|
+
toString(): string;
|
|
79
|
+
/**
|
|
80
|
+
* @readonly
|
|
81
|
+
* @type {boolean}
|
|
82
|
+
*/
|
|
83
|
+
readonly isShaderSwitch: boolean;
|
|
84
|
+
#private;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=ShaderSwitch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShaderSwitch.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/shader/compiler/ShaderSwitch.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IA2FI;;;;;;OAMG;IACH,4BANW,MAAM,UACN,cAAc,MAAM,GAAC,OAAO,CAAC,SAC7B,cAAc,MAAM,CAAC,iBACrB,MAAM,GAAC,OAAO,GACZ,YAAY,CAWxB;IAED;;;;;;;OAOG;IACH,mBAJW,MAAM,gBAEJ,YAAY,CAmBxB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,GACJ,YAAY,CAMxB;IA1ID;;OAEG;IACH,iBAEC;IAOD;;OAEG;IACH,oBAEC;IAQD;;OAEG;IACH,4CAEC;IAaD;;;OAGG;IACH,sCAEC;IAED;;;OAGG;IACH,sBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,sBAFa,OAAO,CAInB;IAED;;;OAGG;IACH,eAHW,MAAM,GAAC,OAAO,GACZ,MAAM,CAQlB;IAED,mBAEC;IA4DL;;;OAGG;IACH,yBAFU,OAAO,CAEoB;;CANpC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { assert } from "../../../../core/assert.js";
|
|
2
|
+
|
|
3
|
+
let id_counter = 0;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A choice a pipeline makes, when it is created, between implementations of part of its shader: the
|
|
7
|
+
* directional shadow technique, the indirect lighting mode.
|
|
8
|
+
*
|
|
9
|
+
* Made one of two ways, which share everything else:
|
|
10
|
+
*
|
|
11
|
+
* ```js
|
|
12
|
+
* export const ShadowDirectionalTechnique = { Cascades: 0, Virtual: 1 };
|
|
13
|
+
* export const SHADOW_DIRECTIONAL_TECHNIQUE = ShaderSwitch.enum('shadow directional technique', ShadowDirectionalTechnique);
|
|
14
|
+
*
|
|
15
|
+
* export const SOME_FEATURE = ShaderSwitch.bool('some feature');
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* A switch's values are its own: the members of its enum, or `false` and `true`. Every switch has the
|
|
19
|
+
* value `0` — `false` for a bool — unless a {@link ShaderSwitchSet} says otherwise.
|
|
20
|
+
*
|
|
21
|
+
* The switch only names the choice. The code each value links is said where a chunk graph makes the
|
|
22
|
+
* choice, by a {@link CodeChunkChoice}, and one switch can be decided at several such places from the
|
|
23
|
+
* one value.
|
|
24
|
+
*/
|
|
25
|
+
export class ShaderSwitch {
|
|
26
|
+
/**
|
|
27
|
+
* Orders switches inside a {@link ShaderSwitchSet}, so that two sets with the same values are one
|
|
28
|
+
* set. Not meaningful outside the process.
|
|
29
|
+
* @type {number}
|
|
30
|
+
*/
|
|
31
|
+
#id = id_counter++;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @returns {number}
|
|
35
|
+
*/
|
|
36
|
+
get id() {
|
|
37
|
+
return this.#id;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @type {string}
|
|
42
|
+
*/
|
|
43
|
+
#label = '';
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @returns {string}
|
|
47
|
+
*/
|
|
48
|
+
get label() {
|
|
49
|
+
return this.#label;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Every value the switch takes, in declaration order.
|
|
54
|
+
* @type {ReadonlyArray<number|boolean>}
|
|
55
|
+
*/
|
|
56
|
+
#values = [];
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @returns {ReadonlyArray<number|boolean>}
|
|
60
|
+
*/
|
|
61
|
+
get values() {
|
|
62
|
+
return this.#values;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Parallel to {@link #values}.
|
|
67
|
+
* @type {ReadonlyArray<string>}
|
|
68
|
+
*/
|
|
69
|
+
#names = [];
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @type {number|boolean}
|
|
73
|
+
*/
|
|
74
|
+
#default_value = 0;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* What the switch is when a set does not say: `0`, or `false` for a bool.
|
|
78
|
+
* @returns {number|boolean}
|
|
79
|
+
*/
|
|
80
|
+
get default_value() {
|
|
81
|
+
return this.#default_value;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @param {*} value
|
|
86
|
+
* @returns {number} the value's position in {@link values}, or -1 when it is not one of them
|
|
87
|
+
*/
|
|
88
|
+
index_of(value) {
|
|
89
|
+
return this.#values.indexOf(value);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* @param {*} value
|
|
94
|
+
* @returns {boolean}
|
|
95
|
+
*/
|
|
96
|
+
is_value(value) {
|
|
97
|
+
return this.#values.includes(value);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @param {number|boolean} value one of the switch's values
|
|
102
|
+
* @returns {string} its name in the enum, or `false`/`true`
|
|
103
|
+
*/
|
|
104
|
+
name_of(value) {
|
|
105
|
+
const index = this.#values.indexOf(value);
|
|
106
|
+
|
|
107
|
+
assert.notEqual(index, -1, `${value} is not a value of shader switch '${this.#label}'`);
|
|
108
|
+
|
|
109
|
+
return this.#names[index];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
toString() {
|
|
113
|
+
return this.#label;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* @param {string} label
|
|
118
|
+
* @param {ReadonlyArray<number|boolean>} values
|
|
119
|
+
* @param {ReadonlyArray<string>} names
|
|
120
|
+
* @param {number|boolean} default_value
|
|
121
|
+
* @returns {ShaderSwitch}
|
|
122
|
+
*/
|
|
123
|
+
static #make(label, values, names, default_value) {
|
|
124
|
+
const r = new ShaderSwitch();
|
|
125
|
+
|
|
126
|
+
r.#label = label;
|
|
127
|
+
r.#values = Object.freeze(values);
|
|
128
|
+
r.#names = Object.freeze(names);
|
|
129
|
+
r.#default_value = default_value;
|
|
130
|
+
|
|
131
|
+
return r;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* A switch over the members of an engine enum: a plain object of names to distinct integers, one of
|
|
136
|
+
* which is `0` — the value every switch has until a set says otherwise.
|
|
137
|
+
*
|
|
138
|
+
* @param {string} label names the switch in errors, pipeline labels and tooling
|
|
139
|
+
* @param {Object<number>} values the enum, e.g. `ShadeIndirectLightingMode`
|
|
140
|
+
* @returns {ShaderSwitch}
|
|
141
|
+
*/
|
|
142
|
+
static enum(label, values) {
|
|
143
|
+
assert.isString(label, 'label');
|
|
144
|
+
assert.isObject(values, 'values');
|
|
145
|
+
|
|
146
|
+
const names = Object.keys(values);
|
|
147
|
+
const list = names.map(name => values[name]);
|
|
148
|
+
|
|
149
|
+
assert.greaterThanOrEqual(list.length, 2, `enum of shader switch '${label}' has fewer than 2 members`);
|
|
150
|
+
|
|
151
|
+
for (let i = 0; i < list.length; i++) {
|
|
152
|
+
assert.isInteger(list[i], `${label}.${names[i]}`);
|
|
153
|
+
assert.equal(list.indexOf(list[i]), i, `${label}.${names[i]} repeats the value ${list[i]}`);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
assert.ok(list.includes(0), `enum of shader switch '${label}' has no member equal to 0, the value a switch has by default`);
|
|
157
|
+
|
|
158
|
+
return ShaderSwitch.#make(label, list, names, 0);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* A switch that is on or off: `false` by default.
|
|
163
|
+
*
|
|
164
|
+
* @param {string} label names the switch in errors, pipeline labels and tooling
|
|
165
|
+
* @returns {ShaderSwitch}
|
|
166
|
+
*/
|
|
167
|
+
static bool(label) {
|
|
168
|
+
assert.isString(label, 'label');
|
|
169
|
+
|
|
170
|
+
return ShaderSwitch.#make(label, [false, true], ['false', 'true'], false);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* @readonly
|
|
176
|
+
* @type {boolean}
|
|
177
|
+
*/
|
|
178
|
+
ShaderSwitch.prototype.isShaderSwitch = true;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Values for some {@link ShaderSwitch}es: what a renderer has decided, or what one pipeline asks for.
|
|
3
|
+
* A switch the set does not name has its {@link ShaderSwitch#default_value}: `0`, or `false` for a bool.
|
|
4
|
+
*
|
|
5
|
+
* Immutable and interned: two sets that give every switch the same value are the same object, so a
|
|
6
|
+
* set is a cache key by identity, and a frame that looks one up allocates nothing. {@link with} and
|
|
7
|
+
* {@link restricted_to} hand out the one set for their values, making it only the first time.
|
|
8
|
+
*/
|
|
9
|
+
export class ShaderSwitchSet {
|
|
10
|
+
/**
|
|
11
|
+
* Every switch at its default.
|
|
12
|
+
* @type {ShaderSwitchSet}
|
|
13
|
+
*/
|
|
14
|
+
static EMPTY: ShaderSwitchSet;
|
|
15
|
+
/**
|
|
16
|
+
* @param {ShaderSwitch[]} switches in id order, each once
|
|
17
|
+
* @param {Array<number|boolean>} values none of them its switch's default
|
|
18
|
+
* @returns {ShaderSwitchSet}
|
|
19
|
+
*/
|
|
20
|
+
static "__#70@#intern"(switches: ShaderSwitch[], values: Array<number | boolean>): ShaderSwitchSet;
|
|
21
|
+
/**
|
|
22
|
+
* The values as one string, the same for the same values. What interning is keyed by.
|
|
23
|
+
* @returns {string}
|
|
24
|
+
*/
|
|
25
|
+
get key(): string;
|
|
26
|
+
/**
|
|
27
|
+
* How many switches this set gives a value other than their default.
|
|
28
|
+
* @returns {number}
|
|
29
|
+
*/
|
|
30
|
+
get size(): number;
|
|
31
|
+
/**
|
|
32
|
+
* @param {number} index below {@link size}
|
|
33
|
+
* @returns {ShaderSwitch}
|
|
34
|
+
*/
|
|
35
|
+
switch_at(index: number): ShaderSwitch;
|
|
36
|
+
/**
|
|
37
|
+
* @param {number} index below {@link size}
|
|
38
|
+
* @returns {number|boolean}
|
|
39
|
+
*/
|
|
40
|
+
value_at(index: number): number | boolean;
|
|
41
|
+
/**
|
|
42
|
+
* @param {ShaderSwitch} shader_switch
|
|
43
|
+
* @returns {number|boolean} its value here, its default when this set does not name it
|
|
44
|
+
*/
|
|
45
|
+
get(shader_switch: ShaderSwitch): number | boolean;
|
|
46
|
+
/**
|
|
47
|
+
* @param {ShaderSwitch} shader_switch
|
|
48
|
+
* @param {number|boolean} value one of the switch's values: a member of its enum, or `false`/`true`
|
|
49
|
+
* @returns {ShaderSwitchSet} the set of this one's values, with `shader_switch` at `value`
|
|
50
|
+
*/
|
|
51
|
+
with(shader_switch: ShaderSwitch, value: number | boolean): ShaderSwitchSet;
|
|
52
|
+
/**
|
|
53
|
+
* @param {ShaderSwitch[]} switches
|
|
54
|
+
* @returns {ShaderSwitchSet} the set of this one's values for `switches` only: what a shader that
|
|
55
|
+
* depends on those switches can tell apart
|
|
56
|
+
*/
|
|
57
|
+
restricted_to(switches: ShaderSwitch[]): ShaderSwitchSet;
|
|
58
|
+
toString(): string;
|
|
59
|
+
/**
|
|
60
|
+
* @readonly
|
|
61
|
+
* @type {boolean}
|
|
62
|
+
*/
|
|
63
|
+
readonly isShaderSwitchSet: boolean;
|
|
64
|
+
#private;
|
|
65
|
+
}
|
|
66
|
+
export type ShaderSwitch = import("./ShaderSwitch.js").ShaderSwitch;
|
|
67
|
+
//# sourceMappingURL=ShaderSwitchSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShaderSwitchSet.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/shader/compiler/ShaderSwitchSet.js"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH;IA0BI;;;OAGG;IACH,cAFU,eAAe,CAEsB;IA0H/C;;;;OAIG;IACH,iCAJW,YAAY,EAAE,UACd,MAAM,MAAM,GAAC,OAAO,CAAC,GACnB,eAAe,CAsB3B;IA/JD;;;OAGG;IACH,kBAEC;IAQD;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,YAAY,CAIxB;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,GAAC,OAAO,CAI1B;IAED;;;OAGG;IACH,mBAHW,YAAY,GACV,MAAM,GAAC,OAAO,CAM1B;IAED;;;;OAIG;IACH,oBAJW,YAAY,SACZ,MAAM,GAAC,OAAO,GACZ,eAAe,CA0C3B;IAED;;;;OAIG;IACH,wBAJW,YAAY,EAAE,GACZ,eAAe,CAqB3B;IAED,mBAYC;IA8BL;;;OAGG;IACH,4BAFU,OAAO,CAE0B;;CAN1C;2BAnMY,OAAO,mBAAmB,EAAE,YAAY"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { assert } from "../../../../core/assert.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import("./ShaderSwitch.js").ShaderSwitch} ShaderSwitch
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Every set made so far, by {@link ShaderSwitchSet#key}.
|
|
9
|
+
* @type {Map<string, ShaderSwitchSet>}
|
|
10
|
+
*/
|
|
11
|
+
const interned = new Map();
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Values for some {@link ShaderSwitch}es: what a renderer has decided, or what one pipeline asks for.
|
|
15
|
+
* A switch the set does not name has its {@link ShaderSwitch#default_value}: `0`, or `false` for a bool.
|
|
16
|
+
*
|
|
17
|
+
* Immutable and interned: two sets that give every switch the same value are the same object, so a
|
|
18
|
+
* set is a cache key by identity, and a frame that looks one up allocates nothing. {@link with} and
|
|
19
|
+
* {@link restricted_to} hand out the one set for their values, making it only the first time.
|
|
20
|
+
*/
|
|
21
|
+
export class ShaderSwitchSet {
|
|
22
|
+
/**
|
|
23
|
+
* Switches whose value here is not their default, in {@link ShaderSwitch#id} order.
|
|
24
|
+
* @type {ShaderSwitch[]}
|
|
25
|
+
*/
|
|
26
|
+
#switches = [];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Parallel to {@link #switches}; never the switch's default.
|
|
30
|
+
* @type {Array<number|boolean>}
|
|
31
|
+
*/
|
|
32
|
+
#values = [];
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @type {string}
|
|
36
|
+
*/
|
|
37
|
+
#key = '';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The values as one string, the same for the same values. What interning is keyed by.
|
|
41
|
+
* @returns {string}
|
|
42
|
+
*/
|
|
43
|
+
get key() {
|
|
44
|
+
return this.#key;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Every switch at its default.
|
|
49
|
+
* @type {ShaderSwitchSet}
|
|
50
|
+
*/
|
|
51
|
+
static EMPTY = ShaderSwitchSet.#intern([], []);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* How many switches this set gives a value other than their default.
|
|
55
|
+
* @returns {number}
|
|
56
|
+
*/
|
|
57
|
+
get size() {
|
|
58
|
+
return this.#switches.length;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @param {number} index below {@link size}
|
|
63
|
+
* @returns {ShaderSwitch}
|
|
64
|
+
*/
|
|
65
|
+
switch_at(index) {
|
|
66
|
+
return this.#switches[index];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @param {number} index below {@link size}
|
|
71
|
+
* @returns {number|boolean}
|
|
72
|
+
*/
|
|
73
|
+
value_at(index) {
|
|
74
|
+
return this.#values[index];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* @param {ShaderSwitch} shader_switch
|
|
79
|
+
* @returns {number|boolean} its value here, its default when this set does not name it
|
|
80
|
+
*/
|
|
81
|
+
get(shader_switch) {
|
|
82
|
+
const index = this.#switches.indexOf(shader_switch);
|
|
83
|
+
|
|
84
|
+
return index === -1 ? shader_switch.default_value : this.#values[index];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @param {ShaderSwitch} shader_switch
|
|
89
|
+
* @param {number|boolean} value one of the switch's values: a member of its enum, or `false`/`true`
|
|
90
|
+
* @returns {ShaderSwitchSet} the set of this one's values, with `shader_switch` at `value`
|
|
91
|
+
*/
|
|
92
|
+
with(shader_switch, value) {
|
|
93
|
+
assert.defined(shader_switch, 'shader_switch');
|
|
94
|
+
assert.equal(shader_switch.isShaderSwitch, true, 'shader_switch.isShaderSwitch !== true');
|
|
95
|
+
assert.ok(shader_switch.is_value(value), `${value} is not a value of shader switch '${shader_switch.label}'`);
|
|
96
|
+
|
|
97
|
+
if (this.get(shader_switch) === value) {
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const switches = [];
|
|
102
|
+
const values = [];
|
|
103
|
+
|
|
104
|
+
let placed = false;
|
|
105
|
+
|
|
106
|
+
for (let i = 0; i < this.#switches.length; i++) {
|
|
107
|
+
const existing = this.#switches[i];
|
|
108
|
+
|
|
109
|
+
if (!placed && existing.id >= shader_switch.id) {
|
|
110
|
+
placed = true;
|
|
111
|
+
|
|
112
|
+
if (value !== shader_switch.default_value) {
|
|
113
|
+
switches.push(shader_switch);
|
|
114
|
+
values.push(value);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (existing === shader_switch) {
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
switches.push(existing);
|
|
123
|
+
values.push(this.#values[i]);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!placed && value !== shader_switch.default_value) {
|
|
127
|
+
switches.push(shader_switch);
|
|
128
|
+
values.push(value);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return ShaderSwitchSet.#intern(switches, values);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* @param {ShaderSwitch[]} switches
|
|
136
|
+
* @returns {ShaderSwitchSet} the set of this one's values for `switches` only: what a shader that
|
|
137
|
+
* depends on those switches can tell apart
|
|
138
|
+
*/
|
|
139
|
+
restricted_to(switches) {
|
|
140
|
+
const kept_switches = [];
|
|
141
|
+
const kept_values = [];
|
|
142
|
+
|
|
143
|
+
for (let i = 0; i < this.#switches.length; i++) {
|
|
144
|
+
const shader_switch = this.#switches[i];
|
|
145
|
+
|
|
146
|
+
if (switches.includes(shader_switch)) {
|
|
147
|
+
kept_switches.push(shader_switch);
|
|
148
|
+
kept_values.push(this.#values[i]);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (kept_switches.length === this.#switches.length) {
|
|
153
|
+
return this;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return ShaderSwitchSet.#intern(kept_switches, kept_values);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
toString() {
|
|
160
|
+
let s = '';
|
|
161
|
+
|
|
162
|
+
for (let i = 0; i < this.#switches.length; i++) {
|
|
163
|
+
if (i > 0) {
|
|
164
|
+
s += ', ';
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
s += `${this.#switches[i].label}=${this.#switches[i].name_of(this.#values[i])}`;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return s;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* @param {ShaderSwitch[]} switches in id order, each once
|
|
175
|
+
* @param {Array<number|boolean>} values none of them its switch's default
|
|
176
|
+
* @returns {ShaderSwitchSet}
|
|
177
|
+
*/
|
|
178
|
+
static #intern(switches, values) {
|
|
179
|
+
let key = '';
|
|
180
|
+
|
|
181
|
+
for (let i = 0; i < switches.length; i++) {
|
|
182
|
+
key += `${switches[i].id}=${switches[i].index_of(values[i])};`;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
let r = interned.get(key);
|
|
186
|
+
|
|
187
|
+
if (r === undefined) {
|
|
188
|
+
r = new ShaderSwitchSet();
|
|
189
|
+
|
|
190
|
+
r.#switches = switches;
|
|
191
|
+
r.#values = values;
|
|
192
|
+
r.#key = key;
|
|
193
|
+
|
|
194
|
+
interned.set(key, r);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
return r;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* @readonly
|
|
203
|
+
* @type {boolean}
|
|
204
|
+
*/
|
|
205
|
+
ShaderSwitchSet.prototype.isShaderSwitchSet = true;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Threads in one workgroup of the screen-space contact shadow pass, and the pixels one workgroup
|
|
3
|
+
* walks along a single ray toward the light's position on screen. The threads of a workgroup sit
|
|
4
|
+
* one pixel apart on that ray, so each thread's samples are its neighbours' depth reads, shared
|
|
5
|
+
* through workgroup memory rather than read again.
|
|
6
|
+
*
|
|
7
|
+
* 64 is Bend Studio's: the only width their released code was tested with. It does not depend on
|
|
8
|
+
* the subgroup size (on the 4090 it is two 32-wide subgroups), because the sharing goes through
|
|
9
|
+
* workgroup memory behind a barrier.
|
|
10
|
+
*
|
|
11
|
+
* @type {number}
|
|
12
|
+
*/
|
|
13
|
+
export const CONTACT_SHADOW_WAVE_SIZE: number;
|
|
14
|
+
//# sourceMappingURL=CONTACT_SHADOW_WAVE_SIZE.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CONTACT_SHADOW_WAVE_SIZE.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/shadow/contact/CONTACT_SHADOW_WAVE_SIZE.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,uCAFU,MAAM,CAE2B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Threads in one workgroup of the screen-space contact shadow pass, and the pixels one workgroup
|
|
3
|
+
* walks along a single ray toward the light's position on screen. The threads of a workgroup sit
|
|
4
|
+
* one pixel apart on that ray, so each thread's samples are its neighbours' depth reads, shared
|
|
5
|
+
* through workgroup memory rather than read again.
|
|
6
|
+
*
|
|
7
|
+
* 64 is Bend Studio's: the only width their released code was tested with. It does not depend on
|
|
8
|
+
* the subgroup size (on the 4090 it is two 32-wide subgroups), because the sharing goes through
|
|
9
|
+
* workgroup memory behind a barrier.
|
|
10
|
+
*
|
|
11
|
+
* @type {number}
|
|
12
|
+
*/
|
|
13
|
+
export const CONTACT_SHADOW_WAVE_SIZE = 64;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Most dispatches one light needs: two for each quadrant of the screen around the light's position.
|
|
3
|
+
* @type {number}
|
|
4
|
+
*/
|
|
5
|
+
export const CONTACT_SHADOW_DISPATCH_LIMIT: number;
|
|
6
|
+
/**
|
|
7
|
+
* Words per dispatch in {@link ContactShadowDispatchList#dispatches}: workgroup counts x, y, z, then
|
|
8
|
+
* the wave offset x, y in pixels.
|
|
9
|
+
* @type {number}
|
|
10
|
+
*/
|
|
11
|
+
export const CONTACT_SHADOW_DISPATCH_STRIDE: number;
|
|
12
|
+
/**
|
|
13
|
+
* Furthest the light's coordinate may sit from the viewport's centre, in pixels: 2^20, where f32
|
|
14
|
+
* spacing is 1/8 pixel. See {@link ContactShadowDispatchList#build}.
|
|
15
|
+
* @type {number}
|
|
16
|
+
*/
|
|
17
|
+
export const CONTACT_SHADOW_LIGHT_DISTANCE_LIMIT: number;
|
|
18
|
+
/**
|
|
19
|
+
* The compute dispatches that cover a viewport with wavefronts converging on one light's position on
|
|
20
|
+
* screen, and the light coordinate every one of them is handed.
|
|
21
|
+
*
|
|
22
|
+
* A port of Bend Studio's `Bend::BuildDispatchList` (`bend_sss_cpu.h`, Sony Interactive Entertainment,
|
|
23
|
+
* Apache 2.0). The screen is split into the four quadrants around the light; each is a stack of square
|
|
24
|
+
* rings of {@link CONTACT_SHADOW_WAVE_SIZE} pixels, and a quadrant whose rectangle is not square is split
|
|
25
|
+
* along the diagonal through the light into a second dispatch. One to two dispatches when the light is
|
|
26
|
+
* off screen, up to eight when it is on it.
|
|
27
|
+
*
|
|
28
|
+
* Built on the CPU because the counts depend on where the light lands on screen, which is a function
|
|
29
|
+
* of the camera and the light the CPU already holds; the dispatches are sized by the viewport, not by
|
|
30
|
+
* any capacity. Rebuilding writes into the same arrays, so a frame allocates nothing.
|
|
31
|
+
*/
|
|
32
|
+
export class ContactShadowDispatchList {
|
|
33
|
+
/**
|
|
34
|
+
* What the shader calls `light_coordinate`: the light's position in pixels (x, y), its device depth,
|
|
35
|
+
* and +1 when it is in front of the camera (the rays march toward it), −1 when it is behind (they
|
|
36
|
+
* march away from the point it projects to).
|
|
37
|
+
*
|
|
38
|
+
* @type {Float32Array}
|
|
39
|
+
*/
|
|
40
|
+
light_coordinate: Float32Array;
|
|
41
|
+
/**
|
|
42
|
+
* {@link CONTACT_SHADOW_DISPATCH_STRIDE} words per dispatch: workgroups x, y, z, wave offset x, y.
|
|
43
|
+
*
|
|
44
|
+
* @type {Int32Array}
|
|
45
|
+
*/
|
|
46
|
+
dispatches: Int32Array;
|
|
47
|
+
/**
|
|
48
|
+
* Dispatches in use, from the front of {@link dispatches}.
|
|
49
|
+
*
|
|
50
|
+
* @type {number}
|
|
51
|
+
*/
|
|
52
|
+
count: number;
|
|
53
|
+
/**
|
|
54
|
+
* Cover the whole viewport for a light.
|
|
55
|
+
*
|
|
56
|
+
* @param {ArrayLike<number>} light_projection the light through the view-projection matrix, before
|
|
57
|
+
* the divide: `(position, 1)` for a point light, `(direction toward the light, 0)` for a
|
|
58
|
+
* directional one
|
|
59
|
+
* @param {number} width viewport, in pixels
|
|
60
|
+
* @param {number} height viewport, in pixels
|
|
61
|
+
*/
|
|
62
|
+
build(light_projection: ArrayLike<number>, width: number, height: number): void;
|
|
63
|
+
#private;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=ContactShadowDispatchList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactShadowDispatchList.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/shadow/contact/ContactShadowDispatchList.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,4CAFU,MAAM,CAE+B;AAE/C;;;;GAIG;AACH,6CAFU,MAAM,CAEgC;AAEhD;;;;GAIG;AACH,kDAFU,MAAM,CAE2C;AAE3D;;;;;;;;;;;;;GAaG;AACH;IACI;;;;;;OAMG;IACH,kBAFU,YAAY,CAEiB;IAEvC;;;;OAIG;IACH,YAFU,UAAU,CAEwE;IAE5F;;;;OAIG;IACH,OAFU,MAAM,CAEN;IAkCV;;;;;;;;OAQG;IACH,wBANW,UAAU,MAAM,CAAC,SAGjB,MAAM,UACN,MAAM,QAsJhB;;CACJ"}
|