@woosh/meep-engine 3.51.0 → 3.53.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/package.json +1 -1
- package/src/engine/ecs/animation/Animation.d.ts +4 -25
- package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
- package/src/engine/ecs/animation/Animation.js +9 -41
- package/src/engine/ecs/ik/IKGoalSystem.d.ts +4 -5
- package/src/engine/ecs/ik/IKGoalSystem.d.ts.map +1 -1
- package/src/engine/ecs/ik/IKGoalSystem.js +4 -6
- package/src/engine/graphics/ecs/mesh/assetTypeByPath.js +1 -1
- package/src/engine/graphics3/AnimationGraphSystem.d.ts +9 -22
- package/src/engine/graphics3/AnimationGraphSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationGraphSystem.js +58 -203
- package/src/engine/graphics3/AnimationSystem.d.ts +7 -18
- package/src/engine/graphics3/AnimationSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationSystem.js +62 -243
- package/src/engine/graphics3/FoliageWindSystem.d.ts +67 -0
- package/src/engine/graphics3/FoliageWindSystem.d.ts.map +1 -0
- package/src/engine/graphics3/FoliageWindSystem.js +257 -0
- package/src/engine/graphics3/GPUFluidSystem.d.ts +7 -0
- package/src/engine/graphics3/GPUFluidSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUFluidSystem.js +39 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +19 -5
- package/src/engine/graphics3/animation/AnimationClips.d.ts +107 -13
- package/src/engine/graphics3/animation/AnimationClips.d.ts.map +1 -1
- package/src/engine/graphics3/animation/AnimationClips.js +207 -10
- package/src/engine/graphics3/animation/AnimationClipsSink.d.ts +89 -0
- package/src/engine/graphics3/animation/AnimationClipsSink.d.ts.map +1 -0
- package/src/engine/graphics3/animation/AnimationClipsSink.js +205 -0
- package/src/engine/graphics3/animation/FoliageWindRigs.d.ts +43 -0
- package/src/engine/graphics3/animation/FoliageWindRigs.d.ts.map +1 -0
- package/src/engine/graphics3/animation/FoliageWindRigs.js +69 -0
- package/src/engine/graphics3/animation/write_clip_playback.d.ts +17 -11
- package/src/engine/graphics3/animation/write_clip_playback.d.ts.map +1 -1
- package/src/engine/graphics3/animation/write_clip_playback.js +36 -27
- package/src/engine/graphics3/decal/GPUDecalRenderer.d.ts.map +1 -1
- package/src/engine/graphics3/decal/GPUDecalRenderer.js +8 -6
- package/src/engine/graphics3/decal/shader_decal_composite.d.ts.map +1 -1
- package/src/engine/graphics3/decal/shader_decal_composite.js +11 -5
- package/src/engine/graphics3/pose/collect_entity_playbacks.d.ts +7 -7
- package/src/engine/graphics3/pose/collect_entity_playbacks.d.ts.map +1 -1
- package/src/engine/graphics3/pose/collect_entity_playbacks.js +14 -15
- package/src/engine/graphics3/prefab/Prefab.d.ts +6 -0
- package/src/engine/graphics3/prefab/Prefab.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/Prefab.js +169 -162
- package/src/engine/graphics3/prefab/prefab_compile.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/prefab_compile.js +369 -334
- package/src/engine/graphics3/prefab/prefab_instantiate.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/prefab_instantiate.js +43 -2
- package/src/engine/graphics3/terrain/chunk_terrain_material_surface.js +2 -2
- package/src/engine/physics/ecs/ContactProbeSystem.d.ts +2 -3
- package/src/engine/physics/ecs/ContactProbeSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/ContactProbeSystem.js +2 -4
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/sound/simulation/PROBE_PLACEMENT.md +4 -4
- package/src/engine/sound/simulation/README.md +1 -1
- package/src/engine/sound/simulation/probe/bakeProbeField.d.ts +22 -8
- package/src/engine/sound/simulation/probe/bakeProbeField.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/bakeProbeField.js +60 -15
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.js +19 -23
- package/src/engine/sound/simulation/probe/probe_sdf_grid.d.ts +63 -17
- package/src/engine/sound/simulation/probe/probe_sdf_grid.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/probe_sdf_grid.js +67 -17
- package/src/generation/foliage/FOLIAGE_DESIGN.md +318 -0
- package/src/generation/foliage/FOLIAGE_PLAN.md +198 -0
- package/src/generation/foliage/animation/build_tree_wind_rig.d.ts +20 -0
- package/src/generation/foliage/animation/build_tree_wind_rig.d.ts.map +1 -0
- package/src/generation/foliage/animation/build_tree_wind_rig.js +108 -0
- package/src/generation/foliage/asset/TreeAsset.d.ts +86 -0
- package/src/generation/foliage/asset/TreeAsset.d.ts.map +1 -0
- package/src/generation/foliage/asset/TreeAsset.js +111 -0
- package/src/generation/foliage/asset/TreeLODAsset.d.ts +115 -0
- package/src/generation/foliage/asset/TreeLODAsset.d.ts.map +1 -0
- package/src/generation/foliage/asset/TreeLODAsset.js +346 -0
- package/src/generation/foliage/asset/generate_tree.d.ts +15 -0
- package/src/generation/foliage/asset/generate_tree.d.ts.map +1 -0
- package/src/generation/foliage/asset/generate_tree.js +93 -0
- package/src/generation/foliage/asset/place_tree.d.ts +82 -0
- package/src/generation/foliage/asset/place_tree.d.ts.map +1 -0
- package/src/generation/foliage/asset/place_tree.js +194 -0
- package/src/generation/foliage/config/BarkMaterialConfig.d.ts +120 -0
- package/src/generation/foliage/config/BarkMaterialConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/BarkMaterialConfig.js +250 -0
- package/src/generation/foliage/config/BranchLevelConfig.d.ts +288 -0
- package/src/generation/foliage/config/BranchLevelConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/BranchLevelConfig.js +536 -0
- package/src/generation/foliage/config/CrownConfig.d.ts +100 -0
- package/src/generation/foliage/config/CrownConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/CrownConfig.js +186 -0
- package/src/generation/foliage/config/CrownEnvelopeType.d.ts +16 -0
- package/src/generation/foliage/config/CrownEnvelopeType.d.ts.map +1 -0
- package/src/generation/foliage/config/CrownEnvelopeType.js +17 -0
- package/src/generation/foliage/config/FoliageCardType.d.ts +12 -0
- package/src/generation/foliage/config/FoliageCardType.d.ts.map +1 -0
- package/src/generation/foliage/config/FoliageCardType.js +18 -0
- package/src/generation/foliage/config/FoliageConfig.d.ts +151 -0
- package/src/generation/foliage/config/FoliageConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/FoliageConfig.js +283 -0
- package/src/generation/foliage/config/FoliageMaterialConfig.d.ts +90 -0
- package/src/generation/foliage/config/FoliageMaterialConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/FoliageMaterialConfig.js +181 -0
- package/src/generation/foliage/config/PhyllotaxisMode.d.ts +13 -0
- package/src/generation/foliage/config/PhyllotaxisMode.d.ts.map +1 -0
- package/src/generation/foliage/config/PhyllotaxisMode.js +20 -0
- package/src/generation/foliage/config/TreeLODConfig.d.ts +87 -0
- package/src/generation/foliage/config/TreeLODConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/TreeLODConfig.js +211 -0
- package/src/generation/foliage/config/TreePreset.d.ts +16 -0
- package/src/generation/foliage/config/TreePreset.d.ts.map +1 -0
- package/src/generation/foliage/config/TreePreset.js +17 -0
- package/src/generation/foliage/config/TreeSpeciesConfig.d.ts +109 -0
- package/src/generation/foliage/config/TreeSpeciesConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/TreeSpeciesConfig.js +400 -0
- package/src/generation/foliage/config/TreeWindConfig.d.ts +84 -0
- package/src/generation/foliage/config/TreeWindConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/TreeWindConfig.js +157 -0
- package/src/generation/foliage/index.d.ts +38 -0
- package/src/generation/foliage/index.d.ts.map +1 -0
- package/src/generation/foliage/index.js +43 -0
- package/src/generation/foliage/material/make_bark_material.d.ts +37 -0
- package/src/generation/foliage/material/make_bark_material.d.ts.map +1 -0
- package/src/generation/foliage/material/make_bark_material.js +802 -0
- package/src/generation/foliage/material/make_foliage_material.d.ts +14 -0
- package/src/generation/foliage/material/make_foliage_material.d.ts.map +1 -0
- package/src/generation/foliage/material/make_foliage_material.js +359 -0
- package/src/generation/foliage/mesh/branch_collar_project.d.ts +42 -0
- package/src/generation/foliage/mesh/branch_collar_project.d.ts.map +1 -0
- package/src/generation/foliage/mesh/branch_collar_project.js +203 -0
- package/src/generation/foliage/mesh/branch_ring_triangulate.d.ts +35 -0
- package/src/generation/foliage/mesh/branch_ring_triangulate.d.ts.map +1 -0
- package/src/generation/foliage/mesh/branch_ring_triangulate.js +72 -0
- package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts +80 -0
- package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts.map +1 -0
- package/src/generation/foliage/mesh/foliage_collect_attachments.js +502 -0
- package/src/generation/foliage/mesh/tree_mesh_apply_canopy_ao.d.ts +19 -0
- package/src/generation/foliage/mesh/tree_mesh_apply_canopy_ao.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_mesh_apply_canopy_ao.js +150 -0
- package/src/generation/foliage/mesh/tree_mesh_build_bark.d.ts +55 -0
- package/src/generation/foliage/mesh/tree_mesh_build_bark.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_mesh_build_bark.js +1047 -0
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts +21 -0
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.js +415 -0
- package/src/generation/foliage/presets/make_tree_species_preset.d.ts +13 -0
- package/src/generation/foliage/presets/make_tree_species_preset.d.ts.map +1 -0
- package/src/generation/foliage/presets/make_tree_species_preset.js +837 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.d.ts +443 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.js +1100 -0
- package/src/generation/foliage/skeleton/crown_envelope_evaluate.d.ts +27 -0
- package/src/generation/foliage/skeleton/crown_envelope_evaluate.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/crown_envelope_evaluate.js +121 -0
- package/src/generation/foliage/skeleton/spine_frame_double_reflection.d.ts +32 -0
- package/src/generation/foliage/skeleton/spine_frame_double_reflection.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/spine_frame_double_reflection.js +87 -0
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts +33 -0
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.js +205 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.d.ts +14 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.js +179 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts +18 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow.js +1104 -0
- package/src/shade/playground/additive_blending/index.html +197 -0
- package/src/shade/playground/additive_blending/main.d.ts +2 -0
- package/src/shade/playground/additive_blending/main.d.ts.map +1 -0
- package/src/shade/playground/additive_blending/main.js +529 -0
- package/src/shade/playground/foliage_wind/README.md +18 -0
- package/src/shade/playground/foliage_wind/foliage_world.d.ts +127 -0
- package/src/shade/playground/foliage_wind/foliage_world.d.ts.map +1 -0
- package/src/shade/playground/foliage_wind/foliage_world.js +593 -0
- package/src/shade/playground/foliage_wind/index.html +254 -0
- package/src/shade/playground/foliage_wind/main.d.ts +2 -0
- package/src/shade/playground/foliage_wind/main.d.ts.map +1 -0
- package/src/shade/playground/foliage_wind/main.js +263 -0
- package/src/shade/playground/tonemap_sdr/README.md +5 -3
- package/src/shade/renderer/Renderer.d.ts +1 -1
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +88 -31
- package/src/shade/renderer/ShadeToneMappingMode.d.ts +3 -2
- package/src/shade/renderer/ShadeToneMappingMode.js +15 -4
- package/src/shade/renderer/animation/ADDITIVE_BLENDING_PLAN.md +145 -0
- package/src/shade/renderer/animation/ANIMATION_DATABASE_SPEC.d.ts +9 -1
- package/src/shade/renderer/animation/ANIMATION_DATABASE_SPEC.d.ts.map +1 -1
- package/src/shade/renderer/animation/ANIMATION_DATABASE_SPEC.js +53 -1
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_JOINT_STRUCT.d.ts +8 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_JOINT_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_JOINT_STRUCT.js +71 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_RIG_STRUCT.d.ts +11 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_RIG_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_RIG_STRUCT.js +32 -0
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +30 -3
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +532 -79
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.d.ts +19 -12
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.d.ts.map +1 -1
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.js +20 -13
- package/src/shade/renderer/animation/ShadeAnimationClip.d.ts +35 -8
- package/src/shade/renderer/animation/ShadeAnimationClip.d.ts.map +1 -1
- package/src/shade/renderer/animation/ShadeAnimationClip.js +433 -2
- package/src/shade/renderer/animation/chunk_pose_accumulator.d.ts.map +1 -1
- package/src/shade/renderer/animation/chunk_pose_accumulator.js +40 -32
- package/src/shade/renderer/animation/foliage/FoliageWindJoint.d.ts +97 -0
- package/src/shade/renderer/animation/foliage/FoliageWindJoint.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/FoliageWindJoint.js +161 -0
- package/src/shade/renderer/animation/foliage/FoliageWindRig.d.ts +65 -0
- package/src/shade/renderer/animation/foliage/FoliageWindRig.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/FoliageWindRig.js +89 -0
- package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.d.ts +19 -0
- package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.js +143 -0
- package/src/shade/renderer/animation/foliage/shader_foliage_wind_apply.d.ts +14 -0
- package/src/shade/renderer/animation/foliage/shader_foliage_wind_apply.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/shader_foliage_wind_apply.js +116 -0
- package/src/shade/renderer/animation/pose/pose_evaluate_local.d.ts.map +1 -1
- package/src/shade/renderer/animation/pose/pose_evaluate_local.js +39 -29
- package/src/shade/renderer/animation/shader_animation_pose_resolve.js +37 -37
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +2 -2
- package/src/shade/renderer/deferred/tonemap/TonemapAces2Tables.d.ts +38 -0
- package/src/shade/renderer/deferred/tonemap/TonemapAces2Tables.d.ts.map +1 -0
- package/src/shade/renderer/deferred/tonemap/TonemapAces2Tables.js +97 -0
- package/src/shade/renderer/deferred/{TonemapDisplaySettings.d.ts → tonemap/TonemapDisplaySettings.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/TonemapDisplaySettings.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{TonemapDisplaySettings.js → tonemap/TonemapDisplaySettings.js} +5 -5
- package/src/shade/renderer/deferred/{shader_tonemap_HDR.d.ts → tonemap/shader_tonemap_HDR.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR.js → tonemap/shader_tonemap_HDR.js} +9 -9
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_aces.d.ts +17 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_aces.d.ts.map +1 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_aces.js +101 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_none.d.ts → tonemap/shader_tonemap_HDR_none.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_none.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_none.js → tonemap/shader_tonemap_HDR_none.js} +6 -6
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_pbr_neutral.d.ts → tonemap/shader_tonemap_HDR_pbr_neutral.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_pbr_neutral.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_pbr_neutral.js → tonemap/shader_tonemap_HDR_pbr_neutral.js} +8 -8
- package/src/shade/renderer/deferred/{shader_tonemap_LDR.d.ts → tonemap/shader_tonemap_LDR.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR.js → tonemap/shader_tonemap_LDR.js} +10 -10
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_aces.d.ts +10 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_aces.d.ts.map +1 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_aces.js +77 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_none.d.ts → tonemap/shader_tonemap_LDR_none.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_none.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_none.js → tonemap/shader_tonemap_LDR_none.js} +7 -7
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_pbr_neutral.d.ts → tonemap/shader_tonemap_LDR_pbr_neutral.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_pbr_neutral.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_pbr_neutral.js → tonemap/shader_tonemap_LDR_pbr_neutral.js} +8 -8
- package/src/shade/renderer/extension/RenderExtension.d.ts +7 -0
- package/src/shade/renderer/extension/RenderExtension.d.ts.map +1 -1
- package/src/shade/renderer/extension/RenderExtension.js +9 -0
- package/src/shade/renderer/extension/RenderExtensionRegistry.d.ts +6 -0
- package/src/shade/renderer/extension/RenderExtensionRegistry.d.ts.map +1 -1
- package/src/shade/renderer/extension/RenderExtensionRegistry.js +15 -0
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts +10 -3
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts.map +1 -1
- package/src/shade/renderer/fluid/GPUFluidCascade.js +15 -0
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts +8 -1
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts.map +1 -1
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.js +11 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.d.ts.map +1 -1
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.js +51 -48
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +6 -6
- package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts +6 -0
- package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/FluidMacPasses.js +16 -0
- package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.js +15 -3
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.js +102 -96
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.js +12 -12
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.js +12 -12
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts +8 -1
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts.map +1 -1
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.js +16 -0
- package/src/shade/renderer/fluid/publish/FluidWindPublish.d.ts +7 -0
- package/src/shade/renderer/fluid/publish/FluidWindPublish.d.ts.map +1 -1
- package/src/shade/renderer/fluid/publish/FluidWindPublish.js +10 -0
- package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts +1 -1
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +2 -2
- package/src/shade/renderer/loader/SceneBundle.d.ts +7 -0
- package/src/shade/renderer/loader/SceneBundle.d.ts.map +1 -1
- package/src/shade/renderer/loader/SceneBundle.js +119 -111
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/standard/fragment_gbuffer.d.ts +4 -0
- package/src/shade/renderer/material/standard/fragment_gbuffer.d.ts.map +1 -1
- package/src/shade/renderer/material/standard/fragment_gbuffer.js +6 -5
- package/src/shade/renderer/object_property/chunk_write_object_property_node3d.d.ts +8 -7
- package/src/shade/renderer/object_property/chunk_write_object_property_node3d.d.ts.map +1 -1
- package/src/shade/renderer/object_property/chunk_write_object_property_node3d.js +9 -8
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +3 -1
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +9 -4
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.js +9 -7
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.js +15 -7
- 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 +6 -4
- package/src/shade/renderer/rasterize/native/oit/oit_resolve_fragment_body.js +3 -3
- package/src/shade/renderer/rasterize/native/oit/shader_oit_generate_moments.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_generate_moments.js +8 -5
- package/src/shade/renderer/rasterize/native/viz/viz_rasterization_alpha_tested_pass_descriptor.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/viz/viz_rasterization_alpha_tested_pass_descriptor.js +4 -3
- package/src/shade/renderer/shader/chunk/color/tonemap/ACES_TONE_MAPPING_BRIEF_2026_10_17.md +160 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/HDR_TONE_MAPPING_FORMS_BRIEF_2026_10_16.md +5 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/SDR_TONE_MAPPING_BRIEF_2026_10_16.md +15 -5
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/aces2_transform_block.d.ts +41 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/aces2_transform_block.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/aces2_transform_block.js +692 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces2_output_transform.d.ts +25 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces2_output_transform.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces2_output_transform.js +446 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces_ue_matrices.d.ts +22 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces_ue_matrices.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces_ue_matrices.js +68 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_tonemap_ue_filmic.d.ts +32 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_tonemap_ue_filmic.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_tonemap_ue_filmic.js +163 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.d.ts +10 -3
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.js +12 -4
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +1 -1
- package/src/shade/renderer/texture/SAMPLER_ANISOTROPIC_CLAMP.d.ts +9 -0
- package/src/shade/renderer/texture/SAMPLER_ANISOTROPIC_CLAMP.d.ts.map +1 -0
- package/src/shade/renderer/texture/SAMPLER_ANISOTROPIC_CLAMP.js +17 -0
- package/src/shade/renderer/texture/SAMPLER_LINEAR_UPSCALE.d.ts +8 -0
- package/src/shade/renderer/texture/SAMPLER_LINEAR_UPSCALE.d.ts.map +1 -1
- package/src/shade/renderer/texture/SAMPLER_LINEAR_UPSCALE.js +28 -20
- package/src/shade/renderer/texture/SAMPLER_TRILINEAR_CLAMP.d.ts +8 -0
- package/src/shade/renderer/texture/SAMPLER_TRILINEAR_CLAMP.d.ts.map +1 -0
- package/src/shade/renderer/texture/SAMPLER_TRILINEAR_CLAMP.js +15 -0
- package/src/shade/renderer/view/chunk_view_mip_bias.d.ts +21 -0
- package/src/shade/renderer/view/chunk_view_mip_bias.d.ts.map +1 -0
- package/src/shade/renderer/view/chunk_view_mip_bias.js +44 -0
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +105 -26
- package/src/engine/graphics/composit/CompositingStages.d.ts +0 -6
- package/src/engine/graphics/composit/CompositingStages.d.ts.map +0 -1
- package/src/engine/graphics/composit/CompositingStages.js +0 -8
- package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.d.ts +0 -7
- package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.js +0 -24
- package/src/engine/graphics/geometry/buffered/computeGeometryBoundingSphereMiniball.d.ts +0 -8
- package/src/engine/graphics/geometry/buffered/computeGeometryBoundingSphereMiniball.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeGeometryBoundingSphereMiniball.js +0 -17
- package/src/engine/graphics/geometry/buffered/computeGeometryEquality.d.ts +0 -8
- package/src/engine/graphics/geometry/buffered/computeGeometryEquality.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeGeometryEquality.js +0 -60
- package/src/engine/graphics/geometry/buffered/computeGeometryHash.d.ts +0 -7
- package/src/engine/graphics/geometry/buffered/computeGeometryHash.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeGeometryHash.js +0 -26
- package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.d.ts +0 -7
- package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.js +0 -23
- package/src/engine/graphics/geometry/instancing/geometry_copy.d.ts +0 -7
- package/src/engine/graphics/geometry/instancing/geometry_copy.d.ts.map +0 -1
- package/src/engine/graphics/geometry/instancing/geometry_copy.js +0 -15
- package/src/engine/graphics/geometry/instancing/rewriteMaterial.d.ts +0 -2
- package/src/engine/graphics/geometry/instancing/rewriteMaterial.d.ts.map +0 -1
- package/src/engine/graphics/geometry/instancing/rewriteMaterial.js +0 -57
- package/src/engine/graphics/geometry/ribbon/Quad.d.ts +0 -96
- package/src/engine/graphics/geometry/ribbon/Quad.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/Quad.js +0 -213
- package/src/engine/graphics/geometry/ribbon/copyAttributeV3.d.ts +0 -9
- package/src/engine/graphics/geometry/ribbon/copyAttributeV3.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/copyAttributeV3.js +0 -12
- package/src/engine/graphics/geometry/ribbon/copyAttributeValue.d.ts +0 -10
- package/src/engine/graphics/geometry/ribbon/copyAttributeValue.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/copyAttributeValue.js +0 -17
- package/src/engine/graphics/geometry/ribbon/equalAttributeV3.d.ts +0 -10
- package/src/engine/graphics/geometry/ribbon/equalAttributeV3.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/equalAttributeV3.js +0 -13
- package/src/engine/graphics/geometry/ribbon/equalAttributeValue.d.ts +0 -11
- package/src/engine/graphics/geometry/ribbon/equalAttributeValue.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/equalAttributeValue.js +0 -24
- package/src/engine/graphics/geometry/ribbon/rotateRibbon.d.ts +0 -6
- package/src/engine/graphics/geometry/ribbon/rotateRibbon.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/rotateRibbon.js +0 -37
- package/src/engine/graphics/geometry/ribbon/updateTipPosition.d.ts +0 -9
- package/src/engine/graphics/geometry/ribbon/updateTipPosition.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/updateTipPosition.js +0 -52
- package/src/engine/graphics/geometry/skining/computeSkinnedMeshVertices.d.ts +0 -8
- package/src/engine/graphics/geometry/skining/computeSkinnedMeshVertices.d.ts.map +0 -1
- package/src/engine/graphics/geometry/skining/computeSkinnedMeshVertices.js +0 -54
- package/src/engine/graphics/render/RenderPassType.d.ts +0 -6
- package/src/engine/graphics/render/RenderPassType.d.ts.map +0 -1
- package/src/engine/graphics/render/RenderPassType.js +0 -8
- package/src/engine/graphics/render/layers/RenderLayer.d.ts +0 -78
- package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayer.js +0 -95
- package/src/engine/graphics/render/layers/RenderLayerManager.d.ts +0 -72
- package/src/engine/graphics/render/layers/RenderLayerManager.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerManager.js +0 -160
- package/src/engine/graphics/render/layers/RenderLayerManagerState.d.ts +0 -18
- package/src/engine/graphics/render/layers/RenderLayerManagerState.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerManagerState.js +0 -48
- package/src/engine/graphics/render/layers/RenderLayerState.d.ts +0 -18
- package/src/engine/graphics/render/layers/RenderLayerState.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerState.js +0 -27
- package/src/engine/graphics/render/layers/RenderLayerUtils.d.ts +0 -8
- package/src/engine/graphics/render/layers/RenderLayerUtils.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerUtils.js +0 -103
- package/src/engine/graphics/render/make_bvh_visibility_builder.d.ts +0 -10
- package/src/engine/graphics/render/make_bvh_visibility_builder.d.ts.map +0 -1
- package/src/engine/graphics/render/make_bvh_visibility_builder.js +0 -64
- package/src/engine/graphics/render/view/CameraViewFlags.d.ts +0 -7
- package/src/engine/graphics/render/view/CameraViewFlags.d.ts.map +0 -1
- package/src/engine/graphics/render/view/CameraViewFlags.js +0 -9
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +0 -143
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +0 -1
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.js +0 -328
- package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts +0 -39
- package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +0 -1
- package/src/engine/graphics/render/visibility/VisibilityComputer.js +0 -80
- package/src/engine/graphics/render/visibility/VisibilityFilter.d.ts +0 -29
- package/src/engine/graphics/render/visibility/VisibilityFilter.d.ts.map +0 -1
- package/src/engine/graphics/render/visibility/VisibilityFilter.js +0 -37
- package/src/engine/graphics3/animation/write_graph_playback.d.ts +0 -24
- package/src/engine/graphics3/animation/write_graph_playback.d.ts.map +0 -1
- package/src/engine/graphics3/animation/write_graph_playback.js +0 -48
- package/src/shade/renderer/deferred/TonemapDisplaySettings.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_HDR.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_HDR_none.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_HDR_pbr_neutral.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_LDR.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_LDR_none.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_LDR_pbr_neutral.d.ts.map +0 -1
|
@@ -1,26 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* @typedef {import("../../../shade/renderer/animation/GPUAnimationManager.js").GPUAnimationManager} GPUAnimationManager
|
|
3
|
+
* @typedef {import("./AnimationClips.js").AnimationClips} AnimationClips
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Hand an entity's {@link AnimationClips} blend down to the renderer: what each of its playable
|
|
7
|
+
* clips weighs, and where each of the audible ones is playing.
|
|
4
8
|
*
|
|
5
9
|
* **Time is written every frame and weight only when it moves.** The clock is the reason this
|
|
6
10
|
* function exists — Shade can advance a clip itself and is never asked to, because the pose gameplay
|
|
7
|
-
* reads and the pose on the screen have to be the same one (I-4) — while
|
|
8
|
-
* has the
|
|
9
|
-
* table's upload dedupe, so a repeated value costs a comparison rather
|
|
10
|
-
* unchanged weights is about not doing the read either.
|
|
11
|
+
* reads and the pose on the screen have to be the same one (I-4) — while an entity looping one clip
|
|
12
|
+
* or sitting in one graph state has the weights it had last frame and there is nothing to say. Both
|
|
13
|
+
* calls go through the clip table's upload dedupe, so a repeated value costs a comparison rather
|
|
14
|
+
* than a transfer; skipping the unchanged weights is about not doing the read either.
|
|
11
15
|
*
|
|
12
16
|
* A clip at zero weight has its time left alone. It contributes nothing wherever it is, and where it
|
|
13
17
|
* is, is where it stopped.
|
|
14
18
|
*
|
|
15
19
|
* @param {GPUAnimationManager} manager
|
|
16
|
-
* @param {
|
|
17
|
-
* @param {ArrayLike<number>} clip_ids the manager's id for each of the entity's clips, in
|
|
18
|
-
* `
|
|
20
|
+
* @param {AnimationClips} clips
|
|
21
|
+
* @param {ArrayLike<number>} [clip_ids] the manager's id for each of the entity's clips, in
|
|
22
|
+
* `clips.clips`' order, or {@link CLIP_NOT_REGISTERED} for one the driver does not play. Those are
|
|
19
23
|
* skipped rather than written at weight zero: an unregistered clip has no row, and it is unregistered
|
|
20
24
|
* precisely so that it marks no joints (D37)
|
|
21
|
-
* @param {Float32Array} written the weight each of those clips was last given; updated in place.
|
|
25
|
+
* @param {Float32Array} [written] the weight each of those clips was last given; updated in place.
|
|
22
26
|
* A value no weight can take — `-1` — is how a caller says it does not know, which is the case
|
|
23
27
|
* after a renderer restart
|
|
24
28
|
*/
|
|
25
|
-
export function write_clip_playback(manager: GPUAnimationManager,
|
|
29
|
+
export function write_clip_playback(manager: GPUAnimationManager, clips: AnimationClips, clip_ids?: ArrayLike<number>, written?: Float32Array): void;
|
|
30
|
+
export type GPUAnimationManager = import("../../../shade/renderer/animation/GPUAnimationManager.js").GPUAnimationManager;
|
|
31
|
+
export type AnimationClips = import("./AnimationClips.js").AnimationClips;
|
|
26
32
|
//# sourceMappingURL=write_clip_playback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write_clip_playback.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/animation/write_clip_playback.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,
|
|
1
|
+
{"version":3,"file":"write_clip_playback.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/animation/write_clip_playback.js"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,6CAVW,mBAAmB,SACnB,cAAc,aACd,UAAU,MAAM,CAAC,YAIjB,YAAY,QAwCtB;kCAhEY,OAAO,0DAA0D,EAAE,mBAAmB;6BACtF,OAAO,qBAAqB,EAAE,cAAc"}
|
|
@@ -2,59 +2,68 @@ import { assert } from "../../../core/assert.js";
|
|
|
2
2
|
import { CLIP_NOT_REGISTERED } from "../register_clips.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* @typedef {import("../../../shade/renderer/animation/GPUAnimationManager.js").GPUAnimationManager} GPUAnimationManager
|
|
6
|
+
* @typedef {import("./AnimationClips.js").AnimationClips} AnimationClips
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Hand an entity's {@link AnimationClips} blend down to the renderer: what each of its playable
|
|
11
|
+
* clips weighs, and where each of the audible ones is playing.
|
|
7
12
|
*
|
|
8
13
|
* **Time is written every frame and weight only when it moves.** The clock is the reason this
|
|
9
14
|
* function exists — Shade can advance a clip itself and is never asked to, because the pose gameplay
|
|
10
|
-
* reads and the pose on the screen have to be the same one (I-4) — while
|
|
11
|
-
* has the
|
|
12
|
-
* table's upload dedupe, so a repeated value costs a comparison rather
|
|
13
|
-
* unchanged weights is about not doing the read either.
|
|
15
|
+
* reads and the pose on the screen have to be the same one (I-4) — while an entity looping one clip
|
|
16
|
+
* or sitting in one graph state has the weights it had last frame and there is nothing to say. Both
|
|
17
|
+
* calls go through the clip table's upload dedupe, so a repeated value costs a comparison rather
|
|
18
|
+
* than a transfer; skipping the unchanged weights is about not doing the read either.
|
|
14
19
|
*
|
|
15
20
|
* A clip at zero weight has its time left alone. It contributes nothing wherever it is, and where it
|
|
16
21
|
* is, is where it stopped.
|
|
17
22
|
*
|
|
18
23
|
* @param {GPUAnimationManager} manager
|
|
19
|
-
* @param {
|
|
20
|
-
* @param {ArrayLike<number>} clip_ids the manager's id for each of the entity's clips, in
|
|
21
|
-
* `
|
|
24
|
+
* @param {AnimationClips} clips
|
|
25
|
+
* @param {ArrayLike<number>} [clip_ids] the manager's id for each of the entity's clips, in
|
|
26
|
+
* `clips.clips`' order, or {@link CLIP_NOT_REGISTERED} for one the driver does not play. Those are
|
|
22
27
|
* skipped rather than written at weight zero: an unregistered clip has no row, and it is unregistered
|
|
23
28
|
* precisely so that it marks no joints (D37)
|
|
24
|
-
* @param {Float32Array} written the weight each of those clips was last given; updated in place.
|
|
29
|
+
* @param {Float32Array} [written] the weight each of those clips was last given; updated in place.
|
|
25
30
|
* A value no weight can take — `-1` — is how a caller says it does not know, which is the case
|
|
26
31
|
* after a renderer restart
|
|
27
32
|
*/
|
|
28
|
-
export function write_clip_playback(
|
|
33
|
+
export function write_clip_playback(
|
|
34
|
+
manager,
|
|
35
|
+
clips,
|
|
36
|
+
clip_ids = clips.clip_registration.ids,
|
|
37
|
+
written = clips.written
|
|
38
|
+
) {
|
|
29
39
|
assert.defined(manager, 'manager');
|
|
30
|
-
assert.defined(
|
|
40
|
+
assert.defined(clips, 'clips');
|
|
31
41
|
|
|
32
|
-
const weights =
|
|
42
|
+
const weights = clips.weights;
|
|
43
|
+
const times = clips.times;
|
|
44
|
+
const played = clips.played_slots;
|
|
33
45
|
|
|
34
46
|
assert.equal(clip_ids.length, weights.length, 'clip_ids.length');
|
|
35
47
|
assert.equal(written.length, weights.length, 'written.length');
|
|
36
48
|
|
|
37
|
-
for (let i = 0; i <
|
|
38
|
-
|
|
49
|
+
for (let i = 0; i < played.length; i++) {
|
|
50
|
+
const slot = played[i];
|
|
51
|
+
const clip_id = clip_ids[slot];
|
|
52
|
+
|
|
53
|
+
if (clip_id === CLIP_NOT_REGISTERED) {
|
|
39
54
|
continue;
|
|
40
55
|
}
|
|
41
56
|
|
|
42
|
-
const weight = weights[
|
|
57
|
+
const weight = weights[slot];
|
|
43
58
|
|
|
44
|
-
if (weight !== written[
|
|
45
|
-
manager.set_playback_weight(
|
|
59
|
+
if (weight !== written[slot]) {
|
|
60
|
+
manager.set_playback_weight(clip_id, weight);
|
|
46
61
|
|
|
47
|
-
written[
|
|
62
|
+
written[slot] = weight;
|
|
48
63
|
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const playbacks = player.playbacks;
|
|
52
|
-
|
|
53
|
-
for (let i = 0; i < playbacks.length; i++) {
|
|
54
|
-
const playback = playbacks[i];
|
|
55
64
|
|
|
56
|
-
if (
|
|
57
|
-
manager.set_time(
|
|
65
|
+
if (weight > 0) {
|
|
66
|
+
manager.set_time(clip_id, times[slot]);
|
|
58
67
|
}
|
|
59
68
|
}
|
|
60
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GPUDecalRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/decal/GPUDecalRenderer.js"],"names":[],"mappings":"AA4CA;;;;;;;GAOG;AACH;IA6BI;;;;;;;;;;;OAWG;IACH;QAP8B,KAAK;QACL,OAAO,EAA1B,YAAY;QACC,YAAY,EAAzB,MAAM;QACU,YAAY;QACZ,YAAY;QACZ,SAAS;aAuBnC;
|
|
1
|
+
{"version":3,"file":"GPUDecalRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/decal/GPUDecalRenderer.js"],"names":[],"mappings":"AA4CA;;;;;;;GAOG;AACH;IA6BI;;;;;;;;;;;OAWG;IACH;QAP8B,KAAK;QACL,OAAO,EAA1B,YAAY;QACC,YAAY,EAAzB,MAAM;QACU,YAAY;QACZ,YAAY;QACZ,SAAS;aAuBnC;IAkPD,gBAoBC;;CACJ"}
|
|
@@ -7,7 +7,7 @@ import { TextureViewDescriptor } from "../../../shade/descriptor/texture/Texture
|
|
|
7
7
|
import { TextureResourceDescriptor } from "../../../shade/device/graph/TextureResourceDescriptor.js";
|
|
8
8
|
import { G_BUFFER_ALBEDO_FORMAT } from "../../../shade/renderer/gbuffer/G_BUFFER_ALBEDO_FORMAT.js";
|
|
9
9
|
import { TextureFilterType } from "../../../shade/renderer/texture/TextureFilterType.js";
|
|
10
|
-
import {
|
|
10
|
+
import { SAMPLER_ANISOTROPIC_CLAMP } from "../../../shade/renderer/texture/SAMPLER_ANISOTROPIC_CLAMP.js";
|
|
11
11
|
import { graph_build_decal_clusters } from "./graph_build_decal_clusters.js";
|
|
12
12
|
import { DECAL_RECORD_WORD_COUNT } from "./DECAL_GPU_RECORD.js";
|
|
13
13
|
import { shader_decal_composite } from "./shader_decal_composite.js";
|
|
@@ -138,7 +138,7 @@ export class GPUDecalRenderer {
|
|
|
138
138
|
const data = {};
|
|
139
139
|
|
|
140
140
|
const pass = graph.add('decals / composite', data, (data, resources, execution) => {
|
|
141
|
-
this.#execute(data, resources, execution,
|
|
141
|
+
this.#execute(data, resources, execution, frame.view, cluster_params, resolution);
|
|
142
142
|
});
|
|
143
143
|
|
|
144
144
|
data.depth = pass.read(frame.get(ViewTextures).depth);
|
|
@@ -182,11 +182,12 @@ export class GPUDecalRenderer {
|
|
|
182
182
|
* @param data
|
|
183
183
|
* @param {FramePassResources} resources
|
|
184
184
|
* @param {GraphicsExecutionContext} context
|
|
185
|
-
* @param {
|
|
185
|
+
* @param {GPUViewContext} view_context
|
|
186
186
|
* @param {number[]} cluster_params
|
|
187
187
|
* @param {number[]} resolution
|
|
188
188
|
*/
|
|
189
|
-
#execute(data, resources, context,
|
|
189
|
+
#execute(data, resources, context, view_context, cluster_params, resolution) {
|
|
190
|
+
const camera = view_context.camera;
|
|
190
191
|
const encoder = context.encoder;
|
|
191
192
|
const graphics = context.graphics;
|
|
192
193
|
|
|
@@ -197,7 +198,7 @@ export class GPUDecalRenderer {
|
|
|
197
198
|
distance_max: camera.camera.far,
|
|
198
199
|
};
|
|
199
200
|
|
|
200
|
-
const sampler = graphics.samplers.obtain(
|
|
201
|
+
const sampler = graphics.samplers.obtain(SAMPLER_ANISOTROPIC_CLAMP);
|
|
201
202
|
|
|
202
203
|
/**
|
|
203
204
|
* @param {number} handle
|
|
@@ -217,7 +218,8 @@ export class GPUDecalRenderer {
|
|
|
217
218
|
shader_decal_composite.draw({
|
|
218
219
|
encoder,
|
|
219
220
|
bindings: {
|
|
220
|
-
camera: camera.buffer,
|
|
221
|
+
camera: camera.buffer,
|
|
222
|
+
view: view_context.uniform_buffer.buffer,
|
|
221
223
|
settings,
|
|
222
224
|
gBufferPBR: view(data.in_pbr),
|
|
223
225
|
gBufferNormal: view(data.in_normal),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader_decal_composite.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/decal/shader_decal_composite.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shader_decal_composite.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/decal/shader_decal_composite.js"],"names":[],"mappings":"AAgEA,oDAKG;AAySH;;;;;;;;;;;;GAYG;AACH,qCAFU,WAAW,CAclB;6BA1V0B,qDAAqD;4BAPtD,+CAA+C"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { CAMERA_UNIFORM_STRUCT } from "../../../shade/renderer/camera/CAMERA_UNIFORM_STRUCT.js";
|
|
1
|
+
import { CAMERA_UNIFORM_STRUCT } from "../../../shade/renderer/camera/CAMERA_UNIFORM_STRUCT.js";
|
|
2
|
+
import { VIEW_UNIFORM_STRUCT } from "../../../shade/renderer/view/VIEW_UNIFORM_STRUCT.js";
|
|
3
|
+
import { chunk_view_mip_bias } from "../../../shade/renderer/view/chunk_view_mip_bias.js";
|
|
2
4
|
import { G_BUFFER_ALBEDO_FORMAT } from "../../../shade/renderer/gbuffer/G_BUFFER_ALBEDO_FORMAT.js";
|
|
3
5
|
import {
|
|
4
6
|
chunk_cluster_depth_to_z_slice
|
|
@@ -73,7 +75,8 @@ const resources = new ShaderResourceSetDescriptor();
|
|
|
73
75
|
resources.setImmediate("settings", DECAL_COMPOSITE_SETTINGS);
|
|
74
76
|
|
|
75
77
|
resources.createGroup()
|
|
76
|
-
.addUniform("camera", CAMERA_UNIFORM_STRUCT)
|
|
78
|
+
.addUniform("camera", CAMERA_UNIFORM_STRUCT)
|
|
79
|
+
.addUniform("view", VIEW_UNIFORM_STRUCT);
|
|
77
80
|
|
|
78
81
|
/*
|
|
79
82
|
The two integer targets are declared as such, exactly as `shader_deferred_main` declares the same
|
|
@@ -243,6 +246,8 @@ fn main(
|
|
|
243
246
|
var normal = shading_normal;
|
|
244
247
|
var emissive = rgbe9995_decode(old_emissive);
|
|
245
248
|
|
|
249
|
+
let uv_bias = view_uv_derivative_bias(view.upscale_ratio);
|
|
250
|
+
|
|
246
251
|
for (var i = 0u; i < metadata.count; i++) {
|
|
247
252
|
let decal_index = cluster_data[metadata.offset + i];
|
|
248
253
|
|
|
@@ -274,8 +279,8 @@ fn main(
|
|
|
274
279
|
let local_x = (inverse * vec4<f32>(position_x, 1.0)).xy;
|
|
275
280
|
let local_y = (inverse * vec4<f32>(position_y, 1.0)).xy;
|
|
276
281
|
|
|
277
|
-
let duv_dx = local_x - local.xy;
|
|
278
|
-
let duv_dy = local_y - local.xy;
|
|
282
|
+
let duv_dx = (local_x - local.xy) * uv_bias.x;
|
|
283
|
+
let duv_dy = (local_y - local.xy) * uv_bias.y;
|
|
279
284
|
|
|
280
285
|
let lod = decal_vec4(decal_index, ${DECAL_RECORD_OFFSET_LOD}u);
|
|
281
286
|
|
|
@@ -354,7 +359,8 @@ fn main(
|
|
|
354
359
|
chunk_rgbe9995_encode,
|
|
355
360
|
chunk_light_cluster_resolution_xy_from_screen,
|
|
356
361
|
chunk_cluster_depth_to_z_slice,
|
|
357
|
-
chunk_grid3d_to_index
|
|
362
|
+
chunk_grid3d_to_index,
|
|
363
|
+
chunk_view_mip_bias
|
|
358
364
|
]
|
|
359
365
|
);
|
|
360
366
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Collect what
|
|
3
|
-
*
|
|
2
|
+
* Collect what is playing on an entity, in the form the CPU pose evaluator
|
|
3
|
+
* takes.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* what the GPU's accumulator is summing.
|
|
5
|
+
* Whichever animation driver is running (`AnimationSystem` for a clip list,
|
|
6
|
+
* `AnimationGraphSystem` for a state machine) writes this tick's weights and
|
|
7
|
+
* times into the entity's {@link AnimationClips} sink. What it hands back is
|
|
8
|
+
* one entry per clip the driver plays, silent clips included, because that is
|
|
9
|
+
* what the GPU's accumulator is summing (D37).
|
|
10
10
|
*
|
|
11
11
|
* A free function rather than a private helper of
|
|
12
12
|
* {@link query_entity_node_world_pose} because M3 gave it a second caller:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect_entity_playbacks.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/pose/collect_entity_playbacks.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collect_entity_playbacks.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/pose/collect_entity_playbacks.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iDARW,cAAc,yCAEd,MAAM,GACJ,IAAI,CAiBhB"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AnimationSystem } from "../AnimationSystem.js";
|
|
1
|
+
import { AnimationClips } from "../animation/AnimationClips.js";
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
|
-
* Collect what
|
|
6
|
-
*
|
|
4
|
+
* Collect what is playing on an entity, in the form the CPU pose evaluator
|
|
5
|
+
* takes.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* what the GPU's accumulator is summing.
|
|
7
|
+
* Whichever animation driver is running (`AnimationSystem` for a clip list,
|
|
8
|
+
* `AnimationGraphSystem` for a state machine) writes this tick's weights and
|
|
9
|
+
* times into the entity's {@link AnimationClips} sink. What it hands back is
|
|
10
|
+
* one entry per clip the driver plays, silent clips included, because that is
|
|
11
|
+
* what the GPU's accumulator is summing (D37).
|
|
13
12
|
*
|
|
14
13
|
* A free function rather than a private helper of
|
|
15
14
|
* {@link query_entity_node_world_pose} because M3 gave it a second caller:
|
|
@@ -26,15 +25,15 @@ import { AnimationSystem } from "../AnimationSystem.js";
|
|
|
26
25
|
* @copyright Company Named Limited (c) 2026
|
|
27
26
|
*/
|
|
28
27
|
export function collect_entity_playbacks(target, entity_manager, entity) {
|
|
29
|
-
const
|
|
28
|
+
const dataset = entity_manager.dataset;
|
|
30
29
|
|
|
31
|
-
if (
|
|
32
|
-
|
|
30
|
+
if (dataset === null || entity < 0 || !dataset.entityExists(entity)) {
|
|
31
|
+
return;
|
|
33
32
|
}
|
|
34
33
|
|
|
35
|
-
const clips =
|
|
34
|
+
const clips = dataset.getComponent(entity, AnimationClips);
|
|
36
35
|
|
|
37
|
-
if (clips !==
|
|
38
|
-
clips.write_pose_playbacks(target
|
|
36
|
+
if (clips !== undefined) {
|
|
37
|
+
clips.write_pose_playbacks(target);
|
|
39
38
|
}
|
|
40
39
|
}
|
|
@@ -103,6 +103,12 @@ export class Prefab {
|
|
|
103
103
|
* @type {ShadeAnimationClip[]}
|
|
104
104
|
*/
|
|
105
105
|
clips: ShadeAnimationClip[];
|
|
106
|
+
/**
|
|
107
|
+
* Aeroelastic foliage wind rigs whose `root` and joint `target`s address prefab node indices.
|
|
108
|
+
*
|
|
109
|
+
* @type {import("../../../shade/renderer/animation/foliage/FoliageWindRig.js").FoliageWindRig[]}
|
|
110
|
+
*/
|
|
111
|
+
foliage_rigs: import("../../../shade/renderer/animation/foliage/FoliageWindRig.js").FoliageWindRig[];
|
|
106
112
|
/**
|
|
107
113
|
* Which node the asset calls `name`. A name authored twice answers with the first node in
|
|
108
114
|
* pre-order, which is the same answer a search would have given.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prefab.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/prefab/Prefab.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH;IACI;;;;OAIG;IACH,MAFU,MAAM,CAEP;IAET;;OAEG;IACH,UAFU,eAAe,CAET;IAEhB;;OAEG;IACH,UAFU,aAAa,CAEP;IAEhB;;;;;OAKG;IACH,MAFU,MAAM,CAEN;CACb;AAED;;;;;;;;;;;;;;;GAeG;AACH;IACI;;OAEG;IACH,YAFU,MAAM,CAED;IAEf;;;;OAIG;IACH,QAFU,UAAU,CAEO;IAE3B;;;;OAIG;IACH,MAFU,MAAM,EAAE,CAER;IAEV;;;;;OAKG;IACH,OAFU,WAAW,EAAE,CAEZ;IAEX;;;;;OAKG;IACH,OAFU,YAAY,EAAE,CAEb;IAEX;;;;;;;OAOG;IACH,UAFU,UAAU,CAES;IAE7B;;OAEG;IACH,YAFU,eAAe,EAAE,CAEX;IAEhB;;;;OAIG;IACH,OAFU,IAAI,EAAE,CAEL;IAEX;;;;OAIG;IACH,OAFU,kBAAkB,EAAE,CAEnB;
|
|
1
|
+
{"version":3,"file":"Prefab.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics3/prefab/Prefab.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH;IACI;;;;OAIG;IACH,MAFU,MAAM,CAEP;IAET;;OAEG;IACH,UAFU,eAAe,CAET;IAEhB;;OAEG;IACH,UAFU,aAAa,CAEP;IAEhB;;;;;OAKG;IACH,MAFU,MAAM,CAEN;CACb;AAED;;;;;;;;;;;;;;;GAeG;AACH;IACI;;OAEG;IACH,YAFU,MAAM,CAED;IAEf;;;;OAIG;IACH,QAFU,UAAU,CAEO;IAE3B;;;;OAIG;IACH,MAFU,MAAM,EAAE,CAER;IAEV;;;;;OAKG;IACH,OAFU,WAAW,EAAE,CAEZ;IAEX;;;;;OAKG;IACH,OAFU,YAAY,EAAE,CAEb;IAEX;;;;;;;OAOG;IACH,UAFU,UAAU,CAES;IAE7B;;OAEG;IACH,YAFU,eAAe,EAAE,CAEX;IAEhB;;;;OAIG;IACH,OAFU,IAAI,EAAE,CAEL;IAEX;;;;OAIG;IACH,OAFU,kBAAkB,EAAE,CAEnB;IAEX;;;;OAIG;IACH,cAFU,OAAO,6DAA6D,EAAE,cAAc,EAAE,CAE9E;IAOlB;;;;;;OAMG;IACH,eAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;OAEG;IACH,oBAcC;IAGL;;;OAGG;IACH,mBAFU,OAAO,CAEQ;;CANxB;8BAjKY,OAAO,qDAAqD,EAAE,eAAe;4BAC7E,OAAO,mDAAmD,EAAE,aAAa;mBACzE,OAAO,2CAA2C,EAAE,IAAI;iCACxD,OAAO,yDAAyD,EAAE,kBAAkB;0BACpF,OAAO,oCAAoC,EAAE,WAAW"}
|