@woosh/meep-engine 3.57.0 → 3.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bundle-worker-terrain.js +1 -1
- package/editor/ecs/component/editors/ColorEditor.js +2 -2
- package/editor/particles/effect/ParticleEffectDocument.d.ts +162 -43
- package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
- package/editor/particles/effect/ParticleEffectDocument.js +452 -48
- package/editor/particles/effect/ParticleReferenceSimulation.d.ts +12 -3
- package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -1
- package/editor/particles/effect/ParticleReferenceSimulation.js +78 -23
- package/editor/particles/effect/make_starter_particle_effect.js +17 -17
- package/editor/tools/GridPaintTool.js +2 -2
- package/editor/view/node-graph/NodeGraphEditorView.d.ts +1 -1
- package/editor/view/node-graph/NodeGraphEditorView.d.ts.map +1 -1
- package/editor/view/node-graph/NodeGraphEditorView.js +2 -2
- package/editor/view/node-graph/NodeGraphView.d.ts +0 -1
- package/editor/view/node-graph/NodeGraphView.d.ts.map +1 -1
- package/editor/view/node-graph/NodeGraphView.js +0 -2
- package/editor/view/particles/effect/ParticleEmitterInspectorView.d.ts +3 -3
- package/editor/view/particles/effect/ParticleEmitterInspectorView.d.ts.map +1 -1
- package/editor/view/particles/effect/ParticleEmitterInspectorView.js +224 -67
- package/editor/view/particles/effect/ParticleGraphEditorView.d.ts.map +1 -1
- package/editor/view/particles/effect/ParticleGraphEditorView.js +44 -11
- package/editor/view/particles/effect/ParticleNodeParametersView.d.ts +2 -1
- package/editor/view/particles/effect/ParticleNodeParametersView.d.ts.map +1 -1
- package/editor/view/particles/effect/ParticleNodeParametersView.js +46 -16
- package/editor/view/particles/effect/ParticlePreviewView.js +2 -2
- package/editor/view/particles/effect/particle-editor.css +77 -68
- package/package.json +1 -1
- package/src/core/bvh8/build/NodeProxy.js +2 -2
- package/src/core/bvh8/build/aabb3_compute_merge_cost.js +4 -4
- package/src/core/bvh8/build/bvh8_build_for_geometry.js +2 -2
- package/src/core/geom/2d/line/line2_segment_intersection_fraction_2d.d.ts +1 -1
- package/src/core/geom/2d/line/line2_segment_intersection_fraction_2d.js +1 -1
- package/src/core/geom/2d/triangle/tri2_intersects_aabb2.d.ts +17 -0
- package/src/core/geom/2d/triangle/tri2_intersects_aabb2.d.ts.map +1 -0
- package/src/core/geom/2d/triangle/tri2_intersects_aabb2.js +64 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_barycentric.d.ts +23 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_barycentric.d.ts.map +1 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_barycentric.js +81 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.js +36 -99
- package/src/core/geom/3d/aabb/aabb3_build_frustum.d.ts +0 -11
- package/src/core/geom/3d/aabb/aabb3_build_frustum.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_build_frustum.js +15 -20
- package/src/core/geom/3d/box/box3_raycast.d.ts +1 -1
- package/src/core/geom/3d/box/box3_raycast.js +1 -1
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_to_aabb3_t.d.ts +1 -1
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_to_aabb3_t.js +1 -1
- package/src/core/geom/3d/quaternion/quat3_to_matrix3.d.ts +3 -3
- package/src/core/geom/3d/quaternion/quat3_to_matrix3.js +3 -3
- package/src/core/geom/3d/shape/HeightMapShape3D.js +2 -2
- package/src/core/geom/3d/shape/MeshShape3D.d.ts +2 -2
- package/src/core/geom/3d/shape/MeshShape3D.js +2 -2
- package/src/core/geom/3d/shape/PosedShape3D.js +2 -2
- package/src/core/geom/3d/sphere/sphere_matrix4_transform.d.ts +0 -7
- package/src/core/geom/3d/sphere/sphere_matrix4_transform.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_matrix4_transform.js +0 -4
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_quality.d.ts +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_quality.js +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_quality.d.ts +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_quality.js +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_face_decouple.d.ts +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_face_decouple.js +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_fuse_duplicate_edges.d.ts +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_fuse_duplicate_edges.js +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_kill_short_edges.d.ts +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/edge/bt_mesh_kill_short_edges.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.d.ts +0 -14
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.js +0 -5
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_replace.js +151 -151
- package/src/core/geom/3d/topology/struct/binary/query/bt_edge_collapse_fold_limit.js +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_vertex_adjacent_faces.d.ts +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_vertex_adjacent_faces.js +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_face_bvh.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_face_bvh.js +1 -2
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_surface_ray_parity.d.ts +0 -8
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_surface_ray_parity.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_surface_ray_parity.js +25 -36
- package/src/core/geom/clipmap/ClipmapCascadePlacement.d.ts +137 -0
- package/src/core/geom/clipmap/ClipmapCascadePlacement.d.ts.map +1 -0
- package/src/core/geom/clipmap/ClipmapCascadePlacement.js +350 -0
- package/src/core/geom/polyline/polyline_simplify_by_error.d.ts +16 -0
- package/src/core/geom/polyline/polyline_simplify_by_error.d.ts.map +1 -0
- package/src/core/geom/polyline/polyline_simplify_by_error.js +52 -0
- package/src/core/geom/vec3/v3_quaternion_apply.d.ts +1 -1
- package/src/core/geom/vec3/v3_quaternion_apply.js +1 -1
- package/src/core/geom/vec3/v3_quaternion_apply_inverse.d.ts +2 -2
- package/src/core/geom/vec3/v3_quaternion_apply_inverse.js +2 -2
- package/src/core/geom/vec3/v3_triple_cross.d.ts +1 -1
- package/src/core/geom/vec3/v3_triple_cross.js +1 -1
- package/src/engine/Engine.d.ts.map +1 -1
- package/src/engine/Engine.js +2 -2
- package/src/engine/asset/preloader/AssetPreloader.d.ts +0 -5
- package/src/engine/asset/preloader/AssetPreloader.d.ts.map +1 -1
- package/src/engine/asset/preloader/AssetPreloader.js +0 -6
- package/src/engine/ecs/EntityManager.d.ts +29 -5
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +37 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +4 -0
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +25 -12
- package/src/engine/graphics/ecs/decal/v2/Decal.d.ts +2 -2
- package/src/engine/graphics/ecs/decal/v2/Decal.js +2 -2
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +420 -418
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometryFlags.d.ts +1 -0
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometryFlags.js +10 -0
- package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts +74 -17
- package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts.map +1 -1
- package/src/engine/graphics/ecs/particles/ParticleEffect.js +159 -28
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.d.ts +13 -3
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.js +59 -13
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_1_2.d.ts +3 -3
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_1_2.js +9 -9
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_2_3.d.ts +15 -0
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_2_3.d.ts.map +1 -0
- package/src/engine/graphics/ecs/particles/ParticleEffectSerializationUpgrader_2_3.js +78 -0
- package/src/engine/graphics/ecs/path/tube/build/makeTubeStream.js +2 -2
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +2 -0
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3D.js +2 -0
- package/src/engine/graphics/ecs/trail3d/seed_trail_stroke.js +1 -1
- package/src/engine/graphics/ecs/trail3d/seed_trail_tube.js +1 -1
- package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts +12 -0
- package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/build_height_field_geometry.js +29 -2
- package/src/engine/graphics/texture/sprite/prototypeSpriteCutoutGeometry.js +1 -1
- package/src/engine/graphics/trail/tube/TubeX.d.ts +5 -3
- package/src/engine/graphics/trail/tube/TubeX.d.ts.map +1 -1
- package/src/engine/graphics/trail/tube/TubeX.js +5 -3
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts +3 -2
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts.map +1 -1
- package/src/engine/graphics/trail/tube/tube_attributes_spec.js +9 -8
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +65 -4
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +1351 -904
- package/src/engine/graphics3/ShadedGeometrySystem.d.ts +2 -1
- package/src/engine/graphics3/ShadedGeometrySystem.d.ts.map +1 -1
- package/src/engine/graphics3/ShadedGeometrySystem.js +7 -5
- package/src/engine/graphics3/Trail3DSystem.d.ts +1 -1
- package/src/engine/graphics3/Trail3DSystem.js +1 -1
- package/src/engine/graphics3/WaterSystem.d.ts +60 -0
- package/src/engine/graphics3/WaterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/WaterSystem.js +733 -300
- package/src/engine/graphics3/make_default_environment.d.ts.map +1 -1
- package/src/engine/graphics3/make_default_environment.js +2 -4
- package/src/engine/graphics3/prefab/prefab_place.js +1 -1
- package/src/engine/graphics3/trail/trail_tube_write_geometry.d.ts +1 -1
- package/src/engine/graphics3/trail/trail_tube_write_geometry.js +13 -13
- package/src/engine/navigation/mesh/build/clip_soup_against_overhangs.js +628 -628
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/inertia/world_inverse_inertia.js +1 -1
- package/src/engine/physics/narrowphase/narrowphase_step.js +1 -1
- package/src/engine/sound/simulation/render/reverbImpulseResponse.d.ts +0 -1
- package/src/engine/sound/simulation/render/reverbImpulseResponse.d.ts.map +1 -1
- package/src/engine/sound/simulation/render/reverbImpulseResponse.js +0 -6
- package/src/engine/sound/simulation/render/reverb_band_tails.d.ts +1 -1
- package/src/engine/sound/simulation/render/reverb_band_tails.js +1 -1
- package/src/engine/sound/sopra/runtime/EventInstance.js +1 -1
- package/src/generation/foliage/CROWN_FULLNESS_BRIEF_2026_10_26.md +86 -0
- package/src/generation/foliage/FOLIAGE_DESIGN.md +110 -32
- package/src/generation/foliage/LOD_REWORK_BRIEF_2026_10_27.md +521 -0
- package/src/generation/foliage/REAL_TIME_TREES_BRIEF_2026_10_27.md +86 -0
- package/src/generation/foliage/SELF_ORGANIZING_FRAMEWORK_BRIEF_2026_10_26.md +347 -0
- package/src/generation/foliage/TWO_FRONT_ENDS_BRIEF_2026_10_28.md +552 -0
- package/src/generation/foliage/analysis/crown_opacity_measure.d.ts.map +1 -1
- package/src/generation/foliage/analysis/crown_opacity_measure.js +80 -102
- package/src/generation/foliage/analysis/foliage_measure_leaf_area.d.ts.map +1 -1
- package/src/generation/foliage/analysis/foliage_measure_leaf_area.js +1 -7
- package/src/generation/foliage/analysis/tree_crown_opacity.d.ts.map +1 -1
- package/src/generation/foliage/analysis/tree_crown_opacity.js +3 -2
- package/src/generation/foliage/analysis/tree_leaf_area_targets.d.ts +66 -0
- package/src/generation/foliage/analysis/tree_leaf_area_targets.d.ts.map +1 -0
- package/src/generation/foliage/analysis/tree_leaf_area_targets.js +95 -0
- package/src/generation/foliage/analysis/tree_render_cost.d.ts +90 -0
- package/src/generation/foliage/analysis/tree_render_cost.d.ts.map +1 -0
- package/src/generation/foliage/analysis/tree_render_cost.js +158 -0
- package/src/generation/foliage/asset/TreeAsset.d.ts +24 -6
- package/src/generation/foliage/asset/TreeAsset.d.ts.map +1 -1
- package/src/generation/foliage/asset/TreeAsset.js +29 -6
- package/src/generation/foliage/asset/TreeLODAsset.d.ts +24 -11
- package/src/generation/foliage/asset/TreeLODAsset.d.ts.map +1 -1
- package/src/generation/foliage/asset/TreeLODAsset.js +49 -20
- package/src/generation/foliage/asset/TreeSpeciesCache.d.ts +69 -0
- package/src/generation/foliage/asset/TreeSpeciesCache.d.ts.map +1 -0
- package/src/generation/foliage/asset/TreeSpeciesCache.js +147 -0
- package/src/generation/foliage/asset/generate_tree.d.ts +21 -0
- package/src/generation/foliage/asset/generate_tree.d.ts.map +1 -1
- package/src/generation/foliage/asset/generate_tree.js +123 -21
- package/src/generation/foliage/asset/place_tree.d.ts +2 -1
- package/src/generation/foliage/asset/place_tree.d.ts.map +1 -1
- package/src/generation/foliage/asset/place_tree.js +2 -1
- package/src/generation/foliage/asset/tree_lod_plan.d.ts +73 -0
- package/src/generation/foliage/asset/tree_lod_plan.d.ts.map +1 -0
- package/src/generation/foliage/asset/tree_lod_plan.js +117 -0
- package/src/generation/foliage/asset/tree_shoot_instances.d.ts +119 -0
- package/src/generation/foliage/asset/tree_shoot_instances.d.ts.map +1 -0
- package/src/generation/foliage/asset/tree_shoot_instances.js +410 -0
- package/src/generation/foliage/asset/tree_shoot_prototypes.d.ts +155 -0
- package/src/generation/foliage/asset/tree_shoot_prototypes.d.ts.map +1 -0
- package/src/generation/foliage/asset/tree_shoot_prototypes.js +251 -0
- package/src/generation/foliage/config/BranchGeneratorConfig.d.ts +0 -10
- package/src/generation/foliage/config/BranchGeneratorConfig.d.ts.map +1 -1
- package/src/generation/foliage/config/BranchGeneratorConfig.js +1 -23
- package/src/generation/foliage/config/ShootGrowthConfig.d.ts +45 -10
- package/src/generation/foliage/config/ShootGrowthConfig.d.ts.map +1 -1
- package/src/generation/foliage/config/ShootGrowthConfig.js +70 -16
- package/src/generation/foliage/config/ShootSystemRule.d.ts +12 -12
- package/src/generation/foliage/config/ShootSystemRule.d.ts.map +1 -1
- package/src/generation/foliage/config/ShootSystemRule.js +24 -20
- package/src/generation/foliage/config/TreeGrowth.d.ts +10 -0
- package/src/generation/foliage/config/TreeGrowth.d.ts.map +1 -0
- package/src/generation/foliage/config/TreeGrowth.js +18 -0
- package/src/generation/foliage/config/TreeLODConfig.d.ts +20 -37
- package/src/generation/foliage/config/TreeLODConfig.d.ts.map +1 -1
- package/src/generation/foliage/config/TreeLODConfig.js +30 -116
- package/src/generation/foliage/config/TreeSpeciesConfig.d.ts +2 -1
- package/src/generation/foliage/config/TreeSpeciesConfig.d.ts.map +1 -1
- package/src/generation/foliage/config/TreeSpeciesConfig.js +2 -7
- package/src/generation/foliage/index.d.ts +3 -0
- package/src/generation/foliage/index.js +3 -0
- package/src/generation/foliage/material/foliage_atlas_cutout.d.ts +6 -4
- package/src/generation/foliage/material/foliage_atlas_cutout.d.ts.map +1 -1
- package/src/generation/foliage/material/foliage_atlas_cutout.js +32 -27
- package/src/generation/foliage/material/foliage_material_from_samplers.d.ts +13 -0
- package/src/generation/foliage/material/foliage_material_from_samplers.d.ts.map +1 -0
- package/src/generation/foliage/material/foliage_material_from_samplers.js +69 -0
- package/src/generation/foliage/material/foliage_tile.d.ts +19 -0
- package/src/generation/foliage/material/foliage_tile.d.ts.map +1 -1
- package/src/generation/foliage/material/foliage_tile.js +9 -1
- package/src/generation/foliage/material/leaf_geometry.d.ts +7 -0
- package/src/generation/foliage/material/leaf_geometry.d.ts.map +1 -1
- package/src/generation/foliage/material/leaf_geometry.js +21 -9
- package/src/generation/foliage/material/make_foliage_material.d.ts +2 -3
- package/src/generation/foliage/material/make_foliage_material.d.ts.map +1 -1
- package/src/generation/foliage/material/make_foliage_material.js +3 -57
- package/src/generation/foliage/material/tree_cluster_atlas.d.ts +44 -0
- package/src/generation/foliage/material/tree_cluster_atlas.d.ts.map +1 -0
- package/src/generation/foliage/material/tree_cluster_atlas.js +37 -0
- package/src/generation/foliage/material/tree_cluster_atlas_pack.d.ts +14 -0
- package/src/generation/foliage/material/tree_cluster_atlas_pack.d.ts.map +1 -0
- package/src/generation/foliage/material/tree_cluster_atlas_pack.js +28 -0
- package/src/generation/foliage/material/tree_cluster_bake.d.ts +74 -0
- package/src/generation/foliage/material/tree_cluster_bake.d.ts.map +1 -0
- package/src/generation/foliage/material/tree_cluster_bake.js +415 -0
- package/src/generation/foliage/material/tree_cluster_press.d.ts +18 -0
- package/src/generation/foliage/material/tree_cluster_press.d.ts.map +1 -0
- package/src/generation/foliage/material/tree_cluster_press.js +83 -0
- package/src/generation/foliage/material/tree_cluster_tiles.d.ts +46 -0
- package/src/generation/foliage/material/tree_cluster_tiles.d.ts.map +1 -0
- package/src/generation/foliage/material/tree_cluster_tiles.js +75 -0
- package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts +22 -4
- package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts.map +1 -1
- package/src/generation/foliage/mesh/foliage_collect_attachments.js +28 -16
- package/src/generation/foliage/mesh/foliage_scale_spread.d.ts +14 -0
- package/src/generation/foliage/mesh/foliage_scale_spread.d.ts.map +1 -0
- package/src/generation/foliage/mesh/foliage_scale_spread.js +15 -0
- package/src/generation/foliage/mesh/tree_cluster_cards.d.ts +61 -0
- package/src/generation/foliage/mesh/tree_cluster_cards.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_cluster_cards.js +114 -0
- package/src/generation/foliage/mesh/tree_cluster_representatives.d.ts +122 -0
- package/src/generation/foliage/mesh/tree_cluster_representatives.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_cluster_representatives.js +354 -0
- package/src/generation/foliage/mesh/tree_clusters.d.ts +92 -0
- package/src/generation/foliage/mesh/tree_clusters.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_clusters.js +187 -0
- package/src/generation/foliage/mesh/tree_mesh_build_bark.d.ts.map +1 -1
- package/src/generation/foliage/mesh/tree_mesh_build_bark.js +609 -226
- package/src/generation/foliage/mesh/tree_mesh_build_clusters.d.ts +25 -0
- package/src/generation/foliage/mesh/tree_mesh_build_clusters.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_mesh_build_clusters.js +144 -0
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts +7 -10
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts.map +1 -1
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.js +13 -39
- package/src/generation/foliage/presets/make_tree_species_preset.d.ts +6 -1
- package/src/generation/foliage/presets/make_tree_species_preset.d.ts.map +1 -1
- package/src/generation/foliage/presets/make_tree_species_preset.js +235 -209
- package/src/generation/foliage/skeleton/ShootFrameworkHash.d.ts +5 -2
- package/src/generation/foliage/skeleton/ShootFrameworkHash.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/ShootFrameworkHash.js +13 -8
- package/src/generation/foliage/skeleton/ShootGirth.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/ShootGirth.js +6 -5
- package/src/generation/foliage/skeleton/ShootLightField.d.ts +9 -0
- package/src/generation/foliage/skeleton/ShootLightField.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/ShootLightField.js +25 -0
- package/src/generation/foliage/skeleton/ShootWoodHash.d.ts +89 -0
- package/src/generation/foliage/skeleton/ShootWoodHash.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/ShootWoodHash.js +195 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.d.ts +25 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/TreeSkeleton.js +50 -0
- package/src/generation/foliage/skeleton/shoot_demography.d.ts +17 -4
- package/src/generation/foliage/skeleton/shoot_demography.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/shoot_demography.js +22 -6
- package/src/generation/foliage/skeleton/shoot_geometry.d.ts +5 -6
- package/src/generation/foliage/skeleton/shoot_geometry.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/shoot_geometry.js +29 -12
- package/src/generation/foliage/skeleton/shoot_systems_simulate.d.ts +43 -4
- package/src/generation/foliage/skeleton/shoot_systems_simulate.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/shoot_systems_simulate.js +537 -70
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts +30 -5
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.js +46 -10
- package/src/generation/foliage/skeleton/tree_skeleton_bind_skin_joints.d.ts +10 -0
- package/src/generation/foliage/skeleton/tree_skeleton_bind_skin_joints.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_bind_skin_joints.js +12 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_joint_mechanics.d.ts +5 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_joint_mechanics.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/tree_skeleton_compute_joint_mechanics.js +8 -1
- package/src/generation/foliage/skeleton/tree_skeleton_copy_branches.d.ts +70 -0
- package/src/generation/foliage/skeleton/tree_skeleton_copy_branches.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_copy_branches.js +171 -0
- package/src/generation/foliage/skeleton/tree_skeleton_extend_branch.d.ts +17 -0
- package/src/generation/foliage/skeleton/tree_skeleton_extend_branch.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_extend_branch.js +79 -0
- package/src/generation/foliage/skeleton/tree_skeleton_fit_crown_frame.d.ts +12 -0
- package/src/generation/foliage/skeleton/tree_skeleton_fit_crown_frame.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_fit_crown_frame.js +56 -0
- package/src/generation/foliage/skeleton/tree_skeleton_floor_girth.d.ts +11 -0
- package/src/generation/foliage/skeleton/tree_skeleton_floor_girth.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_floor_girth.js +38 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts +4 -11
- package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/tree_skeleton_grow.js +8 -2033
- package/src/generation/foliage/skeleton/tree_skeleton_grow_framework.d.ts +22 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow_framework.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow_framework.js +2050 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow_shoots.d.ts +14 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow_shoots.d.ts.map +1 -1
- package/src/generation/foliage/skeleton/tree_skeleton_grow_shoots.js +74 -7
- package/src/shade/descriptor/binding/BindGroupLayoutEntry.js +6 -6
- package/src/shade/descriptor/pipeline/render/ColorTargetState.js +2 -2
- package/src/shade/descriptor/pipeline/render/DepthStencilState.d.ts +4 -0
- package/src/shade/descriptor/pipeline/render/DepthStencilState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/DepthStencilState.js +170 -144
- package/src/shade/descriptor/pipeline/render/MultisampleState.d.ts +4 -0
- package/src/shade/descriptor/pipeline/render/MultisampleState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/MultisampleState.js +78 -65
- package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.js +176 -172
- package/src/shade/descriptor/pipeline/render/StencilFaceState.d.ts +4 -0
- package/src/shade/descriptor/pipeline/render/StencilFaceState.d.ts.map +1 -1
- package/src/shade/descriptor/pipeline/render/StencilFaceState.js +107 -88
- package/src/shade/playground/additive_blending/main.js +529 -529
- package/src/shade/playground/avboit/main.js +1 -1
- package/src/shade/playground/basis_textures/main.js +365 -365
- package/src/shade/playground/caldera/main.js +1 -1
- package/src/shade/playground/contact_shadows/main.js +1 -1
- package/src/shade/playground/foliage_wind/main.js +289 -289
- package/src/shade/playground/mesh_row_ceiling/main.js +1 -1
- package/src/shade/playground/particle_ecs/README.md +9 -8
- package/src/shade/playground/particle_ecs/bonfire_editor.js +3 -3
- package/src/shade/playground/particle_ecs/bonfire_effects.d.ts +6 -6
- package/src/shade/playground/particle_ecs/bonfire_effects.js +6 -6
- package/src/shade/playground/particle_ecs/main.js +1 -1
- package/src/shade/playground/particle_editor/README.md +14 -11
- package/src/shade/playground/particle_system/main.js +1 -1
- package/src/shade/playground/particle_system/particle_prototype.js +18 -18
- package/src/shade/playground/particle_system/particle_scene.js +13 -13
- package/src/shade/playground/probe_clipmap/README.md +42 -0
- package/src/shade/playground/probe_clipmap/index.html +178 -0
- package/src/shade/playground/probe_clipmap/main.d.ts +8 -0
- package/src/shade/playground/probe_clipmap/main.d.ts.map +1 -0
- package/src/shade/playground/probe_clipmap/main.js +360 -0
- package/src/shade/playground/sh_exponential/main.js +1 -1
- package/src/shade/playground/skinned_blas_refit/main.js +1 -1
- package/src/shade/playground/skinned_mesh_soup/main.js +1 -1
- package/src/shade/playground/sponza_path_trace/main.js +1 -1
- package/src/shade/playground/ssr_motion/main.js +1 -1
- package/src/shade/playground/ssr_reprojection/main.js +1 -1
- package/src/shade/playground/tonemap_sdr/main.js +1 -1
- package/src/shade/playground/vgeo_runtime/main.js +1 -1
- package/src/shade/playground/vgeo_scene/main.js +1 -1
- package/src/shade/playground/volumetrics_froxel/main.js +1 -1
- package/src/shade/playground/vsm/index.html +4 -1
- package/src/shade/playground/vsm/main.d.ts.map +1 -1
- package/src/shade/playground/vsm/main.js +8 -5
- package/src/shade/playground/water_refraction/main.js +1 -1
- package/src/shade/playground/water_surface/main.js +1 -1
- package/src/shade/renderer/Renderer.d.ts +16 -1
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +225 -40
- package/src/shade/renderer/ShadeIndirectLightingMode.d.ts +1 -0
- package/src/shade/renderer/ShadeIndirectLightingMode.js +6 -0
- package/src/shade/renderer/camera/orbital/README.md +3 -6
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_restir.d.ts +1 -1
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_restir.js +1 -1
- package/src/shade/renderer/extension/ViewTextures.d.ts +2 -1
- package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
- package/src/shade/renderer/extension/ViewTextures.js +2 -1
- package/src/shade/renderer/fluid/FluidCascadePlacement.d.ts +8 -105
- package/src/shade/renderer/fluid/FluidCascadePlacement.d.ts.map +1 -1
- package/src/shade/renderer/fluid/FluidCascadePlacement.js +13 -306
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts +3 -3
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts +1 -1
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +6 -6
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_command.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_command.js +8 -14
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts +1 -1
- package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts +1 -1
- package/src/shade/renderer/geometry/BoxGeometry.d.ts +0 -1
- package/src/shade/renderer/geometry/BoxGeometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/BoxGeometry.js +0 -9
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts +4 -2
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.js +13 -2
- package/src/shade/renderer/geometry/Geometry.js +2 -2
- package/src/shade/renderer/geometry/blas_from_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/geometry/blas_from_meshlets.js +12 -2
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +18 -0
- package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.js +5 -0
- package/src/shade/renderer/geometry/mesh_compute_surface_area.js +4 -4
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +5 -0
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.js +15 -0
- package/src/shade/renderer/geometry/meshlet_batch_to_bvh.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet_batch_to_bvh.js +35 -26
- package/src/shade/renderer/geometry/meshlet_geometry_build_from_geometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet_geometry_build_from_geometry.js +2 -1
- package/src/shade/renderer/geometry/normals/decode_octahedral_u32_to_normal.d.ts +13 -0
- package/src/shade/renderer/geometry/normals/decode_octahedral_u32_to_normal.d.ts.map +1 -0
- package/src/shade/renderer/geometry/normals/decode_octahedral_u32_to_normal.js +33 -0
- package/src/shade/renderer/geometry/normals/geometry_build_tangents.js +7 -7
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts +189 -45
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.js +1853 -144
- package/src/shade/renderer/geometry/sdf/MESH_SDF.d.ts +60 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF.js +62 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF_RESOURCES.d.ts +29 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF_RESOURCES.js +41 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.d.ts +12 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.js +53 -0
- package/src/shade/renderer/geometry/sdf/MeshSDFLayout.d.ts +79 -0
- package/src/shade/renderer/geometry/sdf/MeshSDFLayout.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/MeshSDFLayout.js +168 -0
- package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.d.ts +75 -0
- package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.js +110 -0
- package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.d.ts +48 -0
- package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.js +146 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.d.ts +31 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.js +136 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.d.ts +29 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.js +146 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.d.ts +19 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.js +77 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.d.ts +18 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.js +84 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.d.ts +19 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.js +72 -0
- package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts +171 -0
- package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.js +884 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.d.ts +82 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.js +127 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.d.ts +24 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.js +29 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.d.ts +12 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.js +31 -0
- package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.d.ts +29 -0
- package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.js +179 -0
- package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.d.ts +17 -0
- package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.js +107 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.d.ts +36 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.js +237 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.d.ts +19 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.js +61 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.d.ts +18 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.js +102 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.d.ts +15 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.js +65 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.d.ts +22 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.js +136 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.d.ts +20 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.js +104 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.d.ts +30 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.js +146 -0
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_band_sdf.d.ts +35 -0
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_band_sdf.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_band_sdf.js +161 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.d.ts +21 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.js +112 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_normal.d.ts +15 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_normal.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_normal.js +34 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_raymarch.d.ts +17 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_raymarch.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_raymarch.js +64 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_sample.d.ts +32 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_sample.d.ts.map +1 -0
- package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_sample.js +104 -0
- package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts +2 -0
- package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.js +13 -23
- package/src/shade/renderer/geometry/util/geometry_compute_surface_area.js +2 -2
- package/src/shade/renderer/geometry/util/geometry_estimate_uv_aspect.js +2 -2
- package/src/shade/renderer/geometry/util/geometry_simplify_redundant_topology.js +2 -2
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts +34 -12
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.js +56 -15
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts +2 -2
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.js +13 -26
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts +25 -2
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.js +54 -32
- package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_VERDICT.d.ts +14 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_VERDICT.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_VERDICT.js +37 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_arena.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_arena.js +16 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.js +2 -6
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_descent.d.ts +131 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_descent.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_descent.js +467 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_instance.d.ts +24 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_instance.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_instance.js +111 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_rule.d.ts +42 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_rule.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_rule.js +404 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_stat.d.ts +16 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_stat.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_stat.js +23 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_want.d.ts +17 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_want.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_want.js +65 -0
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.js +14 -70
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.js +13 -773
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_cut_descent.d.ts +55 -0
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_cut_descent.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_cut_descent.js +248 -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 +15 -174
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_ao.js +2 -2
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_probe_meta_pick2.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_probe_meta_pick2.js +8 -24
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_sample_forward_indirect.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_sample_forward_indirect.js +1 -25
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js +2 -2
- package/src/shade/renderer/global_illumination/lpv/deprecated/chunk_lpv_get_visibility_mask.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/deprecated/chunk_lpv_get_visibility_mask.js +5 -23
- package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts +0 -2
- package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.js +3 -13
- package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts +10 -16
- package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.js +39 -82
- package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts +136 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.js +487 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/PROBE_CLIPMAP_PROPOSAL_2026_10_27.md +3505 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts +83 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.js +626 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.d.ts +265 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.js +475 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.d.ts +138 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.js +189 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_MOVERS.d.ts +37 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_MOVERS.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_MOVERS.js +48 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.d.ts +239 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.js +993 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.d.ts +69 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.js +169 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.d.ts +191 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.js +590 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_object.d.ts +21 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_object.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_object.js +42 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_provider.d.ts +45 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_provider.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_provider.js +93 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK_INSTANCE_STRUCT.d.ts +23 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK_INSTANCE_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK_INSTANCE_STRUCT.js +35 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MeshSDFBrickProvider.d.ts +35 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MeshSDFBrickProvider.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MeshSDFBrickProvider.js +124 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.d.ts +27 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.js +94 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_texel.d.ts +26 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_texel.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_texel.js +73 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_provider.d.ts +35 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_provider.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_provider.js +238 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.d.ts +10 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.js +44 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_coarse.d.ts +24 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_coarse.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_coarse.js +92 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_free.d.ts +26 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_free.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_free.js +133 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers.d.ts +21 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers.js +146 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers_command.d.ts +18 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers_command.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_movers_command.js +84 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_requeue.d.ts +16 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_requeue.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_requeue.js +67 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_scroll.d.ts +20 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_scroll.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_scroll.js +128 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.d.ts +20 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.js +127 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.d.ts +20 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.js +79 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/VGEO_BRICK.d.ts +99 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/VGEO_BRICK.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/VGEO_BRICK.js +139 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/VGeoBrickProvider.d.ts +65 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/VGeoBrickProvider.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/VGeoBrickProvider.js +393 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_box.d.ts +17 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_box.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_box.js +36 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_pair.d.ts +29 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_pair.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_pair.js +108 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_texel.d.ts +31 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_texel.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_texel.js +113 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_triangle.d.ts +36 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_triangle.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/chunk_vgeo_brick_triangle.js +85 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_distance.d.ts +23 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_distance.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_distance.js +273 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_gather.d.ts +13 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_gather.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_gather.js +151 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_traverse.d.ts +13 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_traverse.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_traverse.js +133 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_wait.d.ts +22 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_wait.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/vgeo/shader_vgeo_brick_wait.js +135 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.d.ts +11 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.js +16 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_clipmap.d.ts +29 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_clipmap.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_clipmap.js +160 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.d.ts +34 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.js +189 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_sdf.d.ts +25 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_sdf.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_sdf.js +138 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.d.ts +184 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.js +1124 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.d.ts +223 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.js +297 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.d.ts +244 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.js +493 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_cage.d.ts +19 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_cage.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_cage.js +40 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.d.ts +41 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.js +110 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_pick.d.ts +72 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_pick.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_pick.js +343 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_sample_radiance.d.ts +29 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_sample_radiance.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_sample_radiance.js +188 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_want.d.ts +26 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_want.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_want.js +132 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_accumulate.d.ts +34 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_accumulate.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_accumulate.js +284 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_admit.d.ts +37 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_admit.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_admit.js +176 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_diffuse.d.ts +12 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_diffuse.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_diffuse.js +101 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_due.d.ts +22 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_due.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_due.js +110 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_fill.d.ts +10 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_fill.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_fill.js +39 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_indirect_lighting.d.ts +15 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_indirect_lighting.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_indirect_lighting.js +175 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.d.ts +26 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.js +210 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_project.d.ts +26 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_project.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_project.js +177 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_publish.d.ts +18 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_publish.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_publish.js +105 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_relocate.d.ts +25 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_relocate.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_relocate.js +124 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_retire.d.ts +21 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_retire.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_retire.js +118 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_schedule.d.ts +19 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_schedule.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_schedule.js +72 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.d.ts +25 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.js +145 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts +33 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.js +196 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace_command.d.ts +19 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace_command.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace_command.js +88 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.d.ts +23 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.js +98 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want_hits.d.ts +27 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want_hits.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want_hits.js +110 -0
- package/src/shade/renderer/gpu_primitive/indirect/chunk_folded_dispatch.d.ts +19 -0
- package/src/shade/renderer/gpu_primitive/indirect/chunk_folded_dispatch.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/indirect/chunk_folded_dispatch.js +31 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/chunk_slot_stack.d.ts +33 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/chunk_slot_stack.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/chunk_slot_stack.js +58 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_fill.d.ts +31 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_fill.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_fill.js +62 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_push_range.d.ts +21 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_push_range.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/slot_stack/shader_slot_stack_push_range.js +61 -0
- package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
- package/src/shade/renderer/light/GPULightCollection.js +12 -11
- package/src/shade/renderer/light/cluster/cull/shader_cull_lights_frustum.d.ts +0 -1
- package/src/shade/renderer/light/cluster/cull/shader_cull_lights_frustum.d.ts.map +1 -1
- package/src/shade/renderer/light/cluster/cull/shader_cull_lights_frustum.js +117 -120
- package/src/shade/renderer/light/environment/octahedral_z_pole_uv_to_direction.d.ts +1 -2
- package/src/shade/renderer/light/environment/octahedral_z_pole_uv_to_direction.d.ts.map +1 -1
- package/src/shade/renderer/light/environment/octahedral_z_pole_uv_to_direction.js +44 -45
- package/src/shade/renderer/light/world_cluster/chunk_world_light_cluster_lookup.d.ts +13 -0
- package/src/shade/renderer/light/world_cluster/chunk_world_light_cluster_lookup.d.ts.map +1 -1
- package/src/shade/renderer/light/world_cluster/chunk_world_light_cluster_lookup.js +40 -0
- package/src/shade/renderer/light/world_cluster/graph_build_world_light_clusters.d.ts +11 -6
- package/src/shade/renderer/light/world_cluster/graph_build_world_light_clusters.d.ts.map +1 -1
- package/src/shade/renderer/light/world_cluster/graph_build_world_light_clusters.js +15 -8
- package/src/shade/renderer/light/world_cluster/shader_world_cluster_assign_lights.d.ts +9 -2
- package/src/shade/renderer/light/world_cluster/shader_world_cluster_assign_lights.d.ts.map +1 -1
- package/src/shade/renderer/light/world_cluster/shader_world_cluster_assign_lights.js +25 -11
- package/src/shade/renderer/lightmap/atlas/rescale_uvs.js +2 -2
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/StandardShadeMaterial.js +5 -5
- package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts +10 -4
- package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts.map +1 -1
- package/src/shade/renderer/material/resident/GPUResidentMaterialContext.js +112 -8
- package/src/shade/renderer/material/resident/RESIDENT_MATERIAL_TEXTURE_LAYOUT.d.ts +21 -0
- package/src/shade/renderer/material/resident/RESIDENT_MATERIAL_TEXTURE_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/material/resident/RESIDENT_MATERIAL_TEXTURE_LAYOUT.js +30 -0
- package/src/shade/renderer/material/resident/shader_resident_texture_means.d.ts +24 -0
- package/src/shade/renderer/material/resident/shader_resident_texture_means.d.ts.map +1 -0
- package/src/shade/renderer/material/resident/shader_resident_texture_means.js +120 -0
- package/src/shade/renderer/particles/DESIGN.md +151 -42
- package/src/shade/renderer/particles/EMITTER_GLOBAL_STATE_PLAN_2026_10_29.md +283 -0
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts +10 -2
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +53 -15
- package/src/shade/renderer/particles/ParticleConstants.d.ts +23 -6
- package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
- package/src/shade/renderer/particles/ParticleConstants.js +25 -6
- package/src/shade/renderer/particles/bounds/chunk_particle_bounds.js +5 -5
- package/src/shade/renderer/particles/bounds/shader_particle_bounds.js +187 -187
- package/src/shade/renderer/particles/data/PARTICLE_DATABASE_SPEC.d.ts +20 -9
- package/src/shade/renderer/particles/data/PARTICLE_DATABASE_SPEC.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/PARTICLE_DATABASE_SPEC.js +36 -10
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts +8 -7
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.js +25 -16
- package/src/shade/renderer/particles/data/PARTICLE_FIELD_BINDING.d.ts +51 -0
- package/src/shade/renderer/particles/data/PARTICLE_FIELD_BINDING.d.ts.map +1 -0
- package/src/shade/renderer/particles/data/PARTICLE_FIELD_BINDING.js +56 -0
- package/src/shade/renderer/particles/data/particle_emitter_record.d.ts.map +1 -1
- package/src/shade/renderer/particles/data/particle_emitter_record.js +2 -0
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts +1 -1
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.js +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeDescription.d.ts +22 -11
- package/src/shade/renderer/particles/graph/ParticleNodeDescription.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeDescription.js +14 -11
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts +4 -4
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.js +59 -24
- package/src/shade/renderer/particles/graph/ParticleValueType.d.ts +3 -3
- package/src/shade/renderer/particles/graph/ParticleValueType.js +287 -287
- package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts +13 -6
- package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/compile_particle_graph.js +46 -27
- package/src/shade/renderer/particles/graph/infer_particle_graph_types.d.ts +8 -2
- package/src/shade/renderer/particles/graph/infer_particle_graph_types.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/infer_particle_graph_types.js +240 -234
- package/src/shade/renderer/particles/graph/make_particle_group.d.ts +1 -1
- package/src/shade/renderer/particles/graph/make_particle_group.js +1 -1
- package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts +3 -2
- package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_graph_authoring.js +3 -2
- package/src/shade/renderer/particles/graph/particle_graph_distributions.js +170 -170
- package/src/shade/renderer/particles/graph/particle_graph_json.d.ts +25 -16
- package/src/shade/renderer/particles/graph/particle_graph_json.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_graph_json.js +16 -2
- package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts +29 -15
- package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_node_parameters.js +54 -22
- package/src/shade/renderer/particles/graph/particle_node_presentation.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_node_presentation.js +18 -8
- package/src/shade/renderer/particles/graph/validate_particle_graph.d.ts +9 -3
- package/src/shade/renderer/particles/graph/validate_particle_graph.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/validate_particle_graph.js +70 -38
- package/src/shade/renderer/particles/graph_particles.d.ts +9 -4
- package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles.js +27 -4
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts +7 -6
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/InstructionStream.js +17 -16
- package/src/shade/renderer/particles/isa/ParticleAssembler.d.ts +17 -0
- package/src/shade/renderer/particles/isa/ParticleAssembler.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleAssembler.js +35 -0
- package/src/shade/renderer/particles/isa/ParticleProgram.d.ts +26 -6
- package/src/shade/renderer/particles/isa/ParticleProgram.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleProgram.js +61 -9
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts +55 -4
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleVMISA.js +79 -10
- package/src/shade/renderer/particles/isa/particle_assembly.d.ts +20 -6
- package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/particle_assembly.js +136 -25
- package/src/shade/renderer/particles/isa/particle_link_global_fields.d.ts +20 -0
- package/src/shade/renderer/particles/isa/particle_link_global_fields.d.ts.map +1 -0
- package/src/shade/renderer/particles/isa/particle_link_global_fields.js +46 -0
- package/src/shade/renderer/particles/isa/validate_particle_program.js +8 -8
- package/src/shade/renderer/particles/layout/ParticleLayout.d.ts +62 -28
- package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +1 -1
- package/src/shade/renderer/particles/layout/ParticleLayout.js +102 -62
- package/src/shade/renderer/particles/optimizer/dag/optimize_particle_program_vector.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/dag/optimize_particle_program_vector.js +2 -0
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_groups.js +1 -1
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.js +4 -3
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_lower.js +2 -2
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.d.ts +3 -3
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.js +11 -11
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts +4 -4
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.js +5 -4
- package/src/shade/renderer/particles/optimizer/particle_integer_bounds.d.ts +1 -1
- package/src/shade/renderer/particles/optimizer/particle_integer_bounds.js +1 -1
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts +4 -4
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.js +13 -11
- package/src/shade/renderer/particles/optimizer/particle_program_fuzz.js +7 -7
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts +3 -2
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.js +5 -4
- package/src/shade/renderer/particles/optimizer/pass_allocate_registers.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_dedup_constants.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_eliminate_dead_code.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_eliminate_dead_code.js +51 -51
- package/src/shade/renderer/particles/optimizer/pass_fold_constants.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_fold_constants.js +5 -5
- package/src/shade/renderer/particles/optimizer/pass_inline_constants.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_narrow_widths.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_pack_registers.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_peephole.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_propagate_copies.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_schedule.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_schedule.js +2 -2
- package/src/shade/renderer/particles/optimizer/pass_share_subexpressions.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/pass_share_subexpressions.js +5 -4
- package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts +93 -22
- package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/EmitterRegistry.js +336 -29
- package/src/shade/renderer/particles/runtime/GPUParticleEmitterContext.d.ts +43 -3
- package/src/shade/renderer/particles/runtime/GPUParticleEmitterContext.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/GPUParticleEmitterContext.js +43 -3
- package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts +56 -26
- package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/ParticleEmitter.js +89 -33
- package/src/shade/renderer/particles/runtime/ParticleGlobalFields.d.ts +85 -0
- package/src/shade/renderer/particles/runtime/ParticleGlobalFields.d.ts.map +1 -0
- package/src/shade/renderer/particles/runtime/ParticleGlobalFields.js +221 -0
- package/src/shade/renderer/particles/runtime/ProgramHeap.d.ts +143 -18
- package/src/shade/renderer/particles/runtime/ProgramHeap.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/ProgramHeap.js +378 -28
- package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts +19 -7
- package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/create_particle_effect.js +22 -9
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +8 -8
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_setup_context.d.ts +3 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_setup_context.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_setup_context.js +4 -0
- package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit.js +5 -6
- package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.js +5 -7
- package/src/shade/renderer/particles/shaders/shader_particle_field_bind.d.ts +30 -0
- package/src/shade/renderer/particles/shaders/shader_particle_field_bind.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/shader_particle_field_bind.js +121 -0
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +3 -2
- package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.js +3 -2
- package/src/shade/renderer/particles/vm/PARTICLE_VM_CONTEXT_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/PARTICLE_VM_CONTEXT_STRUCT.js +3 -1
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts +12 -4
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/ParticleVMReference.js +48 -11
- package/src/shade/renderer/particles/vm/chunk_particle_vm.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/chunk_particle_vm.js +36 -14
- package/src/shade/renderer/particles/warmup/shader_particle_warmup.d.ts.map +1 -1
- package/src/shade/renderer/particles/warmup/shader_particle_warmup.js +316 -318
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.d.ts.map +1 -1
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.js +3 -2
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.d.ts.map +1 -1
- package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.js +2 -0
- package/src/shade/renderer/path_tracer/shader/chunk_indirect_sample_texture.js +1 -1
- package/src/shade/renderer/postprocess/PostProcess.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/PostProcess.js +2 -1
- package/src/shade/renderer/postprocess/gtao/GTAO.d.ts +31 -19
- package/src/shade/renderer/postprocess/gtao/GTAO.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/GTAO.js +44 -30
- package/src/shade/renderer/postprocess/gtao/GTAO_CONSTANTS.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/GTAO_CONSTANTS.js +75 -78
- package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.js +16 -2
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts +0 -5
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.js +377 -382
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.js +4 -3
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts +7 -1
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/SSR.js +16 -0
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.d.ts +20 -2
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.js +53 -2
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.d.ts +10 -1
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.js +31 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.js +17 -11
- package/src/shade/renderer/postprocess/taa/TAA.d.ts +4 -2
- package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/TAA.js +6 -1
- package/src/shade/renderer/postprocess/taa/chunk_fsr2_compute_depth_clip.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/chunk_fsr2_compute_depth_clip.js +10 -5
- package/src/shade/renderer/postprocess/taa/shader_taa.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/shader_taa.js +15 -12
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.js +26 -17
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.d.ts +4 -2
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.js +6 -2
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_probe_clipmap.d.ts +12 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_probe_clipmap.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect_probe_clipmap.js +57 -0
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +4 -2
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +4 -2
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +8 -2
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js +28 -15
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw.d.ts +2 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_draw.js +19 -3
- package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.js +4 -2
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.d.ts +3 -1
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.js +27 -14
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments.d.ts +2 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_resolve_moments.js +19 -3
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +17 -2
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +38 -2
- package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.d.ts +17 -0
- package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/scene/MESH_INSTANCE_METADATA_STRUCT.js +27 -0
- package/src/shade/renderer/scene/bvh/StaticSceneBVH.d.ts.map +1 -1
- package/src/shade/renderer/scene/bvh/StaticSceneBVH.js +4 -6
- package/src/shade/renderer/scene/chunk_mesh_flags.d.ts +9 -0
- package/src/shade/renderer/scene/chunk_mesh_flags.d.ts.map +1 -0
- package/src/shade/renderer/scene/chunk_mesh_flags.js +22 -0
- package/src/shade/renderer/scene/movers/SCENE_MOVER_LAYOUT.d.ts +65 -0
- package/src/shade/renderer/scene/movers/SCENE_MOVER_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/scene/movers/SCENE_MOVER_LAYOUT.js +87 -0
- package/src/shade/renderer/scene/movers/SceneMoverTracker.d.ts +42 -0
- package/src/shade/renderer/scene/movers/SceneMoverTracker.d.ts.map +1 -0
- package/src/shade/renderer/scene/movers/SceneMoverTracker.js +153 -0
- package/src/shade/renderer/scene/movers/chunk_scene_append_mover.d.ts +14 -0
- package/src/shade/renderer/scene/movers/chunk_scene_append_mover.d.ts.map +1 -0
- package/src/shade/renderer/scene/movers/chunk_scene_append_mover.js +33 -0
- package/src/shade/renderer/scene/movers/graph_scene_movers.d.ts +33 -0
- package/src/shade/renderer/scene/movers/graph_scene_movers.d.ts.map +1 -0
- package/src/shade/renderer/scene/movers/graph_scene_movers.js +114 -0
- package/src/shade/renderer/scene/movers/shader_scene_movers.d.ts +33 -0
- package/src/shade/renderer/scene/movers/shader_scene_movers.d.ts.map +1 -0
- package/src/shade/renderer/scene/movers/shader_scene_movers.js +197 -0
- package/src/shade/renderer/scene/movers/shader_scene_skinned_movers.d.ts +24 -0
- package/src/shade/renderer/scene/movers/shader_scene_skinned_movers.d.ts.map +1 -0
- package/src/shade/renderer/scene/movers/shader_scene_skinned_movers.js +112 -0
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts +26 -4
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.js +64 -6
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_nearest_point_on_surface.js +1 -1
- package/src/shade/renderer/shader/chunk/geometry/mat4/chunk_mat4_decompose_transform.d.ts +1 -1
- package/src/shade/renderer/shader/chunk/geometry/mat4/chunk_mat4_decompose_transform.js +2 -2
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts +2 -8
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.js +25 -52
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_positions.d.ts +15 -0
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_positions.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_positions.js +52 -0
- package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_decode_u32.d.ts +1 -1
- package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_decode_u32.js +1 -1
- package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_encode_u32.d.ts +1 -1
- package/src/shade/renderer/shader/chunk/geometry/quaternion/chunk_quat_encode_u32.js +1 -1
- package/src/shade/renderer/shader/chunk/geometry/triangle/TRIANGLE_POSITIONS_STRUCT.d.ts +7 -0
- package/src/shade/renderer/shader/chunk/geometry/triangle/TRIANGLE_POSITIONS_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/triangle/TRIANGLE_POSITIONS_STRUCT.js +12 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_index_to_grid2d_reciprocal.d.ts +22 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_index_to_grid2d_reciprocal.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/grid/chunk_index_to_grid2d_reciprocal.js +37 -0
- package/src/shade/renderer/shader/chunk/light/lpv/depth/chunk_lpv_mask_weights_by_visibility.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/light/lpv/depth/chunk_lpv_mask_weights_by_visibility.js +26 -60
- package/src/shade/renderer/shader/chunk/light/probe/chunk_probe_visibility_weight.d.ts +23 -0
- package/src/shade/renderer/shader/chunk/light/probe/chunk_probe_visibility_weight.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/light/probe/chunk_probe_visibility_weight.js +54 -0
- package/src/shade/renderer/shader/chunk/math/chunk_f16_round_stochastic.d.ts +25 -0
- package/src/shade/renderer/shader/chunk/math/chunk_f16_round_stochastic.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/math/chunk_f16_round_stochastic.js +43 -0
- package/src/shade/renderer/shader/chunk/random/chunk_jitter_from_vectors.d.ts +14 -0
- package/src/shade/renderer/shader/chunk/random/chunk_jitter_from_vectors.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/random/chunk_jitter_from_vectors.js +37 -0
- package/src/shade/renderer/shader/chunk/random/reservoir/chunk_pick2_wrs_mat2x4.d.ts +27 -0
- package/src/shade/renderer/shader/chunk/random/reservoir/chunk_pick2_wrs_mat2x4.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/random/reservoir/chunk_pick2_wrs_mat2x4.js +61 -0
- package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_mat2x4.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_mat2x4.js +10 -7
- package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_vec4.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/random/reservoir/chunk_sample_discrete_wrs_vec4.js +6 -3
- package/src/shade/renderer/shader/chunk/sdf/chunk_scene_sdf_raymarch.d.ts +22 -0
- package/src/shade/renderer/shader/chunk/sdf/chunk_scene_sdf_raymarch.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/sdf/chunk_scene_sdf_raymarch.js +62 -34
- package/src/shade/renderer/shader/chunk/spherical_harmonics/l1i/chunk_resolve_irradiance_sh_to_specular.d.ts +21 -0
- package/src/shade/renderer/shader/chunk/spherical_harmonics/l1i/chunk_resolve_irradiance_sh_to_specular.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/spherical_harmonics/l1i/chunk_resolve_irradiance_sh_to_specular.js +41 -0
- package/src/shade/renderer/shader/compiler/CodeChunk.d.ts +1 -1
- package/src/shade/renderer/shader/compiler/ShaderSwitch.d.ts +1 -1
- package/src/shade/renderer/shader/compiler/ShaderSwitchSet.d.ts +1 -1
- package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts +1 -1
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +4 -4
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts +50 -11
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +188 -51
- package/src/shade/renderer/shadow/map/SHADOWMAP_PATCH_MIN_SIDE.d.ts +8 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_PATCH_MIN_SIDE.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_PATCH_MIN_SIDE.js +7 -0
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts +7 -7
- package/src/shade/renderer/shadow/map/Shadowmap.js +7 -7
- package/src/shade/renderer/shadow/map/ShadowmapResolutionPolicy.d.ts +17 -0
- package/src/shade/renderer/shadow/map/ShadowmapResolutionPolicy.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/ShadowmapResolutionPolicy.js +29 -8
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_get_light_visibility.d.ts +0 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_get_light_visibility.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_get_light_visibility.js +0 -3
- package/src/shade/renderer/shadow/sdf/SDF_DRAW_SETTINGS_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/SDF_DRAW_SETTINGS_STRUCT.js +2 -5
- package/src/shade/renderer/shadow/sdf/chunk_geometry_sdf_query_distance.d.ts +8 -0
- package/src/shade/renderer/shadow/sdf/chunk_geometry_sdf_query_distance.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/chunk_geometry_sdf_query_distance.js +13 -41
- package/src/shade/renderer/shadow/sdf/chunk_ray_query_sdf_raycast_traversal_count.js +6 -5
- package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.d.ts +8 -0
- package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/chunk_sdf_geometry_raymarch.js +20 -73
- package/src/shade/renderer/shadow/sdf/chunk_sdf_mesh_raymarch.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/chunk_sdf_mesh_raymarch.js +4 -0
- package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts +2 -0
- package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts.map +1 -1
- package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.js +14 -8
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_LOW_LOAD_FACTOR.d.ts +12 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_LOW_LOAD_FACTOR.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_LOW_LOAD_FACTOR.js +11 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_DYNAMIC_LOD_BIAS.d.ts +9 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_DYNAMIC_LOD_BIAS.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_DYNAMIC_LOD_BIAS.js +8 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_LOAD_FACTOR.d.ts +13 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_LOAD_FACTOR.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_MAX_LOAD_FACTOR.js +12 -0
- package/src/shade/renderer/shadow/vsm/PLAN.md +3 -1
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts +80 -1
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/VSMPageManager.js +303 -3
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts +54 -3
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.js +418 -338
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts +8 -9
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.js +9 -92
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.js +6 -6
- package/src/shade/renderer/texture/atlas/GPUTileAtlas2D.d.ts +90 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas2D.d.ts.map +1 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas2D.js +208 -0
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts +23 -4
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.d.ts.map +1 -1
- package/src/shade/renderer/texture/atlas/GPUTileAtlas3D.js +56 -5
- package/src/shade/renderer/texture/util/texture_fill_rectangle.d.ts.map +1 -1
- package/src/shade/renderer/texture/util/texture_fill_rectangle.js +282 -267
- package/src/shade/renderer/view/GPUViewContext.js +2 -2
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +8 -4
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +36 -36
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_shadow_group_list.d.ts +59 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_shadow_group_list.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_sun_shadow_group_list.js +152 -0
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +145 -46
- package/src/shade/renderer/volumetrics/irradiance_clipmap/GPUIrradianceClipmap.d.ts +6 -1
- package/src/shade/renderer/volumetrics/irradiance_clipmap/GPUIrradianceClipmap.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/irradiance_clipmap/GPUIrradianceClipmap.js +498 -484
- package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_gi_sample.d.ts +14 -0
- package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_gi_sample.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_gi_sample.js +56 -0
- package/src/shade/renderer/volumetrics/irradiance_clipmap/shader_irradiance_clipmap_build.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/irradiance_clipmap/shader_irradiance_clipmap_build.js +197 -191
- package/src/shade/renderer/volumetrics/shader_volumetrics_bin_sun_shadow_media.d.ts +21 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_bin_sun_shadow_media.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_bin_sun_shadow_media.js +125 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.d.ts +4 -44
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_sun_shadow_volume.js +558 -311
- package/src/shade/renderer/volumetrics/shader_volumetrics_cull_sun_shadow_media.d.ts +18 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_cull_sun_shadow_media.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_cull_sun_shadow_media.js +84 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_split_participating_media.d.ts +4 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_split_participating_media.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_split_participating_media.js +1 -1
- package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.js +4 -4
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts +2 -1
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts.map +1 -1
- package/src/shade/renderer/water/GPUWaterRenderer.js +5 -1
- package/src/shade/renderer/water/chunk_water_gi.d.ts +12 -2
- package/src/shade/renderer/water/chunk_water_gi.d.ts.map +1 -1
- package/src/shade/renderer/water/chunk_water_gi.js +46 -2
- package/src/shade/renderer/water/query/GPUWaterQueries.d.ts +127 -0
- package/src/shade/renderer/water/query/GPUWaterQueries.d.ts.map +1 -0
- package/src/shade/renderer/water/query/GPUWaterQueries.js +741 -0
- package/src/shade/renderer/water/query/WATER_QUERY_DATABASE_SPEC.d.ts +58 -0
- package/src/shade/renderer/water/query/WATER_QUERY_DATABASE_SPEC.d.ts.map +1 -0
- package/src/shade/renderer/water/query/WATER_QUERY_DATABASE_SPEC.js +79 -0
- package/src/shade/renderer/water/query/shader_water_surface_query.d.ts +32 -0
- package/src/shade/renderer/water/query/shader_water_surface_query.d.ts.map +1 -0
- package/src/shade/renderer/water/query/shader_water_surface_query.js +227 -0
- package/src/shade/renderer/water/shader_water.d.ts +3 -2
- package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water.js +9 -3
- package/src/shade/renderer/wind/GPUSceneWind.d.ts +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +12 -6
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +20 -1
- package/src/shade/wgsl/validate_wgsl_source.d.ts.map +1 -1
- package/src/shade/wgsl/validate_wgsl_source.js +26 -0
- package/src/view/common/LabelView.js +1 -1
- package/src/view/common/VirtualListView.js +1 -1
- package/src/view/elements/progress/SmoothProgressBar.js +1 -1
- package/src/view/tooltip/TooltipManager.js +1 -1
- package/editor/view/ecs/components/DatGuiController.d.ts +0 -2
- package/editor/view/ecs/components/DatGuiController.d.ts.map +0 -1
- package/editor/view/ecs/components/DatGuiController.js +0 -2
- package/editor/view/v2/SplitView.d.ts +0 -2
- package/editor/view/v2/SplitView.d.ts.map +0 -1
- package/editor/view/v2/SplitView.js +0 -2
- package/src/core/binary/hash/XXH128Hash.d.ts +0 -2
- package/src/core/binary/hash/XXH128Hash.d.ts.map +0 -1
- package/src/core/binary/hash/XXH128Hash.js +0 -4
- package/src/core/binary/hash/XXH3_SECRET.d.ts +0 -2
- package/src/core/binary/hash/XXH3_SECRET.d.ts.map +0 -1
- package/src/core/binary/hash/XXH3_SECRET.js +0 -4
- package/src/core/binary/hash/crc32.d.ts +0 -2
- package/src/core/binary/hash/crc32.d.ts.map +0 -1
- package/src/core/binary/hash/crc32.js +0 -4
- package/src/core/binary/hash/xxh3_128.d.ts +0 -2
- package/src/core/binary/hash/xxh3_128.d.ts.map +0 -1
- package/src/core/binary/hash/xxh3_128.js +0 -4
- package/src/core/binary/hash/xxh3_64.d.ts +0 -2
- package/src/core/binary/hash/xxh3_64.d.ts.map +0 -1
- package/src/core/binary/hash/xxh3_64.js +0 -4
- package/src/core/binary/hash/xxh3_common.d.ts +0 -2
- package/src/core/binary/hash/xxh3_common.d.ts.map +0 -1
- package/src/core/binary/hash/xxh3_common.js +0 -90
- package/src/core/binary/lsb_32.d.ts +0 -17
- package/src/core/binary/lsb_32.d.ts.map +0 -1
- package/src/core/binary/lsb_32.js +0 -17
- package/src/core/color/hex/hex2rgb.d.ts +0 -2
- package/src/core/color/hex/hex2rgb.d.ts.map +0 -1
- package/src/core/color/hex/hex2rgb.js +0 -7
- package/src/core/color/hex/rgb2hex.d.ts +0 -2
- package/src/core/color/hex/rgb2hex.d.ts.map +0 -1
- package/src/core/color/hex/rgb2hex.js +0 -7
- package/src/core/color/hsv/hsv2rgb.d.ts +0 -2
- package/src/core/color/hsv/hsv2rgb.d.ts.map +0 -1
- package/src/core/color/hsv/hsv2rgb.js +0 -8
- package/src/core/color/hsv/rgb2hsv.d.ts +0 -2
- package/src/core/color/hsv/rgb2hsv.d.ts.map +0 -1
- package/src/core/color/hsv/rgb2hsv.js +0 -7
- package/src/core/color/hunt/hpe_to_xyz.d.ts +0 -2
- package/src/core/color/hunt/hpe_to_xyz.d.ts.map +0 -1
- package/src/core/color/hunt/hpe_to_xyz.js +0 -4
- package/src/core/color/hunt/xyz_to_hpe.d.ts +0 -2
- package/src/core/color/hunt/xyz_to_hpe.d.ts.map +0 -1
- package/src/core/color/hunt/xyz_to_hpe.js +0 -12
- package/src/core/color/int2rgb.d.ts +0 -2
- package/src/core/color/int2rgb.d.ts.map +0 -1
- package/src/core/color/int2rgb.js +0 -7
- package/src/core/color/rgb2uint24.d.ts +0 -2
- package/src/core/color/rgb2uint24.d.ts.map +0 -1
- package/src/core/color/rgb2uint24.js +0 -7
- package/src/core/color/rgb2uint32.d.ts +0 -2
- package/src/core/color/rgb2uint32.d.ts.map +0 -1
- package/src/core/color/rgb2uint32.js +0 -7
- package/src/core/geom/2d/aabb/aabb2_array_combine.d.ts +0 -7
- package/src/core/geom/2d/aabb/aabb2_array_combine.d.ts.map +0 -1
- package/src/core/geom/2d/aabb/aabb2_array_combine.js +0 -7
- package/src/core/geom/2d/aabb/aabb2_compute_area.d.ts +0 -7
- package/src/core/geom/2d/aabb/aabb2_compute_area.d.ts.map +0 -1
- package/src/core/geom/2d/aabb/aabb2_compute_area.js +0 -7
- package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.d.ts +0 -7
- package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.d.ts.map +0 -1
- package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.js +0 -7
- package/src/core/geom/2d/aabb/aabb2_compute_overlap.d.ts +0 -7
- package/src/core/geom/2d/aabb/aabb2_compute_overlap.d.ts.map +0 -1
- package/src/core/geom/2d/aabb/aabb2_compute_overlap.js +0 -7
- package/src/core/geom/2d/aabb/aabb2_from_v2_array.d.ts +0 -7
- package/src/core/geom/2d/aabb/aabb2_from_v2_array.d.ts.map +0 -1
- package/src/core/geom/2d/aabb/aabb2_from_v2_array.js +0 -7
- package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts +0 -7
- package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts.map +0 -1
- package/src/core/geom/2d/aabb/aabb2_intersects_point.js +0 -7
- package/src/core/geom/2d/aabb/aabb2_overlap_exists.d.ts +0 -7
- package/src/core/geom/2d/aabb/aabb2_overlap_exists.d.ts.map +0 -1
- package/src/core/geom/2d/aabb/aabb2_overlap_exists.js +0 -7
- package/src/core/geom/2d/circle/circle_compute_circle_intersection.d.ts +0 -7
- package/src/core/geom/2d/circle/circle_compute_circle_intersection.d.ts.map +0 -1
- package/src/core/geom/2d/circle/circle_compute_circle_intersection.js +0 -7
- package/src/core/geom/2d/circle/circle_compute_circle_penetration.d.ts +0 -7
- package/src/core/geom/2d/circle/circle_compute_circle_penetration.d.ts.map +0 -1
- package/src/core/geom/2d/circle/circle_compute_circle_penetration.js +0 -7
- package/src/core/geom/2d/circle/circle_intersects_point.d.ts +0 -7
- package/src/core/geom/2d/circle/circle_intersects_point.d.ts.map +0 -1
- package/src/core/geom/2d/circle/circle_intersects_point.js +0 -7
- package/src/core/geom/2d/compute_polygon_area_2d.d.ts +0 -7
- package/src/core/geom/2d/compute_polygon_area_2d.d.ts.map +0 -1
- package/src/core/geom/2d/compute_polygon_area_2d.js +0 -7
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.d.ts +0 -7
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.d.ts.map +0 -1
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.js +0 -7
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts +0 -7
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts.map +0 -1
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.js +0 -7
- package/src/core/geom/2d/convex-hull/orientation3_array.d.ts +0 -7
- package/src/core/geom/2d/convex-hull/orientation3_array.d.ts.map +0 -1
- package/src/core/geom/2d/convex-hull/orientation3_array.js +0 -7
- package/src/core/geom/2d/intersect_ray_2d.d.ts +0 -7
- package/src/core/geom/2d/intersect_ray_2d.d.ts.map +0 -1
- package/src/core/geom/2d/intersect_ray_2d.js +0 -7
- package/src/core/geom/2d/line/line2_distance_to_point_sqr.d.ts +0 -7
- package/src/core/geom/2d/line/line2_distance_to_point_sqr.d.ts.map +0 -1
- package/src/core/geom/2d/line/line2_distance_to_point_sqr.js +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.d.ts +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.d.ts.map +0 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.js +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.d.ts +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.d.ts.map +0 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.js +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.d.ts +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.d.ts.map +0 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.js +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.d.ts +0 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.d.ts.map +0 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.js +0 -7
- package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.d.ts +0 -7
- package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.d.ts.map +0 -1
- package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.js +0 -7
- package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.d.ts +0 -7
- package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.d.ts.map +0 -1
- package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.js +0 -7
- package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.d.ts +0 -7
- package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.d.ts.map +0 -1
- package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.js +0 -7
- package/src/core/geom/2d/rectangle_to_aabb.d.ts +0 -7
- package/src/core/geom/2d/rectangle_to_aabb.d.ts.map +0 -1
- package/src/core/geom/2d/rectangle_to_aabb.js +0 -7
- package/src/core/geom/2d/spline_bezier2_2d.d.ts +0 -7
- package/src/core/geom/2d/spline_bezier2_2d.d.ts.map +0 -1
- package/src/core/geom/2d/spline_bezier2_2d.js +0 -7
- package/src/core/geom/2d/triangle2d_compute_area.d.ts +0 -7
- package/src/core/geom/2d/triangle2d_compute_area.d.ts.map +0 -1
- package/src/core/geom/2d/triangle2d_compute_area.js +0 -7
- package/src/core/geom/2d/triangle2d_contains_point.d.ts +0 -7
- package/src/core/geom/2d/triangle2d_contains_point.d.ts.map +0 -1
- package/src/core/geom/2d/triangle2d_contains_point.js +0 -7
- package/src/core/geom/2d/triangle2d_get_barycentric.d.ts +0 -7
- package/src/core/geom/2d/triangle2d_get_barycentric.d.ts.map +0 -1
- package/src/core/geom/2d/triangle2d_get_barycentric.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_combined_surface_area.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_combined_surface_area.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_combined_surface_area.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_compute_projected_area.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_compute_projected_area.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_compute_projected_area.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_compute_surface_area.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_compute_surface_area.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_compute_surface_area.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.js +0 -7
- package/src/core/geom/3d/aabb/aabb3_raycast.d.ts +0 -7
- package/src/core/geom/3d/aabb/aabb3_raycast.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/aabb3_raycast.js +0 -7
- package/src/core/geom/3d/aabb/compute_aabb_from_points.d.ts +0 -7
- package/src/core/geom/3d/aabb/compute_aabb_from_points.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/compute_aabb_from_points.js +0 -7
- package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.d.ts +0 -7
- package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.d.ts.map +0 -1
- package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.js +0 -7
- package/src/core/geom/3d/compute_circle_bounding_box.d.ts +0 -7
- package/src/core/geom/3d/compute_circle_bounding_box.d.ts.map +0 -1
- package/src/core/geom/3d/compute_circle_bounding_box.js +0 -7
- package/src/core/geom/3d/cone/computeConeBoundingBox.d.ts +0 -7
- package/src/core/geom/3d/cone/computeConeBoundingBox.d.ts.map +0 -1
- package/src/core/geom/3d/cone/computeConeBoundingBox.js +0 -7
- package/src/core/geom/3d/cone/computeConePlaneSide.d.ts +0 -7
- package/src/core/geom/3d/cone/computeConePlaneSide.d.ts.map +0 -1
- package/src/core/geom/3d/cone/computeConePlaneSide.js +0 -7
- package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.d.ts +0 -7
- package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.d.ts.map +0 -1
- package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.js +0 -7
- package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.d.ts +0 -7
- package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.d.ts.map +0 -1
- package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.js +0 -7
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.d.ts +0 -7
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.d.ts.map +0 -1
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +0 -7
- package/src/core/geom/3d/frustum/frustum_matrix4_project.d.ts +0 -7
- package/src/core/geom/3d/frustum/frustum_matrix4_project.d.ts.map +0 -1
- package/src/core/geom/3d/frustum/frustum_matrix4_project.js +0 -7
- package/src/core/geom/3d/frustum/hexahedron_from_aabb.d.ts +0 -7
- package/src/core/geom/3d/frustum/hexahedron_from_aabb.d.ts.map +0 -1
- package/src/core/geom/3d/frustum/hexahedron_from_aabb.js +0 -7
- package/src/core/geom/3d/frustum/read_three_planes_to_array.d.ts +0 -7
- package/src/core/geom/3d/frustum/read_three_planes_to_array.d.ts.map +0 -1
- package/src/core/geom/3d/frustum/read_three_planes_to_array.js +0 -7
- package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.d.ts +0 -7
- package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.d.ts.map +0 -1
- package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.js +0 -7
- package/src/core/geom/3d/line/line3_closest_points_segment_segment.d.ts +0 -7
- package/src/core/geom/3d/line/line3_closest_points_segment_segment.d.ts.map +0 -1
- package/src/core/geom/3d/line/line3_closest_points_segment_segment.js +0 -7
- package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.d.ts +0 -7
- package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.d.ts.map +0 -1
- package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.js +0 -7
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.d.ts +0 -7
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.d.ts.map +0 -1
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.js +0 -7
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.d.ts +0 -7
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.d.ts.map +0 -1
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.js +0 -7
- package/src/core/geom/3d/mat4/allocate_m4.d.ts +0 -7
- package/src/core/geom/3d/mat4/allocate_m4.d.ts.map +0 -1
- package/src/core/geom/3d/mat4/allocate_m4.js +0 -7
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts +0 -7
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts.map +0 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.js +0 -7
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts +0 -7
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts.map +0 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.js +0 -7
- package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts +0 -7
- package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts.map +0 -1
- package/src/core/geom/3d/mat4/compose_matrix4_array.js +0 -7
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts +0 -7
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts.map +0 -1
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.js +0 -7
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts +0 -7
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts.map +0 -1
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.js +0 -7
- package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.d.ts +0 -7
- package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.d.ts.map +0 -1
- package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.js +0 -7
- package/src/core/geom/3d/morton/mortonEncode_LUT.d.ts +0 -7
- package/src/core/geom/3d/morton/mortonEncode_LUT.d.ts.map +0 -1
- package/src/core/geom/3d/morton/mortonEncode_LUT.js +0 -7
- package/src/core/geom/3d/morton/mortonEncode_magicbits.d.ts +0 -7
- package/src/core/geom/3d/morton/mortonEncode_magicbits.d.ts.map +0 -1
- package/src/core/geom/3d/morton/mortonEncode_magicbits.js +0 -7
- package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.d.ts +0 -2
- package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.d.ts.map +0 -1
- package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.js +0 -5
- package/src/core/geom/3d/plane/is_point_within_planes.d.ts +0 -7
- package/src/core/geom/3d/plane/is_point_within_planes.d.ts.map +0 -1
- package/src/core/geom/3d/plane/is_point_within_planes.js +0 -7
- package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.d.ts +0 -7
- package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.d.ts.map +0 -1
- package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.js +0 -7
- package/src/core/geom/3d/plane/plane3_compute_plane_intersection.d.ts +0 -7
- package/src/core/geom/3d/plane/plane3_compute_plane_intersection.d.ts.map +0 -1
- package/src/core/geom/3d/plane/plane3_compute_plane_intersection.js +0 -7
- package/src/core/geom/3d/plane/plane3_intersect_plane.d.ts +0 -7
- package/src/core/geom/3d/plane/plane3_intersect_plane.d.ts.map +0 -1
- package/src/core/geom/3d/plane/plane3_intersect_plane.js +0 -7
- package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.d.ts +0 -7
- package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.d.ts.map +0 -1
- package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.js +0 -7
- package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.d.ts +0 -7
- package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.d.ts.map +0 -1
- package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.js +0 -7
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts +0 -7
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts.map +0 -1
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.js +0 -7
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts +0 -7
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts.map +0 -1
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.js +0 -7
- package/src/core/geom/3d/ray/ray3_array_compose.d.ts +0 -7
- package/src/core/geom/3d/ray/ray3_array_compose.d.ts.map +0 -1
- package/src/core/geom/3d/ray/ray3_array_compose.js +0 -7
- package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.d.ts +0 -7
- package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.d.ts.map +0 -1
- package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.js +0 -7
- package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts +0 -7
- package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts.map +0 -1
- package/src/core/geom/3d/ray/ray3_distance_to_point.js +0 -7
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.d.ts +0 -7
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.d.ts.map +0 -1
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.js +0 -7
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts +0 -7
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts.map +0 -1
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.js +0 -7
- package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.d.ts +0 -7
- package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.d.ts.map +0 -1
- package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.js +0 -7
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts +0 -7
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.js +0 -7
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.d.ts +0 -7
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.js +0 -7
- package/src/core/geom/3d/sphere/harmonics/sh_compute_K.d.ts +0 -7
- package/src/core/geom/3d/sphere/harmonics/sh_compute_K.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/harmonics/sh_compute_K.js +0 -7
- package/src/core/geom/3d/sphere/sphere_array_intersects_point.d.ts +0 -7
- package/src/core/geom/3d/sphere/sphere_array_intersects_point.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/sphere_array_intersects_point.js +0 -7
- package/src/core/geom/3d/sphere/sphere_array_intersects_ray.d.ts +0 -7
- package/src/core/geom/3d/sphere/sphere_array_intersects_ray.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/sphere_array_intersects_ray.js +0 -7
- package/src/core/geom/3d/sphere/sphere_intersects_point.d.ts +0 -7
- package/src/core/geom/3d/sphere/sphere_intersects_point.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/sphere_intersects_point.js +0 -7
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts +0 -7
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.js +0 -7
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.d.ts +0 -7
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.js +0 -7
- package/src/core/geom/3d/sphere/spherical_from_cartesian.d.ts +0 -7
- package/src/core/geom/3d/sphere/spherical_from_cartesian.d.ts.map +0 -1
- package/src/core/geom/3d/sphere/spherical_from_cartesian.js +0 -7
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.d.ts +0 -7
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.d.ts.map +0 -1
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.js +0 -7
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts +0 -7
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts.map +0 -1
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.js +0 -7
- package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.d.ts +0 -7
- package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.d.ts.map +0 -1
- package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.js +0 -7
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.d.ts +0 -7
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.d.ts.map +0 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.js +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts +0 -8
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.js +0 -8
- package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.d.ts +0 -7
- package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.d.ts.map +0 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.js +0 -7
- package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.d.ts +0 -7
- package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.js +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersection.d.ts +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersection.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersection.js +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.d.ts +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.js +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.d.ts +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.js +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.d.ts +0 -7
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.js +0 -7
- package/src/core/geom/3d/triangle/compute_triangle_area_3d.d.ts +0 -7
- package/src/core/geom/3d/triangle/compute_triangle_area_3d.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/compute_triangle_area_3d.js +0 -7
- package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts +0 -7
- package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/compute_triangle_normal.js +0 -7
- package/src/core/geom/3d/triangle/rayTriangleIntersection.d.ts +0 -7
- package/src/core/geom/3d/triangle/rayTriangleIntersection.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/rayTriangleIntersection.js +0 -7
- package/src/core/geom/3d/triangle/triangle3_incenter.d.ts +0 -7
- package/src/core/geom/3d/triangle/triangle3_incenter.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/triangle3_incenter.js +0 -7
- package/src/core/geom/3d/triangle/triangle_compute_plane_side.d.ts +0 -7
- package/src/core/geom/3d/triangle/triangle_compute_plane_side.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/triangle_compute_plane_side.js +0 -7
- package/src/core/geom/3d/triangle/triangle_compute_signed_volume.d.ts +0 -7
- package/src/core/geom/3d/triangle/triangle_compute_signed_volume.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/triangle_compute_signed_volume.js +0 -7
- package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.d.ts +0 -7
- package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.js +0 -7
- package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.d.ts +0 -7
- package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.js +0 -7
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +0 -7
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts.map +0 -1
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +0 -7
- package/src/core/geom/3d/util/make_justified_point_grid.d.ts +0 -7
- package/src/core/geom/3d/util/make_justified_point_grid.d.ts.map +0 -1
- package/src/core/geom/3d/util/make_justified_point_grid.js +0 -7
- package/src/core/geom/mat3/m3_cm_from_translation.d.ts +0 -7
- package/src/core/geom/mat3/m3_cm_from_translation.d.ts.map +0 -1
- package/src/core/geom/mat3/m3_cm_from_translation.js +0 -7
- package/src/core/geom/mat3/m3_cm_invert.d.ts +0 -7
- package/src/core/geom/mat3/m3_cm_invert.d.ts.map +0 -1
- package/src/core/geom/mat3/m3_cm_invert.js +0 -7
- package/src/core/geom/mat3/m3_make_rotation.d.ts +0 -2
- package/src/core/geom/mat3/m3_make_rotation.d.ts.map +0 -1
- package/src/core/geom/mat3/m3_make_rotation.js +0 -5
- package/src/core/geom/mat3/m3_multiply_vec3.d.ts +0 -7
- package/src/core/geom/mat3/m3_multiply_vec3.d.ts.map +0 -1
- package/src/core/geom/mat3/m3_multiply_vec3.js +0 -7
- package/src/core/geom/packing/computeBoundingSphereOfSpheres.d.ts +0 -7
- package/src/core/geom/packing/computeBoundingSphereOfSpheres.d.ts.map +0 -1
- package/src/core/geom/packing/computeBoundingSphereOfSpheres.js +0 -7
- package/src/core/geom/packing/max-rect/cost/costByBestShortSide.d.ts +0 -7
- package/src/core/geom/packing/max-rect/cost/costByBestShortSide.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/cost/costByBestShortSide.js +0 -7
- package/src/core/geom/packing/max-rect/cost/costByRemainingArea.d.ts +0 -7
- package/src/core/geom/packing/max-rect/cost/costByRemainingArea.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/cost/costByRemainingArea.js +0 -7
- package/src/core/geom/packing/max-rect/cutArea.d.ts +0 -7
- package/src/core/geom/packing/max-rect/cutArea.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/cutArea.js +0 -7
- package/src/core/geom/packing/max-rect/findBestContainer.d.ts +0 -7
- package/src/core/geom/packing/max-rect/findBestContainer.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/findBestContainer.js +0 -7
- package/src/core/geom/packing/max-rect/packMaxRectangles.d.ts +0 -7
- package/src/core/geom/packing/max-rect/packMaxRectangles.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/packMaxRectangles.js +0 -7
- package/src/core/geom/packing/max-rect/packOneBox.d.ts +0 -7
- package/src/core/geom/packing/max-rect/packOneBox.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/packOneBox.js +0 -7
- package/src/core/geom/packing/max-rect/removeRedundantBoxes.d.ts +0 -7
- package/src/core/geom/packing/max-rect/removeRedundantBoxes.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/removeRedundantBoxes.js +0 -7
- package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.d.ts +0 -7
- package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.d.ts.map +0 -1
- package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.js +0 -7
- package/src/core/geom/random/randomPointInBox.d.ts +0 -7
- package/src/core/geom/random/randomPointInBox.d.ts.map +0 -1
- package/src/core/geom/random/randomPointInBox.js +0 -7
- package/src/core/geom/random/randomPointInCircle.d.ts +0 -7
- package/src/core/geom/random/randomPointInCircle.d.ts.map +0 -1
- package/src/core/geom/random/randomPointInCircle.js +0 -7
- package/src/core/geom/random/randomPointInPoint.d.ts +0 -7
- package/src/core/geom/random/randomPointInPoint.d.ts.map +0 -1
- package/src/core/geom/random/randomPointInPoint.js +0 -7
- package/src/core/geom/random/randomPointInSphere.d.ts +0 -7
- package/src/core/geom/random/randomPointInSphere.d.ts.map +0 -1
- package/src/core/geom/random/randomPointInSphere.js +0 -7
- package/src/core/geom/random/randomPointOnBox.d.ts +0 -7
- package/src/core/geom/random/randomPointOnBox.d.ts.map +0 -1
- package/src/core/geom/random/randomPointOnBox.js +0 -7
- package/src/core/geom/random/randomPointOnSphere.d.ts +0 -7
- package/src/core/geom/random/randomPointOnSphere.d.ts.map +0 -1
- package/src/core/geom/random/randomPointOnSphere.js +0 -7
- package/src/core/geom/vec/vector_copy.d.ts +0 -7
- package/src/core/geom/vec/vector_copy.d.ts.map +0 -1
- package/src/core/geom/vec/vector_copy.js +0 -7
- package/src/core/geom/vec/vector_scale_array.d.ts +0 -7
- package/src/core/geom/vec/vector_scale_array.d.ts.map +0 -1
- package/src/core/geom/vec/vector_scale_array.js +0 -7
- package/src/core/geom/vec3/v3_angle_atan2_between.d.ts +0 -7
- package/src/core/geom/vec3/v3_angle_atan2_between.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_angle_atan2_between.js +0 -7
- package/src/core/geom/vec3/v3_angle_between.d.ts +0 -7
- package/src/core/geom/vec3/v3_angle_between.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_angle_between.js +0 -7
- package/src/core/geom/vec3/v3_angle_cos_between.d.ts +0 -7
- package/src/core/geom/vec3/v3_angle_cos_between.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_angle_cos_between.js +0 -7
- package/src/core/geom/vec3/v3_array_add_in_place.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_add_in_place.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_add_in_place.js +0 -7
- package/src/core/geom/vec3/v3_array_centroid.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_centroid.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_centroid.js +0 -7
- package/src/core/geom/vec3/v3_array_copy.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_copy.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_copy.js +0 -7
- package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_displace_in_direction.js +0 -7
- package/src/core/geom/vec3/v3_array_equals.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_equals.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_equals.js +0 -7
- package/src/core/geom/vec3/v3_array_immediate_add.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_immediate_add.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_immediate_add.js +0 -7
- package/src/core/geom/vec3/v3_array_matrix4_rotate.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_matrix4_rotate.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_matrix4_rotate.js +0 -7
- package/src/core/geom/vec3/v3_array_normalize.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_normalize.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_normalize.js +0 -7
- package/src/core/geom/vec3/v3_array_scale.d.ts +0 -7
- package/src/core/geom/vec3/v3_array_scale.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_array_scale.js +0 -7
- package/src/core/geom/vec3/v3_compute_interior_angle.d.ts +0 -7
- package/src/core/geom/vec3/v3_compute_interior_angle.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_compute_interior_angle.js +0 -7
- package/src/core/geom/vec3/v3_dot_array_array.d.ts +0 -7
- package/src/core/geom/vec3/v3_dot_array_array.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_dot_array_array.js +0 -7
- package/src/core/geom/vec3/v3_matrix4_rotate.d.ts +0 -7
- package/src/core/geom/vec3/v3_matrix4_rotate.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_matrix4_rotate.js +0 -7
- package/src/core/geom/vec3/v3_multiply_scalar.d.ts +0 -7
- package/src/core/geom/vec3/v3_multiply_scalar.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_multiply_scalar.js +0 -7
- package/src/core/geom/vec3/v3_quat3_apply.d.ts +0 -7
- package/src/core/geom/vec3/v3_quat3_apply.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_quat3_apply.js +0 -7
- package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts +0 -7
- package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_quat3_apply_inverse.js +0 -7
- package/src/core/geom/vec3/v3_triple_cross_product.d.ts +0 -7
- package/src/core/geom/vec3/v3_triple_cross_product.d.ts.map +0 -1
- package/src/core/geom/vec3/v3_triple_cross_product.js +0 -7
- package/src/core/geom/vec4/v4_multiply_mat4.d.ts +0 -7
- package/src/core/geom/vec4/v4_multiply_mat4.d.ts.map +0 -1
- package/src/core/geom/vec4/v4_multiply_mat4.js +0 -7
- package/src/core/math/fabsf.d.ts +0 -6
- package/src/core/math/fabsf.d.ts.map +0 -1
- package/src/core/math/fabsf.js +0 -6
- package/src/core/model/object/optional_equality.d.ts +0 -10
- package/src/core/model/object/optional_equality.d.ts.map +0 -1
- package/src/core/model/object/optional_equality.js +0 -10
- package/src/core/primitives/strings/string_compute_byte_size.d.ts +0 -7
- package/src/core/primitives/strings/string_compute_byte_size.d.ts.map +0 -1
- package/src/core/primitives/strings/string_compute_byte_size.js +0 -8
- package/src/engine/graphics/FrameThrottle.d.ts +0 -2
- package/src/engine/graphics/FrameThrottle.d.ts.map +0 -1
- package/src/engine/graphics/FrameThrottle.js +0 -2
- package/src/engine/graphics/sh3/path_tracer/geometry/compute_triangle_group_aabb3.d.ts +0 -2
- package/src/engine/graphics/sh3/path_tracer/geometry/compute_triangle_group_aabb3.d.ts.map +0 -1
- package/src/engine/graphics/sh3/path_tracer/geometry/compute_triangle_group_aabb3.js +0 -2
- package/src/engine/graphics/texture/isImageBitmap.d.ts +0 -2
- package/src/engine/graphics/texture/isImageBitmap.d.ts.map +0 -1
- package/src/engine/graphics/texture/isImageBitmap.js +0 -2
- package/src/engine/graphics3/AnimationGraphSystem3.d.ts +0 -10
- package/src/engine/graphics3/AnimationGraphSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/AnimationGraphSystem3.js +0 -10
- package/src/engine/graphics3/AnimationSystem3.d.ts +0 -10
- package/src/engine/graphics3/AnimationSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/AnimationSystem3.js +0 -10
- package/src/engine/graphics3/CameraSystem3.d.ts +0 -10
- package/src/engine/graphics3/CameraSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/CameraSystem3.js +0 -10
- package/src/engine/graphics3/DebugDrawSystem3.d.ts +0 -10
- package/src/engine/graphics3/DebugDrawSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/DebugDrawSystem3.js +0 -10
- package/src/engine/graphics3/DecalSystem3.d.ts +0 -10
- package/src/engine/graphics3/DecalSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/DecalSystem3.js +0 -10
- package/src/engine/graphics3/FogOfWarSystem3.d.ts +0 -10
- package/src/engine/graphics3/FogOfWarSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/FogOfWarSystem3.js +0 -10
- package/src/engine/graphics3/GraphicsEngine3.d.ts +0 -10
- package/src/engine/graphics3/GraphicsEngine3.d.ts.map +0 -1
- package/src/engine/graphics3/GraphicsEngine3.js +0 -10
- package/src/engine/graphics3/HighlightSystem.d.ts +0 -19
- package/src/engine/graphics3/HighlightSystem.d.ts.map +0 -1
- package/src/engine/graphics3/HighlightSystem.js +0 -27
- package/src/engine/graphics3/HighlightSystem3.d.ts +0 -13
- package/src/engine/graphics3/HighlightSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/HighlightSystem3.js +0 -15
- package/src/engine/graphics3/LightSystem3.d.ts +0 -10
- package/src/engine/graphics3/LightSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/LightSystem3.js +0 -10
- package/src/engine/graphics3/MeshSystem3.d.ts +0 -10
- package/src/engine/graphics3/MeshSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/MeshSystem3.js +0 -10
- package/src/engine/graphics3/ParticipatingMediaSystem3.d.ts +0 -10
- package/src/engine/graphics3/ParticipatingMediaSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/ParticipatingMediaSystem3.js +0 -10
- package/src/engine/graphics3/PathDisplaySystem3.d.ts +0 -10
- package/src/engine/graphics3/PathDisplaySystem3.d.ts.map +0 -1
- package/src/engine/graphics3/PathDisplaySystem3.js +0 -10
- package/src/engine/graphics3/PickingSystem3.d.ts +0 -10
- package/src/engine/graphics3/PickingSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/PickingSystem3.js +0 -10
- package/src/engine/graphics3/ShadedGeometrySystem3.d.ts +0 -10
- package/src/engine/graphics3/ShadedGeometrySystem3.d.ts.map +0 -1
- package/src/engine/graphics3/ShadedGeometrySystem3.js +0 -10
- package/src/engine/graphics3/TerrainSystem3.d.ts +0 -10
- package/src/engine/graphics3/TerrainSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/TerrainSystem3.js +0 -10
- package/src/engine/graphics3/TooltipComponentSystem3.d.ts +0 -10
- package/src/engine/graphics3/TooltipComponentSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/TooltipComponentSystem3.js +0 -10
- package/src/engine/graphics3/Trail3DSystem3.d.ts +0 -10
- package/src/engine/graphics3/Trail3DSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/Trail3DSystem3.js +0 -10
- package/src/engine/graphics3/VolumetricLightMapSystem3.d.ts +0 -10
- package/src/engine/graphics3/VolumetricLightMapSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/VolumetricLightMapSystem3.js +0 -10
- package/src/engine/graphics3/WaterSystem3.d.ts +0 -10
- package/src/engine/graphics3/WaterSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/WaterSystem3.js +0 -10
- package/src/engine/network/convertPathToURL.d.ts +0 -2
- package/src/engine/network/convertPathToURL.d.ts.map +0 -1
- package/src/engine/network/convertPathToURL.js +0 -2
- package/src/format/image/png/crc32.d.ts +0 -2
- package/src/format/image/png/crc32.d.ts.map +0 -1
- package/src/format/image/png/crc32.js +0 -7
- package/src/shade/renderer/camera/OrbitalCameraController.d.ts +0 -2
- package/src/shade/renderer/camera/OrbitalCameraController.d.ts.map +0 -1
- package/src/shade/renderer/camera/OrbitalCameraController.js +0 -1
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.d.ts +0 -16
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.d.ts.map +0 -1
- package/src/shade/renderer/deferred/chunk_shade_standard_material_direct_heavy.js +0 -17
- package/src/shade/renderer/geometry/sdf/SDF_BUILD_SETTINGS_STRUCT.d.ts +0 -3
- package/src/shade/renderer/geometry/sdf/SDF_BUILD_SETTINGS_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/geometry/sdf/SDF_BUILD_SETTINGS_STRUCT.js +0 -8
- package/src/shade/renderer/geometry/sdf/SFD_BUILD_WORKGROUP_SIZE.d.ts +0 -2
- package/src/shade/renderer/geometry/sdf/SFD_BUILD_WORKGROUP_SIZE.d.ts.map +0 -1
- package/src/shade/renderer/geometry/sdf/SFD_BUILD_WORKGROUP_SIZE.js +0 -1
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_sdf.d.ts +0 -8
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_sdf.d.ts.map +0 -1
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_sdf.js +0 -49
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_volume_sign.d.ts +0 -3
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_volume_sign.d.ts.map +0 -1
- package/src/shade/renderer/geometry/sdf/chunk_blas_query_volume_sign.js +0 -90
- package/src/shade/renderer/geometry/sdf/shader_build_sdf.d.ts +0 -3
- package/src/shade/renderer/geometry/sdf/shader_build_sdf.d.ts.map +0 -1
- package/src/shade/renderer/geometry/sdf/shader_build_sdf.js +0 -126
- package/src/shade/renderer/light/environment/octahedral_uv_to_direction.d.ts +0 -8
- package/src/shade/renderer/light/environment/octahedral_uv_to_direction.d.ts.map +0 -1
- package/src/shade/renderer/light/environment/octahedral_uv_to_direction.js +0 -10
- package/src/shade/renderer/particles/shaders/shader_particle_init_free_list.d.ts +0 -31
- package/src/shade/renderer/particles/shaders/shader_particle_init_free_list.d.ts.map +0 -1
- package/src/shade/renderer/particles/shaders/shader_particle_init_free_list.js +0 -62
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.d.ts +0 -42
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.js +0 -153
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.d.ts +0 -54
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.js +0 -75
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.d.ts +0 -14
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.js +0 -32
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.d.ts +0 -30
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.js +0 -184
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.d.ts +0 -23
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.js +0 -109
|
@@ -18,28 +18,34 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
particle_library_description_or_undefined,
|
|
20
20
|
} from "../../../src/shade/renderer/particles/graph/particle_node_library.js";
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
PARTICLE_GRAPH_PHASE,
|
|
24
|
-
validate_particle_graph,
|
|
25
|
-
} from "../../../src/shade/renderer/particles/graph/validate_particle_graph.js";
|
|
21
|
+
import { PARTICLE_GRAPH_PHASE, validate_particle_graph } from "../../../src/shade/renderer/particles/graph/validate_particle_graph.js";
|
|
22
|
+
import { PARTICLE_GRAPH_ERROR } from "../../../src/shade/renderer/particles/graph/particle_graph_diagnostic.js";
|
|
26
23
|
import {
|
|
27
24
|
disassemble_particle_program,
|
|
28
25
|
parse_particle_assembly,
|
|
29
26
|
} from "../../../src/shade/renderer/particles/isa/particle_assembly.js";
|
|
30
27
|
import { PARTICLE_TYPE_COLOR } from "../../../src/shade/renderer/particles/graph/ParticleValueType.js";
|
|
31
28
|
import { ParticleLayout } from "../../../src/shade/renderer/particles/layout/ParticleLayout.js";
|
|
29
|
+
import {
|
|
30
|
+
PARTICLE_VM_INSTRUCTION_WORDS,
|
|
31
|
+
VM_BUILTIN_FIELD_INDEX_MASK,
|
|
32
|
+
VM_OP,
|
|
33
|
+
VM_OP_MASK,
|
|
34
|
+
VM_WIDTH_MASK,
|
|
35
|
+
VM_WIDTH_SHIFT,
|
|
36
|
+
vm_builtin_is_emitter_field,
|
|
37
|
+
} from "../../../src/shade/renderer/particles/isa/ParticleVMISA.js";
|
|
32
38
|
import { optimize_particle_program_vector } from "../../../src/shade/renderer/particles/optimizer/dag/optimize_particle_program_vector.js";
|
|
33
39
|
import { EMITTER_RENDER_CHANNELS } from "../../../src/shade/renderer/particles/runtime/ParticleEmitter.js";
|
|
34
40
|
|
|
35
41
|
/**
|
|
36
42
|
* One particle effect being edited: the thing both layers of the editor point at.
|
|
37
43
|
*
|
|
38
|
-
* An effect is
|
|
39
|
-
* the emitter settings that say how the result is drawn. The graph editor edits the
|
|
40
|
-
* code editor edits what they compile to, the emitter inspector edits the
|
|
41
|
-
* watches all of it. Putting them in one object with one change signal is
|
|
42
|
-
* independent views rather than four copies of the same state.
|
|
44
|
+
* An effect is its field declarations — particle, emitter and global — an INIT graph, an UPDATE
|
|
45
|
+
* graph, and the emitter settings that say how the result is drawn. The graph editor edits the
|
|
46
|
+
* graphs, the code editor edits what they compile to, the emitter inspector edits the fields and the
|
|
47
|
+
* settings, and the preview watches all of it. Putting them in one object with one change signal is
|
|
48
|
+
* what lets those be four independent views rather than four copies of the same state.
|
|
43
49
|
*
|
|
44
50
|
* ## Which layer is in charge
|
|
45
51
|
*
|
|
@@ -90,8 +96,16 @@ export const PARTICLE_EFFECT_SOURCE = Object.freeze({
|
|
|
90
96
|
* @typedef {object} ParticleEffectCompilation
|
|
91
97
|
* @property {import("../../../src/shade/renderer/particles/isa/ParticleProgram.js").ParticleProgram|null} program
|
|
92
98
|
* null when anything went wrong
|
|
93
|
-
* @property {ParticleLayout|null} layout the
|
|
94
|
-
* null when the declarations themselves are not a valid layout
|
|
99
|
+
* @property {ParticleLayout|null} layout the particle field schema the program was compiled
|
|
100
|
+
* against; null when the declarations themselves are not a valid layout
|
|
101
|
+
* @property {ParticleLayout|null} emitter_layout the emitter field schema the program was compiled
|
|
102
|
+
* against; null for an effect that declares no emitter fields, or whose declarations are invalid
|
|
103
|
+
* @property {Uint32Array} emitter_fields the declared values of those fields, as f32 bit patterns
|
|
104
|
+
* laid out by `emitter_layout` — what every emitter of the effect starts from
|
|
105
|
+
* @property {ParticleLayout|null} global_layout the global fields the effect imports; null for one
|
|
106
|
+
* that imports none
|
|
107
|
+
* @property {Uint32Array} global_fields their preview values, as f32 bit patterns laid out by
|
|
108
|
+
* `global_layout` — what the editor's preview reads; a scene sets its own
|
|
95
109
|
* @property {import("../../../src/shade/renderer/particles/isa/ParticleProgram.js").ParticleProgram|null} unoptimized
|
|
96
110
|
* what `program` was built from, before the optimizer. The same object as `program` when
|
|
97
111
|
* {@link ParticleEffectDocument#optimize} is off, so a caller wanting the comparison can always
|
|
@@ -101,6 +115,87 @@ export const PARTICLE_EFFECT_SOURCE = Object.freeze({
|
|
|
101
115
|
* `line` is a 1-based assembly line or 0
|
|
102
116
|
*/
|
|
103
117
|
|
|
118
|
+
/**
|
|
119
|
+
* The empty schema a graph is checked against when the effect declares no emitter fields, or imports
|
|
120
|
+
* no global ones.
|
|
121
|
+
* @type {ParticleLayout}
|
|
122
|
+
*/
|
|
123
|
+
const NO_EMITTER_FIELDS = ParticleLayout.emitter([]);
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* What is wrong with an assembled program's field reads against the effect's declarations.
|
|
127
|
+
*
|
|
128
|
+
* @param {import("../../../src/shade/renderer/particles/isa/ParticleProgram.js").ParticleProgram|null} program
|
|
129
|
+
* @param {ParticleLayout|null} emitter_layout
|
|
130
|
+
* @param {ParticleLayout|null} global_layout
|
|
131
|
+
* @returns {string[]}
|
|
132
|
+
*/
|
|
133
|
+
function assembly_field_problems(program, emitter_layout, global_layout) {
|
|
134
|
+
if (program === null) {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
const problems = [];
|
|
139
|
+
|
|
140
|
+
for (const entry of program.global_imports) {
|
|
141
|
+
if (global_layout === null || !global_layout.has(entry.name)) {
|
|
142
|
+
problems.push(`The program imports the global field '${entry.name}', which the effect does not import.`);
|
|
143
|
+
} else if (global_layout.componentsOf(entry.name) !== entry.components) {
|
|
144
|
+
problems.push(
|
|
145
|
+
`The program imports '${entry.name}' with ${entry.components} components and the effect `
|
|
146
|
+
+ `declares it with ${global_layout.componentsOf(entry.name)}.`
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const block_words = emitter_layout === null ? 0 : emitter_layout.word_count;
|
|
152
|
+
|
|
153
|
+
for (const words of [program.init, program.update]) {
|
|
154
|
+
for (let k = 0; k < words.length; k += PARTICLE_VM_INSTRUCTION_WORDS) {
|
|
155
|
+
if ((words[k] & VM_OP_MASK) !== VM_OP.LOAD_BUILTIN || !vm_builtin_is_emitter_field(words[k + 1])) {
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const offset = words[k + 1] & VM_BUILTIN_FIELD_INDEX_MASK;
|
|
160
|
+
const width = (words[k] >>> VM_WIDTH_SHIFT) & VM_WIDTH_MASK;
|
|
161
|
+
|
|
162
|
+
if (offset + width > block_words) {
|
|
163
|
+
problems.push(
|
|
164
|
+
`A read of emitter_field:${offset} at ${width} lanes runs past the ${block_words} words `
|
|
165
|
+
+ `the effect's emitter fields take.`
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return problems;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Declared field values, laid out by `layout` as f32 bit patterns.
|
|
176
|
+
*
|
|
177
|
+
* @param {ParticleLayout|null} layout
|
|
178
|
+
* @param {Array<{name: string, value: number[]}>} declarations
|
|
179
|
+
* @returns {Uint32Array}
|
|
180
|
+
*/
|
|
181
|
+
function field_values(layout, declarations) {
|
|
182
|
+
if (layout === null) {
|
|
183
|
+
return new Uint32Array(0);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const values = new Float32Array(layout.word_count);
|
|
187
|
+
|
|
188
|
+
for (const declaration of declarations) {
|
|
189
|
+
const field = layout.get(declaration.name);
|
|
190
|
+
|
|
191
|
+
for (let i = 0; i < field.components; i++) {
|
|
192
|
+
values[field.offset + i] = declaration.value?.[i] ?? 0;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return new Uint32Array(values.buffer);
|
|
197
|
+
}
|
|
198
|
+
|
|
104
199
|
export class ParticleEffectDocument {
|
|
105
200
|
|
|
106
201
|
/**
|
|
@@ -109,7 +204,7 @@ export class ParticleEffectDocument {
|
|
|
109
204
|
name = "effect";
|
|
110
205
|
|
|
111
206
|
/**
|
|
112
|
-
* The
|
|
207
|
+
* The particle field declarations, in the order they are packed into a record.
|
|
113
208
|
*
|
|
114
209
|
* `type` is optional and says what the words are for rather than how many there are — see
|
|
115
210
|
* {@link ../../../src/shade/renderer/particles/layout/ParticleLayout.js ParticleLayout}. It is
|
|
@@ -117,7 +212,7 @@ export class ParticleEffectDocument {
|
|
|
117
212
|
*
|
|
118
213
|
* @type {Array<{name: string, components: number, type?: string}>}
|
|
119
214
|
*/
|
|
120
|
-
|
|
215
|
+
particle_fields = [
|
|
121
216
|
{ name: "position", components: 3 },
|
|
122
217
|
{ name: "velocity", components: 3 },
|
|
123
218
|
{ name: "age", components: 1 },
|
|
@@ -126,6 +221,28 @@ export class ParticleEffectDocument {
|
|
|
126
221
|
{ name: "color", components: 4, type: PARTICLE_TYPE_COLOR.name },
|
|
127
222
|
];
|
|
128
223
|
|
|
224
|
+
/**
|
|
225
|
+
* The emitter field declarations, in the order they are packed into an emitter's block, each
|
|
226
|
+
* with the value an emitter of this effect starts from.
|
|
227
|
+
*
|
|
228
|
+
* An emitter field is to the emitter what a particle field is to the particle: a member the
|
|
229
|
+
* effect declares and every instance carries for itself. The program reads it; gameplay writes
|
|
230
|
+
* it, per entity, on the component.
|
|
231
|
+
*
|
|
232
|
+
* @type {Array<{name: string, components: number, type?: string, value: number[]}>}
|
|
233
|
+
*/
|
|
234
|
+
emitter_fields = [];
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* The global fields the effect imports — members of the scene, shared by every effect that reads
|
|
238
|
+
* them by name — each with the value the editor's preview gives it. A scene sets the real values;
|
|
239
|
+
* the program carries only the names and widths, and is linked to the scene's layout when it is
|
|
240
|
+
* placed.
|
|
241
|
+
*
|
|
242
|
+
* @type {Array<{name: string, components: number, type?: string, value: number[]}>}
|
|
243
|
+
*/
|
|
244
|
+
global_fields = [];
|
|
245
|
+
|
|
129
246
|
/**
|
|
130
247
|
* The node groups this document carries of its own — the ones an author made in it.
|
|
131
248
|
*
|
|
@@ -177,7 +294,7 @@ export class ParticleEffectDocument {
|
|
|
177
294
|
/** image to draw with, by URL; null draws against the default atlas, a white texel */
|
|
178
295
|
texture: null,
|
|
179
296
|
flipbook: [1, 1],
|
|
180
|
-
/** render channel ->
|
|
297
|
+
/** render channel -> particle field name; a channel absent here is not bound */
|
|
181
298
|
render: {
|
|
182
299
|
position: "position",
|
|
183
300
|
size: "size",
|
|
@@ -288,6 +405,20 @@ export class ParticleEffectDocument {
|
|
|
288
405
|
*/
|
|
289
406
|
#lowering = null;
|
|
290
407
|
|
|
408
|
+
/**
|
|
409
|
+
* The last {@link #emitterLayout}, against the version it was built for.
|
|
410
|
+
*
|
|
411
|
+
* @type {{version: number, layout: ParticleLayout|null}|null}
|
|
412
|
+
*/
|
|
413
|
+
#emitter_layout = null;
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* The last {@link #globalLayout}, against the version it was built for.
|
|
417
|
+
*
|
|
418
|
+
* @type {{version: number, layout: ParticleLayout|null}|null}
|
|
419
|
+
*/
|
|
420
|
+
#global_layout = null;
|
|
421
|
+
|
|
291
422
|
constructor() {
|
|
292
423
|
// A graph edited through the editor's action timeline never passes through this object, so
|
|
293
424
|
// without this the document would be the last to hear about a change to its own contents —
|
|
@@ -333,7 +464,7 @@ export class ParticleEffectDocument {
|
|
|
333
464
|
}
|
|
334
465
|
|
|
335
466
|
/**
|
|
336
|
-
* Announce a change. Every edit path — a graph action,
|
|
467
|
+
* Announce a change. Every edit path — a graph action, a particle field added, a parameter set,
|
|
337
468
|
* assembly typed — ends here, and every view that shows the effect is downstream of it.
|
|
338
469
|
*
|
|
339
470
|
* Inside a {@link batch} the announcement is held until the batch ends, and however many changes
|
|
@@ -466,16 +597,72 @@ export class ParticleEffectDocument {
|
|
|
466
597
|
}
|
|
467
598
|
|
|
468
599
|
/**
|
|
469
|
-
* The
|
|
600
|
+
* The particle field schema as the compiler and the runtime want it.
|
|
470
601
|
*
|
|
471
|
-
* Rebuilt on demand rather than held, because {@link
|
|
472
|
-
* cached layout would be one edit behind. Building one is a walk over a handful of
|
|
602
|
+
* Rebuilt on demand rather than held, because {@link particle_fields} is what an author edits
|
|
603
|
+
* and a cached layout would be one edit behind. Building one is a walk over a handful of
|
|
604
|
+
* declarations.
|
|
473
605
|
*
|
|
474
606
|
* @returns {ParticleLayout}
|
|
475
607
|
* @throws if the declarations are not a valid layout (duplicate name, too many words)
|
|
476
608
|
*/
|
|
477
609
|
buildLayout() {
|
|
478
|
-
return new ParticleLayout(this.
|
|
610
|
+
return new ParticleLayout(this.particle_fields);
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* The emitter field schema, built fresh from the declarations; `null` for an effect that
|
|
615
|
+
* declares none.
|
|
616
|
+
*
|
|
617
|
+
* @returns {ParticleLayout|null}
|
|
618
|
+
* @throws if the declarations are not a valid layout (a duplicate name)
|
|
619
|
+
*/
|
|
620
|
+
buildEmitterLayout() {
|
|
621
|
+
if (this.emitter_fields.length === 0) {
|
|
622
|
+
return null;
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
return ParticleLayout.emitter(this.emitter_fields.map(({ name, components, type }) => (
|
|
626
|
+
type === undefined ? { name, components } : { name, components, type }
|
|
627
|
+
)));
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
/**
|
|
631
|
+
* The global fields the effect imports, laid out for the preview; `null` for an effect that
|
|
632
|
+
* imports none. Only the names, widths and tags reach the program — the offsets here are the
|
|
633
|
+
* preview's, never a scene's.
|
|
634
|
+
*
|
|
635
|
+
* @returns {ParticleLayout|null}
|
|
636
|
+
* @throws if the declarations are not a valid layout (a duplicate name)
|
|
637
|
+
*/
|
|
638
|
+
buildGlobalLayout() {
|
|
639
|
+
if (this.global_fields.length === 0) {
|
|
640
|
+
return null;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
return ParticleLayout.emitter(this.global_fields.map(({ name, components, type }) => (
|
|
644
|
+
type === undefined ? { name, components } : { name, components, type }
|
|
645
|
+
)));
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
/**
|
|
649
|
+
* The declared values of the emitter fields, laid out by `layout` as f32 bit patterns.
|
|
650
|
+
*
|
|
651
|
+
* @param {ParticleLayout|null} layout what {@link buildEmitterLayout} built
|
|
652
|
+
* @returns {Uint32Array}
|
|
653
|
+
*/
|
|
654
|
+
emitterFieldValues(layout) {
|
|
655
|
+
return field_values(layout, this.emitter_fields);
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* The preview values of the global fields, laid out by `layout` as f32 bit patterns.
|
|
660
|
+
*
|
|
661
|
+
* @param {ParticleLayout|null} layout what {@link buildGlobalLayout} built
|
|
662
|
+
* @returns {Uint32Array}
|
|
663
|
+
*/
|
|
664
|
+
globalFieldValues(layout) {
|
|
665
|
+
return field_values(layout, this.global_fields);
|
|
479
666
|
}
|
|
480
667
|
|
|
481
668
|
/**
|
|
@@ -513,18 +700,30 @@ export class ParticleEffectDocument {
|
|
|
513
700
|
const diagnostics = [];
|
|
514
701
|
|
|
515
702
|
let layout;
|
|
703
|
+
let emitter_layout;
|
|
704
|
+
let global_layout;
|
|
516
705
|
|
|
517
706
|
try {
|
|
518
707
|
layout = this.#layout();
|
|
708
|
+
emitter_layout = this.#emitterLayout();
|
|
709
|
+
global_layout = this.#globalLayout();
|
|
519
710
|
} catch (e) {
|
|
520
711
|
return {
|
|
521
712
|
program: null,
|
|
522
713
|
unoptimized: null,
|
|
523
714
|
layout: null,
|
|
715
|
+
emitter_layout: null,
|
|
716
|
+
emitter_fields: new Uint32Array(0),
|
|
717
|
+
global_layout: null,
|
|
718
|
+
global_fields: new Uint32Array(0),
|
|
524
719
|
diagnostics: [{ scope: "effect", node: -1, line: 0, message: e.message, severity: PARTICLE_GRAPH_ERROR }],
|
|
525
720
|
};
|
|
526
721
|
}
|
|
527
722
|
|
|
723
|
+
const emitter_fields = this.emitterFieldValues(emitter_layout);
|
|
724
|
+
const global_fields = this.globalFieldValues(global_layout);
|
|
725
|
+
const fields = { layout, emitter_layout, emitter_fields, global_layout, global_fields };
|
|
726
|
+
|
|
528
727
|
if (this.source === PARTICLE_EFFECT_SOURCE.ASSEMBLY) {
|
|
529
728
|
const { program, diagnostics: assembly_diagnostics } = parse_particle_assembly(this.assembly);
|
|
530
729
|
|
|
@@ -538,14 +737,25 @@ export class ParticleEffectDocument {
|
|
|
538
737
|
});
|
|
539
738
|
}
|
|
540
739
|
|
|
541
|
-
|
|
740
|
+
// What the validator checks a graph for, text is checked for here: an import the effect
|
|
741
|
+
// does not declare, or declares at another width, and an emitter field read past the
|
|
742
|
+
// block, which reads a neighbouring emitter's fields.
|
|
743
|
+
for (const message of assembly_field_problems(program, emitter_layout, global_layout)) {
|
|
744
|
+
diagnostics.push({ scope: "assembly", node: -1, line: 0, message, severity: PARTICLE_GRAPH_ERROR });
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
if (diagnostics.length > 0) {
|
|
748
|
+
return { program: null, unoptimized: null, ...fields, diagnostics };
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
return { ...this.#optimized(program, diagnostics), ...fields, diagnostics };
|
|
542
752
|
}
|
|
543
753
|
|
|
544
754
|
const lowering = this.#lowerGraphs(layout);
|
|
545
755
|
|
|
546
756
|
diagnostics.push(...lowering.diagnostics);
|
|
547
757
|
|
|
548
|
-
return { ...this.#optimized(lowering.program, diagnostics),
|
|
758
|
+
return { ...this.#optimized(lowering.program, diagnostics), ...fields, diagnostics };
|
|
549
759
|
}
|
|
550
760
|
|
|
551
761
|
/**
|
|
@@ -607,6 +817,43 @@ export class ParticleEffectDocument {
|
|
|
607
817
|
return layout;
|
|
608
818
|
}
|
|
609
819
|
|
|
820
|
+
/**
|
|
821
|
+
* The emitter field schema, built once per {@link version} for the same reason {@link #layout}
|
|
822
|
+
* is.
|
|
823
|
+
*
|
|
824
|
+
* @returns {ParticleLayout|null}
|
|
825
|
+
* @throws as {@link buildEmitterLayout}
|
|
826
|
+
*/
|
|
827
|
+
#emitterLayout() {
|
|
828
|
+
if (this.#emitter_layout !== null && this.#emitter_layout.version === this.version) {
|
|
829
|
+
return this.#emitter_layout.layout;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
const layout = this.buildEmitterLayout();
|
|
833
|
+
|
|
834
|
+
this.#emitter_layout = { version: this.version, layout };
|
|
835
|
+
|
|
836
|
+
return layout;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
/**
|
|
840
|
+
* The global field imports, built once per {@link version}.
|
|
841
|
+
*
|
|
842
|
+
* @returns {ParticleLayout|null}
|
|
843
|
+
* @throws as {@link buildGlobalLayout}
|
|
844
|
+
*/
|
|
845
|
+
#globalLayout() {
|
|
846
|
+
if (this.#global_layout !== null && this.#global_layout.version === this.version) {
|
|
847
|
+
return this.#global_layout.layout;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
const layout = this.buildGlobalLayout();
|
|
851
|
+
|
|
852
|
+
this.#global_layout = { version: this.version, layout };
|
|
853
|
+
|
|
854
|
+
return layout;
|
|
855
|
+
}
|
|
856
|
+
|
|
610
857
|
/**
|
|
611
858
|
* Check the graphs and, if they hold up, lower them.
|
|
612
859
|
*
|
|
@@ -643,11 +890,33 @@ export class ParticleEffectDocument {
|
|
|
643
890
|
#lowerGraphsUncached(layout) {
|
|
644
891
|
const diagnostics = [];
|
|
645
892
|
|
|
893
|
+
let emitter_layout;
|
|
894
|
+
let global_layout;
|
|
895
|
+
|
|
896
|
+
try {
|
|
897
|
+
emitter_layout = this.#emitterLayout();
|
|
898
|
+
global_layout = this.#globalLayout();
|
|
899
|
+
} catch (e) {
|
|
900
|
+
return {
|
|
901
|
+
program: null,
|
|
902
|
+
diagnostics: [{ scope: "effect", node: -1, line: 0, message: e.message, severity: PARTICLE_GRAPH_ERROR }],
|
|
903
|
+
};
|
|
904
|
+
}
|
|
905
|
+
|
|
646
906
|
for (const scope of Object.values(PARTICLE_GRAPH_PHASE)) {
|
|
647
907
|
// The validator is told which phase it is looking at: some of what is wrong with a
|
|
648
908
|
// graph depends on which of the two it is, and deciding that is its business rather
|
|
649
909
|
// than this document's.
|
|
650
|
-
|
|
910
|
+
// An effect that declares no emitter fields is checked against the empty schema, not
|
|
911
|
+
// left unchecked: a node reading one is wrong either way.
|
|
912
|
+
const checked = {
|
|
913
|
+
layout,
|
|
914
|
+
emitter_layout: emitter_layout ?? NO_EMITTER_FIELDS,
|
|
915
|
+
global_layout: global_layout ?? NO_EMITTER_FIELDS,
|
|
916
|
+
phase: scope,
|
|
917
|
+
};
|
|
918
|
+
|
|
919
|
+
for (const diagnostic of validate_particle_graph(this[scope], checked)) {
|
|
651
920
|
diagnostics.push({
|
|
652
921
|
scope,
|
|
653
922
|
node: diagnostic.node,
|
|
@@ -664,7 +933,13 @@ export class ParticleEffectDocument {
|
|
|
664
933
|
|
|
665
934
|
try {
|
|
666
935
|
return {
|
|
667
|
-
program: compile_particle_effect({
|
|
936
|
+
program: compile_particle_effect({
|
|
937
|
+
init: this.init,
|
|
938
|
+
update: this.update,
|
|
939
|
+
layout,
|
|
940
|
+
emitter_layout: emitter_layout ?? undefined,
|
|
941
|
+
global_layout: global_layout ?? undefined,
|
|
942
|
+
}),
|
|
668
943
|
diagnostics,
|
|
669
944
|
};
|
|
670
945
|
} catch (e) {
|
|
@@ -689,8 +964,8 @@ export class ParticleEffectDocument {
|
|
|
689
964
|
* the preview shows, not whether a dangling input in front of the author is worth saying — so
|
|
690
965
|
* this is separate from {@link compile}, which reports on the thing that runs.
|
|
691
966
|
*
|
|
692
|
-
* @param {ParticleLayout} [layout] the schema to check
|
|
693
|
-
* the document when not supplied, and skipped when it cannot be built
|
|
967
|
+
* @param {ParticleLayout} [layout] the schema to check particle field references against; built
|
|
968
|
+
* from the document when not supplied, and skipped when it cannot be built
|
|
694
969
|
* @returns {ParticleEffectCompilation['diagnostics']}
|
|
695
970
|
*/
|
|
696
971
|
graphDiagnostics(layout) {
|
|
@@ -808,43 +1083,165 @@ export class ParticleEffectDocument {
|
|
|
808
1083
|
}
|
|
809
1084
|
|
|
810
1085
|
/**
|
|
811
|
-
* Add
|
|
1086
|
+
* Add a particle field to the per-particle record.
|
|
812
1087
|
*
|
|
813
1088
|
* @param {string} name
|
|
814
1089
|
* @param {number} components 1..4
|
|
815
|
-
* @param {string} [type] what the words are for, see {@link
|
|
1090
|
+
* @param {string} [type] what the words are for, see {@link particle_fields}; omitted, they are
|
|
816
1091
|
* whatever `components` of them means and nothing more
|
|
817
1092
|
* @throws if the name is taken or the record has no room left
|
|
818
1093
|
*/
|
|
819
|
-
|
|
820
|
-
const candidate = this.
|
|
1094
|
+
addParticleField(name, components, type = undefined) {
|
|
1095
|
+
const candidate = this.particle_fields.concat([{ name, components, type }]);
|
|
821
1096
|
|
|
822
1097
|
// built rather than assumed: ParticleLayout is where the record's capacity and the
|
|
823
1098
|
// duplicate-name rule live, and a layout that throws must not become the document's
|
|
824
1099
|
new ParticleLayout(candidate);
|
|
825
1100
|
|
|
826
|
-
this.
|
|
1101
|
+
this.particle_fields = candidate;
|
|
1102
|
+
|
|
1103
|
+
this.touch();
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
/**
|
|
1107
|
+
* Declare an emitter field: a member every emitter of this effect carries for itself, starting
|
|
1108
|
+
* from `value`.
|
|
1109
|
+
*
|
|
1110
|
+
* @param {string} name
|
|
1111
|
+
* @param {number} components 1..4
|
|
1112
|
+
* @param {string} [type] what the words are for, as for a particle field
|
|
1113
|
+
* @param {number[]} [value] what an emitter starts with; zero where left out
|
|
1114
|
+
* @throws if the name is taken
|
|
1115
|
+
*/
|
|
1116
|
+
addEmitterField(name, components, type = undefined, value = []) {
|
|
1117
|
+
const candidate = this.emitter_fields.concat([{ name, components, type, value: Array.from(value) }]);
|
|
1118
|
+
|
|
1119
|
+
// built rather than assumed, as for a particle field: the duplicate-name rule lives there
|
|
1120
|
+
ParticleLayout.emitter(candidate);
|
|
1121
|
+
|
|
1122
|
+
this.emitter_fields = candidate;
|
|
1123
|
+
|
|
1124
|
+
this.touch();
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
/**
|
|
1128
|
+
* Change the value an emitter of this effect starts with.
|
|
1129
|
+
*
|
|
1130
|
+
* @param {string} name
|
|
1131
|
+
* @param {number[]} value
|
|
1132
|
+
* @returns {boolean} false when there is no such emitter field
|
|
1133
|
+
*/
|
|
1134
|
+
setEmitterFieldValue(name, value) {
|
|
1135
|
+
const declaration = this.emitter_fields.find(field => field.name === name);
|
|
1136
|
+
|
|
1137
|
+
if (declaration === undefined) {
|
|
1138
|
+
return false;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
declaration.value = Array.from(value);
|
|
827
1142
|
|
|
828
1143
|
this.touch();
|
|
1144
|
+
|
|
1145
|
+
return true;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
/**
|
|
1149
|
+
* Remove an emitter field. Nodes naming it are left alone and reported, as for a particle field.
|
|
1150
|
+
*
|
|
1151
|
+
* @param {string} name
|
|
1152
|
+
* @returns {boolean} false when there was no such emitter field
|
|
1153
|
+
*/
|
|
1154
|
+
removeEmitterField(name) {
|
|
1155
|
+
const remaining = this.emitter_fields.filter(field => field.name !== name);
|
|
1156
|
+
|
|
1157
|
+
if (remaining.length === this.emitter_fields.length) {
|
|
1158
|
+
return false;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
this.emitter_fields = remaining;
|
|
1162
|
+
|
|
1163
|
+
this.touch();
|
|
1164
|
+
|
|
1165
|
+
return true;
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
/**
|
|
1169
|
+
* Import a global field: a static member of whatever scene the effect runs in, read by name.
|
|
1170
|
+
*
|
|
1171
|
+
* @param {string} name
|
|
1172
|
+
* @param {number} components 1..4
|
|
1173
|
+
* @param {string} [type] what the words are for
|
|
1174
|
+
* @param {number[]} [value] what the editor's preview gives it; zero where left out
|
|
1175
|
+
* @throws if the name is taken
|
|
1176
|
+
*/
|
|
1177
|
+
addGlobalField(name, components, type = undefined, value = []) {
|
|
1178
|
+
const candidate = this.global_fields.concat([{ name, components, type, value: Array.from(value) }]);
|
|
1179
|
+
|
|
1180
|
+
ParticleLayout.emitter(candidate);
|
|
1181
|
+
|
|
1182
|
+
this.global_fields = candidate;
|
|
1183
|
+
|
|
1184
|
+
this.touch();
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
/**
|
|
1188
|
+
* Change the value the editor's preview gives a global field.
|
|
1189
|
+
*
|
|
1190
|
+
* @param {string} name
|
|
1191
|
+
* @param {number[]} value
|
|
1192
|
+
* @returns {boolean} false when the effect imports no such global field
|
|
1193
|
+
*/
|
|
1194
|
+
setGlobalFieldValue(name, value) {
|
|
1195
|
+
const declaration = this.global_fields.find(field => field.name === name);
|
|
1196
|
+
|
|
1197
|
+
if (declaration === undefined) {
|
|
1198
|
+
return false;
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
declaration.value = Array.from(value);
|
|
1202
|
+
|
|
1203
|
+
this.touch();
|
|
1204
|
+
|
|
1205
|
+
return true;
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
/**
|
|
1209
|
+
* Stop importing a global field. Nodes naming it are left alone and reported.
|
|
1210
|
+
*
|
|
1211
|
+
* @param {string} name
|
|
1212
|
+
* @returns {boolean} false when there was no such import
|
|
1213
|
+
*/
|
|
1214
|
+
removeGlobalField(name) {
|
|
1215
|
+
const remaining = this.global_fields.filter(field => field.name !== name);
|
|
1216
|
+
|
|
1217
|
+
if (remaining.length === this.global_fields.length) {
|
|
1218
|
+
return false;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
this.global_fields = remaining;
|
|
1222
|
+
|
|
1223
|
+
this.touch();
|
|
1224
|
+
|
|
1225
|
+
return true;
|
|
829
1226
|
}
|
|
830
1227
|
|
|
831
1228
|
/**
|
|
832
|
-
* Remove
|
|
1229
|
+
* Remove a particle field, and unbind any render channel that pointed at it.
|
|
833
1230
|
*
|
|
834
1231
|
* Nodes naming it are left alone: they become invalid, which the validator reports against the
|
|
835
1232
|
* node, and that is a better outcome than silently rewriting an author's graph.
|
|
836
1233
|
*
|
|
837
1234
|
* @param {string} name
|
|
838
|
-
* @returns {boolean} false when there was no such
|
|
1235
|
+
* @returns {boolean} false when there was no such particle field
|
|
839
1236
|
*/
|
|
840
|
-
|
|
841
|
-
const remaining = this.
|
|
1237
|
+
removeParticleField(name) {
|
|
1238
|
+
const remaining = this.particle_fields.filter(particle_field => particle_field.name !== name);
|
|
842
1239
|
|
|
843
|
-
if (remaining.length === this.
|
|
1240
|
+
if (remaining.length === this.particle_fields.length) {
|
|
844
1241
|
return false;
|
|
845
1242
|
}
|
|
846
1243
|
|
|
847
|
-
this.
|
|
1244
|
+
this.particle_fields = remaining;
|
|
848
1245
|
|
|
849
1246
|
for (const channel of EMITTER_RENDER_CHANNELS) {
|
|
850
1247
|
if (this.emitter.render[channel] === name) {
|
|
@@ -860,28 +1257,30 @@ export class ParticleEffectDocument {
|
|
|
860
1257
|
/**
|
|
861
1258
|
* The emitter settings as {@link ParticleEmitter.from} takes them, with the compiled effect.
|
|
862
1259
|
*
|
|
863
|
-
* Render channels naming
|
|
864
|
-
* on, because `bind_render` throws on one — and an effect that fails to build over a
|
|
865
|
-
* binding is a worse thing to hand an author than one that draws without a colour.
|
|
1260
|
+
* Render channels naming a particle field the layout no longer has are dropped rather than
|
|
1261
|
+
* passed on, because `bind_render` throws on one — and an effect that fails to build over a
|
|
1262
|
+
* stale binding is a worse thing to hand an author than one that draws without a colour.
|
|
866
1263
|
*
|
|
867
|
-
* @param {{layout: ParticleLayout, program: object
|
|
868
|
-
* packaged the way `create_particle_effect` does
|
|
1264
|
+
* @param {{layout: ParticleLayout, program: object, emitter_layout?: ParticleLayout|null, emitter_fields?: Uint32Array}} compiled
|
|
1265
|
+
* what {@link compile} produced, packaged the way `create_particle_effect` does
|
|
869
1266
|
* @returns {object}
|
|
870
1267
|
*/
|
|
871
|
-
emitterConfig({ layout, program }) {
|
|
1268
|
+
emitterConfig({ layout, program, emitter_layout = null, emitter_fields = new Uint32Array(0) }) {
|
|
872
1269
|
const render = {};
|
|
873
1270
|
|
|
874
1271
|
for (const channel of EMITTER_RENDER_CHANNELS) {
|
|
875
|
-
const
|
|
1272
|
+
const particle_field = this.emitter.render[channel];
|
|
876
1273
|
|
|
877
|
-
if (
|
|
878
|
-
render[channel] =
|
|
1274
|
+
if (particle_field !== undefined && layout.has(particle_field)) {
|
|
1275
|
+
render[channel] = particle_field;
|
|
879
1276
|
}
|
|
880
1277
|
}
|
|
881
1278
|
|
|
882
1279
|
return {
|
|
883
1280
|
layout,
|
|
884
1281
|
program,
|
|
1282
|
+
emitter_layout,
|
|
1283
|
+
emitter_fields,
|
|
885
1284
|
name: this.name,
|
|
886
1285
|
spawn_rate: this.emitter.spawn_rate,
|
|
887
1286
|
prewarm: this.emitter.prewarm,
|
|
@@ -918,7 +1317,9 @@ export class ParticleEffectDocument {
|
|
|
918
1317
|
toJSON() {
|
|
919
1318
|
return {
|
|
920
1319
|
name: this.name,
|
|
921
|
-
|
|
1320
|
+
particle_fields: this.particle_fields.map(particle_field => ({ ...particle_field })),
|
|
1321
|
+
emitter_fields: this.emitter_fields.map(field => ({ ...field, value: Array.from(field.value) })),
|
|
1322
|
+
global_fields: this.global_fields.map(field => ({ ...field, value: Array.from(field.value) })),
|
|
922
1323
|
groups: this.groups.map(serialize_particle_group),
|
|
923
1324
|
init: serialize_particle_graph({ graph: this.init, visual: this.init_visual }),
|
|
924
1325
|
update: serialize_particle_graph({ graph: this.update, visual: this.update_visual }),
|
|
@@ -949,7 +1350,10 @@ export class ParticleEffectDocument {
|
|
|
949
1350
|
*/
|
|
950
1351
|
#load(json, visualRegistry) {
|
|
951
1352
|
this.name = json.name ?? "effect";
|
|
952
|
-
|
|
1353
|
+
// older documents carry the particle fields as `attributes`
|
|
1354
|
+
this.particle_fields = (json.particle_fields ?? json.attributes ?? []).map(particle_field => ({ ...particle_field }));
|
|
1355
|
+
this.emitter_fields = (json.emitter_fields ?? []).map(field => ({ ...field, value: Array.from(field.value ?? []) }));
|
|
1356
|
+
this.global_fields = (json.global_fields ?? []).map(field => ({ ...field, value: Array.from(field.value ?? []) }));
|
|
953
1357
|
|
|
954
1358
|
// `NodeGraph.reset` drops its nodes without announcing them, so the watch list is cleared
|
|
955
1359
|
// here rather than being left holding a graph that no longer exists
|