@woosh/meep-engine 3.42.0 → 3.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/editor/prototypeEditorShell.d.ts.map +1 -1
- package/editor/prototypeEditorShell.js +4 -2
- package/package.json +91 -96
- package/src/engine/Clock.d.ts +15 -0
- package/src/engine/Clock.d.ts.map +1 -1
- package/src/engine/Clock.js +29 -5
- package/src/engine/Engine.d.ts.map +1 -1
- package/src/engine/Engine.js +11 -19
- package/src/engine/graphics/ecs/mesh-v2/MeshSkin.d.ts +57 -0
- package/src/engine/graphics/ecs/mesh-v2/MeshSkin.d.ts.map +1 -0
- package/src/engine/graphics/ecs/mesh-v2/MeshSkin.js +84 -0
- package/src/engine/graphics3/AnimationGraphSystem.d.ts +23 -13
- package/src/engine/graphics3/AnimationGraphSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationGraphSystem.js +61 -64
- package/src/engine/graphics3/AnimationSystem.d.ts +24 -15
- package/src/engine/graphics3/AnimationSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationSystem.js +67 -61
- package/src/engine/graphics3/MeshSkinSystem.d.ts +56 -0
- package/src/engine/graphics3/MeshSkinSystem.d.ts.map +1 -0
- package/src/engine/graphics3/MeshSkinSystem.js +317 -0
- package/src/engine/graphics3/MeshSystem.d.ts +15 -35
- package/src/engine/graphics3/MeshSystem.d.ts.map +1 -1
- package/src/engine/graphics3/MeshSystem.js +21 -298
- package/src/engine/graphics3/RowChains.d.ts +76 -0
- package/src/engine/graphics3/RowChains.d.ts.map +1 -0
- package/src/engine/graphics3/RowChains.js +347 -0
- package/src/engine/graphics3/ShadedGeometrySystem.d.ts +6 -0
- package/src/engine/graphics3/ShadedGeometrySystem.d.ts.map +1 -1
- package/src/engine/graphics3/ShadedGeometrySystem.js +329 -309
- package/src/engine/graphics3/animation/AnimationClips.d.ts +56 -0
- package/src/engine/graphics3/animation/AnimationClips.d.ts.map +1 -0
- package/src/engine/graphics3/animation/AnimationClips.js +79 -0
- package/src/engine/graphics3/animation/ClipListPlayer.d.ts +13 -14
- package/src/engine/graphics3/animation/ClipListPlayer.d.ts.map +1 -1
- package/src/engine/graphics3/animation/ClipListPlayer.js +262 -263
- package/src/engine/graphics3/animation/write_clip_playback.d.ts +3 -3
- package/src/engine/graphics3/animation/write_clip_playback.js +4 -4
- package/src/engine/graphics3/pose/query_entity_node_world_pose.d.ts +5 -0
- package/src/engine/graphics3/pose/query_entity_node_world_pose.d.ts.map +1 -1
- package/src/engine/graphics3/pose/query_entity_node_world_pose.js +80 -75
- package/src/engine/graphics3/prefab/PrefabInstance.d.ts +4 -24
- package/src/engine/graphics3/prefab/PrefabInstance.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/PrefabInstance.js +60 -80
- package/src/engine/graphics3/prefab/prefab_instantiate.d.ts +16 -3
- package/src/engine/graphics3/prefab/prefab_instantiate.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/prefab_instantiate.js +49 -12
- package/src/engine/graphics3/prefab/prefab_place.d.ts +31 -17
- package/src/engine/graphics3/prefab/prefab_place.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/prefab_place.js +175 -130
- package/src/engine/graphics3/register_clips.d.ts +64 -0
- package/src/engine/graphics3/register_clips.d.ts.map +1 -0
- package/src/engine/graphics3/register_clips.js +114 -0
- package/src/engine/physics/cloth/MEASUREMENTS.md +795 -0
- package/src/engine/physics/cloth/PLAN.md +339 -9
- package/src/engine/physics/cloth/build/ClothProxy.d.ts +113 -61
- package/src/engine/physics/cloth/build/ClothProxy.d.ts.map +1 -1
- package/src/engine/physics/cloth/build/ClothProxy.js +142 -77
- package/src/engine/physics/cloth/build/cloth_bind_in_frame.d.ts +22 -0
- package/src/engine/physics/cloth/build/cloth_bind_in_frame.d.ts.map +1 -0
- package/src/engine/physics/cloth/build/cloth_bind_in_frame.js +75 -0
- package/src/engine/physics/cloth/build/cloth_proxy_from_joints.d.ts +43 -30
- package/src/engine/physics/cloth/build/cloth_proxy_from_joints.d.ts.map +1 -1
- package/src/engine/physics/cloth/build/cloth_proxy_from_joints.js +357 -284
- package/src/engine/physics/cloth/build/cloth_proxy_from_mesh.d.ts +62 -0
- package/src/engine/physics/cloth/build/cloth_proxy_from_mesh.d.ts.map +1 -0
- package/src/engine/physics/cloth/build/cloth_proxy_from_mesh.js +280 -0
- package/src/engine/physics/cloth/collider/cloth_collider_sdf.d.ts +1 -1
- package/src/engine/physics/cloth/collider/cloth_collider_sdf.js +1 -1
- package/src/engine/physics/cloth/ecs/Cloth.d.ts +17 -9
- package/src/engine/physics/cloth/ecs/Cloth.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/Cloth.js +220 -212
- package/src/engine/physics/cloth/ecs/ClothDynamicsFlags.js +6 -0
- package/src/engine/physics/cloth/ecs/ClothHold.d.ts +91 -0
- package/src/engine/physics/cloth/ecs/ClothHold.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothHold.js +103 -0
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts +254 -48
- package/src/engine/physics/cloth/ecs/ClothInstance.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothInstance.js +277 -47
- package/src/engine/physics/cloth/ecs/ClothPin.d.ts +73 -0
- package/src/engine/physics/cloth/ecs/ClothPin.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothPin.js +92 -0
- package/src/engine/physics/cloth/ecs/ClothPinSerializationAdapter.d.ts +36 -0
- package/src/engine/physics/cloth/ecs/ClothPinSerializationAdapter.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/ClothPinSerializationAdapter.js +61 -0
- package/src/engine/physics/cloth/ecs/ClothRig.d.ts +23 -17
- package/src/engine/physics/cloth/ecs/ClothRig.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothRig.js +29 -27
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts +12 -14
- package/src/engine/physics/cloth/ecs/ClothSystem.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothSystem.js +20 -15
- package/src/engine/physics/cloth/ecs/ClothWorld.d.ts +57 -36
- package/src/engine/physics/cloth/ecs/ClothWorld.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/ClothWorld.js +816 -179
- package/src/engine/physics/cloth/ecs/WorkerClothSystem.d.ts +12 -13
- package/src/engine/physics/cloth/ecs/WorkerClothSystem.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/WorkerClothSystem.js +20 -14
- package/src/engine/physics/cloth/ecs/cloth_build_rows.d.ts +63 -11
- package/src/engine/physics/cloth/ecs/cloth_build_rows.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_build_rows.js +321 -84
- package/src/engine/physics/cloth/ecs/cloth_dynamics_map.d.ts +9 -7
- package/src/engine/physics/cloth/ecs/cloth_dynamics_map.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_dynamics_map.js +9 -7
- package/src/engine/physics/cloth/ecs/cloth_gather_colliders.d.ts +3 -3
- package/src/engine/physics/cloth/ecs/cloth_gather_colliders.js +30 -30
- package/src/engine/physics/cloth/ecs/cloth_geodesic.d.ts +37 -0
- package/src/engine/physics/cloth/ecs/cloth_geodesic.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/cloth_geodesic.js +142 -0
- package/src/engine/physics/cloth/ecs/cloth_holds.d.ts +97 -0
- package/src/engine/physics/cloth/ecs/cloth_holds.d.ts.map +1 -0
- package/src/engine/physics/cloth/ecs/cloth_holds.js +608 -0
- package/src/engine/physics/cloth/ecs/cloth_reconstruct_pose.d.ts +2 -2
- package/src/engine/physics/cloth/ecs/cloth_reconstruct_pose.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_reconstruct_pose.js +160 -9
- package/src/engine/physics/cloth/ecs/cloth_seed_rig.d.ts +17 -22
- package/src/engine/physics/cloth/ecs/cloth_seed_rig.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_seed_rig.js +55 -117
- package/src/engine/physics/cloth/ecs/cloth_seed_subtree.d.ts +21 -6
- package/src/engine/physics/cloth/ecs/cloth_seed_subtree.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_seed_subtree.js +44 -15
- package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts +5 -0
- package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_write_back.js +60 -16
- package/src/engine/physics/cloth/ecs/cloth_write_back_rig.d.ts.map +1 -1
- package/src/engine/physics/cloth/ecs/cloth_write_back_rig.js +65 -58
- package/src/engine/physics/cloth/playground/collide_main.js +1 -1
- package/src/engine/physics/cloth/playground/garment_build.d.ts.map +1 -1
- package/src/engine/physics/cloth/playground/garment_build.js +17 -5
- package/src/engine/physics/cloth/playground/garment_main.js +1 -1
- package/src/engine/physics/cloth/playground/rig_build.d.ts.map +1 -1
- package/src/engine/physics/cloth/playground/rig_build.js +302 -296
- package/src/engine/physics/cloth/solver/ClothState.d.ts +45 -7
- package/src/engine/physics/cloth/solver/ClothState.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/ClothState.js +63 -7
- package/src/engine/physics/cloth/solver/cloth_contact_find.d.ts +6 -1
- package/src/engine/physics/cloth/solver/cloth_contact_find.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_contact_find.js +7 -2
- package/src/engine/physics/cloth/solver/cloth_hold_line.d.ts +114 -0
- package/src/engine/physics/cloth/solver/cloth_hold_line.d.ts.map +1 -0
- package/src/engine/physics/cloth/solver/cloth_hold_line.js +362 -0
- package/src/engine/physics/cloth/solver/cloth_self_find.d.ts +6 -2
- package/src/engine/physics/cloth/solver/cloth_self_find.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_self_find.js +13 -13
- package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts +24 -12
- package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_solver_constants.js +24 -12
- package/src/engine/physics/cloth/solver/cloth_step.d.ts +16 -0
- package/src/engine/physics/cloth/solver/cloth_step.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_step.js +183 -20
- package/src/engine/physics/cloth/solver/cloth_step_instance.d.ts +1 -0
- package/src/engine/physics/cloth/solver/cloth_step_instance.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_step_instance.js +10 -3
- package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.d.ts +1 -1
- package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.js +353 -346
- package/src/engine/physics/cloth/solver/constraint/cloth_self_row.d.ts +7 -5
- package/src/engine/physics/cloth/solver/constraint/cloth_self_row.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/constraint/cloth_self_row.js +7 -5
- package/src/engine/physics/cloth/wind/cloth_sample_air.d.ts +9 -9
- package/src/engine/physics/cloth/wind/cloth_sample_air.d.ts.map +1 -1
- package/src/engine/physics/cloth/wind/cloth_sample_air.js +26 -26
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/simulation/Ticker.d.ts +13 -0
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +43 -8
- package/src/shade/RENDERER_CONTRACT.md +8 -2
- package/src/shade/playground/mesh_row_ceiling/main.js +2 -1
- package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/main.js +11 -19
- package/src/shade/playground/skinned_blas_refit/place_character.d.ts +6 -3
- package/src/shade/playground/skinned_blas_refit/place_character.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/place_character.js +90 -90
- package/src/shade/playground/skinned_mesh_soup/main.d.ts.map +1 -1
- package/src/shade/playground/skinned_mesh_soup/main.js +502 -509
- package/src/shade/playground/texture_encode/README.md +129 -109
- package/src/shade/playground/texture_encode/main.js +1430 -1430
- package/src/shade/playground/vgeo_runtime/README.md +5 -4
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +6 -5
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +45 -14
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +316 -64
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +5 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +11 -1
- package/src/shade/renderer/atmosphere/GPUSky.d.ts +12 -0
- package/src/shade/renderer/atmosphere/GPUSky.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/GPUSky.js +162 -147
- package/src/shade/renderer/geometry/BoxGeometry.d.ts +1 -11
- package/src/shade/renderer/geometry/BoxGeometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/BoxGeometry.js +6 -13
- package/src/shade/renderer/geometry/CapsuleGeometry.d.ts +19 -0
- package/src/shade/renderer/geometry/CapsuleGeometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/CapsuleGeometry.js +24 -0
- package/src/shade/renderer/geometry/ConeGeometry.d.ts +20 -0
- package/src/shade/renderer/geometry/ConeGeometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/ConeGeometry.js +33 -0
- package/src/shade/renderer/geometry/CylinderGeometry.d.ts +21 -0
- package/src/shade/renderer/geometry/CylinderGeometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/CylinderGeometry.js +35 -0
- package/src/shade/renderer/geometry/PlaneGeometry.d.ts +17 -0
- package/src/shade/renderer/geometry/PlaneGeometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/PlaneGeometry.js +22 -0
- package/src/shade/renderer/geometry/TorusGeometry.d.ts +18 -0
- package/src/shade/renderer/geometry/TorusGeometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/TorusGeometry.js +23 -0
- package/src/shade/renderer/geometry/UVSphereGeometry.d.ts +21 -0
- package/src/shade/renderer/geometry/UVSphereGeometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/UVSphereGeometry.js +34 -0
- package/src/shade/renderer/geometry/primitives/make_capsule_geometry.d.ts +19 -0
- package/src/shade/renderer/geometry/primitives/make_capsule_geometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/primitives/make_capsule_geometry.js +205 -0
- package/src/shade/renderer/geometry/primitives/make_cone_geometry.d.ts +21 -0
- package/src/shade/renderer/geometry/primitives/make_cone_geometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/primitives/make_cone_geometry.js +36 -0
- package/src/shade/renderer/geometry/primitives/make_cylinder_geometry.d.ts +1 -1
- package/src/shade/renderer/geometry/primitives/make_cylinder_geometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/primitives/make_cylinder_geometry.js +44 -9
- package/src/shade/renderer/geometry/primitives/make_uv_sphere_geometry.d.ts +20 -0
- package/src/shade/renderer/geometry/primitives/make_uv_sphere_geometry.d.ts.map +1 -0
- package/src/shade/renderer/geometry/primitives/make_uv_sphere_geometry.js +190 -0
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.js +7 -2
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts +26 -8
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.js +56 -39
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_prefix_scan_csdldf.d.ts +7 -0
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_prefix_scan_csdldf.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_prefix_scan_csdldf.js +46 -4
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.js +4 -2
- package/src/shade/renderer/gpu_primitive/sort/defs.d.ts +2 -2
- package/src/shade/renderer/gpu_primitive/sort/defs.js +79 -79
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts +1 -1
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.js +7 -3
- package/src/shade/renderer/lightmap/bake/shader_lightmap_denoise_sh.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/bake/shader_lightmap_denoise_sh.js +10 -3
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/particles/DESIGN.md +13 -9
- package/src/shade/renderer/particles/GPUParticleSystem.js +1 -1
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +4 -3
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +200 -194
- package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles.js +6 -2
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.js +1 -1
- package/src/shade/renderer/particles/warmup/graph_particle_warmup.d.ts.map +1 -1
- package/src/shade/renderer/particles/warmup/graph_particle_warmup.js +334 -329
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/rasterize/bucket/prepare_meshlet_draw_commands_by_material.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/bucket/prepare_meshlet_draw_commands_by_material.js +7 -2
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.js +16 -4
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +3 -2
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +3 -2
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +9 -1
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +23 -1
- package/src/shade/renderer/texture/COMPRESSED_TEXTURE_PLAN_2026_09_01.md +2444 -2345
- package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.d.ts.map +1 -1
- package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.js +312 -310
- package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts +3 -3
- package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts.map +1 -1
- package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.js +383 -375
- package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.d.ts.map +1 -1
- package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.js +349 -346
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block.d.ts +58 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block.js +536 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts +21 -7
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts.map +1 -1
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.js +291 -327
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode1.d.ts +25 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode1.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode1.js +99 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts +5 -3
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts.map +1 -1
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.js +47 -71
- package/src/shade/renderer/texture/encode/chunk_bc7_partition_2.d.ts +10 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_partition_2.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_partition_2.js +50 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts +4 -5
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts.map +1 -1
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.js +7 -8
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +4 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +74 -3
- package/src/shade/renderer/volumetrics/NOTES.md +1023 -957
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.d.ts +5 -4
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.js +5 -4
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts +1 -1
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.js +1 -1
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts +1 -1
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.js +1 -1
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts +41 -0
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.js +112 -0
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts +9 -23
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +18 -126
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.d.ts +22 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.js +228 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.js +0 -53
- package/src/shade/renderer/water/chunk_water_transport.d.ts.map +1 -1
- package/src/shade/renderer/water/chunk_water_transport.js +7 -5
- package/src/shade/renderer/water/medium/GPUWaterBodies.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/GPUWaterBodies.js +8 -2
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.d.ts +3 -2
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.d.ts.map +1 -1
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.js +3 -2
- package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water.js +3 -1
- package/src/shade/renderer/water/surface/GPUWaterSurface.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/GPUWaterSurface.js +3 -1
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts +4 -3
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.js +17 -7
- package/src/shade/renderer/water/surface/graph_water_tessellation.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/graph_water_tessellation.js +11 -4
- package/src/shade/renderer/water/surface/particles/GPUWaterParticles.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/GPUWaterParticles.js +93 -30
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.js +13 -5
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts +29 -8
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.js +155 -30
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts +6 -1
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.js +157 -39
- package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts +91 -21
- package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/particles/shader_water_particles.js +442 -70
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +11 -3
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +3 -0
- package/src/shade/wgsl/validate_wgsl_source.d.ts.map +1 -1
- package/src/shade/wgsl/validate_wgsl_source.js +74 -3
- package/src/engine/graphics3/register_instance_animation.d.ts +0 -114
- package/src/engine/graphics3/register_instance_animation.d.ts.map +0 -1
- package/src/engine/graphics3/register_instance_animation.js +0 -201
|
@@ -1,148 +1,163 @@
|
|
|
1
|
-
import { FrameGraph } from "../../../engine/graphics/render/frame_graph/FrameGraph.js";
|
|
2
|
-
import { TextureResourceDescriptor } from "../../device/graph/TextureResourceDescriptor.js";
|
|
3
|
-
import { ShadeGPUCommandContext } from "../../device/ShadeGPUCommandContext.js";
|
|
4
|
-
import { graph_compute_pass } from "../shader/graph/compute/graph_compute_pass.js";
|
|
5
|
-
import { graph_image_pass } from "../shader/graph/graph_image_pass.js";
|
|
6
|
-
import { debug_draw_texture } from "../texture/debug_draw_texture.js";
|
|
7
|
-
import { GPUTextureContext } from "../texture/GPUTextureContext.js";
|
|
8
|
-
import { shader_multiscatter_lut } from "./shader_multiscatter_lut.js";
|
|
9
|
-
import { shader_transmittance_lut } from "./shader_transmittance_lut.js";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
this.#
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this.#
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.#lut_transmittance.
|
|
77
|
-
this.#
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
1
|
+
import { FrameGraph } from "../../../engine/graphics/render/frame_graph/FrameGraph.js";
|
|
2
|
+
import { TextureResourceDescriptor } from "../../device/graph/TextureResourceDescriptor.js";
|
|
3
|
+
import { ShadeGPUCommandContext } from "../../device/ShadeGPUCommandContext.js";
|
|
4
|
+
import { graph_compute_pass } from "../shader/graph/compute/graph_compute_pass.js";
|
|
5
|
+
import { graph_image_pass } from "../shader/graph/graph_image_pass.js";
|
|
6
|
+
import { debug_draw_texture } from "../texture/debug_draw_texture.js";
|
|
7
|
+
import { GPUTextureContext } from "../texture/GPUTextureContext.js";
|
|
8
|
+
import { shader_multiscatter_lut } from "./shader_multiscatter_lut.js";
|
|
9
|
+
import { shader_transmittance_lut } from "./shader_transmittance_lut.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @typedef {import("../GraphicsContext.js").GraphicsContext} GraphicsContext
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export class GPUSky {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @type {GraphicsContext}
|
|
19
|
+
*/
|
|
20
|
+
#graphics;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @type {GPUTextureContext}
|
|
24
|
+
*/
|
|
25
|
+
#lut_transmittance;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @returns {GPUTextureContext}
|
|
30
|
+
*/
|
|
31
|
+
get lut_transmittance() {
|
|
32
|
+
return this.#lut_transmittance;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @type {GPUTextureContext}
|
|
37
|
+
*/
|
|
38
|
+
#lut_multiple_scattering;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @returns {GPUTextureContext}
|
|
43
|
+
*/
|
|
44
|
+
get lut_multiple_scattering() {
|
|
45
|
+
return this.#lut_multiple_scattering;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {boolean}
|
|
51
|
+
*/
|
|
52
|
+
#needs_update = true;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Whether the LUTs still hold nothing a reader could use: true until the first {@link update}.
|
|
56
|
+
* What reads {@link lut_transmittance} or {@link lut_multiple_scattering} has to see this false,
|
|
57
|
+
* as a texture nobody wrote reads as zero rather than failing.
|
|
58
|
+
*
|
|
59
|
+
* @returns {boolean}
|
|
60
|
+
*/
|
|
61
|
+
get needs_update() {
|
|
62
|
+
return this.#needs_update;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
*
|
|
67
|
+
* @param {GraphicsContext} graphics
|
|
68
|
+
*/
|
|
69
|
+
constructor(graphics) {
|
|
70
|
+
this.#graphics = graphics;
|
|
71
|
+
|
|
72
|
+
const device = graphics.device;
|
|
73
|
+
|
|
74
|
+
this.#lut_transmittance = new GPUTextureContext(device);
|
|
75
|
+
this.#lut_transmittance.descriptor.label = "Sky / Transmittance LUT";
|
|
76
|
+
this.#lut_transmittance.descriptor.format = "rgba16float";
|
|
77
|
+
this.#lut_transmittance.descriptor.usage = GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_SRC;
|
|
78
|
+
this.#lut_transmittance.resize(256, 64);
|
|
79
|
+
|
|
80
|
+
this.#lut_multiple_scattering = new GPUTextureContext(device);
|
|
81
|
+
this.#lut_multiple_scattering.descriptor.label = "Sky / Multiple Scattering LUT";
|
|
82
|
+
this.#lut_multiple_scattering.descriptor.format = "rgba16float";
|
|
83
|
+
// written by a compute shader, so STORAGE_BINDING rather than RENDER_ATTACHMENT
|
|
84
|
+
this.#lut_multiple_scattering.descriptor.usage = GPUTextureUsage.STORAGE_BINDING | GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_SRC;
|
|
85
|
+
this.#lut_multiple_scattering.resize(32, 32);
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
destroy() {
|
|
91
|
+
this.#lut_transmittance.destroy();
|
|
92
|
+
this.#lut_multiple_scattering.destroy();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
debug() {
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
let y = 50;
|
|
99
|
+
debug_draw_texture({ texture: this.#lut_transmittance, x: 50, y: y });
|
|
100
|
+
|
|
101
|
+
y += this.#lut_transmittance.size[1] + 50;
|
|
102
|
+
|
|
103
|
+
debug_draw_texture({ texture: this.#lut_multiple_scattering, x: 50, y: y });
|
|
104
|
+
|
|
105
|
+
y += this.#lut_multiple_scattering.size[1] + 50;
|
|
106
|
+
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
*/
|
|
112
|
+
update() {
|
|
113
|
+
if (!this.#needs_update) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const graph = new FrameGraph("sky update");
|
|
118
|
+
|
|
119
|
+
const command_ctx = ShadeGPUCommandContext.create(
|
|
120
|
+
this.#graphics,
|
|
121
|
+
"Renderer/main"
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
const gr_transmittance = graph.import_resource("transmittance", TextureResourceDescriptor.fromTexture(this.#lut_transmittance.gpu_texture), this.#lut_transmittance);
|
|
125
|
+
const gr_multiscatter = graph.import_resource("multiscatter", TextureResourceDescriptor.fromTexture(this.#lut_multiple_scattering.gpu_texture), this.#lut_multiple_scattering);
|
|
126
|
+
|
|
127
|
+
// the handle the write produced, not the one imported: binding the pre-write version below
|
|
128
|
+
// is a superseded read, which is exactly what `validate()` rejects
|
|
129
|
+
const [gr_transmittance_written] = graph_image_pass({
|
|
130
|
+
graph,
|
|
131
|
+
shader: shader_transmittance_lut,
|
|
132
|
+
inputs: {
|
|
133
|
+
settings: {
|
|
134
|
+
steps: 40,
|
|
135
|
+
// read off the texture rather than restated, so the two cannot disagree
|
|
136
|
+
resolution: [this.#lut_transmittance.width, this.#lut_transmittance.height],
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
output: [gr_transmittance]
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
graph_compute_pass({
|
|
144
|
+
graph,
|
|
145
|
+
shader: shader_multiscatter_lut,
|
|
146
|
+
// one workgroup per LUT texel, counted off the texture being written so the
|
|
147
|
+
// dispatch cannot cover a different area than the shader stores into
|
|
148
|
+
group_count: [this.#lut_multiple_scattering.width, this.#lut_multiple_scattering.height, 1],
|
|
149
|
+
bindings: {
|
|
150
|
+
tSkyLutTransmittance: gr_transmittance_written,
|
|
151
|
+
tSkyLutMultiscatterOut: gr_multiscatter
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
command_ctx.encodeGraph(graph);
|
|
156
|
+
|
|
157
|
+
command_ctx.finish();
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
this.#needs_update = false;
|
|
161
|
+
}
|
|
162
|
+
|
|
148
163
|
}
|
|
@@ -11,16 +11,6 @@ export class BoxGeometry extends MeshletGeometry {
|
|
|
11
11
|
*/
|
|
12
12
|
constructor(width?: number, height?: number, depth?: number);
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
*/
|
|
16
|
-
export class PlaneGeometry extends MeshletGeometry {
|
|
17
|
-
/**
|
|
18
|
-
* @param {number} [width]
|
|
19
|
-
* @param {number} [height]
|
|
20
|
-
* @param {number} [widthSegments]
|
|
21
|
-
* @param {number} [heightSegments]
|
|
22
|
-
*/
|
|
23
|
-
constructor(width?: number, height?: number, widthSegments?: number, heightSegments?: number);
|
|
24
|
-
}
|
|
14
|
+
export { PlaneGeometry } from "./PlaneGeometry.js";
|
|
25
15
|
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
26
16
|
//# sourceMappingURL=BoxGeometry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoxGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/geometry/BoxGeometry.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BoxGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/geometry/BoxGeometry.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH;IACI;;;;OAIG;IACH,oBAJW,MAAM,WACN,MAAM,UACN,MAAM,EAKhB;CACJ;;gCAlB+B,sBAAsB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { meshlet_geometry_build_from_geometry } from "./meshlet_geometry_build_from_geometry.js";
|
|
2
2
|
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
3
3
|
import { make_box_geometry } from "./primitives/make_box_geometry.js";
|
|
4
|
-
import { make_plane_geometry } from "./primitives/make_plane_geometry.js";
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Axis-aligned box, ready to render. Constructs a regular triangulated
|
|
@@ -20,17 +19,11 @@ export class BoxGeometry extends MeshletGeometry {
|
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export class PlaneGeometry extends MeshletGeometry {
|
|
22
|
+
export {
|
|
23
|
+
// The tag goes on the specifier, inside the braces: on the statement, TypeScript never sees it.
|
|
26
24
|
/**
|
|
27
|
-
* @
|
|
28
|
-
* @
|
|
29
|
-
* @param {number} [widthSegments]
|
|
30
|
-
* @param {number} [heightSegments]
|
|
25
|
+
* @deprecated `PlaneGeometry` moved to its own module, one class per file like every other
|
|
26
|
+
* primitive. Import {@link PlaneGeometry} from "./PlaneGeometry.js" instead.
|
|
31
27
|
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
meshlet_geometry_build_from_geometry(make_plane_geometry(width, height, widthSegments, heightSegments), this);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
28
|
+
PlaneGeometry
|
|
29
|
+
} from "./PlaneGeometry.js";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capsule along the Y axis, ready to render: the same shape a `CapsuleShape3D` of the same radius
|
|
3
|
+
* and height describes. Constructs a regular triangulated `Geometry` and immediately converts it to
|
|
4
|
+
* the meshlet representation the renderer consumes.
|
|
5
|
+
*
|
|
6
|
+
* @see make_capsule_geometry
|
|
7
|
+
*/
|
|
8
|
+
export class CapsuleGeometry extends MeshletGeometry {
|
|
9
|
+
/**
|
|
10
|
+
* @param {number} [radius]
|
|
11
|
+
* @param {number} [height] length of the straight section, not counting the caps
|
|
12
|
+
* @param {number} [capSegments] segments from each pole to the equator
|
|
13
|
+
* @param {number} [radialSegments] segments around the axis
|
|
14
|
+
* @param {number} [heightSegments] segments along the straight section
|
|
15
|
+
*/
|
|
16
|
+
constructor(radius?: number, height?: number, capSegments?: number, radialSegments?: number, heightSegments?: number);
|
|
17
|
+
}
|
|
18
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
19
|
+
//# sourceMappingURL=CapsuleGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CapsuleGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/geometry/CapsuleGeometry.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH;IACI;;;;;;OAMG;IACH,qBANW,MAAM,WACN,MAAM,gBACN,MAAM,mBACN,MAAM,mBACN,MAAM,EAKhB;CACJ;gCAtB+B,sBAAsB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { meshlet_geometry_build_from_geometry } from "./meshlet_geometry_build_from_geometry.js";
|
|
2
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
3
|
+
import { make_capsule_geometry } from "./primitives/make_capsule_geometry.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Capsule along the Y axis, ready to render: the same shape a `CapsuleShape3D` of the same radius
|
|
7
|
+
* and height describes. Constructs a regular triangulated `Geometry` and immediately converts it to
|
|
8
|
+
* the meshlet representation the renderer consumes.
|
|
9
|
+
*
|
|
10
|
+
* @see make_capsule_geometry
|
|
11
|
+
*/
|
|
12
|
+
export class CapsuleGeometry extends MeshletGeometry {
|
|
13
|
+
/**
|
|
14
|
+
* @param {number} [radius]
|
|
15
|
+
* @param {number} [height] length of the straight section, not counting the caps
|
|
16
|
+
* @param {number} [capSegments] segments from each pole to the equator
|
|
17
|
+
* @param {number} [radialSegments] segments around the axis
|
|
18
|
+
* @param {number} [heightSegments] segments along the straight section
|
|
19
|
+
*/
|
|
20
|
+
constructor(radius = 1, height = 1, capSegments = 4, radialSegments = 8, heightSegments = 1) {
|
|
21
|
+
super();
|
|
22
|
+
meshlet_geometry_build_from_geometry(make_capsule_geometry(radius, height, capSegments, radialSegments, heightSegments), this);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cone along the Y axis with its apex at the top, ready to render. Constructs a regular triangulated
|
|
3
|
+
* `Geometry` and immediately converts it to the meshlet representation the renderer consumes.
|
|
4
|
+
*
|
|
5
|
+
* @see make_cone_geometry
|
|
6
|
+
*/
|
|
7
|
+
export class ConeGeometry extends MeshletGeometry {
|
|
8
|
+
/**
|
|
9
|
+
* @param {number} [radius] radius of the base
|
|
10
|
+
* @param {number} [height]
|
|
11
|
+
* @param {number} [radialSegments] segments around the axis
|
|
12
|
+
* @param {number} [heightSegments] segments along the axis
|
|
13
|
+
* @param {boolean} [openEnded] leave the base off
|
|
14
|
+
* @param {number} [thetaStart]
|
|
15
|
+
* @param {number} [thetaLength] how much of the turn to build, in radians
|
|
16
|
+
*/
|
|
17
|
+
constructor(radius?: number, height?: number, radialSegments?: number, heightSegments?: number, openEnded?: boolean, thetaStart?: number, thetaLength?: number);
|
|
18
|
+
}
|
|
19
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
20
|
+
//# sourceMappingURL=ConeGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConeGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/geometry/ConeGeometry.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IACI;;;;;;;;OAQG;IACH,qBARW,MAAM,WACN,MAAM,mBACN,MAAM,mBACN,MAAM,cACN,OAAO,eACP,MAAM,gBACN,MAAM,EAahB;CACJ;gCA/B+B,sBAAsB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { meshlet_geometry_build_from_geometry } from "./meshlet_geometry_build_from_geometry.js";
|
|
2
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
3
|
+
import { make_cone_geometry } from "./primitives/make_cone_geometry.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Cone along the Y axis with its apex at the top, ready to render. Constructs a regular triangulated
|
|
7
|
+
* `Geometry` and immediately converts it to the meshlet representation the renderer consumes.
|
|
8
|
+
*
|
|
9
|
+
* @see make_cone_geometry
|
|
10
|
+
*/
|
|
11
|
+
export class ConeGeometry extends MeshletGeometry {
|
|
12
|
+
/**
|
|
13
|
+
* @param {number} [radius] radius of the base
|
|
14
|
+
* @param {number} [height]
|
|
15
|
+
* @param {number} [radialSegments] segments around the axis
|
|
16
|
+
* @param {number} [heightSegments] segments along the axis
|
|
17
|
+
* @param {boolean} [openEnded] leave the base off
|
|
18
|
+
* @param {number} [thetaStart]
|
|
19
|
+
* @param {number} [thetaLength] how much of the turn to build, in radians
|
|
20
|
+
*/
|
|
21
|
+
constructor(
|
|
22
|
+
radius = 1,
|
|
23
|
+
height = 1,
|
|
24
|
+
radialSegments = 8,
|
|
25
|
+
heightSegments = 1,
|
|
26
|
+
openEnded = false,
|
|
27
|
+
thetaStart = 0,
|
|
28
|
+
thetaLength = Math.PI * 2
|
|
29
|
+
) {
|
|
30
|
+
super();
|
|
31
|
+
meshlet_geometry_build_from_geometry(make_cone_geometry(radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength), this);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cylinder along the Y axis, ready to render. Constructs a regular triangulated `Geometry` and
|
|
3
|
+
* immediately converts it to the meshlet representation the renderer consumes.
|
|
4
|
+
*
|
|
5
|
+
* @see make_cylinder_geometry
|
|
6
|
+
*/
|
|
7
|
+
export class CylinderGeometry extends MeshletGeometry {
|
|
8
|
+
/**
|
|
9
|
+
* @param {number} [radiusTop]
|
|
10
|
+
* @param {number} [radiusBottom]
|
|
11
|
+
* @param {number} [height]
|
|
12
|
+
* @param {number} [radialSegments] segments around the axis
|
|
13
|
+
* @param {number} [heightSegments] segments along the axis
|
|
14
|
+
* @param {boolean} [openEnded] leave the caps off
|
|
15
|
+
* @param {number} [thetaStart]
|
|
16
|
+
* @param {number} [thetaLength] how much of the turn to build, in radians
|
|
17
|
+
*/
|
|
18
|
+
constructor(radiusTop?: number, radiusBottom?: number, height?: number, radialSegments?: number, heightSegments?: number, openEnded?: boolean, thetaStart?: number, thetaLength?: number);
|
|
19
|
+
}
|
|
20
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
21
|
+
//# sourceMappingURL=CylinderGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CylinderGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/geometry/CylinderGeometry.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IACI;;;;;;;;;OASG;IACH,wBATW,MAAM,iBACN,MAAM,WACN,MAAM,mBACN,MAAM,mBACN,MAAM,cACN,OAAO,eACP,MAAM,gBACN,MAAM,EAchB;CACJ;gCAjC+B,sBAAsB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { meshlet_geometry_build_from_geometry } from "./meshlet_geometry_build_from_geometry.js";
|
|
2
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
3
|
+
import { make_cylinder_geometry } from "./primitives/make_cylinder_geometry.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Cylinder along the Y axis, ready to render. Constructs a regular triangulated `Geometry` and
|
|
7
|
+
* immediately converts it to the meshlet representation the renderer consumes.
|
|
8
|
+
*
|
|
9
|
+
* @see make_cylinder_geometry
|
|
10
|
+
*/
|
|
11
|
+
export class CylinderGeometry extends MeshletGeometry {
|
|
12
|
+
/**
|
|
13
|
+
* @param {number} [radiusTop]
|
|
14
|
+
* @param {number} [radiusBottom]
|
|
15
|
+
* @param {number} [height]
|
|
16
|
+
* @param {number} [radialSegments] segments around the axis
|
|
17
|
+
* @param {number} [heightSegments] segments along the axis
|
|
18
|
+
* @param {boolean} [openEnded] leave the caps off
|
|
19
|
+
* @param {number} [thetaStart]
|
|
20
|
+
* @param {number} [thetaLength] how much of the turn to build, in radians
|
|
21
|
+
*/
|
|
22
|
+
constructor(
|
|
23
|
+
radiusTop = 1,
|
|
24
|
+
radiusBottom = 1,
|
|
25
|
+
height = 1,
|
|
26
|
+
radialSegments = 8,
|
|
27
|
+
heightSegments = 1,
|
|
28
|
+
openEnded = false,
|
|
29
|
+
thetaStart = 0,
|
|
30
|
+
thetaLength = Math.PI * 2
|
|
31
|
+
) {
|
|
32
|
+
super();
|
|
33
|
+
meshlet_geometry_build_from_geometry(make_cylinder_geometry(radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength), this);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plane in the XY plane facing +Z, ready to render. Constructs a regular triangulated `Geometry`
|
|
3
|
+
* and immediately converts it to the meshlet representation the renderer consumes.
|
|
4
|
+
*
|
|
5
|
+
* @see make_plane_geometry
|
|
6
|
+
*/
|
|
7
|
+
export class PlaneGeometry extends MeshletGeometry {
|
|
8
|
+
/**
|
|
9
|
+
* @param {number} [width]
|
|
10
|
+
* @param {number} [height]
|
|
11
|
+
* @param {number} [widthSegments]
|
|
12
|
+
* @param {number} [heightSegments]
|
|
13
|
+
*/
|
|
14
|
+
constructor(width?: number, height?: number, widthSegments?: number, heightSegments?: number);
|
|
15
|
+
}
|
|
16
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
17
|
+
//# sourceMappingURL=PlaneGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaneGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/geometry/PlaneGeometry.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IACI;;;;;OAKG;IACH,oBALW,MAAM,WACN,MAAM,kBACN,MAAM,mBACN,MAAM,EAKhB;CACJ;gCApB+B,sBAAsB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { meshlet_geometry_build_from_geometry } from "./meshlet_geometry_build_from_geometry.js";
|
|
2
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
3
|
+
import { make_plane_geometry } from "./primitives/make_plane_geometry.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Plane in the XY plane facing +Z, ready to render. Constructs a regular triangulated `Geometry`
|
|
7
|
+
* and immediately converts it to the meshlet representation the renderer consumes.
|
|
8
|
+
*
|
|
9
|
+
* @see make_plane_geometry
|
|
10
|
+
*/
|
|
11
|
+
export class PlaneGeometry extends MeshletGeometry {
|
|
12
|
+
/**
|
|
13
|
+
* @param {number} [width]
|
|
14
|
+
* @param {number} [height]
|
|
15
|
+
* @param {number} [widthSegments]
|
|
16
|
+
* @param {number} [heightSegments]
|
|
17
|
+
*/
|
|
18
|
+
constructor(width = 1, height = 1, widthSegments = 1, heightSegments = 1) {
|
|
19
|
+
super();
|
|
20
|
+
meshlet_geometry_build_from_geometry(make_plane_geometry(width, height, widthSegments, heightSegments), this);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Torus in the XY plane with its hole along Z, ready to render. Constructs a regular triangulated
|
|
3
|
+
* `Geometry` and immediately converts it to the meshlet representation the renderer consumes.
|
|
4
|
+
*
|
|
5
|
+
* @see make_torus_geometry
|
|
6
|
+
*/
|
|
7
|
+
export class TorusGeometry extends MeshletGeometry {
|
|
8
|
+
/**
|
|
9
|
+
* @param {number} [radius] distance from the centre of the hole to the centre of the tube
|
|
10
|
+
* @param {number} [tube] radius of the tube itself
|
|
11
|
+
* @param {number} [radialSegments] segments around the tube
|
|
12
|
+
* @param {number} [tubularSegments] segments around the ring
|
|
13
|
+
* @param {number} [arc] how much of the ring to build, in radians
|
|
14
|
+
*/
|
|
15
|
+
constructor(radius?: number, tube?: number, radialSegments?: number, tubularSegments?: number, arc?: number);
|
|
16
|
+
}
|
|
17
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
18
|
+
//# sourceMappingURL=TorusGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TorusGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/geometry/TorusGeometry.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IACI;;;;;;OAMG;IACH,qBANW,MAAM,SACN,MAAM,mBACN,MAAM,oBACN,MAAM,QACN,MAAM,EAKhB;CACJ;gCArB+B,sBAAsB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { meshlet_geometry_build_from_geometry } from "./meshlet_geometry_build_from_geometry.js";
|
|
2
|
+
import { MeshletGeometry } from "./MeshletGeometry.js";
|
|
3
|
+
import { make_torus_geometry } from "./primitives/make_torus_geometry.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Torus in the XY plane with its hole along Z, ready to render. Constructs a regular triangulated
|
|
7
|
+
* `Geometry` and immediately converts it to the meshlet representation the renderer consumes.
|
|
8
|
+
*
|
|
9
|
+
* @see make_torus_geometry
|
|
10
|
+
*/
|
|
11
|
+
export class TorusGeometry extends MeshletGeometry {
|
|
12
|
+
/**
|
|
13
|
+
* @param {number} [radius] distance from the centre of the hole to the centre of the tube
|
|
14
|
+
* @param {number} [tube] radius of the tube itself
|
|
15
|
+
* @param {number} [radialSegments] segments around the tube
|
|
16
|
+
* @param {number} [tubularSegments] segments around the ring
|
|
17
|
+
* @param {number} [arc] how much of the ring to build, in radians
|
|
18
|
+
*/
|
|
19
|
+
constructor(radius = 1, tube = 0.4, radialSegments = 8, tubularSegments = 6, arc = Math.PI * 2) {
|
|
20
|
+
super();
|
|
21
|
+
meshlet_geometry_build_from_geometry(make_torus_geometry(radius, tube, radialSegments, tubularSegments, arc), this);
|
|
22
|
+
}
|
|
23
|
+
}
|