@zephyr3d/scene 0.9.5 → 0.9.7
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/joint_dynamics/controller.js +92 -32
- package/dist/animation/joint_dynamics/controller.js.map +1 -1
- package/dist/animation/joint_dynamics/convex_collider.js +320 -0
- package/dist/animation/joint_dynamics/convex_collider.js.map +1 -0
- package/dist/animation/joint_dynamics/joint_dynamics_system.js +57 -19
- package/dist/animation/joint_dynamics/joint_dynamics_system.js.map +1 -1
- package/dist/animation/joint_dynamics/solver.js +71 -27
- package/dist/animation/joint_dynamics/solver.js.map +1 -1
- package/dist/animation/joint_dynamics_modifier.js +21 -20
- package/dist/animation/joint_dynamics_modifier.js.map +1 -1
- package/dist/animation/skeleton.js +7 -10
- package/dist/animation/skeleton.js.map +1 -1
- package/dist/app/engine.js +134 -140
- package/dist/app/engine.js.map +1 -1
- package/dist/app/scriptregistry.js +47 -16
- package/dist/app/scriptregistry.js.map +1 -1
- package/dist/asset/assetmanager.js +3 -1
- package/dist/asset/assetmanager.js.map +1 -1
- package/dist/asset/model.js +346 -7
- package/dist/asset/model.js.map +1 -1
- package/dist/avatar/wardrobe.js +20 -16
- package/dist/avatar/wardrobe.js.map +1 -1
- package/dist/camera/camera.js +416 -210
- package/dist/camera/camera.js.map +1 -1
- package/dist/index.d.ts +1350 -621
- package/dist/index.js +6 -11
- package/dist/index.js.map +1 -1
- package/dist/material/blinn.js +1 -1
- package/dist/material/blinn.js.map +1 -1
- package/dist/material/lambert.js +1 -1
- package/dist/material/lambert.js.map +1 -1
- package/dist/material/material.js +23 -1
- package/dist/material/material.js.map +1 -1
- package/dist/material/meshmaterial.js +178 -23
- package/dist/material/meshmaterial.js.map +1 -1
- package/dist/material/mixins/albedocolor.js +4 -4
- package/dist/material/mixins/albedocolor.js.map +1 -1
- package/dist/material/mixins/lightmodel/blinnphong.js +2 -1
- package/dist/material/mixins/lightmodel/blinnphong.js.map +1 -1
- package/dist/material/mixins/lightmodel/lambert.js +2 -1
- package/dist/material/mixins/lightmodel/lambert.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrblueprintmixin.js +63 -16
- package/dist/material/mixins/lightmodel/pbrblueprintmixin.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +105 -32
- package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
- package/dist/material/mixins/lightmodel/pbrspecularglossness.js +16 -6
- package/dist/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -1
- package/dist/material/mixins/lit.js +1 -1
- package/dist/material/mixins/lit.js.map +1 -1
- package/dist/material/mixins/pbr/common.js +276 -65
- package/dist/material/mixins/pbr/common.js.map +1 -1
- package/dist/material/mixins/texture.js +3 -3
- package/dist/material/mixins/texture.js.map +1 -1
- package/dist/material/mixins/vertexcolor.js +2 -2
- package/dist/material/mixins/vertexcolor.js.map +1 -1
- package/dist/material/msdf_text.js +3 -3
- package/dist/material/msdf_text.js.map +1 -1
- package/dist/material/mtoon.js +574 -0
- package/dist/material/mtoon.js.map +1 -0
- package/dist/material/pbrblueprint.js +499 -336
- package/dist/material/pbrblueprint.js.map +1 -1
- package/dist/material/pbrmr.js +118 -100
- package/dist/material/pbrmr.js.map +1 -1
- package/dist/material/pbrsg.js +1 -1
- package/dist/material/pbrsg.js.map +1 -1
- package/dist/material/shader/helper.js +324 -294
- package/dist/material/shader/helper.js.map +1 -1
- package/dist/material/subsurfaceprofile.js +812 -0
- package/dist/material/subsurfaceprofile.js.map +1 -0
- package/dist/material/unlit.js +1 -1
- package/dist/material/unlit.js.map +1 -1
- package/dist/posteffect/compositor.js +46 -11
- package/dist/posteffect/compositor.js.map +1 -1
- package/dist/posteffect/ssr.js +422 -96
- package/dist/posteffect/ssr.js.map +1 -1
- package/dist/posteffect/sss.js +1053 -0
- package/dist/posteffect/sss.js.map +1 -0
- package/dist/posteffect/taa.js +61 -60
- package/dist/posteffect/taa.js.map +1 -1
- package/dist/render/abuffer_oit.js +63 -12
- package/dist/render/abuffer_oit.js.map +1 -1
- package/dist/render/cluster_light.js +6 -5
- package/dist/render/cluster_light.js.map +1 -1
- package/dist/render/drawable.js +1 -5
- package/dist/render/drawable.js.map +1 -1
- package/dist/render/drawable_mixin.js +2 -1
- package/dist/render/drawable_mixin.js.map +1 -1
- package/dist/render/fbm_wavegenerator.js +2 -1
- package/dist/render/fbm_wavegenerator.js.map +1 -1
- package/dist/render/gerstner_wavegenerator.js +2 -1
- package/dist/render/gerstner_wavegenerator.js.map +1 -1
- package/dist/render/globalbindgroup_allocator.js +2 -1
- package/dist/render/globalbindgroup_allocator.js.map +1 -1
- package/dist/render/lightpass.js +110 -23
- package/dist/render/lightpass.js.map +1 -1
- package/dist/render/render_queue.js +51 -8
- package/dist/render/render_queue.js.map +1 -1
- package/dist/render/renderer.js +80 -66
- package/dist/render/renderer.js.map +1 -1
- package/dist/render/rendergraph/device_pool_allocator.js +8 -0
- package/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
- package/dist/render/rendergraph/forward_plus_builder.js +481 -95
- package/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
- package/dist/render/rendergraph/history_resource_manager.js +55 -0
- package/dist/render/rendergraph/history_resource_manager.js.map +1 -1
- package/dist/render/rendergraph/history_resources.js +3 -1
- package/dist/render/rendergraph/history_resources.js.map +1 -1
- package/dist/render/rendergraph/types.js.map +1 -1
- package/dist/render/renderpass.js +10 -4
- package/dist/render/renderpass.js.map +1 -1
- package/dist/render/sky.js +31 -1
- package/dist/render/sky.js.map +1 -1
- package/dist/render/weightedblended_oit.js +23 -5
- package/dist/render/weightedblended_oit.js.map +1 -1
- package/dist/scene/basesprite.js +4 -2
- package/dist/scene/basesprite.js.map +1 -1
- package/dist/scene/batchgroup.js +3 -1
- package/dist/scene/batchgroup.js.map +1 -1
- package/dist/scene/environment.js +11 -1
- package/dist/scene/environment.js.map +1 -1
- package/dist/scene/light.js +21 -3
- package/dist/scene/light.js.map +1 -1
- package/dist/scene/mesh.js +29 -14
- package/dist/scene/mesh.js.map +1 -1
- package/dist/scene/meshdrawable.js +6 -0
- package/dist/scene/meshdrawable.js.map +1 -1
- package/dist/scene/msdftext.js +5 -2
- package/dist/scene/msdftext.js.map +1 -1
- package/dist/scene/msdftextsprite.js +5 -3
- package/dist/scene/msdftextsprite.js.map +1 -1
- package/dist/scene/particlesys.js +3 -1
- package/dist/scene/particlesys.js.map +1 -1
- package/dist/scene/scene.js +6 -5
- package/dist/scene/scene.js.map +1 -1
- package/dist/scene/terrain-cm/grass.js +4 -2
- package/dist/scene/terrain-cm/grass.js.map +1 -1
- package/dist/scene/terrain-cm/grassmaterial.js +2 -1
- package/dist/scene/terrain-cm/grassmaterial.js.map +1 -1
- package/dist/scene/terrain-cm/terrain-cm.js +4 -2
- package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
- package/dist/scene/water.js +4 -2
- package/dist/scene/water.js.map +1 -1
- package/dist/shaders/shadow.js +26 -393
- package/dist/shaders/shadow.js.map +1 -1
- package/dist/shadow/esm.js +112 -12
- package/dist/shadow/esm.js.map +1 -1
- package/dist/shadow/pcf_opt.js +2 -2
- package/dist/shadow/pcf_opt.js.map +1 -1
- package/dist/shadow/pcf_pd.js +19 -10
- package/dist/shadow/pcf_pd.js.map +1 -1
- package/dist/shadow/shader.js +58 -7
- package/dist/shadow/shader.js.map +1 -1
- package/dist/shadow/shadow_impl.js +6 -0
- package/dist/shadow/shadow_impl.js.map +1 -1
- package/dist/shadow/shadow_region.js +229 -0
- package/dist/shadow/shadow_region.js.map +1 -0
- package/dist/shadow/shadowmapper.js +67 -59
- package/dist/shadow/shadowmapper.js.map +1 -1
- package/dist/shadow/vsm.js +45 -19
- package/dist/shadow/vsm.js.map +1 -1
- package/dist/text/font/cff_font.js +890 -0
- package/dist/text/font/cff_font.js.map +1 -0
- package/dist/text/font/font_asset.js +17 -3
- package/dist/text/font/font_asset.js.map +1 -1
- package/dist/utility/blueprint/common/constants.js +8 -8
- package/dist/utility/blueprint/common/constants.js.map +1 -1
- package/dist/utility/blueprint/material/pbr.js +31 -4
- package/dist/utility/blueprint/material/pbr.js.map +1 -1
- package/dist/utility/blueprint/material/texture.js +1 -17
- package/dist/utility/blueprint/material/texture.js.map +1 -1
- package/dist/utility/serialization/manager.js +327 -359
- package/dist/utility/serialization/manager.js.map +1 -1
- package/dist/utility/serialization/scene/animation.js +5 -2
- package/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/utility/serialization/scene/batch.js +4 -1
- package/dist/utility/serialization/scene/batch.js.map +1 -1
- package/dist/utility/serialization/scene/camera.js +249 -54
- package/dist/utility/serialization/scene/camera.js.map +1 -1
- package/dist/utility/serialization/scene/common.js +37 -1
- package/dist/utility/serialization/scene/common.js.map +1 -1
- package/dist/utility/serialization/scene/light.js +42 -3
- package/dist/utility/serialization/scene/light.js.map +1 -1
- package/dist/utility/serialization/scene/material.js +1112 -646
- package/dist/utility/serialization/scene/material.js.map +1 -1
- package/dist/utility/serialization/scene/mesh.js +7 -4
- package/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/utility/serialization/scene/node.js +31 -12
- package/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/utility/serialization/scene/particle.js +4 -1
- package/dist/utility/serialization/scene/particle.js.map +1 -1
- package/dist/utility/serialization/scene/primitive.js +3 -1
- package/dist/utility/serialization/scene/primitive.js.map +1 -1
- package/dist/utility/serialization/scene/scene.js +18 -0
- package/dist/utility/serialization/scene/scene.js.map +1 -1
- package/dist/utility/serialization/scene/sprite.js +6 -3
- package/dist/utility/serialization/scene/sprite.js.map +1 -1
- package/dist/utility/serialization/scene/terrain.js +5 -2
- package/dist/utility/serialization/scene/terrain.js.map +1 -1
- package/dist/utility/serialization/scene/text.js +3 -1
- package/dist/utility/serialization/scene/text.js.map +1 -1
- package/dist/utility/serialization/scene/water.js +4 -1
- package/dist/utility/serialization/scene/water.js.map +1 -1
- package/dist/utility/textures/ltcdata.js +6 -0
- package/dist/utility/textures/ltcdata.js.map +1 -0
- package/dist/utility/textures/ltclut.js +61 -0
- package/dist/utility/textures/ltclut.js.map +1 -0
- package/dist/values.js +9 -1
- package/dist/values.js.map +1 -1
- package/package.json +3 -3
- package/dist/animation/ik/ik_chain_builder.js +0 -68
- package/dist/animation/ik/ik_chain_builder.js.map +0 -1
- package/dist/animation/ik/ik_pole_constraint.js +0 -123
- package/dist/animation/ik/ik_pole_constraint.js.map +0 -1
- package/dist/animation/ik/ik_track.js +0 -96
- package/dist/animation/ik/ik_track.js.map +0 -1
- package/dist/animation/ik_postprocessor.js +0 -71
- package/dist/animation/ik_postprocessor.js.map +0 -1
- package/dist/animation/joint_dynamics/math.js +0 -16
- package/dist/animation/joint_dynamics/math.js.map +0 -1
- package/dist/animation/manual_transform_processor.js +0 -156
- package/dist/animation/manual_transform_processor.js.map +0 -1
- package/dist/animation/skeleton_postprocessor.js +0 -50
- package/dist/animation/skeleton_postprocessor.js.map +0 -1
- package/dist/animation/spring2/collision.js +0 -469
- package/dist/animation/spring2/collision.js.map +0 -1
- package/dist/animation/spring2/constraints.js +0 -329
- package/dist/animation/spring2/constraints.js.map +0 -1
- package/dist/animation/spring2/controller.js +0 -434
- package/dist/animation/spring2/controller.js.map +0 -1
- package/dist/animation/spring2/math.js +0 -16
- package/dist/animation/spring2/math.js.map +0 -1
- package/dist/animation/spring2/solver.js +0 -624
- package/dist/animation/spring2/solver.js.map +0 -1
- package/dist/animation/spring2/spring_system.js +0 -118
- package/dist/animation/spring2/spring_system.js.map +0 -1
- package/dist/animation/spring2/types.js +0 -19
- package/dist/animation/spring2/types.js.map +0 -1
- package/dist/animation/spring_postprocessor.js +0 -54
- package/dist/animation/spring_postprocessor.js.map +0 -1
- package/dist/asset/loaders/gltf/gltf_loader.js +0 -1276
- package/dist/asset/loaders/gltf/gltf_loader.js.map +0 -1
- package/dist/asset/loaders/gltf/helpers.js +0 -331
- package/dist/asset/loaders/gltf/helpers.js.map +0 -1
- package/dist/material/sprite3d.js +0 -301
- package/dist/material/sprite3d.js.map +0 -1
- package/dist/material/sprite3d_std.js +0 -116
- package/dist/material/sprite3d_std.js.map +0 -1
- package/dist/material/sprite3dblueprint.js +0 -235
- package/dist/material/sprite3dblueprint.js.map +0 -1
- package/dist/material/sprite_sdf.js +0 -106
- package/dist/material/sprite_sdf.js.map +0 -1
- package/dist/material/terrainmaterial.js +0 -368
- package/dist/material/terrainmaterial.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js +0 -38
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js +0 -10
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js +0 -127
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js.map +0 -1
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js +0 -263
- package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js.map +0 -1
- package/dist/render/deferredlightpass.js +0 -510
- package/dist/render/deferredlightpass.js.map +0 -1
- package/dist/render/deferredshadowlightpass.js +0 -428
- package/dist/render/deferredshadowlightpass.js.map +0 -1
- package/dist/render/gbufferpass.js +0 -50
- package/dist/render/gbufferpass.js.map +0 -1
- package/dist/scene/sdftextsprite.js +0 -322
- package/dist/scene/sdftextsprite.js.map +0 -1
- package/dist/scene/sprite3d.js +0 -18
- package/dist/scene/sprite3d.js.map +0 -1
- package/dist/scene/terrain/grass.js +0 -280
- package/dist/scene/terrain/grass.js.map +0 -1
- package/dist/scene/terrain/heightfield.js +0 -475
- package/dist/scene/terrain/heightfield.js.map +0 -1
- package/dist/scene/terrain/patch.js +0 -532
- package/dist/scene/terrain/patch.js.map +0 -1
- package/dist/scene/terrain/quadtree.js +0 -461
- package/dist/scene/terrain/quadtree.js.map +0 -1
- package/dist/scene/terrain/terrain.js +0 -231
- package/dist/scene/terrain/terrain.js.map +0 -1
- package/dist/src/animation/animation.js +0 -127
- package/dist/src/animation/animation.js.map +0 -1
- package/dist/src/animation/animationset.js +0 -255
- package/dist/src/animation/animationset.js.map +0 -1
- package/dist/src/animation/animationtrack.js +0 -34
- package/dist/src/animation/animationtrack.js.map +0 -1
- package/dist/src/animation/eulerrotationtrack.js +0 -52
- package/dist/src/animation/eulerrotationtrack.js.map +0 -1
- package/dist/src/animation/morphtarget.js +0 -93
- package/dist/src/animation/morphtarget.js.map +0 -1
- package/dist/src/animation/morphtrack.js +0 -70
- package/dist/src/animation/morphtrack.js.map +0 -1
- package/dist/src/animation/proptrack.js +0 -161
- package/dist/src/animation/proptrack.js.map +0 -1
- package/dist/src/animation/rotationtrack.js +0 -51
- package/dist/src/animation/rotationtrack.js.map +0 -1
- package/dist/src/animation/scaletrack.js +0 -50
- package/dist/src/animation/scaletrack.js.map +0 -1
- package/dist/src/animation/skeleton.js +0 -204
- package/dist/src/animation/skeleton.js.map +0 -1
- package/dist/src/animation/translationtrack.js +0 -50
- package/dist/src/animation/translationtrack.js.map +0 -1
- package/dist/src/app/app.js +0 -129
- package/dist/src/app/app.js.map +0 -1
- package/dist/src/app/inputmgr.js +0 -267
- package/dist/src/app/inputmgr.js.map +0 -1
- package/dist/src/asset/assetmanager.js +0 -404
- package/dist/src/asset/assetmanager.js.map +0 -1
- package/dist/src/asset/builtin.js +0 -337
- package/dist/src/asset/builtin.js.map +0 -1
- package/dist/src/asset/loaders/dds/dds.js +0 -470
- package/dist/src/asset/loaders/dds/dds.js.map +0 -1
- package/dist/src/asset/loaders/dds/dds_loader.js +0 -28
- package/dist/src/asset/loaders/dds/dds_loader.js.map +0 -1
- package/dist/src/asset/loaders/gltf/gltf_loader.js +0 -1265
- package/dist/src/asset/loaders/gltf/gltf_loader.js.map +0 -1
- package/dist/src/asset/loaders/gltf/helpers.js +0 -327
- package/dist/src/asset/loaders/gltf/helpers.js.map +0 -1
- package/dist/src/asset/loaders/hdr/hdr.js +0 -180
- package/dist/src/asset/loaders/hdr/hdr.js.map +0 -1
- package/dist/src/asset/loaders/image/tga_Loader.js +0 -116
- package/dist/src/asset/loaders/image/tga_Loader.js.map +0 -1
- package/dist/src/asset/loaders/image/webimage_loader.js +0 -63
- package/dist/src/asset/loaders/image/webimage_loader.js.map +0 -1
- package/dist/src/asset/loaders/loader.js +0 -45
- package/dist/src/asset/loaders/loader.js.map +0 -1
- package/dist/src/asset/model.js +0 -414
- package/dist/src/asset/model.js.map +0 -1
- package/dist/src/blitter/bilateralblur.js +0 -221
- package/dist/src/blitter/bilateralblur.js.map +0 -1
- package/dist/src/blitter/blitter.js +0 -390
- package/dist/src/blitter/blitter.js.map +0 -1
- package/dist/src/blitter/box.js +0 -118
- package/dist/src/blitter/box.js.map +0 -1
- package/dist/src/blitter/copy.js +0 -22
- package/dist/src/blitter/copy.js.map +0 -1
- package/dist/src/blitter/gaussianblur.js +0 -228
- package/dist/src/blitter/gaussianblur.js.map +0 -1
- package/dist/src/camera/base.js +0 -92
- package/dist/src/camera/base.js.map +0 -1
- package/dist/src/camera/camera.js +0 -1005
- package/dist/src/camera/camera.js.map +0 -1
- package/dist/src/camera/fps.js +0 -238
- package/dist/src/camera/fps.js.map +0 -1
- package/dist/src/camera/orbit.js +0 -245
- package/dist/src/camera/orbit.js.map +0 -1
- package/dist/src/camera/orthocamera.js +0 -167
- package/dist/src/camera/orthocamera.js.map +0 -1
- package/dist/src/camera/perspectivecamera.js +0 -141
- package/dist/src/camera/perspectivecamera.js.map +0 -1
- package/dist/src/index.js +0 -120
- package/dist/src/index.js.map +0 -1
- package/dist/src/material/blinn.js +0 -81
- package/dist/src/material/blinn.js.map +0 -1
- package/dist/src/material/grassmaterial.js +0 -113
- package/dist/src/material/grassmaterial.js.map +0 -1
- package/dist/src/material/lambert.js +0 -92
- package/dist/src/material/lambert.js.map +0 -1
- package/dist/src/material/material.js +0 -301
- package/dist/src/material/material.js.map +0 -1
- package/dist/src/material/meshmaterial.js +0 -704
- package/dist/src/material/meshmaterial.js.map +0 -1
- package/dist/src/material/mixins/albedocolor.js +0 -76
- package/dist/src/material/mixins/albedocolor.js.map +0 -1
- package/dist/src/material/mixins/foliage.js +0 -47
- package/dist/src/material/mixins/foliage.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/blinnphong.js +0 -112
- package/dist/src/material/mixins/lightmodel/blinnphong.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/lambert.js +0 -58
- package/dist/src/material/mixins/lightmodel/lambert.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js +0 -178
- package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js.map +0 -1
- package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js +0 -139
- package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js.map +0 -1
- package/dist/src/material/mixins/lit.js +0 -476
- package/dist/src/material/mixins/lit.js.map +0 -1
- package/dist/src/material/mixins/pbr/common.js +0 -918
- package/dist/src/material/mixins/pbr/common.js.map +0 -1
- package/dist/src/material/mixins/texture.js +0 -172
- package/dist/src/material/mixins/texture.js.map +0 -1
- package/dist/src/material/mixins/vertexcolor.js +0 -56
- package/dist/src/material/mixins/vertexcolor.js.map +0 -1
- package/dist/src/material/particle.js +0 -178
- package/dist/src/material/particle.js.map +0 -1
- package/dist/src/material/pbrmr.js +0 -97
- package/dist/src/material/pbrmr.js.map +0 -1
- package/dist/src/material/pbrsg.js +0 -97
- package/dist/src/material/pbrsg.js.map +0 -1
- package/dist/src/material/shader/helper.js +0 -1209
- package/dist/src/material/shader/helper.js.map +0 -1
- package/dist/src/material/terrain-cm.js +0 -606
- package/dist/src/material/terrain-cm.js.map +0 -1
- package/dist/src/material/terrainmaterial.js +0 -375
- package/dist/src/material/terrainmaterial.js.map +0 -1
- package/dist/src/material/unlit.js +0 -41
- package/dist/src/material/unlit.js.map +0 -1
- package/dist/src/material/water.js +0 -417
- package/dist/src/material/water.js.map +0 -1
- package/dist/src/posteffect/bloom.js +0 -361
- package/dist/src/posteffect/bloom.js.map +0 -1
- package/dist/src/posteffect/compositor.js +0 -226
- package/dist/src/posteffect/compositor.js.map +0 -1
- package/dist/src/posteffect/fxaa.js +0 -273
- package/dist/src/posteffect/fxaa.js.map +0 -1
- package/dist/src/posteffect/grayscale.js +0 -69
- package/dist/src/posteffect/grayscale.js.map +0 -1
- package/dist/src/posteffect/motionblur.js +0 -96
- package/dist/src/posteffect/motionblur.js.map +0 -1
- package/dist/src/posteffect/posteffect.js +0 -126
- package/dist/src/posteffect/posteffect.js.map +0 -1
- package/dist/src/posteffect/sao.js +0 -324
- package/dist/src/posteffect/sao.js.map +0 -1
- package/dist/src/posteffect/ssr.js +0 -489
- package/dist/src/posteffect/ssr.js.map +0 -1
- package/dist/src/posteffect/taa.js +0 -172
- package/dist/src/posteffect/taa.js.map +0 -1
- package/dist/src/posteffect/tonemap.js +0 -94
- package/dist/src/posteffect/tonemap.js.map +0 -1
- package/dist/src/render/abuffer_oit.js +0 -361
- package/dist/src/render/abuffer_oit.js.map +0 -1
- package/dist/src/render/clipmap.js +0 -851
- package/dist/src/render/clipmap.js.map +0 -1
- package/dist/src/render/cluster_light.js +0 -333
- package/dist/src/render/cluster_light.js.map +0 -1
- package/dist/src/render/cull_visitor.js +0 -187
- package/dist/src/render/cull_visitor.js.map +0 -1
- package/dist/src/render/depthpass.js +0 -68
- package/dist/src/render/depthpass.js.map +0 -1
- package/dist/src/render/drawable_mixin.js +0 -227
- package/dist/src/render/drawable_mixin.js.map +0 -1
- package/dist/src/render/envlight.js +0 -463
- package/dist/src/render/envlight.js.map +0 -1
- package/dist/src/render/fbm_wavegenerator.js +0 -251
- package/dist/src/render/fbm_wavegenerator.js.map +0 -1
- package/dist/src/render/fft_wavegenerator.js +0 -1006
- package/dist/src/render/fft_wavegenerator.js.map +0 -1
- package/dist/src/render/fullscreenquad.js +0 -38
- package/dist/src/render/fullscreenquad.js.map +0 -1
- package/dist/src/render/gerstner_wavegenerator.js +0 -314
- package/dist/src/render/gerstner_wavegenerator.js.map +0 -1
- package/dist/src/render/globalbindgroup_allocator.js +0 -60
- package/dist/src/render/globalbindgroup_allocator.js.map +0 -1
- package/dist/src/render/hzb.js +0 -273
- package/dist/src/render/hzb.js.map +0 -1
- package/dist/src/render/lightpass.js +0 -172
- package/dist/src/render/lightpass.js.map +0 -1
- package/dist/src/render/objectcolorpass.js +0 -51
- package/dist/src/render/objectcolorpass.js.map +0 -1
- package/dist/src/render/primitive.js +0 -364
- package/dist/src/render/primitive.js.map +0 -1
- package/dist/src/render/render_queue.js +0 -467
- package/dist/src/render/render_queue.js.map +0 -1
- package/dist/src/render/renderbundle_wrapper.js +0 -152
- package/dist/src/render/renderbundle_wrapper.js.map +0 -1
- package/dist/src/render/renderer.js +0 -455
- package/dist/src/render/renderer.js.map +0 -1
- package/dist/src/render/renderpass.js +0 -200
- package/dist/src/render/renderpass.js.map +0 -1
- package/dist/src/render/shadowmap_pass.js +0 -56
- package/dist/src/render/shadowmap_pass.js.map +0 -1
- package/dist/src/render/sky.js +0 -1103
- package/dist/src/render/sky.js.map +0 -1
- package/dist/src/render/weightedblended_oit.js +0 -168
- package/dist/src/render/weightedblended_oit.js.map +0 -1
- package/dist/src/scene/batchgroup.js +0 -162
- package/dist/src/scene/batchgroup.js.map +0 -1
- package/dist/src/scene/environment.js +0 -209
- package/dist/src/scene/environment.js.map +0 -1
- package/dist/src/scene/graph_node.js +0 -72
- package/dist/src/scene/graph_node.js.map +0 -1
- package/dist/src/scene/light.js +0 -416
- package/dist/src/scene/light.js.map +0 -1
- package/dist/src/scene/mesh.js +0 -341
- package/dist/src/scene/mesh.js.map +0 -1
- package/dist/src/scene/octree.js +0 -649
- package/dist/src/scene/octree.js.map +0 -1
- package/dist/src/scene/particlesys.js +0 -738
- package/dist/src/scene/particlesys.js.map +0 -1
- package/dist/src/scene/raycast_visitor.js +0 -103
- package/dist/src/scene/raycast_visitor.js.map +0 -1
- package/dist/src/scene/scene.js +0 -284
- package/dist/src/scene/scene.js.map +0 -1
- package/dist/src/scene/scene_node.js +0 -732
- package/dist/src/scene/scene_node.js.map +0 -1
- package/dist/src/scene/terrain/grass.js +0 -278
- package/dist/src/scene/terrain/grass.js.map +0 -1
- package/dist/src/scene/terrain/heightfield.js +0 -475
- package/dist/src/scene/terrain/heightfield.js.map +0 -1
- package/dist/src/scene/terrain/patch.js +0 -530
- package/dist/src/scene/terrain/patch.js.map +0 -1
- package/dist/src/scene/terrain/quadtree.js +0 -461
- package/dist/src/scene/terrain/quadtree.js.map +0 -1
- package/dist/src/scene/terrain/terrain.js +0 -246
- package/dist/src/scene/terrain/terrain.js.map +0 -1
- package/dist/src/scene/terrain-cm/grass.js +0 -594
- package/dist/src/scene/terrain-cm/grass.js.map +0 -1
- package/dist/src/scene/terrain-cm/grassmaterial.js +0 -159
- package/dist/src/scene/terrain-cm/grassmaterial.js.map +0 -1
- package/dist/src/scene/terrain-cm/terrain-cm.js +0 -538
- package/dist/src/scene/terrain-cm/terrain-cm.js.map +0 -1
- package/dist/src/scene/water.js +0 -374
- package/dist/src/scene/water.js.map +0 -1
- package/dist/src/shaders/atmosphere.js +0 -957
- package/dist/src/shaders/atmosphere.js.map +0 -1
- package/dist/src/shaders/fog.js +0 -112
- package/dist/src/shaders/fog.js.map +0 -1
- package/dist/src/shaders/misc.js +0 -266
- package/dist/src/shaders/misc.js.map +0 -1
- package/dist/src/shaders/noise.js +0 -222
- package/dist/src/shaders/noise.js.map +0 -1
- package/dist/src/shaders/pbr.js +0 -51
- package/dist/src/shaders/pbr.js.map +0 -1
- package/dist/src/shaders/shadow.js +0 -636
- package/dist/src/shaders/shadow.js.map +0 -1
- package/dist/src/shaders/ssr.js +0 -490
- package/dist/src/shaders/ssr.js.map +0 -1
- package/dist/src/shaders/temporal.js +0 -215
- package/dist/src/shaders/temporal.js.map +0 -1
- package/dist/src/shaders/water.js +0 -756
- package/dist/src/shaders/water.js.map +0 -1
- package/dist/src/shadow/esm.js +0 -237
- package/dist/src/shadow/esm.js.map +0 -1
- package/dist/src/shadow/pcf_opt.js +0 -181
- package/dist/src/shadow/pcf_opt.js.map +0 -1
- package/dist/src/shadow/pcf_pd.js +0 -189
- package/dist/src/shadow/pcf_pd.js.map +0 -1
- package/dist/src/shadow/shader.js +0 -37
- package/dist/src/shadow/shader.js.map +0 -1
- package/dist/src/shadow/shadow_impl.js +0 -15
- package/dist/src/shadow/shadow_impl.js.map +0 -1
- package/dist/src/shadow/shadowmapper.js +0 -790
- package/dist/src/shadow/shadowmapper.js.map +0 -1
- package/dist/src/shadow/ssm.js +0 -159
- package/dist/src/shadow/ssm.js.map +0 -1
- package/dist/src/shadow/vsm.js +0 -297
- package/dist/src/shadow/vsm.js.map +0 -1
- package/dist/src/shapes/box.js +0 -386
- package/dist/src/shapes/box.js.map +0 -1
- package/dist/src/shapes/cylinder.js +0 -125
- package/dist/src/shapes/cylinder.js.map +0 -1
- package/dist/src/shapes/plane.js +0 -88
- package/dist/src/shapes/plane.js.map +0 -1
- package/dist/src/shapes/shape.js +0 -87
- package/dist/src/shapes/shape.js.map +0 -1
- package/dist/src/shapes/sphere.js +0 -114
- package/dist/src/shapes/sphere.js.map +0 -1
- package/dist/src/shapes/tetrahedron.js +0 -188
- package/dist/src/shapes/tetrahedron.js.map +0 -1
- package/dist/src/shapes/torus.js +0 -111
- package/dist/src/shapes/torus.js.map +0 -1
- package/dist/src/utility/aabbtree.js +0 -400
- package/dist/src/utility/aabbtree.js.map +0 -1
- package/dist/src/utility/bounding_volume.js +0 -29
- package/dist/src/utility/bounding_volume.js.map +0 -1
- package/dist/src/utility/debug.js +0 -28
- package/dist/src/utility/debug.js.map +0 -1
- package/dist/src/utility/draco/decoder.js +0 -116
- package/dist/src/utility/draco/decoder.js.map +0 -1
- package/dist/src/utility/misc.js +0 -105
- package/dist/src/utility/misc.js.map +0 -1
- package/dist/src/utility/panorama.js +0 -163
- package/dist/src/utility/panorama.js.map +0 -1
- package/dist/src/utility/pmrem.js +0 -354
- package/dist/src/utility/pmrem.js.map +0 -1
- package/dist/src/utility/rendermipmap.js +0 -115
- package/dist/src/utility/rendermipmap.js.map +0 -1
- package/dist/src/utility/serialization/json.js +0 -402
- package/dist/src/utility/serialization/json.js.map +0 -1
- package/dist/src/utility/serialization/manager.js +0 -623
- package/dist/src/utility/serialization/manager.js.map +0 -1
- package/dist/src/utility/serialization/scene/animation.js +0 -248
- package/dist/src/utility/serialization/scene/animation.js.map +0 -1
- package/dist/src/utility/serialization/scene/batch.js +0 -59
- package/dist/src/utility/serialization/scene/batch.js.map +0 -1
- package/dist/src/utility/serialization/scene/camera.js +0 -790
- package/dist/src/utility/serialization/scene/camera.js.map +0 -1
- package/dist/src/utility/serialization/scene/common.js +0 -222
- package/dist/src/utility/serialization/scene/common.js.map +0 -1
- package/dist/src/utility/serialization/scene/light.js +0 -575
- package/dist/src/utility/serialization/scene/light.js.map +0 -1
- package/dist/src/utility/serialization/scene/material.js +0 -1111
- package/dist/src/utility/serialization/scene/material.js.map +0 -1
- package/dist/src/utility/serialization/scene/mesh.js +0 -148
- package/dist/src/utility/serialization/scene/mesh.js.map +0 -1
- package/dist/src/utility/serialization/scene/misc.js +0 -39
- package/dist/src/utility/serialization/scene/misc.js.map +0 -1
- package/dist/src/utility/serialization/scene/node.js +0 -451
- package/dist/src/utility/serialization/scene/node.js.map +0 -1
- package/dist/src/utility/serialization/scene/particle.js +0 -425
- package/dist/src/utility/serialization/scene/particle.js.map +0 -1
- package/dist/src/utility/serialization/scene/primitive.js +0 -692
- package/dist/src/utility/serialization/scene/primitive.js.map +0 -1
- package/dist/src/utility/serialization/scene/scene.js +0 -704
- package/dist/src/utility/serialization/scene/scene.js.map +0 -1
- package/dist/src/utility/serialization/scene/terrain.js +0 -488
- package/dist/src/utility/serialization/scene/terrain.js.map +0 -1
- package/dist/src/utility/serialization/scene/water.js +0 -465
- package/dist/src/utility/serialization/scene/water.js.map +0 -1
- package/dist/src/utility/shprojector.js +0 -297
- package/dist/src/utility/shprojector.js.map +0 -1
- package/dist/src/utility/textures/ggxlut.js +0 -213
- package/dist/src/utility/textures/ggxlut.js.map +0 -1
- package/dist/src/utility/textures/gradientnoise.js +0 -62
- package/dist/src/utility/textures/gradientnoise.js.map +0 -1
- package/dist/src/utility/textures/randomnoise.js +0 -41
- package/dist/src/utility/textures/randomnoise.js.map +0 -1
- package/dist/src/values.js +0 -162
- package/dist/src/values.js.map +0 -1
- package/dist/utility/blueprint/material/common.js +0 -7
- package/dist/utility/blueprint/material/common.js.map +0 -1
- package/dist/utility/serialization/blueprint/constants.js +0 -255
- package/dist/utility/serialization/blueprint/constants.js.map +0 -1
- package/dist/utility/serialization/blueprint/material/constants.js +0 -203
- package/dist/utility/serialization/blueprint/material/constants.js.map +0 -1
- package/dist/utility/serialization/blueprint/material/texture.js +0 -165
- package/dist/utility/serialization/blueprint/material/texture.js.map +0 -1
- package/dist/utility/serialization/scene/cloth_script.js +0 -834
- package/dist/utility/serialization/scene/cloth_script.js.map +0 -1
- package/dist/utility/serialization/scene/spring_script.js +0 -596
- package/dist/utility/serialization/scene/spring_script.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloth_script.js","sources":["../../../../src/utility/serialization/scene/cloth_script.ts"],"sourcesContent":["import type { Mesh } from '../../../scene/mesh';\r\nimport type { SceneNode } from '../../../scene/scene_node';\r\nimport { createGPUClothWrapBindingData } from '../../../animation/cloth/gpu_cloth_system';\r\nimport { defineProps, type SerializableClass } from '../types';\r\n\r\nexport type ClothColliderType = 'sphere' | 'capsule' | 'plane';\r\n\r\nconst clothConfigHostMap = new WeakMap<ClothScriptConfig, SceneNode>();\r\nconst clothTargetHostMap = new WeakMap<ClothTargetMeshConfig, SceneNode>();\r\nconst clothTargetOwnerMap = new WeakMap<ClothTargetMeshConfig, ClothScriptConfig>();\r\n\r\nfunction clamp01(value: number) {\r\n return Math.min(Math.max(value, 0), 1);\r\n}\r\n\r\nfunction normalizePlaneDirection(value: number) {\r\n return value < 0 ? -1 : 1;\r\n}\r\n\r\nfunction resolveClothHostScope(host: SceneNode) {\r\n return (\r\n (typeof (host as any)?.getPrefabNode === 'function' && (host as any).getPrefabNode()) ||\r\n host.scene?.rootNode ||\r\n host\r\n );\r\n}\r\n\r\nfunction resolveClothMeshById(host: SceneNode | null | undefined, meshId: string): Mesh | null {\r\n const id = String(meshId ?? '').trim();\r\n if (!host || !id) {\r\n return null;\r\n }\r\n const scope = resolveClothHostScope(host);\r\n const candidate = scope?.findNodeById?.(id);\r\n return candidate?.isMesh?.() && candidate.primitive ? (candidate as Mesh) : null;\r\n}\r\n\r\nfunction resolveClothMeshLabel(host: SceneNode | null | undefined, meshId: string) {\r\n const id = String(meshId ?? '').trim();\r\n if (!id) {\r\n return '';\r\n }\r\n const mesh = resolveClothMeshById(host, id);\r\n if (mesh) {\r\n const name = String(mesh.name ?? '').trim();\r\n return name || mesh.persistentId || id;\r\n }\r\n return `[Missing] ${id}`;\r\n}\r\n\r\nfunction getClothConfigHost(config: ClothScriptConfig) {\r\n return clothConfigHostMap.get(config) ?? null;\r\n}\r\n\r\nfunction getClothTargetHost(target: ClothTargetMeshConfig) {\r\n const owner = clothTargetOwnerMap.get(target);\r\n return clothTargetHostMap.get(target) ?? (owner ? clothConfigHostMap.get(owner) : null) ?? null;\r\n}\r\n\r\nfunction setClothTargetOwner(target: ClothTargetMeshConfig, owner: ClothScriptConfig, host?: SceneNode | null) {\r\n clothTargetOwnerMap.set(target, owner);\r\n if (host) {\r\n clothTargetHostMap.set(target, host);\r\n }\r\n}\r\n\r\nfunction clearClothTargetBinding(target: ClothTargetMeshConfig) {\r\n target.bindingData = '';\r\n target.bindingSignature = '';\r\n}\r\n\r\nfunction clearClothBindings(config: ClothScriptConfig) {\r\n for (const target of config.targetMeshes) {\r\n clearClothTargetBinding(target);\r\n }\r\n}\r\n\r\nfunction setClothBindingStatus(config: ClothScriptConfig, status: string) {\r\n config.bindingStatus = status;\r\n}\r\n\r\nfunction ensureDefaultTargetMeshEntry(config: ClothScriptConfig) {\r\n if (config.targetMeshes.length === 0) {\r\n const target = new ClothTargetMeshConfig();\r\n config.targetMeshes.push(target);\r\n setClothTargetOwner(target, config, getClothConfigHost(config));\r\n }\r\n}\r\n\r\nfunction invalidateClothBindings(config: ClothScriptConfig, status = 'Binding cache needs rebuild') {\r\n clearClothBindings(config);\r\n setClothBindingStatus(config, status);\r\n}\r\n\r\nasync function bindClothTargetMeshes(config: ClothScriptConfig) {\r\n const host = getClothConfigHost(config);\r\n if (config.bindingInProgress) {\r\n return;\r\n }\r\n const simulationMesh =\r\n resolveClothMeshById(host, config.simulationMeshId) || (host?.isMesh?.() && host.primitive ? (host as Mesh) : null);\r\n if (!simulationMesh) {\r\n setClothBindingStatus(config, 'Set Simulation Mesh before binding.');\r\n return;\r\n }\r\n const targetEntries = config.targetMeshes.filter((entry) => String(entry.meshId ?? '').trim().length > 0);\r\n if (targetEntries.length === 0) {\r\n setClothBindingStatus(config, 'Add at least one Target Mesh before binding.');\r\n return;\r\n }\r\n config.bindingInProgress = true;\r\n setClothBindingStatus(config, 'Binding target meshes...');\r\n let successCount = 0;\r\n const failedTargets: string[] = [];\r\n try {\r\n for (const entry of targetEntries) {\r\n const targetMesh = resolveClothMeshById(getClothTargetHost(entry), entry.meshId);\r\n if (!targetMesh) {\r\n clearClothTargetBinding(entry);\r\n failedTargets.push(resolveClothMeshLabel(host, entry.meshId));\r\n continue;\r\n }\r\n if (targetMesh === simulationMesh) {\r\n clearClothTargetBinding(entry);\r\n failedTargets.push(resolveClothMeshLabel(host, entry.meshId));\r\n continue;\r\n }\r\n try {\r\n const data = await createGPUClothWrapBindingData(simulationMesh, targetMesh);\r\n entry.bindingData = JSON.stringify(data);\r\n entry.bindingSignature =\r\n `${data.version}:${data.vertexCount}:${data.sourceVertexCount}:${data.influenceCount}`;\r\n successCount++;\r\n } catch (err) {\r\n clearClothTargetBinding(entry);\r\n failedTargets.push(\r\n `${resolveClothMeshLabel(host, entry.meshId)}: ${err instanceof Error ? err.message : String(err)}`\r\n );\r\n }\r\n }\r\n } finally {\r\n config.bindingInProgress = false;\r\n }\r\n if (successCount > 0 && failedTargets.length === 0) {\r\n setClothBindingStatus(config, `Bound ${successCount} target mesh(es).`);\r\n } else if (successCount > 0) {\r\n setClothBindingStatus(\r\n config,\r\n `Bound ${successCount} target mesh(es), ${failedTargets.length} failed: ${failedTargets.join('; ')}`\r\n );\r\n } else {\r\n setClothBindingStatus(config, failedTargets[0] || 'Binding failed.');\r\n }\r\n}\r\n\r\nexport function bindClothScriptConfigHost(config: ClothScriptConfig, host: SceneNode) {\r\n clothConfigHostMap.set(config, host);\r\n ensureDefaultTargetMeshEntry(config);\r\n for (const target of config.targetMeshes) {\r\n setClothTargetOwner(target, config, host);\r\n }\r\n}\r\n\r\nexport class ClothColliderConfig {\r\n type: ClothColliderType;\r\n enabled: boolean;\r\n bone: string;\r\n offsetX: number;\r\n offsetY: number;\r\n offsetZ: number;\r\n endOffsetX: number;\r\n endOffsetY: number;\r\n endOffsetZ: number;\r\n normalX: number;\r\n normalY: number;\r\n normalZ: number;\r\n radius: number;\r\n\r\n constructor(type: ClothColliderType = 'sphere') {\r\n this.type = type;\r\n this.enabled = true;\r\n this.bone = '';\r\n this.offsetX = 0;\r\n this.offsetY = 0;\r\n this.offsetZ = 0;\r\n this.endOffsetX = 0;\r\n this.endOffsetY = 0.2;\r\n this.endOffsetZ = 0;\r\n this.normalX = 0;\r\n this.normalY = 1;\r\n this.normalZ = 0;\r\n this.radius = 0.15;\r\n }\r\n}\r\n\r\nexport class ClothTargetMeshConfig {\r\n meshId: string;\r\n bindingData: string;\r\n bindingSignature: string;\r\n\r\n constructor() {\r\n this.meshId = '';\r\n this.bindingData = '';\r\n this.bindingSignature = '';\r\n }\r\n}\r\n\r\nexport class ClothScriptConfig {\r\n enabled: boolean;\r\n autoUpdate: boolean;\r\n simulationMeshId: string;\r\n targetMeshes: ClothTargetMeshConfig[];\r\n bindingStatus: string;\r\n bindingInProgress: boolean;\r\n damping: number;\r\n dynamicFriction: number;\r\n staticFriction: number;\r\n stiffness: number;\r\n poseFollow: number;\r\n substeps: number;\r\n gravityX: number;\r\n gravityY: number;\r\n gravityZ: number;\r\n solverIterations: number;\r\n vertexPinWeightsByTarget: string;\r\n pinnedVertexIndicesByTarget: string;\r\n maxNeighbors: number;\r\n maxTrianglesPerVertex: number;\r\n workgroupSize: number;\r\n rebuildNormals: boolean;\r\n colliders: ClothColliderConfig[];\r\n\r\n constructor() {\r\n this.enabled = true;\r\n this.autoUpdate = true;\r\n this.simulationMeshId = '';\r\n this.targetMeshes = [new ClothTargetMeshConfig()];\r\n this.bindingStatus = 'Binding cache needs rebuild';\r\n this.bindingInProgress = false;\r\n this.damping = 0.02;\r\n this.dynamicFriction = 0.15;\r\n this.staticFriction = 0.3;\r\n this.stiffness = 0.3;\r\n this.poseFollow = 0;\r\n this.substeps = 2;\r\n this.gravityX = 0;\r\n this.gravityY = -9.8;\r\n this.gravityZ = 0;\r\n this.solverIterations = 5;\r\n this.vertexPinWeightsByTarget = '';\r\n this.pinnedVertexIndicesByTarget = '';\r\n this.maxNeighbors = 8;\r\n this.maxTrianglesPerVertex = 16;\r\n this.workgroupSize = 64;\r\n this.rebuildNormals = true;\r\n this.colliders = [];\r\n }\r\n}\r\n\r\nexport function getClothColliderConfigClass(): SerializableClass {\r\n return {\r\n ctor: ClothColliderConfig,\r\n name: 'ClothColliderConfig',\r\n noTitle: true,\r\n createFunc() {\r\n return { obj: new ClothColliderConfig() };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Type',\r\n type: 'string',\r\n options: {\r\n group: 'Shape',\r\n enum: {\r\n labels: ['Sphere', 'Capsule', 'Plane'],\r\n values: ['sphere', 'capsule', 'plane']\r\n }\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.str[0] = this.type;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.type = (value.str[0] as ClothColliderType) ?? 'sphere';\r\n }\r\n },\r\n {\r\n name: 'Enabled',\r\n type: 'bool',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.bool[0] = this.enabled;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.enabled = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'Bone',\r\n type: 'string',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.str[0] = this.bone;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.bone = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'Offset',\r\n type: 'vec3',\r\n options: {\r\n group: 'Shape'\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type !== 'plane';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.offsetX;\r\n value.num[1] = this.offsetY;\r\n value.num[2] = this.offsetZ;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.offsetX = value.num[0];\r\n this.offsetY = value.num[1];\r\n this.offsetZ = value.num[2];\r\n }\r\n },\r\n {\r\n name: 'EndOffset',\r\n type: 'vec3',\r\n options: {\r\n group: 'Shape'\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type === 'capsule';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.endOffsetX;\r\n value.num[1] = this.endOffsetY;\r\n value.num[2] = this.endOffsetZ;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.endOffsetX = value.num[0];\r\n this.endOffsetY = value.num[1];\r\n this.endOffsetZ = value.num[2];\r\n }\r\n },\r\n {\r\n name: 'Radius',\r\n type: 'float',\r\n options: {\r\n group: 'Shape',\r\n minValue: 0\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type !== 'plane';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.radius;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.radius = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Normal',\r\n type: 'float',\r\n options: {\r\n group: 'Shape',\r\n minValue: -1,\r\n maxValue: 1\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type === 'plane';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.normalY;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.normalX = 0;\r\n this.normalY = normalizePlaneDirection(value.num[0]);\r\n this.normalZ = 0;\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nexport function getClothTargetMeshConfigClass(): SerializableClass {\r\n return {\r\n ctor: ClothTargetMeshConfig,\r\n name: 'ClothTargetMeshConfig',\r\n noTitle: true,\r\n createFunc() {\r\n return { obj: new ClothTargetMeshConfig() };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'TargetMesh',\r\n type: 'string',\r\n options: {\r\n sceneNode: {\r\n kind: 'mesh'\r\n }\r\n },\r\n isPersistent() {\r\n return false;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = resolveClothMeshLabel(getClothTargetHost(this), this.meshId);\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n const nextId = String(value.str[0] ?? '').trim();\r\n if (this.meshId !== nextId) {\r\n this.meshId = nextId;\r\n clearClothTargetBinding(this);\r\n const owner = clothTargetOwnerMap.get(this);\r\n if (owner) {\r\n setClothBindingStatus(owner, 'Binding cache needs rebuild');\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'MeshId',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = this.meshId;\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n this.meshId = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'BindingData',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = this.bindingData;\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n this.bindingData = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'BindingSignature',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = this.bindingSignature;\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n this.bindingSignature = value.str[0] ?? '';\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nexport function getClothScriptConfigClass(): SerializableClass {\r\n return {\r\n ctor: ClothScriptConfig,\r\n name: 'ClothScriptConfig',\r\n noTitle: true,\r\n createFunc() {\r\n return { obj: new ClothScriptConfig() };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Enabled',\r\n type: 'bool',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.bool[0] = this.enabled;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.enabled = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'AutoUpdate',\r\n type: 'bool',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.bool[0] = this.autoUpdate;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.autoUpdate = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'SimulationMesh',\r\n type: 'string',\r\n options: {\r\n group: 'General',\r\n sceneNode: {\r\n kind: 'mesh'\r\n }\r\n },\r\n isPersistent() {\r\n return false;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = resolveClothMeshLabel(getClothConfigHost(this), this.simulationMeshId);\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n const nextId = String(value.str[0] ?? '').trim();\r\n if (this.simulationMeshId !== nextId) {\r\n this.simulationMeshId = nextId;\r\n invalidateClothBindings(this);\r\n }\r\n }\r\n },\r\n {\r\n name: 'SimulationMeshId',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.simulationMeshId;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.simulationMeshId = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'TargetMesh',\r\n type: 'object_array',\r\n options: {\r\n group: 'Binding',\r\n objectTypes: [ClothTargetMeshConfig],\r\n inlineObjectArray: true\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n ensureDefaultTargetMeshEntry(this);\r\n value.object = this.targetMeshes;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.targetMeshes = ((value.object ?? []) as ClothTargetMeshConfig[]).filter(\r\n (entry): entry is ClothTargetMeshConfig => entry instanceof ClothTargetMeshConfig\r\n );\r\n ensureDefaultTargetMeshEntry(this);\r\n const host = getClothConfigHost(this);\r\n for (const entry of this.targetMeshes) {\r\n setClothTargetOwner(entry, this, host);\r\n }\r\n },\r\n add(this: ClothScriptConfig, value, index) {\r\n const target = (value.object?.[0] as ClothTargetMeshConfig) ?? new ClothTargetMeshConfig();\r\n setClothTargetOwner(target, this, getClothConfigHost(this));\r\n this.targetMeshes.splice(index ?? this.targetMeshes.length, 0, target);\r\n setClothBindingStatus(this, 'Binding cache needs rebuild');\r\n },\r\n delete(this: ClothScriptConfig, index) {\r\n this.targetMeshes.splice(index, 1);\r\n ensureDefaultTargetMeshEntry(this);\r\n setClothBindingStatus(this, 'Binding cache needs rebuild');\r\n },\r\n create() {\r\n return new ClothTargetMeshConfig();\r\n }\r\n },\r\n {\r\n name: 'BindingStatus',\r\n type: 'string',\r\n readonly: true,\r\n options: {\r\n group: 'Binding'\r\n },\r\n isPersistent() {\r\n return false;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.bindingStatus;\r\n }\r\n },\r\n {\r\n name: 'Binding',\r\n type: 'command',\r\n options: {\r\n group: 'Binding'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.bindingInProgress ? 'Binding...' : 'Bind';\r\n value.str[1] = 'Clear';\r\n },\r\n command(this: ClothScriptConfig, index) {\r\n if (index === 0) {\r\n if (!this.bindingInProgress) {\r\n void bindClothTargetMeshes(this);\r\n }\r\n } else {\r\n clearClothBindings(this);\r\n setClothBindingStatus(this, 'Binding cache cleared.');\r\n }\r\n return true;\r\n }\r\n },\r\n {\r\n name: 'VertexPinWeightsByTarget',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.vertexPinWeightsByTarget;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.vertexPinWeightsByTarget = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'PinnedVertexIndicesByTarget',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.pinnedVertexIndicesByTarget;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.pinnedVertexIndicesByTarget = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'Gravity',\r\n type: 'vec3',\r\n options: {\r\n group: 'Simulation'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.gravityX;\r\n value.num[1] = this.gravityY;\r\n value.num[2] = this.gravityZ;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.gravityX = value.num[0];\r\n this.gravityY = value.num[1];\r\n this.gravityZ = value.num[2];\r\n }\r\n },\r\n {\r\n name: 'Damping',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.damping;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.damping = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'Stiffness',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.stiffness;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.stiffness = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'DynamicFriction',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.dynamicFriction;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.dynamicFriction = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'PoseFollow',\r\n type: 'float',\r\n options: {\r\n group: 'PoseFollow',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.poseFollow;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.poseFollow = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'StaticFriction',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.staticFriction;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.staticFriction = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'SolverIterations',\r\n type: 'int',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 1,\r\n maxValue: 32\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.solverIterations;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.solverIterations = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Substeps',\r\n type: 'int',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 1,\r\n maxValue: 8\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.substeps;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.substeps = Math.max(1, Math.min(8, value.num[0] | 0));\r\n }\r\n },\r\n {\r\n name: 'MaxNeighbors',\r\n type: 'int',\r\n options: {\r\n group: 'Advanced',\r\n minValue: 1,\r\n maxValue: 64\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.maxNeighbors;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.maxNeighbors = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'MaxTrianglesPerVertex',\r\n type: 'int',\r\n options: {\r\n group: 'Advanced',\r\n minValue: 1,\r\n maxValue: 64\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.maxTrianglesPerVertex;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.maxTrianglesPerVertex = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WorkgroupSize',\r\n type: 'int',\r\n options: {\r\n group: 'Advanced',\r\n minValue: 1,\r\n maxValue: 256\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.workgroupSize;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.workgroupSize = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'RebuildNormals',\r\n type: 'bool',\r\n options: {\r\n group: 'Advanced'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.bool[0] = this.rebuildNormals;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.rebuildNormals = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'Colliders',\r\n type: 'object_array',\r\n options: {\r\n group: 'Collider',\r\n objectTypes: [ClothColliderConfig]\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.object = this.colliders;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.colliders = (value.object ?? []) as ClothColliderConfig[];\r\n },\r\n add(this: ClothScriptConfig, value, index) {\r\n this.colliders.splice(index ?? this.colliders.length, 0, value.object![0] as ClothColliderConfig);\r\n },\r\n delete(this: ClothScriptConfig, index) {\r\n this.colliders.splice(index, 1);\r\n },\r\n create() {\r\n return new ClothColliderConfig();\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n"],"names":["clothConfigHostMap","WeakMap","clothTargetHostMap","clothTargetOwnerMap","clamp01","value","Math","min","max","normalizePlaneDirection","resolveClothHostScope","host","getPrefabNode","scene","rootNode","resolveClothMeshById","meshId","id","String","trim","scope","candidate","findNodeById","isMesh","primitive","resolveClothMeshLabel","mesh","name","persistentId","getClothConfigHost","config","get","getClothTargetHost","target","owner","setClothTargetOwner","set","clearClothTargetBinding","bindingData","bindingSignature","clearClothBindings","targetMeshes","setClothBindingStatus","status","bindingStatus","ensureDefaultTargetMeshEntry","length","ClothTargetMeshConfig","push","invalidateClothBindings","bindClothTargetMeshes","bindingInProgress","simulationMesh","simulationMeshId","targetEntries","filter","entry","successCount","failedTargets","targetMesh","data","createGPUClothWrapBindingData","JSON","stringify","version","vertexCount","sourceVertexCount","influenceCount","err","Error","message","join","bindClothScriptConfigHost","ClothColliderConfig","type","enabled","bone","offsetX","offsetY","offsetZ","endOffsetX","endOffsetY","endOffsetZ","normalX","normalY","normalZ","radius","ClothScriptConfig","autoUpdate","damping","dynamicFriction","staticFriction","stiffness","poseFollow","substeps","gravityX","gravityY","gravityZ","solverIterations","vertexPinWeightsByTarget","pinnedVertexIndicesByTarget","maxNeighbors","maxTrianglesPerVertex","workgroupSize","rebuildNormals","colliders","getClothColliderConfigClass","ctor","noTitle","createFunc","obj","getProps","defineProps","options","group","enum","labels","values","str","bool","isValid","num","minValue","maxValue","getClothTargetMeshConfigClass","sceneNode","kind","isPersistent","nextId","isHidden","getClothScriptConfigClass","objectTypes","inlineObjectArray","object","add","index","splice","delete","create","readonly","command"],"mappings":"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"}
|