@woosh/meep-engine 3.39.0 → 3.41.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/package.json +1 -1
- package/src/core/geom/3d/quaternion/swing_twist_clamp.d.ts +24 -0
- package/src/core/geom/3d/quaternion/swing_twist_clamp.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/swing_twist_clamp.js +62 -0
- package/src/core/geom/3d/quaternion/swing_twist_compose.d.ts +15 -0
- package/src/core/geom/3d/quaternion/swing_twist_compose.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/swing_twist_compose.js +36 -0
- package/src/core/geom/3d/quaternion/swing_twist_error.d.ts +39 -0
- package/src/core/geom/3d/quaternion/swing_twist_error.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/swing_twist_error.js +85 -0
- package/src/core/geom/vec3/v3_rigid_align_paired_unit_vectors.d.ts +11 -6
- package/src/core/geom/vec3/v3_rigid_align_paired_unit_vectors.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_rigid_align_paired_unit_vectors.js +27 -13
- package/src/core/math/linalg/eigen/matrix_symmetric_4x4_eigen.d.ts +25 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_4x4_eigen.d.ts.map +1 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_4x4_eigen.js +166 -0
- package/src/core/math/linalg/eigen/matrix_top_eigenvector_power_iteration.d.ts +5 -3
- package/src/core/math/linalg/eigen/matrix_top_eigenvector_power_iteration.d.ts.map +1 -1
- package/src/core/math/linalg/eigen/matrix_top_eigenvector_power_iteration.js +5 -3
- package/src/engine/EngineHarness.d.ts.map +1 -1
- package/src/engine/EngineHarness.js +17 -4
- package/src/engine/animation/curve/AnimationCurve.d.ts +3 -0
- package/src/engine/animation/curve/AnimationCurve.d.ts.map +1 -1
- package/src/engine/animation/curve/AnimationCurve.js +6 -1
- package/src/engine/asset/loaders/image/avif/threaded_image_encoder.js +1 -1
- package/src/engine/ecs/EntityManager.d.ts +9 -1
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +26 -27
- package/src/engine/ecs/gpu/GPUStateAuthority.d.ts +20 -0
- package/src/engine/ecs/gpu/GPUStateAuthority.d.ts.map +1 -1
- package/src/engine/ecs/gpu/GPUStateAuthority.js +21 -0
- package/src/engine/ecs/gpu/GPU_AUTHORITY_EVENT_HOLD_CHANGE.d.ts +13 -0
- package/src/engine/ecs/gpu/GPU_AUTHORITY_EVENT_HOLD_CHANGE.d.ts.map +1 -0
- package/src/engine/ecs/gpu/GPU_AUTHORITY_EVENT_HOLD_CHANGE.js +12 -0
- package/src/engine/ecs/gpu/gpu_authority_grant.d.ts +6 -0
- package/src/engine/ecs/gpu/gpu_authority_grant.d.ts.map +1 -1
- package/src/engine/ecs/gpu/gpu_authority_grant.js +7 -1
- package/src/engine/ecs/gpu/gpu_authority_held.d.ts +14 -0
- package/src/engine/ecs/gpu/gpu_authority_held.d.ts.map +1 -0
- package/src/engine/ecs/gpu/gpu_authority_held.js +23 -0
- package/src/engine/ecs/gpu/gpu_authority_hold.d.ts +23 -0
- package/src/engine/ecs/gpu/gpu_authority_hold.d.ts.map +1 -0
- package/src/engine/ecs/gpu/gpu_authority_hold.js +41 -0
- package/src/engine/ecs/gpu/gpu_authority_unhold.d.ts +14 -0
- package/src/engine/ecs/gpu/gpu_authority_unhold.d.ts.map +1 -0
- package/src/engine/ecs/gpu/gpu_authority_unhold.js +32 -0
- package/src/engine/ecs/ik/IKGoal.d.ts +59 -0
- package/src/engine/ecs/ik/IKGoal.d.ts.map +1 -0
- package/src/engine/ecs/ik/IKGoal.js +83 -0
- package/src/engine/ecs/ik/IKGoalSystem.d.ts +75 -0
- package/src/engine/ecs/ik/IKGoalSystem.d.ts.map +1 -0
- package/src/engine/ecs/ik/IKGoalSystem.js +1456 -0
- package/src/engine/ecs/ik/PLAN.md +179 -0
- package/src/engine/ecs/speaker/VoiceSystem.d.ts +2 -2
- package/src/engine/ecs/speaker/VoiceSystem.d.ts.map +1 -1
- package/src/engine/ecs/storage/BinaryBufferSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/BinaryBufferSerializer.js +4 -5
- package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +7 -3
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +5 -2
- package/src/engine/ecs/system/orderSystemsByDeclaredAccess.d.ts +33 -0
- package/src/engine/ecs/system/orderSystemsByDeclaredAccess.d.ts.map +1 -0
- package/src/engine/ecs/system/orderSystemsByDeclaredAccess.js +282 -0
- package/src/engine/ecs/transform/T64WorldCache.js +139 -139
- package/src/engine/ecs/transform/t64_evaluate_local.d.ts +25 -0
- package/src/engine/ecs/transform/t64_evaluate_local.d.ts.map +1 -0
- package/src/engine/ecs/transform/t64_evaluate_local.js +35 -0
- package/src/engine/ecs/transform/t64_evaluate_world.d.ts +5 -3
- package/src/engine/ecs/transform/t64_evaluate_world.d.ts.map +1 -1
- package/src/engine/ecs/transform/t64_evaluate_world.js +128 -126
- package/src/engine/graphics/ecs/water/Water.d.ts +14 -17
- package/src/engine/graphics/ecs/water/Water.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/Water.js +100 -110
- package/src/engine/graphics/ecs/water/WaterSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterSerializationAdapter.js +36 -38
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_3_4.d.ts +6 -0
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_3_4.d.ts.map +1 -0
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_3_4.js +10 -0
- package/src/engine/graphics/ecs/water/WaterWaves.d.ts +3 -3
- package/src/engine/graphics/ecs/water/WaterWaves.js +46 -46
- package/src/engine/graphics/texture/sampler/sampler2d_to_avif.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_to_avif.js +8 -5
- package/src/engine/graphics3/AnimationGraphSystem.d.ts +2 -0
- package/src/engine/graphics3/AnimationGraphSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationGraphSystem.js +337 -329
- package/src/engine/graphics3/AnimationSystem.d.ts +2 -0
- package/src/engine/graphics3/AnimationSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationSystem.js +360 -352
- package/src/engine/graphics3/WaterSystem.d.ts +21 -74
- package/src/engine/graphics3/WaterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/WaterSystem.js +174 -367
- package/src/engine/physics/cloth/MEASUREMENTS.md +130 -0
- package/src/engine/physics/cloth/PLAN.md +16 -1
- package/src/engine/physics/cloth/ecs/ClothColliderSystem.d.ts +5 -6
- package/src/engine/physics/cloth/ecs/ClothColliderSystem.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothColliderSystem.js +5 -6
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts +4 -7
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothInstance.js +4 -7
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts +4 -3
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothSystem.js +4 -3
- package/src/engine/physics/cloth/ecs/ClothWorld.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothWorld.js +10 -0
- package/src/engine/physics/cloth/ecs/cloth_seed_rig.d.ts +24 -24
- package/src/engine/physics/cloth/ecs/cloth_seed_rig.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_seed_rig.js +46 -43
- package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts +1 -1
- package/src/engine/physics/cloth/ecs/cloth_write_back.js +1 -1
- package/src/engine/physics/constraint/solve_constraints.d.ts +0 -35
- package/src/engine/physics/constraint/solve_constraints.d.ts.map +1 -1
- package/src/engine/physics/constraint/solve_constraints.js +1 -83
- package/src/engine/physics/ecs/ContactProbe.d.ts +73 -0
- package/src/engine/physics/ecs/ContactProbe.d.ts.map +1 -0
- package/src/engine/physics/ecs/ContactProbe.js +103 -0
- package/src/engine/physics/ecs/ContactProbeSystem.d.ts +44 -0
- package/src/engine/physics/ecs/ContactProbeSystem.d.ts.map +1 -0
- package/src/engine/physics/ecs/ContactProbeSystem.js +397 -0
- package/src/engine/physics/fluid/ecs/FluidComponent.d.ts +1 -1
- package/src/engine/physics/fluid/ecs/FluidComponent.js +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/inverse_kinematics/frame_fabrik/FrameFabrikProblem.d.ts +205 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/FrameFabrikProblem.d.ts.map +1 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/FrameFabrikProblem.js +245 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_limit_from_joint.d.ts +21 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_limit_from_joint.d.ts.map +1 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_limit_from_joint.js +63 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_solve.d.ts +33 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_solve.d.ts.map +1 -0
- package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_solve.js +874 -0
- package/src/engine/physics/inverse_kinematics/joint_hinge_mid_axis.d.ts +27 -0
- package/src/engine/physics/inverse_kinematics/joint_hinge_mid_axis.d.ts.map +1 -0
- package/src/engine/physics/inverse_kinematics/joint_hinge_mid_axis.js +77 -0
- package/src/engine/physics/inverse_kinematics/two_bone_path_solve.d.ts +36 -0
- package/src/engine/physics/inverse_kinematics/two_bone_path_solve.d.ts.map +1 -0
- package/src/engine/physics/inverse_kinematics/two_bone_path_solve.js +97 -0
- package/src/engine/physics/inverse_kinematics/two_joint_ik.d.ts +33 -11
- package/src/engine/physics/inverse_kinematics/two_joint_ik.d.ts.map +1 -1
- package/src/engine/physics/inverse_kinematics/two_joint_ik.js +158 -67
- package/src/format/image/avif/api/convert_to_rgba.d.ts +2 -2
- package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -1
- package/src/format/image/avif/api/convert_to_rgba.js +10 -9
- package/src/format/image/avif/api/decode_avif.d.ts +2 -2
- package/src/format/image/avif/api/decode_avif.d.ts.map +1 -1
- package/src/format/image/avif/api/decode_avif.js +1 -1
- package/src/shade/playground/ssr_reprojection/README.md +111 -103
- package/src/shade/playground/ssr_reprojection/SpatialFilterProbe.js +68 -68
- package/src/shade/playground/ssr_reprojection/index.html +80 -79
- package/src/shade/playground/ssr_reprojection/main.js +256 -247
- package/src/shade/playground/ssr_variance/capture.js +96 -96
- package/src/shade/playground/ssr_variance/reference.js +78 -78
- package/src/shade/playground/vsm/README.md +96 -0
- package/src/shade/playground/vsm/VSMDebugOverlay.d.ts +49 -0
- package/src/shade/playground/vsm/VSMDebugOverlay.d.ts.map +1 -0
- package/src/shade/playground/vsm/VSMDebugOverlay.js +351 -0
- package/src/shade/playground/vsm/clipmap_panel.d.ts +8 -0
- package/src/shade/playground/vsm/clipmap_panel.d.ts.map +1 -0
- package/src/shade/playground/vsm/clipmap_panel.js +138 -0
- package/src/shade/playground/vsm/index.html +170 -0
- package/src/shade/playground/vsm/main.d.ts +2 -0
- package/src/shade/playground/vsm/main.d.ts.map +1 -0
- package/src/shade/playground/vsm/main.js +389 -0
- package/src/shade/playground/vsm/scenes.d.ts +52 -0
- package/src/shade/playground/vsm/scenes.d.ts.map +1 -0
- package/src/shade/playground/vsm/scenes.js +320 -0
- package/src/shade/playground/vsm/verify_vsm.d.ts +38 -0
- package/src/shade/playground/vsm/verify_vsm.d.ts.map +1 -0
- package/src/shade/playground/vsm/verify_vsm.js +305 -0
- package/src/shade/playground/water_refraction/README.md +57 -9
- package/src/shade/playground/water_refraction/main.js +12 -3
- package/src/shade/playground/water_refraction/world.d.ts +1 -0
- package/src/shade/playground/water_refraction/world.d.ts.map +1 -1
- package/src/shade/playground/water_refraction/world.js +15 -5
- package/src/shade/renderer/Renderer.d.ts +19 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +72 -1
- package/src/shade/renderer/animation/ANIMATION_TRACK_BINDING_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/animation/ANIMATION_TRACK_BINDING_STRUCT.js +10 -1
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +18 -4
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +269 -23
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.d.ts +12 -4
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.d.ts.map +1 -1
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.js +12 -4
- package/src/shade/renderer/animation/chunk_pose_accumulator.d.ts.map +1 -1
- package/src/shade/renderer/animation/chunk_pose_accumulator.js +14 -1
- package/src/shade/renderer/animation/pose/PoseChannelIndex.d.ts +78 -0
- package/src/shade/renderer/animation/pose/PoseChannelIndex.d.ts.map +1 -0
- package/src/shade/renderer/animation/pose/PoseChannelIndex.js +274 -0
- package/src/shade/renderer/animation/pose/PosePlayback.d.ts +40 -3
- package/src/shade/renderer/animation/pose/PosePlayback.d.ts.map +1 -1
- package/src/shade/renderer/animation/pose/PosePlayback.js +77 -3
- package/src/shade/renderer/animation/pose/pose_evaluate_local.d.ts +21 -3
- package/src/shade/renderer/animation/pose/pose_evaluate_local.d.ts.map +1 -1
- package/src/shade/renderer/animation/pose/pose_evaluate_local.js +79 -11
- package/src/shade/renderer/animation/shader_animation_apply.js +1 -1
- package/src/shade/renderer/animation/shader_animation_pose_resolve.d.ts +3 -2
- package/src/shade/renderer/animation/shader_animation_pose_resolve.d.ts.map +1 -1
- package/src/shade/renderer/animation/shader_animation_pose_resolve.js +187 -176
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +7 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +11 -0
- package/src/shade/renderer/animation/skinning/SKINNING_BINDING_STRUCT.d.ts +3 -1
- package/src/shade/renderer/animation/skinning/SKINNING_BINDING_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/SKINNING_BINDING_STRUCT.js +10 -1
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_read_code.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_read_code.js +28 -0
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_write_code.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_write_code.js +31 -1
- package/src/shade/renderer/geometry/MeshletGeometry.d.ts +3 -0
- package/src/shade/renderer/geometry/MeshletGeometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/MeshletGeometry.js +1 -0
- package/src/shade/renderer/light/LIGHT_DATABASE_SPEC.d.ts.map +1 -1
- package/src/shade/renderer/light/LIGHT_DATABASE_SPEC.js +62 -4
- package/src/shade/renderer/light/environment/rgbe/parse_rgbe.d.ts +1 -1
- package/src/shade/renderer/light/environment/rgbe/parse_rgbe.js +2 -2
- package/src/shade/renderer/light/environment/rgbe/rgbe_byte_to_rgb_half.d.ts +2 -2
- package/src/shade/renderer/light/environment/rgbe/rgbe_byte_to_rgb_half.d.ts.map +1 -1
- package/src/shade/renderer/light/environment/rgbe/rgbe_byte_to_rgb_half.js +6 -14
- package/src/shade/renderer/light/environment/sh_exponential/chunk_sh_exp_workgroup_sum.d.ts.map +1 -1
- package/src/shade/renderer/light/environment/sh_exponential/chunk_sh_exp_workgroup_sum.js +5 -1
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/medium/ParticipatingMedium.d.ts +3 -0
- package/src/shade/renderer/medium/ParticipatingMedium.d.ts.map +1 -1
- package/src/shade/renderer/medium/ParticipatingMedium.js +7 -0
- package/src/shade/renderer/object_property/chunk_write_object_property.d.ts +3 -1
- package/src/shade/renderer/object_property/chunk_write_object_property.d.ts.map +1 -1
- package/src/shade/renderer/object_property/chunk_write_object_property.js +5 -2
- package/src/shade/renderer/object_property/chunk_write_object_property_node3d.d.ts +4 -0
- 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 +6 -1
- package/src/shade/renderer/postprocess/eye/shader_autoexposure_build_histogram.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/eye/shader_autoexposure_build_histogram.js +5 -35
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts +12 -4
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/SSR.js +36 -8
- package/src/shade/renderer/postprocess/ssr/SSR_DENOISE_TILE_SIZE.d.ts +3 -0
- package/src/shade/renderer/postprocess/ssr/SSR_DENOISE_TILE_SIZE.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/SSR_DENOISE_TILE_SIZE.js +2 -0
- package/src/shade/renderer/postprocess/ssr/chunk_ssr_denoise_tile_active.d.ts +8 -0
- package/src/shade/renderer/postprocess/ssr/chunk_ssr_denoise_tile_active.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/chunk_ssr_denoise_tile_active.js +40 -0
- 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 +150 -137
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_classify.d.ts +3 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_classify.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_classify.js +44 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_dilate.d.ts +5 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_dilate.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_dilate.js +35 -0
- package/src/shade/renderer/postprocess/ssr/ssr_graph_denoise_tiles.d.ts +26 -0
- package/src/shade/renderer/postprocess/ssr/ssr_graph_denoise_tiles.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/ssr_graph_denoise_tiles.js +42 -0
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts +1 -0
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +113 -105
- package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.d.ts +2 -0
- package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.js +177 -167
- package/src/shade/renderer/rasterize/DEPTH_STENCIL_STATE_SHADOW.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/DEPTH_STENCIL_STATE_SHADOW.js +10 -0
- package/src/shade/renderer/rasterize/RasterizationJob.d.ts +1 -2
- package/src/shade/renderer/rasterize/RasterizationJob.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/RasterizationJob.js +1 -2
- package/src/shade/renderer/rasterize/bucket/construct_primitive_state.d.ts +5 -6
- package/src/shade/renderer/rasterize/bucket/construct_primitive_state.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/bucket/construct_primitive_state.js +5 -6
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +2 -2
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +1 -1
- package/src/shade/renderer/scene/SCENE_DATABASE_SPEC.d.ts.map +1 -1
- package/src/shade/renderer/scene/SCENE_DATABASE_SPEC.js +11 -0
- package/src/shade/renderer/scene/optimization/geometry/geometry_deduplicate.d.ts +1 -1
- package/src/shade/renderer/scene/optimization/geometry/geometry_deduplicate.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/geometry_deduplicate.js +135 -73
- package/src/shade/renderer/scene/optimization/geometry/internal/cover_greedy.d.ts +7 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/cover_greedy.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/cover_greedy.js +29 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/face_neighbourhood_hash.d.ts +19 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/face_neighbourhood_hash.d.ts.map +1 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/face_neighbourhood_hash.js +167 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/neighbourhood_anchor_index.d.ts +25 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/neighbourhood_anchor_index.d.ts.map +1 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/neighbourhood_anchor_index.js +124 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/seed_correspondence_from_face_pair.d.ts +19 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/seed_correspondence_from_face_pair.d.ts.map +1 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/seed_correspondence_from_face_pair.js +48 -0
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts +17 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.js +29 -3
- package/src/shade/renderer/shader/chunk/atmosphere/phase/jd/build_lut_fog_parameters_jendersie_deon.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/phase/jd/build_lut_fog_parameters_jendersie_deon.js +4 -5
- package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.js +1 -5
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_importance.d.ts +30 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_importance.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_importance.js +54 -0
- package/src/shade/renderer/shader/type/serde/read_gpu_typed_buffer.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/serde/read_gpu_typed_buffer.js +3 -2
- package/src/shade/renderer/shadow/map/DIRECTIONAL_SHADOWMAP_STRUCT.d.ts +19 -0
- package/src/shade/renderer/shadow/map/DIRECTIONAL_SHADOWMAP_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/DIRECTIONAL_SHADOWMAP_STRUCT.js +27 -0
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts +1 -0
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +4 -0
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts +54 -0
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +502 -10
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts +3 -2
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/Shadowmap.js +3 -2
- package/src/shade/renderer/shadow/map/shader/chunk_sample_shadowmap_atlas_for_light.d.ts +8 -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 +34 -3
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional.d.ts +3 -2
- 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 +17 -2
- 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 +137 -133
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_FIRST_TEXEL_SIZE.d.ts +15 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_FIRST_TEXEL_SIZE.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_FIRST_TEXEL_SIZE.js +14 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_PAGE_BUDGET.d.ts +16 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_PAGE_BUDGET.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_PAGE_BUDGET.js +15 -0
- package/src/shade/renderer/shadow/vsm/PLAN.md +440 -0
- package/src/shade/renderer/shadow/vsm/REVIEW_LEDGER.md +43 -0
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.d.ts +42 -0
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.js +153 -0
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts +327 -0
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSMPageManager.js +1408 -0
- package/src/shade/renderer/shadow/vsm/VSM_COVER_LEVEL_STEP.d.ts +14 -0
- package/src/shade/renderer/shadow/vsm/VSM_COVER_LEVEL_STEP.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_COVER_LEVEL_STEP.js +13 -0
- package/src/shade/renderer/shadow/vsm/VSM_FEEDBACK_LAYOUT.d.ts +63 -0
- package/src/shade/renderer/shadow/vsm/VSM_FEEDBACK_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_FEEDBACK_LAYOUT.js +70 -0
- package/src/shade/renderer/shadow/vsm/VSM_LEVEL_LIMIT.d.ts +11 -0
- package/src/shade/renderer/shadow/vsm/VSM_LEVEL_LIMIT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_LEVEL_LIMIT.js +10 -0
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.d.ts +54 -0
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.js +75 -0
- package/src/shade/renderer/shadow/vsm/VSM_RECORD_STRUCT.d.ts +23 -0
- package/src/shade/renderer/shadow/vsm/VSM_RECORD_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_RECORD_STRUCT.js +85 -0
- package/src/shade/renderer/shadow/vsm/VSM_SLOT_STRUCT.d.ts +16 -0
- package/src/shade/renderer/shadow/vsm/VSM_SLOT_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_SLOT_STRUCT.js +29 -0
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts +136 -25
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.js +282 -116
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts +39 -0
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.js +289 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_virtual.d.ts +18 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_virtual.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_virtual.js +65 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_addressing.d.ts +17 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_addressing.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_addressing.js +75 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.d.ts +14 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.js +45 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_find_page.d.ts +17 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_find_page.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_find_page.js +100 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_page_view_projection.d.ts +15 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_page_view_projection.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_page_view_projection.js +47 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_demand.d.ts +26 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_demand.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_demand.js +156 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_gather_counts.d.ts +13 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_gather_counts.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_gather_counts.js +65 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.d.ts +30 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.js +184 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.d.ts +23 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.js +109 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.d.ts +56 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.js +211 -0
- package/src/shade/renderer/texture/format/decode_typed_gpu_data.d.ts +1 -1
- package/src/shade/renderer/texture/format/decode_typed_gpu_data.d.ts.map +1 -1
- package/src/shade/renderer/texture/format/decode_typed_gpu_data.js +3 -13
- package/src/shade/renderer/texture/format/infer_format_from_parameters.d.ts.map +1 -1
- package/src/shade/renderer/texture/format/infer_format_from_parameters.js +2 -3
- package/src/shade/renderer/texture/texture_write_to_gpu.d.ts.map +1 -1
- package/src/shade/renderer/texture/texture_write_to_gpu.js +16 -16
- package/src/shade/renderer/texture/virtual/VTPhysicalCache.d.ts +4 -90
- package/src/shade/renderer/texture/virtual/VTPhysicalCache.d.ts.map +1 -1
- package/src/shade/renderer/texture/virtual/VTPhysicalCache.js +6 -210
- package/src/shade/renderer/texture/virtual/VTPhysicalSlots.d.ts +119 -0
- package/src/shade/renderer/texture/virtual/VTPhysicalSlots.d.ts.map +1 -0
- package/src/shade/renderer/texture/virtual/VTPhysicalSlots.js +245 -0
- package/src/shade/renderer/texture/virtual/build_chunk_vt_lookup.d.ts +1 -1
- package/src/shade/renderer/texture/virtual/build_chunk_vt_lookup.d.ts.map +1 -1
- package/src/shade/renderer/texture/virtual/build_chunk_vt_lookup.js +3 -19
- package/src/shade/renderer/texture/virtual/chunk_vt_page_table_entry.d.ts +13 -0
- package/src/shade/renderer/texture/virtual/chunk_vt_page_table_entry.d.ts.map +1 -0
- package/src/shade/renderer/texture/virtual/chunk_vt_page_table_entry.js +34 -0
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts +7 -2
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts.map +1 -1
- package/src/shade/renderer/water/GPUWaterRenderer.js +49 -49
- package/src/shade/renderer/water/chunk_water_transport.js +3 -3
- package/src/shade/renderer/water/medium/GPUWaterBodies.d.ts +11 -25
- package/src/shade/renderer/water/medium/GPUWaterBodies.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/GPUWaterBodies.js +64 -116
- package/src/shade/renderer/water/medium/WATER_BODIES_STRUCT.d.ts +1 -20
- package/src/shade/renderer/water/medium/WATER_BODIES_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/WATER_BODIES_STRUCT.js +10 -42
- package/src/shade/renderer/water/medium/chunk_water_bodies.d.ts +3 -0
- package/src/shade/renderer/water/medium/chunk_water_bodies.d.ts.map +1 -0
- package/src/shade/renderer/water/medium/chunk_water_bodies.js +3 -0
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.d.ts +1 -5
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.js +32 -30
- package/src/shade/renderer/water/medium/shader_water_meshlets.d.ts +4 -0
- package/src/shade/renderer/water/medium/shader_water_meshlets.d.ts.map +1 -0
- package/src/shade/renderer/water/medium/shader_water_meshlets.js +69 -0
- package/src/shade/renderer/water/optics/chunk_water_inscatter.d.ts.map +1 -1
- package/src/shade/renderer/water/optics/chunk_water_inscatter.js +124 -123
- 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 +75 -74
- package/src/shade/renderer/water/shader_water.d.ts +1 -1
- package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water.js +490 -406
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.d.ts +12 -85
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.js +128 -408
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts +6 -0
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.js +23 -0
- package/src/shade/renderer/water/surface/chunk_water_tessellation.d.ts +9 -0
- package/src/shade/renderer/water/surface/chunk_water_tessellation.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/chunk_water_tessellation.js +144 -0
- package/src/shade/renderer/water/surface/chunk_water_wave.d.ts +3 -5
- package/src/shade/renderer/water/surface/chunk_water_wave.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/chunk_water_wave.js +40 -48
- package/src/shade/renderer/water/surface/graph_water_tessellation.d.ts +14 -0
- package/src/shade/renderer/water/surface/graph_water_tessellation.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/graph_water_tessellation.js +34 -0
- package/src/shade/renderer/water/surface/shader_water_tiles.d.ts +4 -0
- package/src/shade/renderer/water/surface/shader_water_tiles.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_tiles.js +123 -0
- package/src/shade/renderer/water/surface/shader_water_wave_batch.d.ts +6 -0
- package/src/shade/renderer/water/surface/shader_water_wave_batch.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_wave_batch.js +85 -0
- package/src/shade/renderer/water/surface/shader_water_wave_domain.d.ts +6 -0
- package/src/shade/renderer/water/surface/shader_water_wave_domain.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_wave_domain.js +83 -0
- package/src/shade/renderer/water/water_height_texture_from_sampler.d.ts.map +1 -1
- package/src/shade/renderer/water/water_height_texture_from_sampler.js +4 -3
- package/src/engine/ecs/ik/IKConstraint.d.ts +0 -52
- package/src/engine/ecs/ik/IKConstraint.d.ts.map +0 -1
- package/src/engine/ecs/ik/IKConstraint.js +0 -95
- package/src/engine/ecs/ik/IKProblem.d.ts +0 -45
- package/src/engine/ecs/ik/IKProblem.d.ts.map +0 -1
- package/src/engine/ecs/ik/IKProblem.js +0 -58
- package/src/engine/ecs/ik/IKSolver.d.ts +0 -8
- package/src/engine/ecs/ik/IKSolver.d.ts.map +0 -1
- package/src/engine/ecs/ik/IKSolver.js +0 -9
- package/src/engine/ecs/ik/InverseKinematics.d.ts +0 -48
- package/src/engine/ecs/ik/InverseKinematics.d.ts.map +0 -1
- package/src/engine/ecs/ik/InverseKinematics.js +0 -119
- package/src/engine/ecs/ik/InverseKinematicsSerializationAdapter.d.ts +0 -19
- package/src/engine/ecs/ik/InverseKinematicsSerializationAdapter.d.ts.map +0 -1
- package/src/engine/ecs/ik/InverseKinematicsSerializationAdapter.js +0 -72
- package/src/engine/ecs/ik/InverseKinematicsSystem.d.ts +0 -54
- package/src/engine/ecs/ik/InverseKinematicsSystem.d.ts.map +0 -1
- package/src/engine/ecs/ik/InverseKinematicsSystem.js +0 -212
- package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.d.ts +0 -8
- package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.d.ts.map +0 -1
- package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.js +0 -153
- package/src/engine/ecs/ik/TwoBoneInverseKinematicsSolver.d.ts +0 -5
- package/src/engine/ecs/ik/TwoBoneInverseKinematicsSolver.d.ts.map +0 -1
- package/src/engine/ecs/ik/TwoBoneInverseKinematicsSolver.js +0 -120
- package/src/engine/ecs/ik/ik_bone_chain.d.ts +0 -64
- package/src/engine/ecs/ik/ik_bone_chain.d.ts.map +0 -1
- package/src/engine/ecs/ik/ik_bone_chain.js +0 -142
- package/src/engine/ecs/ik/ik_probe_terrain_contact.d.ts +0 -42
- package/src/engine/ecs/ik/ik_probe_terrain_contact.d.ts.map +0 -1
- package/src/engine/ecs/ik/ik_probe_terrain_contact.js +0 -123
- package/src/engine/ecs/ik/ik_write_local_rotation.d.ts +0 -18
- package/src/engine/ecs/ik/ik_write_local_rotation.d.ts.map +0 -1
- package/src/engine/ecs/ik/ik_write_local_rotation.js +0 -32
- package/src/engine/graphics/ecs/water/WATER_SIZE.d.ts +0 -2
- package/src/engine/graphics/ecs/water/WATER_SIZE.d.ts.map +0 -1
- package/src/engine/graphics/ecs/water/WATER_SIZE.js +0 -1
- package/src/shade/renderer/light/GPUViewLightContext.d.ts +0 -22
- package/src/shade/renderer/light/GPUViewLightContext.d.ts.map +0 -1
- package/src/shade/renderer/light/GPUViewLightContext.js +0 -62
- package/src/shade/renderer/shadow/map/csm/CSM_SHADOWMAP_STRUCT.d.ts +0 -14
- package/src/shade/renderer/shadow/map/csm/CSM_SHADOWMAP_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/shadow/map/csm/CSM_SHADOWMAP_STRUCT.js +0 -20
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.d.ts +0 -27
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.js +0 -147
- package/src/shade/renderer/shadow/vsm/GPUVirtualShadowTextureResidence.d.ts +0 -7
- package/src/shade/renderer/shadow/vsm/GPUVirtualShadowTextureResidence.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/GPUVirtualShadowTextureResidence.js +0 -10
- package/src/shade/renderer/shadow/vsm/VSM_RESIDENCE_WORKGROUP_TILE_RESOLUTION.d.ts +0 -2
- package/src/shade/renderer/shadow/vsm/VSM_RESIDENCE_WORKGROUP_TILE_RESOLUTION.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VSM_RESIDENCE_WORKGROUP_TILE_RESOLUTION.js +0 -1
- package/src/shade/renderer/shadow/vsm/VSM_UNIFORMS_STRUCT.d.ts +0 -3
- package/src/shade/renderer/shadow/vsm/VSM_UNIFORMS_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VSM_UNIFORMS_STRUCT.js +0 -8
- package/src/shade/renderer/shadow/vsm/VirtualShadowmapRenderer.d.ts +0 -27
- package/src/shade/renderer/shadow/vsm/VirtualShadowmapRenderer.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VirtualShadowmapRenderer.js +0 -102
- package/src/shade/renderer/shadow/vsm/debug_inspect_coarse_bounds_buffer.d.ts +0 -8
- package/src/shade/renderer/shadow/vsm/debug_inspect_coarse_bounds_buffer.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/debug_inspect_coarse_bounds_buffer.js +0 -34
- package/src/shade/renderer/shadow/vsm/debug_inspect_residence_buffer.d.ts +0 -10
- package/src/shade/renderer/shadow/vsm/debug_inspect_residence_buffer.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/debug_inspect_residence_buffer.js +0 -64
- package/src/shade/renderer/shadow/vsm/decode_tile_address.d.ts +0 -11
- package/src/shade/renderer/shadow/vsm/decode_tile_address.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/decode_tile_address.js +0 -26
- package/src/shade/renderer/shadow/vsm/render/vms_render_tiles.d.ts +0 -2
- package/src/shade/renderer/shadow/vsm/render/vms_render_tiles.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/render/vms_render_tiles.js +0 -11
- package/src/shade/renderer/shadow/vsm/vms_pipeline_compute_coarse_bounds.d.ts +0 -20
- package/src/shade/renderer/shadow/vsm/vms_pipeline_compute_coarse_bounds.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/vms_pipeline_compute_coarse_bounds.js +0 -184
- package/src/shade/renderer/shadow/vsm/vsm_residence_pipeline.d.ts +0 -25
- package/src/shade/renderer/shadow/vsm/vsm_residence_pipeline.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/vsm_residence_pipeline.js +0 -230
- package/src/shade/renderer/shadow/vsm/vsm_tile_allocation_pipeline.d.ts +0 -19
- package/src/shade/renderer/shadow/vsm/vsm_tile_allocation_pipeline.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/vsm_tile_allocation_pipeline.js +0 -127
- package/src/shade/renderer/texture/encode/ENCODE_NOTES_2026_09_02.md +0 -462
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance.d.ts +0 -23
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance.d.ts.map +0 -1
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance_dry.d.ts +0 -18
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance_dry.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/WATER_SURFACE_VERTEX_STRUCT.d.ts +0 -12
- package/src/shade/renderer/water/surface/WATER_SURFACE_VERTEX_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/WATER_SURFACE_VERTEX_STRUCT.js +0 -27
- package/src/shade/renderer/water/surface/WATER_WAVE_PARAMETERS_STRUCT.d.ts +0 -14
- package/src/shade/renderer/water/surface/WATER_WAVE_PARAMETERS_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/WATER_WAVE_PARAMETERS_STRUCT.js +0 -49
- package/src/shade/renderer/water/surface/chunk_water_wave_grid.d.ts +0 -9
- package/src/shade/renderer/water/surface/chunk_water_wave_grid.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/chunk_water_wave_grid.js +0 -47
- package/src/shade/renderer/water/surface/shader_water_surface_write.d.ts +0 -10
- package/src/shade/renderer/water/surface/shader_water_surface_write.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/shader_water_surface_write.js +0 -51
- package/src/shade/renderer/water/surface/shader_water_wave_step.d.ts +0 -12
- package/src/shade/renderer/water/surface/shader_water_wave_step.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/shader_water_wave_step.js +0 -54
- package/src/shade/renderer/water/surface/water_surface_grid_indices.d.ts +0 -13
- package/src/shade/renderer/water/surface/water_surface_grid_indices.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/water_surface_grid_indices.js +0 -39
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { assert } from "../../../core/assert.js";
|
|
2
|
-
import { GPUStateAuthorityFlags } from "../gpu/GPUStateAuthorityFlags.js";
|
|
3
|
-
import { gpu_authority_has } from "../gpu/gpu_authority_has.js";
|
|
4
|
-
import { transform_attachment_parent_of } from "../transform-attachment/transform_attachment_parent_of.js";
|
|
5
|
-
import { TransformAttachment } from "../transform-attachment/TransformAttachment.js";
|
|
6
|
-
import { Transform64 } from "../transform/Transform64.js";
|
|
7
|
-
import { t64_evaluate_world } from "../transform/t64_evaluate_world.js";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* One link of a chain the solvers work on: the entity, the world pose the hierarchy composed for
|
|
11
|
-
* it, and the local pose that composition came from.
|
|
12
|
-
*
|
|
13
|
-
* A solver reads the world pose and writes the local one — writing the world pose directly would be
|
|
14
|
-
* overwritten by {@link TransformAttachmentSystem} the moment anything above moved, and the local
|
|
15
|
-
* rotation is what a joint angle *is*.
|
|
16
|
-
*/
|
|
17
|
-
export class IKBone {
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* @type {number}
|
|
21
|
-
*/
|
|
22
|
-
entity = -1;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* The bone's world pose this frame. Read only.
|
|
26
|
-
*
|
|
27
|
-
* The component itself when the CPU composes the chain; {@link evaluated} when the GPU does,
|
|
28
|
-
* in which case the component holds whatever the CPU last composed and is not read.
|
|
29
|
-
*
|
|
30
|
-
* @type {Transform64|null}
|
|
31
|
-
*/
|
|
32
|
-
world = null;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Where an evaluated world pose is written — see {@link ik_bone_chain}.
|
|
36
|
-
*
|
|
37
|
-
* @type {Transform64}
|
|
38
|
-
*/
|
|
39
|
-
evaluated = new Transform64();
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Relative to the parent bone. This is what a solver writes.
|
|
43
|
-
*
|
|
44
|
-
* @type {Transform64|null}
|
|
45
|
-
*/
|
|
46
|
-
local = null;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* The component {@link IKBone#local} belongs to.
|
|
50
|
-
*
|
|
51
|
-
* A Transform64 announces nothing when it is written, so a solver has to say that it changed,
|
|
52
|
-
* and the announcement names the component the hierarchy is listening for - which is this one,
|
|
53
|
-
* not the transform inside it.
|
|
54
|
-
*
|
|
55
|
-
* @type {TransformAttachment|null}
|
|
56
|
-
*/
|
|
57
|
-
attachment = null;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Fill a chain of bones running from the effector up towards the root.
|
|
62
|
-
*
|
|
63
|
-
* `result[0]` is the effector itself, `result[1]` its parent, and so on. The walk stops early when
|
|
64
|
-
* the hierarchy runs out, which is how a chain that is too short to solve announces itself.
|
|
65
|
-
*
|
|
66
|
-
* @param {IKBone[]} result must hold at least `count` bones
|
|
67
|
-
* @param {EntityComponentDataset} dataset
|
|
68
|
-
* @param {number} effector
|
|
69
|
-
* @param {number} count how many links the solver needs
|
|
70
|
-
* @returns {boolean} `false` when the hierarchy holds fewer than `count` links above and including
|
|
71
|
-
* the effector, or when one of them is not a full transform pair. Neither is an error — a model
|
|
72
|
-
* that has not finished arriving looks exactly like this
|
|
73
|
-
*/
|
|
74
|
-
export function ik_bone_chain(result, dataset, effector, count, playbacks = null, cache = null) {
|
|
75
|
-
assert.isNonNegativeInteger(effector, 'effector');
|
|
76
|
-
assert.isNonNegativeInteger(count, 'count');
|
|
77
|
-
assert.ok(result.length >= count, 'result is too short for the requested chain');
|
|
78
|
-
|
|
79
|
-
let entity = effector;
|
|
80
|
-
|
|
81
|
-
for (let i = 0; i < count; i++) {
|
|
82
|
-
if (entity === -1) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const world = dataset.getComponent(entity, Transform64);
|
|
87
|
-
|
|
88
|
-
if (world === undefined) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const attachment = dataset.getComponent(entity, TransformAttachment);
|
|
93
|
-
|
|
94
|
-
if (attachment === undefined) {
|
|
95
|
-
// a root, so it has no joint angle to move and cannot be part of a chain
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const bone = result[i];
|
|
100
|
-
|
|
101
|
-
bone.entity = entity;
|
|
102
|
-
bone.world = world;
|
|
103
|
-
bone.local = attachment.transform;
|
|
104
|
-
bone.attachment = attachment;
|
|
105
|
-
|
|
106
|
-
entity = transform_attachment_parent_of(dataset, entity);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/*
|
|
110
|
-
A bone under a GPU-composed ancestor holds the world the CPU last composed, not this frame's:
|
|
111
|
-
the chain is then evaluated exactly from the clips, which is what the GPU is drawing. The
|
|
112
|
-
flag sits on the whole subtree below a driven joint, so the effector carries it whenever any
|
|
113
|
-
bone above does; every bone is checked all the same, because that is cheap and the invariant
|
|
114
|
-
is the animation manager's, not this walk's.
|
|
115
|
-
*/
|
|
116
|
-
let gpu_composed = false;
|
|
117
|
-
|
|
118
|
-
for (let i = 0; i < count; i++) {
|
|
119
|
-
if (gpu_authority_has(dataset, result[i].entity, GPUStateAuthorityFlags.Transform64)) {
|
|
120
|
-
gpu_composed = true;
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
if (gpu_composed) {
|
|
126
|
-
assert.defined(playbacks, 'playbacks: the chain is GPU-composed, so its world poses have to be evaluated');
|
|
127
|
-
|
|
128
|
-
for (let i = 0; i < count; i++) {
|
|
129
|
-
const bone = result[i];
|
|
130
|
-
|
|
131
|
-
if (cache !== null) {
|
|
132
|
-
cache.evaluate(bone.evaluated, dataset, bone.entity, playbacks);
|
|
133
|
-
} else {
|
|
134
|
-
t64_evaluate_world(bone.evaluated, dataset, bone.entity, playbacks);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
bone.world = bone.evaluated;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Find where an IK chain meets the terrain and how strongly the solver should pull towards it.
|
|
3
|
-
*
|
|
4
|
-
* Two casts are made. The first travels from `origin` towards `effector` and establishes which
|
|
5
|
-
* surface the limb is over at all. The second starts just outside that surface, directly above the
|
|
6
|
-
* effector along the surface normal, and comes back down — that is what actually locates the point
|
|
7
|
-
* under the effector rather than the point under the limb's root, and it is what `out_contact` and
|
|
8
|
-
* `out_target` describe on return.
|
|
9
|
-
*
|
|
10
|
-
* The returned influence answers "how much of this correction should apply":
|
|
11
|
-
* - the effector is BELOW the surface (penetrating) → `1`, correct it fully;
|
|
12
|
-
* - the effector HOVERS above the surface → falls off from `1` to `0` across
|
|
13
|
-
* `constraint.distance`, measured as a fraction of `length_scale`, so the same constraint reads
|
|
14
|
-
* the same way for a long limb and a short one;
|
|
15
|
-
* - no surface was found at all → `0`.
|
|
16
|
-
*
|
|
17
|
-
* This exists because {@link TwoBoneInverseKinematicsSolver} and
|
|
18
|
-
* {@link OneBoneSurfaceAlignmentSolver} carried the identical ~70-line probe, comments and variable
|
|
19
|
-
* names included, differing only in which lengths they scaled by. The solvers now hold nothing but
|
|
20
|
-
* their rotation math.
|
|
21
|
-
*
|
|
22
|
-
* @param {Vector3} out_target receives the world position the effector should be moved to; only
|
|
23
|
-
* written when a non-zero influence is returned
|
|
24
|
-
* @param {SurfacePoint3} out_contact receives the surface contact from the SECOND cast; only
|
|
25
|
-
* written when a non-zero influence is returned. Solvers that need the contact normal (surface
|
|
26
|
-
* alignment) read it from here
|
|
27
|
-
* @param {Terrain} terrain
|
|
28
|
-
* @param {number} origin_x start of the limb, the root bone's world position
|
|
29
|
-
* @param {number} origin_y
|
|
30
|
-
* @param {number} origin_z
|
|
31
|
-
* @param {number} effector_x world position of the bone being placed. The probe direction is
|
|
32
|
-
* `effector - origin`, so these must not coincide
|
|
33
|
-
* @param {number} effector_y
|
|
34
|
-
* @param {number} effector_z
|
|
35
|
-
* @param {IKConstraint} constraint supplies `offset` (how far off the surface the effector rests)
|
|
36
|
-
* and `distance` (the hover band over which influence falls off)
|
|
37
|
-
* @param {number} length_scale limb length in world units; `constraint.offset` and the hover
|
|
38
|
-
* distance are both expressed relative to it. Must be greater than 0
|
|
39
|
-
* @returns {number} influence in `[0,1]`; `0` means "do nothing"
|
|
40
|
-
*/
|
|
41
|
-
export function ik_probe_terrain_contact(out_target: Vector3, out_contact: SurfacePoint3, terrain: Terrain, origin_x: number, origin_y: number, origin_z: number, effector_x: number, effector_y: number, effector_z: number, constraint: IKConstraint, length_scale: number): number;
|
|
42
|
-
//# sourceMappingURL=ik_probe_terrain_contact.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ik_probe_terrain_contact.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/ik/ik_probe_terrain_contact.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,sHAbW,MAAM,YACN,MAAM,YACN,MAAM,cACN,MAAM,cAEN,MAAM,cACN,MAAM,0CAGN,MAAM,GAEJ,MAAM,CA8ElB"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { v3_displace_in_direction } from "../../../core/geom/vec3/v3_displace_in_direction.js";
|
|
2
|
-
import { v3_dot } from "../../../core/geom/vec3/v3_dot.js";
|
|
3
|
-
import { v3_length } from "../../../core/geom/vec3/v3_length.js";
|
|
4
|
-
import { clamp01 } from "../../../core/math/clamp01.js";
|
|
5
|
-
import { inverseLerp } from "../../../core/math/inverseLerp.js";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Find where an IK chain meets the terrain and how strongly the solver should pull towards it.
|
|
9
|
-
*
|
|
10
|
-
* Two casts are made. The first travels from `origin` towards `effector` and establishes which
|
|
11
|
-
* surface the limb is over at all. The second starts just outside that surface, directly above the
|
|
12
|
-
* effector along the surface normal, and comes back down — that is what actually locates the point
|
|
13
|
-
* under the effector rather than the point under the limb's root, and it is what `out_contact` and
|
|
14
|
-
* `out_target` describe on return.
|
|
15
|
-
*
|
|
16
|
-
* The returned influence answers "how much of this correction should apply":
|
|
17
|
-
* - the effector is BELOW the surface (penetrating) → `1`, correct it fully;
|
|
18
|
-
* - the effector HOVERS above the surface → falls off from `1` to `0` across
|
|
19
|
-
* `constraint.distance`, measured as a fraction of `length_scale`, so the same constraint reads
|
|
20
|
-
* the same way for a long limb and a short one;
|
|
21
|
-
* - no surface was found at all → `0`.
|
|
22
|
-
*
|
|
23
|
-
* This exists because {@link TwoBoneInverseKinematicsSolver} and
|
|
24
|
-
* {@link OneBoneSurfaceAlignmentSolver} carried the identical ~70-line probe, comments and variable
|
|
25
|
-
* names included, differing only in which lengths they scaled by. The solvers now hold nothing but
|
|
26
|
-
* their rotation math.
|
|
27
|
-
*
|
|
28
|
-
* @param {Vector3} out_target receives the world position the effector should be moved to; only
|
|
29
|
-
* written when a non-zero influence is returned
|
|
30
|
-
* @param {SurfacePoint3} out_contact receives the surface contact from the SECOND cast; only
|
|
31
|
-
* written when a non-zero influence is returned. Solvers that need the contact normal (surface
|
|
32
|
-
* alignment) read it from here
|
|
33
|
-
* @param {Terrain} terrain
|
|
34
|
-
* @param {number} origin_x start of the limb, the root bone's world position
|
|
35
|
-
* @param {number} origin_y
|
|
36
|
-
* @param {number} origin_z
|
|
37
|
-
* @param {number} effector_x world position of the bone being placed. The probe direction is
|
|
38
|
-
* `effector - origin`, so these must not coincide
|
|
39
|
-
* @param {number} effector_y
|
|
40
|
-
* @param {number} effector_z
|
|
41
|
-
* @param {IKConstraint} constraint supplies `offset` (how far off the surface the effector rests)
|
|
42
|
-
* and `distance` (the hover band over which influence falls off)
|
|
43
|
-
* @param {number} length_scale limb length in world units; `constraint.offset` and the hover
|
|
44
|
-
* distance are both expressed relative to it. Must be greater than 0
|
|
45
|
-
* @returns {number} influence in `[0,1]`; `0` means "do nothing"
|
|
46
|
-
*/
|
|
47
|
-
export function ik_probe_terrain_contact(
|
|
48
|
-
out_target,
|
|
49
|
-
out_contact,
|
|
50
|
-
terrain,
|
|
51
|
-
origin_x, origin_y, origin_z,
|
|
52
|
-
effector_x, effector_y, effector_z,
|
|
53
|
-
constraint,
|
|
54
|
-
length_scale
|
|
55
|
-
) {
|
|
56
|
-
|
|
57
|
-
//check if the there is a penetration with the terrain between the two bones
|
|
58
|
-
const directionX = effector_x - origin_x;
|
|
59
|
-
const directionY = effector_y - origin_y;
|
|
60
|
-
const directionZ = effector_z - origin_z;
|
|
61
|
-
|
|
62
|
-
let contactExists = terrain.raycastFirstSync(
|
|
63
|
-
out_contact,
|
|
64
|
-
origin_x,
|
|
65
|
-
origin_y,
|
|
66
|
-
origin_z,
|
|
67
|
-
directionX,
|
|
68
|
-
directionY,
|
|
69
|
-
directionZ
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
if (!contactExists) {
|
|
73
|
-
//no contact
|
|
74
|
-
return 0;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const contactPosition = out_contact.position;
|
|
78
|
-
const contactNormal = out_contact.normal;
|
|
79
|
-
|
|
80
|
-
//perform secondary cast from the bone, back along the surface normal
|
|
81
|
-
contactExists = terrain.raycastFirstSync(
|
|
82
|
-
out_contact,
|
|
83
|
-
effector_x + contactNormal.x,
|
|
84
|
-
effector_y + contactNormal.y,
|
|
85
|
-
effector_z + contactNormal.z,
|
|
86
|
-
-contactNormal.x,
|
|
87
|
-
-contactNormal.y,
|
|
88
|
-
-contactNormal.z
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
if (!contactExists) {
|
|
92
|
-
//no contact
|
|
93
|
-
return 0;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
const targetOffsetDistance = constraint.offset * length_scale;
|
|
97
|
-
|
|
98
|
-
v3_displace_in_direction(
|
|
99
|
-
out_target,
|
|
100
|
-
targetOffsetDistance,
|
|
101
|
-
contactPosition.x, contactPosition.y, contactPosition.z,
|
|
102
|
-
contactNormal.x, contactNormal.y, contactNormal.z
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
const delta_contact_c_x = out_target.x - effector_x;
|
|
106
|
-
const delta_contact_c_y = out_target.y - effector_y;
|
|
107
|
-
const delta_contact_c_z = out_target.z - effector_z;
|
|
108
|
-
|
|
109
|
-
//check if current effector position is above the contact point
|
|
110
|
-
const dot_contact_side = v3_dot(directionX, directionY, directionZ, delta_contact_c_x, delta_contact_c_y, delta_contact_c_z);
|
|
111
|
-
|
|
112
|
-
if (dot_contact_side < 0) {
|
|
113
|
-
//penetration detected
|
|
114
|
-
return 1;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
//no penetration, hovering case, use hover distance for influence
|
|
118
|
-
const delta_contact_c_length = v3_length(delta_contact_c_x, delta_contact_c_y, delta_contact_c_z);
|
|
119
|
-
|
|
120
|
-
const normalized_effector_distance = inverseLerp(0, length_scale, delta_contact_c_length);
|
|
121
|
-
|
|
122
|
-
return 1 - clamp01(constraint.distance.normalizeValue(normalized_effector_distance));
|
|
123
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Write a solved joint angle back onto a bone.
|
|
3
|
-
*
|
|
4
|
-
* Three separate things have to happen, where a signalling transform did them as one. The rotation
|
|
5
|
-
* is written as four numbers. The local matrix is recomposed, because only a translation write
|
|
6
|
-
* lands in the matrix on its own. And the change is announced, because a {@link Transform64}
|
|
7
|
-
* carries no signals and {@link TransformAttachmentSystem} is waiting to hear that this bone moved
|
|
8
|
-
* before it recomposes every world pose below it.
|
|
9
|
-
*
|
|
10
|
-
* The announcement goes on the attachment's channel and not the transform's, because a bone's local
|
|
11
|
-
* pose is not a component in its own right - it lives inside the attachment.
|
|
12
|
-
*
|
|
13
|
-
* @param {EntityComponentDataset} dataset
|
|
14
|
-
* @param {IKBone} bone
|
|
15
|
-
* @param {Quaternion} rotation
|
|
16
|
-
*/
|
|
17
|
-
export function ik_write_local_rotation(dataset: EntityComponentDataset, bone: IKBone, rotation: Quaternion): void;
|
|
18
|
-
//# sourceMappingURL=ik_write_local_rotation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ik_write_local_rotation.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/ik/ik_write_local_rotation.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,mHAWC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { GPUStateAuthorityFlags } from "../gpu/GPUStateAuthorityFlags.js";
|
|
2
|
-
import { gpu_authority_assert_cpu } from "../gpu/gpu_authority_assert_cpu.js";
|
|
3
|
-
import { TRANSFORM_ATTACHMENT_EVENT_CHANGE } from "../transform-attachment/TRANSFORM_ATTACHMENT_EVENT_CHANGE.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Write a solved joint angle back onto a bone.
|
|
7
|
-
*
|
|
8
|
-
* Three separate things have to happen, where a signalling transform did them as one. The rotation
|
|
9
|
-
* is written as four numbers. The local matrix is recomposed, because only a translation write
|
|
10
|
-
* lands in the matrix on its own. And the change is announced, because a {@link Transform64}
|
|
11
|
-
* carries no signals and {@link TransformAttachmentSystem} is waiting to hear that this bone moved
|
|
12
|
-
* before it recomposes every world pose below it.
|
|
13
|
-
*
|
|
14
|
-
* The announcement goes on the attachment's channel and not the transform's, because a bone's local
|
|
15
|
-
* pose is not a component in its own right - it lives inside the attachment.
|
|
16
|
-
*
|
|
17
|
-
* @param {EntityComponentDataset} dataset
|
|
18
|
-
* @param {IKBone} bone
|
|
19
|
-
* @param {Quaternion} rotation
|
|
20
|
-
*/
|
|
21
|
-
export function ik_write_local_rotation(dataset, bone, rotation) {
|
|
22
|
-
// A clip-driven bone's offset is the GPU's: the pose accumulator writes its row every frame
|
|
23
|
-
// and the flush would not carry this write over it. IK moves bones no clip drives.
|
|
24
|
-
gpu_authority_assert_cpu(dataset, bone.entity, GPUStateAuthorityFlags.TransformAttachment);
|
|
25
|
-
|
|
26
|
-
const local = bone.local;
|
|
27
|
-
|
|
28
|
-
local.setRotation(rotation.x, rotation.y, rotation.z, rotation.w);
|
|
29
|
-
local.updateMatrix();
|
|
30
|
-
|
|
31
|
-
dataset.sendEvent(bone.entity, TRANSFORM_ATTACHMENT_EVENT_CHANGE);
|
|
32
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WATER_SIZE.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WATER_SIZE.js"],"names":[],"mappings":"AAAA,6BAA8B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const WATER_SIZE = 800;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represents lights visible from perspective of a specific camera
|
|
3
|
-
*/
|
|
4
|
-
export class GPUViewLightContext {
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
* @param {GPUDevice} device
|
|
8
|
-
* @param {GPUSceneContext} scene
|
|
9
|
-
* @param {GPUCameraContext} camera
|
|
10
|
-
*/
|
|
11
|
-
constructor(device: GPUDevice, scene: GPUSceneContext, camera: GPUCameraContext);
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* @returns {GPUViewShadowMaps}
|
|
15
|
-
*/
|
|
16
|
-
get shadows(): GPUViewShadowMaps;
|
|
17
|
-
destroy(): void;
|
|
18
|
-
update(): void;
|
|
19
|
-
#private;
|
|
20
|
-
}
|
|
21
|
-
import { GPUViewShadowMaps } from "../shadow/vsm/GPUViewShadowMaps.js";
|
|
22
|
-
//# sourceMappingURL=GPUViewLightContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GPUViewLightContext.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/light/GPUViewLightContext.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IA+BI;;;;;OAKG;IACH,iFAQC;IA3BD;;;OAGG;IACH,iCAEC;IAuBD,gBAGC;IAED,eAGC;;CACJ;kCA7DiC,oCAAoC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { GPUViewShadowMaps } from "../shadow/vsm/GPUViewShadowMaps.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Represents lights visible from perspective of a specific camera
|
|
5
|
-
*/
|
|
6
|
-
export class GPUViewLightContext {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @type {GPUCameraContext}
|
|
11
|
-
*/
|
|
12
|
-
#camera
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @type {GPULightCollection}
|
|
16
|
-
*/
|
|
17
|
-
#source
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
|
-
#shadows;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
26
|
-
* @returns {GPUViewShadowMaps}
|
|
27
|
-
*/
|
|
28
|
-
get shadows() {
|
|
29
|
-
return this.#shadows;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @type {GPUDevice}
|
|
34
|
-
*/
|
|
35
|
-
#device
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
*
|
|
39
|
-
* @param {GPUDevice} device
|
|
40
|
-
* @param {GPUSceneContext} scene
|
|
41
|
-
* @param {GPUCameraContext} camera
|
|
42
|
-
*/
|
|
43
|
-
constructor(device, scene, camera) {
|
|
44
|
-
|
|
45
|
-
this.#device = device;
|
|
46
|
-
this.#source = scene.lights;
|
|
47
|
-
this.#camera = camera;
|
|
48
|
-
|
|
49
|
-
this.#shadows = new GPUViewShadowMaps(device,scene);
|
|
50
|
-
this.#shadows.lights = scene.lights;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
destroy() {
|
|
54
|
-
this.#shadows.destroy();
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
update() {
|
|
59
|
-
|
|
60
|
-
this.#shadows.update();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A directional light's shadow map: a row of the light database's `shadow_directional` table,
|
|
3
|
-
* which the light's `shadow_id` names. Nothing but where its cascades are — a range over the
|
|
4
|
-
* `shadow_cascade` table, one row per cascade, nearest first.
|
|
5
|
-
*
|
|
6
|
-
* The range does not own its rows: the shadow context claims a map's run when it builds the map and
|
|
7
|
-
* gives it back when it evicts it, while the record itself sits in a slot that is reassigned
|
|
8
|
-
* densely as maps come and go.
|
|
9
|
-
*
|
|
10
|
-
* @type {WebGPUStruct}
|
|
11
|
-
*/
|
|
12
|
-
export const CSM_SHADOWMAP_STRUCT: WebGPUStruct;
|
|
13
|
-
import { WebGPUStruct } from "../../../shader/type/WebGPUStruct.js";
|
|
14
|
-
//# sourceMappingURL=CSM_SHADOWMAP_STRUCT.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CSM_SHADOWMAP_STRUCT.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/shadow/map/csm/CSM_SHADOWMAP_STRUCT.js"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,mCAFU,YAAY,CAOI;6BAlBG,sCAAsC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { u32 } from "../../../shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
2
|
-
import { WebGPUStruct } from "../../../shader/type/WebGPUStruct.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* A directional light's shadow map: a row of the light database's `shadow_directional` table,
|
|
6
|
-
* which the light's `shadow_id` names. Nothing but where its cascades are — a range over the
|
|
7
|
-
* `shadow_cascade` table, one row per cascade, nearest first.
|
|
8
|
-
*
|
|
9
|
-
* The range does not own its rows: the shadow context claims a map's run when it builds the map and
|
|
10
|
-
* gives it back when it evicts it, while the record itself sits in a slot that is reassigned
|
|
11
|
-
* densely as maps come and go.
|
|
12
|
-
*
|
|
13
|
-
* @type {WebGPUStruct}
|
|
14
|
-
*/
|
|
15
|
-
export const CSM_SHADOWMAP_STRUCT = WebGPUStruct.from({
|
|
16
|
-
/** row of the map's nearest cascade in `shadow_cascade` */
|
|
17
|
-
first_cascade: u32,
|
|
18
|
-
/** how many cascades follow it, the nearest included */
|
|
19
|
-
cascade_count: u32,
|
|
20
|
-
}, "CSMShadowmap").pack();
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export class GPUViewShadowMaps {
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param {GPUDevice} device
|
|
5
|
-
* @param {GPUSceneContext} scene
|
|
6
|
-
*/
|
|
7
|
-
constructor(device: GPUDevice, scene: GPUSceneContext);
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @type {Map<AbstractLight, VirtualShadowMap>}
|
|
11
|
-
*/
|
|
12
|
-
mapping: Map<AbstractLight, VirtualShadowMap>;
|
|
13
|
-
/**
|
|
14
|
-
* @returns {VirtualShadowMap[]}
|
|
15
|
-
*/
|
|
16
|
-
get maps(): VirtualShadowMap[];
|
|
17
|
-
/**
|
|
18
|
-
* @type {GPULightCollection}
|
|
19
|
-
*/
|
|
20
|
-
lights: GPULightCollection;
|
|
21
|
-
update(): void;
|
|
22
|
-
finish_frame(): void;
|
|
23
|
-
destroy(): void;
|
|
24
|
-
#private;
|
|
25
|
-
}
|
|
26
|
-
import { VirtualShadowMap } from "./VirtualShadowMap.js";
|
|
27
|
-
//# sourceMappingURL=GPUViewShadowMaps.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GPUViewShadowMaps.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/shadow/vsm/GPUViewShadowMaps.js"],"names":[],"mappings":"AAaA;IAYI;;;;OAIG;IACH,uDAGC;IAED;;;OAGG;IACH,SAFU,mBAAmB,gBAAgB,CAAC,CAE1B;IAEpB;;OAEG;IACH,+BAEC;IAED;;OAEG;IACH,2BAAO;IAoDP,eA+BC;IAED,qBAEC;IAED,gBAKC;;CACJ;iCAhJgC,uBAAuB"}
|