@woosh/meep-engine 3.47.0 → 3.50.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 +12 -2
- package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -1
- package/editor/particles/effect/ParticleReferenceSimulation.js +30 -4
- package/editor/view/particles/effect/ParticleGraphEditorView.d.ts.map +1 -1
- package/editor/view/particles/effect/ParticleGraphEditorView.js +3 -1
- package/package.json +1 -1
- package/src/core/color/xyz/m3_rgb_to_xyz_from_primaries.d.ts +11 -0
- package/src/core/color/xyz/m3_rgb_to_xyz_from_primaries.d.ts.map +1 -0
- package/src/core/color/xyz/m3_rgb_to_xyz_from_primaries.js +40 -0
- package/src/core/geom/3d/mat4/m4_decompose_rigid_array.d.ts +24 -0
- package/src/core/geom/3d/mat4/m4_decompose_rigid_array.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_decompose_rigid_array.js +80 -0
- package/src/core/geom/3d/shape/PosedShape3D.d.ts +10 -0
- package/src/core/geom/3d/shape/PosedShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/PosedShape3D.js +50 -11
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts +37 -0
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/TransformedShape3D.js +73 -49
- package/src/core/geom/3d/shape/UnionShape3D.d.ts +13 -0
- package/src/core/geom/3d/shape/UnionShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/UnionShape3D.js +17 -4
- package/src/core/geom/3d/shape/record/ShapeRecord.d.ts +65 -0
- package/src/core/geom/3d/shape/record/ShapeRecord.d.ts.map +1 -0
- package/src/core/geom/3d/shape/record/ShapeRecord.js +72 -0
- package/src/core/geom/3d/shape/record/ShapeRecordKind.d.ts +13 -0
- package/src/core/geom/3d/shape/record/ShapeRecordKind.d.ts.map +1 -0
- package/src/core/geom/3d/shape/record/ShapeRecordKind.js +39 -0
- package/src/core/geom/3d/shape/record/shape_record_local_bounds.d.ts +19 -0
- package/src/core/geom/3d/shape/record/shape_record_local_bounds.d.ts.map +1 -0
- package/src/core/geom/3d/shape/record/shape_record_local_bounds.js +61 -0
- package/src/core/geom/3d/shape/record/shape_record_pack.d.ts +88 -0
- package/src/core/geom/3d/shape/record/shape_record_pack.d.ts.map +1 -0
- package/src/core/geom/3d/shape/record/shape_record_pack.js +418 -0
- package/src/core/geom/3d/shape/record/shape_record_pack_bounding_box.d.ts +23 -0
- package/src/core/geom/3d/shape/record/shape_record_pack_bounding_box.d.ts.map +1 -0
- package/src/core/geom/3d/shape/record/shape_record_pack_bounding_box.js +69 -0
- package/src/core/geom/3d/shape/record/shape_record_signed_distance.d.ts +52 -0
- package/src/core/geom/3d/shape/record/shape_record_signed_distance.d.ts.map +1 -0
- package/src/core/geom/3d/shape/record/shape_record_signed_distance.js +135 -0
- package/src/core/geom/3d/shape/sdf/sdf3_plane.d.ts +7 -0
- package/src/core/geom/3d/shape/sdf/sdf3_plane.d.ts.map +1 -1
- package/src/core/geom/3d/shape/sdf/sdf3_plane.js +7 -0
- package/src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.d.ts +3 -0
- package/src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.d.ts.map +1 -1
- package/src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.js +19 -13
- package/src/core/geom/clipmap/ClipmapWindowSet.d.ts +141 -0
- package/src/core/geom/clipmap/ClipmapWindowSet.d.ts.map +1 -0
- package/src/core/geom/clipmap/ClipmapWindowSet.js +301 -0
- package/src/core/geom/clipmap/clipmap_select_finest.d.ts +20 -0
- package/src/core/geom/clipmap/clipmap_select_finest.d.ts.map +1 -0
- package/src/core/geom/clipmap/clipmap_select_finest.js +53 -0
- package/src/core/geom/clipmap/quantize_hysteretic.d.ts +22 -0
- package/src/core/geom/clipmap/quantize_hysteretic.d.ts.map +1 -0
- package/src/core/geom/clipmap/quantize_hysteretic.js +33 -0
- package/src/core/geom/clipmap/window_scroll_regions.d.ts +25 -0
- package/src/core/geom/clipmap/window_scroll_regions.d.ts.map +1 -0
- package/src/core/geom/clipmap/window_scroll_regions.js +83 -0
- package/src/core/geom/vec3/v3_clamp_to_cone.d.ts +59 -0
- package/src/core/geom/vec3/v3_clamp_to_cone.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_clamp_to_cone.js +197 -0
- package/src/core/math/falloff_quadratic.d.ts +13 -0
- package/src/core/math/falloff_quadratic.d.ts.map +1 -0
- package/src/core/math/falloff_quadratic.js +20 -0
- package/src/core/math/physics/fluid/vortex_swirl.d.ts +40 -0
- package/src/core/math/physics/fluid/vortex_swirl.d.ts.map +1 -0
- package/src/core/math/physics/fluid/vortex_swirl.js +91 -0
- package/src/core/math/physics/kinematics/rigid_velocity_at_point.d.ts +27 -0
- package/src/core/math/physics/kinematics/rigid_velocity_at_point.d.ts.map +1 -0
- package/src/core/math/physics/kinematics/rigid_velocity_at_point.js +40 -0
- package/src/engine/EngineHarness.d.ts.map +1 -1
- package/src/engine/EngineHarness.js +6 -0
- package/src/engine/ecs/EntityComponentDataset.d.ts +48 -4
- package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
- package/src/engine/ecs/EntityComponentDataset.js +120 -11
- package/src/engine/ecs/async/WORKER_SYSTEM_PLAN.md +27 -11
- package/src/engine/ecs/fow/FogOfWarVisibilityPredicate.d.ts.map +1 -1
- package/src/engine/ecs/fow/FogOfWarVisibilityPredicate.js +1 -3
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +13 -0
- package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/util/obtainTerrain.js +5 -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/graphics/ecs/water/WaterWaves.d.ts +8 -21
- package/src/engine/graphics/ecs/water/WaterWaves.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterWaves.js +8 -31
- package/src/engine/graphics/ecs/water/WaterWavesSerializationAdapter.d.ts +4 -0
- package/src/engine/graphics/ecs/water/WaterWavesSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterWavesSerializationAdapter.js +5 -5
- package/src/engine/graphics/ecs/water/WaterWavesSerializationUpgrader_1_2.d.ts +9 -0
- package/src/engine/graphics/ecs/water/WaterWavesSerializationUpgrader_1_2.d.ts.map +1 -0
- package/src/engine/graphics/ecs/water/WaterWavesSerializationUpgrader_1_2.js +19 -0
- package/src/engine/graphics/texture/3d/scs3d_sample_linear3.d.ts +21 -0
- package/src/engine/graphics/texture/3d/scs3d_sample_linear3.d.ts.map +1 -1
- package/src/engine/graphics/texture/3d/scs3d_sample_linear3.js +78 -0
- package/src/engine/graphics3/GPUFluidSystem.d.ts +266 -0
- package/src/engine/graphics3/GPUFluidSystem.d.ts.map +1 -0
- package/src/engine/graphics3/GPUFluidSystem.js +1613 -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 +90 -1
- package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMedia.js +145 -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 +32 -22
- package/src/engine/graphics3/ParticipatingMediaSystem.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMediaSystem.js +236 -45
- package/src/engine/graphics3/WaterSystem.d.ts +9 -2
- package/src/engine/graphics3/WaterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/WaterSystem.js +53 -15
- 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 +393 -0
- package/src/engine/physics/cloth/PLAN.md +106 -7
- package/src/engine/physics/cloth/collider/ClothColliderKind.d.ts.map +1 -1
- package/src/engine/physics/cloth/collider/ClothColliderKind.js +14 -7
- package/src/engine/physics/cloth/collider/ClothColliderRecord.d.ts +19 -5
- package/src/engine/physics/cloth/collider/ClothColliderRecord.d.ts.map +1 -1
- package/src/engine/physics/cloth/collider/ClothColliderRecord.js +28 -5
- package/src/engine/physics/cloth/collider/cloth_collider_pack.d.ts +3 -2
- package/src/engine/physics/cloth/collider/cloth_collider_pack.d.ts.map +1 -1
- package/src/engine/physics/cloth/collider/cloth_collider_pack.js +26 -108
- package/src/engine/physics/cloth/collider/cloth_collider_sdf.d.ts +6 -5
- package/src/engine/physics/cloth/collider/cloth_collider_sdf.d.ts.map +1 -1
- package/src/engine/physics/cloth/collider/cloth_collider_sdf.js +18 -28
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts +6 -21
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothInstance.js +6 -22
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts +5 -3
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothSystem.js +10 -3
- package/src/engine/physics/cloth/ecs/ClothWorld.d.ts +38 -28
- package/src/engine/physics/cloth/ecs/ClothWorld.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothWorld.js +140 -43
- 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/README.md +8 -4
- 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/playground/wind.html +4 -4
- package/src/engine/physics/cloth/playground/wind_build.d.ts +3 -2
- package/src/engine/physics/cloth/playground/wind_build.d.ts.map +1 -1
- package/src/engine/physics/cloth/playground/wind_build.js +4 -3
- package/src/engine/physics/cloth/playground/wind_main.js +58 -19
- 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/cloth/wind/AbstractClothWind.d.ts +36 -35
- package/src/engine/physics/cloth/wind/AbstractClothWind.d.ts.map +1 -1
- package/src/engine/physics/cloth/wind/AbstractClothWind.js +36 -35
- package/src/engine/physics/cloth/wind/ClothFluidWind.d.ts +46 -25
- package/src/engine/physics/cloth/wind/ClothFluidWind.d.ts.map +1 -1
- package/src/engine/physics/cloth/wind/ClothFluidWind.js +70 -30
- package/src/engine/physics/cloth/wind/ClothGPUFluidWind.d.ts +96 -0
- package/src/engine/physics/cloth/wind/ClothGPUFluidWind.d.ts.map +1 -0
- package/src/engine/physics/cloth/wind/ClothGPUFluidWind.js +441 -0
- package/src/engine/physics/cloth/wind/cloth_sample_air.d.ts +9 -7
- package/src/engine/physics/cloth/wind/cloth_sample_air.d.ts.map +1 -1
- package/src/engine/physics/cloth/wind/cloth_sample_air.js +9 -7
- package/src/engine/physics/ecs/ColliderObserverSystem.d.ts +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +1 -1
- package/src/engine/physics/fluid/FluidAtmosphere.d.ts +80 -0
- package/src/engine/physics/fluid/FluidAtmosphere.d.ts.map +1 -0
- package/src/engine/physics/fluid/FluidAtmosphere.js +78 -0
- package/src/engine/physics/fluid/FluidField.d.ts +14 -2
- package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
- package/src/engine/physics/fluid/FluidField.js +26 -6
- package/src/engine/physics/fluid/FluidSimulator.d.ts +5 -1
- package/src/engine/physics/fluid/FluidSimulator.d.ts.map +1 -1
- package/src/engine/physics/fluid/FluidSimulator.js +13 -2
- package/src/engine/physics/fluid/GPU_FLUID_CASCADES_PROPOSAL_2026_10_16.md +1382 -0
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.d.ts +10 -4
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.js +13 -4
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponentSerializationAdapter.d.ts +47 -0
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponentSerializationAdapter.d.ts.map +1 -0
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponentSerializationAdapter.js +72 -0
- package/src/engine/physics/fluid/ecs/FluidEffectorsSystem.d.ts +67 -0
- package/src/engine/physics/fluid/ecs/FluidEffectorsSystem.d.ts.map +1 -0
- package/src/engine/physics/fluid/ecs/FluidEffectorsSystem.js +307 -0
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +6 -6
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +24 -13
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidSystem.js +79 -15
- package/src/engine/physics/fluid/ecs/FluidWorkerCore.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidWorkerCore.js +17 -5
- package/src/engine/physics/fluid/ecs/GPUFluidComponent.d.ts +82 -0
- package/src/engine/physics/fluid/ecs/GPUFluidComponent.d.ts.map +1 -0
- package/src/engine/physics/fluid/ecs/GPUFluidComponent.js +124 -0
- package/src/engine/physics/fluid/ecs/GPUFluidComponentSerializationAdapter.d.ts +30 -0
- package/src/engine/physics/fluid/ecs/GPUFluidComponentSerializationAdapter.d.ts.map +1 -0
- package/src/engine/physics/fluid/ecs/GPUFluidComponentSerializationAdapter.js +51 -0
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +19 -10
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +64 -14
- package/src/engine/physics/fluid/ecs/fluid_gather_visible_effectors.d.ts +4 -1
- package/src/engine/physics/fluid/ecs/fluid_gather_visible_effectors.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/fluid_gather_visible_effectors.js +9 -1
- package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts +1 -0
- package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +9 -7
- package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts +5 -3
- package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js +5 -3
- package/src/engine/physics/fluid/ecs/fluid_worker_protocol.d.ts +20 -2
- package/src/engine/physics/fluid/ecs/fluid_worker_protocol.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/fluid_worker_protocol.js +34 -6
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +46 -3
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +53 -3
- package/src/engine/physics/fluid/effector/GlobalFluidEffector.d.ts +73 -13
- package/src/engine/physics/fluid/effector/GlobalFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/GlobalFluidEffector.js +207 -88
- package/src/engine/physics/fluid/effector/GlobalFluidEffectorSerializationAdapter.d.ts +35 -0
- package/src/engine/physics/fluid/effector/GlobalFluidEffectorSerializationAdapter.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/GlobalFluidEffectorSerializationAdapter.js +72 -0
- package/src/engine/physics/fluid/effector/ImpulseFluidEffector.d.ts +34 -10
- package/src/engine/physics/fluid/effector/ImpulseFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +139 -150
- package/src/engine/physics/fluid/effector/ImpulseFluidEffectorSerializationAdapter.d.ts +26 -0
- package/src/engine/physics/fluid/effector/ImpulseFluidEffectorSerializationAdapter.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/ImpulseFluidEffectorSerializationAdapter.js +51 -0
- package/src/engine/physics/fluid/effector/VortexFluidEffector.d.ts +55 -0
- package/src/engine/physics/fluid/effector/VortexFluidEffector.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/VortexFluidEffector.js +255 -0
- package/src/engine/physics/fluid/effector/VortexFluidEffectorSerializationAdapter.d.ts +25 -0
- package/src/engine/physics/fluid/effector/VortexFluidEffectorSerializationAdapter.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/VortexFluidEffectorSerializationAdapter.js +52 -0
- package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts +22 -20
- package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/WakeFluidEffector.js +181 -185
- package/src/engine/physics/fluid/effector/WakeFluidEffectorSerializationAdapter.d.ts +31 -0
- package/src/engine/physics/fluid/effector/WakeFluidEffectorSerializationAdapter.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/WakeFluidEffectorSerializationAdapter.js +56 -0
- package/src/engine/physics/fluid/effector/record/FLUID_EFFECTOR_RECORD_STRUCT.d.ts +52 -0
- package/src/engine/physics/fluid/effector/record/FLUID_EFFECTOR_RECORD_STRUCT.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/FLUID_EFFECTOR_RECORD_STRUCT.js +68 -0
- package/src/engine/physics/fluid/effector/record/FluidEffectorRecordKind.d.ts +10 -0
- package/src/engine/physics/fluid/effector/record/FluidEffectorRecordKind.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/FluidEffectorRecordKind.js +31 -0
- package/src/engine/physics/fluid/effector/record/chunk_fluid_effector_record_deposit.d.ts +25 -0
- package/src/engine/physics/fluid/effector/record/chunk_fluid_effector_record_deposit.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/chunk_fluid_effector_record_deposit.js +105 -0
- package/src/engine/physics/fluid/effector/record/chunk_fluid_effector_record_resolve.d.ts +17 -0
- package/src/engine/physics/fluid/effector/record/chunk_fluid_effector_record_resolve.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/chunk_fluid_effector_record_resolve.js +47 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_create.d.ts +54 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_create.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_create.js +34 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_deposit.d.ts +98 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_deposit.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_deposit.js +409 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_resolve.d.ts +25 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_resolve.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/fluid_effector_record_resolve.js +78 -0
- package/src/engine/physics/fluid/effector/record/fluid_record_apply.d.ts +27 -0
- package/src/engine/physics/fluid/effector/record/fluid_record_apply.d.ts.map +1 -0
- package/src/engine/physics/fluid/effector/record/fluid_record_apply.js +151 -0
- package/src/engine/physics/fluid/fluid_apply_atmosphere.d.ts +42 -0
- package/src/engine/physics/fluid/fluid_apply_atmosphere.d.ts.map +1 -0
- package/src/engine/physics/fluid/fluid_apply_atmosphere.js +148 -0
- package/src/engine/physics/fluid/fluid_atmosphere_to_grid.d.ts +16 -0
- package/src/engine/physics/fluid/fluid_atmosphere_to_grid.d.ts.map +1 -0
- package/src/engine/physics/fluid/fluid_atmosphere_to_grid.js +47 -0
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.d.ts +32 -0
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.d.ts.map +1 -0
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.js +50 -0
- package/src/engine/physics/fluid/obstacle/chunk_fluid_obstacle_record.d.ts +24 -0
- package/src/engine/physics/fluid/obstacle/chunk_fluid_obstacle_record.d.ts.map +1 -0
- package/src/engine/physics/fluid/obstacle/chunk_fluid_obstacle_record.js +61 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.d.ts +58 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.d.ts.map +1 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.js +35 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_evaluate.d.ts +34 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_evaluate.d.ts.map +1 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_evaluate.js +90 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_extent.d.ts +17 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_extent.d.ts.map +1 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_extent.js +44 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.d.ts +98 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.d.ts.map +1 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.js +281 -0
- package/src/engine/physics/fluid/prototype.js +2 -0
- package/src/engine/physics/narrowphase/rigid_subject_pose.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/rigid_subject_pose.js +3 -43
- package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.js +4 -4
- package/src/shade/assets/textures/split_sum.bin +0 -0
- package/src/shade/device/ShadeGPUCommandContext.d.ts +20 -0
- package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
- package/src/shade/device/ShadeGPUCommandContext.js +25 -8
- package/src/shade/device/mock/SoftwareGPUComputePassEncoder.d.ts +6 -2
- package/src/shade/device/mock/SoftwareGPUComputePassEncoder.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUComputePassEncoder.js +7 -3
- 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/avboit/main.d.ts.map +1 -1
- package/src/shade/playground/avboit/main.js +9 -6
- 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 +21 -1
- package/src/shade/playground/particle_ecs/bonfire_effects.d.ts +10 -0
- package/src/shade/playground/particle_ecs/bonfire_effects.d.ts.map +1 -1
- package/src/shade/playground/particle_ecs/bonfire_effects.js +10 -0
- package/src/shade/playground/particle_ecs/bonfire_wind.d.ts +48 -0
- package/src/shade/playground/particle_ecs/bonfire_wind.d.ts.map +1 -0
- package/src/shade/playground/particle_ecs/bonfire_wind.js +83 -0
- package/src/shade/playground/particle_ecs/effects/embers.json +1695 -1633
- package/src/shade/playground/particle_ecs/effects/flame.json +1994 -1881
- package/src/shade/playground/particle_ecs/effects/smoke.json +113 -15
- package/src/shade/playground/particle_ecs/effects/soot.json +214 -145
- package/src/shade/playground/particle_ecs/index.html +21 -0
- package/src/shade/playground/particle_ecs/main.js +35 -1
- package/src/shade/playground/path_traced_media/main.js +12 -10
- package/src/shade/playground/render_submitted_frames.d.ts +20 -0
- package/src/shade/playground/render_submitted_frames.d.ts.map +1 -0
- package/src/shade/playground/render_submitted_frames.js +29 -0
- package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/main.js +4 -6
- package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.js +267 -270
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +3 -6
- package/src/shade/playground/skinned_mesh_soup/main.d.ts.map +1 -1
- package/src/shade/playground/skinned_mesh_soup/main.js +4 -5
- package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.js +438 -438
- package/src/shade/playground/ssr_motion/README.md +24 -22
- package/src/shade/playground/ssr_motion/main.js +150 -149
- package/src/shade/playground/ssr_reprojection/SpatialFilterProbe.js +1 -1
- package/src/shade/playground/ssr_reprojection/main.js +5 -3
- package/src/shade/playground/ssr_variance/capture.js +1 -1
- package/src/shade/playground/ssr_variance/main.js +247 -246
- package/src/shade/playground/submit_frame.d.ts +25 -0
- package/src/shade/playground/submit_frame.d.ts.map +1 -0
- package/src/shade/playground/submit_frame.js +36 -0
- 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 +389 -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 +91 -4
- package/src/shade/playground/water_refraction/README.md +30 -20
- package/src/shade/playground/water_refraction/index.html +1 -1
- package/src/shade/playground/water_refraction/main.js +19 -3
- package/src/shade/playground/water_refraction/world.d.ts.map +1 -1
- package/src/shade/playground/water_refraction/world.js +2 -1
- package/src/shade/playground/water_surface/README.md +15 -7
- package/src/shade/playground/water_surface/index.html +2 -1
- package/src/shade/playground/water_surface/main.js +39 -7
- package/src/shade/playground/water_surface/world.d.ts +2 -5
- package/src/shade/playground/water_surface/world.d.ts.map +1 -1
- package/src/shade/playground/water_surface/world.js +9 -8
- package/src/shade/renderer/INDIRECT_LIGHTING.d.ts +13 -0
- package/src/shade/renderer/INDIRECT_LIGHTING.d.ts.map +1 -0
- package/src/shade/renderer/INDIRECT_LIGHTING.js +14 -0
- 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 +260 -57
- package/src/shade/renderer/STATIC_GRAPHICS_ENGINE_ASSET_RESOURCES.d.ts +17 -0
- package/src/shade/renderer/STATIC_GRAPHICS_ENGINE_ASSET_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/STATIC_GRAPHICS_ENGINE_ASSET_RESOURCES.js +19 -0
- 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 +19 -4
- package/src/shade/renderer/buffer/table/GPUDatabaseReadback.d.ts +32 -2
- package/src/shade/renderer/buffer/table/GPUDatabaseReadback.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUDatabaseReadback.js +231 -62
- package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts +12 -0
- package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUTypedTable.js +51 -14
- 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/CAMERA_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/camera/CAMERA_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/camera/CAMERA_RESOURCE.js +8 -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/GBUFFER_RESOURCES.d.ts +22 -0
- package/src/shade/renderer/deferred/GBUFFER_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/deferred/GBUFFER_RESOURCES.js +25 -0
- package/src/shade/renderer/deferred/LOCAL_LIGHT_SHADING.d.ts +12 -0
- package/src/shade/renderer/deferred/LOCAL_LIGHT_SHADING.d.ts.map +1 -0
- package/src/shade/renderer/deferred/LOCAL_LIGHT_SHADING.js +13 -0
- package/src/shade/renderer/deferred/LocalLightShading.d.ts +10 -0
- package/src/shade/renderer/deferred/LocalLightShading.d.ts.map +1 -0
- package/src/shade/renderer/deferred/LocalLightShading.js +12 -0
- package/src/shade/renderer/deferred/SHADING_LIGHT_RESOURCE_GROUP.d.ts.map +1 -1
- package/src/shade/renderer/deferred/SHADING_LIGHT_RESOURCE_GROUP.js +15 -11
- package/src/shade/renderer/deferred/TonemapDisplaySettings.d.ts +50 -0
- package/src/shade/renderer/deferred/TonemapDisplaySettings.d.ts.map +1 -0
- package/src/shade/renderer/deferred/TonemapDisplaySettings.js +142 -0
- package/src/shade/renderer/deferred/chunk_read_gBuffer_material.d.ts.map +1 -1
- package/src/shade/renderer/deferred/chunk_read_gBuffer_material.js +10 -1
- package/src/shade/renderer/deferred/chunk_sample_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/deferred/chunk_sample_volumetrics.js +11 -1
- package/src/shade/renderer/deferred/chunk_shade_directional_lights.d.ts +1 -2
- package/src/shade/renderer/deferred/chunk_shade_directional_lights.d.ts.map +1 -1
- package/src/shade/renderer/deferred/chunk_shade_directional_lights.js +4 -2
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct.d.ts +10 -3
- 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 +27 -5
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_deferred.d.ts +16 -0
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_deferred.d.ts.map +1 -0
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_deferred.js +23 -0
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.d.ts +3 -2
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.d.ts.map +1 -1
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.js +17 -16
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_restir.d.ts +3 -2
- 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 +13 -2
- package/src/shade/renderer/deferred/indirect/chunk_get_ibl_irradiance.d.ts.map +1 -1
- package/src/shade/renderer/deferred/indirect/chunk_get_ibl_irradiance.js +4 -1
- package/src/shade/renderer/deferred/indirect/chunk_get_ibl_radiance.d.ts.map +1 -1
- package/src/shade/renderer/deferred/indirect/chunk_get_ibl_radiance.js +4 -1
- package/src/shade/renderer/deferred/indirect/chunk_lpv_sample_light.d.ts.map +1 -1
- package/src/shade/renderer/deferred/indirect/chunk_lpv_sample_light.js +7 -0
- package/src/shade/renderer/deferred/shader_deferred_main.d.ts +11 -6
- package/src/shade/renderer/deferred/shader_deferred_main.d.ts.map +1 -1
- package/src/shade/renderer/deferred/shader_deferred_main.js +69 -87
- 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 +22 -18
- 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 +66 -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 +80 -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 +27 -7
- 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 +71 -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 +76 -0
- package/src/shade/renderer/fluid/FluidCascadePlacement.d.ts +142 -0
- package/src/shade/renderer/fluid/FluidCascadePlacement.d.ts.map +1 -0
- package/src/shade/renderer/fluid/FluidCascadePlacement.js +349 -0
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts +383 -0
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts.map +1 -0
- package/src/shade/renderer/fluid/GPUFluidCascade.js +1217 -0
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts +191 -0
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts.map +1 -0
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.js +463 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_FILL_STRUCT.d.ts +27 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_FILL_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_FILL_STRUCT.js +43 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_GHOSTS.d.ts +31 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_GHOSTS.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_GHOSTS.js +38 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_PARENT_STRUCT.d.ts +46 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_PARENT_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_PARENT_STRUCT.js +61 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_RESTRICT_STRUCT.d.ts +25 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_RESTRICT_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/FLUID_CASCADE_RESTRICT_STRUCT.js +41 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_epilogue.d.ts +52 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_epilogue.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_epilogue.js +146 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.d.ts +41 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.js +238 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_fill.d.ts +32 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_fill.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_fill.js +141 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_ghosts.d.ts +34 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_ghosts.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_ghosts.js +101 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_restrict.d.ts +31 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_restrict.d.ts.map +1 -0
- package/src/shade/renderer/fluid/coupling/shader_fluid_cascade_restrict.js +126 -0
- package/src/shade/renderer/fluid/fluid_cascade_ruler.d.ts +15 -0
- package/src/shade/renderer/fluid/fluid_cascade_ruler.d.ts.map +1 -0
- package/src/shade/renderer/fluid/fluid_cascade_ruler.js +38 -0
- package/src/shade/renderer/fluid/fluid_cascade_window.d.ts +41 -0
- package/src/shade/renderer/fluid/fluid_cascade_window.d.ts.map +1 -0
- package/src/shade/renderer/fluid/fluid_cascade_window.js +49 -0
- package/src/shade/renderer/fluid/forcing/FLUID_DATABASE_SPEC.d.ts +68 -0
- package/src/shade/renderer/fluid/forcing/FLUID_DATABASE_SPEC.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/FLUID_DATABASE_SPEC.js +103 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.d.ts +71 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.js +100 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.d.ts +21 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.js +35 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_EXTRACT_STRUCT.d.ts +18 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_EXTRACT_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_EXTRACT_STRUCT.js +27 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_QUERY_STRUCT.d.ts +17 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_QUERY_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_QUERY_STRUCT.js +28 -0
- package/src/shade/renderer/fluid/forcing/FLUID_OBSTACLE_PLANE_STRUCT.d.ts +12 -0
- package/src/shade/renderer/fluid/forcing/FLUID_OBSTACLE_PLANE_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/FLUID_OBSTACLE_PLANE_STRUCT.js +16 -0
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +289 -0
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.js +1487 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.d.ts +32 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.js +87 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_leaf.d.ts +28 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_leaf.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_leaf.js +99 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_query_select.d.ts +29 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_query_select.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_query_select.js +67 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts +38 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.js +287 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_command.d.ts +18 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_command.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_command.js +64 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_extract.d.ts +22 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_extract.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_extract.js +168 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_query.d.ts +31 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_query.d.ts.map +1 -0
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_query.js +208 -0
- package/src/shade/renderer/fluid/mac/FLUID_MAC_STEP_STRUCT.d.ts +35 -0
- package/src/shade/renderer/fluid/mac/FLUID_MAC_STEP_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/FLUID_MAC_STEP_STRUCT.js +50 -0
- package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts +162 -0
- package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/FluidMacPasses.js +384 -0
- package/src/shade/renderer/fluid/mac/FluidMacVelocitySet.d.ts +40 -0
- package/src/shade/renderer/fluid/mac/FluidMacVelocitySet.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/FluidMacVelocitySet.js +77 -0
- package/src/shade/renderer/fluid/mac/V3_MAC_LATTICE_TAP_STRUCT.d.ts +14 -0
- package/src/shade/renderer/fluid/mac/V3_MAC_LATTICE_TAP_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/V3_MAC_LATTICE_TAP_STRUCT.js +19 -0
- package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.d.ts +35 -0
- package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.js +178 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_advect_maccormack.d.ts +17 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_advect_maccormack.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_advect_maccormack.js +156 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_clip_trace.d.ts +31 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_clip_trace.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_clip_trace.js +63 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_compute_divergence.d.ts +27 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_compute_divergence.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_compute_divergence.js +42 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_face_carrier.d.ts +25 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_face_carrier.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_face_carrier.js +67 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_face_pinned.d.ts +23 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_face_pinned.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_face_pinned.js +38 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.d.ts +33 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.js +231 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_subtract_pressure_gradient.d.ts +30 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_subtract_pressure_gradient.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_subtract_pressure_gradient.js +66 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_vorticity_confinement.d.ts +27 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_vorticity_confinement.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_vorticity_confinement.js +65 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts +43 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.js +245 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.d.ts +31 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.js +109 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_curl.d.ts +38 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_curl.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_curl.js +222 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_divergence.d.ts +26 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_divergence.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_divergence.js +92 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_gradient.d.ts +32 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_gradient.d.ts.map +1 -0
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_gradient.js +181 -0
- package/src/shade/renderer/fluid/pressure/FLUID_MG.d.ts +112 -0
- package/src/shade/renderer/fluid/pressure/FLUID_MG.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/FLUID_MG.js +140 -0
- package/src/shade/renderer/fluid/pressure/FLUID_MG_PASS_STRUCT.d.ts +29 -0
- package/src/shade/renderer/fluid/pressure/FLUID_MG_PASS_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/FLUID_MG_PASS_STRUCT.js +45 -0
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts +156 -0
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.js +605 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_coarse_word.d.ts +18 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_coarse_word.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_coarse_word.js +48 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_level0_word.d.ts +17 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_level0_word.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_level0_word.js +47 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_prolong.d.ts +21 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_prolong.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_prolong.js +47 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_relax.d.ts +27 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_relax.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_relax.js +79 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_restrict.d.ts +18 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_restrict.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_restrict.js +35 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_word.d.ts +17 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_word.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_mg_word.js +34 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_pressure_ghost.d.ts +21 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_pressure_ghost.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/chunk_fluid_pressure_ghost.js +34 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_coarse_weights.d.ts +10 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_coarse_weights.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_coarse_weights.js +45 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_coarsest.d.ts +17 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_coarsest.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_coarsest.js +126 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_level0_weights.d.ts +10 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_level0_weights.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_level0_weights.js +44 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_residual_restrict.d.ts +18 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_residual_restrict.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_residual_restrict.js +149 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_smooth.d.ts +30 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_smooth.d.ts.map +1 -0
- package/src/shade/renderer/fluid/pressure/shader_fluid_mg_smooth.js +183 -0
- package/src/shade/renderer/fluid/publish/FLUID_WIND_PUBLISH_STRUCT.d.ts +9 -0
- package/src/shade/renderer/fluid/publish/FLUID_WIND_PUBLISH_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/fluid/publish/FLUID_WIND_PUBLISH_STRUCT.js +12 -0
- package/src/shade/renderer/fluid/publish/FluidWindPublish.d.ts +49 -0
- package/src/shade/renderer/fluid/publish/FluidWindPublish.d.ts.map +1 -0
- package/src/shade/renderer/fluid/publish/FluidWindPublish.js +136 -0
- package/src/shade/renderer/fluid/publish/chunk_fluid_wind_publish_cell.d.ts +24 -0
- package/src/shade/renderer/fluid/publish/chunk_fluid_wind_publish_cell.d.ts.map +1 -0
- package/src/shade/renderer/fluid/publish/chunk_fluid_wind_publish_cell.js +37 -0
- package/src/shade/renderer/fluid/publish/shader_fluid_wind_publish.d.ts +41 -0
- package/src/shade/renderer/fluid/publish/shader_fluid_wind_publish.d.ts.map +1 -0
- package/src/shade/renderer/fluid/publish/shader_fluid_wind_publish.js +122 -0
- package/src/shade/renderer/fluid/query/FLUID_QUERY_DATABASE_SPEC.d.ts +66 -0
- package/src/shade/renderer/fluid/query/FLUID_QUERY_DATABASE_SPEC.d.ts.map +1 -0
- package/src/shade/renderer/fluid/query/FLUID_QUERY_DATABASE_SPEC.js +88 -0
- package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts +157 -0
- package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts.map +1 -0
- package/src/shade/renderer/fluid/query/GPUFluidQueries.js +709 -0
- package/src/shade/renderer/fluid/query/shader_fluid_query_gather.d.ts +47 -0
- package/src/shade/renderer/fluid/query/shader_fluid_query_gather.d.ts.map +1 -0
- package/src/shade/renderer/fluid/query/shader_fluid_query_gather.js +140 -0
- package/src/shade/renderer/geometry/GEOMETRY_ATTRIBUTE_DATA_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/geometry/GEOMETRY_ATTRIBUTE_DATA_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/geometry/GEOMETRY_ATTRIBUTE_DATA_RESOURCE.js +8 -0
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_BATCH_PLAN.md +619 -606
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts +3 -2
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.js +50 -44
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts +12 -9
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +447 -363
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts +7 -4
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.js +13 -6
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch_seed.d.ts +21 -0
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch_seed.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch_seed.js +75 -0
- package/src/shade/renderer/geometry/meshlet/MESHLET_METADATA_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/geometry/meshlet/MESHLET_METADATA_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/geometry/meshlet/MESHLET_METADATA_RESOURCE.js +9 -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 +99 -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 +125 -129
- package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.js +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/BRICK4_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/global_illumination/brick4/gpu/BRICK4_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/brick4/gpu/BRICK4_RESOURCE.js +8 -0
- 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 +5 -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 +7 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_load_probe.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_load_probe.js +4 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_node_by_position.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_node_by_position.js +4 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_node_sample_probes.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_node_sample_probes.js +3 -0
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_probe_meta_pick2.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_probe_meta_pick2.js +4 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_sample_forward_indirect.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_sample_forward_indirect.js +3 -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/clipmap/shader_debug_clipmap.d.ts +15 -0
- package/src/shade/renderer/global_illumination/clipmap/shader_debug_clipmap.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/clipmap/shader_debug_clipmap.js +57 -57
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js +5 -0
- package/src/shade/renderer/global_illumination/lpv/deprecated/chunk_lpv_get_visibility_mask.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/deprecated/chunk_lpv_get_visibility_mask.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 +7 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/LPV_SHADER_RESOURCE_GROUP.d.ts +39 -0
- package/src/shade/renderer/global_illumination/probe/octahedral/LPV_SHADER_RESOURCE_GROUP.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/LPV_SHADER_RESOURCE_GROUP.js +57 -4
- package/src/shade/renderer/global_illumination/probe/octahedral/graph_lpv_shade.js +3 -3
- 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/probe/octahedral/sample/chunk_lpv_radiance_sample_reflection.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/sample/chunk_lpv_radiance_sample_reflection.js +3 -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/BVH_REFIT_DEFERRED_DEFINITION.d.ts +10 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_REFIT_DEFERRED_DEFINITION.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_REFIT_DEFERRED_DEFINITION.js +25 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_REFIT_DEFERRED_LAYOUT.d.ts +55 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_REFIT_DEFERRED_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_REFIT_DEFERRED_LAYOUT.js +63 -0
- package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +248 -2
- 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/chunk_bvh_refit_climb.d.ts +23 -11
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.js +171 -102
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_repair.d.ts +23 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_repair.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_repair.js +80 -0
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts +25 -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 +189 -23
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_refit_lbvh.d.ts +55 -0
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_refit_lbvh.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_refit_lbvh.js +197 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_build_single_workgroup.d.ts +27 -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 +222 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts +5 -4
- 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 +20 -19
- 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/bvh/shader_bvh_refit.d.ts +6 -6
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js +11 -8
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit_prepare.d.ts +24 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit_prepare.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit_prepare.js +99 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit_repair.d.ts +17 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit_repair.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit_repair.js +63 -0
- package/src/shade/renderer/gpu_primitive/chunk_collection_u32_append.d.ts +19 -0
- package/src/shade/renderer/gpu_primitive/chunk_collection_u32_append.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/chunk_collection_u32_append.js +44 -0
- 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/LIGHT_DATA_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/light/LIGHT_DATA_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/light/LIGHT_DATA_RESOURCE.js +8 -0
- package/src/shade/renderer/light/cluster/CLUSTER_LIGHT_LIST.d.ts +7 -0
- package/src/shade/renderer/light/cluster/CLUSTER_LIGHT_LIST.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/CLUSTER_LIGHT_LIST.js +16 -0
- package/src/shade/renderer/light/cluster/CLUSTER_LIGHT_PROXY.d.ts +12 -0
- package/src/shade/renderer/light/cluster/CLUSTER_LIGHT_PROXY.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/CLUSTER_LIGHT_PROXY.js +33 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_ASSIGNMENT_SETTINGS.d.ts +7 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_ASSIGNMENT_SETTINGS.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_ASSIGNMENT_SETTINGS.js +24 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_COARSE_BLOCK.d.ts +8 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_COARSE_BLOCK.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_COARSE_BLOCK.js +7 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_METADATA.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_METADATA.js +2 -3
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_RESOURCES.d.ts +17 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_RESOURCES.js +22 -0
- package/src/shade/renderer/light/cluster/PROPOSAL_ALGORITHM_2026_10_16.md +524 -0
- package/src/shade/renderer/light/cluster/PROPOSAL_HIERARCHICAL_2026_10_16.md +1101 -0
- package/src/shade/renderer/light/cluster/chunk_cluster_cell.d.ts +19 -0
- package/src/shade/renderer/light/cluster/chunk_cluster_cell.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/chunk_cluster_cell.js +133 -0
- package/src/shade/renderer/light/cluster/chunk_cluster_from_fragment_coord.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/chunk_cluster_from_fragment_coord.js +6 -1
- package/src/shade/renderer/light/cluster/chunk_cluster_light_proxy.d.ts +19 -0
- package/src/shade/renderer/light/cluster/chunk_cluster_light_proxy.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/chunk_cluster_light_proxy.js +95 -0
- package/src/shade/renderer/light/cluster/chunk_light_cluster_counts.d.ts +6 -4
- package/src/shade/renderer/light/cluster/chunk_light_cluster_counts.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/chunk_light_cluster_counts.js +10 -8
- package/src/shade/renderer/light/cluster/chunk_light_cluster_metadata_by_position.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/chunk_light_cluster_metadata_by_position.js +4 -1
- package/src/shade/renderer/light/cluster/cull/graph_cull_lights.d.ts +16 -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 +33 -1
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/graph_assign_clsuters.js +184 -73
- package/src/shade/renderer/light/cluster/graph_build_light_clusters.d.ts +10 -1
- 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 +19 -2
- package/src/shade/renderer/light/cluster/shader_cluster_assign_lights.d.ts +14 -2
- package/src/shade/renderer/light/cluster/shader_cluster_assign_lights.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/shader_cluster_assign_lights.js +230 -139
- package/src/shade/renderer/light/cluster/shader_cluster_coarse_mark.d.ts +19 -0
- package/src/shade/renderer/light/cluster/shader_cluster_coarse_mark.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/shader_cluster_coarse_mark.js +134 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_compact.d.ts +11 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_compact.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_compact.js +114 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_mark.d.ts +9 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_mark.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_mark.js +59 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_prepare.d.ts +14 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_prepare.d.ts.map +1 -0
- package/src/shade/renderer/light/cluster/shader_cluster_light_prepare.js +142 -0
- package/src/shade/renderer/light/environment/ENVIRONMENT_MAP_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/light/environment/ENVIRONMENT_MAP_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/light/environment/ENVIRONMENT_MAP_RESOURCE.js +7 -0
- package/src/shade/renderer/light/environment/ENVIRONMENT_SH_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/light/environment/ENVIRONMENT_SH_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/light/environment/ENVIRONMENT_SH_RESOURCE.js +8 -0
- 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/light/environment/sh_exponential/README.md +2 -1
- package/src/shade/renderer/lightmap/GPULightMap.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/GPULightMap.js +5 -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 +7 -1
- 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 +7 -1
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_density.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_density.js +4 -0
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_uv_checker.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_uv_checker.js +4 -0
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_view_flat.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_view_flat.js +4 -0
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_view_sh.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/debug/shader_lightmap_debug_view_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/material/standard/SHADING_MATERIAL_RESOURCE_GROUP.d.ts +22 -0
- package/src/shade/renderer/material/standard/SHADING_MATERIAL_RESOURCE_GROUP.d.ts.map +1 -1
- package/src/shade/renderer/material/standard/SHADING_MATERIAL_RESOURCE_GROUP.js +33 -9
- package/src/shade/renderer/particles/DESIGN.md +65 -9
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +3 -0
- 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/ParticleNodeRegistry.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.js +21 -9
- 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/graph/particle_node_parameters.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_node_parameters.js +1 -0
- package/src/shade/renderer/particles/graph/particle_node_presentation.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_node_presentation.js +8 -0
- package/src/shade/renderer/particles/graph_particles.d.ts +4 -1
- package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles.js +13 -0
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts +13 -0
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/InstructionStream.js +13 -0
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts +1 -0
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleVMISA.js +8 -0
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts +2 -1
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.js +28 -6
- package/src/shade/renderer/particles/optimizer/particle_program_fuzz.js +1 -1
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.js +7 -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/particles/shaders/shader_particle_avboit_draw.js +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit.js +5 -2
- package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.js +5 -2
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +5 -2
- package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.js +5 -2
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts +16 -1
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/ParticleVMReference.js +35 -2
- package/src/shade/renderer/particles/vm/chunk_particle_vm.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/chunk_particle_vm.js +8 -0
- package/src/shade/renderer/particles/vm/chunk_particle_vm_wind_field.d.ts +20 -0
- package/src/shade/renderer/particles/vm/chunk_particle_vm_wind_field.d.ts.map +1 -0
- package/src/shade/renderer/particles/vm/chunk_particle_vm_wind_field.js +25 -0
- package/src/shade/renderer/particles/warmup/graph_particle_warmup.d.ts +4 -1
- package/src/shade/renderer/particles/warmup/graph_particle_warmup.d.ts.map +1 -1
- package/src/shade/renderer/particles/warmup/graph_particle_warmup.js +8 -0
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.d.ts.map +1 -1
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.js +109 -106
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.d.ts.map +1 -1
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.js +71 -68
- package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.d.ts.map +1 -1
- package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.js +5 -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 +8 -2
- 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 +11 -1
- package/src/shade/renderer/path_tracer/shader/chunk_render_trace_path.js +4 -4
- package/src/shade/renderer/path_tracer/shader/chunk_sample_material_data.js +3 -3
- 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/SSR.d.ts +11 -8
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/SSR.js +49 -52
- 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/chunk_ssr_add_hit_irradiance.d.ts +28 -0
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.js +79 -0
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.d.ts +30 -0
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.js +66 -0
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.d.ts +11 -0
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/resolve/{build_ssr_resolve_shader.js → ssr_resolve_shader.js} +98 -87
- 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/GPUCollectionLimits.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +4 -0
- package/src/shade/renderer/rasterize/expand/RasterizationCollectionType.d.ts +1 -0
- package/src/shade/renderer/rasterize/expand/RasterizationCollectionType.js +5 -0
- 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_sample_indirect.d.ts +25 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.js +33 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_brick4.d.ts +10 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_brick4.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_brick4.js +38 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_environment.d.ts +9 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_environment.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_environment.js +30 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.d.ts +10 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/forward/{chunk_forward_shade_standard_fragment_brick4.js → chunk_forward_shade_standard_fragment.js} +66 -33
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +3 -3
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +3 -3
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.d.ts +9 -4
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.js +11 -5
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +8 -6
- 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 +27 -45
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw.d.ts +18 -0
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/{shader_avboit_draw_brick4.js → shader_avboit_draw.js} +26 -21
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.js +3 -3
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.d.ts +3 -2
- 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 +26 -47
- package/src/shade/renderer/rasterize/native/oit/oit_resolve_fragment_body.d.ts +12 -8
- package/src/shade/renderer/rasterize/native/oit/oit_resolve_fragment_body.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/oit_resolve_fragment_body.js +128 -123
- package/src/shade/renderer/rasterize/native/oit/shader_oit_generate_moments.js +3 -3
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments.d.ts +11 -2
- 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 +21 -13
- 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/RESTIR_RADIANCE_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/restir/di/RESTIR_RADIANCE_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/restir/di/RESTIR_RADIANCE_RESOURCE.js +7 -0
- 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 +19 -1
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +40 -1
- package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.js +5 -0
- package/src/shade/renderer/scene/SCENE_DATABASE_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/scene/SCENE_DATABASE_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/scene/SCENE_DATABASE_RESOURCE.js +8 -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/scene/rows/GPUSceneRows.d.ts +14 -0
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.js +114 -10
- package/src/shade/renderer/shader/ComputeShader.d.ts +33 -0
- package/src/shade/renderer/shader/ComputeShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ComputeShader.js +107 -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 +27 -0
- package/src/shade/renderer/shader/ShaderDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/ShaderDescriptor.js +149 -1
- package/src/shade/renderer/shader/chunk/brdf/FRESNEL_BRIEF_2026_10_16.md +394 -0
- package/src/shade/renderer/shader/chunk/brdf/chunk_BRDF_GGX.d.ts +4 -1
- package/src/shade/renderer/shader/chunk/brdf/chunk_BRDF_GGX.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/brdf/chunk_BRDF_GGX.js +7 -4
- package/src/shade/renderer/shader/chunk/brdf/dfg/chunk_integrate_brdf.d.ts +4 -1
- package/src/shade/renderer/shader/chunk/brdf/dfg/chunk_integrate_brdf.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/brdf/dfg/chunk_integrate_brdf.js +9 -9
- package/src/shade/renderer/shader/chunk/brdf/fresnel/chunk_F_Schlick.d.ts +10 -1
- package/src/shade/renderer/shader/chunk/brdf/fresnel/chunk_F_Schlick.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/brdf/fresnel/chunk_F_Schlick.js +16 -5
- package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_cooperative.d.ts +82 -0
- package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_cooperative.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_cooperative.js +286 -0
- package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_frontier.d.ts +47 -0
- package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_frontier.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/bvh/chunk_bvh_query_aabb_frontier.js +121 -0
- 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/clipmap/CLIPMAP_LEVEL_STRUCT.d.ts +22 -0
- package/src/shade/renderer/shader/chunk/clipmap/CLIPMAP_LEVEL_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/clipmap/CLIPMAP_LEVEL_STRUCT.js +38 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_contains.d.ts +11 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_contains.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_contains.js +20 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_select_finest.d.ts +19 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_select_finest.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_select_finest.js +71 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_storage_coord.d.ts +15 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_storage_coord.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/clipmap/chunk_clipmap_storage_coord.js +25 -0
- package/src/shade/renderer/shader/chunk/color/conversion/chunk_CRM_FROM_REC709_TO_P3.d.ts +17 -0
- package/src/shade/renderer/shader/chunk/color/conversion/chunk_CRM_FROM_REC709_TO_P3.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/conversion/chunk_CRM_FROM_REC709_TO_P3.js +26 -0
- 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 +16 -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 +122 -110
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_aabb3.d.ts +14 -0
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_aabb3.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_aabb3.js +24 -0
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_signed_distance_to_point.d.ts +3 -0
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_signed_distance_to_point.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_signed_distance_to_point.js +9 -10
- package/src/shade/renderer/shader/chunk/geometry/chunk_point_closest_on_line.d.ts +11 -0
- package/src/shade/renderer/shader/chunk/geometry/chunk_point_closest_on_line.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/chunk_point_closest_on_line.js +28 -0
- package/src/shade/renderer/shader/chunk/geometry/chunk_point_distance_to_line.d.ts +3 -2
- package/src/shade/renderer/shader/chunk/geometry/chunk_point_distance_to_line.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/chunk_point_distance_to_line.js +8 -17
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_attribute_u32.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_attribute_u32.js +3 -0
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_attribute_vec2f.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_attribute_vec2f.js +4 -1
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_attribute_vec3f.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_attribute_vec3f.js +4 -1
- package/src/shade/renderer/shader/chunk/geometry/plane/chunk_point_distance_above_plane.d.ts +8 -0
- package/src/shade/renderer/shader/chunk/geometry/plane/chunk_point_distance_above_plane.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/plane/chunk_point_distance_above_plane.js +8 -0
- 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/geometry/vec3/chunk_v3_angle_stable.d.ts +14 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_angle_stable.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_angle_stable.js +21 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_clamp_to_cone.d.ts +21 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_clamp_to_cone.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_clamp_to_cone.js +49 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_slerp.d.ts +29 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_slerp.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/vec3/chunk_v3_slerp.js +86 -0
- package/src/shade/renderer/shader/chunk/grid/GRID_TILE_WINDOW_STRUCT.d.ts +24 -0
- package/src/shade/renderer/shader/chunk/grid/GRID_TILE_WINDOW_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/grid/GRID_TILE_WINDOW_STRUCT.js +30 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_halo_f32.d.ts +55 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_halo_f32.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_halo_f32.js +101 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_halo_vec4.d.ts +24 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_halo_vec4.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_halo_vec4.js +70 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_window.d.ts +42 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_window.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_grid_tile_window.js +88 -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/light/lpv/chunk_lpv_mesh_get_vertices.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_mesh_get_vertices.js +4 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_mesh_lookup_nearest_cell.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_mesh_lookup_nearest_cell.js +4 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_probe_get_data.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_probe_get_data.js +4 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_probe_get_position.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_probe_get_position.js +4 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_sample_radiance.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/chunk_lpv_sample_radiance.js +4 -1
- package/src/shade/renderer/shader/chunk/light/lpv/depth/chunk_lpv_mask_weights_by_visibility.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/depth/chunk_lpv_mask_weights_by_visibility.js +6 -1
- package/src/shade/renderer/shader/chunk/light/lpv/depth/chunk_lpv_sample_depth_atlas.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/depth/chunk_lpv_sample_depth_atlas.js +13 -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 +159 -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 +29 -5
- package/src/shade/renderer/shader/chunk/material/chunk_re_direct_multiscatter.d.ts +24 -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 +84 -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/math/chunk_falloff_quadratic.d.ts +11 -0
- package/src/shade/renderer/shader/chunk/math/chunk_falloff_quadratic.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/math/chunk_falloff_quadratic.js +20 -0
- package/src/shade/renderer/shader/chunk/noise/chunk_stbn_sample_vec2.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/noise/chunk_stbn_sample_vec2.js +4 -1
- package/src/shade/renderer/shader/chunk/noise/chunk_stbn_sample_vec3.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/noise/chunk_stbn_sample_vec3.js +3 -0
- package/src/shade/renderer/shader/chunk/physics/fluid/chunk_vortex_swirl.d.ts +20 -0
- package/src/shade/renderer/shader/chunk/physics/fluid/chunk_vortex_swirl.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/physics/fluid/chunk_vortex_swirl.js +39 -0
- package/src/shade/renderer/shader/chunk/physics/kinematics/chunk_rigid_velocity_at_point.d.ts +12 -0
- package/src/shade/renderer/shader/chunk/physics/kinematics/chunk_rigid_velocity_at_point.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/physics/kinematics/chunk_rigid_velocity_at_point.js +21 -0
- package/src/shade/renderer/shader/chunk/screen_space/SCREEN_SPACE_RESOURCES.d.ts +17 -0
- package/src/shade/renderer/shader/chunk/screen_space/SCREEN_SPACE_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/screen_space/SCREEN_SPACE_RESOURCES.js +19 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_load_depth.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_load_depth.js +5 -1
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_load_world_space_normal.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_load_world_space_normal.js +4 -1
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_screen_space_to_view_space.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_screen_space_to_view_space.js +4 -1
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_validate_hit.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_validate_hit.js +3 -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/chunk/sdf/chunk_scene_sdf_raymarch.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/sdf/chunk_scene_sdf_raymarch.js +3 -5
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_box.d.ts +16 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_box.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_box.js +28 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_capsule.d.ts +18 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_capsule.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_capsule.js +30 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_cylinder.d.ts +18 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_cylinder.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_cylinder.js +28 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_sphere.d.ts +13 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_sphere.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf3_sphere.js +20 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf_texture_region_sample_linear_uv.d.ts +7 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf_texture_region_sample_linear_uv.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/sdf/chunk_sdf_texture_region_sample_linear_uv.js +16 -41
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_kind.d.ts +10 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_kind.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_kind.js +24 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_local_bounds.d.ts +20 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_local_bounds.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_local_bounds.js +54 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_signed_distance.d.ts +23 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_signed_distance.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_shape_record_signed_distance.js +82 -0
- package/src/shade/renderer/shader/chunk/spherical_harmonics/exponential/chunk_sh_exp_split_sum.d.ts +4 -3
- package/src/shade/renderer/shader/chunk/spherical_harmonics/exponential/chunk_sh_exp_split_sum.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/spherical_harmonics/exponential/chunk_sh_exp_split_sum.js +4 -3
- package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_append_slot.d.ts +31 -0
- package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_append_slot.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_append_slot.js +60 -0
- package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_add.d.ts +15 -0
- package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_add.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_add.js +29 -0
- package/src/shade/renderer/shader/chunk/texture/TEXTURE3D_TRILINEAR_CORNERS_STRUCT.d.ts +15 -0
- package/src/shade/renderer/shader/chunk/texture/TEXTURE3D_TRILINEAR_CORNERS_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/texture/TEXTURE3D_TRILINEAR_CORNERS_STRUCT.js +20 -0
- package/src/shade/renderer/shader/chunk/texture/chunk_texel_coordinate_to_uv3.d.ts +11 -0
- package/src/shade/renderer/shader/chunk/texture/chunk_texel_coordinate_to_uv3.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/texture/chunk_texel_coordinate_to_uv3.js +18 -0
- package/src/shade/renderer/shader/chunk/texture/chunk_uv3_to_texel_coordinate.d.ts +11 -0
- package/src/shade/renderer/shader/chunk/texture/chunk_uv3_to_texel_coordinate.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/texture/chunk_uv3_to_texel_coordinate.js +18 -0
- package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture3d_trilinear_corners.d.ts +35 -0
- package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture3d_trilinear_corners.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture3d_trilinear_corners.js +159 -0
- package/src/shade/renderer/shader/compiler/CodeChunk.d.ts +67 -1
- package/src/shade/renderer/shader/compiler/CodeChunk.d.ts.map +1 -1
- package/src/shade/renderer/shader/compiler/CodeChunk.js +205 -2
- package/src/shade/renderer/shader/compiler/CodeChunkChoice.d.ts +76 -0
- package/src/shade/renderer/shader/compiler/CodeChunkChoice.d.ts.map +1 -0
- package/src/shade/renderer/shader/compiler/CodeChunkChoice.js +176 -0
- package/src/shade/renderer/shader/compiler/SHADER_SWITCH_PROPOSAL_2026_10_16.md +932 -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 +229 -0
- package/src/shade/renderer/shader/graph/graph_prepare_bindings.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/graph_prepare_bindings.js +69 -0
- package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts +94 -2
- package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.js +333 -2
- package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.d.ts +14 -1
- package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.js +28 -150
- package/src/shade/renderer/shader/resource/encoder_prepare_shader_bindings_defaults.d.ts +5 -0
- package/src/shade/renderer/shader/resource/encoder_prepare_shader_bindings_defaults.d.ts.map +1 -1
- package/src/shade/renderer/shader/resource/encoder_prepare_shader_bindings_defaults.js +11 -1
- 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/SHADOWMAP_RESOURCES.d.ts +12 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_RESOURCES.js +14 -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_sample_shadowmap_atlas_for_light.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_sample_shadowmap_atlas_for_light.js +3 -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/map/shader/chunk_shadowmap_sample_filtered.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_filtered.js +8 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_point2.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_point2.js +3 -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/shader_screens_space_shadows.d.ts.map +1 -1
- package/src/shade/renderer/shadow/ray/shader_screens_space_shadows.js +3 -0
- 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/sdf/chunk_geometry_sdf_query_distance.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/chunk_geometry_sdf_query_distance.js +3 -3
- package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.js +3 -3
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts +5 -3
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/VSMPageManager.js +86 -89
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.js +12 -9
- 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/shadow/vsm/shader/chunk_vsm_append_mover.d.ts +2 -2
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.js +13 -26
- 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/SAMPLER_LINEAR_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/texture/SAMPLER_LINEAR_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/texture/SAMPLER_LINEAR_RESOURCE.js +8 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts +238 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts.map +1 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.js +747 -0
- package/src/shade/renderer/texture/atlas/chunk_tile_atlas_slot_origin.d.ts +20 -0
- package/src/shade/renderer/texture/atlas/chunk_tile_atlas_slot_origin.d.ts.map +1 -0
- package/src/shade/renderer/texture/atlas/chunk_tile_atlas_slot_origin.js +30 -0
- package/src/shade/renderer/texture/draw_texture_as_rgba.d.ts +2 -0
- package/src/shade/renderer/texture/draw_texture_as_rgba.d.ts.map +1 -1
- package/src/shade/renderer/texture/draw_texture_as_rgba.js +2 -0
- package/src/shade/renderer/texture/graph_draw_texture_3d_slice_as_rgba.d.ts +31 -0
- package/src/shade/renderer/texture/graph_draw_texture_3d_slice_as_rgba.d.ts.map +1 -0
- package/src/shade/renderer/texture/graph_draw_texture_3d_slice_as_rgba.js +116 -0
- package/src/shade/renderer/texture/shader_draw_texture_3d_slice_as_rgba.d.ts +33 -0
- package/src/shade/renderer/texture/shader_draw_texture_3d_slice_as_rgba.d.ts.map +1 -0
- package/src/shade/renderer/texture/shader_draw_texture_3d_slice_as_rgba.js +90 -0
- package/src/shade/renderer/texture/util/ZERO_UINT_PIXEL_TEXTURE.d.ts +10 -0
- package/src/shade/renderer/texture/util/ZERO_UINT_PIXEL_TEXTURE.d.ts.map +1 -0
- package/src/shade/renderer/texture/util/ZERO_UINT_PIXEL_TEXTURE.js +33 -0
- package/src/shade/renderer/view/VIEW_RESOURCE.d.ts +7 -0
- package/src/shade/renderer/view/VIEW_RESOURCE.d.ts.map +1 -0
- package/src/shade/renderer/view/VIEW_RESOURCE.js +8 -0
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts +33 -6
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +299 -16
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +11 -4
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +14 -4
- package/src/shade/renderer/volumetrics/NOTES.md +97 -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 +42 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +74 -10
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.js +136 -10
- package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts +30 -5
- package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/SceneVolumetrics.js +97 -68
- package/src/shade/renderer/volumetrics/VOLUMETRICS_RESOURCES.d.ts +17 -0
- package/src/shade/renderer/volumetrics/VOLUMETRICS_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/VOLUMETRICS_RESOURCES.js +20 -0
- package/src/shade/renderer/volumetrics/VOLUMETRIC_NOISE_PLAN_2026_10_15.md +336 -0
- package/src/shade/renderer/volumetrics/chunk_integrate_optical_depth.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/chunk_integrate_optical_depth.js +82 -76
- package/src/shade/renderer/volumetrics/chunk_participating_media_volume_sample.d.ts +8 -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 +22 -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 +56 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_local_light_shadow.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/chunk_volumetrics_local_light_shadow.js +3 -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/chunk_volumetrics_sun_optical_depth.d.ts +7 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_optical_depth.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_optical_depth.js +152 -130
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_froxel_centre_ws.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_froxel_centre_ws.js +5 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts +7 -9
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.js +11 -9
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi_sample.d.ts +35 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi_sample.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi_sample.js +105 -0
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts +15 -9
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.js +26 -36
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi.d.ts +10 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi.js +51 -0
- package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.d.ts +11 -0
- package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.js +19 -6
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts +11 -4
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.js +14 -5
- 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 +43 -10
- package/src/shade/renderer/volumetrics/noise/PARTICIPATING_MEDIA_NOISE.d.ts +133 -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 +152 -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 +28 -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 +96 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise.d.ts +67 -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 +73 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_carried.d.ts +14 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_carried.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_carried.js +76 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_scrolled.d.ts +14 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_scrolled.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_scrolled.js +38 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_tap.d.ts +21 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_tap.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/noise/chunk_participating_media_noise_tap.js +74 -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_irradiance.d.ts +6 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.js +11 -2
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.d.ts +7 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.js +14 -4
- 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 +54 -5
- 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 +33 -49
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts +3 -2
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts.map +1 -1
- package/src/shade/renderer/water/GPUWaterRenderer.js +27 -30
- package/src/shade/renderer/water/chunk_water_gi.d.ts +10 -2
- package/src/shade/renderer/water/chunk_water_gi.d.ts.map +1 -1
- package/src/shade/renderer/water/chunk_water_gi.js +70 -56
- 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/optics/chunk_water_inscatter.d.ts +2 -2
- package/src/shade/renderer/water/optics/chunk_water_inscatter.d.ts.map +1 -1
- package/src/shade/renderer/water/optics/chunk_water_inscatter.js +5 -2
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.d.ts +1 -2
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.d.ts.map +1 -1
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.js +4 -2
- package/src/shade/renderer/water/shader_water.d.ts +9 -10
- package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water.js +88 -55
- 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/renderer/water/surface/GPUWaterSurface.d.ts +4 -1
- package/src/shade/renderer/water/surface/GPUWaterSurface.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/GPUWaterSurface.js +9 -3
- package/src/shade/renderer/water/surface/WATER_SURFACE_RESOURCES.d.ts +15 -0
- package/src/shade/renderer/water/surface/WATER_SURFACE_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/WATER_SURFACE_RESOURCES.js +27 -0
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts +2 -1
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.js +18 -9
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts +0 -3
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.js +15 -3
- package/src/shade/renderer/water/surface/particles/shader_water_particles.js +2 -2
- package/src/shade/renderer/water/surface/shader_water_cull.d.ts +9 -3
- package/src/shade/renderer/water/surface/shader_water_cull.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/shader_water_cull.js +46 -22
- package/src/shade/renderer/water/surface/shader_water_waves_derive.d.ts +26 -1
- package/src/shade/renderer/water/surface/shader_water_waves_derive.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/shader_water_waves_derive.js +73 -9
- package/src/shade/renderer/wind/GPUSceneWind.d.ts +127 -0
- package/src/shade/renderer/wind/GPUSceneWind.d.ts.map +1 -0
- package/src/shade/renderer/wind/GPUSceneWind.js +410 -0
- package/src/shade/renderer/wind/WIND_FIELD.d.ts +53 -0
- package/src/shade/renderer/wind/WIND_FIELD.d.ts.map +1 -0
- package/src/shade/renderer/wind/WIND_FIELD.js +60 -0
- package/src/shade/renderer/wind/WIND_FIELD_STRUCT.d.ts +36 -0
- package/src/shade/renderer/wind/WIND_FIELD_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/wind/WIND_FIELD_STRUCT.js +61 -0
- package/src/shade/renderer/wind/WIND_FIELD_UNIFORM.d.ts +17 -0
- package/src/shade/renderer/wind/WIND_FIELD_UNIFORM.d.ts.map +1 -0
- package/src/shade/renderer/wind/WIND_FIELD_UNIFORM.js +17 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample.d.ts +20 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample.d.ts.map +1 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample.js +26 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample_cascades.d.ts +40 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample_cascades.d.ts.map +1 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample_cascades.js +92 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample_uniform.d.ts +12 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample_uniform.d.ts.map +1 -0
- package/src/shade/renderer/wind/chunk_wind_field_sample_uniform.js +22 -0
- package/src/shade/renderer/wind/wind_field_add_resources.d.ts +15 -0
- package/src/shade/renderer/wind/wind_field_add_resources.d.ts.map +1 -0
- package/src/shade/renderer/wind/wind_field_add_resources.js +22 -0
- package/src/shade/wgsl/emulator/CPUBitmapData.d.ts +5 -2
- package/src/shade/wgsl/emulator/CPUBitmapData.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/CPUBitmapData.js +5 -2
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts +5 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +118 -31
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +90 -22
- 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/engine/physics/cloth/wind/ClothAmbientWind.d.ts +0 -87
- package/src/engine/physics/cloth/wind/ClothAmbientWind.d.ts.map +0 -1
- package/src/engine/physics/cloth/wind/ClothAmbientWind.js +0 -185
- package/src/shade/renderer/geometry/sdf/chunk_sdf_slot_index_to_texture_offset.d.ts +0 -7
- package/src/shade/renderer/geometry/sdf/chunk_sdf_slot_index_to_texture_offset.d.ts.map +0 -1
- package/src/shade/renderer/geometry/sdf/chunk_sdf_slot_index_to_texture_offset.js +0 -25
- package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts +0 -43
- package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts.map +0 -1
- package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.js +0 -207
- package/src/shade/renderer/global_illumination/clipmap/RadianceField.d.ts +0 -21
- package/src/shade/renderer/global_illumination/clipmap/RadianceField.d.ts.map +0 -1
- package/src/shade/renderer/global_illumination/clipmap/RadianceField.js +0 -40
- package/src/shade/renderer/global_illumination/clipmap/chunk_clip_cascade_wrap_coord.d.ts +0 -13
- package/src/shade/renderer/global_illumination/clipmap/chunk_clip_cascade_wrap_coord.d.ts.map +0 -1
- package/src/shade/renderer/global_illumination/clipmap/chunk_clip_cascade_wrap_coord.js +0 -47
- package/src/shade/renderer/global_illumination/clipmap/shader_update_clipmap_cascade.d.ts +0 -7
- package/src/shade/renderer/global_illumination/clipmap/shader_update_clipmap_cascade.d.ts.map +0 -1
- package/src/shade/renderer/global_illumination/clipmap/shader_update_clipmap_cascade.js +0 -115
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_LOCAL_LIGHT_LIMIT.d.ts +0 -7
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_LOCAL_LIGHT_LIMIT.d.ts.map +0 -1
- package/src/shade/renderer/light/cluster/LIGHT_CLUSTER_LOCAL_LIGHT_LIMIT.js +0 -6
- package/src/shade/renderer/light/cluster/chunk_cluster_keep_smallest.d.ts +0 -21
- package/src/shade/renderer/light/cluster/chunk_cluster_keep_smallest.d.ts.map +0 -1
- package/src/shade/renderer/light/cluster/chunk_cluster_keep_smallest.js +0 -47
- package/src/shade/renderer/postprocess/ssr/resolve/build_ssr_resolve_shader.d.ts +0 -21
- package/src/shade/renderer/postprocess/ssr/resolve/build_ssr_resolve_shader.d.ts.map +0 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_Brick4.d.ts +0 -2
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_Brick4.d.ts.map +0 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_Brick4.js +0 -24
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_IBL.d.ts +0 -2
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_IBL.d.ts.map +0 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_IBL.js +0 -21
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_LPV.d.ts +0 -2
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_LPV.d.ts.map +0 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_LPV.js +0 -34
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_brick4.d.ts +0 -3
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_brick4.d.ts.map +0 -1
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_ibl.d.ts +0 -7
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_ibl.d.ts.map +0 -1
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment_ibl.js +0 -178
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_brick4.d.ts +0 -9
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_brick4.d.ts.map +0 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_ibl.d.ts +0 -9
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_ibl.d.ts.map +0 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw_ibl.js +0 -110
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments_ibl.d.ts +0 -9
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments_ibl.d.ts.map +0 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments_ibl.js +0 -110
- package/src/shade/renderer/shader/chunk/brdf/fresnel/chunk_F_Hauber.d.ts +0 -9
- package/src/shade/renderer/shader/chunk/brdf/fresnel/chunk_F_Hauber.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/brdf/fresnel/chunk_F_Hauber.js +0 -22
- 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
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_brick4.d.ts +0 -10
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_brick4.d.ts.map +0 -1
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_brick4.js +0 -55
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_ibl.d.ts +0 -10
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_ibl.d.ts.map +0 -1
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_ibl.js +0 -47
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_lpv.d.ts +0 -10
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_lpv.d.ts.map +0 -1
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_lpv.js +0 -63
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { CAMERA_UNIFORM_STRUCT } from "../../renderer/camera/CAMERA_UNIFORM_STRUCT.js";
|
|
2
|
+
import { chunk_get_view_space_depth } from "../../renderer/shader/chunk/depth/chunk_get_view_space_depth.js";
|
|
3
|
+
import { CodeChunk } from "../../renderer/shader/compiler/CodeChunk.js";
|
|
4
|
+
import { ComputeShader } from "../../renderer/shader/ComputeShader.js";
|
|
5
|
+
import { ShaderResourceSetDescriptor } from "../../renderer/shader/resource/ShaderResourceSetDescriptor.js";
|
|
6
|
+
import { atomic_u32, u32 } from "../../renderer/shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
7
|
+
import { WebGPUArray } from "../../renderer/shader/type/WebGPUArray.js";
|
|
8
|
+
import { WebGPUStruct } from "../../renderer/shader/type/WebGPUStruct.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* What each counter of the stats buffer counts, over one frame's pixels, before TAA. "Shadowed" means
|
|
12
|
+
* a visibility under ½; the reference is the ray-traced sun visibility of the pixel's own G-buffer
|
|
13
|
+
* position.
|
|
14
|
+
*
|
|
15
|
+
* @enum {number}
|
|
16
|
+
*/
|
|
17
|
+
export const ContactStat = {
|
|
18
|
+
/** the reference shadows it: the pixels any shadow term ought to darken */
|
|
19
|
+
ReferenceShadowed: 0,
|
|
20
|
+
/** the reference shadows it, the shadow map leaves it lit: the gaps contact shadows exist for */
|
|
21
|
+
ShadowMapMissed: 1,
|
|
22
|
+
/** of those, the ones the combined term shadows */
|
|
23
|
+
Fixed: 2,
|
|
24
|
+
/** the reference shadows it, the combined term leaves it lit */
|
|
25
|
+
Missed: 3,
|
|
26
|
+
/** the reference lights it, the shadow map shadows it */
|
|
27
|
+
ShadowMapFalse: 4,
|
|
28
|
+
/** the reference lights it, the combined term shadows it */
|
|
29
|
+
False: 5,
|
|
30
|
+
/** the reference and the shadow map light it, the combined term shadows it: what the contact term added */
|
|
31
|
+
AddedFalse: 6,
|
|
32
|
+
/** the combined term crossed ½ since the last frame where the reference did not */
|
|
33
|
+
SpuriousFlips: 7,
|
|
34
|
+
/** the shadow map's term crossed ½ since the last frame where the reference did not */
|
|
35
|
+
ShadowMapSpuriousFlips: 8,
|
|
36
|
+
/** the reference crossed ½ since the last frame */
|
|
37
|
+
ReferenceFlips: 9,
|
|
38
|
+
/** pixels counted */
|
|
39
|
+
Pixels: 10,
|
|
40
|
+
/** the contact term alone shadows it */
|
|
41
|
+
ContactShadowed: 11,
|
|
42
|
+
/** Σ |combined − reference| × 255 */
|
|
43
|
+
CombinedError: 12,
|
|
44
|
+
/** Σ |shadow map − reference| × 255 */
|
|
45
|
+
ShadowMapError: 13,
|
|
46
|
+
/** the combined term is darker than both terms by more than 0.1: double darkening */
|
|
47
|
+
DarkerThanBoth: 14,
|
|
48
|
+
/** Σ |combined − last frame's| × 255 over pixels whose reference did not cross ½: flicker */
|
|
49
|
+
CombinedChange: 15,
|
|
50
|
+
/** Σ |shadow map − last frame's| × 255 over the same pixels */
|
|
51
|
+
ShadowMapChange: 16,
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Counters before the depth bands.
|
|
56
|
+
* @type {number}
|
|
57
|
+
*/
|
|
58
|
+
export const CONTACT_STAT_BAND_BASE = 20;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Depth bands the band counters split by, in metres of view depth: [0, 2), [2, 4), [4, 8), … doubling,
|
|
62
|
+
* the last open-ended.
|
|
63
|
+
* @type {number}
|
|
64
|
+
*/
|
|
65
|
+
export const CONTACT_STAT_BAND_COUNT = 8;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Per band, at CONTACT_STAT_BAND_BASE + band × 4: reference shadowed, shadow map missed, fixed,
|
|
69
|
+
* added false.
|
|
70
|
+
* @type {number}
|
|
71
|
+
*/
|
|
72
|
+
export const CONTACT_STAT_BAND_STRIDE = 4;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @type {number}
|
|
76
|
+
*/
|
|
77
|
+
export const CONTACT_STAT_COUNT = CONTACT_STAT_BAND_BASE + CONTACT_STAT_BAND_COUNT * CONTACT_STAT_BAND_STRIDE;
|
|
78
|
+
|
|
79
|
+
const SETTINGS = WebGPUStruct.from({
|
|
80
|
+
has_previous: u32,
|
|
81
|
+
}, "ContactStatsSettings");
|
|
82
|
+
|
|
83
|
+
const resources = new ShaderResourceSetDescriptor();
|
|
84
|
+
|
|
85
|
+
resources.setImmediate("settings", SETTINGS);
|
|
86
|
+
|
|
87
|
+
resources.createGroup()
|
|
88
|
+
.addTexture("tVisibility")
|
|
89
|
+
.addTexture("tVisibilityPrevious")
|
|
90
|
+
.addTexture("gBufferDepth")
|
|
91
|
+
.addUniform("camera", CAMERA_UNIFORM_STRUCT)
|
|
92
|
+
.addStorageBuffer("stats", WebGPUArray.from(atomic_u32, CONTACT_STAT_COUNT), true);
|
|
93
|
+
|
|
94
|
+
const body = CodeChunk.from(
|
|
95
|
+
//language=WGSL
|
|
96
|
+
`
|
|
97
|
+
const STAT_COUNT = ${CONTACT_STAT_COUNT}u;
|
|
98
|
+
const BAND_BASE = ${CONTACT_STAT_BAND_BASE}u;
|
|
99
|
+
const BAND_COUNT = ${CONTACT_STAT_BAND_COUNT}u;
|
|
100
|
+
const BAND_STRIDE = ${CONTACT_STAT_BAND_STRIDE}u;
|
|
101
|
+
|
|
102
|
+
var<workgroup> local_stats: array<atomic<u32>, ${CONTACT_STAT_COUNT}>;
|
|
103
|
+
|
|
104
|
+
fn shadowed(visibility: f32) -> bool {
|
|
105
|
+
return visibility < 0.5;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@compute @workgroup_size(8, 8, 1)
|
|
109
|
+
fn main(
|
|
110
|
+
@builtin(global_invocation_id) id: vec3<u32>,
|
|
111
|
+
@builtin(local_invocation_index) lane: u32,
|
|
112
|
+
) {
|
|
113
|
+
let size = textureDimensions(tVisibility);
|
|
114
|
+
|
|
115
|
+
if (all(id.xy < size)) {
|
|
116
|
+
let v = textureLoad(tVisibility, id.xy, 0);
|
|
117
|
+
|
|
118
|
+
let shadow_map = v.x;
|
|
119
|
+
let contact = v.y;
|
|
120
|
+
let combined = v.z;
|
|
121
|
+
let reference = v.w;
|
|
122
|
+
|
|
123
|
+
atomicAdd(&local_stats[${ContactStat.Pixels}], 1u);
|
|
124
|
+
|
|
125
|
+
let depth = textureLoad(gBufferDepth, id.xy, 0).r;
|
|
126
|
+
let metres = select(1.0, get_view_space_depth(depth, camera), depth > 0.0);
|
|
127
|
+
let band = u32(clamp(floor(log2(max(metres, 1.0))), 0.0, f32(BAND_COUNT - 1u)));
|
|
128
|
+
let band_base = BAND_BASE + band * BAND_STRIDE;
|
|
129
|
+
|
|
130
|
+
if (shadowed(reference)) {
|
|
131
|
+
atomicAdd(&local_stats[${ContactStat.ReferenceShadowed}], 1u);
|
|
132
|
+
atomicAdd(&local_stats[band_base], 1u);
|
|
133
|
+
|
|
134
|
+
if (!shadowed(shadow_map)) {
|
|
135
|
+
atomicAdd(&local_stats[${ContactStat.ShadowMapMissed}], 1u);
|
|
136
|
+
atomicAdd(&local_stats[band_base + 1u], 1u);
|
|
137
|
+
|
|
138
|
+
if (shadowed(combined)) {
|
|
139
|
+
atomicAdd(&local_stats[${ContactStat.Fixed}], 1u);
|
|
140
|
+
atomicAdd(&local_stats[band_base + 2u], 1u);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (!shadowed(combined)) {
|
|
145
|
+
atomicAdd(&local_stats[${ContactStat.Missed}], 1u);
|
|
146
|
+
}
|
|
147
|
+
} else {
|
|
148
|
+
if (shadowed(shadow_map)) {
|
|
149
|
+
atomicAdd(&local_stats[${ContactStat.ShadowMapFalse}], 1u);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (shadowed(combined)) {
|
|
153
|
+
atomicAdd(&local_stats[${ContactStat.False}], 1u);
|
|
154
|
+
|
|
155
|
+
if (!shadowed(shadow_map)) {
|
|
156
|
+
atomicAdd(&local_stats[${ContactStat.AddedFalse}], 1u);
|
|
157
|
+
atomicAdd(&local_stats[band_base + 3u], 1u);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (shadowed(contact)) {
|
|
163
|
+
atomicAdd(&local_stats[${ContactStat.ContactShadowed}], 1u);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (combined < min(shadow_map, contact) - 0.1) {
|
|
167
|
+
atomicAdd(&local_stats[${ContactStat.DarkerThanBoth}], 1u);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
atomicAdd(&local_stats[${ContactStat.CombinedError}], u32(round(abs(combined - reference) * 255.0)));
|
|
171
|
+
atomicAdd(&local_stats[${ContactStat.ShadowMapError}], u32(round(abs(shadow_map - reference) * 255.0)));
|
|
172
|
+
|
|
173
|
+
if (settings.has_previous != 0u) {
|
|
174
|
+
let p = textureLoad(tVisibilityPrevious, id.xy, 0);
|
|
175
|
+
|
|
176
|
+
if (shadowed(reference) != shadowed(p.w)) {
|
|
177
|
+
atomicAdd(&local_stats[${ContactStat.ReferenceFlips}], 1u);
|
|
178
|
+
} else {
|
|
179
|
+
atomicAdd(&local_stats[${ContactStat.CombinedChange}], u32(round(abs(combined - p.z) * 255.0)));
|
|
180
|
+
atomicAdd(&local_stats[${ContactStat.ShadowMapChange}], u32(round(abs(shadow_map - p.x) * 255.0)));
|
|
181
|
+
|
|
182
|
+
if (shadowed(combined) != shadowed(p.z)) {
|
|
183
|
+
atomicAdd(&local_stats[${ContactStat.SpuriousFlips}], 1u);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (shadowed(shadow_map) != shadowed(p.x)) {
|
|
187
|
+
atomicAdd(&local_stats[${ContactStat.ShadowMapSpuriousFlips}], 1u);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
workgroupBarrier();
|
|
194
|
+
|
|
195
|
+
// 64 lanes, STAT_COUNT counters: at most one pass round
|
|
196
|
+
for (var i = lane; i < STAT_COUNT; i += 64u) {
|
|
197
|
+
let value = atomicLoad(&local_stats[i]);
|
|
198
|
+
|
|
199
|
+
if (value != 0u) {
|
|
200
|
+
atomicAdd(&stats[i], value);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
`, [SETTINGS.declaration_chunk, chunk_get_view_space_depth]);
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* The playground's counters: one frame's pixels classified against the ray-traced reference, overall
|
|
208
|
+
* and by depth band, and against the previous frame's record for flips the reference does not share.
|
|
209
|
+
*
|
|
210
|
+
* @type {ComputeShader}
|
|
211
|
+
*/
|
|
212
|
+
export const shader_contact_lab_stats = ComputeShader.from({
|
|
213
|
+
label: "Contact lab / stats",
|
|
214
|
+
resources,
|
|
215
|
+
body,
|
|
216
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the screen shows.
|
|
3
|
+
*/
|
|
4
|
+
export type ContactLabView = number;
|
|
5
|
+
export namespace ContactLabView {
|
|
6
|
+
let Final: number;
|
|
7
|
+
let Combined: number;
|
|
8
|
+
let Contact: number;
|
|
9
|
+
let ShadowMap: number;
|
|
10
|
+
let Reference: number;
|
|
11
|
+
let Error: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Draws the chosen {@link ContactLabView} over the frame before it is tonemapped.
|
|
15
|
+
*
|
|
16
|
+
* @type {ImageShader}
|
|
17
|
+
*/
|
|
18
|
+
export const shader_contact_lab_view: ImageShader;
|
|
19
|
+
import { ImageShader } from "../../renderer/shader/ImageShader.js";
|
|
20
|
+
//# sourceMappingURL=shader_contact_lab_view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shader_contact_lab_view.d.ts","sourceRoot":"","sources":["../../../../../src/shade/playground/contact_shadows/shader_contact_lab_view.js"],"names":[],"mappings":";;;6BAUU,MAAM;;;;;;;;;AAsFhB;;;;GAIG;AACH,sCAFU,WAAW,CAclB;4BA/GyB,sCAAsC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { CodeChunk } from "../../renderer/shader/compiler/CodeChunk.js";
|
|
2
|
+
import { chunk_rgb_to_luminance } from "../../renderer/shader/chunk/color/chunk_rgb_to_luminance.js";
|
|
3
|
+
import { ImageShader } from "../../renderer/shader/ImageShader.js";
|
|
4
|
+
import { ShaderResourceSetDescriptor } from "../../renderer/shader/resource/ShaderResourceSetDescriptor.js";
|
|
5
|
+
import { ShaderDescriptor } from "../../renderer/shader/ShaderDescriptor.js";
|
|
6
|
+
import { u32 } from "../../renderer/shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
7
|
+
import { WebGPUStruct } from "../../renderer/shader/type/WebGPUStruct.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* What the screen shows.
|
|
11
|
+
* @enum {number}
|
|
12
|
+
*/
|
|
13
|
+
export const ContactLabView = {
|
|
14
|
+
/** the lit frame, with the contact term in the sun's shadow */
|
|
15
|
+
Final: 0,
|
|
16
|
+
/** the sun's visibility as the frame used it: shadow map and contact combined */
|
|
17
|
+
Combined: 1,
|
|
18
|
+
/** the contact term alone */
|
|
19
|
+
Contact: 2,
|
|
20
|
+
/** the shadow map's term alone */
|
|
21
|
+
ShadowMap: 3,
|
|
22
|
+
/** the ray-traced sun visibility */
|
|
23
|
+
Reference: 4,
|
|
24
|
+
/**
|
|
25
|
+
* Each pixel against the reference: green, a gap the contact term closed; blue, shadowed in the
|
|
26
|
+
* reference and lit in the frame; red, a false shadow the contact term added; amber, a false shadow
|
|
27
|
+
* the shadow map already had.
|
|
28
|
+
*/
|
|
29
|
+
Error: 5,
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const SETTINGS = WebGPUStruct.from({
|
|
33
|
+
mode: u32,
|
|
34
|
+
}, "ContactLabViewSettings");
|
|
35
|
+
|
|
36
|
+
const resources = new ShaderResourceSetDescriptor();
|
|
37
|
+
|
|
38
|
+
resources.setImmediate("settings", SETTINGS);
|
|
39
|
+
|
|
40
|
+
resources.createGroup()
|
|
41
|
+
.addTexture("tScene")
|
|
42
|
+
.addTexture("tVisibility");
|
|
43
|
+
|
|
44
|
+
const body = CodeChunk.from(
|
|
45
|
+
//language=WGSL
|
|
46
|
+
`
|
|
47
|
+
@fragment
|
|
48
|
+
fn main(
|
|
49
|
+
@builtin(position) coord: vec4<f32>,
|
|
50
|
+
@location(0) uv: vec2<f32>,
|
|
51
|
+
) -> @location(0) vec4<f32> {
|
|
52
|
+
let scene = textureLoad(tScene, vec2<u32>(coord.xy), 0);
|
|
53
|
+
|
|
54
|
+
// the record is at the internal resolution, which the upscale may have left behind
|
|
55
|
+
let record_size = vec2<f32>(textureDimensions(tVisibility));
|
|
56
|
+
let record_xy = min(vec2<u32>(uv * record_size), vec2<u32>(record_size) - 1u);
|
|
57
|
+
|
|
58
|
+
let v = textureLoad(tVisibility, record_xy, 0);
|
|
59
|
+
|
|
60
|
+
switch (settings.mode) {
|
|
61
|
+
case ${ContactLabView.Combined}u: { return vec4<f32>(vec3<f32>(v.z), 1.0); }
|
|
62
|
+
case ${ContactLabView.Contact}u: { return vec4<f32>(vec3<f32>(v.y), 1.0); }
|
|
63
|
+
case ${ContactLabView.ShadowMap}u: { return vec4<f32>(vec3<f32>(v.x), 1.0); }
|
|
64
|
+
case ${ContactLabView.Reference}u: { return vec4<f32>(vec3<f32>(v.w), 1.0); }
|
|
65
|
+
case ${ContactLabView.Error}u: {
|
|
66
|
+
let base = vec3<f32>(rgb_to_luminance(scene.rgb) * 0.35);
|
|
67
|
+
|
|
68
|
+
let reference_shadowed = v.w < 0.5;
|
|
69
|
+
let map_shadowed = v.x < 0.5;
|
|
70
|
+
let combined_shadowed = v.z < 0.5;
|
|
71
|
+
|
|
72
|
+
if (reference_shadowed && !combined_shadowed) {
|
|
73
|
+
return vec4<f32>(0.1, 0.35, 1.0, 1.0);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (reference_shadowed && combined_shadowed && !map_shadowed) {
|
|
77
|
+
return vec4<f32>(0.1, 0.9, 0.2, 1.0);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (!reference_shadowed && combined_shadowed) {
|
|
81
|
+
if (map_shadowed) {
|
|
82
|
+
return vec4<f32>(1.0, 0.6, 0.05, 1.0);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return vec4<f32>(1.0, 0.08, 0.08, 1.0);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return vec4<f32>(base, 1.0);
|
|
89
|
+
}
|
|
90
|
+
default: {
|
|
91
|
+
return scene;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
`, [SETTINGS.declaration_chunk, chunk_rgb_to_luminance]);
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Draws the chosen {@link ContactLabView} over the frame before it is tonemapped.
|
|
99
|
+
*
|
|
100
|
+
* @type {ImageShader}
|
|
101
|
+
*/
|
|
102
|
+
export const shader_contact_lab_view = new ImageShader({
|
|
103
|
+
descriptor: ShaderDescriptor.from({
|
|
104
|
+
label: "Contact lab / view",
|
|
105
|
+
resources,
|
|
106
|
+
body,
|
|
107
|
+
}),
|
|
108
|
+
targets: [
|
|
109
|
+
{
|
|
110
|
+
label: "contact lab view",
|
|
111
|
+
format: "rgba16float",
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A/B arm: the engine's unwired per-pixel march, `ss_trace_pixel_occlusion` from
|
|
3
|
+
* `deferred/chunk_ss_trace_contact_shadow_soft.js`, as it stands — one DDA step per pixel along the
|
|
4
|
+
* longer screen axis, a view-space thickness test, and hit confidence from the hit's normal. Given the
|
|
5
|
+
* wavefront pass's sample budget and thickness window, so what differs between the two is the method.
|
|
6
|
+
*
|
|
7
|
+
* @type {ComputeShader}
|
|
8
|
+
*/
|
|
9
|
+
export const shader_contact_shadow_march: ComputeShader;
|
|
10
|
+
import { ComputeShader } from "../../renderer/shader/ComputeShader.js";
|
|
11
|
+
//# sourceMappingURL=shader_contact_shadow_march.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shader_contact_shadow_march.d.ts","sourceRoot":"","sources":["../../../../../src/shade/playground/contact_shadows/shader_contact_shadow_march.js"],"names":[],"mappings":"AA6EA;;;;;;;GAOG;AACH,0CAFU,aAAa,CAMpB;8BAjF2B,wCAAwC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { CAMERA_UNIFORM_STRUCT } from "../../renderer/camera/CAMERA_UNIFORM_STRUCT.js";
|
|
2
|
+
import { chunk_ss_trace_pixel_occlusion } from "../../renderer/deferred/chunk_ss_trace_contact_shadow_soft.js";
|
|
3
|
+
import { chunk_project_position_from_depth } from "../../renderer/shader/chunk/camera/chunk_project_position_from_depth.js";
|
|
4
|
+
import { chunk_get_view_space_depth } from "../../renderer/shader/chunk/depth/chunk_get_view_space_depth.js";
|
|
5
|
+
import { chunk_is_background } from "../../renderer/shader/chunk/depth/chunk_is_background.js";
|
|
6
|
+
import { chunk_decode_g_buffer_normal } from "../../renderer/shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.js";
|
|
7
|
+
import { chunk_texel_coordinate_to_uv } from "../../renderer/shader/chunk/texture/chunk_texel_coordinate_to_uv.js";
|
|
8
|
+
import { CodeChunk } from "../../renderer/shader/compiler/CodeChunk.js";
|
|
9
|
+
import { ComputeShader } from "../../renderer/shader/ComputeShader.js";
|
|
10
|
+
import { ShaderResourceSetDescriptor } from "../../renderer/shader/resource/ShaderResourceSetDescriptor.js";
|
|
11
|
+
import { f32, u32, vec3f } from "../../renderer/shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
12
|
+
import { WebGPUStruct } from "../../renderer/shader/type/WebGPUStruct.js";
|
|
13
|
+
|
|
14
|
+
const SETTINGS = WebGPUStruct.from({
|
|
15
|
+
to_light: vec3f,
|
|
16
|
+
surface_thickness: f32,
|
|
17
|
+
step_count: u32,
|
|
18
|
+
}, "ContactMarchSettings");
|
|
19
|
+
|
|
20
|
+
const resources = new ShaderResourceSetDescriptor();
|
|
21
|
+
|
|
22
|
+
resources.setImmediate("settings", SETTINGS);
|
|
23
|
+
|
|
24
|
+
resources.createGroup()
|
|
25
|
+
.addTexture("gBufferDepth")
|
|
26
|
+
.addTexture("gBufferNormal", "uint")
|
|
27
|
+
.addUniform("camera", CAMERA_UNIFORM_STRUCT)
|
|
28
|
+
.addStorageTexture("tContactShadow", "r32float", "2d", "write-only");
|
|
29
|
+
|
|
30
|
+
const body = CodeChunk.from(
|
|
31
|
+
//language=WGSL
|
|
32
|
+
`
|
|
33
|
+
@compute @workgroup_size(8, 8, 1)
|
|
34
|
+
fn main(@builtin(global_invocation_id) id: vec3<u32>) {
|
|
35
|
+
let size = textureDimensions(gBufferDepth);
|
|
36
|
+
|
|
37
|
+
if (any(id.xy >= size)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
let depth = textureLoad(gBufferDepth, id.xy, 0).r;
|
|
42
|
+
|
|
43
|
+
if (is_background(depth)) {
|
|
44
|
+
textureStore(tContactShadow, id.xy, vec4<f32>(1.0));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
let uv = texel_coordinate_to_uv(vec2<f32>(id.xy), size);
|
|
49
|
+
let position_ws = project_position_from_depth(uv, depth, camera.view_projection_matrix_inverse);
|
|
50
|
+
let geometric_normal = decode_g_buffer_normal(textureLoad(gBufferNormal, id.xy, 0).zw);
|
|
51
|
+
|
|
52
|
+
// the same window as the wavefront pass: an occluder may sit up to 2 × thickness × its distance in front
|
|
53
|
+
let thickness = 2.0 * settings.surface_thickness * get_view_space_depth(depth, camera);
|
|
54
|
+
|
|
55
|
+
let visibility = ss_trace_pixel_occlusion(
|
|
56
|
+
position_ws,
|
|
57
|
+
settings.to_light,
|
|
58
|
+
geometric_normal,
|
|
59
|
+
camera.view_projection_matrix,
|
|
60
|
+
gBufferDepth,
|
|
61
|
+
settings.step_count,
|
|
62
|
+
thickness,
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
textureStore(tContactShadow, id.xy, vec4<f32>(visibility));
|
|
66
|
+
}
|
|
67
|
+
`, [
|
|
68
|
+
SETTINGS.declaration_chunk,
|
|
69
|
+
chunk_is_background,
|
|
70
|
+
chunk_texel_coordinate_to_uv,
|
|
71
|
+
chunk_project_position_from_depth,
|
|
72
|
+
chunk_get_view_space_depth,
|
|
73
|
+
chunk_decode_g_buffer_normal,
|
|
74
|
+
chunk_ss_trace_pixel_occlusion,
|
|
75
|
+
]
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* A/B arm: the engine's unwired per-pixel march, `ss_trace_pixel_occlusion` from
|
|
80
|
+
* `deferred/chunk_ss_trace_contact_shadow_soft.js`, as it stands — one DDA step per pixel along the
|
|
81
|
+
* longer screen axis, a view-space thickness test, and hit confidence from the hit's normal. Given the
|
|
82
|
+
* wavefront pass's sample budget and thickness window, so what differs between the two is the method.
|
|
83
|
+
*
|
|
84
|
+
* @type {ComputeShader}
|
|
85
|
+
*/
|
|
86
|
+
export const shader_contact_shadow_march = ComputeShader.from({
|
|
87
|
+
label: "Contact lab / per-pixel march",
|
|
88
|
+
resources,
|
|
89
|
+
body,
|
|
90
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leaves for alpha-tested cards: green ellipses fanned about a stem, opaque inside and wholly
|
|
3
|
+
* transparent between, so the alpha test cuts real holes.
|
|
4
|
+
*
|
|
5
|
+
* @returns {ShadeTexture}
|
|
6
|
+
*/
|
|
7
|
+
export function make_leaf_texture(): ShadeTexture;
|
|
8
|
+
/**
|
|
9
|
+
* A tangent-space normal map of round bumps, 16 to a side: detail a normal map shades and a depth
|
|
10
|
+
* buffer never sees.
|
|
11
|
+
*
|
|
12
|
+
* @returns {ShadeTexture}
|
|
13
|
+
*/
|
|
14
|
+
export function make_bump_normal_texture(): ShadeTexture;
|
|
15
|
+
import { ShadeTexture } from "../../renderer/texture/ShadeTexture.js";
|
|
16
|
+
//# sourceMappingURL=textures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textures.d.ts","sourceRoot":"","sources":["../../../../../src/shade/playground/contact_shadows/textures.js"],"names":[],"mappings":"AAgCA;;;;;GAKG;AACH,qCAFa,YAAY,CA6CxB;AAED;;;;;GAKG;AACH,4CAFa,YAAY,CAmCxB;6BAxH4B,wCAAwC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Sampler2D } from "../../../engine/graphics/texture/sampler/Sampler2D.js";
|
|
2
|
+
import { ColorSpace } from "../../renderer/texture/ColorSpace.js";
|
|
3
|
+
import { ShadeTexture } from "../../renderer/texture/ShadeTexture.js";
|
|
4
|
+
import { ShadeImage } from "../../renderer/texture/source/ShadeImage.js";
|
|
5
|
+
import { TextureFilterType } from "../../renderer/texture/TextureFilterType.js";
|
|
6
|
+
import { TextureWrapType } from "../../renderer/texture/TextureWrapType.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @param {Uint8Array} rgba
|
|
10
|
+
* @param {number} size
|
|
11
|
+
* @param {string} label
|
|
12
|
+
* @param {boolean} srgb
|
|
13
|
+
*/
|
|
14
|
+
function texture_from_rgba(rgba, size, label, srgb) {
|
|
15
|
+
const image = ShadeImage.fromSampler2D(new Sampler2D(rgba, 4, size, size));
|
|
16
|
+
|
|
17
|
+
if (srgb) {
|
|
18
|
+
image.color_space = ColorSpace.SRGB;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const texture = ShadeTexture.from(image);
|
|
22
|
+
|
|
23
|
+
texture.label = label;
|
|
24
|
+
texture.wrapS = TextureWrapType.Repeat;
|
|
25
|
+
texture.wrapT = TextureWrapType.Repeat;
|
|
26
|
+
texture.minFilter = TextureFilterType.Linear;
|
|
27
|
+
texture.magFilter = TextureFilterType.Linear;
|
|
28
|
+
texture.mipmapFilter = TextureFilterType.Linear;
|
|
29
|
+
|
|
30
|
+
return texture;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Leaves for alpha-tested cards: green ellipses fanned about a stem, opaque inside and wholly
|
|
35
|
+
* transparent between, so the alpha test cuts real holes.
|
|
36
|
+
*
|
|
37
|
+
* @returns {ShadeTexture}
|
|
38
|
+
*/
|
|
39
|
+
export function make_leaf_texture() {
|
|
40
|
+
const size = 256;
|
|
41
|
+
const rgba = new Uint8Array(size * size * 4);
|
|
42
|
+
|
|
43
|
+
// leaf centres in [0, 1]², with their angles
|
|
44
|
+
const leaves = [];
|
|
45
|
+
|
|
46
|
+
for (let i = 0; i < 9; i++) {
|
|
47
|
+
const t = (i + 0.5) / 9;
|
|
48
|
+
const side = i % 2 === 0 ? -1 : 1;
|
|
49
|
+
|
|
50
|
+
leaves.push([0.5 + side * 0.17, 0.08 + t * 0.84, side * 0.7]);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
for (let y = 0; y < size; y++) {
|
|
54
|
+
for (let x = 0; x < size; x++) {
|
|
55
|
+
const u = (x + 0.5) / size;
|
|
56
|
+
const v = (y + 0.5) / size;
|
|
57
|
+
|
|
58
|
+
let inside = Math.abs(u - 0.5) < 0.012 && v > 0.04;
|
|
59
|
+
|
|
60
|
+
for (const [cu, cv, angle] of leaves) {
|
|
61
|
+
const du = u - cu;
|
|
62
|
+
const dv = v - cv;
|
|
63
|
+
const a = du * Math.cos(angle) + dv * Math.sin(angle);
|
|
64
|
+
const b = -du * Math.sin(angle) + dv * Math.cos(angle);
|
|
65
|
+
|
|
66
|
+
if ((a / 0.17) ** 2 + (b / 0.065) ** 2 < 1) {
|
|
67
|
+
inside = true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const i = (y * size + x) * 4;
|
|
72
|
+
const shade = 0.8 + 0.2 * Math.sin(u * 40) * Math.sin(v * 31);
|
|
73
|
+
|
|
74
|
+
rgba[i] = Math.round(255 * shade);
|
|
75
|
+
rgba[i + 1] = Math.round(255 * shade);
|
|
76
|
+
rgba[i + 2] = Math.round(255 * shade);
|
|
77
|
+
rgba[i + 3] = inside ? 255 : 0;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return texture_from_rgba(rgba, size, 'contact lab / leaves', true);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* A tangent-space normal map of round bumps, 16 to a side: detail a normal map shades and a depth
|
|
86
|
+
* buffer never sees.
|
|
87
|
+
*
|
|
88
|
+
* @returns {ShadeTexture}
|
|
89
|
+
*/
|
|
90
|
+
export function make_bump_normal_texture() {
|
|
91
|
+
const size = 512;
|
|
92
|
+
const cells = 16;
|
|
93
|
+
const rgba = new Uint8Array(size * size * 4);
|
|
94
|
+
|
|
95
|
+
// a dome per cell, of this slope at its edge
|
|
96
|
+
const steepness = 2.2;
|
|
97
|
+
|
|
98
|
+
for (let y = 0; y < size; y++) {
|
|
99
|
+
for (let x = 0; x < size; x++) {
|
|
100
|
+
const cx = ((x + 0.5) / size * cells) % 1 - 0.5;
|
|
101
|
+
const cy = ((y + 0.5) / size * cells) % 1 - 0.5;
|
|
102
|
+
const r = Math.hypot(cx, cy);
|
|
103
|
+
|
|
104
|
+
let nx = 0;
|
|
105
|
+
let ny = 0;
|
|
106
|
+
|
|
107
|
+
if (r < 0.45) {
|
|
108
|
+
nx = -cx / 0.45 * steepness;
|
|
109
|
+
ny = -cy / 0.45 * steepness;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const length = Math.hypot(nx, ny, 1);
|
|
113
|
+
const i = (y * size + x) * 4;
|
|
114
|
+
|
|
115
|
+
rgba[i] = Math.round((nx / length * 0.5 + 0.5) * 255);
|
|
116
|
+
rgba[i + 1] = Math.round((ny / length * 0.5 + 0.5) * 255);
|
|
117
|
+
rgba[i + 2] = Math.round((1 / length * 0.5 + 0.5) * 255);
|
|
118
|
+
rgba[i + 3] = 255;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return texture_from_rgba(rgba, size, 'contact lab / bumps', false);
|
|
123
|
+
}
|
|
@@ -43,7 +43,7 @@ reported no adapter at all since 2026-09-02.
|
|
|
43
43
|
| flame | `ParticleEffect` | additive billboards, short-lived, stirred by noise and pinched inward so the column narrows |
|
|
44
44
|
| smoke | `ParticleEffect` | alpha, soft-depth, expanding, firelit at the base and moonlit above it |
|
|
45
45
|
| embers | `ParticleEffect` | small additive motes, buoyant then falling, flickering on their own clock |
|
|
46
|
-
| soot | `ParticleEffect` | dark
|
|
46
|
+
| soot | `ParticleEffect` | dark flakes that ride the plume and fall back through the firelight, tumbling in the world: a `FACING_WORLD` quad turned by its own `orientation`, born at a `sampleRotation` and advanced by `quatIntegrate` |
|
|
47
47
|
| ground, logs, stones | `ShadedGeometry` | something for the fire to light, and for the smoke to fade against |
|
|
48
48
|
| moon | `Light` (directional) | the cool half of the lighting, aimed at the moon in the environment map |
|
|
49
49
|
| firelight | `Light` (point) | the warm half, flickered every frame by writing the component |
|
|
@@ -127,6 +127,26 @@ Two things to know before editing one:
|
|
|
127
127
|
same accumulators. Switch the renderer to MBOIT and the particles vanish while everything else
|
|
128
128
|
stays: MBOIT is the legacy path and has no particle channel.
|
|
129
129
|
|
|
130
|
+
### The wind
|
|
131
|
+
|
|
132
|
+
The fire burns in a gusty breeze: the **Wind**, **Gust** and **Heading** sliders (or `?wind=`,
|
|
133
|
+
`?gust=`, `?heading=` — m/s, m/s, degrees; `?wind=0&gust=0` is the still night). `bonfire_wind.js`
|
|
134
|
+
writes them onto the scene's published wind field every frame as its far field, through
|
|
135
|
+
`GPUSceneWind#set_far_velocity`, with the gust from `GlobalFluidEffector`'s model. There is no fluid
|
|
136
|
+
on this page: with no cascades every read of the field is that far field, exactly.
|
|
137
|
+
|
|
138
|
+
The effects read it with the node library's `wind` (`SAMPLE_WIND`), each the way it should:
|
|
139
|
+
|
|
140
|
+
- **the flame leans**: its position integrates the wind at half strength on top of its own velocity,
|
|
141
|
+
so the tongues bend over without being blown off the logs;
|
|
142
|
+
- **the embers and the soot are carried**: the wind at full strength, so they stream downwind and
|
|
143
|
+
scatter as the gust turns;
|
|
144
|
+
- **the smoke's plume bends over as it rises**: its drag, which relaxed it toward still air, relaxes
|
|
145
|
+
it toward the wind at the particle instead — slowly, so the column leaves the fire upright and
|
|
146
|
+
goes over further up.
|
|
147
|
+
|
|
148
|
+
`globalThis.weather` is the `BonfireWind`; `weather.far_velocity` is what was last written.
|
|
149
|
+
|
|
130
150
|
### Profiling
|
|
131
151
|
|
|
132
152
|
<kbd>T</kbd> starts a GPU capture, <kbd>T</kbd> again stops it and saves an `.sgpt`. The status line
|
|
@@ -108,6 +108,16 @@ export function bonfire_sprite_urls(textures?: object): {
|
|
|
108
108
|
* variants *for the whole system* — so an effect that grows past it slows down every effect in the
|
|
109
109
|
* scene rather than itself. `bonfire.spec.js` pins it.
|
|
110
110
|
*
|
|
111
|
+
* ## Wind
|
|
112
|
+
*
|
|
113
|
+
* All four read the scene's wind at the particle, through the library's `wind` node (`SAMPLE_WIND`).
|
|
114
|
+
* The flame, the embers and the soot are carried by it: their position integrates
|
|
115
|
+
* `velocity + gain · wind` while the velocity they store stays their own, with a gain of one for the
|
|
116
|
+
* embers and the soot and a half for the flame, whose tongues lean rather than blow away. The smoke
|
|
117
|
+
* already had a drag, and its target was still air; it is the wind now, so the plume bends over as
|
|
118
|
+
* it rises. In still air every one of them is the effect it was before. The page writes the wind —
|
|
119
|
+
* see `bonfire_wind.js`.
|
|
120
|
+
*
|
|
111
121
|
* The turbulence in all four is three decorrelated `simplex3` samples read as a vector, at a point
|
|
112
122
|
* that drifts with time so the field scrolls through the rising column. Deliberately not the
|
|
113
123
|
* library's `curl3`, which is twelve samples for a divergence-free field: over a metre of flame
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bonfire_effects.d.ts","sourceRoot":"","sources":["../../../../../src/shade/playground/particle_ecs/bonfire_effects.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bonfire_effects.d.ts","sourceRoot":"","sources":["../../../../../src/shade/playground/particle_ecs/bonfire_effects.js"],"names":[],"mappings":"AAmHA;;GAEG;AACH,yCAFa,6BAA6B,CAUzC;AAED;;;;;;;GAOG;AACH,8CALW,MAAM,SACN,MAAM,GAEJ,sBAAsB,CAIlC;AAED;;;;GAIG;AACH;QAFoB,MAAM,GAAE,sBAAsB;EAIjD;AAED;;;;;;;;;;;GAWG;AACH,mDALW,sBAAsB,YACtB,MAAM,GAAC,IAAI,GAET,cAAc,GAAC,IAAI,CAY/B;AAED;;;;;;;;;GASG;AACH;IANkC,KAAK,GAA5B,MAAM,GAAC,IAAI;IACY,KAAK,GAA5B,MAAM,GAAC,IAAI;IACY,KAAK,GAA5B,MAAM,GAAC,IAAI;IACY,IAAI,GAA3B,MAAM,GAAC,IAAI;IACT;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAC,CAcxG;AAED;;;;;;GAMG;AACH,+CAHW,MAAM;QACG,MAAM,GAAE,MAAM,GAAC,IAAI;EAStC;AAvMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH;;;;;;;GAOG;AACH;QAFiB,MAAM,GAAE,MAAM;EAO5B;AAEH;;;;;GAKG;AACH,mCAFU,MAAM,EAAE,CAEsE;8CApGjF,wEAAwE;uCAExC,+DAA+D;+BADvE,0DAA0D"}
|