@zephyr3d/scene 0.9.1 → 0.9.3
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/dist/animation/animationset.js +2 -0
- package/dist/animation/animationset.js.map +1 -1
- package/dist/animation/cloth/gpu_cloth_system.js +9 -1
- package/dist/animation/cloth/gpu_cloth_system.js.map +1 -1
- package/dist/animation/fixed_geometry_cache_track.js +5 -1
- package/dist/animation/fixed_geometry_cache_track.js.map +1 -1
- package/dist/animation/geometry_cache_utils.js +20 -4
- package/dist/animation/geometry_cache_utils.js.map +1 -1
- package/dist/animation/ik/ik_angle_constraint.js +2 -6
- package/dist/animation/ik/ik_angle_constraint.js.map +1 -1
- package/dist/animation/ik/ik_chain_builder.js +68 -0
- package/dist/animation/ik/ik_chain_builder.js.map +1 -0
- package/dist/animation/ik/ik_pole_constraint.js +2 -7
- package/dist/animation/ik/ik_pole_constraint.js.map +1 -1
- package/dist/animation/ik/two_bone_ik_solver.js +2 -6
- package/dist/animation/ik/two_bone_ik_solver.js.map +1 -1
- package/dist/animation/joint_dynamics/collision.js +60 -12
- package/dist/animation/joint_dynamics/collision.js.map +1 -1
- package/dist/animation/joint_dynamics/constraints.js +20 -4
- package/dist/animation/joint_dynamics/constraints.js.map +1 -1
- package/dist/animation/joint_dynamics/controller.js +94 -46
- package/dist/animation/joint_dynamics/controller.js.map +1 -1
- package/dist/animation/joint_dynamics/math.js +16 -0
- package/dist/animation/joint_dynamics/math.js.map +1 -0
- package/dist/animation/joint_dynamics/solver.js +21 -11
- package/dist/animation/joint_dynamics/solver.js.map +1 -1
- package/dist/animation/joint_dynamics/types.js +15 -3
- package/dist/animation/joint_dynamics/types.js.map +1 -1
- package/dist/animation/pca_geometry_cache_track.js +5 -1
- package/dist/animation/pca_geometry_cache_track.js.map +1 -1
- package/dist/animation/skeleton.js +2 -2
- package/dist/animation/skeleton.js.map +1 -1
- package/dist/animation/skeleton_modifier.js +2 -6
- package/dist/animation/skeleton_modifier.js.map +1 -1
- package/dist/animation/spring/spring_particle.js +4 -4
- package/dist/animation/spring/spring_particle.js.map +1 -1
- package/dist/animation/spring/spring_system.js +13 -40
- package/dist/animation/spring/spring_system.js.map +1 -1
- package/dist/animation/spring2/constraints.js.map +1 -1
- package/dist/animation/spring2/controller.js +64 -64
- package/dist/animation/spring2/controller.js.map +1 -1
- package/dist/animation/spring2/math.js.map +1 -1
- package/dist/animation/spring2/spring_system.js +8 -8
- package/dist/animation/spring2/spring_system.js.map +1 -1
- package/dist/app/app.js.map +1 -1
- package/dist/app/engine.js +1 -1
- package/dist/app/engine.js.map +1 -1
- package/dist/app/screen.js +4 -4
- package/dist/app/screen.js.map +1 -1
- package/dist/app/scriptingsystem.js +24 -1
- package/dist/app/scriptingsystem.js.map +1 -1
- package/dist/app/scriptregistry.js +22 -1
- package/dist/app/scriptregistry.js.map +1 -1
- package/dist/asset/assetmanager.js +2 -2
- package/dist/asset/assetmanager.js.map +1 -1
- package/dist/asset/model.js +60 -60
- package/dist/asset/model.js.map +1 -1
- package/dist/camera/camera.js +1 -1
- package/dist/camera/camera.js.map +1 -1
- package/dist/camera/orbit.js.map +1 -1
- package/dist/index.d.ts +795 -266
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/material/material.js +3 -1
- package/dist/material/material.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
- package/dist/material/shader/helper.js +281 -278
- package/dist/material/shader/helper.js.map +1 -1
- package/dist/material/sprite.js +6 -6
- package/dist/material/sprite.js.map +1 -1
- package/dist/material/terrain-cm.js +2 -2
- package/dist/material/terrain-cm.js.map +1 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js +38 -0
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js.map +1 -0
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js +10 -0
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js.map +1 -0
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js +127 -0
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js.map +1 -0
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js +263 -0
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js.map +1 -0
- package/dist/posteffect/taa.js +31 -39
- package/dist/posteffect/taa.js.map +1 -1
- package/dist/render/cluster_light.js +3 -4
- package/dist/render/cluster_light.js.map +1 -1
- package/dist/render/drawable.js +5 -1
- package/dist/render/drawable.js.map +1 -1
- package/dist/render/rendergraph/device_pool_allocator.js +29 -3
- package/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
- package/dist/render/rendergraph/executor.js +283 -33
- package/dist/render/rendergraph/executor.js.map +1 -1
- package/dist/render/rendergraph/forward_plus_builder.js +338 -108
- package/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
- package/dist/render/rendergraph/history_resource_manager.js +195 -115
- package/dist/render/rendergraph/history_resource_manager.js.map +1 -1
- package/dist/render/rendergraph/history_resources.js +10 -0
- package/dist/render/rendergraph/history_resources.js.map +1 -0
- package/dist/render/rendergraph/rendergraph.js +162 -35
- package/dist/render/rendergraph/rendergraph.js.map +1 -1
- package/dist/render/rendergraph/types.js +25 -5
- package/dist/render/rendergraph/types.js.map +1 -1
- package/dist/render/rendertarget.js +5 -1
- package/dist/render/rendertarget.js.map +1 -1
- package/dist/render/screenrendertarget.js +5 -1
- package/dist/render/screenrendertarget.js.map +1 -1
- package/dist/render/sky.js +4 -4
- package/dist/render/sky.js.map +1 -1
- package/dist/scene/basesprite.js +2 -2
- package/dist/scene/basesprite.js.map +1 -1
- package/dist/scene/graph_node.js +1 -1
- package/dist/scene/graph_node.js.map +1 -1
- package/dist/scene/mesh.js +81 -97
- package/dist/scene/mesh.js.map +1 -1
- package/dist/scene/particlesys.js +1 -1
- package/dist/scene/particlesys.js.map +1 -1
- package/dist/scene/scene_node.js +228 -228
- package/dist/scene/scene_node.js.map +1 -1
- package/dist/scene/script_attachment.js +15 -3
- package/dist/scene/script_attachment.js.map +1 -1
- package/dist/scene/terrain-cm/terrain-cm.js +3 -3
- package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
- package/dist/shadow/shadowmapper.js.map +1 -1
- package/dist/shapes/box.js +1 -1
- package/dist/shapes/box.js.map +1 -1
- package/dist/shapes/capsule.js +0 -3
- package/dist/shapes/capsule.js.map +1 -1
- package/dist/shapes/cylinder.js +0 -3
- package/dist/shapes/cylinder.js.map +1 -1
- package/dist/shapes/plane.js +0 -3
- package/dist/shapes/plane.js.map +1 -1
- package/dist/shapes/tetrahedron.js +3 -9
- package/dist/shapes/tetrahedron.js.map +1 -1
- package/dist/shapes/torus.js +94 -66
- package/dist/shapes/torus.js.map +1 -1
- package/dist/src/animation/animation.js +127 -0
- package/dist/src/animation/animation.js.map +1 -0
- package/dist/src/animation/animationset.js +255 -0
- package/dist/src/animation/animationset.js.map +1 -0
- package/dist/src/animation/animationtrack.js +34 -0
- package/dist/src/animation/animationtrack.js.map +1 -0
- package/dist/src/animation/eulerrotationtrack.js +52 -0
- package/dist/src/animation/eulerrotationtrack.js.map +1 -0
- package/dist/src/animation/morphtarget.js +93 -0
- package/dist/src/animation/morphtarget.js.map +1 -0
- package/dist/src/animation/morphtrack.js +70 -0
- package/dist/src/animation/morphtrack.js.map +1 -0
- package/dist/src/animation/proptrack.js +161 -0
- package/dist/src/animation/proptrack.js.map +1 -0
- package/dist/src/animation/rotationtrack.js +51 -0
- package/dist/src/animation/rotationtrack.js.map +1 -0
- package/dist/src/animation/scaletrack.js +50 -0
- package/dist/src/animation/scaletrack.js.map +1 -0
- package/dist/src/animation/skeleton.js +204 -0
- package/dist/src/animation/skeleton.js.map +1 -0
- package/dist/src/animation/translationtrack.js +50 -0
- package/dist/src/animation/translationtrack.js.map +1 -0
- package/dist/src/app/app.js +129 -0
- package/dist/src/app/app.js.map +1 -0
- package/dist/src/app/inputmgr.js +267 -0
- package/dist/src/app/inputmgr.js.map +1 -0
- package/dist/src/asset/assetmanager.js +404 -0
- package/dist/src/asset/assetmanager.js.map +1 -0
- package/dist/src/asset/builtin.js +337 -0
- package/dist/src/asset/builtin.js.map +1 -0
- package/dist/src/asset/loaders/dds/dds.js +470 -0
- package/dist/src/asset/loaders/dds/dds.js.map +1 -0
- package/dist/src/asset/loaders/dds/dds_loader.js +28 -0
- package/dist/src/asset/loaders/dds/dds_loader.js.map +1 -0
- package/dist/src/asset/loaders/gltf/gltf_loader.js +1265 -0
- package/dist/src/asset/loaders/gltf/gltf_loader.js.map +1 -0
- package/dist/src/asset/loaders/gltf/helpers.js +327 -0
- package/dist/src/asset/loaders/gltf/helpers.js.map +1 -0
- package/dist/src/asset/loaders/hdr/hdr.js +180 -0
- package/dist/src/asset/loaders/hdr/hdr.js.map +1 -0
- package/dist/src/asset/loaders/image/tga_Loader.js +116 -0
- package/dist/src/asset/loaders/image/tga_Loader.js.map +1 -0
- package/dist/src/asset/loaders/image/webimage_loader.js +63 -0
- package/dist/src/asset/loaders/image/webimage_loader.js.map +1 -0
- package/dist/src/asset/loaders/loader.js +45 -0
- package/dist/src/asset/loaders/loader.js.map +1 -0
- package/dist/src/asset/model.js +414 -0
- package/dist/src/asset/model.js.map +1 -0
- package/dist/src/blitter/bilateralblur.js +221 -0
- package/dist/src/blitter/bilateralblur.js.map +1 -0
- package/dist/src/blitter/blitter.js +390 -0
- package/dist/src/blitter/blitter.js.map +1 -0
- package/dist/src/blitter/box.js +118 -0
- package/dist/src/blitter/box.js.map +1 -0
- package/dist/src/blitter/copy.js +22 -0
- package/dist/src/blitter/copy.js.map +1 -0
- package/dist/src/blitter/gaussianblur.js +228 -0
- package/dist/src/blitter/gaussianblur.js.map +1 -0
- package/dist/src/camera/base.js +92 -0
- package/dist/src/camera/base.js.map +1 -0
- package/dist/src/camera/camera.js +1005 -0
- package/dist/src/camera/camera.js.map +1 -0
- package/dist/src/camera/fps.js +238 -0
- package/dist/src/camera/fps.js.map +1 -0
- package/dist/src/camera/orbit.js +245 -0
- package/dist/src/camera/orbit.js.map +1 -0
- package/dist/src/camera/orthocamera.js +167 -0
- package/dist/src/camera/orthocamera.js.map +1 -0
- package/dist/src/camera/perspectivecamera.js +141 -0
- package/dist/src/camera/perspectivecamera.js.map +1 -0
- package/dist/src/index.js +120 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/material/blinn.js +81 -0
- package/dist/src/material/blinn.js.map +1 -0
- package/dist/src/material/grassmaterial.js +113 -0
- package/dist/src/material/grassmaterial.js.map +1 -0
- package/dist/src/material/lambert.js +92 -0
- package/dist/src/material/lambert.js.map +1 -0
- package/dist/src/material/material.js +301 -0
- package/dist/src/material/material.js.map +1 -0
- package/dist/src/material/meshmaterial.js +704 -0
- package/dist/src/material/meshmaterial.js.map +1 -0
- package/dist/src/material/mixins/albedocolor.js +76 -0
- package/dist/src/material/mixins/albedocolor.js.map +1 -0
- package/dist/src/material/mixins/foliage.js +47 -0
- package/dist/src/material/mixins/foliage.js.map +1 -0
- package/dist/src/material/mixins/lightmodel/blinnphong.js +112 -0
- package/dist/src/material/mixins/lightmodel/blinnphong.js.map +1 -0
- package/dist/src/material/mixins/lightmodel/lambert.js +58 -0
- package/dist/src/material/mixins/lightmodel/lambert.js.map +1 -0
- package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js +178 -0
- package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -0
- package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js +139 -0
- package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -0
- package/dist/src/material/mixins/lit.js +476 -0
- package/dist/src/material/mixins/lit.js.map +1 -0
- package/dist/src/material/mixins/pbr/common.js +918 -0
- package/dist/src/material/mixins/pbr/common.js.map +1 -0
- package/dist/src/material/mixins/texture.js +172 -0
- package/dist/src/material/mixins/texture.js.map +1 -0
- package/dist/src/material/mixins/vertexcolor.js +56 -0
- package/dist/src/material/mixins/vertexcolor.js.map +1 -0
- package/dist/src/material/particle.js +178 -0
- package/dist/src/material/particle.js.map +1 -0
- package/dist/src/material/pbrmr.js +97 -0
- package/dist/src/material/pbrmr.js.map +1 -0
- package/dist/src/material/pbrsg.js +97 -0
- package/dist/src/material/pbrsg.js.map +1 -0
- package/dist/src/material/shader/helper.js +1209 -0
- package/dist/src/material/shader/helper.js.map +1 -0
- package/dist/src/material/terrain-cm.js +606 -0
- package/dist/src/material/terrain-cm.js.map +1 -0
- package/dist/src/material/terrainmaterial.js +375 -0
- package/dist/src/material/terrainmaterial.js.map +1 -0
- package/dist/src/material/unlit.js +41 -0
- package/dist/src/material/unlit.js.map +1 -0
- package/dist/src/material/water.js +417 -0
- package/dist/src/material/water.js.map +1 -0
- package/dist/src/posteffect/bloom.js +361 -0
- package/dist/src/posteffect/bloom.js.map +1 -0
- package/dist/src/posteffect/compositor.js +226 -0
- package/dist/src/posteffect/compositor.js.map +1 -0
- package/dist/src/posteffect/fxaa.js +273 -0
- package/dist/src/posteffect/fxaa.js.map +1 -0
- package/dist/src/posteffect/grayscale.js +69 -0
- package/dist/src/posteffect/grayscale.js.map +1 -0
- package/dist/src/posteffect/motionblur.js +96 -0
- package/dist/src/posteffect/motionblur.js.map +1 -0
- package/dist/src/posteffect/posteffect.js +126 -0
- package/dist/src/posteffect/posteffect.js.map +1 -0
- package/dist/src/posteffect/sao.js +324 -0
- package/dist/src/posteffect/sao.js.map +1 -0
- package/dist/src/posteffect/ssr.js +489 -0
- package/dist/src/posteffect/ssr.js.map +1 -0
- package/dist/src/posteffect/taa.js +172 -0
- package/dist/src/posteffect/taa.js.map +1 -0
- package/dist/src/posteffect/tonemap.js +94 -0
- package/dist/src/posteffect/tonemap.js.map +1 -0
- package/dist/src/render/abuffer_oit.js +361 -0
- package/dist/src/render/abuffer_oit.js.map +1 -0
- package/dist/src/render/clipmap.js +851 -0
- package/dist/src/render/clipmap.js.map +1 -0
- package/dist/src/render/cluster_light.js +333 -0
- package/dist/src/render/cluster_light.js.map +1 -0
- package/dist/src/render/cull_visitor.js +187 -0
- package/dist/src/render/cull_visitor.js.map +1 -0
- package/dist/src/render/depthpass.js +68 -0
- package/dist/src/render/depthpass.js.map +1 -0
- package/dist/src/render/drawable_mixin.js +227 -0
- package/dist/src/render/drawable_mixin.js.map +1 -0
- package/dist/src/render/envlight.js +463 -0
- package/dist/src/render/envlight.js.map +1 -0
- package/dist/src/render/fbm_wavegenerator.js +251 -0
- package/dist/src/render/fbm_wavegenerator.js.map +1 -0
- package/dist/src/render/fft_wavegenerator.js +1006 -0
- package/dist/src/render/fft_wavegenerator.js.map +1 -0
- package/dist/src/render/fullscreenquad.js +38 -0
- package/dist/src/render/fullscreenquad.js.map +1 -0
- package/dist/src/render/gerstner_wavegenerator.js +314 -0
- package/dist/src/render/gerstner_wavegenerator.js.map +1 -0
- package/dist/src/render/globalbindgroup_allocator.js +60 -0
- package/dist/src/render/globalbindgroup_allocator.js.map +1 -0
- package/dist/src/render/hzb.js +273 -0
- package/dist/src/render/hzb.js.map +1 -0
- package/dist/src/render/lightpass.js +172 -0
- package/dist/src/render/lightpass.js.map +1 -0
- package/dist/src/render/objectcolorpass.js +51 -0
- package/dist/src/render/objectcolorpass.js.map +1 -0
- package/dist/src/render/primitive.js +364 -0
- package/dist/src/render/primitive.js.map +1 -0
- package/dist/src/render/render_queue.js +467 -0
- package/dist/src/render/render_queue.js.map +1 -0
- package/dist/src/render/renderbundle_wrapper.js +152 -0
- package/dist/src/render/renderbundle_wrapper.js.map +1 -0
- package/dist/src/render/renderer.js +455 -0
- package/dist/src/render/renderer.js.map +1 -0
- package/dist/src/render/renderpass.js +200 -0
- package/dist/src/render/renderpass.js.map +1 -0
- package/dist/src/render/shadowmap_pass.js +56 -0
- package/dist/src/render/shadowmap_pass.js.map +1 -0
- package/dist/src/render/sky.js +1103 -0
- package/dist/src/render/sky.js.map +1 -0
- package/dist/src/render/weightedblended_oit.js +168 -0
- package/dist/src/render/weightedblended_oit.js.map +1 -0
- package/dist/src/scene/batchgroup.js +162 -0
- package/dist/src/scene/batchgroup.js.map +1 -0
- package/dist/src/scene/environment.js +209 -0
- package/dist/src/scene/environment.js.map +1 -0
- package/dist/src/scene/graph_node.js +72 -0
- package/dist/src/scene/graph_node.js.map +1 -0
- package/dist/src/scene/light.js +416 -0
- package/dist/src/scene/light.js.map +1 -0
- package/dist/src/scene/mesh.js +341 -0
- package/dist/src/scene/mesh.js.map +1 -0
- package/dist/src/scene/octree.js +649 -0
- package/dist/src/scene/octree.js.map +1 -0
- package/dist/src/scene/particlesys.js +738 -0
- package/dist/src/scene/particlesys.js.map +1 -0
- package/dist/src/scene/raycast_visitor.js +103 -0
- package/dist/src/scene/raycast_visitor.js.map +1 -0
- package/dist/src/scene/scene.js +284 -0
- package/dist/src/scene/scene.js.map +1 -0
- package/dist/src/scene/scene_node.js +732 -0
- package/dist/src/scene/scene_node.js.map +1 -0
- package/dist/src/scene/terrain/grass.js +278 -0
- package/dist/src/scene/terrain/grass.js.map +1 -0
- package/dist/src/scene/terrain/heightfield.js +475 -0
- package/dist/src/scene/terrain/heightfield.js.map +1 -0
- package/dist/src/scene/terrain/patch.js +530 -0
- package/dist/src/scene/terrain/patch.js.map +1 -0
- package/dist/src/scene/terrain/quadtree.js +461 -0
- package/dist/src/scene/terrain/quadtree.js.map +1 -0
- package/dist/src/scene/terrain/terrain.js +246 -0
- package/dist/src/scene/terrain/terrain.js.map +1 -0
- package/dist/src/scene/terrain-cm/grass.js +594 -0
- package/dist/src/scene/terrain-cm/grass.js.map +1 -0
- package/dist/src/scene/terrain-cm/grassmaterial.js +159 -0
- package/dist/src/scene/terrain-cm/grassmaterial.js.map +1 -0
- package/dist/src/scene/terrain-cm/terrain-cm.js +538 -0
- package/dist/src/scene/terrain-cm/terrain-cm.js.map +1 -0
- package/dist/src/scene/water.js +374 -0
- package/dist/src/scene/water.js.map +1 -0
- package/dist/src/shaders/atmosphere.js +957 -0
- package/dist/src/shaders/atmosphere.js.map +1 -0
- package/dist/src/shaders/fog.js +112 -0
- package/dist/src/shaders/fog.js.map +1 -0
- package/dist/src/shaders/misc.js +266 -0
- package/dist/src/shaders/misc.js.map +1 -0
- package/dist/src/shaders/noise.js +222 -0
- package/dist/src/shaders/noise.js.map +1 -0
- package/dist/src/shaders/pbr.js +51 -0
- package/dist/src/shaders/pbr.js.map +1 -0
- package/dist/src/shaders/shadow.js +636 -0
- package/dist/src/shaders/shadow.js.map +1 -0
- package/dist/src/shaders/ssr.js +490 -0
- package/dist/src/shaders/ssr.js.map +1 -0
- package/dist/src/shaders/temporal.js +215 -0
- package/dist/src/shaders/temporal.js.map +1 -0
- package/dist/src/shaders/water.js +756 -0
- package/dist/src/shaders/water.js.map +1 -0
- package/dist/src/shadow/esm.js +237 -0
- package/dist/src/shadow/esm.js.map +1 -0
- package/dist/src/shadow/pcf_opt.js +181 -0
- package/dist/src/shadow/pcf_opt.js.map +1 -0
- package/dist/src/shadow/pcf_pd.js +189 -0
- package/dist/src/shadow/pcf_pd.js.map +1 -0
- package/dist/src/shadow/shader.js +37 -0
- package/dist/src/shadow/shader.js.map +1 -0
- package/dist/src/shadow/shadow_impl.js +15 -0
- package/dist/src/shadow/shadow_impl.js.map +1 -0
- package/dist/src/shadow/shadowmapper.js +790 -0
- package/dist/src/shadow/shadowmapper.js.map +1 -0
- package/dist/src/shadow/ssm.js +159 -0
- package/dist/src/shadow/ssm.js.map +1 -0
- package/dist/src/shadow/vsm.js +297 -0
- package/dist/src/shadow/vsm.js.map +1 -0
- package/dist/src/shapes/box.js +386 -0
- package/dist/src/shapes/box.js.map +1 -0
- package/dist/src/shapes/cylinder.js +125 -0
- package/dist/src/shapes/cylinder.js.map +1 -0
- package/dist/src/shapes/plane.js +88 -0
- package/dist/src/shapes/plane.js.map +1 -0
- package/dist/src/shapes/shape.js +87 -0
- package/dist/src/shapes/shape.js.map +1 -0
- package/dist/src/shapes/sphere.js +114 -0
- package/dist/src/shapes/sphere.js.map +1 -0
- package/dist/src/shapes/tetrahedron.js +188 -0
- package/dist/src/shapes/tetrahedron.js.map +1 -0
- package/dist/src/shapes/torus.js +111 -0
- package/dist/src/shapes/torus.js.map +1 -0
- package/dist/src/utility/aabbtree.js +400 -0
- package/dist/src/utility/aabbtree.js.map +1 -0
- package/dist/src/utility/bounding_volume.js +29 -0
- package/dist/src/utility/bounding_volume.js.map +1 -0
- package/dist/src/utility/debug.js +28 -0
- package/dist/src/utility/debug.js.map +1 -0
- package/dist/src/utility/draco/decoder.js +116 -0
- package/dist/src/utility/draco/decoder.js.map +1 -0
- package/dist/src/utility/misc.js +105 -0
- package/dist/src/utility/misc.js.map +1 -0
- package/dist/src/utility/panorama.js +163 -0
- package/dist/src/utility/panorama.js.map +1 -0
- package/dist/src/utility/pmrem.js +354 -0
- package/dist/src/utility/pmrem.js.map +1 -0
- package/dist/src/utility/rendermipmap.js +115 -0
- package/dist/src/utility/rendermipmap.js.map +1 -0
- package/dist/src/utility/serialization/json.js +402 -0
- package/dist/src/utility/serialization/json.js.map +1 -0
- package/dist/src/utility/serialization/manager.js +623 -0
- package/dist/src/utility/serialization/manager.js.map +1 -0
- package/dist/src/utility/serialization/scene/animation.js +248 -0
- package/dist/src/utility/serialization/scene/animation.js.map +1 -0
- package/dist/src/utility/serialization/scene/batch.js +59 -0
- package/dist/src/utility/serialization/scene/batch.js.map +1 -0
- package/dist/src/utility/serialization/scene/camera.js +790 -0
- package/dist/src/utility/serialization/scene/camera.js.map +1 -0
- package/dist/src/utility/serialization/scene/common.js +222 -0
- package/dist/src/utility/serialization/scene/common.js.map +1 -0
- package/dist/src/utility/serialization/scene/light.js +575 -0
- package/dist/src/utility/serialization/scene/light.js.map +1 -0
- package/dist/src/utility/serialization/scene/material.js +1111 -0
- package/dist/src/utility/serialization/scene/material.js.map +1 -0
- package/dist/src/utility/serialization/scene/mesh.js +148 -0
- package/dist/src/utility/serialization/scene/mesh.js.map +1 -0
- package/dist/src/utility/serialization/scene/misc.js +39 -0
- package/dist/src/utility/serialization/scene/misc.js.map +1 -0
- package/dist/src/utility/serialization/scene/node.js +451 -0
- package/dist/src/utility/serialization/scene/node.js.map +1 -0
- package/dist/src/utility/serialization/scene/particle.js +425 -0
- package/dist/src/utility/serialization/scene/particle.js.map +1 -0
- package/dist/src/utility/serialization/scene/primitive.js +692 -0
- package/dist/src/utility/serialization/scene/primitive.js.map +1 -0
- package/dist/src/utility/serialization/scene/scene.js +704 -0
- package/dist/src/utility/serialization/scene/scene.js.map +1 -0
- package/dist/src/utility/serialization/scene/terrain.js +488 -0
- package/dist/src/utility/serialization/scene/terrain.js.map +1 -0
- package/dist/src/utility/serialization/scene/water.js +465 -0
- package/dist/src/utility/serialization/scene/water.js.map +1 -0
- package/dist/src/utility/shprojector.js +297 -0
- package/dist/src/utility/shprojector.js.map +1 -0
- package/dist/src/utility/textures/ggxlut.js +213 -0
- package/dist/src/utility/textures/ggxlut.js.map +1 -0
- package/dist/src/utility/textures/gradientnoise.js +62 -0
- package/dist/src/utility/textures/gradientnoise.js.map +1 -0
- package/dist/src/utility/textures/randomnoise.js +41 -0
- package/dist/src/utility/textures/randomnoise.js.map +1 -0
- package/dist/src/values.js +162 -0
- package/dist/src/values.js.map +1 -0
- package/dist/utility/blueprint/material/common.js +7 -0
- package/dist/utility/blueprint/material/common.js.map +1 -0
- package/dist/utility/blueprint/material/inputs.js +3 -3
- package/dist/utility/blueprint/material/inputs.js.map +1 -1
- package/dist/utility/blueprint/material/ir.js +4 -4
- package/dist/utility/blueprint/material/ir.js.map +1 -1
- package/dist/utility/serialization/blueprint/constants.js +255 -0
- package/dist/utility/serialization/blueprint/constants.js.map +1 -0
- package/dist/utility/serialization/blueprint/material/constants.js +203 -0
- package/dist/utility/serialization/blueprint/material/constants.js.map +1 -0
- package/dist/utility/serialization/blueprint/material/texture.js +165 -0
- package/dist/utility/serialization/blueprint/material/texture.js.map +1 -0
- package/dist/utility/serialization/manager.js +299 -268
- package/dist/utility/serialization/manager.js.map +1 -1
- package/dist/utility/serialization/scene/animation.js +45 -0
- package/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/utility/serialization/scene/camera.js +53 -0
- package/dist/utility/serialization/scene/camera.js.map +1 -1
- package/dist/utility/serialization/scene/common.js +10 -0
- package/dist/utility/serialization/scene/common.js.map +1 -1
- package/dist/utility/serialization/scene/light.js +30 -0
- package/dist/utility/serialization/scene/light.js.map +1 -1
- package/dist/utility/serialization/scene/material.js +63 -0
- package/dist/utility/serialization/scene/material.js.map +1 -1
- package/dist/utility/serialization/scene/mesh.js +11 -0
- package/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/utility/serialization/scene/misc.js +2 -0
- package/dist/utility/serialization/scene/misc.js.map +1 -1
- package/dist/utility/serialization/scene/node.js +19 -0
- package/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/utility/serialization/scene/particle.js +22 -0
- package/dist/utility/serialization/scene/particle.js.map +1 -1
- package/dist/utility/serialization/scene/primitive.js +33 -0
- package/dist/utility/serialization/scene/primitive.js.map +1 -1
- package/dist/utility/serialization/scene/scene.js +39 -0
- package/dist/utility/serialization/scene/scene.js.map +1 -1
- package/dist/utility/serialization/scene/script.js +2 -0
- package/dist/utility/serialization/scene/script.js.map +1 -1
- package/dist/utility/serialization/scene/sprite.js +6 -0
- package/dist/utility/serialization/scene/sprite.js.map +1 -1
- package/dist/utility/serialization/scene/terrain.js +9 -0
- package/dist/utility/serialization/scene/terrain.js.map +1 -1
- package/dist/utility/serialization/scene/water.js +21 -0
- package/dist/utility/serialization/scene/water.js.map +1 -1
- package/dist/utility/serialization/types.js +5 -1
- package/dist/utility/serialization/types.js.map +1 -1
- package/dist/values.js +49 -53
- package/dist/values.js.map +1 -1
- package/package.json +2 -2
- package/dist/animation/joint_dynamics/vrm_spring_bone.js +0 -46
- package/dist/animation/joint_dynamics/vrm_spring_bone.js.map +0 -1
- package/dist/animation/spring/spring_bone.js +0 -240
- package/dist/animation/spring/spring_bone.js.map +0 -1
- package/dist/animation/spring/spring_bone_collider.js +0 -198
- package/dist/animation/spring/spring_bone_collider.js.map +0 -1
- package/dist/animation/spring/spring_bone_constraint.js +0 -170
- package/dist/animation/spring/spring_bone_constraint.js.map +0 -1
- package/dist/animation/spring/spring_bone_system.js +0 -328
- package/dist/animation/spring/spring_bone_system.js.map +0 -1
- package/dist/render/sky_motion_vector.js +0 -85
- package/dist/render/sky_motion_vector.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -243,6 +243,11 @@ declare function fetchSampler(type: SamplerType): TextureSampler<unknown> | null
|
|
|
243
243
|
* @public
|
|
244
244
|
*/
|
|
245
245
|
type PropertyType = string;
|
|
246
|
+
/**
|
|
247
|
+
* Maps a property type discriminator to the corresponding value lane key.
|
|
248
|
+
*
|
|
249
|
+
* @public
|
|
250
|
+
*/
|
|
246
251
|
type PropertyToType<T extends string> = T extends 'float' | 'vec2' | 'vec3' | 'vec4' | 'int' | 'int2' | 'int3' | 'int4' | 'rgb' | 'rgba' ? 'num' : T extends 'bool' ? 'bool' : T extends 'string' ? 'str' : T extends 'object' | 'object_array' ? 'object' : 'num' | 'bool' | 'str' | 'object';
|
|
247
252
|
/**
|
|
248
253
|
* Container for a serializable property's value.
|
|
@@ -278,6 +283,11 @@ type PropertyValue = {
|
|
|
278
283
|
* @public
|
|
279
284
|
*/
|
|
280
285
|
type PropEdit = 'aabb' | 'quaternion' | 'proptrack';
|
|
286
|
+
/**
|
|
287
|
+
* Extra scene-node picker hints for a property.
|
|
288
|
+
*
|
|
289
|
+
* @public
|
|
290
|
+
*/
|
|
281
291
|
type PropertySceneNodeOptions = {
|
|
282
292
|
kind?: 'node' | 'mesh';
|
|
283
293
|
};
|
|
@@ -321,6 +331,11 @@ type PropertyAccessorOptions = {
|
|
|
321
331
|
values: unknown[];
|
|
322
332
|
};
|
|
323
333
|
};
|
|
334
|
+
/**
|
|
335
|
+
* Returns the property accessor list unchanged while preserving typing.
|
|
336
|
+
*
|
|
337
|
+
* @public
|
|
338
|
+
*/
|
|
324
339
|
declare function defineProps(accessors: PropertyAccessor<any, 'DUMMY'>[]): PropertyAccessor[];
|
|
325
340
|
/**
|
|
326
341
|
* Descriptor for a serializable property of a class/type.
|
|
@@ -342,6 +357,8 @@ type PropertyAccessor<T = object, U extends string = ''> = {
|
|
|
342
357
|
type: PropertyType;
|
|
343
358
|
/** Unique property name (stable identifier for tooling/serialization). */
|
|
344
359
|
name: string;
|
|
360
|
+
/** Description of this property */
|
|
361
|
+
description?: string;
|
|
345
362
|
/**
|
|
346
363
|
* Optional evaluation phase/order hint (lower runs earlier).
|
|
347
364
|
* Useful for staged initialization or batched updates in editors.
|
|
@@ -513,6 +530,11 @@ type SerializableClass = {
|
|
|
513
530
|
* @public
|
|
514
531
|
*/
|
|
515
532
|
type ShadowMode = 'hard' | 'vsm' | 'esm' | 'pcf-pd' | 'pcf-opt';
|
|
533
|
+
/**
|
|
534
|
+
* Preset shadow quality profiles.
|
|
535
|
+
*
|
|
536
|
+
* @public
|
|
537
|
+
*/
|
|
516
538
|
type ShadowQualityPreset = 'character-small' | 'outdoor-large';
|
|
517
539
|
/**
|
|
518
540
|
* The shadow map generator
|
|
@@ -1267,6 +1289,7 @@ declare class ShaderHelper {
|
|
|
1267
1289
|
* @returns The transformed color
|
|
1268
1290
|
*/
|
|
1269
1291
|
static encodeColorOutput(scope: PBInsideFunctionScope, outputColor: PBShaderExp): PBShaderExp;
|
|
1292
|
+
static getMaxClusteredLightCount(): 255 | 127;
|
|
1270
1293
|
}
|
|
1271
1294
|
|
|
1272
1295
|
declare const Primitive_base: (new (...args: any[]) => {
|
|
@@ -1718,6 +1741,13 @@ declare class Material extends Disposable implements Clonable<Material>, IDispos
|
|
|
1718
1741
|
* Base returns `null`. Subclasses that support instancing can return a lightweight instance.
|
|
1719
1742
|
*/
|
|
1720
1743
|
createInstance(): this;
|
|
1744
|
+
/**
|
|
1745
|
+
* Returns the core material that owns GPU state.
|
|
1746
|
+
*
|
|
1747
|
+
* Instances may delegate to a shared core to reuse compiled programs and caches.
|
|
1748
|
+
* @public
|
|
1749
|
+
*/
|
|
1750
|
+
get coreMaterial(): this;
|
|
1721
1751
|
/**
|
|
1722
1752
|
* Prepare the material for drawing across all passes for the given draw context.
|
|
1723
1753
|
*
|
|
@@ -2413,9 +2443,7 @@ declare class ClipmapTerrainMaterial extends ClipmapTerrainMaterial_base {
|
|
|
2413
2443
|
static get MAX_DETAIL_MAP_COUNT(): number;
|
|
2414
2444
|
get debugMode(): TerrainDebugMode;
|
|
2415
2445
|
set debugMode(mode: TerrainDebugMode);
|
|
2416
|
-
set region(val: Vector4);
|
|
2417
2446
|
setClipmapGridInfo(gridScale: number, gridOffsetX: number, gridOffsetY: number): void;
|
|
2418
|
-
set terrainScale(val: Vector3);
|
|
2419
2447
|
get numDetailMaps(): number;
|
|
2420
2448
|
set numDetailMaps(val: number);
|
|
2421
2449
|
getSplatMap(): Texture2D<unknown> | Texture2DArray<unknown> | null;
|
|
@@ -3461,6 +3489,11 @@ type IMixinLight = {
|
|
|
3461
3489
|
*/
|
|
3462
3490
|
declare function mixinLight<T extends typeof MeshMaterial>(BaseCls: T): T & (new (...args: any[]) => IMixinLight);
|
|
3463
3491
|
|
|
3492
|
+
/**
|
|
3493
|
+
* Reflection model used by the PBR metallic-roughness material.
|
|
3494
|
+
*
|
|
3495
|
+
* @public
|
|
3496
|
+
*/
|
|
3464
3497
|
type PBRReflectionMode = 'none' | 'ggx' | 'anisotropic' | 'glint';
|
|
3465
3498
|
/**
|
|
3466
3499
|
* Interface for PBRMetallicRoughness lighting model mixin
|
|
@@ -3659,9 +3692,9 @@ declare class PBRBluePrintMaterial extends PBRBluePrintMaterial_base implements
|
|
|
3659
3692
|
* using UV information and an anchor point to control how the sprite
|
|
3660
3693
|
* is positioned and textured.
|
|
3661
3694
|
*
|
|
3662
|
-
* Derived classes can override
|
|
3663
|
-
*
|
|
3664
|
-
*
|
|
3695
|
+
* Derived classes can override `internalSetupUniforms()`,
|
|
3696
|
+
* `internalApplyUniforms()`, and
|
|
3697
|
+
* `calcFragmentColor()` to provide custom
|
|
3665
3698
|
* uniforms and shading logic (e.g. sampling a texture).
|
|
3666
3699
|
*
|
|
3667
3700
|
* @public
|
|
@@ -3769,9 +3802,9 @@ declare class SpriteMaterial extends MeshMaterial implements Clonable<SpriteMate
|
|
|
3769
3802
|
* @remarks
|
|
3770
3803
|
* This method:
|
|
3771
3804
|
* - Calls the base implementation.
|
|
3772
|
-
* - Invokes
|
|
3805
|
+
* - Invokes `internalSetupUniforms()` for
|
|
3773
3806
|
* fragment-stage specific uniform declarations.
|
|
3774
|
-
* - Computes fragment color by calling
|
|
3807
|
+
* - Computes fragment color by calling `calcFragmentColor()`
|
|
3775
3808
|
* if fragment color is needed.
|
|
3776
3809
|
* - Outputs the final fragment color via {@link MeshMaterial.outputFragmentColor}.
|
|
3777
3810
|
*
|
|
@@ -3789,7 +3822,7 @@ declare class SpriteMaterial extends MeshMaterial implements Clonable<SpriteMate
|
|
|
3789
3822
|
* for non-instanced rendering. For instanced rendering, these values
|
|
3790
3823
|
* are expected to be provided as per-instance uniforms instead.
|
|
3791
3824
|
*
|
|
3792
|
-
* It also calls
|
|
3825
|
+
* It also calls `internalApplyUniforms()` to allow
|
|
3793
3826
|
* derived classes to bind additional resources (e.g. textures).
|
|
3794
3827
|
*
|
|
3795
3828
|
* @param bindGroup - The bind group to which uniforms and resources are bound.
|
|
@@ -4507,8 +4540,6 @@ declare class SkyRenderer extends Disposable {
|
|
|
4507
4540
|
/** Which type of the sky should be rendered */
|
|
4508
4541
|
get skyType(): SkyType;
|
|
4509
4542
|
set skyType(val: SkyType);
|
|
4510
|
-
set panoramaTextureAsset(id: string);
|
|
4511
|
-
set skyboxTextureSize(size: number);
|
|
4512
4543
|
/** Baked sky texture */
|
|
4513
4544
|
getBakedSkyTexture(ctx: DrawContext): TextureCube<unknown>;
|
|
4514
4545
|
/**
|
|
@@ -4619,11 +4650,9 @@ declare class SkyRenderer extends Disposable {
|
|
|
4619
4650
|
*/
|
|
4620
4651
|
get skyboxRotation(): Immutable<Vector3>;
|
|
4621
4652
|
set skyboxRotation(val: Immutable<Vector3>);
|
|
4622
|
-
set skyWorldMatrix(val: Immutable<Matrix4x4>);
|
|
4623
4653
|
/** Current fog type */
|
|
4624
4654
|
get fogType(): FogType;
|
|
4625
4655
|
set fogType(val: FogType);
|
|
4626
|
-
set aerialPerspectiveDebug(val: number);
|
|
4627
4656
|
/**
|
|
4628
4657
|
* Force the radiance map and irradiance map to be regenerated.
|
|
4629
4658
|
*/
|
|
@@ -6256,6 +6285,11 @@ declare class FBMWaveGenerator extends Disposable implements WaveGenerator {
|
|
|
6256
6285
|
getHash(): string;
|
|
6257
6286
|
}
|
|
6258
6287
|
|
|
6288
|
+
/**
|
|
6289
|
+
* Abstract render target used to derive viewports and projection matrices.
|
|
6290
|
+
*
|
|
6291
|
+
* @public
|
|
6292
|
+
*/
|
|
6259
6293
|
declare abstract class RenderTarget {
|
|
6260
6294
|
abstract getVersion(): number;
|
|
6261
6295
|
abstract calcViewport(outViewport?: Nullable<number[]>): number[];
|
|
@@ -6294,6 +6328,8 @@ type ScreenConfig = {
|
|
|
6294
6328
|
*
|
|
6295
6329
|
* outX = inX * scaleX + offsetX
|
|
6296
6330
|
* outY = inY * scaleY + offsetY
|
|
6331
|
+
*
|
|
6332
|
+
* @public
|
|
6297
6333
|
*/
|
|
6298
6334
|
type PointTransform = {
|
|
6299
6335
|
scaleX: number;
|
|
@@ -6304,6 +6340,8 @@ type PointTransform = {
|
|
|
6304
6340
|
/**
|
|
6305
6341
|
* Resolution transform information derived from a {@link ScreenConfig}
|
|
6306
6342
|
* and a concrete viewport rectangle.
|
|
6343
|
+
*
|
|
6344
|
+
* @public
|
|
6307
6345
|
*/
|
|
6308
6346
|
type ResolutionTransform = {
|
|
6309
6347
|
/**
|
|
@@ -6357,7 +6395,7 @@ declare class ScreenAdapter {
|
|
|
6357
6395
|
* Creates a new {@link ScreenAdapter}.
|
|
6358
6396
|
*
|
|
6359
6397
|
* @param config - Optional initial screen configuration. If omitted,
|
|
6360
|
-
* a default of 1280
|
|
6398
|
+
* a default of `1280 x 720` with `cover` mode is used.
|
|
6361
6399
|
*/
|
|
6362
6400
|
constructor(config?: Immutable<ScreenConfig>);
|
|
6363
6401
|
/**
|
|
@@ -6423,7 +6461,7 @@ declare class ScreenAdapter {
|
|
|
6423
6461
|
*
|
|
6424
6462
|
* @param canvasPos - Point in canvas coordinates (CSS pixels).
|
|
6425
6463
|
* @param viewportPosOut - Optional output vector. If provided, it will be
|
|
6426
|
-
* written into and returned; otherwise a new
|
|
6464
|
+
* written into and returned; otherwise a new `Vector2` is allocated.
|
|
6427
6465
|
* @returns The point in viewport-local coordinates.
|
|
6428
6466
|
*/
|
|
6429
6467
|
canvasPosToViewport(canvasPos: Vector2, viewportPosOut?: Vector2): Vector2;
|
|
@@ -6437,7 +6475,7 @@ declare class ScreenAdapter {
|
|
|
6437
6475
|
*
|
|
6438
6476
|
* @param canvasPos - Point in canvas coordinates (CSS pixels).
|
|
6439
6477
|
* @param logicPosOut - Optional output vector. If provided, it will be
|
|
6440
|
-
* written into and returned; otherwise a new
|
|
6478
|
+
* written into and returned; otherwise a new `Vector2` is allocated.
|
|
6441
6479
|
* @returns The point in logical (design resolution) coordinates.
|
|
6442
6480
|
*/
|
|
6443
6481
|
canvasPosToLogic(canvasPos: Vector2, logicPosOut?: Vector2): Vector2;
|
|
@@ -6452,7 +6490,7 @@ declare class ScreenAdapter {
|
|
|
6452
6490
|
* @param transform - Transform parameters (scale and offset).
|
|
6453
6491
|
* @param pointIn - Input point.
|
|
6454
6492
|
* @param pointOut - Optional output vector. If provided, it will be
|
|
6455
|
-
* written into and returned; otherwise a new
|
|
6493
|
+
* written into and returned; otherwise a new `Vector2` is allocated.
|
|
6456
6494
|
* @returns The transformed point.
|
|
6457
6495
|
*/
|
|
6458
6496
|
transformPoint(transform: PointTransform, pointIn: Vector2, pointOut?: Vector2): Vector2;
|
|
@@ -6463,6 +6501,11 @@ declare class ScreenAdapter {
|
|
|
6463
6501
|
private getDefaultConfig;
|
|
6464
6502
|
}
|
|
6465
6503
|
|
|
6504
|
+
/**
|
|
6505
|
+
* Render target backed by the engine screen adapter.
|
|
6506
|
+
*
|
|
6507
|
+
* @public
|
|
6508
|
+
*/
|
|
6466
6509
|
declare class ScreenRenderTarget extends RenderTarget {
|
|
6467
6510
|
private readonly screenAdapter;
|
|
6468
6511
|
constructor(screenAdapter?: ScreenAdapter);
|
|
@@ -6506,9 +6549,9 @@ interface RGTextureDesc {
|
|
|
6506
6549
|
/**
|
|
6507
6550
|
* Opaque handle referencing a resource within the render graph.
|
|
6508
6551
|
*
|
|
6509
|
-
* Handles are obtained from {@link RGPassBuilder.createTexture}, {@link
|
|
6510
|
-
* or {@link RGPassBuilder.write}. They are lightweight identifiers
|
|
6511
|
-
* dependencies between passes.
|
|
6552
|
+
* Handles are obtained from {@link RGPassBuilder.createTexture}, {@link RGPassBuilder.createFramebuffer},
|
|
6553
|
+
* {@link RenderGraph.importTexture}, or {@link RGPassBuilder.write}. They are lightweight identifiers
|
|
6554
|
+
* used to declare dependencies between passes.
|
|
6512
6555
|
*
|
|
6513
6556
|
* @public
|
|
6514
6557
|
*/
|
|
@@ -6517,7 +6560,7 @@ declare class RGHandle {
|
|
|
6517
6560
|
get name(): string;
|
|
6518
6561
|
}
|
|
6519
6562
|
/** @public */
|
|
6520
|
-
type RGResourceKind = 'transient' | 'imported';
|
|
6563
|
+
type RGResourceKind = 'transient' | 'imported' | 'token' | 'framebuffer';
|
|
6521
6564
|
/**
|
|
6522
6565
|
* Internal bookkeeping for a resource within the render graph.
|
|
6523
6566
|
* @public
|
|
@@ -6526,12 +6569,14 @@ declare class RGResource {
|
|
|
6526
6569
|
readonly id: number;
|
|
6527
6570
|
readonly name: string;
|
|
6528
6571
|
readonly kind: RGResourceKind;
|
|
6529
|
-
readonly desc: RGTextureDesc | null;
|
|
6572
|
+
readonly desc: RGTextureDesc | RGFramebufferDesc | null;
|
|
6573
|
+
/** Resource ID of the physical backing resource used by imported versions. */
|
|
6574
|
+
readonly physicalId: number;
|
|
6530
6575
|
/** The pass that creates / writes this resource (null for imported until written). */
|
|
6531
6576
|
producer: RGPass | null;
|
|
6532
6577
|
/** Passes that read this resource. */
|
|
6533
6578
|
readonly consumers: RGPass[];
|
|
6534
|
-
constructor(id: number, name: string, kind: RGResourceKind, desc: RGTextureDesc | null);
|
|
6579
|
+
constructor(id: number, name: string, kind: RGResourceKind, desc: RGTextureDesc | RGFramebufferDesc | null, physicalId?: number);
|
|
6535
6580
|
}
|
|
6536
6581
|
/**
|
|
6537
6582
|
* Context passed to pass execute callbacks during graph execution.
|
|
@@ -6546,12 +6591,48 @@ interface RGExecuteContext {
|
|
|
6546
6591
|
*
|
|
6547
6592
|
* For transient resources, this returns the texture allocated by the executor.
|
|
6548
6593
|
* For imported resources, this returns the texture registered via
|
|
6549
|
-
* {@link RenderGraphExecutor.setImportedTexture}.
|
|
6594
|
+
* {@link RenderGraphExecutor.setImportedTexture}. The handle must be declared
|
|
6595
|
+
* by the current pass with {@link RGPassBuilder.read} or {@link RGPassBuilder.write}.
|
|
6550
6596
|
*
|
|
6551
6597
|
* @param handle - Handle of the resource to resolve.
|
|
6552
6598
|
* @returns The resolved texture object (type depends on the allocator).
|
|
6553
6599
|
*/
|
|
6554
6600
|
getTexture<TTexture = unknown>(handle: RGHandle): TTexture;
|
|
6601
|
+
/**
|
|
6602
|
+
* Resolve a framebuffer handle to the actual backend framebuffer object.
|
|
6603
|
+
*
|
|
6604
|
+
* The handle must be declared by the current pass with {@link RGPassBuilder.read}
|
|
6605
|
+
* or created by the same pass with {@link RGPassBuilder.createFramebuffer}.
|
|
6606
|
+
*
|
|
6607
|
+
* @param handle - Handle returned from {@link RGPassBuilder.createFramebuffer}.
|
|
6608
|
+
* @returns The resolved framebuffer object (type depends on the allocator).
|
|
6609
|
+
*/
|
|
6610
|
+
getFramebuffer<TFramebuffer = unknown>(handle: RGHandle): TFramebuffer;
|
|
6611
|
+
/**
|
|
6612
|
+
* Create a temporary framebuffer managed by the graph executor.
|
|
6613
|
+
*
|
|
6614
|
+
* The framebuffer is released automatically when graph execution finishes or
|
|
6615
|
+
* aborts. Attachments may be actual backend resources or texture formats,
|
|
6616
|
+
* depending on the allocator implementation. If an attachment is an
|
|
6617
|
+
* {@link RGHandle}, the current pass must declare it with
|
|
6618
|
+
* {@link RGPassBuilder.read} or {@link RGPassBuilder.write}.
|
|
6619
|
+
*
|
|
6620
|
+
* @param desc - Framebuffer descriptor.
|
|
6621
|
+
* @returns The allocated framebuffer object (type depends on the allocator).
|
|
6622
|
+
*/
|
|
6623
|
+
createFramebuffer<TFramebuffer = unknown>(desc: RGFramebufferDesc): TFramebuffer;
|
|
6624
|
+
/**
|
|
6625
|
+
* Register a cleanup callback to run when graph execution finishes or aborts.
|
|
6626
|
+
*
|
|
6627
|
+
* Callbacks run in reverse registration order. Use this for temporary objects
|
|
6628
|
+
* created inside pass execution that are not graph resources, such as pooled
|
|
6629
|
+
* framebuffers wrapping graph-managed textures. If pass execution throws, the
|
|
6630
|
+
* executor still runs cleanup callbacks and preserves the original pass error
|
|
6631
|
+
* ahead of cleanup errors.
|
|
6632
|
+
*
|
|
6633
|
+
* @param callback - Cleanup function to invoke after execution.
|
|
6634
|
+
*/
|
|
6635
|
+
deferCleanup(callback: () => void): void;
|
|
6555
6636
|
}
|
|
6556
6637
|
/**
|
|
6557
6638
|
* Execute callback signature.
|
|
@@ -6562,6 +6643,20 @@ interface RGExecuteContext {
|
|
|
6562
6643
|
* @public
|
|
6563
6644
|
*/
|
|
6564
6645
|
type RGExecuteFn<T = void> = (ctx: RGExecuteContext, data: T) => void;
|
|
6646
|
+
/**
|
|
6647
|
+
* Ordered execution step inside a render graph pass.
|
|
6648
|
+
*
|
|
6649
|
+
* Subpasses share the parent pass's resource declarations, lifetime, culling,
|
|
6650
|
+
* and access validation. They are intended to make multi-step pass bodies
|
|
6651
|
+
* explicit without splitting graph-level resource dependencies.
|
|
6652
|
+
*
|
|
6653
|
+
* @public
|
|
6654
|
+
*/
|
|
6655
|
+
declare class RGSubpass<T = unknown> {
|
|
6656
|
+
readonly name: string;
|
|
6657
|
+
readonly executeFn: RGExecuteFn<T>;
|
|
6658
|
+
constructor(name: string, executeFn: RGExecuteFn<T>);
|
|
6659
|
+
}
|
|
6565
6660
|
/**
|
|
6566
6661
|
* Internal bookkeeping for a pass within the render graph.
|
|
6567
6662
|
* @public
|
|
@@ -6573,12 +6668,16 @@ declare class RGPass<T = unknown> {
|
|
|
6573
6668
|
readonly reads: RGResource[];
|
|
6574
6669
|
/** Resources this pass creates or writes. */
|
|
6575
6670
|
readonly writes: RGResource[];
|
|
6671
|
+
/** Passes that must complete before this pass due to non-resource hazards. */
|
|
6672
|
+
readonly dependencies: RGPass[];
|
|
6576
6673
|
/** Whether this pass has side effects and must not be culled. */
|
|
6577
6674
|
hasSideEffect: boolean;
|
|
6578
6675
|
/** User data returned from the setup function. */
|
|
6579
6676
|
data: T | null;
|
|
6580
6677
|
/** Execute callback. */
|
|
6581
6678
|
executeFn: RGExecuteFn<T> | null;
|
|
6679
|
+
/** Ordered subpasses for passes with multiple logical execution steps. */
|
|
6680
|
+
readonly subpasses: RGSubpass<T>[];
|
|
6582
6681
|
/** Set during compilation: true if this pass is needed. */
|
|
6583
6682
|
alive: boolean;
|
|
6584
6683
|
constructor(index: number, name: string);
|
|
@@ -6599,11 +6698,19 @@ interface RGPassBuilder {
|
|
|
6599
6698
|
*/
|
|
6600
6699
|
read(handle: RGHandle): void;
|
|
6601
6700
|
/**
|
|
6602
|
-
* Declare that this pass writes
|
|
6701
|
+
* Declare that this pass writes a new version of an existing resource.
|
|
6702
|
+
*
|
|
6703
|
+
* The returned handle represents the post-write version. Use it for subsequent
|
|
6704
|
+
* reads and as the graph output passed to {@link RenderGraph.compile}. Passing
|
|
6705
|
+
* an older version of the same resource to `compile()` is rejected because it
|
|
6706
|
+
* usually means the caller ignored the handle returned by `write()`. If the pass
|
|
6707
|
+
* needs the previous contents, call {@link RGPassBuilder.read} on the input handle explicitly
|
|
6708
|
+
* before writing.
|
|
6603
6709
|
*
|
|
6604
6710
|
* @param handle - Handle of the resource to write to.
|
|
6711
|
+
* @returns A handle referencing the newly written version.
|
|
6605
6712
|
*/
|
|
6606
|
-
write(handle: RGHandle):
|
|
6713
|
+
write(handle: RGHandle): RGHandle;
|
|
6607
6714
|
/**
|
|
6608
6715
|
* Create a new transient texture resource that this pass will produce.
|
|
6609
6716
|
*
|
|
@@ -6611,6 +6718,27 @@ interface RGPassBuilder {
|
|
|
6611
6718
|
* @returns A handle referencing the newly created resource.
|
|
6612
6719
|
*/
|
|
6613
6720
|
createTexture(desc: RGTextureDesc): RGHandle;
|
|
6721
|
+
/**
|
|
6722
|
+
* Create a logical dependency token produced by this pass.
|
|
6723
|
+
*
|
|
6724
|
+
* Tokens do not resolve to GPU resources and are not allocated by the executor.
|
|
6725
|
+
* They are useful for ordering passes whose dependencies are side effects rather
|
|
6726
|
+
* than texture reads/writes.
|
|
6727
|
+
*
|
|
6728
|
+
* @param name - Debug label for this token.
|
|
6729
|
+
* @returns A handle referencing the newly created token.
|
|
6730
|
+
*/
|
|
6731
|
+
createToken(name?: string): RGHandle;
|
|
6732
|
+
/**
|
|
6733
|
+
* Create a graph-managed framebuffer view.
|
|
6734
|
+
*
|
|
6735
|
+
* The graph compiler infers dependencies from any attachment handles in the
|
|
6736
|
+
* descriptor. The executor creates and releases the framebuffer automatically.
|
|
6737
|
+
*
|
|
6738
|
+
* @param desc - Framebuffer descriptor.
|
|
6739
|
+
* @returns A handle referencing the framebuffer view.
|
|
6740
|
+
*/
|
|
6741
|
+
createFramebuffer(desc: RGFramebufferDesc): RGHandle;
|
|
6614
6742
|
/**
|
|
6615
6743
|
* Mark this pass as having side effects.
|
|
6616
6744
|
*
|
|
@@ -6619,9 +6747,22 @@ interface RGPassBuilder {
|
|
|
6619
6747
|
* debug overlays, etc.
|
|
6620
6748
|
*/
|
|
6621
6749
|
sideEffect(): void;
|
|
6750
|
+
/**
|
|
6751
|
+
* Add an ordered logical subpass to this pass.
|
|
6752
|
+
*
|
|
6753
|
+
* Subpasses execute in registration order and share the parent pass's declared
|
|
6754
|
+
* reads, writes, framebuffer views, and user data. A pass may use either
|
|
6755
|
+
* subpasses or {@link RGPassBuilder.setExecute}, but not both.
|
|
6756
|
+
*
|
|
6757
|
+
* @param name - Debug label for the subpass.
|
|
6758
|
+
* @param fn - Callback invoked when this subpass executes.
|
|
6759
|
+
*/
|
|
6760
|
+
addSubpass<D>(name: string, fn: RGExecuteFn<D>): void;
|
|
6622
6761
|
/**
|
|
6623
6762
|
* Set the execution callback for this pass.
|
|
6624
6763
|
*
|
|
6764
|
+
* A pass may use either this method or {@link RGPassBuilder.addSubpass}, but not both.
|
|
6765
|
+
*
|
|
6625
6766
|
* @param fn - Callback invoked during graph execution.
|
|
6626
6767
|
*/
|
|
6627
6768
|
setExecute<D>(fn: RGExecuteFn<D>): void;
|
|
@@ -6661,17 +6802,50 @@ interface RGResolvedSize {
|
|
|
6661
6802
|
width: number;
|
|
6662
6803
|
height: number;
|
|
6663
6804
|
}
|
|
6805
|
+
/**
|
|
6806
|
+
* Descriptor for a framebuffer view managed by the graph or created temporarily during pass execution.
|
|
6807
|
+
*
|
|
6808
|
+
* This is intentionally backend-agnostic: graph-managed descriptors may use
|
|
6809
|
+
* {@link RGHandle} attachments, and executor-created descriptors use resolved
|
|
6810
|
+
* resources or texture formats understood by the allocator.
|
|
6811
|
+
*
|
|
6812
|
+
* @public
|
|
6813
|
+
*/
|
|
6814
|
+
interface RGFramebufferDesc {
|
|
6815
|
+
/** Debug label for this framebuffer. */
|
|
6816
|
+
label?: string;
|
|
6817
|
+
/** Framebuffer width. Required when attachments are formats. */
|
|
6818
|
+
width?: number;
|
|
6819
|
+
/** Framebuffer height. Required when attachments are formats. */
|
|
6820
|
+
height?: number;
|
|
6821
|
+
/** Color attachments or formats. */
|
|
6822
|
+
colorAttachments: unknown | unknown[] | null;
|
|
6823
|
+
/** Depth/stencil attachment or format. */
|
|
6824
|
+
depthAttachment?: unknown | null;
|
|
6825
|
+
/** Whether color attachments created from formats should support mipmapping. */
|
|
6826
|
+
mipmapping?: boolean;
|
|
6827
|
+
/** Framebuffer sample count. */
|
|
6828
|
+
sampleCount?: number;
|
|
6829
|
+
/** Whether to ignore depth/stencil during MSAA resolve. */
|
|
6830
|
+
ignoreDepthStencil?: boolean;
|
|
6831
|
+
/** Attachment mip level. */
|
|
6832
|
+
attachmentMipLevel?: number;
|
|
6833
|
+
/** Attachment cubemap face. */
|
|
6834
|
+
attachmentCubeface?: number;
|
|
6835
|
+
/** Attachment array layer. */
|
|
6836
|
+
attachmentLayer?: number;
|
|
6837
|
+
}
|
|
6664
6838
|
/**
|
|
6665
6839
|
* Interface for allocating and releasing transient textures.
|
|
6666
6840
|
*
|
|
6667
6841
|
* Implement this to bridge the render graph with your GPU device's resource pool.
|
|
6668
|
-
* The executor calls
|
|
6669
|
-
*
|
|
6842
|
+
* The executor calls `allocate()` before a resource's first use and
|
|
6843
|
+
* `release()` after its last use.
|
|
6670
6844
|
*
|
|
6671
6845
|
* @typeParam TTexture - The concrete texture type (e.g. `Texture2D`).
|
|
6672
6846
|
* @public
|
|
6673
6847
|
*/
|
|
6674
|
-
interface RGTextureAllocator<TTexture = unknown> {
|
|
6848
|
+
interface RGTextureAllocator<TTexture = unknown, TFramebuffer = unknown> {
|
|
6675
6849
|
/**
|
|
6676
6850
|
* Allocate a transient texture matching the given descriptor and resolved size.
|
|
6677
6851
|
*
|
|
@@ -6686,6 +6860,22 @@ interface RGTextureAllocator<TTexture = unknown> {
|
|
|
6686
6860
|
* @param texture - The texture to release.
|
|
6687
6861
|
*/
|
|
6688
6862
|
release(texture: TTexture): void;
|
|
6863
|
+
/**
|
|
6864
|
+
* Allocate a temporary framebuffer matching the given descriptor.
|
|
6865
|
+
*
|
|
6866
|
+
* Implementations should not auto-release this framebuffer; the graph executor
|
|
6867
|
+
* calls {@link RGTextureAllocator.releaseFramebuffer} when execution completes or aborts.
|
|
6868
|
+
*
|
|
6869
|
+
* @param desc - Framebuffer descriptor.
|
|
6870
|
+
* @returns The allocated framebuffer object.
|
|
6871
|
+
*/
|
|
6872
|
+
allocateFramebuffer?(desc: RGFramebufferDesc): TFramebuffer;
|
|
6873
|
+
/**
|
|
6874
|
+
* Release a previously allocated temporary framebuffer.
|
|
6875
|
+
*
|
|
6876
|
+
* @param framebuffer - The framebuffer to release.
|
|
6877
|
+
*/
|
|
6878
|
+
releaseFramebuffer?(framebuffer: TFramebuffer): void;
|
|
6689
6879
|
}
|
|
6690
6880
|
|
|
6691
6881
|
/**
|
|
@@ -6694,7 +6884,7 @@ interface RGTextureAllocator<TTexture = unknown> {
|
|
|
6694
6884
|
* Usage:
|
|
6695
6885
|
* ```ts
|
|
6696
6886
|
* const graph = new RenderGraph();
|
|
6697
|
-
*
|
|
6887
|
+
* let backbuffer = graph.importTexture('backbuffer');
|
|
6698
6888
|
*
|
|
6699
6889
|
* let linearDepth: RGHandle;
|
|
6700
6890
|
* graph.addPass('DepthPrepass', (builder) => {
|
|
@@ -6704,7 +6894,7 @@ interface RGTextureAllocator<TTexture = unknown> {
|
|
|
6704
6894
|
*
|
|
6705
6895
|
* graph.addPass('LightPass', (builder) => {
|
|
6706
6896
|
* builder.read(linearDepth);
|
|
6707
|
-
* builder.write(backbuffer);
|
|
6897
|
+
* backbuffer = builder.write(backbuffer);
|
|
6708
6898
|
* builder.setExecute(() => { ... });
|
|
6709
6899
|
* });
|
|
6710
6900
|
*
|
|
@@ -6743,6 +6933,8 @@ declare class RenderGraph {
|
|
|
6743
6933
|
* Performs dead-pass culling, topological sorting, and resource lifetime analysis.
|
|
6744
6934
|
*
|
|
6745
6935
|
* @param outputs - Handles of resources that must be produced (graph sinks).
|
|
6936
|
+
* If a resource was passed to {@link RGPassBuilder.write}, use the returned
|
|
6937
|
+
* post-write handle here, not the original handle.
|
|
6746
6938
|
* Passes that do not contribute to these outputs (directly or transitively)
|
|
6747
6939
|
* are culled, unless marked as side-effect passes.
|
|
6748
6940
|
* @returns The compiled graph ready for execution.
|
|
@@ -6753,7 +6945,7 @@ declare class RenderGraph {
|
|
|
6753
6945
|
*
|
|
6754
6946
|
* For automatic resource allocation/release, use {@link RenderGraphExecutor} instead.
|
|
6755
6947
|
*
|
|
6756
|
-
* @param compiled - The compiled graph from {@link compile}.
|
|
6948
|
+
* @param compiled - The compiled graph from {@link RenderGraph.compile}.
|
|
6757
6949
|
*/
|
|
6758
6950
|
execute(compiled: CompiledRenderGraph): void;
|
|
6759
6951
|
/**
|
|
@@ -6781,8 +6973,8 @@ declare class RenderGraph {
|
|
|
6781
6973
|
* @typeParam TTexture - The concrete texture type (e.g. `Texture2D`).
|
|
6782
6974
|
* @public
|
|
6783
6975
|
*/
|
|
6784
|
-
declare class RenderGraphExecutor<TTexture = unknown> {
|
|
6785
|
-
constructor(allocator: RGTextureAllocator<TTexture>, backbufferWidth: number, backbufferHeight: number);
|
|
6976
|
+
declare class RenderGraphExecutor<TTexture = unknown, TFramebuffer = unknown> {
|
|
6977
|
+
constructor(allocator: RGTextureAllocator<TTexture, TFramebuffer>, backbufferWidth: number, backbufferHeight: number);
|
|
6786
6978
|
/**
|
|
6787
6979
|
* Update the backbuffer dimensions used for 'backbuffer-relative' sizing.
|
|
6788
6980
|
*/
|
|
@@ -6816,8 +7008,8 @@ declare class RenderGraphExecutor<TTexture = unknown> {
|
|
|
6816
7008
|
* Bridges the render graph's {@link RGTextureAllocator} interface to the
|
|
6817
7009
|
* engine's device resource pool (`device.pool`).
|
|
6818
7010
|
*
|
|
6819
|
-
* Transient textures are fetched from the pool on
|
|
6820
|
-
* returned to the pool on
|
|
7011
|
+
* Transient textures are fetched from the pool on `allocate()` and
|
|
7012
|
+
* returned to the pool on `release()`, enabling automatic reuse
|
|
6821
7013
|
* across frames without manual lifecycle management.
|
|
6822
7014
|
*
|
|
6823
7015
|
* Usage:
|
|
@@ -6828,7 +7020,7 @@ declare class RenderGraphExecutor<TTexture = unknown> {
|
|
|
6828
7020
|
*
|
|
6829
7021
|
* @public
|
|
6830
7022
|
*/
|
|
6831
|
-
declare class DevicePoolAllocator implements RGTextureAllocator<Texture2D> {
|
|
7023
|
+
declare class DevicePoolAllocator implements RGTextureAllocator<Texture2D, FrameBuffer> {
|
|
6832
7024
|
/**
|
|
6833
7025
|
* Allocate a transient texture from the device pool.
|
|
6834
7026
|
*
|
|
@@ -6843,32 +7035,38 @@ declare class DevicePoolAllocator implements RGTextureAllocator<Texture2D> {
|
|
|
6843
7035
|
* @param texture - The texture to release.
|
|
6844
7036
|
*/
|
|
6845
7037
|
release(texture: Texture2D): void;
|
|
7038
|
+
/**
|
|
7039
|
+
* Allocate a temporary framebuffer from the device pool.
|
|
7040
|
+
*
|
|
7041
|
+
* @param desc - Framebuffer descriptor from the render graph pass.
|
|
7042
|
+
* @returns A pooled FrameBuffer instance.
|
|
7043
|
+
*/
|
|
7044
|
+
allocateFramebuffer(desc: RGFramebufferDesc): FrameBuffer;
|
|
7045
|
+
/**
|
|
7046
|
+
* Release a temporary framebuffer back to the device pool.
|
|
7047
|
+
*
|
|
7048
|
+
* @param framebuffer - The framebuffer to release.
|
|
7049
|
+
*/
|
|
7050
|
+
releaseFramebuffer(framebuffer: FrameBuffer): void;
|
|
6846
7051
|
}
|
|
6847
7052
|
|
|
6848
7053
|
/**
|
|
6849
|
-
* Manages cross-frame history resources
|
|
7054
|
+
* Manages cross-frame history resources that can be imported into a render graph.
|
|
6850
7055
|
*
|
|
6851
7056
|
* History resources are textures that persist across frames for temporal effects
|
|
6852
|
-
* like TAA, motion blur, or temporal upscaling.
|
|
6853
|
-
*
|
|
7057
|
+
* like TAA, motion blur, or temporal upscaling. Previous-frame textures can be
|
|
7058
|
+
* imported into a {@link RenderGraph}, and current-frame textures are committed
|
|
7059
|
+
* only after graph execution succeeds.
|
|
6854
7060
|
*
|
|
6855
7061
|
* Usage:
|
|
6856
7062
|
* ```ts
|
|
6857
7063
|
* const historyMgr = new HistoryResourceManager(allocator);
|
|
6858
|
-
*
|
|
6859
|
-
*
|
|
6860
|
-
*
|
|
6861
|
-
*
|
|
6862
|
-
*
|
|
6863
|
-
*
|
|
6864
|
-
* }, { width: 1920, height: 1080 });
|
|
6865
|
-
*
|
|
6866
|
-
* // In your render pass:
|
|
6867
|
-
* const prevFrame = historyMgr.getPrevious('taaHistory'); // Read from previous frame
|
|
6868
|
-
* const currentFrame = historyMgr.getCurrent('taaHistory'); // Write to current frame
|
|
6869
|
-
*
|
|
6870
|
-
* // At frame end:
|
|
6871
|
-
* historyMgr.swap(); // Swap current and previous
|
|
7064
|
+
* historyMgr.beginFrame();
|
|
7065
|
+
* const prev = historyMgr.importPrevious(graph, 'taaColor');
|
|
7066
|
+
* // declare builder.read(prev) if non-null
|
|
7067
|
+
* historyMgr.bindImportedTextures(executor);
|
|
7068
|
+
* // after successful execution:
|
|
7069
|
+
* historyMgr.commitFrame();
|
|
6872
7070
|
* ```
|
|
6873
7071
|
*
|
|
6874
7072
|
* @typeParam TTexture - The concrete texture type (e.g. `Texture2D`).
|
|
@@ -6877,7 +7075,9 @@ declare class DevicePoolAllocator implements RGTextureAllocator<Texture2D> {
|
|
|
6877
7075
|
declare class HistoryResourceManager<TTexture = Texture2D> {
|
|
6878
7076
|
private _resources;
|
|
6879
7077
|
private _allocator;
|
|
6880
|
-
private
|
|
7078
|
+
private _pendingImports;
|
|
7079
|
+
private _pendingCommits;
|
|
7080
|
+
private _readScopeStack;
|
|
6881
7081
|
/**
|
|
6882
7082
|
* Create a new history resource manager.
|
|
6883
7083
|
*
|
|
@@ -6885,91 +7085,111 @@ declare class HistoryResourceManager<TTexture = Texture2D> {
|
|
|
6885
7085
|
*/
|
|
6886
7086
|
constructor(allocator: RGTextureAllocator<TTexture>);
|
|
6887
7087
|
/**
|
|
6888
|
-
*
|
|
7088
|
+
* Get the previous-frame texture resolved by the current render graph pass.
|
|
6889
7089
|
*
|
|
6890
|
-
*
|
|
6891
|
-
*
|
|
7090
|
+
* The resource must have been imported with {@link HistoryResourceManager.importPrevious} or
|
|
7091
|
+
* {@link HistoryResourceManager.importPreviousIfCompatible}, declared as a pass read, and bound with
|
|
7092
|
+
* {@link HistoryResourceManager.beginReadScope} before this method is called.
|
|
6892
7093
|
*
|
|
6893
|
-
* @param name -
|
|
6894
|
-
* @
|
|
6895
|
-
* @
|
|
7094
|
+
* @param name - Name of the history resource.
|
|
7095
|
+
* @returns The graph-resolved previous-frame texture.
|
|
7096
|
+
* @throws If no read scope is active for the resource.
|
|
6896
7097
|
*/
|
|
6897
|
-
|
|
7098
|
+
getPrevious(name: string): TTexture;
|
|
6898
7099
|
/**
|
|
6899
|
-
*
|
|
7100
|
+
* Check whether a valid history resource exists and matches the descriptor.
|
|
6900
7101
|
*
|
|
6901
|
-
*
|
|
6902
|
-
*
|
|
6903
|
-
*
|
|
6904
|
-
* @
|
|
6905
|
-
* @param desc - Texture descriptor (format, size, etc.).
|
|
6906
|
-
* @param size - Resolved pixel dimensions.
|
|
6907
|
-
* @param initialTexture - The initial texture to use as current frame.
|
|
7102
|
+
* @param name - Name of the history resource.
|
|
7103
|
+
* @param desc - Expected texture descriptor.
|
|
7104
|
+
* @param size - Expected resolved size.
|
|
7105
|
+
* @returns True if the resource exists, is valid, and matches.
|
|
6908
7106
|
*/
|
|
6909
|
-
|
|
7107
|
+
isCompatible(name: string, desc: RGTextureDesc, size: RGResolvedSize): boolean;
|
|
6910
7108
|
/**
|
|
6911
|
-
*
|
|
6912
|
-
*
|
|
6913
|
-
* This is typically used as the write target in render passes.
|
|
6914
|
-
*
|
|
6915
|
-
* @param name - Name of the history resource.
|
|
6916
|
-
* @returns The current frame's texture.
|
|
6917
|
-
* @throws If the resource has not been registered.
|
|
7109
|
+
* Start collecting graph imports and deferred commits for a new frame.
|
|
6918
7110
|
*/
|
|
6919
|
-
|
|
7111
|
+
beginFrame(): void;
|
|
6920
7112
|
/**
|
|
6921
|
-
*
|
|
7113
|
+
* Import the latest committed texture for a history resource into the graph.
|
|
6922
7114
|
*
|
|
6923
|
-
*
|
|
7115
|
+
* Returns null when the resource has no valid previous frame.
|
|
6924
7116
|
*
|
|
6925
|
-
* @param
|
|
6926
|
-
* @
|
|
6927
|
-
* @
|
|
7117
|
+
* @param graph - Render graph to import into.
|
|
7118
|
+
* @param name - History resource name.
|
|
7119
|
+
* @returns Imported graph handle, or null when no valid previous texture exists.
|
|
6928
7120
|
*/
|
|
6929
|
-
|
|
7121
|
+
importPrevious(graph: RenderGraph, name: string): RGHandle | null;
|
|
6930
7122
|
/**
|
|
6931
|
-
*
|
|
7123
|
+
* Import the latest committed texture only when it matches the expected shape.
|
|
6932
7124
|
*
|
|
6933
|
-
*
|
|
6934
|
-
*
|
|
7125
|
+
* This is the preferred API for effects that can declare their history reads
|
|
7126
|
+
* while building the graph: incompatible history is treated as absent, so the
|
|
7127
|
+
* pass does not declare stale reads after resize or format changes.
|
|
7128
|
+
*
|
|
7129
|
+
* @param graph - Render graph to import into.
|
|
7130
|
+
* @param name - History resource name.
|
|
7131
|
+
* @param desc - Expected texture descriptor.
|
|
7132
|
+
* @param size - Expected resolved size.
|
|
7133
|
+
* @returns Imported graph handle, or null when no compatible history exists.
|
|
6935
7134
|
*/
|
|
6936
|
-
|
|
7135
|
+
importPreviousIfCompatible(graph: RenderGraph, name: string, desc: RGTextureDesc, size: RGResolvedSize): RGHandle | null;
|
|
6937
7136
|
/**
|
|
6938
|
-
*
|
|
7137
|
+
* Bind all history imports created for this frame to the executor.
|
|
6939
7138
|
*
|
|
6940
|
-
* @param
|
|
6941
|
-
* @returns True if the resource was found and removed.
|
|
7139
|
+
* @param executor - Render graph executor for the current frame.
|
|
6942
7140
|
*/
|
|
6943
|
-
|
|
7141
|
+
bindImportedTextures(executor: Pick<RenderGraphExecutor<TTexture>, 'setImportedTexture'>): void;
|
|
6944
7142
|
/**
|
|
6945
|
-
*
|
|
7143
|
+
* Make resolved history textures available to code executing inside a pass.
|
|
6946
7144
|
*
|
|
6947
|
-
*
|
|
6948
|
-
* After swapping, what was "current" becomes "previous" for the next frame.
|
|
7145
|
+
* @param bindings - History name to resolved texture bindings.
|
|
6949
7146
|
*/
|
|
6950
|
-
|
|
7147
|
+
beginReadScope(bindings: Array<{
|
|
7148
|
+
name: string;
|
|
7149
|
+
texture: TTexture;
|
|
7150
|
+
}>): void;
|
|
6951
7151
|
/**
|
|
6952
|
-
*
|
|
6953
|
-
*
|
|
6954
|
-
* Call this when disposing the render context or when history is no longer needed.
|
|
7152
|
+
* End the most recent history read scope.
|
|
6955
7153
|
*/
|
|
6956
|
-
|
|
7154
|
+
endReadScope(): void;
|
|
6957
7155
|
/**
|
|
6958
|
-
*
|
|
7156
|
+
* Queue a current-frame texture to become the next previous-frame history.
|
|
6959
7157
|
*
|
|
6960
|
-
*
|
|
6961
|
-
*
|
|
7158
|
+
* The texture is committed only when {@link HistoryResourceManager.commitFrame} is called. If the
|
|
7159
|
+
* frame fails, {@link HistoryResourceManager.discardFrame} releases owned pending textures instead.
|
|
6962
7160
|
*
|
|
6963
|
-
* @param name -
|
|
6964
|
-
* @param
|
|
7161
|
+
* @param name - History resource name.
|
|
7162
|
+
* @param desc - Texture descriptor.
|
|
7163
|
+
* @param size - Resolved texture size.
|
|
7164
|
+
* @param texture - Texture produced by the current frame.
|
|
7165
|
+
* @param ownsTexture - Whether this manager should release the texture later.
|
|
6965
7166
|
*/
|
|
6966
|
-
|
|
7167
|
+
queueCommit(name: string, desc: RGTextureDesc, size: RGResolvedSize, texture: TTexture, ownsTexture?: boolean): void;
|
|
6967
7168
|
/**
|
|
6968
|
-
*
|
|
7169
|
+
* Commit all current-frame history writes.
|
|
6969
7170
|
*/
|
|
6970
|
-
|
|
7171
|
+
commitFrame(): void;
|
|
7172
|
+
/**
|
|
7173
|
+
* Discard all uncommitted frame history writes.
|
|
7174
|
+
*/
|
|
7175
|
+
discardFrame(): void;
|
|
7176
|
+
/**
|
|
7177
|
+
* Release all history resources and clear the manager.
|
|
7178
|
+
*
|
|
7179
|
+
* Call this when disposing the render context or when history is no longer needed.
|
|
7180
|
+
*/
|
|
7181
|
+
dispose(): void;
|
|
6971
7182
|
}
|
|
6972
7183
|
|
|
7184
|
+
/**
|
|
7185
|
+
* Resource names for render graph history resources.
|
|
7186
|
+
* @public
|
|
7187
|
+
*/
|
|
7188
|
+
declare const RGHistoryResources: {
|
|
7189
|
+
readonly TAA_COLOR: "taaColor";
|
|
7190
|
+
readonly TAA_MOTION_VECTOR: "taaMotionVector";
|
|
7191
|
+
};
|
|
7192
|
+
|
|
6973
7193
|
/**
|
|
6974
7194
|
* Options controlling which features are enabled in the forward+ pipeline.
|
|
6975
7195
|
*
|
|
@@ -6998,7 +7218,7 @@ interface ForwardPlusOptions {
|
|
|
6998
7218
|
*
|
|
6999
7219
|
* Each step in the existing `SceneRenderer._renderScene` becomes a graph pass.
|
|
7000
7220
|
* Execute callbacks delegate to the existing rendering code, sharing a mutable
|
|
7001
|
-
*
|
|
7221
|
+
* `FrameState`.
|
|
7002
7222
|
*
|
|
7003
7223
|
* @param graph - The render graph to populate.
|
|
7004
7224
|
* @param ctx - The draw context for this frame.
|
|
@@ -7716,7 +7936,7 @@ declare class Camera extends SceneNode {
|
|
|
7716
7936
|
/** Whether to allow command buffer reuse optimization */
|
|
7717
7937
|
get commandBufferReuse(): boolean;
|
|
7718
7938
|
set commandBufferReuse(val: boolean);
|
|
7719
|
-
/** Whether this camera is adapted to screen
|
|
7939
|
+
/** Whether this camera is adapted to screen settings */
|
|
7720
7940
|
get adapted(): boolean;
|
|
7721
7941
|
set adapted(val: boolean);
|
|
7722
7942
|
/** OIT */
|
|
@@ -8203,6 +8423,11 @@ type PickTarget = {
|
|
|
8203
8423
|
node: SceneNode;
|
|
8204
8424
|
label?: string;
|
|
8205
8425
|
};
|
|
8426
|
+
/**
|
|
8427
|
+
* Minimal render context carrying target size and device information.
|
|
8428
|
+
*
|
|
8429
|
+
* @public
|
|
8430
|
+
*/
|
|
8206
8431
|
declare class RenderContext {
|
|
8207
8432
|
device: AbstractDevice;
|
|
8208
8433
|
renderWidth: number;
|
|
@@ -8420,7 +8645,6 @@ declare class GraphNode extends SceneNode {
|
|
|
8420
8645
|
* @param scene - The scene to which the node belongs
|
|
8421
8646
|
*/
|
|
8422
8647
|
constructor(scene: Scene);
|
|
8423
|
-
set octreeNode(node: Nullable<OctreeNode>);
|
|
8424
8648
|
/** Gets the name */
|
|
8425
8649
|
getName(): string;
|
|
8426
8650
|
/**
|
|
@@ -8475,17 +8699,11 @@ declare abstract class SkeletonModifier {
|
|
|
8475
8699
|
* Get the blend weight [0-1]
|
|
8476
8700
|
*/
|
|
8477
8701
|
get weight(): number;
|
|
8478
|
-
/**
|
|
8479
|
-
* Set the blend weight [0-1]
|
|
8480
|
-
*/
|
|
8481
8702
|
set weight(value: number);
|
|
8482
8703
|
/**
|
|
8483
8704
|
* Get whether this processor is enabled
|
|
8484
8705
|
*/
|
|
8485
8706
|
get enabled(): boolean;
|
|
8486
|
-
/**
|
|
8487
|
-
* Set whether this processor is enabled
|
|
8488
|
-
*/
|
|
8489
8707
|
set enabled(value: boolean);
|
|
8490
8708
|
/**
|
|
8491
8709
|
* Apply post-processing to skeleton joints.
|
|
@@ -8651,7 +8869,9 @@ declare class Skeleton extends Disposable {
|
|
|
8651
8869
|
get humanoidJointMapping(): Nullable<HumanoidJointMapping<SceneNode>>;
|
|
8652
8870
|
/** Root rotation of humanoid hips bone */
|
|
8653
8871
|
get humanoidRootRotation(): Quaternion;
|
|
8872
|
+
get playing(): boolean;
|
|
8654
8873
|
set playing(b: boolean);
|
|
8874
|
+
get persistentId(): string;
|
|
8655
8875
|
set persistentId(val: string);
|
|
8656
8876
|
/**
|
|
8657
8877
|
* Texture containing joint matrices for GPU skinning.
|
|
@@ -8981,6 +9201,8 @@ declare class AnimationSet extends Disposable implements IDisposable {
|
|
|
8981
9201
|
* @param excludeJoint - Optional predicate; joints whose name returns true are excluded from
|
|
8982
9202
|
* skeleton structure matching.
|
|
8983
9203
|
* @returns The newly created AnimationClip, or null on failure.
|
|
9204
|
+
*
|
|
9205
|
+
* @deprecated Use the new {@link AnimationSet.copyHumanoidAnimationFrom} method instead.
|
|
8984
9206
|
*/
|
|
8985
9207
|
copyAnimationFrom(sourceSet: AnimationSet, animationName: string, targetName?: string, excludeJoint?: (jointName: string) => boolean): AnimationClip | null;
|
|
8986
9208
|
/**
|
|
@@ -9483,29 +9705,71 @@ declare class MorphTargetTrack extends AnimationTrack<MorphState> {
|
|
|
9483
9705
|
reset(node: SceneNode): void;
|
|
9484
9706
|
}
|
|
9485
9707
|
|
|
9708
|
+
/**
|
|
9709
|
+
* Geometry cache frame data for a single sampled time.
|
|
9710
|
+
*
|
|
9711
|
+
* @public
|
|
9712
|
+
*/
|
|
9486
9713
|
type GeometryCacheFrame = {
|
|
9487
9714
|
positions: Float32Array;
|
|
9488
9715
|
normals?: Nullable<Float32Array>;
|
|
9489
9716
|
boundingBox: BoundingBox;
|
|
9490
9717
|
};
|
|
9718
|
+
/**
|
|
9719
|
+
* Mutable working state used while evaluating geometry cache tracks.
|
|
9720
|
+
*
|
|
9721
|
+
* @public
|
|
9722
|
+
*/
|
|
9491
9723
|
type GeometryCacheState = {
|
|
9492
9724
|
positions: Float32Array;
|
|
9493
9725
|
normals?: Nullable<Float32Array>;
|
|
9494
9726
|
boundingBox: BoundingBox;
|
|
9495
9727
|
};
|
|
9728
|
+
/**
|
|
9729
|
+
* GPU resources bound to a mesh while a geometry cache track is active.
|
|
9730
|
+
*
|
|
9731
|
+
* @public
|
|
9732
|
+
*/
|
|
9496
9733
|
type GeometryCacheMeshBinding = {
|
|
9497
9734
|
originalPrimitive: Primitive;
|
|
9498
9735
|
primitive: Primitive;
|
|
9499
9736
|
positionBuffer: StructuredBuffer;
|
|
9500
9737
|
normalBuffer: Nullable<StructuredBuffer>;
|
|
9501
9738
|
};
|
|
9739
|
+
/**
|
|
9740
|
+
* Creates a reusable geometry cache state buffer for a frame layout.
|
|
9741
|
+
*
|
|
9742
|
+
* @public
|
|
9743
|
+
*/
|
|
9502
9744
|
declare function createGeometryCacheState(frame: Pick<GeometryCacheFrame, 'positions' | 'normals'>): GeometryCacheState;
|
|
9745
|
+
/**
|
|
9746
|
+
* Linearly interpolates two geometry-cache bounding boxes.
|
|
9747
|
+
*
|
|
9748
|
+
* @public
|
|
9749
|
+
*/
|
|
9503
9750
|
declare function mixGeometryCacheBoundingBox(a: BoundingBox, b: BoundingBox, t: number): BoundingBox;
|
|
9751
|
+
/**
|
|
9752
|
+
* Ensures the target mesh has GPU buffers compatible with the geometry cache state.
|
|
9753
|
+
*
|
|
9754
|
+
* @public
|
|
9755
|
+
*/
|
|
9504
9756
|
declare function ensureGeometryCacheMeshBinding(meshBindings: WeakMap<Mesh, GeometryCacheMeshBinding>, mesh: Mesh, state: GeometryCacheState, errorPrefix: string): GeometryCacheMeshBinding;
|
|
9757
|
+
/**
|
|
9758
|
+
* Restores a mesh primitive after geometry cache playback.
|
|
9759
|
+
*
|
|
9760
|
+
* @public
|
|
9761
|
+
*/
|
|
9505
9762
|
declare function restoreGeometryCacheMeshBinding(mesh: Mesh): Promise<boolean>;
|
|
9506
9763
|
|
|
9764
|
+
/** @public */
|
|
9507
9765
|
type FixedGeometryCacheFrame = GeometryCacheFrame;
|
|
9766
|
+
/** @public */
|
|
9508
9767
|
type FixedGeometryCacheState = GeometryCacheState;
|
|
9768
|
+
/**
|
|
9769
|
+
* Geometry cache track backed by explicit per-frame vertex data.
|
|
9770
|
+
*
|
|
9771
|
+
* @public
|
|
9772
|
+
*/
|
|
9509
9773
|
declare class FixedGeometryCacheTrack extends AnimationTrack<FixedGeometryCacheState> {
|
|
9510
9774
|
private _times;
|
|
9511
9775
|
private _frames;
|
|
@@ -9531,6 +9795,11 @@ declare class FixedGeometryCacheTrack extends AnimationTrack<FixedGeometryCacheS
|
|
|
9531
9795
|
private ensureMeshBinding;
|
|
9532
9796
|
}
|
|
9533
9797
|
|
|
9798
|
+
/**
|
|
9799
|
+
* PCA-compressed geometry cache animation data.
|
|
9800
|
+
*
|
|
9801
|
+
* @public
|
|
9802
|
+
*/
|
|
9534
9803
|
type PCAGeometryCacheTrackData = {
|
|
9535
9804
|
times: Float32Array;
|
|
9536
9805
|
bounds: [number, number, number, number, number, number][];
|
|
@@ -9542,7 +9811,13 @@ type PCAGeometryCacheTrackData = {
|
|
|
9542
9811
|
normalBases?: Nullable<Float32Array[]>;
|
|
9543
9812
|
normalCoefficients?: Nullable<Float32Array[]>;
|
|
9544
9813
|
};
|
|
9814
|
+
/** @public */
|
|
9545
9815
|
type PCAGeometryCacheState = GeometryCacheState;
|
|
9816
|
+
/**
|
|
9817
|
+
* Geometry cache track reconstructed from PCA bases and coefficients.
|
|
9818
|
+
*
|
|
9819
|
+
* @public
|
|
9820
|
+
*/
|
|
9546
9821
|
declare class PCAGeometryCacheTrack extends AnimationTrack<PCAGeometryCacheState> {
|
|
9547
9822
|
private _times;
|
|
9548
9823
|
private _bounds;
|
|
@@ -10137,8 +10412,8 @@ interface SpringSystemOptions {
|
|
|
10137
10412
|
*/
|
|
10138
10413
|
poseFollowTip?: number;
|
|
10139
10414
|
/**
|
|
10140
|
-
* Exponent used when interpolating root
|
|
10141
|
-
* 1
|
|
10415
|
+
* Exponent used when interpolating root-to-tip follow.
|
|
10416
|
+
* `1` is linear; values `\> 1` keep the root stiffer and the tip looser.
|
|
10142
10417
|
*/
|
|
10143
10418
|
poseFollowExponent?: number;
|
|
10144
10419
|
/**
|
|
@@ -10225,14 +10500,6 @@ declare class SpringSystem {
|
|
|
10225
10500
|
* Solves a single spring constraint using XPBD (Extended Position-Based Dynamics).
|
|
10226
10501
|
*
|
|
10227
10502
|
* Reference: Müller et al., "Detailed Rigid Body Simulation with Extended Position Based Dynamics", 2020.
|
|
10228
|
-
*
|
|
10229
|
-
* The XPBD correction for a distance constraint C(x) = |x_b - x_a| - L is:
|
|
10230
|
-
* α̃ = compliance / dt² (scaled compliance)
|
|
10231
|
-
* Δλ = (-C - α̃·λ) / (w_a + w_b + α̃)
|
|
10232
|
-
* λ += Δλ
|
|
10233
|
-
* Δx_a = -w_a · Δλ · n̂
|
|
10234
|
-
* Δx_b = +w_b · Δλ · n̂
|
|
10235
|
-
* where w = 1/mass (0 for fixed particles), n̂ = unit vector from a to b.
|
|
10236
10503
|
*/
|
|
10237
10504
|
private solveConstraintXPBD;
|
|
10238
10505
|
/**
|
|
@@ -10285,74 +10552,46 @@ declare class SpringSystem {
|
|
|
10285
10552
|
* Gets the Coriolis force scale
|
|
10286
10553
|
*/
|
|
10287
10554
|
get coriolisScale(): number;
|
|
10288
|
-
/**
|
|
10289
|
-
* Sets the Coriolis force scale
|
|
10290
|
-
*/
|
|
10291
10555
|
set coriolisScale(scale: number);
|
|
10292
10556
|
/**
|
|
10293
10557
|
* Gets the constraint solver type
|
|
10294
10558
|
*/
|
|
10295
10559
|
get solver(): 'verlet' | 'xpbd';
|
|
10296
|
-
/**
|
|
10297
|
-
* Sets the constraint solver type.
|
|
10298
|
-
* Switching to 'xpbd' resets all Lagrange multipliers.
|
|
10299
|
-
*/
|
|
10300
10560
|
set solver(type: 'verlet' | 'xpbd');
|
|
10301
10561
|
/**
|
|
10302
10562
|
* Gets pose preservation strength [0-1]
|
|
10303
10563
|
*/
|
|
10304
10564
|
get poseFollow(): number;
|
|
10305
|
-
/**
|
|
10306
|
-
* Sets pose preservation strength [0-1]
|
|
10307
|
-
*/
|
|
10308
10565
|
set poseFollow(value: number);
|
|
10309
10566
|
/**
|
|
10310
10567
|
* Gets max allowed deviation from animated pose
|
|
10311
10568
|
*/
|
|
10312
10569
|
get maxPoseOffset(): number;
|
|
10313
|
-
/**
|
|
10314
|
-
* Sets max allowed deviation from animated pose. 0 disables clamping.
|
|
10315
|
-
*/
|
|
10316
10570
|
set maxPoseOffset(value: number);
|
|
10317
10571
|
/**
|
|
10318
10572
|
* Gets root pose follow strength [0-1]
|
|
10319
10573
|
*/
|
|
10320
10574
|
get poseFollowRoot(): number;
|
|
10321
|
-
/**
|
|
10322
|
-
* Sets root pose follow strength [0-1]
|
|
10323
|
-
*/
|
|
10324
10575
|
set poseFollowRoot(value: number);
|
|
10325
10576
|
/**
|
|
10326
10577
|
* Gets tip pose follow strength [0-1]
|
|
10327
10578
|
*/
|
|
10328
10579
|
get poseFollowTip(): number;
|
|
10329
|
-
/**
|
|
10330
|
-
* Sets tip pose follow strength [0-1]
|
|
10331
|
-
*/
|
|
10332
10580
|
set poseFollowTip(value: number);
|
|
10333
10581
|
/**
|
|
10334
|
-
* Gets exponent for root
|
|
10582
|
+
* Gets exponent for root-to-tip interpolation
|
|
10335
10583
|
*/
|
|
10336
10584
|
get poseFollowExponent(): number;
|
|
10337
|
-
/**
|
|
10338
|
-
* Sets exponent for root->tip interpolation
|
|
10339
|
-
*/
|
|
10340
10585
|
set poseFollowExponent(value: number);
|
|
10341
10586
|
/**
|
|
10342
10587
|
* Gets root max allowed deviation from animated pose
|
|
10343
10588
|
*/
|
|
10344
10589
|
get maxPoseOffsetRoot(): number;
|
|
10345
|
-
/**
|
|
10346
|
-
* Sets root max allowed deviation from animated pose
|
|
10347
|
-
*/
|
|
10348
10590
|
set maxPoseOffsetRoot(value: number);
|
|
10349
10591
|
/**
|
|
10350
10592
|
* Gets tip max allowed deviation from animated pose
|
|
10351
10593
|
*/
|
|
10352
10594
|
get maxPoseOffsetTip(): number;
|
|
10353
|
-
/**
|
|
10354
|
-
* Sets tip max allowed deviation from animated pose
|
|
10355
|
-
*/
|
|
10356
10595
|
set maxPoseOffsetTip(value: number);
|
|
10357
10596
|
/**
|
|
10358
10597
|
* Adds a collider to the system
|
|
@@ -10626,17 +10865,11 @@ declare class TwoBoneIKSolver extends IKSolver {
|
|
|
10626
10865
|
* Get the pole vector position.
|
|
10627
10866
|
*/
|
|
10628
10867
|
get poleVector(): Vector3 | null;
|
|
10629
|
-
/**
|
|
10630
|
-
* Set the pole vector position.
|
|
10631
|
-
*/
|
|
10632
10868
|
set poleVector(value: Vector3 | null);
|
|
10633
10869
|
/**
|
|
10634
10870
|
* Get the pole vector weight.
|
|
10635
10871
|
*/
|
|
10636
10872
|
get poleWeight(): number;
|
|
10637
|
-
/**
|
|
10638
|
-
* Set the pole vector weight (0-1).
|
|
10639
|
-
*/
|
|
10640
10873
|
set poleWeight(value: number);
|
|
10641
10874
|
/**
|
|
10642
10875
|
* Solve the IK chain to reach the target position using Two Bone IK algorithm.
|
|
@@ -10845,17 +11078,11 @@ declare class IKAngleConstraint extends IKConstraint {
|
|
|
10845
11078
|
* Get the minimum angle in degrees.
|
|
10846
11079
|
*/
|
|
10847
11080
|
get minAngle(): number;
|
|
10848
|
-
/**
|
|
10849
|
-
* Set the minimum angle in degrees.
|
|
10850
|
-
*/
|
|
10851
11081
|
set minAngle(value: number);
|
|
10852
11082
|
/**
|
|
10853
11083
|
* Get the maximum angle in degrees.
|
|
10854
11084
|
*/
|
|
10855
11085
|
get maxAngle(): number;
|
|
10856
|
-
/**
|
|
10857
|
-
* Set the maximum angle in degrees.
|
|
10858
|
-
*/
|
|
10859
11086
|
set maxAngle(value: number);
|
|
10860
11087
|
/**
|
|
10861
11088
|
* Apply the angle constraint to limit joint bending.
|
|
@@ -11039,6 +11266,11 @@ declare class MultiChainSpringSystem {
|
|
|
11039
11266
|
set solver(type: 'verlet' | 'xpbd');
|
|
11040
11267
|
}
|
|
11041
11268
|
|
|
11269
|
+
/**
|
|
11270
|
+
* Options used to construct a GPU cloth simulation system.
|
|
11271
|
+
*
|
|
11272
|
+
* @public
|
|
11273
|
+
*/
|
|
11042
11274
|
type GPUClothSystemOptions = {
|
|
11043
11275
|
enabled?: boolean;
|
|
11044
11276
|
device?: Nullable<AbstractDevice>;
|
|
@@ -11066,6 +11298,11 @@ type GPUClothSystemOptions = {
|
|
|
11066
11298
|
scene?: Nullable<Scene>;
|
|
11067
11299
|
autoUpdate?: boolean;
|
|
11068
11300
|
};
|
|
11301
|
+
/**
|
|
11302
|
+
* Serialized wrap-binding cache data for GPU cloth attachments.
|
|
11303
|
+
*
|
|
11304
|
+
* @public
|
|
11305
|
+
*/
|
|
11069
11306
|
type GPUClothWrapBindingData = {
|
|
11070
11307
|
version: 4;
|
|
11071
11308
|
vertexCount: number;
|
|
@@ -11076,6 +11313,11 @@ type GPUClothWrapBindingData = {
|
|
|
11076
11313
|
sourceBarycentrics: string;
|
|
11077
11314
|
targetLocalOffsets: string;
|
|
11078
11315
|
};
|
|
11316
|
+
/**
|
|
11317
|
+
* Target object paired with GPU cloth wrap-binding data.
|
|
11318
|
+
*
|
|
11319
|
+
* @public
|
|
11320
|
+
*/
|
|
11079
11321
|
type GPUClothWrapBindingTarget = {
|
|
11080
11322
|
target: any;
|
|
11081
11323
|
data: GPUClothWrapBindingData;
|
|
@@ -11084,13 +11326,22 @@ type GPUClothWrapBindingTarget = {
|
|
|
11084
11326
|
* Returns whether GPU cloth is supported on the given device.
|
|
11085
11327
|
*
|
|
11086
11328
|
* GPU cloth in this engine is WebGPU-only. WebGL backends are explicitly unsupported.
|
|
11329
|
+
*
|
|
11330
|
+
* @public
|
|
11087
11331
|
*/
|
|
11088
11332
|
declare function isGPUClothSupported(device?: Nullable<AbstractDevice>): boolean;
|
|
11333
|
+
/**
|
|
11334
|
+
* Creates wrap-binding cache data between a source cloth mesh and a target mesh.
|
|
11335
|
+
*
|
|
11336
|
+
* @public
|
|
11337
|
+
*/
|
|
11089
11338
|
declare function createGPUClothWrapBindingData(source: any, target: any): Promise<GPUClothWrapBindingData>;
|
|
11090
11339
|
/**
|
|
11091
11340
|
* WebGPU-only cloth simulation entry.
|
|
11092
11341
|
*
|
|
11093
11342
|
* On non-WebGPU backends (including WebGL), the system is always disabled.
|
|
11343
|
+
*
|
|
11344
|
+
* @public
|
|
11094
11345
|
*/
|
|
11095
11346
|
declare class GPUClothSystem {
|
|
11096
11347
|
private _enabled;
|
|
@@ -11226,8 +11477,18 @@ declare class GPUClothSystem {
|
|
|
11226
11477
|
private restoreTargetSkinning;
|
|
11227
11478
|
}
|
|
11228
11479
|
|
|
11480
|
+
/**
|
|
11481
|
+
* Numerical tolerance used by the joint dynamics solver.
|
|
11482
|
+
*
|
|
11483
|
+
* @public
|
|
11484
|
+
*/
|
|
11229
11485
|
declare const EPSILON = 0.001;
|
|
11230
11486
|
/** Constraint topology type */
|
|
11487
|
+
/**
|
|
11488
|
+
* Constraint topology type.
|
|
11489
|
+
*
|
|
11490
|
+
* @public
|
|
11491
|
+
*/
|
|
11231
11492
|
declare const enum ConstraintType {
|
|
11232
11493
|
/** Parent-child bone pairs along vertical chains */
|
|
11233
11494
|
Structural_Vertical = 0,
|
|
@@ -11241,6 +11502,11 @@ declare const enum ConstraintType {
|
|
|
11241
11502
|
Bending_Horizontal = 4
|
|
11242
11503
|
}
|
|
11243
11504
|
/** Collider surface force direction (used for surface/triangle collision) */
|
|
11505
|
+
/**
|
|
11506
|
+
* Collider surface force direction used for surface and triangle collision.
|
|
11507
|
+
*
|
|
11508
|
+
* @public
|
|
11509
|
+
*/
|
|
11244
11510
|
declare const enum ColliderForce {
|
|
11245
11511
|
/** No surface force */
|
|
11246
11512
|
Off = 0,
|
|
@@ -11254,6 +11520,11 @@ declare const enum ColliderForce {
|
|
|
11254
11520
|
* Set once at initialization, immutable during simulation.
|
|
11255
11521
|
* Constraint scale values are pre-multiplied by 0.5 (summed between two points in solver).
|
|
11256
11522
|
*/
|
|
11523
|
+
/**
|
|
11524
|
+
* Read-only per-point physics parameters.
|
|
11525
|
+
*
|
|
11526
|
+
* @public
|
|
11527
|
+
*/
|
|
11257
11528
|
interface PointR {
|
|
11258
11529
|
/** Index of parent point in the hierarchy (-1 = root, no parent) */
|
|
11259
11530
|
parent: number;
|
|
@@ -11326,6 +11597,11 @@ interface PointR {
|
|
|
11326
11597
|
* Mutable per-point simulation state.
|
|
11327
11598
|
* Updated every substep during simulation.
|
|
11328
11599
|
*/
|
|
11600
|
+
/**
|
|
11601
|
+
* Mutable per-point simulation state.
|
|
11602
|
+
*
|
|
11603
|
+
* @public
|
|
11604
|
+
*/
|
|
11329
11605
|
interface PointRW {
|
|
11330
11606
|
/** Final output position to write back to the transform */
|
|
11331
11607
|
positionToTransform: Vector3;
|
|
@@ -11349,6 +11625,11 @@ interface PointRW {
|
|
|
11349
11625
|
friction: number;
|
|
11350
11626
|
}
|
|
11351
11627
|
/** Distance constraint between two points */
|
|
11628
|
+
/**
|
|
11629
|
+
* Distance constraint between two points.
|
|
11630
|
+
*
|
|
11631
|
+
* @public
|
|
11632
|
+
*/
|
|
11352
11633
|
interface Constraint {
|
|
11353
11634
|
/** Whether collision detection runs for this constraint's bone pair (0 or 1) */
|
|
11354
11635
|
isCollision: number;
|
|
@@ -11362,12 +11643,17 @@ interface Constraint {
|
|
|
11362
11643
|
length: number;
|
|
11363
11644
|
}
|
|
11364
11645
|
/** Read-only collider shape parameters (set at init) */
|
|
11646
|
+
/**
|
|
11647
|
+
* Read-only collider shape parameters.
|
|
11648
|
+
*
|
|
11649
|
+
* @public
|
|
11650
|
+
*/
|
|
11365
11651
|
interface ColliderR {
|
|
11366
11652
|
/** Base radius of the collider sphere (or capsule head) */
|
|
11367
11653
|
radius: number;
|
|
11368
11654
|
/** Scale factor for capsule tail radius relative to head (1.0 = uniform) */
|
|
11369
11655
|
radiusTailScale: number;
|
|
11370
|
-
/** Capsule height. 0
|
|
11656
|
+
/** Capsule height. `0` means a sphere collider; `\> 0` means a capsule collider. */
|
|
11371
11657
|
height: number;
|
|
11372
11658
|
/** Friction coefficient applied on collision contact */
|
|
11373
11659
|
friction: number;
|
|
@@ -11377,6 +11663,11 @@ interface ColliderR {
|
|
|
11377
11663
|
forceType: ColliderForce;
|
|
11378
11664
|
}
|
|
11379
11665
|
/** Mutable collider runtime state (updated each frame) */
|
|
11666
|
+
/**
|
|
11667
|
+
* Mutable collider runtime state.
|
|
11668
|
+
*
|
|
11669
|
+
* @public
|
|
11670
|
+
*/
|
|
11380
11671
|
interface ColliderRW {
|
|
11381
11672
|
/** Current interpolated head position (for this substep) */
|
|
11382
11673
|
positionCurrent: Vector3;
|
|
@@ -11408,6 +11699,11 @@ interface ColliderRW {
|
|
|
11408
11699
|
enabled: number;
|
|
11409
11700
|
}
|
|
11410
11701
|
/** Read-only grabber parameters (set at init) */
|
|
11702
|
+
/**
|
|
11703
|
+
* Read-only grabber parameters.
|
|
11704
|
+
*
|
|
11705
|
+
* @public
|
|
11706
|
+
*/
|
|
11411
11707
|
interface GrabberR {
|
|
11412
11708
|
/** Grab activation radius — points within this distance can be grabbed */
|
|
11413
11709
|
radius: number;
|
|
@@ -11415,6 +11711,11 @@ interface GrabberR {
|
|
|
11415
11711
|
force: number;
|
|
11416
11712
|
}
|
|
11417
11713
|
/** Mutable grabber runtime state (updated each frame) */
|
|
11714
|
+
/**
|
|
11715
|
+
* Mutable grabber runtime state.
|
|
11716
|
+
*
|
|
11717
|
+
* @public
|
|
11718
|
+
*/
|
|
11418
11719
|
interface GrabberRW {
|
|
11419
11720
|
/** Whether this grabber is active (0 = disabled, 1 = enabled) */
|
|
11420
11721
|
enabled: number;
|
|
@@ -11422,6 +11723,11 @@ interface GrabberRW {
|
|
|
11422
11723
|
position: Vector3;
|
|
11423
11724
|
}
|
|
11424
11725
|
/** Angle limiting configuration for post-simulation bone angle clamping */
|
|
11726
|
+
/**
|
|
11727
|
+
* Angle limiting configuration for post-simulation bone angle clamping.
|
|
11728
|
+
*
|
|
11729
|
+
* @public
|
|
11730
|
+
*/
|
|
11425
11731
|
interface AngleLimitConfig {
|
|
11426
11732
|
/** Max angle in degrees between parent and child bone. Negative = disabled */
|
|
11427
11733
|
angleLimit: number;
|
|
@@ -11429,6 +11735,11 @@ interface AngleLimitConfig {
|
|
|
11429
11735
|
limitFromRoot: boolean;
|
|
11430
11736
|
}
|
|
11431
11737
|
/** Flat plane limiter — infinite plane that points cannot pass through */
|
|
11738
|
+
/**
|
|
11739
|
+
* Infinite plane limiter that points cannot pass through.
|
|
11740
|
+
*
|
|
11741
|
+
* @public
|
|
11742
|
+
*/
|
|
11432
11743
|
interface FlatPlane {
|
|
11433
11744
|
/** Plane normal (points toward the "allowed" side) */
|
|
11434
11745
|
normal: Vector3;
|
|
@@ -11439,6 +11750,11 @@ interface FlatPlane {
|
|
|
11439
11750
|
* Input point data for low-level initialization (mirrors C# Point struct).
|
|
11440
11751
|
* Used when bypassing the Controller and calling the solver directly.
|
|
11441
11752
|
*/
|
|
11753
|
+
/**
|
|
11754
|
+
* Input point data for low-level initialization.
|
|
11755
|
+
*
|
|
11756
|
+
* @public
|
|
11757
|
+
*/
|
|
11442
11758
|
interface PointInit {
|
|
11443
11759
|
/** Parent point index (-1 = no parent) */
|
|
11444
11760
|
parent: number;
|
|
@@ -11505,6 +11821,11 @@ interface PointInit {
|
|
|
11505
11821
|
* Engine-agnostic transform read/write interface.
|
|
11506
11822
|
* Implement this to bridge the solver with any rendering engine (Three.js, Babylon, custom).
|
|
11507
11823
|
*/
|
|
11824
|
+
/**
|
|
11825
|
+
* Transform adapter used by the solver to read and write bone state.
|
|
11826
|
+
*
|
|
11827
|
+
* @public
|
|
11828
|
+
*/
|
|
11508
11829
|
interface TransformAccess {
|
|
11509
11830
|
/** Read world-space position */
|
|
11510
11831
|
getWorldPosition(): Vector3;
|
|
@@ -11533,6 +11854,11 @@ interface TransformAccess {
|
|
|
11533
11854
|
* Bone hierarchy node for constraint building.
|
|
11534
11855
|
* Represents a single bone in the tree structure passed to buildConstraints().
|
|
11535
11856
|
*/
|
|
11857
|
+
/**
|
|
11858
|
+
* Bone hierarchy node used to build constraints and simulation points.
|
|
11859
|
+
*
|
|
11860
|
+
* @public
|
|
11861
|
+
*/
|
|
11536
11862
|
interface BoneNode {
|
|
11537
11863
|
/** Unique index of this bone (must match the position in the pointTransforms array) */
|
|
11538
11864
|
index: number;
|
|
@@ -11550,16 +11876,19 @@ interface BoneNode {
|
|
|
11550
11876
|
boneAxis?: Vector3;
|
|
11551
11877
|
}
|
|
11552
11878
|
|
|
11879
|
+
/** @public */
|
|
11553
11880
|
interface CollisionResult {
|
|
11554
11881
|
hit: boolean;
|
|
11555
11882
|
point: Vector3;
|
|
11556
11883
|
}
|
|
11884
|
+
/** @public */
|
|
11557
11885
|
interface LineCollisionResult {
|
|
11558
11886
|
hit: boolean;
|
|
11559
11887
|
pointOnLine: Vector3;
|
|
11560
11888
|
pointOnCollider: Vector3;
|
|
11561
11889
|
radius: number;
|
|
11562
11890
|
}
|
|
11891
|
+
/** @public */
|
|
11563
11892
|
interface SurfaceCheckResult {
|
|
11564
11893
|
hit: boolean;
|
|
11565
11894
|
intersectionPoint: Vector3;
|
|
@@ -11567,6 +11896,7 @@ interface SurfaceCheckResult {
|
|
|
11567
11896
|
pointOnCollider: Vector3;
|
|
11568
11897
|
radius: number;
|
|
11569
11898
|
}
|
|
11899
|
+
/** @public */
|
|
11570
11900
|
interface NearestPointsResult {
|
|
11571
11901
|
tP: number;
|
|
11572
11902
|
tQ: number;
|
|
@@ -11574,16 +11904,71 @@ interface NearestPointsResult {
|
|
|
11574
11904
|
pointOnQ: Vector3;
|
|
11575
11905
|
sqrDistance: number;
|
|
11576
11906
|
}
|
|
11907
|
+
/**
|
|
11908
|
+
* Pushes a point out of a sphere collider.
|
|
11909
|
+
*
|
|
11910
|
+
* @public
|
|
11911
|
+
*/
|
|
11577
11912
|
declare function pushoutFromSphere(center: Vector3, radius: number, pointRadius: number, point: Vector3, out?: CollisionResult): CollisionResult;
|
|
11913
|
+
/**
|
|
11914
|
+
* Pushes a point out of a collider.
|
|
11915
|
+
*
|
|
11916
|
+
* @public
|
|
11917
|
+
*/
|
|
11578
11918
|
declare function pushoutFromCollider(colR: ColliderR, colRW: ColliderRW, point: Vector3, ptR: PointR, out?: CollisionResult): CollisionResult;
|
|
11919
|
+
/**
|
|
11920
|
+
* Pushes a point out of a capsule collider.
|
|
11921
|
+
*
|
|
11922
|
+
* @public
|
|
11923
|
+
*/
|
|
11579
11924
|
declare function pushoutFromCapsule(colR: ColliderR, colRW: ColliderRW, point: Vector3, ptR: PointR, out?: CollisionResult): CollisionResult;
|
|
11925
|
+
/**
|
|
11926
|
+
* Pulls a point inside a sphere collider.
|
|
11927
|
+
*
|
|
11928
|
+
* @public
|
|
11929
|
+
*/
|
|
11580
11930
|
declare function pushInFromSphere(center: Vector3, radius: number, point: Vector3, out?: CollisionResult): CollisionResult;
|
|
11931
|
+
/**
|
|
11932
|
+
* Pulls a point inside a collider.
|
|
11933
|
+
*
|
|
11934
|
+
* @public
|
|
11935
|
+
*/
|
|
11581
11936
|
declare function pushInFromCollider(colR: ColliderR, colRW: ColliderRW, point: Vector3, out?: CollisionResult): CollisionResult;
|
|
11937
|
+
/**
|
|
11938
|
+
* Pulls a point inside a capsule collider.
|
|
11939
|
+
*
|
|
11940
|
+
* @public
|
|
11941
|
+
*/
|
|
11582
11942
|
declare function pushInFromCapsule(colR: ColliderR, colRW: ColliderRW, point: Vector3, out?: CollisionResult): CollisionResult;
|
|
11943
|
+
/**
|
|
11944
|
+
* Performs sphere collision detection.
|
|
11945
|
+
*
|
|
11946
|
+
* @public
|
|
11947
|
+
*/
|
|
11583
11948
|
declare function collisionDetectionSphere(center: Vector3, radius: number, point1: Vector3, point2: Vector3, out?: LineCollisionResult): LineCollisionResult;
|
|
11949
|
+
/**
|
|
11950
|
+
* Performs capsule collision detection.
|
|
11951
|
+
*
|
|
11952
|
+
* @public
|
|
11953
|
+
*/
|
|
11584
11954
|
declare function collisionDetectionCapsule(colR: ColliderR, colRW: ColliderRW, point1: Vector3, point2: Vector3, out?: LineCollisionResult): LineCollisionResult;
|
|
11955
|
+
/**
|
|
11956
|
+
* Performs collision detection against the specified collider.
|
|
11957
|
+
*
|
|
11958
|
+
* @public
|
|
11959
|
+
*/
|
|
11585
11960
|
declare function collisionDetection(colR: ColliderR, colRW: ColliderRW, point1: Vector3, point2: Vector3, out?: LineCollisionResult): LineCollisionResult;
|
|
11961
|
+
/**
|
|
11962
|
+
* Performs inward collision detection.
|
|
11963
|
+
*
|
|
11964
|
+
* @public
|
|
11965
|
+
*/
|
|
11586
11966
|
declare function pushInCollisionDetection(colR: ColliderR, colRW: ColliderRW, point1: Vector3, point2: Vector3, out?: LineCollisionResult): LineCollisionResult;
|
|
11967
|
+
/**
|
|
11968
|
+
* Computes the nearest points between two segments.
|
|
11969
|
+
*
|
|
11970
|
+
* @public
|
|
11971
|
+
*/
|
|
11587
11972
|
declare function computeNearestPoints(posP: Vector3, dirP: Vector3, posQ: Vector3, dirQ: Vector3, out?: NearestPointsResult): {
|
|
11588
11973
|
tP: number;
|
|
11589
11974
|
tQ: number;
|
|
@@ -11591,9 +11976,18 @@ declare function computeNearestPoints(posP: Vector3, dirP: Vector3, posQ: Vector
|
|
|
11591
11976
|
pointOnQ: Vector3;
|
|
11592
11977
|
sqrDistance: number;
|
|
11593
11978
|
};
|
|
11979
|
+
/**
|
|
11980
|
+
* Checks triangle-surface collision against a collider.
|
|
11981
|
+
*
|
|
11982
|
+
* @public
|
|
11983
|
+
*/
|
|
11594
11984
|
declare function checkSurfaceCollision(ptA: Vector3, ptB: Vector3, ptC: Vector3, colliderPos: Vector3, colR: ColliderR, colRW: ColliderRW, out?: SurfaceCheckResult): SurfaceCheckResult;
|
|
11595
11985
|
|
|
11596
|
-
/**
|
|
11986
|
+
/**
|
|
11987
|
+
* Parameters for a single simulation step.
|
|
11988
|
+
*
|
|
11989
|
+
* @public
|
|
11990
|
+
*/
|
|
11597
11991
|
interface SimulationParams {
|
|
11598
11992
|
/** If true, skip force integration (only apply root motion and output positions) */
|
|
11599
11993
|
isPaused: boolean;
|
|
@@ -11617,7 +12011,7 @@ interface SimulationParams {
|
|
|
11617
12011
|
windForce: Vector3;
|
|
11618
12012
|
/** Enable triangle-based surface collision */
|
|
11619
12013
|
enableSurfaceCollision: boolean;
|
|
11620
|
-
/** Triangle indices for surface collision (6 per quad: 2 triangles
|
|
12014
|
+
/** Triangle indices for surface collision (6 per quad: 2 triangles, 3 indices each) */
|
|
11621
12015
|
surfaceConstraints: number[];
|
|
11622
12016
|
/** Number of constraint relaxation iterations per substep */
|
|
11623
12017
|
relaxation: number;
|
|
@@ -11639,22 +12033,43 @@ interface SimulationParams {
|
|
|
11639
12033
|
enableBroadPhase: boolean;
|
|
11640
12034
|
}
|
|
11641
12035
|
/**
|
|
11642
|
-
* Run the full simulation step. Mutates pointsRW and collidersRW in place.
|
|
11643
|
-
* Returns { positionsToTransform, fakeWaveCounter }
|
|
12036
|
+
* Run the full simulation step. Mutates `pointsRW` and `collidersRW` in place.
|
|
12037
|
+
* Returns `{ positionsToTransform, fakeWaveCounter }`.
|
|
12038
|
+
*
|
|
12039
|
+
* @public
|
|
11644
12040
|
*/
|
|
11645
12041
|
declare function simulate(params: SimulationParams, pointsR: readonly PointR[], pointsRW: PointRW[], constraints: readonly Constraint[], collidersR: readonly ColliderR[], collidersRW: ColliderRW[], grabbersR: readonly GrabberR[], grabbersRW: readonly GrabberRW[], movableLimitTargets: readonly Vector3[], flatPlanes: readonly FlatPlane[]): {
|
|
11646
12042
|
positionsToTransform: Vector3[];
|
|
11647
12043
|
fakeWaveCounter: number;
|
|
11648
12044
|
};
|
|
12045
|
+
/**
|
|
12046
|
+
* Output of applying the simulated result back to transforms.
|
|
12047
|
+
*
|
|
12048
|
+
* @public
|
|
12049
|
+
*/
|
|
11649
12050
|
interface ApplyResultOutput {
|
|
11650
12051
|
position: Vector3;
|
|
11651
12052
|
rotation: Quaternion;
|
|
11652
12053
|
localRotation: Quaternion;
|
|
11653
12054
|
}
|
|
12055
|
+
/**
|
|
12056
|
+
* Computes transform outputs from the simulated point positions.
|
|
12057
|
+
*
|
|
12058
|
+
* @public
|
|
12059
|
+
*/
|
|
11654
12060
|
declare function applyResult(pointsR: readonly PointR[], pointsRW: PointRW[], positionsToTransform: readonly Vector3[], blendRatio: number, transformRotations: readonly Quaternion[], transformLocalRotations: readonly Quaternion[], preserveTwist: boolean): ApplyResultOutput[];
|
|
12061
|
+
/**
|
|
12062
|
+
* Applies post-simulation angle limits to the point state.
|
|
12063
|
+
*
|
|
12064
|
+
* @public
|
|
12065
|
+
*/
|
|
11655
12066
|
declare function applyAngleLimits(pointsR: readonly PointR[], pointsRW: PointRW[], config: AngleLimitConfig): void;
|
|
11656
12067
|
|
|
11657
|
-
/**
|
|
12068
|
+
/**
|
|
12069
|
+
* Options for constraint generation from a bone hierarchy.
|
|
12070
|
+
*
|
|
12071
|
+
* @public
|
|
12072
|
+
*/
|
|
11658
12073
|
interface ConstraintBuildOptions {
|
|
11659
12074
|
/** Generate parent→child vertical constraints */
|
|
11660
12075
|
structuralVertical: boolean;
|
|
@@ -11677,15 +12092,37 @@ interface ConstraintBuildOptions {
|
|
|
11677
12092
|
/** Enable surface/triangle collision (overrides per-type collision flags) */
|
|
11678
12093
|
enableSurfaceCollision: boolean;
|
|
11679
12094
|
}
|
|
12095
|
+
/**
|
|
12096
|
+
* Builds solver constraints from the supplied root chains.
|
|
12097
|
+
*
|
|
12098
|
+
* @public
|
|
12099
|
+
*/
|
|
11680
12100
|
declare function buildConstraints(rootPoints: BoneNode[], options: ConstraintBuildOptions): Constraint[];
|
|
12101
|
+
/**
|
|
12102
|
+
* Builds triangle indices used for surface collision.
|
|
12103
|
+
*
|
|
12104
|
+
* @public
|
|
12105
|
+
*/
|
|
11681
12106
|
declare function buildSurfaceFaces(rootPoints: BoneNode[], isLoop: boolean): number[];
|
|
12107
|
+
/**
|
|
12108
|
+
* Computes the maximum chain depth among all root points.
|
|
12109
|
+
*
|
|
12110
|
+
* @public
|
|
12111
|
+
*/
|
|
11682
12112
|
declare function computeMaxDepth(rootPoints: BoneNode[]): number;
|
|
12113
|
+
/**
|
|
12114
|
+
* Sorts root points by proximity to the supplied reference position.
|
|
12115
|
+
*
|
|
12116
|
+
* @public
|
|
12117
|
+
*/
|
|
11683
12118
|
declare function sortRootPointsByProximity(roots: BoneNode[], ignoreY: boolean, fixedBeginEnd: boolean): BoneNode[];
|
|
11684
12119
|
|
|
11685
12120
|
/**
|
|
11686
12121
|
* Depth-based physics parameter curves.
|
|
11687
12122
|
* Each curve is evaluated with t = pointDepth / maxDepth (0 at root, 1 at tip).
|
|
11688
12123
|
* This allows parameters to vary smoothly along the bone chain.
|
|
12124
|
+
*
|
|
12125
|
+
* @public
|
|
11689
12126
|
*/
|
|
11690
12127
|
interface PhysicsCurves {
|
|
11691
12128
|
/** Scales point mass by depth */
|
|
@@ -11733,9 +12170,12 @@ interface PhysicsCurves {
|
|
|
11733
12170
|
/** Fake wave frequency offset by depth */
|
|
11734
12171
|
fakeWaveFreq: InterpolatorScalar;
|
|
11735
12172
|
}
|
|
11736
|
-
/**
|
|
12173
|
+
/**
|
|
12174
|
+
* Top-level configuration for the physics controller
|
|
12175
|
+
* @public
|
|
12176
|
+
**/
|
|
11737
12177
|
interface ControllerConfig {
|
|
11738
|
-
/** Global gravity vector
|
|
12178
|
+
/** Global gravity vector */
|
|
11739
12179
|
gravity: Vector3;
|
|
11740
12180
|
/** Global wind force vector applied to all dynamic points */
|
|
11741
12181
|
windForce: Vector3;
|
|
@@ -11772,21 +12212,41 @@ interface ControllerConfig {
|
|
|
11772
12212
|
/** Which constraint types to generate and their collision flags */
|
|
11773
12213
|
constraintOptions: ConstraintBuildOptions;
|
|
11774
12214
|
}
|
|
11775
|
-
/**
|
|
12215
|
+
/**
|
|
12216
|
+
* Stable runtime handle for a JointDynamics collider.
|
|
12217
|
+
* @public
|
|
12218
|
+
*/
|
|
11776
12219
|
interface JointDynamicsColliderHandle {
|
|
11777
12220
|
readonly type: 'collider';
|
|
11778
12221
|
readonly id: number;
|
|
11779
12222
|
}
|
|
11780
|
-
/**
|
|
12223
|
+
/**
|
|
12224
|
+
* Stable runtime handle for a JointDynamics flat plane.
|
|
12225
|
+
* @public
|
|
12226
|
+
*/
|
|
11781
12227
|
interface JointDynamicsFlatPlaneHandle {
|
|
11782
12228
|
readonly type: 'flatPlane';
|
|
11783
12229
|
readonly id: number;
|
|
11784
12230
|
}
|
|
11785
|
-
/**
|
|
12231
|
+
/**
|
|
12232
|
+
* Stable runtime handle for a JointDynamics grabber.
|
|
12233
|
+
* @public
|
|
12234
|
+
*/
|
|
11786
12235
|
interface JointDynamicsGrabberHandle {
|
|
11787
12236
|
readonly type: 'grabber';
|
|
11788
12237
|
readonly id: number;
|
|
11789
12238
|
}
|
|
12239
|
+
/**
|
|
12240
|
+
* High-level controller for joint dynamics simulation.
|
|
12241
|
+
*
|
|
12242
|
+
* This class manages the physics simulation for a hierarchy of bones, including constraints,
|
|
12243
|
+
* colliders, and grabbers. It provides an API for initializing the system with bone data and
|
|
12244
|
+
* transforms, stepping the simulation each frame, and modifying colliders and grabbers at runtime.
|
|
12245
|
+
* The controller handles the internal state and logic for blending between animation and physics,
|
|
12246
|
+
* applying forces, and enforcing constraints.
|
|
12247
|
+
*
|
|
12248
|
+
* @public
|
|
12249
|
+
*/
|
|
11790
12250
|
declare class JointDynamicsSystemController {
|
|
11791
12251
|
private _config;
|
|
11792
12252
|
private _pointsR;
|
|
@@ -11825,13 +12285,13 @@ declare class JointDynamicsSystemController {
|
|
|
11825
12285
|
private _fadeDuration;
|
|
11826
12286
|
constructor(config: ControllerConfig);
|
|
11827
12287
|
/**
|
|
11828
|
-
*
|
|
11829
|
-
* @param rootTransform
|
|
11830
|
-
* @param rootPoints
|
|
11831
|
-
* @param pointTransforms
|
|
11832
|
-
* @param colliders
|
|
11833
|
-
* @param grabbers
|
|
11834
|
-
* @param flatPlanes
|
|
12288
|
+
* Initializes the physics system.
|
|
12289
|
+
* @param rootTransform - Root bone transform used to detect root motion.
|
|
12290
|
+
* @param rootPoints - Root nodes of the bone hierarchy. Multiple roots are allowed.
|
|
12291
|
+
* @param pointTransforms - Transform array for all physics points. Order must match `BoneNode.index`.
|
|
12292
|
+
* @param colliders - Collider array (spheres/capsules).
|
|
12293
|
+
* @param grabbers - Grabber array used for interactions such as mouse dragging.
|
|
12294
|
+
* @param flatPlanes - Plane limiters such as the floor to prevent penetration.
|
|
11835
12295
|
*/
|
|
11836
12296
|
initialize(rootTransform: TransformAccess, rootPoints: BoneNode[], pointTransforms: TransformAccess[], colliders: Array<{
|
|
11837
12297
|
r: ColliderR;
|
|
@@ -11845,155 +12305,193 @@ declare class JointDynamicsSystemController {
|
|
|
11845
12305
|
position: Vector3;
|
|
11846
12306
|
}>): void;
|
|
11847
12307
|
/**
|
|
11848
|
-
*
|
|
11849
|
-
*
|
|
11850
|
-
*
|
|
12308
|
+
* Advances the simulation by one frame.
|
|
12309
|
+
* Internal flow: read current transforms, run Verlet integration and constraint solving,
|
|
12310
|
+
* then write the result back to the transforms.
|
|
12311
|
+
* @param deltaTime - Frame delta time in seconds. Internally subdivided by `subSteps`.
|
|
11851
12312
|
*/
|
|
11852
12313
|
step(deltaTime: number): void;
|
|
11853
12314
|
/**
|
|
11854
|
-
*
|
|
11855
|
-
*
|
|
11856
|
-
*
|
|
12315
|
+
* Returns the simulated results for all points as world-space positions and rotations.
|
|
12316
|
+
* Usually this does not need to be called manually because `step()` already writes the
|
|
12317
|
+
* output back to the transforms.
|
|
11857
12318
|
*/
|
|
11858
12319
|
getResults(): Array<{
|
|
11859
12320
|
position: Vector3;
|
|
11860
12321
|
rotation: Quaternion;
|
|
11861
12322
|
}>;
|
|
11862
12323
|
/**
|
|
11863
|
-
*
|
|
11864
|
-
*
|
|
11865
|
-
*
|
|
12324
|
+
* Compensates for teleportation by resetting the previous root transform to the current one.
|
|
12325
|
+
* Call this after a character warp or teleport to avoid a large root-motion impulse on the
|
|
12326
|
+
* next simulation step.
|
|
11866
12327
|
*/
|
|
11867
12328
|
warp(): void;
|
|
11868
12329
|
/**
|
|
11869
|
-
*
|
|
11870
|
-
*
|
|
11871
|
-
*
|
|
12330
|
+
* Resets all physics state.
|
|
12331
|
+
* Each simulated point is snapped back to the current transform position and grab state
|
|
12332
|
+
* is cleared.
|
|
11872
12333
|
*/
|
|
11873
12334
|
reset(): void;
|
|
11874
12335
|
/**
|
|
11875
|
-
*
|
|
11876
|
-
*
|
|
11877
|
-
* @param index
|
|
12336
|
+
* Releases a fixed point so it becomes dynamic, for example when cloth is detached.
|
|
12337
|
+
* The point state is reset to avoid a sudden impulse.
|
|
12338
|
+
* @param index - Point index.
|
|
11878
12339
|
*/
|
|
11879
12340
|
releasePoint(index: number): void;
|
|
11880
12341
|
/**
|
|
11881
|
-
*
|
|
11882
|
-
*
|
|
11883
|
-
* @param index
|
|
12342
|
+
* Fixes a dynamic point back to the animation pose, for example when an item is reattached.
|
|
12343
|
+
* The point grab state is cleared.
|
|
12344
|
+
* @param index - Point index.
|
|
11884
12345
|
*/
|
|
11885
12346
|
fixPoint(index: number): void;
|
|
11886
12347
|
/**
|
|
11887
|
-
*
|
|
11888
|
-
* @param index
|
|
12348
|
+
* Returns whether a point is fixed to animation (`weight = 0`).
|
|
12349
|
+
* @param index - Point index.
|
|
11889
12350
|
*/
|
|
11890
12351
|
isPointFixed(index: number): boolean;
|
|
11891
|
-
/**
|
|
12352
|
+
/** Gets the total number of physics points. */
|
|
11892
12353
|
get pointCount(): number;
|
|
11893
12354
|
/**
|
|
11894
|
-
*
|
|
11895
|
-
* blendRatio
|
|
11896
|
-
* @param seconds
|
|
12355
|
+
* Fades physics in by blending from animation pose to simulation.
|
|
12356
|
+
* `blendRatio` moves from `1` (animation only) to `0` (physics only).
|
|
12357
|
+
* @param seconds - Transition duration in seconds.
|
|
11897
12358
|
*/
|
|
11898
12359
|
fadeIn(seconds: number): void;
|
|
11899
12360
|
/**
|
|
11900
|
-
*
|
|
11901
|
-
* blendRatio
|
|
11902
|
-
* @param seconds
|
|
12361
|
+
* Fades physics out by blending from simulation back to animation pose.
|
|
12362
|
+
* `blendRatio` moves from `0` (physics only) to `1` (animation only).
|
|
12363
|
+
* @param seconds - Transition duration in seconds.
|
|
11903
12364
|
*/
|
|
11904
12365
|
fadeOut(seconds: number): void;
|
|
11905
12366
|
/**
|
|
11906
|
-
*
|
|
11907
|
-
*
|
|
11908
|
-
* @param wind
|
|
12367
|
+
* Sets the global wind force vector.
|
|
12368
|
+
* The final wind contribution is still scaled per point by `windForceScale` and mass.
|
|
12369
|
+
* @param wind - Wind vector in world space.
|
|
11909
12370
|
*/
|
|
11910
12371
|
setWindForce(wind: Vector3): void;
|
|
11911
|
-
/**
|
|
12372
|
+
/**
|
|
12373
|
+
* Enable/disable broad-phase pruning for runtime performance comparison
|
|
12374
|
+
* @param enabled - `true` to enable broad-phase, `false` to disable.
|
|
12375
|
+
*/
|
|
11912
12376
|
setBroadPhaseEnabled(enabled: boolean): void;
|
|
11913
12377
|
/** The blend ratio for the physics simulation */
|
|
11914
12378
|
get blendRatio(): number;
|
|
11915
12379
|
set blendRatio(value: number);
|
|
11916
12380
|
/**
|
|
11917
|
-
*
|
|
11918
|
-
*
|
|
11919
|
-
*
|
|
12381
|
+
* Pauses or resumes the physics simulation.
|
|
12382
|
+
* While paused, the system still follows root motion but skips force integration and
|
|
12383
|
+
* constraint solving.
|
|
12384
|
+
* @param paused - `true` to pause, `false` to resume.
|
|
11920
12385
|
*/
|
|
11921
12386
|
setPaused(paused: boolean): void;
|
|
11922
12387
|
/**
|
|
11923
12388
|
* Enable or disable a collider by current array index.
|
|
11924
12389
|
* Transform state is still read from the collider's TransformAccess each frame.
|
|
11925
12390
|
* Prefer setColliderEnabled(handle, enabled) for runtime-owned colliders.
|
|
12391
|
+
*
|
|
12392
|
+
* @param index - Collider index in the current array. Note that this may change when colliders are added or removed.
|
|
12393
|
+
* @param enabled - `true` to enable the collider, `false` to disable it.
|
|
12394
|
+
*
|
|
12395
|
+
* @returns `true` if the index is valid and the collider was updated, `false` if the index is out of range.
|
|
11926
12396
|
*/
|
|
11927
12397
|
setColliderEnabledAt(index: number, enabled: boolean): boolean;
|
|
11928
12398
|
/**
|
|
11929
12399
|
* Enable or disable a runtime collider by stable handle.
|
|
12400
|
+
*
|
|
12401
|
+
* @param handle - Stable handle for the collider to enable or disable.
|
|
12402
|
+
* @param enabled - `true` to enable the collider, `false` to disable it.
|
|
11930
12403
|
* @returns true if the handle is still valid.
|
|
11931
12404
|
*/
|
|
11932
12405
|
setColliderEnabled(handle: JointDynamicsColliderHandle, enabled: boolean): boolean;
|
|
11933
12406
|
/**
|
|
11934
12407
|
* Add a collider at runtime.
|
|
12408
|
+
* @param r - Read-only collider data such as shape and size.
|
|
12409
|
+
* @param transform - TransformAccess that provides the collider's position and rotation each frame.
|
|
11935
12410
|
* @returns A stable handle that remains valid until this collider is removed.
|
|
11936
12411
|
*/
|
|
11937
12412
|
addCollider(r: ColliderR, transform: TransformAccess): JointDynamicsColliderHandle;
|
|
11938
12413
|
/**
|
|
11939
12414
|
* Remove a collider by stable handle.
|
|
12415
|
+
* @param handle - Stable handle for the collider to remove.
|
|
11940
12416
|
* @returns true if the collider existed and was removed.
|
|
11941
12417
|
*/
|
|
11942
12418
|
removeCollider(handle: JointDynamicsColliderHandle): boolean;
|
|
11943
12419
|
/**
|
|
11944
12420
|
* Remove a collider by current array index.
|
|
12421
|
+
* @param index - Collider index in the current array. Note that this may change when colliders are added or removed.
|
|
11945
12422
|
* Prefer removeCollider(handle) for runtime-owned colliders.
|
|
11946
12423
|
*/
|
|
11947
12424
|
removeColliderAt(index: number): boolean;
|
|
11948
12425
|
/**
|
|
11949
12426
|
* Enable or disable a flat plane by current array index.
|
|
11950
|
-
*
|
|
12427
|
+
* @param index - Flat plane index in the current array. Note that this may change when flat planes are added or removed.
|
|
12428
|
+
* @param enabled - `true` to enable the flat plane, `false` to disable it.
|
|
12429
|
+
* @returns `true` if the index is valid and the flat plane was updated, `false` if the index is out of range.
|
|
11951
12430
|
*/
|
|
11952
12431
|
setFlatPlaneEnabledAt(index: number, enabled: boolean): boolean;
|
|
11953
12432
|
/**
|
|
11954
12433
|
* Enable or disable a runtime flat plane by stable handle.
|
|
12434
|
+
* @param handle - Stable handle for the flat plane to enable or disable.
|
|
12435
|
+
* @param enabled - `true` to enable the flat plane, `false` to disable it.
|
|
11955
12436
|
* @returns true if the handle is still valid.
|
|
11956
12437
|
*/
|
|
11957
12438
|
setFlatPlaneEnabled(handle: JointDynamicsFlatPlaneHandle, enabled: boolean): boolean;
|
|
11958
12439
|
/**
|
|
11959
12440
|
* Add a flat plane at runtime.
|
|
12441
|
+
* @param up - Up direction of the plane. The normal is computed as `Vector3.normalize(up)`.
|
|
12442
|
+
* @param position - A point on the plane. The distance is computed as `-Vector3.dot(normal, position)`.
|
|
11960
12443
|
* @returns A stable handle that remains valid until this flat plane is removed.
|
|
11961
12444
|
*/
|
|
11962
12445
|
addFlatPlane(up: Vector3, position: Vector3): JointDynamicsFlatPlaneHandle;
|
|
11963
12446
|
/**
|
|
11964
12447
|
* Remove a flat plane by stable handle.
|
|
12448
|
+
* @param handle - Stable handle for the flat plane to remove.
|
|
11965
12449
|
* @returns true if the flat plane existed and was removed.
|
|
11966
12450
|
*/
|
|
11967
12451
|
removeFlatPlane(handle: JointDynamicsFlatPlaneHandle): boolean;
|
|
11968
12452
|
/**
|
|
11969
12453
|
* Remove a flat plane by current array index.
|
|
11970
|
-
*
|
|
12454
|
+
* @param index - Flat plane index in the current array. Note that this may change when flat planes are added or removed.
|
|
12455
|
+
* @returns true if the index was valid and the flat plane was removed, false if the index was out of range.
|
|
11971
12456
|
*/
|
|
11972
12457
|
removeFlatPlaneAt(index: number): boolean;
|
|
11973
12458
|
/**
|
|
11974
12459
|
* Enable or disable a grabber by current array index.
|
|
11975
12460
|
* Transform state is still read from the grabber's TransformAccess each frame.
|
|
11976
12461
|
* Prefer setGrabberEnabled(handle, enabled) for runtime-owned grabbers.
|
|
12462
|
+
*
|
|
12463
|
+
* @param index - Grabber index in the current array. Note that this may change when grabbers are added or removed.
|
|
12464
|
+
* @param enabled - `true` to enable the grabber, `false` to disable it.
|
|
12465
|
+
* @returns `true` if the index is valid and the grabber was updated, `false` if the index is out of range.
|
|
11977
12466
|
*/
|
|
11978
12467
|
setGrabberEnabledAt(index: number, enabled: boolean): boolean;
|
|
11979
12468
|
/**
|
|
11980
12469
|
* Enable or disable a runtime grabber by stable handle.
|
|
12470
|
+
* @param handle - Stable handle for the grabber to enable or disable.
|
|
12471
|
+
* @param enabled - `true` to enable the grabber, `false` to disable it.
|
|
11981
12472
|
* @returns true if the handle is still valid.
|
|
11982
12473
|
*/
|
|
11983
12474
|
setGrabberEnabled(handle: JointDynamicsGrabberHandle, enabled: boolean): boolean;
|
|
11984
12475
|
/**
|
|
11985
12476
|
* Add a grabber at runtime.
|
|
12477
|
+
* @param r - Read-only grabber data such as interaction radius.
|
|
12478
|
+
* @param transform - TransformAccess that provides the grabber's position each frame.
|
|
12479
|
+
* @param enabled - Whether the grabber starts enabled. The grabber can still be moved by its transform while disabled, but it won't affect any points until enabled.
|
|
11986
12480
|
* @returns A stable handle that remains valid until this grabber is removed.
|
|
11987
12481
|
*/
|
|
11988
12482
|
addGrabber(r: GrabberR, transform: TransformAccess, enabled?: boolean): JointDynamicsGrabberHandle;
|
|
11989
12483
|
/**
|
|
11990
12484
|
* Remove a grabber by stable handle.
|
|
12485
|
+
* @param handle - Stable handle for the grabber to remove.
|
|
11991
12486
|
* @returns true if the grabber existed and was removed.
|
|
11992
12487
|
*/
|
|
11993
12488
|
removeGrabber(handle: JointDynamicsGrabberHandle): boolean;
|
|
11994
12489
|
/**
|
|
11995
12490
|
* Remove a grabber by current array index.
|
|
11996
12491
|
* Prefer removeGrabber(handle) for runtime-owned grabbers.
|
|
12492
|
+
*
|
|
12493
|
+
* @param index - Grabber index in the current array. Note that this may change when grabbers are added or removed.
|
|
12494
|
+
* @returns true if the index was valid and the grabber was removed, false if the index was out of range.
|
|
11997
12495
|
*/
|
|
11998
12496
|
removeGrabberAt(index: number): boolean;
|
|
11999
12497
|
/** Gets the number of runtime colliders. */
|
|
@@ -12272,6 +12770,11 @@ declare class JointDynamicsModifier extends SkeletonModifier {
|
|
|
12272
12770
|
protected _setWeight(value: number): void;
|
|
12273
12771
|
}
|
|
12274
12772
|
|
|
12773
|
+
/**
|
|
12774
|
+
* Callback invoked after a mesh finishes its per-frame update.
|
|
12775
|
+
*
|
|
12776
|
+
* @public
|
|
12777
|
+
*/
|
|
12275
12778
|
type MeshUpdateCallback = (frameId: number, elapsedInSeconds: number, deltaInSeconds: number) => void;
|
|
12276
12779
|
declare const Mesh_base: typeof GraphNode & _zephyr3d_base.GenericConstructor<{
|
|
12277
12780
|
getNode(): SceneNode;
|
|
@@ -12291,11 +12794,11 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12291
12794
|
*/
|
|
12292
12795
|
getName(): string;
|
|
12293
12796
|
/**
|
|
12294
|
-
*
|
|
12797
|
+
* Returns the batch instance ID for the current render pass.
|
|
12295
12798
|
*/
|
|
12296
12799
|
getInstanceId(_renderPass: RenderPass): string;
|
|
12297
12800
|
/**
|
|
12298
|
-
*
|
|
12801
|
+
* Returns the packed instance-uniform buffer used for batching.
|
|
12299
12802
|
*/
|
|
12300
12803
|
getInstanceUniforms(): Float32Array<ArrayBuffer>;
|
|
12301
12804
|
/**
|
|
@@ -12305,9 +12808,6 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12305
12808
|
setPickTarget(node: SceneNode, label?: string): void;
|
|
12306
12809
|
get skeletonName(): string;
|
|
12307
12810
|
set skeletonName(name: string);
|
|
12308
|
-
set skinAnimation(val: boolean);
|
|
12309
|
-
set suspendSkinning(val: boolean);
|
|
12310
|
-
set morphAnimation(val: boolean);
|
|
12311
12811
|
/** Wether the mesh node casts shadows */
|
|
12312
12812
|
get castShadow(): boolean;
|
|
12313
12813
|
set castShadow(b: boolean);
|
|
@@ -12388,7 +12888,7 @@ declare class Mesh extends Mesh_base implements BatchDrawable {
|
|
|
12388
12888
|
/**
|
|
12389
12889
|
* Update morph target weight
|
|
12390
12890
|
*
|
|
12391
|
-
* @param weight - The
|
|
12891
|
+
* @param weight - The morph target weights. The length must not exceed the mesh's morph target count.
|
|
12392
12892
|
*/
|
|
12393
12893
|
updateMorphWeights(weight: number[]): void;
|
|
12394
12894
|
/** {@inheritDoc SceneNode.update} */
|
|
@@ -12619,7 +13119,6 @@ declare class ParticleSystem extends ParticleSystem_base implements Drawable {
|
|
|
12619
13119
|
/** Whether particles are in world space */
|
|
12620
13120
|
get worldSpace(): boolean;
|
|
12621
13121
|
set worldSpace(value: boolean);
|
|
12622
|
-
set flags(value: number);
|
|
12623
13122
|
private getParticleInitialPosition;
|
|
12624
13123
|
resizeVertexBuffers(): void;
|
|
12625
13124
|
update(_frameId: number, elapsedInSeconds: number, deltaInSeconds: number): void;
|
|
@@ -12848,6 +13347,11 @@ interface AssetAnimationTrack {
|
|
|
12848
13347
|
interpolator: Interpolator;
|
|
12849
13348
|
defaultMorphWeights?: number[];
|
|
12850
13349
|
}
|
|
13350
|
+
/**
|
|
13351
|
+
* Fixed-frame geometry cache animation track data.
|
|
13352
|
+
*
|
|
13353
|
+
* @public
|
|
13354
|
+
*/
|
|
12851
13355
|
interface AssetFixedGeometryCacheAnimationTrack {
|
|
12852
13356
|
node: AssetHierarchyNode;
|
|
12853
13357
|
type: 'geometry-cache';
|
|
@@ -12856,6 +13360,11 @@ interface AssetFixedGeometryCacheAnimationTrack {
|
|
|
12856
13360
|
times: Float32Array;
|
|
12857
13361
|
frames: FixedGeometryCacheFrame[];
|
|
12858
13362
|
}
|
|
13363
|
+
/**
|
|
13364
|
+
* PCA-compressed geometry cache animation track data.
|
|
13365
|
+
*
|
|
13366
|
+
* @public
|
|
13367
|
+
*/
|
|
12859
13368
|
interface AssetPCAGeometryCacheAnimationTrack {
|
|
12860
13369
|
node: AssetHierarchyNode;
|
|
12861
13370
|
type: 'geometry-cache';
|
|
@@ -12871,6 +13380,11 @@ interface AssetPCAGeometryCacheAnimationTrack {
|
|
|
12871
13380
|
normalBases?: Nullable<Float32Array[]>;
|
|
12872
13381
|
normalCoefficients?: Nullable<Float32Array[]>;
|
|
12873
13382
|
}
|
|
13383
|
+
/**
|
|
13384
|
+
* Geometry cache animation track data.
|
|
13385
|
+
*
|
|
13386
|
+
* @public
|
|
13387
|
+
*/
|
|
12874
13388
|
type AssetGeometryCacheAnimationTrack = AssetFixedGeometryCacheAnimationTrack | AssetPCAGeometryCacheAnimationTrack;
|
|
12875
13389
|
/**
|
|
12876
13390
|
* Animation data interface for model loading
|
|
@@ -14092,9 +14606,6 @@ declare class ClipmapTerrain extends ClipmapTerrain_base implements Drawable {
|
|
|
14092
14606
|
* @returns Maximum number of detail maps
|
|
14093
14607
|
*/
|
|
14094
14608
|
get MAX_DETAIL_MAP_COUNT(): number;
|
|
14095
|
-
set heightMapAssetId(val: string);
|
|
14096
|
-
set splatMapAssetId(val: string);
|
|
14097
|
-
set grassAssetId(val: string);
|
|
14098
14609
|
/**
|
|
14099
14610
|
* The current number of active detail maps.
|
|
14100
14611
|
* Detail maps define different surface materials (grass, rock, etc.).
|
|
@@ -14246,11 +14757,11 @@ declare class BaseSprite<M extends SpriteMaterial> extends BaseSprite_base imple
|
|
|
14246
14757
|
*/
|
|
14247
14758
|
getName(): string;
|
|
14248
14759
|
/**
|
|
14249
|
-
*
|
|
14760
|
+
* Returns the batch instance ID for the current render pass.
|
|
14250
14761
|
*/
|
|
14251
14762
|
getInstanceId(_renderPass: RenderPass): string;
|
|
14252
14763
|
/**
|
|
14253
|
-
*
|
|
14764
|
+
* Returns the packed instance-uniform buffer used for batching.
|
|
14254
14765
|
*/
|
|
14255
14766
|
getInstanceUniforms(): Float32Array<ArrayBuffer>;
|
|
14256
14767
|
/**
|
|
@@ -14342,13 +14853,33 @@ declare class Sprite extends BaseSprite<SpriteMaterial> {
|
|
|
14342
14853
|
isSprite(): this is Sprite;
|
|
14343
14854
|
}
|
|
14344
14855
|
|
|
14856
|
+
/**
|
|
14857
|
+
* Serializable script attachment configuration payload.
|
|
14858
|
+
*
|
|
14859
|
+
* @public
|
|
14860
|
+
*/
|
|
14345
14861
|
type ScriptAttachmentConfig = Nullable<Record<string, unknown> | unknown[]>;
|
|
14862
|
+
/**
|
|
14863
|
+
* Normalizes a script attachment config into a clone-safe serializable shape.
|
|
14864
|
+
*
|
|
14865
|
+
* @public
|
|
14866
|
+
*/
|
|
14346
14867
|
declare function normalizeScriptAttachmentConfig(value: unknown): ScriptAttachmentConfig;
|
|
14868
|
+
/**
|
|
14869
|
+
* Describes a script attached to a scene node.
|
|
14870
|
+
*
|
|
14871
|
+
* @public
|
|
14872
|
+
*/
|
|
14347
14873
|
declare class ScriptAttachment {
|
|
14348
14874
|
script: string;
|
|
14349
14875
|
config: ScriptAttachmentConfig;
|
|
14350
14876
|
constructor(script?: string, config?: ScriptAttachmentConfig);
|
|
14351
14877
|
}
|
|
14878
|
+
/**
|
|
14879
|
+
* Normalizes an arbitrary value into an array of script attachments.
|
|
14880
|
+
*
|
|
14881
|
+
* @public
|
|
14882
|
+
*/
|
|
14352
14883
|
declare function normalizeScriptAttachments(value: unknown): ScriptAttachment[];
|
|
14353
14884
|
|
|
14354
14885
|
/**
|
|
@@ -15171,7 +15702,7 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
15171
15702
|
* Warning: Do not remove children during this iteration. To allow removal, use `iterateBottomToTop`.
|
|
15172
15703
|
*
|
|
15173
15704
|
* @param callback - Called for each node; if returns true, iteration stops.
|
|
15174
|
-
* @returns true
|
|
15705
|
+
* @returns If returns true, the iteration will immediately stop.
|
|
15175
15706
|
*/
|
|
15176
15707
|
iterate(callback: NodeIterateFunc): boolean;
|
|
15177
15708
|
/**
|
|
@@ -15180,7 +15711,7 @@ declare class SceneNode extends SceneNode_base implements IDisposable {
|
|
|
15180
15711
|
* Child nodes can be safely removed during this iteration.
|
|
15181
15712
|
*
|
|
15182
15713
|
* @param callback - Called for each node; if returns true, iteration stops.
|
|
15183
|
-
* @returns true
|
|
15714
|
+
* @returns If returns true, the iteration will immediately stop.
|
|
15184
15715
|
*/
|
|
15185
15716
|
iterateBottomToTop(callback: NodeIterateFunc): boolean;
|
|
15186
15717
|
/** Type guard: true if this node is a graph node. */
|
|
@@ -15570,6 +16101,15 @@ declare class ScriptRegistry {
|
|
|
15570
16101
|
*/
|
|
15571
16102
|
get scriptsRoot(): string;
|
|
15572
16103
|
set scriptsRoot(path: string);
|
|
16104
|
+
/**
|
|
16105
|
+
* Invalidates cached built module output for one logical module id, or clears the full cache.
|
|
16106
|
+
*
|
|
16107
|
+
* Pass the same logical id shape that callers use with {@link ScriptRegistry.resolveRuntimeUrl},
|
|
16108
|
+
* for example `/assets/scripts/foo.ts`, `/assets/scripts/foo.js`, or `/assets/scripts/foo`.
|
|
16109
|
+
*
|
|
16110
|
+
* @param moduleId - Optional logical module id to invalidate. Omit to clear the entire build cache.
|
|
16111
|
+
*/
|
|
16112
|
+
invalidate(moduleId?: string): void;
|
|
15573
16113
|
/**
|
|
15574
16114
|
* Fetches raw source for a logical module id by probing known extensions.
|
|
15575
16115
|
*
|
|
@@ -16142,7 +16682,7 @@ declare class Engine {
|
|
|
16142
16682
|
*/
|
|
16143
16683
|
get resourceManager(): ResourceManager;
|
|
16144
16684
|
/**
|
|
16145
|
-
* Exposes the
|
|
16685
|
+
* Exposes the active {@link ScreenAdapter}.
|
|
16146
16686
|
*/
|
|
16147
16687
|
get screen(): ScreenAdapter;
|
|
16148
16688
|
/**
|
|
@@ -16249,7 +16789,11 @@ type appEventMap = {
|
|
|
16249
16789
|
dragend: [evt: DragEvent];
|
|
16250
16790
|
drop: [evt: DragEvent];
|
|
16251
16791
|
};
|
|
16252
|
-
/**
|
|
16792
|
+
/**
|
|
16793
|
+
* Application editor/runtime mode.
|
|
16794
|
+
*
|
|
16795
|
+
* @public
|
|
16796
|
+
*/
|
|
16253
16797
|
type EditorMode = 'editor' | 'editor-preview' | 'none';
|
|
16254
16798
|
/**
|
|
16255
16799
|
* Options for Application.
|
|
@@ -16271,7 +16815,7 @@ interface AppOptions {
|
|
|
16271
16815
|
*/
|
|
16272
16816
|
enableMSAA?: boolean;
|
|
16273
16817
|
/**
|
|
16274
|
-
* Device pixel ratio used when creating the device. Defaults to `window.devicePixelRatio` or 1
|
|
16818
|
+
* Device pixel ratio used when creating the device. Defaults to `window.devicePixelRatio` or `1`.
|
|
16275
16819
|
*/
|
|
16276
16820
|
pixelRatio?: number;
|
|
16277
16821
|
}
|
|
@@ -17116,6 +17660,14 @@ declare class ResourceManager {
|
|
|
17116
17660
|
* @returns An array of `PropertyAccessor` entries, or `null` if none.
|
|
17117
17661
|
*/
|
|
17118
17662
|
getPropertiesByClass(cls: SerializableClass): PropertyAccessor[] | null;
|
|
17663
|
+
/**
|
|
17664
|
+
* Get all properties declared on a given class and its ancestors.
|
|
17665
|
+
*
|
|
17666
|
+
* @param cls - Serializable class metadata.
|
|
17667
|
+
*
|
|
17668
|
+
* @returns An array of `PropertyAccessor` entries, or `null` if none.
|
|
17669
|
+
*/
|
|
17670
|
+
getAllPropertiesByClass(cls: Nullable<SerializableClass>): PropertyAccessor[];
|
|
17119
17671
|
/**
|
|
17120
17672
|
* Get a property accessor by class and property name.
|
|
17121
17673
|
*
|
|
@@ -20831,7 +21383,7 @@ declare class PixelWorldPositionNode extends BaseGraphNode {
|
|
|
20831
21383
|
* Gets the output type for a specific output slot
|
|
20832
21384
|
*
|
|
20833
21385
|
* @param id - The output slot ID
|
|
20834
|
-
* @returns 'float' for individual component outputs (id
|
|
21386
|
+
* @returns 'float' for individual component outputs (id \> 1), 'vec3' for full position
|
|
20835
21387
|
*/
|
|
20836
21388
|
protected getType(id: number): "float" | "vec3";
|
|
20837
21389
|
}
|
|
@@ -20961,7 +21513,7 @@ declare class PixelNormalNode extends BaseGraphNode {
|
|
|
20961
21513
|
* Gets the output type for a specific output slot
|
|
20962
21514
|
*
|
|
20963
21515
|
* @param id - The output slot ID
|
|
20964
|
-
* @returns 'float' for individual component outputs (id
|
|
21516
|
+
* @returns 'float' for individual component outputs (id \> 1), 'vec3' for full normal
|
|
20965
21517
|
*/
|
|
20966
21518
|
protected getType(id: number): "float" | "vec3";
|
|
20967
21519
|
}
|
|
@@ -21732,7 +22284,7 @@ declare class CameraVectorNode extends BaseGraphNode {
|
|
|
21732
22284
|
* Gets the output type for a specific output slot
|
|
21733
22285
|
*
|
|
21734
22286
|
* @param id - The output slot ID
|
|
21735
|
-
* @returns 'float' for individual component outputs (id
|
|
22287
|
+
* @returns 'float' for individual component outputs (id \> 1), 'vec3' for full vector
|
|
21736
22288
|
*/
|
|
21737
22289
|
protected getType(id: number): "float" | "vec3";
|
|
21738
22290
|
}
|
|
@@ -22479,9 +23031,6 @@ declare class CapsuleShape extends Shape<CapsuleCreationOptions> implements Clon
|
|
|
22479
23031
|
/** Capsule total height */
|
|
22480
23032
|
get totalHeight(): number;
|
|
22481
23033
|
/**
|
|
22482
|
-
* {@inheritDoc Primitive.raycast}
|
|
22483
|
-
* @override
|
|
22484
|
-
*
|
|
22485
23034
|
* Analytically intersects a ray with a capsule aligned along the Y axis.
|
|
22486
23035
|
*
|
|
22487
23036
|
* The capsule consists of:
|
|
@@ -22553,9 +23102,6 @@ declare class CylinderShape extends Shape<CylinderCreationOptions> implements Cl
|
|
|
22553
23102
|
/** type of the shape */
|
|
22554
23103
|
get type(): "Cylinder";
|
|
22555
23104
|
/**
|
|
22556
|
-
* {@inheritDoc Primitive.raycast}
|
|
22557
|
-
* @override
|
|
22558
|
-
*
|
|
22559
23105
|
* Analytically intersects a ray with a cone frustum (or cylinder when
|
|
22560
23106
|
* topRadius === bottomRadius) including the optional top and bottom caps.
|
|
22561
23107
|
*
|
|
@@ -22625,9 +23171,6 @@ declare class PlaneShape extends Shape<PlaneCreationOptions> implements Clonable
|
|
|
22625
23171
|
/** type of the shape */
|
|
22626
23172
|
get type(): "Plane";
|
|
22627
23173
|
/**
|
|
22628
|
-
* {@inheritDoc Primitive.raycast}
|
|
22629
|
-
* @override
|
|
22630
|
-
*
|
|
22631
23174
|
* Intersects the ray with the finite XZ plane (y = 0) whose bounds are
|
|
22632
23175
|
* determined by size/anchor options.
|
|
22633
23176
|
*/
|
|
@@ -22736,9 +23279,6 @@ declare class TorusShape extends Shape<TorusCreationOptions> implements Clonable
|
|
|
22736
23279
|
/** type of the shape */
|
|
22737
23280
|
get type(): "Torus";
|
|
22738
23281
|
/**
|
|
22739
|
-
* {@inheritDoc Primitive.raycast}
|
|
22740
|
-
* @override
|
|
22741
|
-
*
|
|
22742
23282
|
* Analytically intersects a ray with a torus lying in the XZ plane.
|
|
22743
23283
|
* The torus has major radius R (outerRadius) and minor radius r (innerRadius).
|
|
22744
23284
|
*
|
|
@@ -22784,9 +23324,6 @@ declare class TetrahedronShape extends Shape<TetrahedronCreationOptions> impleme
|
|
|
22784
23324
|
clone(): this;
|
|
22785
23325
|
get type(): string;
|
|
22786
23326
|
/**
|
|
22787
|
-
* {@inheritDoc Primitive.raycast}
|
|
22788
|
-
* @override
|
|
22789
|
-
*
|
|
22790
23327
|
* Tests each triangular face of the tetrahedron with the Möller–Trumbore
|
|
22791
23328
|
* algorithm and returns the smallest non-negative t.
|
|
22792
23329
|
*/
|
|
@@ -22813,9 +23350,6 @@ declare class TetrahedronFrameShape extends Shape<TetrahedronCreationOptions> im
|
|
|
22813
23350
|
clone(): this;
|
|
22814
23351
|
get type(): "TetrahedronFrame";
|
|
22815
23352
|
/**
|
|
22816
|
-
* {@inheritDoc Primitive.raycast}
|
|
22817
|
-
* @override
|
|
22818
|
-
*
|
|
22819
23353
|
* Tests each triangular face of the tetrahedron with the Möller–Trumbore
|
|
22820
23354
|
* algorithm and returns the smallest non-negative t.
|
|
22821
23355
|
* The wireframe has the same overall geometry as the solid version.
|
|
@@ -23487,11 +24021,6 @@ declare const LIGHT_TYPE_SPOT = 3;
|
|
|
23487
24021
|
* @public
|
|
23488
24022
|
*/
|
|
23489
24023
|
declare const LIGHT_TYPE_RECT = 4;
|
|
23490
|
-
/**
|
|
23491
|
-
* Max light size for clustered lighting
|
|
23492
|
-
* @public
|
|
23493
|
-
*/
|
|
23494
|
-
declare const MAX_CLUSTERED_LIGHTS = 255;
|
|
23495
24024
|
/**
|
|
23496
24025
|
* Opaque render queue type
|
|
23497
24026
|
* @public
|
|
@@ -23552,4 +24081,4 @@ declare const ATMOSPHERIC_FOG_BIT: number;
|
|
|
23552
24081
|
*/
|
|
23553
24082
|
declare const HEIGHT_FOG_BIT: number;
|
|
23554
24083
|
|
|
23555
|
-
export { AABBTree, ABufferOIT, ATMOSPHERIC_FOG_BIT, AbsNode, AbstractPostEffect, AllConditionNode, type AngleLimitConfig, AnimationClip, AnimationSet, AnimationTrack, AnyConditionNode, type AppCreationOptions, type AppOptions, Application, type ApplyResultOutput, ArcCosNode, ArcSinNode, ArcTan2Node, ArcTanNode, ArccosineHNode, ArcsineHNode, ArctangentHNode, type AssetAnimationData, type AssetAnimationTrack, type AssetFixedGeometryCacheAnimationTrack, type AssetGeometryCacheAnimationTrack, AssetHierarchyNode, AssetManager, type AssetMaterial, type AssetMaterialClearcoat, type AssetMaterialCommon, type AssetMaterialIridescence, type AssetMaterialSheen, type AssetMaterialTransmission, type AssetMeshData, type AssetPBRMaterialCommon, type AssetPBRMaterialMR, type AssetPBRMaterialSG, type AssetPCAGeometryCacheAnimationTrack, type AssetRotationTrack, type AssetScaleTrack, AssetScene, type AssetSkeletalAnimationTrack, AssetSkeleton, type AssetSubMeshData, type AssetTranslationTrack, type AssetUnlitMaterial, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, BaseCameraController, BaseGraphNode, BaseLight, BaseSprite, BaseTextureNode, type BatchDrawable, BatchGroup, BillboardMatrixNode, type BlendMode, BlinnMaterial, type BlitType, Blitter, Bloom, type BluePrintEditorState, type BluePrintUniformTexture, type BluePrintUniformValue, type BlueprintDAG, type BoneNode, BoundingBox, type BoundingVolume, type BoxCreationOptions, BoxFilterBlitter, BoxFrameShape, BoxShape, CCDSolver, type CachedBindGroup, Camera, CameraNearFarNode, type CameraOITMode, CameraPositionNode, CameraVectorNode, type CapsuleCollider, type CapsuleCreationOptions, CapsuleShape, CeilNode, ClampNode, ClipmapTerrain, ClipmapTerrainMaterial, ColliderForce, type ColliderR, type ColliderRW, type CollisionResult, ColorAdjust, CompAddNode, CompComparisonNode, CompDivNode, CompMulNode, CompSubNode, type ComparisonMode, type CompiledRenderGraph, Compositor, type CompositorContext, ConstantBVec2Node, ConstantBVec3Node, ConstantBVec4Node, ConstantBooleanNode, ConstantScalarNode, ConstantTexture2DArrayNode, ConstantTexture2DNode, ConstantTextureCubeNode, ConstantVec2Node, ConstantVec3Node, ConstantVec4Node, type Constraint, type ConstraintBuildOptions, ConstraintType, type ControllerConfig, CopyBlitter, CosHNode, CosNode, CrossProductNode, CubemapSHProjector, CullVisitor, type CylinderCreationOptions, CylinderShape, DDXNode, DDYNode, Degrees2RadiansNode, DepthPass, DevicePoolAllocator, DirectionalLight, DistanceNode, DotProductNode, DracoMeshDecoder, type DrawContext, type Drawable, type DrawableInstanceInfo, EPSILON, type EditorMode, ElapsedTimeNode, type EmitterBehavior, type EmitterShape, Engine, EnvConstantAmbient, EnvHemisphericAmbient, type EnvLightType, EnvLightWrapper, EnvShIBL, Environment, EnvironmentLighting, EqualNode, Exp2Node, ExpNode, type ExtractMixinReturnType, type ExtractMixinType, FABRIKSolver, FBMWaveGenerator, FFTWaveGenerator, FPSCameraController, type FPSCameraControllerOptions, FWidthNode, FXAA, FaceForwardNode, type FixedGeometryCacheFrame, type FixedGeometryCacheState, FixedGeometryCacheTrack, type FlatPlane, FloorNode, FmaNode, type FogType, type ForwardPlusOptions, FractNode, FunctionCallNode, FunctionInputNode, FunctionOutputNode, GPUClothSystem, type GPUClothSystemOptions, type GPUClothWrapBindingData, type GPUClothWrapBindingTarget, GaussianBlurBlitter, GenericMathNode, type GeometryCacheFrame, type GeometryCacheMeshBinding, type GeometryCacheState, GerstnerWaveGenerator, type GrabberR, type GrabberRW, GraphNode, type GraphNodeInput, type GraphNodeOutput, type GraphStructure, type GrassInstanceInfo, GrassLayer, GrassMaterial, GrassRenderer, Grayscale, HEIGHT_FOG_BIT, Hash1Node, Hash2Node, Hash3Node, HistoryResourceManager, type Host, HumanoidBodyRig, HumanoidHandRig, type HumanoidJointMapping, type IAttachedScript, type IBaseEvent, type IControllerKeyboardEvent, type IControllerKeydownEvent, type IControllerKeypressEvent, type IControllerKeyupEvent, type IControllerMouseEvent, type IControllerPointerCancelEvent, type IControllerPointerDownEvent, type IControllerPointerMoveEvent, type IControllerPointerUpEvent, type IControllerWheelEvent, type IGraphNode, IKAngleConstraint, IKChain, IKConstraint, type IKJoint, IKModifier, IKSolver, type IMixinAlbedoColor, type IMixinBlinnPhong, type IMixinFoliage, type IMixinLambert, type IMixinLight, type IMixinPBRBluePrint, type IMixinPBRCommon, type IMixinPBRMetallicRoughness, type IMixinPBRSpecularGlossiness, type IMixinVertexColor, type IModKey, type IRUniformTexture, type IRUniformValue, type IRenderHook, type IRenderable, type InputEventHandler, InputManager, InstanceBindGroupAllocator, type InstanceData, type InstanceUniformType, type InterChainConstraint, InvProjMatrixNode, InvSqrtNode, InvViewProjMatrixNode, type JointChainConfig, type JointDynamicSystemConfig, type JointDynamicsColliderHandle, type JointDynamicsFlatPlaneHandle, type JointDynamicsGrabberHandle, JointDynamicsModifier, JointDynamicsSystem, JointDynamicsSystemController, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, LambertMaterial, LengthNode, type LineCollisionResult, Log2Node, type LogMode, LogNode, LogicallyAndNode, LogicallyOrNode, MAX_CLUSTERED_LIGHTS, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, MakeVectorNode, Material, MaterialBlueprintIR, type MaterialBlueprintIRBehaviors, type MaterialTextureInfo, MaterialVaryingFlags, MaxNode, Mesh, MeshMaterial, type MeshUpdateCallback, type Metadata, MinNode, MixNode, ModNode, type ModelFetchOptions, type ModelInfo, type MorphData, type MorphInfo, type MorphState, MorphTargetTrack, MultiChainSpringSystem, type MultiChainSpringSystemOptions, NamedObject, type NearestPointsResult, type NodeConnection, NodeEulerRotationTrack, type NodeIterateFunc, NodeRotationTrack, NodeScaleTrack, NodeTranslationTrack, NormalizeNode, NotEqualNode, type OIT, Octree, OctreeNode, OctreeNodeChunk, OctreePlacement, OrbitCameraController, type OrbitCameraControllerOptions, OrthoCamera, PBRBlockNode, PBRBluePrintMaterial, PBRMetallicRoughnessMaterial, type PBRReflectionMode, PBRSpecularGlossinessMaterial, type PCAGeometryCacheState, PCAGeometryCacheTrack, type PCAGeometryCacheTrackData, PannerNode, ParticleMaterial, ParticleSystem, PerlinNoise2DNode, PerspectiveCamera, type PhysicsCurves, type PickResult, type PickTarget, PixelNormalNode, PixelWorldPositionNode, type PlaneCollider, type PlaneCreationOptions, PlaneShape, type PlayAnimationOptions, type PointInit, PointLight, type PointR, type PointRW, type PointTransform, PostEffectLayer, PowNode, Primitive, ProjectionMatrixNode, type PropEdit, type PropertyAccessor, type PropertyAccessorOptions, type PropertySceneNodeOptions, type PropertyToType, PropertyTrack, type PropertyType, type PropertyValue, PunctualLight, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, type RGExecuteContext, type RGExecuteFn, RGHandle, type RGPassBuilder, type RGResolvedSize, type RGResourceLifetime, type RGSizeMode, type RGTextureAllocator, type RGTextureDesc, Radians2DegreesNode, RaycastVisitor, RectLight, ReflectNode, RefractNode, RenderContext, RenderGraph, RenderGraphExecutor, type RenderItemList, type RenderItemListBundle, type RenderItemListInfo, RenderPass, RenderQueue, type RenderQueueItem, type RenderQueueRef, RenderTarget, type ResolutionTransform, ResolveVertexNormalNode, ResolveVertexPositionNode, ResolveVertexTangentNode, ResourceManager, RotateAboutAxisNode, RuntimeScript, type RuntimeScriptArrayDeclaration, type RuntimeScriptArrayElementDeclaration, type RuntimeScriptConfig, type RuntimeScriptObjectDeclaration, type RuntimeScriptObjectFieldDeclaration, type RuntimeScriptPropertyDeclaration, type RuntimeScriptPropertyInfo, type RuntimeScriptPropertyOptions, type RuntimeScriptPropertyType, type RuntimeScriptValueDeclaration, type RuntimeScriptValueType, SAO, type SamplerType, SaturateNode, Scene, SceneNode, type SceneNodeVisible, ScreenAdapter, type ScreenConfig, ScreenRenderTarget, type ScreenScaleMode, ScriptAttachment, type ScriptAttachmentConfig, ScriptRegistry, ScriptingSystem, type ScriptingSystemOptions, SelectionNode, type SerializableClass, ShaderHelper, ShadowMapPass, ShadowMapper, type ShadowMode, type ShadowQualityPreset, Shape, type ShapeCreationOptions, type ShapeOptionType, type ShapeType, SharedModel, SignNode, SimplexNoise2DNode, type SimulationParams, SinHNode, SinNode, Skeleton, SkeletonModifier, type SkinnedBoundingBox, SkyEnvTextureNode, SkyRenderer, type SkyType, SmoothStepNode, type SphereCollider, type SphereCreationOptions, SphereShape, SpotLight, SpringChain, type SpringCollider, type SpringConstraint, SpringModifier, type SpringParticle, SpringSystem, type SpringSystemOptions, Sprite, SpriteBlockNode, SpriteBlueprintMaterial, SpriteMaterial, SqrtNode, StandardSpriteMaterial, StepNode, type StopAnimationOptions, type SurfaceCheckResult, SwizzleNode, TanHNode, TanNode, type TerrainDebugMode, type TetrahedronCreationOptions, TetrahedronFrameShape, TetrahedronShape, type TextureFetchOptions, type TextureMixinInstanceTypes, type TextureMixinTypes, type TextureProp, type TexturePropUniforms, TextureSampleGrad, TextureSampleNode, type ToMixedTextureType, Tonemap, type TorusCreationOptions, TorusShape, type TransformAccess, TransformNode, type TwistConstraint, TwoBoneIKSolver, UnlitMaterial, VertexBinormalNode, VertexBlockNode, VertexColorNode, VertexNormalNode, VertexPositionNode, VertexTangentNode, VertexUVNode, ViewMatrixNode, ViewProjMatrixNode, type Visitor, Water, type WaveGenerator, WeightedBlendedOIT, applyAngleLimits, applyMaterialMixins, applyResult, applyRuntimeScriptConfig, buildConstraints, buildForwardPlusGraph, buildSurfaceFaces, checkSurfaceCollision, collisionDetection, collisionDetectionCapsule, collisionDetectionSphere, computeMaxDepth, computeNearestPoints, createCapsuleCollider, createGPUClothWrapBindingData, createGeometryCacheState, createPlaneCollider, createSphereCollider, createSpringConstraint, createSpringParticle, createTransformAccess, decode2HalfFromRGBA, decodeFloatFromRGBA, decodeNormalizedFloatFromRGBA, decodeRGBM, defineProps, encode2HalfToRGBA, encodeFloatToRGBA, encodeNormalizedFloatToRGBA, encodeRGBM, ensureGeometryCacheMeshBinding, executeForwardPlusGraph, fetchSampler, gammaToLinear, getApp, getDevice, getEngine, getInput, getRuntimeScriptProperties, gradient, hash11, hash12, hash13, hash21, hash22, hash23, hash31, hash32, hash33, interleavedGradientNoise, isGPUClothSupported, linearToGamma, mixGeometryCacheBoundingBox, mixinAlbedoColor, mixinBlinnPhong, mixinFoliage, mixinLambert, mixinLight, mixinPBRBluePrint, mixinPBRCommon, mixinPBRMetallicRoughness, mixinPBRSpecularGlossness, mixinTextureProps, mixinVertexColor, noise3D, normalizeRuntimeScriptConfig, normalizeScriptAttachmentConfig, normalizeScriptAttachments, panoramaToCubemap, perlinNoise2D, perlinNoise3D, prefilterCubemap, pushInCollisionDetection, pushInFromCapsule, pushInFromCollider, pushInFromSphere, pushoutFromCapsule, pushoutFromCollider, pushoutFromSphere, resolveCapsuleCollision, resolvePlaneCollision, resolveSphereCollision, restoreGeometryCacheMeshBinding, scriptProp, simulate, smoothNoise3D, sortRootPointsByProximity, temporalResolve, tryGetApp, updateColliderFromNode, valueNoise, whiteNoise, worleyFBM, worleyNoise };
|
|
24084
|
+
export { AABBTree, ABufferOIT, ATMOSPHERIC_FOG_BIT, AbsNode, AbstractPostEffect, AllConditionNode, type AngleLimitConfig, AnimationClip, AnimationSet, AnimationTrack, AnyConditionNode, type AppCreationOptions, type AppOptions, Application, type ApplyResultOutput, ArcCosNode, ArcSinNode, ArcTan2Node, ArcTanNode, ArccosineHNode, ArcsineHNode, ArctangentHNode, type AssetAnimationData, type AssetAnimationTrack, type AssetFixedGeometryCacheAnimationTrack, type AssetGeometryCacheAnimationTrack, AssetHierarchyNode, AssetManager, type AssetMaterial, type AssetMaterialClearcoat, type AssetMaterialCommon, type AssetMaterialIridescence, type AssetMaterialSheen, type AssetMaterialTransmission, type AssetMeshData, type AssetPBRMaterialCommon, type AssetPBRMaterialMR, type AssetPBRMaterialSG, type AssetPCAGeometryCacheAnimationTrack, type AssetRotationTrack, type AssetScaleTrack, AssetScene, type AssetSkeletalAnimationTrack, AssetSkeleton, type AssetSubMeshData, type AssetTranslationTrack, type AssetUnlitMaterial, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, BaseCameraController, BaseGraphNode, BaseLight, BaseSprite, BaseTextureNode, type BatchDrawable, BatchGroup, BillboardMatrixNode, type BlendMode, BlinnMaterial, type BlitType, Blitter, Bloom, type BluePrintEditorState, type BluePrintUniformTexture, type BluePrintUniformValue, type BlueprintDAG, type BoneNode, BoundingBox, type BoundingVolume, type BoxCreationOptions, BoxFilterBlitter, BoxFrameShape, BoxShape, CCDSolver, type CachedBindGroup, Camera, CameraNearFarNode, type CameraOITMode, CameraPositionNode, CameraVectorNode, type CapsuleCollider, type CapsuleCreationOptions, CapsuleShape, CeilNode, ClampNode, ClipmapTerrain, ClipmapTerrainMaterial, ColliderForce, type ColliderR, type ColliderRW, type CollisionResult, ColorAdjust, CompAddNode, CompComparisonNode, CompDivNode, CompMulNode, CompSubNode, type ComparisonMode, type CompiledRenderGraph, Compositor, type CompositorContext, ConstantBVec2Node, ConstantBVec3Node, ConstantBVec4Node, ConstantBooleanNode, ConstantScalarNode, ConstantTexture2DArrayNode, ConstantTexture2DNode, ConstantTextureCubeNode, ConstantVec2Node, ConstantVec3Node, ConstantVec4Node, type Constraint, type ConstraintBuildOptions, ConstraintType, type ControllerConfig, CopyBlitter, CosHNode, CosNode, CrossProductNode, CubemapSHProjector, CullVisitor, type CylinderCreationOptions, CylinderShape, DDXNode, DDYNode, Degrees2RadiansNode, DepthPass, DevicePoolAllocator, DirectionalLight, DistanceNode, DotProductNode, DracoMeshDecoder, type DrawContext, type Drawable, type DrawableInstanceInfo, EPSILON, type EditorMode, ElapsedTimeNode, type EmitterBehavior, type EmitterShape, Engine, EnvConstantAmbient, EnvHemisphericAmbient, type EnvLightType, EnvLightWrapper, EnvShIBL, Environment, EnvironmentLighting, EqualNode, Exp2Node, ExpNode, type ExtractMixinReturnType, type ExtractMixinType, FABRIKSolver, FBMWaveGenerator, FFTWaveGenerator, FPSCameraController, type FPSCameraControllerOptions, FWidthNode, FXAA, FaceForwardNode, type FixedGeometryCacheFrame, type FixedGeometryCacheState, FixedGeometryCacheTrack, type FlatPlane, FloorNode, FmaNode, type FogType, type ForwardPlusOptions, FractNode, FunctionCallNode, FunctionInputNode, FunctionOutputNode, GPUClothSystem, type GPUClothSystemOptions, type GPUClothWrapBindingData, type GPUClothWrapBindingTarget, GaussianBlurBlitter, GenericMathNode, type GeometryCacheFrame, type GeometryCacheMeshBinding, type GeometryCacheState, GerstnerWaveGenerator, type GrabberR, type GrabberRW, GraphNode, type GraphNodeInput, type GraphNodeOutput, type GraphStructure, type GrassInstanceInfo, GrassLayer, GrassMaterial, GrassRenderer, Grayscale, HEIGHT_FOG_BIT, Hash1Node, Hash2Node, Hash3Node, HistoryResourceManager, type Host, HumanoidBodyRig, HumanoidHandRig, type HumanoidJointMapping, type IAttachedScript, type IBaseEvent, type IControllerKeyboardEvent, type IControllerKeydownEvent, type IControllerKeypressEvent, type IControllerKeyupEvent, type IControllerMouseEvent, type IControllerPointerCancelEvent, type IControllerPointerDownEvent, type IControllerPointerMoveEvent, type IControllerPointerUpEvent, type IControllerWheelEvent, type IGraphNode, IKAngleConstraint, IKChain, IKConstraint, type IKJoint, IKModifier, IKSolver, type IMixinAlbedoColor, type IMixinBlinnPhong, type IMixinFoliage, type IMixinLambert, type IMixinLight, type IMixinPBRBluePrint, type IMixinPBRCommon, type IMixinPBRMetallicRoughness, type IMixinPBRSpecularGlossiness, type IMixinVertexColor, type IModKey, type IRUniformTexture, type IRUniformValue, type IRenderHook, type IRenderable, type InputEventHandler, InputManager, InstanceBindGroupAllocator, type InstanceData, type InstanceUniformType, type InterChainConstraint, InvProjMatrixNode, InvSqrtNode, InvViewProjMatrixNode, type JointChainConfig, type JointDynamicSystemConfig, type JointDynamicsColliderHandle, type JointDynamicsFlatPlaneHandle, type JointDynamicsGrabberHandle, JointDynamicsModifier, JointDynamicsSystem, JointDynamicsSystemController, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, LambertMaterial, LengthNode, type LineCollisionResult, Log2Node, type LogMode, LogNode, LogicallyAndNode, LogicallyOrNode, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, MakeVectorNode, Material, MaterialBlueprintIR, type MaterialBlueprintIRBehaviors, type MaterialTextureInfo, MaterialVaryingFlags, MaxNode, Mesh, MeshMaterial, type MeshUpdateCallback, type Metadata, MinNode, MixNode, ModNode, type ModelFetchOptions, type ModelInfo, type MorphData, type MorphInfo, type MorphState, MorphTargetTrack, MultiChainSpringSystem, type MultiChainSpringSystemOptions, NamedObject, type NearestPointsResult, type NodeConnection, NodeEulerRotationTrack, type NodeIterateFunc, NodeRotationTrack, NodeScaleTrack, NodeTranslationTrack, NormalizeNode, NotEqualNode, type OIT, Octree, OctreeNode, OctreeNodeChunk, OctreePlacement, OrbitCameraController, type OrbitCameraControllerOptions, OrthoCamera, PBRBlockNode, PBRBluePrintMaterial, PBRMetallicRoughnessMaterial, type PBRReflectionMode, PBRSpecularGlossinessMaterial, type PCAGeometryCacheState, PCAGeometryCacheTrack, type PCAGeometryCacheTrackData, PannerNode, ParticleMaterial, ParticleSystem, PerlinNoise2DNode, PerspectiveCamera, type PhysicsCurves, type PickResult, type PickTarget, PixelNormalNode, PixelWorldPositionNode, type PlaneCollider, type PlaneCreationOptions, PlaneShape, type PlayAnimationOptions, type PointInit, PointLight, type PointR, type PointRW, type PointTransform, PostEffectLayer, PowNode, Primitive, ProjectionMatrixNode, type PropEdit, type PropertyAccessor, type PropertyAccessorOptions, type PropertySceneNodeOptions, type PropertyToType, PropertyTrack, type PropertyType, type PropertyValue, PunctualLight, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, type RGExecuteContext, type RGExecuteFn, type RGFramebufferDesc, RGHandle, RGHistoryResources, type RGPassBuilder, type RGResolvedSize, type RGResourceLifetime, type RGSizeMode, RGSubpass, type RGTextureAllocator, type RGTextureDesc, Radians2DegreesNode, RaycastVisitor, RectLight, ReflectNode, RefractNode, RenderContext, RenderGraph, RenderGraphExecutor, type RenderItemList, type RenderItemListBundle, type RenderItemListInfo, RenderPass, RenderQueue, type RenderQueueItem, type RenderQueueRef, RenderTarget, type ResolutionTransform, ResolveVertexNormalNode, ResolveVertexPositionNode, ResolveVertexTangentNode, ResourceManager, RotateAboutAxisNode, RuntimeScript, type RuntimeScriptArrayDeclaration, type RuntimeScriptArrayElementDeclaration, type RuntimeScriptConfig, type RuntimeScriptObjectDeclaration, type RuntimeScriptObjectFieldDeclaration, type RuntimeScriptPropertyDeclaration, type RuntimeScriptPropertyInfo, type RuntimeScriptPropertyOptions, type RuntimeScriptPropertyType, type RuntimeScriptValueDeclaration, type RuntimeScriptValueType, SAO, type SamplerType, SaturateNode, Scene, SceneNode, type SceneNodeVisible, ScreenAdapter, type ScreenConfig, ScreenRenderTarget, type ScreenScaleMode, ScriptAttachment, type ScriptAttachmentConfig, ScriptRegistry, ScriptingSystem, type ScriptingSystemOptions, SelectionNode, type SerializableClass, ShaderHelper, ShadowMapPass, ShadowMapper, type ShadowMode, type ShadowQualityPreset, Shape, type ShapeCreationOptions, type ShapeOptionType, type ShapeType, SharedModel, SignNode, SimplexNoise2DNode, type SimulationParams, SinHNode, SinNode, Skeleton, SkeletonModifier, type SkinnedBoundingBox, SkyEnvTextureNode, SkyRenderer, type SkyType, SmoothStepNode, type SphereCollider, type SphereCreationOptions, SphereShape, SpotLight, SpringChain, type SpringCollider, type SpringConstraint, SpringModifier, type SpringParticle, SpringSystem, type SpringSystemOptions, Sprite, SpriteBlockNode, SpriteBlueprintMaterial, SpriteMaterial, SqrtNode, StandardSpriteMaterial, StepNode, type StopAnimationOptions, type SurfaceCheckResult, SwizzleNode, TanHNode, TanNode, type TerrainDebugMode, type TetrahedronCreationOptions, TetrahedronFrameShape, TetrahedronShape, type TextureFetchOptions, type TextureMixinInstanceTypes, type TextureMixinTypes, type TextureProp, type TexturePropUniforms, TextureSampleGrad, TextureSampleNode, type ToMixedTextureType, Tonemap, type TorusCreationOptions, TorusShape, type TransformAccess, TransformNode, type TwistConstraint, TwoBoneIKSolver, UnlitMaterial, VertexBinormalNode, VertexBlockNode, VertexColorNode, VertexNormalNode, VertexPositionNode, VertexTangentNode, VertexUVNode, ViewMatrixNode, ViewProjMatrixNode, type Visitor, Water, type WaveGenerator, WeightedBlendedOIT, applyAngleLimits, applyMaterialMixins, applyResult, applyRuntimeScriptConfig, buildConstraints, buildForwardPlusGraph, buildSurfaceFaces, checkSurfaceCollision, collisionDetection, collisionDetectionCapsule, collisionDetectionSphere, computeMaxDepth, computeNearestPoints, createCapsuleCollider, createGPUClothWrapBindingData, createGeometryCacheState, createPlaneCollider, createSphereCollider, createSpringConstraint, createSpringParticle, createTransformAccess, decode2HalfFromRGBA, decodeFloatFromRGBA, decodeNormalizedFloatFromRGBA, decodeRGBM, defineProps, encode2HalfToRGBA, encodeFloatToRGBA, encodeNormalizedFloatToRGBA, encodeRGBM, ensureGeometryCacheMeshBinding, executeForwardPlusGraph, fetchSampler, gammaToLinear, getApp, getDevice, getEngine, getInput, getRuntimeScriptProperties, gradient, hash11, hash12, hash13, hash21, hash22, hash23, hash31, hash32, hash33, interleavedGradientNoise, isGPUClothSupported, linearToGamma, mixGeometryCacheBoundingBox, mixinAlbedoColor, mixinBlinnPhong, mixinFoliage, mixinLambert, mixinLight, mixinPBRBluePrint, mixinPBRCommon, mixinPBRMetallicRoughness, mixinPBRSpecularGlossness, mixinTextureProps, mixinVertexColor, noise3D, normalizeRuntimeScriptConfig, normalizeScriptAttachmentConfig, normalizeScriptAttachments, panoramaToCubemap, perlinNoise2D, perlinNoise3D, prefilterCubemap, pushInCollisionDetection, pushInFromCapsule, pushInFromCollider, pushInFromSphere, pushoutFromCapsule, pushoutFromCollider, pushoutFromSphere, resolveCapsuleCollision, resolvePlaneCollision, resolveSphereCollision, restoreGeometryCacheMeshBinding, scriptProp, simulate, smoothNoise3D, sortRootPointsByProximity, temporalResolve, tryGetApp, updateColliderFromNode, valueNoise, whiteNoise, worleyFBM, worleyNoise };
|