@woosh/meep-engine 3.19.0 → 3.21.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/Editor.d.ts.map +1 -1
- package/editor/enableEditor.d.ts.map +1 -1
- package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
- package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -1
- package/editor/templates/entity_templates.d.ts.map +1 -1
- package/editor/tools/v2/GizmoNode.d.ts +1 -1
- package/editor/tools/v2/GizmoNode.d.ts.map +1 -1
- package/editor/view/ecs/HierarchicalEntityListView.d.ts +3 -3
- package/editor/view/ecs/HierarchicalEntityListView.d.ts.map +1 -1
- package/editor/view/makeEntityDecorators.d.ts.map +1 -1
- package/editor/view/node-graph/NodeGraphClipboard.d.ts.map +1 -1
- package/editor/view/particles/effect/ParticleGraphEditorView.js +2 -2
- package/editor/view/particles/effect/ParticleNodeParametersView.d.ts.map +1 -1
- package/editor/view/particles/effect/ParticleNodeParametersView.js +7 -48
- package/editor/view/tools/ToolSettingsView.d.ts +1 -1
- package/editor/view/tools/ToolSettingsView.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/core/IdPool.d.ts.map +1 -1
- package/src/core/binary/32BitEncoder.d.ts.map +1 -1
- package/src/core/binary/BinaryBuffer.d.ts +1 -1
- package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
- package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts +1 -1
- package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/BVH.d.ts +3 -3
- package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/BVH.js +1 -2
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts.map +1 -1
- package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.d.ts.map +1 -1
- package/src/core/cache/Cache.d.ts +1 -1
- package/src/core/cache/Cache.d.ts.map +1 -1
- package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts.map +1 -1
- package/src/core/collection/array/array_group_by.d.ts.map +1 -1
- package/src/core/collection/array/array_group_by.js +2 -11
- package/src/core/collection/list/List.d.ts.map +1 -1
- package/src/core/collection/list/ListForwarder.d.ts +1 -1
- package/src/core/collection/list/ListForwarder.d.ts.map +1 -1
- package/src/core/collection/map/HashMap.d.ts.map +1 -1
- package/src/core/collection/set/ArraySet.d.ts.map +1 -1
- package/src/core/collection/table/RowFirstTable.d.ts +1 -1
- package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
- package/src/core/collection/table/bind/TableRecord.d.ts +1 -1
- package/src/core/collection/table/bind/TableRecord.d.ts.map +1 -1
- package/src/core/color/Color.d.ts +8 -8
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -1
- package/src/core/color/hsv/rgb_to_hsv.d.ts.map +1 -1
- package/src/core/events/signal/Signal.d.ts +1 -1
- package/src/core/events/signal/Signal.d.ts.map +1 -1
- package/src/core/events/signal/signal_aggregate_by_time_window.d.ts.map +1 -1
- package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/AABB2.d.ts +4 -4
- package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
- package/src/core/geom/2d/bvh/BVH2D.d.ts +1 -1
- package/src/core/geom/2d/bvh/BVH2D.d.ts.map +1 -1
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/AABB3.d.ts +6 -6
- package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/atlas_generate.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/m4_decompose.d.ts +7 -1
- package/src/core/geom/3d/mat4/m4_decompose.d.ts.map +1 -1
- package/src/core/geom/3d/quadric/Quadric3.d.ts +11 -11
- package/src/core/geom/3d/quadric/Quadric3.d.ts.map +1 -1
- package/src/core/geom/3d/ray/Ray3.d.ts +3 -3
- package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -1
- package/src/core/geom/3d/shape/HeightMapShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/HeightMapShape3D.js +4 -9
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts +1 -1
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_to_indexed_geometry.d.ts.map +1 -1
- package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts.map +1 -1
- package/src/core/geom/Quaternion.d.ts +4 -4
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Vector1.d.ts +1 -1
- package/src/core/geom/Vector1.d.ts.map +1 -1
- package/src/core/geom/Vector2.d.ts +2 -2
- package/src/core/geom/Vector2.d.ts.map +1 -1
- package/src/core/geom/Vector3.d.ts +3 -3
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector4.d.ts +4 -4
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/find_best_container.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_hash.d.ts +12 -0
- package/src/core/geom/vec3/v3_hash.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_hash.js +19 -0
- package/src/core/geom/vec3/v3_lerp.d.ts +3 -1
- package/src/core/geom/vec3/v3_lerp.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_set.d.ts +14 -0
- package/src/core/geom/vec3/v3_set.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_set.js +17 -0
- package/src/core/geom/vec3/v3_slerp.d.ts +3 -1
- package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
- package/src/core/geom/vec4/v4_equals_array.d.ts +11 -0
- package/src/core/geom/vec4/v4_equals_array.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_equals_array.js +16 -0
- package/src/core/geom/vec4/v4_hash.d.ts +12 -0
- package/src/core/geom/vec4/v4_hash.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_hash.js +18 -0
- package/src/core/geom/vec4/v4_set.d.ts +15 -0
- package/src/core/geom/vec4/v4_set.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_set.js +19 -0
- package/src/core/graph/convert_graph_to_dot_string.d.ts +1 -1
- package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
- package/src/core/graph/metis/native/bisection/split_graph_two_way.d.ts.map +1 -1
- package/src/core/graph/metis/native/metis_partition_kway.d.ts.map +1 -1
- package/src/core/graph/metis/native/refine/fm_kway.d.ts.map +1 -1
- package/src/core/json/abstractJSONSerializer.d.ts.map +1 -1
- package/src/core/lang/reactive/AbstractCachingParser.d.ts.map +1 -1
- package/src/core/localization/Localization.d.ts.map +1 -1
- package/src/core/math/linalg/cg/cg_solve.d.ts.map +1 -1
- package/src/core/math/noise/create_simplex_noise_2d.d.ts.map +1 -1
- package/src/core/math/physics/mie/compute_bhmie_optical_properties.d.ts.map +1 -1
- package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
- package/src/core/math/random/seededRandom_Mulberry32.d.ts +1 -1
- package/src/core/math/random/seededRandom_Mulberry32.d.ts.map +1 -1
- package/src/core/model/ModuleRegistry.d.ts.map +1 -1
- package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.d.ts.map +1 -1
- package/src/core/model/node-graph/visual/layout/layout_node_graph.d.ts.map +1 -1
- package/src/core/model/node-graph/visual/layout/layout_order_layers.d.ts.map +1 -1
- package/src/core/model/object/optional_clone.d.ts.map +1 -0
- package/src/{shade/descriptor/util → core/model/object}/optional_equality.d.ts +2 -2
- package/src/core/model/object/optional_equality.d.ts.map +1 -0
- package/src/{shade/descriptor/util → core/model/object}/optional_equality.js +2 -2
- package/src/{shade/descriptor/util → core/model/object}/optional_hash.d.ts +1 -1
- package/src/core/model/object/optional_hash.d.ts.map +1 -0
- package/src/{shade/descriptor/util → core/model/object}/optional_hash.js +3 -3
- package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
- package/src/core/model/validate_enum_schema.d.ts.map +1 -1
- package/src/core/process/Future.d.ts.map +1 -1
- package/src/core/process/task/Task.d.ts.map +1 -1
- package/src/core/process/task/util/countTask.d.ts.map +1 -1
- package/src/core/process/task/util/randomCountTask.d.ts.map +1 -1
- package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
- package/src/engine/Clock.d.ts +1 -1
- package/src/engine/Clock.d.ts.map +1 -1
- package/src/engine/EngineHarness.d.ts.map +1 -1
- package/src/engine/animation/Animations.d.ts.map +1 -1
- package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
- package/src/engine/animation/TransitionFunctions.d.ts.map +1 -1
- package/src/engine/animation/Tween.d.ts.map +1 -1
- package/src/engine/animation/curve/editor/uploadViaElement.d.ts.map +1 -1
- package/src/engine/animation/curve/view/AnimationCurveView.d.ts +1 -1
- package/src/engine/animation/curve/view/AnimationCurveView.d.ts.map +1 -1
- package/src/engine/asset/Asset.d.ts +1 -1
- package/src/engine/asset/Asset.d.ts.map +1 -1
- package/src/engine/asset/Asset.js +3 -1
- package/src/engine/asset/AssetManager.d.ts.map +1 -1
- package/src/engine/asset/AssetRequest.d.ts.map +1 -1
- package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -1
- package/src/engine/browserInfo.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/LedgeGrab.js +9 -9
- package/src/engine/control/first-person/abilities/Mantle.js +8 -8
- package/src/engine/control/first-person/abilities/ScrambleUp.js +2 -2
- package/src/engine/control/first-person/abilities/WallJump.js +2 -2
- package/src/engine/control/first-person/abilities/WallRun.js +3 -3
- package/src/engine/control/first-person/collision/KinematicMover.d.ts +1 -1
- package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
- package/src/engine/control/first-person/collision/KinematicMover.js +19 -46
- package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts +17 -5
- package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts.map +1 -1
- package/src/engine/control/first-person/sensors/FirstPersonSensors.js +20 -7
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +9 -8
- package/src/engine/control/first-person/test/buildTestPlayer.d.ts.map +1 -1
- package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
- package/src/engine/ecs/System.d.ts.map +1 -1
- package/src/engine/ecs/animation/Animation.d.ts +1 -1
- package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
- package/src/engine/ecs/async/SystemWorkerLoopback.d.ts +3 -3
- package/src/engine/ecs/async/SystemWorkerLoopback.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/DynamicActorSystem.d.ts.map +1 -1
- package/src/engine/ecs/grid/pick.d.ts.map +1 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts.map +1 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +9 -10
- package/src/engine/ecs/guid/UUID.d.ts +1 -1
- package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
- package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.d.ts.map +1 -1
- package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.js +26 -9
- package/src/engine/ecs/parent/EntityNode.d.ts +1 -1
- package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
- package/src/engine/ecs/parent/FaceEditor.d.ts +7 -7
- package/src/engine/ecs/parent/FaceEditor.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts +2 -2
- package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts.map +1 -1
- package/src/engine/ecs/terrain/TerrainClouds.d.ts +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts +1 -1
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform64.d.ts +6 -6
- package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
- package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +1 -1
- package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
- package/src/engine/graphics/FrameRunner.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts +1 -1
- package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts.map +1 -1
- package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts +1 -1
- package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts.map +1 -1
- package/src/engine/graphics/ecs/make_bvh_depth_range_computer.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +4 -4
- package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts.map +1 -1
- package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts.map +1 -1
- package/src/engine/graphics/ecs/particles/ParticleEffect.js +6 -22
- package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts +1 -1
- package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts.map +1 -1
- package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +3 -3
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts +1 -1
- package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts +1 -1
- package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts.map +1 -1
- package/src/engine/graphics/make_ray_from_viewport_position.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +3 -3
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
- package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts +1 -1
- package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts.map +1 -1
- package/src/engine/graphics/render/layers/RenderLayer.d.ts +3 -3
- package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +1 -1
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +1 -1
- package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts +2 -2
- package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.js +5 -1
- package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts +1 -1
- package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts +1 -1
- package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_combine.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/search/make_edge_condition_channel_threshold.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/search/sampler2d_find_pixels.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts +3 -3
- package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts +1 -1
- package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts +2 -2
- package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts +1 -1
- package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/tile/decompose_finger_print.d.ts.map +1 -1
- package/src/engine/graphics3/HighlightOutlineSystem.d.ts.map +1 -1
- package/src/engine/graphics3/ParticipatingMedia.d.ts +1 -1
- package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
- package/src/engine/graphics3/VolumetricLightMap.d.ts +1 -1
- package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -1
- package/src/engine/graphics3/decal/graph_build_decal_clusters.d.ts.map +1 -1
- package/src/engine/graphics3/highlight/pack_highlight_table.d.ts.map +1 -1
- package/src/engine/graphics3/preview/make_model_preview_scene.d.ts.map +1 -1
- package/src/engine/graphics3/terrain/GPUTerrainSplatRenderer.d.ts.map +1 -1
- package/src/engine/graphics3/terrain/pack_terrain_row_table.d.ts.map +1 -1
- package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
- package/src/engine/input/devices/GamepadDevice.d.ts +1 -1
- package/src/engine/input/devices/GamepadDevice.d.ts.map +1 -1
- package/src/engine/input/devices/PointerDevice.d.ts +1 -1
- package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
- package/src/engine/input/ecs/controllers/KeyboardCameraController.d.ts.map +1 -1
- package/src/engine/input/ecs/controllers/KeyboardCameraController.js +11 -2
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +1 -1
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/RotationBehavior.js +14 -2
- package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts +1 -1
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +1 -1
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollower.d.ts +2 -2
- package/src/engine/navigation/ecs/path_following/PathFollower.d.ts.map +1 -1
- package/src/engine/network/NetworkSession.d.ts.map +1 -1
- package/src/engine/network/PriorityFetch.d.ts +2 -2
- package/src/engine/network/PriorityFetch.d.ts.map +1 -1
- package/src/engine/network/diagnostics/BandwidthMeter.d.ts.map +1 -1
- package/src/engine/network/ecs/owner_authorization.d.ts.map +1 -1
- package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
- package/src/engine/network/replication/Replicator.d.ts +1 -1
- package/src/engine/network/replication/Replicator.d.ts.map +1 -1
- package/src/engine/network/sim/SimActionExecutor.d.ts +1 -1
- package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
- package/src/engine/network/time/RenderPlayout.d.ts.map +1 -1
- package/src/engine/network/transport/Channel.d.ts.map +1 -1
- package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +1 -1
- package/src/engine/physics/body/SolverBodyState.d.ts +11 -11
- package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
- package/src/engine/physics/body/SolverBodyState.js +13 -13
- package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts +4 -4
- package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts.map +1 -1
- package/src/engine/physics/broadphase/compute_fat_world_aabb.js +2 -2
- package/src/engine/physics/broadphase/generate_pairs.d.ts +3 -3
- package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
- package/src/engine/physics/broadphase/generate_pairs.js +1 -1
- package/src/engine/physics/ccd/linear_sweep.d.ts +2 -3
- package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
- package/src/engine/physics/ccd/linear_sweep.js +4 -5
- package/src/engine/physics/constraint/solve_constraints.js +3 -3
- package/src/engine/physics/ecs/BodyKind.d.ts +1 -1
- package/src/engine/physics/ecs/BodyKind.js +1 -1
- package/src/engine/physics/ecs/Collider.d.ts +1 -1
- package/src/engine/physics/ecs/Collider.js +1 -1
- package/src/engine/physics/ecs/Joint.d.ts +15 -10
- package/src/engine/physics/ecs/Joint.d.ts.map +1 -1
- package/src/engine/physics/ecs/Joint.js +27 -18
- package/src/engine/physics/ecs/JointSerializationAdapter.d.ts.map +1 -1
- package/src/engine/physics/ecs/JointSerializationAdapter.js +8 -6
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +40 -77
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +113 -75
- package/src/engine/physics/ecs/RigidBody.d.ts +17 -12
- package/src/engine/physics/ecs/RigidBody.d.ts.map +1 -1
- package/src/engine/physics/ecs/RigidBody.js +58 -24
- package/src/engine/physics/ecs/RigidBodySerializationAdapter.d.ts.map +1 -1
- package/src/engine/physics/ecs/RigidBodySerializationAdapter.js +13 -12
- package/src/engine/physics/ecs/find_non_finite_physics_state.d.ts +1 -1
- package/src/engine/physics/ecs/find_non_finite_physics_state.js +1 -1
- package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
- package/src/engine/physics/fluid/REVIEW_02_PLAN.md +4 -4
- package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidComponent.d.ts +10 -10
- package/src/engine/physics/fluid/ecs/FluidComponent.js +10 -10
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.d.ts +2 -2
- package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.js +2 -2
- package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts +3 -3
- package/src/engine/physics/fluid/ecs/FluidObstacle.js +3 -3
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +4 -4
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +2 -2
- package/src/engine/physics/fluid/ecs/FluidSystem.js +3 -3
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +1 -1
- package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +2 -2
- package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts +3 -3
- package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +3 -3
- package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts +3 -3
- package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js +2 -2
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +3 -3
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts.map +1 -1
- package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +2 -2
- package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +2 -2
- package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts +4 -4
- package/src/engine/physics/fluid/effector/WakeFluidEffector.js +8 -8
- package/src/engine/physics/inertia/world_inverse_inertia.d.ts +8 -17
- package/src/engine/physics/inertia/world_inverse_inertia.d.ts.map +1 -1
- package/src/engine/physics/inertia/world_inverse_inertia.js +11 -11
- package/src/engine/physics/integration/integrate_position.d.ts +6 -7
- package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
- package/src/engine/physics/integration/integrate_position.js +5 -6
- package/src/engine/physics/integration/integrate_velocity.d.ts +4 -4
- package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
- package/src/engine/physics/integration/integrate_velocity.js +7 -7
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +4 -4
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -3
- package/src/engine/physics/narrowphase/convex_decomposition.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts +1 -2
- package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js +1 -2
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts +7 -6
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/narrowphase_step.js +8 -8
- package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts +10 -5
- package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts.map +1 -1
- package/src/engine/physics/queries/PhysicsSurfacePoint.js +10 -6
- package/src/engine/physics/queries/overlap_shape.d.ts +5 -14
- package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -1
- package/src/engine/physics/queries/overlap_shape.js +4 -4
- package/src/engine/physics/queries/raycast.d.ts.map +1 -1
- package/src/engine/physics/queries/shape_cast.d.ts +9 -1
- package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
- package/src/engine/physics/queries/shape_cast.js +2 -2
- package/src/engine/physics/solver/solve_contacts.d.ts +2 -2
- package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
- package/src/engine/physics/solver/solve_contacts.js +2 -2
- package/src/engine/physics/vehicle/RaycastVehicle.d.ts +4 -8
- package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
- package/src/engine/physics/vehicle/RaycastVehicle.js +16 -12
- package/src/engine/save/Storage.d.ts.map +1 -1
- package/src/engine/sound/SoundEngine.d.ts +1 -1
- package/src/engine/sound/SoundEngine.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +27 -2
- package/src/engine/sound/simulation/AcousticSimulator.d.ts +2 -2
- package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -1
- package/src/engine/sound/simulation/core/VolumeField.d.ts +1 -1
- package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/probe_delaunay_edges.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/probe_densify_portals.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/probe_detect_portals.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/probe_place_sdf_cover.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts.map +1 -1
- package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts +1 -1
- package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts.map +1 -1
- package/src/engine/sound/simulation/render/foaReverbImpulseResponse.d.ts.map +1 -1
- package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
- package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts +3 -3
- package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -1
- package/src/engine/sound/sopra/legacy/SoundTrack.d.ts +3 -3
- package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -1
- package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts.map +1 -1
- package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
- package/src/engine/ui/notification/ViewEmitter.d.ts +1 -1
- package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
- package/src/engine/ui/tiles2d/TileGrid.d.ts.map +1 -1
- package/src/extractName.d.ts.map +1 -1
- package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -1
- package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -1
- package/src/format/image/avif/heif/write_avif_file.d.ts +2 -2
- package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -1
- package/src/format/image/jpeg/JpegImage.d.ts.map +1 -1
- package/src/format/image/png/PNG.d.ts.map +1 -1
- package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -1
- package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -1
- package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -1
- package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -1
- package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -1
- package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -1
- package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -1
- package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts.map +1 -1
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +22 -3
- package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
- package/src/generation/theme/ThemeEngine.d.ts +2 -2
- package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
- package/src/shade/descriptor/ObjectDescriptorBase.d.ts +1 -1
- package/src/shade/descriptor/ObjectDescriptorBase.d.ts.map +1 -1
- package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.js +1 -1
- package/src/shade/descriptor/binding/BindGroupLayoutEntry.js +3 -3
- package/src/shade/descriptor/pipeline/PipelineDescriptorBase.js +1 -1
- package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.js +1 -1
- package/src/shade/descriptor/pipeline/render/ColorTargetState.js +3 -3
- package/src/shade/descriptor/pipeline/render/FragmentState.js +1 -1
- package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.js +3 -3
- package/src/shade/descriptor/texture/TextureDescriptor.d.ts +1 -1
- package/src/shade/device/ShadeGPUCommandContext.d.ts +1 -1
- package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
- package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts +1 -1
- package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts.map +1 -1
- package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts +1 -1
- package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts.map +1 -1
- package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
- package/src/shade/device/timing/GPUTimerStats.d.ts +1 -1
- package/src/shade/device/timing/GPUTimerStats.d.ts.map +1 -1
- package/src/shade/device/timing/GPU_PROFILER_PROPOSAL_2026_08_28.md +894 -894
- package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -1
- package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -1
- package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -1
- package/src/shade/playground/ground_seam/measure_flicker.d.ts.map +1 -1
- package/src/shade/playground/particle_editor/README.md +1 -1
- package/src/shade/playground/particle_system/index.html +0 -1
- package/src/shade/playground/particle_system/main.js +1 -2
- package/src/shade/playground/particle_system/particle_prototype.d.ts +7 -9
- package/src/shade/playground/particle_system/particle_prototype.d.ts.map +1 -1
- package/src/shade/playground/particle_system/particle_prototype.js +7 -9
- package/src/shade/playground/particle_system/particle_scene.d.ts +5 -6
- package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
- package/src/shade/playground/particle_system/particle_scene.js +6 -7
- package/src/shade/playground/skinned_blas_refit/sweep_views.js +2 -2
- package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +1 -1
- package/src/shade/playground/ssr_motion/README.md +22 -0
- package/src/shade/playground/ssr_motion/index.html +18 -0
- package/src/shade/playground/ssr_motion/main.d.ts +2 -0
- package/src/shade/playground/ssr_motion/main.d.ts.map +1 -0
- package/src/shade/playground/ssr_motion/main.js +149 -0
- package/src/shade/playground/ssr_variance/index.html +1 -0
- package/src/shade/playground/vgeo_viewer/README.md +123 -0
- package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts +61 -0
- package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts.map +1 -0
- package/src/shade/playground/vgeo_viewer/cut_geometry.js +497 -0
- package/src/shade/playground/vgeo_viewer/index.html +77 -0
- package/src/shade/playground/vgeo_viewer/main.d.ts +2 -0
- package/src/shade/playground/vgeo_viewer/main.d.ts.map +1 -0
- package/src/shade/playground/vgeo_viewer/main.js +1288 -0
- package/src/shade/playground/vgeo_viewer/sample_asset.d.ts +18 -0
- package/src/shade/playground/vgeo_viewer/sample_asset.d.ts.map +1 -0
- package/src/shade/playground/vgeo_viewer/sample_asset.js +117 -0
- package/src/shade/playground/vgeo_viewer/select_cut.d.ts +154 -0
- package/src/shade/playground/vgeo_viewer/select_cut.d.ts.map +1 -0
- package/src/shade/playground/vgeo_viewer/select_cut.js +437 -0
- package/src/shade/renderer/DynamicResolutionScaling.d.ts +1 -1
- package/src/shade/renderer/DynamicResolutionScaling.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.d.ts +5 -5
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/skin_normalize_mesh_frame.d.ts.map +1 -1
- package/src/shade/renderer/camera/Camera.d.ts +3 -3
- package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
- package/src/shade/renderer/camera/GPUCameraContext.d.ts +1 -1
- package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
- package/src/shade/renderer/camera/OrthographicCamera.d.ts +4 -4
- package/src/shade/renderer/camera/OrthographicCamera.d.ts.map +1 -1
- package/src/shade/renderer/camera/PerspectiveCamera.d.ts +2 -2
- package/src/shade/renderer/camera/PerspectiveCamera.d.ts.map +1 -1
- package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts +11 -3
- package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts.map +1 -1
- package/src/shade/renderer/camera/orbital/OrbitalCameraController.js +25 -5
- package/src/shade/renderer/extension/FrameContext.d.ts +1 -1
- package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
- package/src/shade/renderer/extension/GBufferTextures.d.ts +4 -4
- package/src/shade/renderer/extension/GBufferTextures.d.ts.map +1 -1
- package/src/shade/renderer/extension/PresentTarget.d.ts +1 -1
- package/src/shade/renderer/extension/PresentTarget.d.ts.map +1 -1
- package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +918 -918
- package/src/shade/renderer/extension/SceneColor.d.ts +1 -1
- package/src/shade/renderer/extension/SceneColor.d.ts.map +1 -1
- package/src/shade/renderer/extension/ViewTextures.d.ts +4 -4
- package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
- package/src/shade/renderer/geometry/Attribute.d.ts +1 -1
- package/src/shade/renderer/geometry/Attribute.d.ts.map +1 -1
- package/src/shade/renderer/geometry/Geometry.d.ts +1 -1
- package/src/shade/renderer/geometry/Geometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/Geometry.js +4 -7
- package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +3 -3
- package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/format/attribute/VGEO_ATTRIBUTES.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts +29 -0
- package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.js +59 -0
- package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts +0 -1
- package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.js +2 -23
- package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts +94 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.js +170 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts +122 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.js +143 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts +185 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.js +572 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts +64 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.js +80 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts +198 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.js +232 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts +51 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.js +55 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts +68 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.js +72 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts +28 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.js +108 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts +23 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.js +83 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts +53 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.js +211 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts +26 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.js +271 -0
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts +2 -2
- package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts +1 -1
- package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts +1 -1
- package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts +1 -1
- package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -1
- package/src/shade/renderer/light/LightCollection.d.ts +2 -2
- package/src/shade/renderer/light/LightCollection.d.ts.map +1 -1
- package/src/shade/renderer/light/model/PointLight.d.ts +1 -1
- package/src/shade/renderer/light/model/PointLight.d.ts.map +1 -1
- package/src/shade/renderer/light/model/SpotLight.d.ts +1 -1
- package/src/shade/renderer/light/model/SpotLight.d.ts.map +1 -1
- package/src/shade/renderer/loader/gltf/fix_up_material_sides.d.ts.map +1 -1
- package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts +1 -1
- package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts.map +1 -1
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +2 -2
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
- package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +1 -1
- package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
- package/src/shade/renderer/material/StandardShadeMaterial.js +2 -2
- package/src/shade/renderer/material/util/material_convert_metallic_roughness_to_specular_glossiness.d.ts.map +1 -1
- package/src/shade/renderer/material/util/material_convert_specular_glossiness_to_metallic_roughness.d.ts.map +1 -1
- package/src/shade/renderer/particles/DESIGN.md +27 -18
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts +24 -10
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +80 -73
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +17 -16
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
- package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +35 -22
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts +7 -7
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.js +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeRegistry.js +9 -15
- package/src/shade/renderer/particles/graph/ParticleValueType.d.ts +1 -1
- package/src/shade/renderer/particles/graph/ParticleValueType.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/make_particle_group.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_group_json.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_group_library.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_group_library.js +8 -3
- package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts +0 -2
- package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_node_parameters.js +0 -9
- package/src/shade/renderer/particles/graph/particle_node_presentation.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_node_presentation.js +0 -10
- package/src/shade/renderer/particles/graph/particle_ramp.d.ts +2 -8
- package/src/shade/renderer/particles/graph/particle_ramp.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/particle_ramp.js +2 -8
- package/src/shade/renderer/particles/graph/validate_particle_graph.js +0 -6
- package/src/shade/renderer/particles/graph_particles.d.ts +11 -0
- package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles.js +55 -37
- package/src/shade/renderer/particles/graph_particles_avboit.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles_avboit.js +13 -4
- package/src/shade/renderer/particles/graph_particles_billboard.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts +1 -12
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/InstructionStream.js +1 -12
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts +54 -60
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleVMISA.js +9 -17
- package/src/shade/renderer/particles/isa/particle_assembly.d.ts +0 -1
- package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/particle_assembly.js +2 -16
- package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_graph.d.ts +1 -1
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_graph.js +1 -1
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.js +0 -14
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.js +3 -17
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts +1 -1
- package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_program_analysis.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_program_analysis.js +15 -36
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_program_equivalence.js +1 -5
- package/src/shade/renderer/particles/optimizer/particle_program_fuzz.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_program_fuzz.js +1 -8
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts +2 -11
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts.map +1 -1
- package/src/shade/renderer/particles/optimizer/particle_vm_semantics.js +2 -11
- package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.js +13 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts +3 -6
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +49 -17
- package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit.js +0 -2
- 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 +0 -2
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +1 -5
- 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 +0 -2
- package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts +17 -13
- package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts.map +1 -1
- package/src/shade/renderer/particles/sort/graph_particle_sort.js +43 -33
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts +1 -3
- package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/ParticleVMReference.js +4 -20
- package/src/shade/renderer/particles/vm/chunk_particle_vm.d.ts.map +1 -1
- package/src/shade/renderer/particles/vm/chunk_particle_vm.js +2 -5
- 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 +0 -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 +0 -2
- package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +1 -1
- package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/graph_pass_composit_red_as_rgba.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +4 -4
- package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts +3 -3
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.js +21 -0
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +4 -0
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +2 -1
- package/src/shade/renderer/postprocess/taa/TAA.d.ts +2 -2
- package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/bucket/prepare_meshlet_draw_commands_by_material.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/scene/InstanceBatch.d.ts +1 -1
- package/src/shade/renderer/scene/InstanceBatch.d.ts.map +1 -1
- package/src/shade/renderer/scene/Mesh.js +1 -1
- package/src/shade/renderer/scene/Node3D.d.ts +3 -3
- package/src/shade/renderer/scene/Node3D.d.ts.map +1 -1
- package/src/shade/renderer/scene/bvh/StaticSceneBVH.d.ts.map +1 -1
- package/src/shade/renderer/shader/compiler/CodeChunk.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.d.ts.map +1 -1
- package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.js +11 -0
- package/src/shade/renderer/shader/type/WebGPUStruct.d.ts +1 -1
- package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
- package/src/shade/renderer/texture/GPUTextureContext.d.ts +1 -1
- package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
- package/src/shade/renderer/texture/ShadeTexture.js +1 -1
- package/src/shade/renderer/texture/format/sampler_descriptor_unpack.d.ts.map +1 -1
- package/src/shade/renderer/texture/source/ShadeImage.d.ts +7 -7
- package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
- package/src/shade/renderer/texture/virtual/VTPageTable.d.ts.map +1 -1
- package/src/shade/renderer/view/GPUViewContext.d.ts +2 -2
- package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
- package/src/shade/renderer/view/GPUViewSkyContext.d.ts +1 -1
- package/src/shade/renderer/view/GPUViewSkyContext.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +2 -2
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +1 -1
- package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/CPUBitmapData.d.ts.map +1 -1
- package/src/view/View.d.ts +1 -1
- package/src/view/View.d.ts.map +1 -1
- package/src/view/elements/button/ButtonView.d.ts +1 -1
- package/src/view/elements/button/ButtonView.d.ts.map +1 -1
- package/src/view/elements/progress/SmoothProgressBar.d.ts +2 -2
- package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -1
- package/src/view/elements/radial/RadialMenuElement.d.ts +3 -3
- package/src/view/elements/radial/RadialMenuElement.d.ts.map +1 -1
- package/src/view/elements/windrose/WindRoseDiagram.d.ts.map +1 -1
- package/src/view/layout/DockLayoutView.d.ts.map +1 -1
- package/src/view/layout/DrawerView.d.ts +2 -2
- package/src/view/layout/DrawerView.d.ts.map +1 -1
- package/src/view/layout/SplitView.d.ts +9 -9
- package/src/view/layout/SplitView.d.ts.map +1 -1
- package/src/view/minimap/MinimapMarkerCollection.d.ts +3 -2
- package/src/view/minimap/MinimapMarkerCollection.d.ts.map +1 -1
- package/src/view/minimap/MinimapMarkerCollection.js +28 -5
- package/src/view/minimap/dom/MinimapMarkerView.js +65 -34
- package/src/view/minimap/gl/MarkerGL.d.ts +15 -3
- package/src/view/minimap/gl/MarkerGL.d.ts.map +1 -1
- package/src/view/minimap/gl/MarkerGL.js +31 -4
- package/src/engine/physics/BULLET_REVIEW.md +0 -945
- package/src/engine/physics/CANNON_REVIEW.md +0 -1300
- package/src/engine/physics/CONSTRAINT_SOLVER_BENCH_LOG.md +0 -208
- package/src/engine/physics/CONSTRAINT_SOLVER_IMPROVEMENTS_PLAN.md +0 -364
- package/src/engine/physics/INTEPOLATION_SYSTEM_PLAN.md +0 -287
- package/src/engine/physics/JOLT_REVIEW.md +0 -913
- package/src/engine/physics/PLAN.md +0 -1120
- package/src/engine/physics/RAPIER_REVIEW.md +0 -934
- package/src/engine/physics/REVIEW_001_ACTION_PLAN.md +0 -642
- package/src/engine/physics/REVIEW_002.md +0 -151
- package/src/engine/physics/REVIEW_003.md +0 -166
- package/src/shade/descriptor/util/optional_clone.d.ts.map +0 -1
- package/src/shade/descriptor/util/optional_equality.d.ts.map +0 -1
- package/src/shade/descriptor/util/optional_hash.d.ts.map +0 -1
- package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.js +0 -2063
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts +0 -19
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts.map +0 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.js +0 -30
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts +0 -11
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts.map +0 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.js +0 -13
- /package/src/{shade/descriptor/util → core/model/object}/optional_clone.d.ts +0 -0
- /package/src/{shade/descriptor/util → core/model/object}/optional_clone.js +0 -0
|
@@ -90,12 +90,14 @@ for (const type of PARTICLE_ALL_VALUE_TYPES) {
|
|
|
90
90
|
*
|
|
91
91
|
* IDs are handed out in declaration order rather than by {@link NodeDescription}'s global counter,
|
|
92
92
|
* so they do not drift with unrelated node usage elsewhere in the engine. Appending new node types
|
|
93
|
-
* at the end of the library is therefore safe
|
|
94
|
-
*
|
|
93
|
+
* at the end of the library is therefore safe. Removed types leave their IDs unused so existing
|
|
94
|
+
* serialized graphs retain the same IDs for every remaining type.
|
|
95
95
|
*
|
|
96
96
|
* @type {Map<string, ParticleNodeDescription>}
|
|
97
97
|
*/
|
|
98
|
-
const descriptions_by_name = new Map();
|
|
98
|
+
const descriptions_by_name = new Map();
|
|
99
|
+
|
|
100
|
+
let next_description_id = 0;
|
|
99
101
|
|
|
100
102
|
/**
|
|
101
103
|
* @param {string} name
|
|
@@ -123,7 +125,7 @@ function define(name, inputs, emit, {
|
|
|
123
125
|
const description = new ParticleNodeDescription();
|
|
124
126
|
|
|
125
127
|
description.name = name;
|
|
126
|
-
description.id =
|
|
128
|
+
description.id = next_description_id++;
|
|
127
129
|
|
|
128
130
|
// what an author reads is decided in one table, away from the lowering; see
|
|
129
131
|
// ./particle_node_presentation.js
|
|
@@ -572,14 +574,8 @@ define("compare", ["a", "b"], (s, c) => {
|
|
|
572
574
|
}, MASK_RESULT);
|
|
573
575
|
define("select", ["a", "b", "condition"], (s, c) => s.emit(VM_OP.SELECT, c.out, c.in("a"), c.in("b"), c.in("condition"), c.width), blend_controlled_by("condition"));
|
|
574
576
|
|
|
575
|
-
//
|
|
576
|
-
|
|
577
|
-
// a curve read wider than a scalar is the broadcast for free.
|
|
578
|
-
define("curve", ["t"], (s, c) => s.curve(c.out, c.parameters.handle, c.in("t"), c.width), {
|
|
579
|
-
infer_types: () => ({ output: PARTICLE_TYPE_F32, inputs: { t: PARTICLE_TYPE_F32 } }),
|
|
580
|
-
operation_width: ({ demand }) => demand,
|
|
581
|
-
input_widths: () => ({ t: 1 }),
|
|
582
|
-
});
|
|
577
|
+
// ID 39 belonged to the removed animation-table sampler. Keep it unused.
|
|
578
|
+
next_description_id++;
|
|
583
579
|
|
|
584
580
|
// --- semantic sources ---
|
|
585
581
|
// Appended rather than filed with the other sources, because a node type's id is its position in
|
|
@@ -665,9 +661,7 @@ function expanding(name, inputs, output, body) {
|
|
|
665
661
|
return description;
|
|
666
662
|
}
|
|
667
663
|
|
|
668
|
-
// One curve, written into the program
|
|
669
|
-
// host's animation-curve table and this one *is* the curve, the way `color` is a colour rather than
|
|
670
|
-
// the name of one.
|
|
664
|
+
// One authored curve, written into the program as arithmetic.
|
|
671
665
|
expanding(
|
|
672
666
|
"curveLiteral",
|
|
673
667
|
[{ name: "t", type: PARTICLE_TYPE_F32 }],
|
|
@@ -58,7 +58,7 @@ export function particle_type_conversion(from: ParticleValueType, to: ParticleVa
|
|
|
58
58
|
dropped?: string;
|
|
59
59
|
zeroed?: string;
|
|
60
60
|
message: string;
|
|
61
|
-
};
|
|
61
|
+
} | null;
|
|
62
62
|
/**
|
|
63
63
|
* The types a value in a particle graph can have: a float vector of one to four lanes, and the
|
|
64
64
|
* types that say what such a vector *means*.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParticleValueType.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/ParticleValueType.js"],"names":[],"mappings":"AAqKA;;;;;;;;;;GAUG;AACH,mDAFa,iBAAiB,GAAC,IAAI,CAQlC;AAED;;;;;;;;;GASG;AACH,gDAJW,MAAM,GACJ,iBAAiB,CAW7B;AAED;;;;;;;GAOG;AACH,8DAFa,iBAAiB,GAAC,IAAI,CAQlC;AAED;;;;;;;;;;;;GAYG;AACH,4CAHW,SAAS,iBAAiB,GAAC,IAAI,GAAC,SAAS,CAAC,GACxC,iBAAiB,GAAC,IAAI,CAkBlC;AAKD;;;;;;;;;GASG;AACH,+CALW,iBAAiB,MACjB,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ParticleValueType.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/ParticleValueType.js"],"names":[],"mappings":"AAqKA;;;;;;;;;;GAUG;AACH,mDAFa,iBAAiB,GAAC,IAAI,CAQlC;AAED;;;;;;;;;GASG;AACH,gDAJW,MAAM,GACJ,iBAAiB,CAW7B;AAED;;;;;;;GAOG;AACH,8DAFa,iBAAiB,GAAC,IAAI,CAQlC;AAED;;;;;;;;;;;;GAYG;AACH,4CAHW,SAAS,iBAAiB,GAAC,IAAI,GAAC,SAAS,CAAC,GACxC,iBAAiB,GAAC,IAAI,CAkBlC;AAKD;;;;;;;;;GASG;AACH,+CALW,iBAAiB,MACjB,iBAAiB,GACf;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAC,IAAI,CAyBrE;AA3RD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH;IAwBI;;;;;;;OAOG;IACH,gBAPW,MAAM,QACN,MAAM,cACN,MAAM;QAEY,QAAQ,GAA1B,OAAO;QACL,iBAAiB,CAU7B;IAvCD;;;OAGG;IACH,YAFU,MAAM,CAED;IAEf;;;;;;;OAOG;IACH,UAFU,OAAO,CAEA;IAEjB;;OAEG;IACH,yBAEC;IAqBL;;;OAGG;IACH,8BAFU,OAAO,CAE8B;CAN9C;AAQD,gCAAgC;AAChC,gCADW,iBAAiB,CACyC;AAErE,gCAAgC;AAChC,iCADW,iBAAiB,CAC2C;AAEvE,gCAAgC;AAChC,iCADW,iBAAiB,CAC2C;AAEvE,gCAAgC;AAChC,iCADW,iBAAiB,CAC2C;AAEvE;;;GAGG;AACH,wCAFU,MAAM,CAE2B;AAE3C;;;;;;;;;GASG;AACH,kCAFU,iBAAiB,CAE0F;AAErH;;;GAGG;AACH,mCAFU,cAAc,iBAAiB,CAAC,CAOvC;AAEH;;;GAGG;AACH,sCAFU,cAAc,iBAAiB,CAAC,CAIvC;AAEH;;;GAGG;AACH,uCAFU,cAAc,iBAAiB,CAAC,CAKvC;yBA9JsB,oDAAoD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make_particle_group.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/make_particle_group.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IAtB6B,KAAK;IACE,KAAK,EAA9B,SAAS,MAAM,CAAC;IACD,IAAI,EAAnB,MAAM;IACU,KAAK,GAArB,MAAM;IACU,IAAI,GAApB,MAAM;IACU,IAAI,GAApB,MAAM;IACuB,MAAM;IAII,cAAc;IAES,MAAM,GAApE,OAAO,6BAA6B,EAAE,cAAc
|
|
1
|
+
{"version":3,"file":"make_particle_group.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/make_particle_group.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IAtB6B,KAAK;IACE,KAAK,EAA9B,SAAS,MAAM,CAAC;IACD,IAAI,EAAnB,MAAM;IACU,KAAK,GAArB,MAAM;IACU,IAAI,GAApB,MAAM;IACU,IAAI,GAApB,MAAM;IACuB,MAAM;IAII,cAAc;IAES,MAAM,GAApE,OAAO,6BAA6B,EAAE,cAAc;IAElD;IACZ,KAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAU,EAAE,MAAM;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CAAC,CAAC;IACtE,OAAW,EAAE,MAAM;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAC,CAAC,CAAA;KAAC,CAAC,CAAA;CACxE,CA+DH;kCAnI6D,wBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particle_graph_authoring.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_graph_authoring.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;GAaG;AACH,sDALW,MAAM,eAEN,MAAM,GACJ,MAAM,CAelB;AAED;;;;;;;;;;;;;;GAcG;AACH,yDALW,MAAM,QACN,MAAM;
|
|
1
|
+
{"version":3,"file":"particle_graph_authoring.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_graph_authoring.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;GAaG;AACH,sDALW,MAAM,eAEN,MAAM,GACJ,MAAM,CAelB;AAED;;;;;;;;;;;;;;GAcG;AACH,yDALW,MAAM,QACN,MAAM,UACN,MAAM,GAAC,MAAM,EAAE,GAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GAC3C,MAAM,CA2BlB;AA2BD;;;;;GAKG;AACH,uCAHc,MAAM,KACP,MAAM,EAAE,CAIpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particle_group_json.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_group_json.js"],"names":[],"mappings":"AA+CA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,gDAHW,OAAO,wBAAwB,EAAE,iBAAiB,GAChD,iBAAiB,CAmC7B;AAED;;;;;;;;;;GAUG;AACH;IAPqC,IAAI,EAA9B,iBAAiB;IACsB,cAAc;IAES,OAAO,UAA5D,MAAM,KAAE,CAAC,0BAAwB,SAAS,CAAC;IAElD,OAAO,wBAAwB,EAAE,iBAAiB,CAiD9D;AAED;;;;;;;GAOG;AACH,mDAHW,OAAO,wBAAwB,EAAE,iBAAiB,GAChD,OAAO,8BAA8B,EAAE,uBAAuB,EAAE,CAI5E;AA9JD;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;GAGG;AACH,wCAFU,MAAM,CAEwC;AAExD;;GAEG;AACH,yCAFU,MAAM,CAE0C;;UAS5C,MAAM;WACN,MAAM;UACN,MAAM;UACN,MAAM;YACN,MAAM;QAAC,
|
|
1
|
+
{"version":3,"file":"particle_group_json.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_group_json.js"],"names":[],"mappings":"AA+CA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,gDAHW,OAAO,wBAAwB,EAAE,iBAAiB,GAChD,iBAAiB,CAmC7B;AAED;;;;;;;;;;GAUG;AACH;IAPqC,IAAI,EAA9B,iBAAiB;IACsB,cAAc;IAES,OAAO,UAA5D,MAAM,KAAE,CAAC,0BAAwB,SAAS,CAAC;IAElD,OAAO,wBAAwB,EAAE,iBAAiB,CAiD9D;AAED;;;;;;;GAOG;AACH,mDAHW,OAAO,wBAAwB,EAAE,iBAAiB,GAChD,OAAO,8BAA8B,EAAE,uBAAuB,EAAE,CAI5E;AA9JD;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;GAGG;AACH,wCAFU,MAAM,CAEwC;AAExD;;GAEG;AACH,yCAFU,MAAM,CAE0C;;UAS5C,MAAM;WACN,MAAM;UACN,MAAM;UACN,MAAM;YACN,MAAM;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAC,IAAI,CAAA;KAAC,CAAC;aACxC,MAAM;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAC,IAAI,CAAA;KAAC,CAAC;UACxC,OAAO,0BAA0B,EAAE,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particle_group_library.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_group_library.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;GAUG;AACH,+CAHW,OAAO,wBAAwB,EAAE,iBAAiB,GAChD,OAAO,wBAAwB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"particle_group_library.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_group_library.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;GAUG;AACH,+CAHW,OAAO,wBAAwB,EAAE,iBAAiB,GAChD,OAAO,wBAAwB,EAAE,iBAAiB,CAqB9D;AAED;;;;GAIG;AACH,mCAFa,OAAO,wBAAwB,EAAE,iBAAiB,EAAE,CAIhE;AAED;;;;;GAKG;AACH,yCAHW,MAAM,GACJ,OAAO,wBAAwB,EAAE,iBAAiB,GAAC,SAAS,CAIxE;AAED;;;;;GAKG;AACH,6CAHW,MAAM,GACJ,OAAO,CAInB"}
|
|
@@ -38,9 +38,14 @@ export function register_particle_group(group) {
|
|
|
38
38
|
|
|
39
39
|
// The group node itself, and the two boundary blocks its body is wired to: a view that opens the
|
|
40
40
|
// group draws those, and everything drawn needs a box generated for it.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
// Stock types leave holes when removed. Allocate after their highest ID rather than relying
|
|
42
|
+
// on NodeDescription's global counter, which counts constructions, not reserved IDs.
|
|
43
|
+
let id = Math.max(...PARTICLE_NODE_REGISTRY.nodes.keys()) + 1;
|
|
44
|
+
|
|
45
|
+
for (const description of [group.description, group.inputNode.description, group.outputNode.description]) {
|
|
46
|
+
description.id = id++;
|
|
47
|
+
PARTICLE_NODE_REGISTRY.addNode(description);
|
|
48
|
+
}
|
|
44
49
|
|
|
45
50
|
return group;
|
|
46
51
|
}
|
|
@@ -91,8 +91,6 @@ export const PARTICLE_PARAMETER_KIND: Readonly<{
|
|
|
91
91
|
ENUM: "enum";
|
|
92
92
|
/** one to four lane selectors in `[0, 4)`, one per output lane */
|
|
93
93
|
SWIZZLE: "swizzle";
|
|
94
|
-
/** a non-negative integer — a curve handle */
|
|
95
|
-
INTEGER: "integer";
|
|
96
94
|
/**
|
|
97
95
|
* an {@link ../../../../engine/animation/curve/AnimationCurve.js AnimationCurve}, as the
|
|
98
96
|
* `{keys: [...]}` record that class writes and reads
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particle_node_parameters.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_node_parameters.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"particle_node_parameters.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_node_parameters.js"],"names":[],"mappings":"AA+LA;;;;;;;;;;;;;;;;;GAiBG;AACH,sDAHW,MAAM,GACJ,MAAM,CAIlB;AAwBD;;;;;;GAMG;AACH,+CAJW,MAAM,GACJ,qBAAqB,EAAE,CAcnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,uDANW,MAAM;IAEyD,MAAM,GAArE,OAAO,6BAA6B,EAAE,cAAc;IAElD,MAAM,CAmBlB;AAED;;;;GAIG;AACH,2CAFa,MAAM;IAAC,WAAW,EAAE,OAAO,8BAA8B,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,qBAAqB,EAAE,CAAA;CAAC,CAAC,CAOrI;;;;sCApRS,MAAM;AApBhB;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AACH;IACI,0FAA0F;;IAE1F,kFAAkF;;IAElF,mFAAmF;;IAEnF,2EAA2E;;IAE3E,kEAAkE;;IAElE;;;OAGG;;IAEH;;;OAGG;;GAEJ;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;GASG;AACH,gDAFU,MAAM,EAAE,CAWf;AAEH;;;;;GAKG;AACH;QAFiB,MAAM,GAAE,MAAM;EAI7B;AAEF;;;;;GAKG;AACH;QAFiB,MAAM,GAAE,qBAAqB,EAAE;EAuF7C;;;;;;;;UAtIW,MAAM;;;;UACN,MAAM;;;;;;;;;;YAGC,MAAM;;;;;;;;YACb,OAAO;;;;kBAIP,MAAM"}
|
|
@@ -37,8 +37,6 @@ export const PARTICLE_PARAMETER_KIND = Object.freeze({
|
|
|
37
37
|
ENUM: "enum",
|
|
38
38
|
/** one to four lane selectors in `[0, 4)`, one per output lane */
|
|
39
39
|
SWIZZLE: "swizzle",
|
|
40
|
-
/** a non-negative integer — a curve handle */
|
|
41
|
-
INTEGER: "integer",
|
|
42
40
|
/**
|
|
43
41
|
* an {@link ../../../../engine/animation/curve/AnimationCurve.js AnimationCurve}, as the
|
|
44
42
|
* `{keys: [...]}` record that class writes and reads
|
|
@@ -172,13 +170,6 @@ export const PARTICLE_NODE_PARAMETER_SCHEMA = Object.freeze({
|
|
|
172
170
|
description: "Which input lane each output lane reads; one to four of them, and that count is the result's width.",
|
|
173
171
|
}],
|
|
174
172
|
|
|
175
|
-
curve: [{
|
|
176
|
-
name: "handle",
|
|
177
|
-
kind: PARTICLE_PARAMETER_KIND.INTEGER,
|
|
178
|
-
default: 0,
|
|
179
|
-
description: "Row of the animation-curve table to sample.",
|
|
180
|
-
}],
|
|
181
|
-
|
|
182
173
|
curveLiteral: [{
|
|
183
174
|
name: "curve",
|
|
184
175
|
kind: PARTICLE_PARAMETER_KIND.CURVE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particle_node_presentation.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_node_presentation.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"particle_node_presentation.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_node_presentation.js"],"names":[],"mappings":"AAiUA;;;;;;;GAOG;AACH,iDAHW,MAAM,GACJ;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAIvD;AAjSD;;;;;;;;GAQG;AACH;QAFiB,MAAM,GAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC;EA8QjE"}
|
|
@@ -301,17 +301,7 @@ export const PARTICLE_NODE_PRESENTATION = Object.freeze({
|
|
|
301
301
|
},
|
|
302
302
|
|
|
303
303
|
// --- ramps ---
|
|
304
|
-
// Two ways to have a curve, and the labels say which is which. The table one came first and was
|
|
305
|
-
// called just "Curve"; it is renamed here rather than leaving the new one to explain itself,
|
|
306
|
-
// because "the one that samples the host's table" is the surprising half of the pair and the
|
|
307
|
-
// one an author has to have decided to want.
|
|
308
|
-
curve: {
|
|
309
|
-
label: "Curve Table",
|
|
310
|
-
icon: `M5 18C10 18 9 6 19 6 ${dot(5, 18, 1.6)} ${dot(19, 6, 1.6)}`,
|
|
311
|
-
help: "sample a row of the host's animation-curve table at t",
|
|
312
|
-
},
|
|
313
304
|
curveLiteral: {
|
|
314
|
-
// the same curve with its keys on it: this one is the curve rather than a handle to one
|
|
315
305
|
label: "Curve",
|
|
316
306
|
icon: `M4 19C10 19 8 5 20 5 ${dot(4, 19, 1.8)} ${dot(12, 12, 1.8)} ${dot(20, 5, 1.8)}`,
|
|
317
307
|
help: "a curve of your own, written into the program: t in, its value out",
|
|
@@ -128,14 +128,8 @@ export function roll_out_particle_gradient(g: import("./ParticleGroupBuilder.js"
|
|
|
128
128
|
* {@link ./ParticleNodeDescription.js ParticleNodeDescription#expand}), and this is what they expand
|
|
129
129
|
* *into*: stock nodes, which is to say VM instructions, with the curve rolled out along them.
|
|
130
130
|
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* There is a `CURVE` opcode, and it is not this. That one samples a row of the animation-curve table
|
|
134
|
-
* a host uploads, which is the right answer for a curve an author is dragging around at runtime and
|
|
135
|
-
* the wrong one for a curve that is part of the effect: it costs a table, a row, a handle to keep in
|
|
136
|
-
* step with it, and a texture fetch. A ramp with four stops rolls out to about twenty instructions
|
|
137
|
-
* of pure arithmetic, needs nothing from the host, and constant-folds where an author has left a
|
|
138
|
-
* segment flat.
|
|
131
|
+
* A ramp with four stops rolls out to about twenty instructions of pure arithmetic, needs nothing
|
|
132
|
+
* from the host, and constant-folds where an author has left a segment flat.
|
|
139
133
|
*
|
|
140
134
|
* ## How a piecewise function becomes straight-line code
|
|
141
135
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particle_ramp.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_ramp.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"particle_ramp.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/graph/particle_ramp.js"],"names":[],"mappings":"AAqFA;;;;;;;;GAQG;AACH,0CAFa,sBAAsB,CASlC;AAED;;;;GAIG;AACH,6CAFa,oBAAoB,EAAE,CAOlC;AAUD;;;;;;;;;GASG;AACH,+CAFa,OAAO,CAanB;AAED;;;;;GAKG;AACH,kDAFa,OAAO,CAanB;AAED;;;;;;;;;GASG;AACH,2CAHW,sBAAsB,GACpB,gBAAgB,EAAE,CAI9B;AAED;;;;;;GAMG;AACH,gDAHW,sBAAsB,GACpB,cAAc,CAQ1B;AAED;;;;;GAKG;AACH,qDAHW,cAAc,GACZ,sBAAsB,CAWlC;AAED;;;;;GAKG;AACH,+CAHW,oBAAoB,EAAE,GACpB,oBAAoB,EAAE,CAMlC;AAED;;;;;;;GAOG;AACH,gDAJW,oBAAoB,EAAE,KACtB,MAAM,GACJ,MAAM,EAAE,CAsBpB;AA8BD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,2CALW,OAAO,2BAA2B,EAAE,oBAAoB,iBAExD,sBAAsB,OA+ChC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,8CANW,OAAO,2BAA2B,EAAE,oBAAoB,iBAExD,oBAAoB,EAAE,cACtB,MAAM,OA8BhB;AAzYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH;;;;;;;;;GASG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AACH,iDAFU,MAAM,CAEoC;;;;;;UAxBtC,MAAM;WACN,MAAM;eACN,MAAM;gBACN,MAAM;;;;;qCAMP;IAAC,IAAI,EAAE,gBAAgB,EAAE,CAAA;CAAC;;;;;;mCAQ1B;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC;+BA5EjB,sDAAsD"}
|
|
@@ -11,14 +11,8 @@ import { AnimationCurve } from "../../../../engine/animation/curve/AnimationCurv
|
|
|
11
11
|
* {@link ./ParticleNodeDescription.js ParticleNodeDescription#expand}), and this is what they expand
|
|
12
12
|
* *into*: stock nodes, which is to say VM instructions, with the curve rolled out along them.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* There is a `CURVE` opcode, and it is not this. That one samples a row of the animation-curve table
|
|
17
|
-
* a host uploads, which is the right answer for a curve an author is dragging around at runtime and
|
|
18
|
-
* the wrong one for a curve that is part of the effect: it costs a table, a row, a handle to keep in
|
|
19
|
-
* step with it, and a texture fetch. A ramp with four stops rolls out to about twenty instructions
|
|
20
|
-
* of pure arithmetic, needs nothing from the host, and constant-folds where an author has left a
|
|
21
|
-
* segment flat.
|
|
14
|
+
* A ramp with four stops rolls out to about twenty instructions of pure arithmetic, needs nothing
|
|
15
|
+
* from the host, and constant-folds where an author has left a segment flat.
|
|
22
16
|
*
|
|
23
17
|
* ## How a piecewise function becomes straight-line code
|
|
24
18
|
*
|
|
@@ -231,12 +231,6 @@ function check_parameters(node, description, layout, error) {
|
|
|
231
231
|
}
|
|
232
232
|
break;
|
|
233
233
|
|
|
234
|
-
case PARTICLE_PARAMETER_KIND.INTEGER:
|
|
235
|
-
if (!Number.isInteger(value) || value < 0) {
|
|
236
|
-
error(node.id, `Parameter '${parameter.name}' must be a non-negative whole number.`);
|
|
237
|
-
}
|
|
238
|
-
break;
|
|
239
|
-
|
|
240
234
|
// A curve and a gradient are the only parameters with a shape underneath them, and both
|
|
241
235
|
// are written out into instructions rather than read at runtime — so a malformed one is
|
|
242
236
|
// a compile that throws rather than a value that misbehaves, and it is worth catching
|
|
@@ -59,6 +59,17 @@
|
|
|
59
59
|
* passes must read — exactly the ReSTIR reservoir pattern. Every persistent buffer is imported
|
|
60
60
|
* exactly once: two imports of one buffer are two resource entries the graph cannot tell apart.
|
|
61
61
|
*
|
|
62
|
+
* ## What is imported, and what the graph owns
|
|
63
|
+
*
|
|
64
|
+
* A buffer is imported only if its contents cross the frame boundary: the pool, the free list, the
|
|
65
|
+
* counters, the alive lists, `sim_list` (written here, read by next frame's simulate),
|
|
66
|
+
* `dispatch_args` (the same), the program blob and the two CPU-uploaded queues. Everything else is
|
|
67
|
+
* produced and consumed inside one graph, so the pass that first writes it declares it with a
|
|
68
|
+
* {@link BufferResourceDescriptor} in place of a handle and the graph allocates it just in time and
|
|
69
|
+
* releases it after its last reader — into the pool every other feature draws from. That is the
|
|
70
|
+
* spawn counts and the emit command, the VM's wide register file, the draw args, the bucketing
|
|
71
|
+
* scratch (`coherence/`) and the whole depth sort (`sort/`).
|
|
72
|
+
*
|
|
62
73
|
* On the very first frame `dispatch_args` must be zero-initialised (WebGPU zero-fills new buffers)
|
|
63
74
|
* and the `ALIVE_IN` counter 0, so simulate is a no-op until the first build-indirect has run.
|
|
64
75
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph_particles.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/graph_particles.js"],"names":[],"mappings":"AAuCA
|
|
1
|
+
{"version":3,"file":"graph_particles.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/graph_particles.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH;IA7BkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IAC/D,MAAM,EAArB,MAAM;IACS,cAAc,EAA7B,MAAM;IACS,GAAG,EAAlB,MAAM;IACS,QAAQ;QACC,QAAQ,EAAhC,MAAM;QAEkB,WAAW,EAAnC,MAAM;;IACS,QAAQ,EAAvB,MAAM;IACS,YAAY,EAA3B,MAAM;IAEU,cAAc,EAA9B,OAAO;IAGQ,KAAK;QACC,EAAE,EAAvB,MAAM;QACe,IAAI,EAAzB,MAAM;QACe,KAAK,EAA1B,MAAM;QACiB,QAAQ,GAA/B,OAAO;QACc,WAAW,EAAhC,MAAM;QACe,mBAAmB,EAAxC,MAAM;QACe,YAAY,EAAjC,MAAM;QAGe,eAAe,EAApC,MAAM;QAC6D,eAAe,EAAlF,OAAO,6BAA6B,EAAE,cAAc;;IAElD,yBAAyB,CA8TrC;;;;;UAtWa,MAAM;;;;WACN,MAAM;;;;cACN,MAAM;;;;eACN,MAAM;;;;uBACN,MAAM;;;;;sBACN,MAAM"}
|
|
@@ -98,6 +98,17 @@ import { graph_particle_warmup } from "./warmup/graph_particle_warmup.js";
|
|
|
98
98
|
* passes must read — exactly the ReSTIR reservoir pattern. Every persistent buffer is imported
|
|
99
99
|
* exactly once: two imports of one buffer are two resource entries the graph cannot tell apart.
|
|
100
100
|
*
|
|
101
|
+
* ## What is imported, and what the graph owns
|
|
102
|
+
*
|
|
103
|
+
* A buffer is imported only if its contents cross the frame boundary: the pool, the free list, the
|
|
104
|
+
* counters, the alive lists, `sim_list` (written here, read by next frame's simulate),
|
|
105
|
+
* `dispatch_args` (the same), the program blob and the two CPU-uploaded queues. Everything else is
|
|
106
|
+
* produced and consumed inside one graph, so the pass that first writes it declares it with a
|
|
107
|
+
* {@link BufferResourceDescriptor} in place of a handle and the graph allocates it just in time and
|
|
108
|
+
* releases it after its last reader — into the pool every other feature draws from. That is the
|
|
109
|
+
* spawn counts and the emit command, the VM's wide register file, the draw args, the bucketing
|
|
110
|
+
* scratch (`coherence/`) and the whole depth sort (`sort/`).
|
|
111
|
+
*
|
|
101
112
|
* On the very first frame `dispatch_args` must be zero-initialised (WebGPU zero-fills new buffers)
|
|
102
113
|
* and the `ALIVE_IN` counter 0, so simulate is a no-op until the first build-indirect has run.
|
|
103
114
|
*/
|
|
@@ -134,8 +145,8 @@ import { graph_particle_warmup } from "./warmup/graph_particle_warmup.js";
|
|
|
134
145
|
* @param {object} params.frame per-frame scalars
|
|
135
146
|
* @param {number} params.frame.dt
|
|
136
147
|
* @param {number} params.frame.time
|
|
137
|
-
* @param {number} params.frame.index
|
|
138
|
-
* @param {boolean} [params.frame.rebucket] program assignments changed since the previous frame
|
|
148
|
+
* @param {number} params.frame.index
|
|
149
|
+
* @param {boolean} [params.frame.rebucket] program assignments changed since the previous frame
|
|
139
150
|
* @param {number} params.frame.max_catchup seconds of missed spawning a woken emitter makes up
|
|
140
151
|
* @param {number} params.frame.spawn_command_count entries in `gpu.spawn_commands` this frame
|
|
141
152
|
* @param {number} params.frame.warmup_count entries in `gpu.warmup_queue` this frame — emitters
|
|
@@ -163,9 +174,16 @@ export function graph_particles_simulate({
|
|
|
163
174
|
assert.isPositiveInteger(capacity, "capacity");
|
|
164
175
|
|
|
165
176
|
const gr_program = graph_import_buffer(graph, gpu.program, "particles/program");
|
|
166
|
-
let gr_sim_list = graph_import_buffer(graph, gpu.sim_list, "particles/sim_list");
|
|
167
|
-
let gr_dispatch = graph_import_buffer(graph, gpu.dispatch_args, "particles/dispatch_args");
|
|
168
|
-
|
|
177
|
+
let gr_sim_list = graph_import_buffer(graph, gpu.sim_list, "particles/sim_list");
|
|
178
|
+
let gr_dispatch = graph_import_buffer(graph, gpu.dispatch_args, "particles/dispatch_args");
|
|
179
|
+
// The draw args are the one indirect buffer that does NOT cross the frame boundary: build-
|
|
180
|
+
// indirect writes all four words at the end of the frame and this frame's draw is the only
|
|
181
|
+
// reader, so the pass that writes them declares them and the graph owns them. `gr_dispatch` is
|
|
182
|
+
// the opposite case and stays imported — next frame's simulate is its reader.
|
|
183
|
+
let gr_draw = BufferResourceDescriptor.from(
|
|
184
|
+
4 * Uint32Array.BYTES_PER_ELEMENT,
|
|
185
|
+
GPUBufferUsage.STORAGE | GPUBufferUsage.INDIRECT,
|
|
186
|
+
);
|
|
169
187
|
|
|
170
188
|
// Buffers mutated by more than one pass must be THREADED: each compute pass writing an imported
|
|
171
189
|
// buffer returns a renamed (versioned) handle, and the next pass must read THAT handle — reading
|
|
@@ -177,32 +195,32 @@ export function graph_particles_simulate({
|
|
|
177
195
|
// Two tables in one buffer — the emitter records the CPU authors and the state the GPU
|
|
178
196
|
// integrates — so the passes that write the state rename the handle every reader after them
|
|
179
197
|
// takes.
|
|
180
|
-
let emitter_database = graph_import_buffer(graph, gpu.emitter_database, "particles/emitter_database");
|
|
181
|
-
|
|
182
|
-
/** @type {import("./coherence/graph_particle_bucket.js").ParticleBucketScratch|undefined} */
|
|
183
|
-
let bucket_scratch;
|
|
184
|
-
if (frame.rebucket) {
|
|
185
|
-
// Live program edits can split a previously uniform wave. Rebuild from the previous
|
|
186
|
-
// compact alive list BEFORE reset discards its count and before simulate broadcasts code.
|
|
187
|
-
const bucketed = graph_particle_bucket({
|
|
188
|
-
graph,
|
|
189
|
-
alive: graph_import_buffer(graph, gpu.alive_read, "particles/alive_read"),
|
|
190
|
-
sim_list: gr_sim_list,
|
|
191
|
-
});
|
|
192
|
-
gr_sim_list = bucketed.sim_list;
|
|
193
|
-
bucket_scratch = bucketed.scratch;
|
|
194
|
-
const indirect = graph_compute_pass({
|
|
195
|
-
graph, shader: shader_particle_build_indirect,
|
|
196
|
-
bindings: {
|
|
197
|
-
counters: bucketed.counters, dispatch_args: gr_dispatch, draw_args: gr_draw,
|
|
198
|
-
u_workgroup_size: PARTICLE_SIMULATE_WORKGROUP_SIZE,
|
|
199
|
-
},
|
|
200
|
-
group_count: [1, 1, 1],
|
|
201
|
-
});
|
|
202
|
-
counters = indirect.counters;
|
|
203
|
-
gr_dispatch = indirect.dispatch_args;
|
|
204
|
-
gr_draw = indirect.draw_args;
|
|
205
|
-
}
|
|
198
|
+
let emitter_database = graph_import_buffer(graph, gpu.emitter_database, "particles/emitter_database");
|
|
199
|
+
|
|
200
|
+
/** @type {import("./coherence/graph_particle_bucket.js").ParticleBucketScratch|undefined} */
|
|
201
|
+
let bucket_scratch;
|
|
202
|
+
if (frame.rebucket) {
|
|
203
|
+
// Live program edits can split a previously uniform wave. Rebuild from the previous
|
|
204
|
+
// compact alive list BEFORE reset discards its count and before simulate broadcasts code.
|
|
205
|
+
const bucketed = graph_particle_bucket({
|
|
206
|
+
graph, emitter_database, pool, counters, capacity, bucket_count,
|
|
207
|
+
alive: graph_import_buffer(graph, gpu.alive_read, "particles/alive_read"),
|
|
208
|
+
sim_list: gr_sim_list,
|
|
209
|
+
});
|
|
210
|
+
gr_sim_list = bucketed.sim_list;
|
|
211
|
+
bucket_scratch = bucketed.scratch;
|
|
212
|
+
const indirect = graph_compute_pass({
|
|
213
|
+
graph, shader: shader_particle_build_indirect,
|
|
214
|
+
bindings: {
|
|
215
|
+
counters: bucketed.counters, dispatch_args: gr_dispatch, draw_args: gr_draw,
|
|
216
|
+
u_workgroup_size: PARTICLE_SIMULATE_WORKGROUP_SIZE,
|
|
217
|
+
},
|
|
218
|
+
group_count: [1, 1, 1],
|
|
219
|
+
});
|
|
220
|
+
counters = indirect.counters;
|
|
221
|
+
gr_dispatch = indirect.dispatch_args;
|
|
222
|
+
gr_draw = indirect.draw_args;
|
|
223
|
+
}
|
|
206
224
|
|
|
207
225
|
// 1. Reset the alive/sorted/sim-padded counters (dead count + ALIVE_IN snapshot persist) and
|
|
208
226
|
// seed the frame's spawn budget from the free count.
|
|
@@ -406,14 +424,14 @@ export function graph_particles_simulate({
|
|
|
406
424
|
// and this pass's rewrite of it on unrelated dependency chains.
|
|
407
425
|
const bucketed = graph_particle_bucket({
|
|
408
426
|
graph,
|
|
409
|
-
gpu,
|
|
410
427
|
emitter_database,
|
|
411
428
|
pool,
|
|
412
429
|
alive: alive_write,
|
|
413
430
|
counters,
|
|
414
|
-
sim_list: gr_sim_list,
|
|
415
|
-
|
|
416
|
-
|
|
431
|
+
sim_list: gr_sim_list,
|
|
432
|
+
capacity,
|
|
433
|
+
bucket_count,
|
|
434
|
+
scratch: bucket_scratch,
|
|
417
435
|
});
|
|
418
436
|
counters = bucketed.counters;
|
|
419
437
|
|
|
@@ -421,8 +439,8 @@ export function graph_particles_simulate({
|
|
|
421
439
|
// rows the tick and the AVBOIT occupancy read. After the bucketing because the dispatch is
|
|
422
440
|
// the one the coherence reset sized from the GPU's own alive count.
|
|
423
441
|
{
|
|
424
|
-
const out = graph_particle_bounds({
|
|
425
|
-
graph,
|
|
442
|
+
const out = graph_particle_bounds({
|
|
443
|
+
graph,
|
|
426
444
|
emitter_database,
|
|
427
445
|
pool,
|
|
428
446
|
alive: alive_write,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph_particles_avboit.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/graph_particles_avboit.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph_particles_avboit.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/graph_particles_avboit.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;GAeG;AACH;IARkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IAC/D,MAAM,EAArB,MAAM;IACoB,kBAAkB,EAA5C,UAAU,MAAM,CAAC;IACF,SAAS,EAAxB,MAAM;IACS,gBAAgB,EAA/B,MAAM;IACS,mBAAmB,EAAlC,MAAM;IACJ,MAAM,CA8ClB;AAED;;;;;;;;;;;;;;;GAeG;AACH;IAZkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IAC/D,MAAM,EAArB,MAAM;IACS,IAAI,EAAnB,MAAM;IACwD,MAAM,EAApE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC;IAC9B,KAAK;IACT,aAAa;IACjB,IAAI,EAAnB,MAAM;IACS,KAAK,EAApB,MAAM;IACS,gBAAgB,EAA/B,MAAM;IACS,SAAS,EAAxB,MAAM;IACJ;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CA8EjE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAjBkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IACnB,QAAQ,EAAnE,OAAO,2BAA2B,EAAE,cAAc;IACnC,MAAM,EAArB,MAAM;IACS,aAAa,EAA5B,MAAM;IACS,IAAI,EAAnB,MAAM;IACS,QAAQ,EAAvB,MAAM;IACS,eAAe,EAA9B,MAAM;IACS,oBAAoB,EAAnC,MAAM;IACsE,YAAY,EAAxF;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC;IAC5C,KAAK;IACT,aAAa;IACjB,IAAI,EAAnB,MAAM;IACS,KAAK,EAApB,MAAM;IACS,gBAAgB,EAA/B,MAAM;IACS,SAAS,EAAxB,MAAM;IACJ;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CA2G/E"}
|
|
@@ -6,7 +6,9 @@ import { AVBOIT_OCCUPANCY_SETTINGS_STRUCT } from "../rasterize/native/avboit/sha
|
|
|
6
6
|
import { STATIC_GRAPHICS_ENGINE_ASSETS } from "../STATIC_GRAPHICS_ENGINE_ASSETS.js";
|
|
7
7
|
import { shader_particle_avboit_occupancy } from "./shaders/shader_particle_avboit_occupancy.js";
|
|
8
8
|
import {
|
|
9
|
-
|
|
9
|
+
PARTICLE_AVBOIT_DRAW_ALPHA_PIPELINE,
|
|
10
|
+
PARTICLE_AVBOIT_DRAW_ADDITIVE_PIPELINE,
|
|
11
|
+
PARTICLE_AVBOIT_DRAW_GENERAL_PIPELINE,
|
|
10
12
|
PARTICLE_AVBOIT_DRAW_RESOURCES,
|
|
11
13
|
} from "./shaders/shader_particle_avboit_draw.js";
|
|
12
14
|
import {
|
|
@@ -268,7 +270,7 @@ export function graph_particle_avboit_draw({
|
|
|
268
270
|
// allowed because the attachment is read-only.
|
|
269
271
|
const pass_encoder = encoder.constructRenderPass({
|
|
270
272
|
label: "Particle AVBOIT Draw",
|
|
271
|
-
pipeline:
|
|
273
|
+
pipeline: PARTICLE_AVBOIT_DRAW_ALPHA_PIPELINE,
|
|
272
274
|
bindings,
|
|
273
275
|
colorAttachments: [
|
|
274
276
|
attachment(data.color),
|
|
@@ -281,8 +283,15 @@ export function graph_particle_avboit_draw({
|
|
|
281
283
|
depthReadOnly: true,
|
|
282
284
|
},
|
|
283
285
|
});
|
|
284
|
-
|
|
285
|
-
|
|
286
|
+
// All three use the alive list; their vertex stages select disjoint particle groups.
|
|
287
|
+
// Premultiplied particles can both cover and emit, so they retain the general pipeline.
|
|
288
|
+
const args = resources.get(data.draw_args);
|
|
289
|
+
pass_encoder.drawIndirect(args, 0);
|
|
290
|
+
pass_encoder.setPipeline(graphics.render_pipelines.obtain(PARTICLE_AVBOIT_DRAW_ADDITIVE_PIPELINE));
|
|
291
|
+
pass_encoder.drawIndirect(args, 0);
|
|
292
|
+
pass_encoder.setPipeline(graphics.render_pipelines.obtain(PARTICLE_AVBOIT_DRAW_GENERAL_PIPELINE));
|
|
293
|
+
pass_encoder.drawIndirect(args, 0);
|
|
294
|
+
pass_encoder.end();
|
|
286
295
|
}
|
|
287
296
|
|
|
288
297
|
const pass_data = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph_particles_billboard.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/graph_particles_billboard.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;
|
|
1
|
+
{"version":3,"file":"graph_particles_billboard.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/graph_particles_billboard.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAhBkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IAC/D,MAAM,EAArB,MAAM;IACS,KAAK,EAApB,MAAM;IACS,KAAK,EAApB,MAAM;IACS,IAAI,EAAnB,MAAM;IACS,SAAS,EAAxB,MAAM;IACS,gBAAgB,EAA/B,MAAM;IACS,SAAS,EAAxB,MAAM;IAES,MAAM;QACS,KAAK;QACT,aAAa;QAC+B,eAAe,EAArF,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM;;IAEpD,MAAM,CAuDlB"}
|
|
@@ -17,7 +17,7 @@ export class InstructionStream {
|
|
|
17
17
|
* A source is what its slot's role in the ISA says: for a register-role slot, a register operand
|
|
18
18
|
* word — a slot index, or `vm_register(slot, pattern)` to read it through a swizzle — or a
|
|
19
19
|
* literal from `vm_immediate(value)`; for any other role, the raw value (an attribute offset, a
|
|
20
|
-
* component count, a builtin id, a
|
|
20
|
+
* component count, a builtin id, a pool index). The kinds word 0 carries follow
|
|
21
21
|
* from that, and register operands are stored in their canonical spelling.
|
|
22
22
|
*
|
|
23
23
|
* `width` is the lane count the operation spans. Left out, it is the opcode's natural width —
|
|
@@ -123,17 +123,6 @@ export class InstructionStream {
|
|
|
123
123
|
* @returns {InstructionStream}
|
|
124
124
|
*/
|
|
125
125
|
random(dst: number, width?: number): InstructionStream;
|
|
126
|
-
/**
|
|
127
|
-
* @param {number} dst
|
|
128
|
-
* @param {number} curve_handle
|
|
129
|
-
* @param {number|{kind: number, word: number}} t a register operand word or a literal, read one lane
|
|
130
|
-
* @param {number} [width]
|
|
131
|
-
* @returns {InstructionStream}
|
|
132
|
-
*/
|
|
133
|
-
curve(dst: number, curve_handle: number, t: number | {
|
|
134
|
-
kind: number;
|
|
135
|
-
word: number;
|
|
136
|
-
}, width?: number): InstructionStream;
|
|
137
126
|
/**
|
|
138
127
|
* @returns {InstructionStream}
|
|
139
128
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstructionStream.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/isa/InstructionStream.js"],"names":[],"mappings":"AAkCA;;;;;;GAMG;AACH;IACI,yCAAyC;IACzC,cADW,MAAM,EAAE,EAAE,CACH;IAClB,iEAAiE;IACjE,gBADW,MAAM,CACE;IAsBnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SARW,MAAM,QACN,MAAM,OACN,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,OACnC,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,OACnC,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,UACnC,MAAM,GACJ,iBAAiB,CA6D7B;IAED;;;;;;OAMG;IACH,iBAHW,UAAU,MAAM,CAAC,GACf,iBAAiB,CAS7B;IAID;;;;;OAKG;IACH,SALW,MAAM,OACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;;;;;;OAQG;IACH,eALW,MAAM,OACN,MAAM,SACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;;;OAKG;IACH,eALW,MAAM,kBACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;;;;;;;OASG;IACH,cANW,MAAM,eACN,MAAM,mBACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAK7B;IAED;;;;;;;;OAQG;IACH,kBALW,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,eACnC,MAAM,mBACN,MAAM,GACJ,iBAAiB,CAK7B;IAED;;;;;OAKG;IACH,iBALW,MAAM,cACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;OAGG;IACH,gBAHW,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GACjC,iBAAiB,CAI7B;IAED;;;;;;;;OAQG;IACH,YAJW,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED
|
|
1
|
+
{"version":3,"file":"InstructionStream.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/isa/InstructionStream.js"],"names":[],"mappings":"AAkCA;;;;;;GAMG;AACH;IACI,yCAAyC;IACzC,cADW,MAAM,EAAE,EAAE,CACH;IAClB,iEAAiE;IACjE,gBADW,MAAM,CACE;IAsBnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SARW,MAAM,QACN,MAAM,OACN,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,OACnC,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,OACnC,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,UACnC,MAAM,GACJ,iBAAiB,CA6D7B;IAED;;;;;;OAMG;IACH,iBAHW,UAAU,MAAM,CAAC,GACf,iBAAiB,CAS7B;IAID;;;;;OAKG;IACH,SALW,MAAM,OACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;;;;;;OAQG;IACH,eALW,MAAM,OACN,MAAM,SACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;;;OAKG;IACH,eALW,MAAM,kBACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;;;;;;;OASG;IACH,cANW,MAAM,eACN,MAAM,mBACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAK7B;IAED;;;;;;;;OAQG;IACH,kBALW,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,eACnC,MAAM,mBACN,MAAM,GACJ,iBAAiB,CAK7B;IAED;;;;;OAKG;IACH,iBALW,MAAM,cACN,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;;OAGG;IACH,gBAHW,MAAM,GAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GACjC,iBAAiB,CAI7B;IAED;;;;;;;;OAQG;IACH,YAJW,MAAM,UACN,MAAM,GACJ,iBAAiB,CAI7B;IAED;;OAEG;IACH,QAFa,iBAAiB,CAI7B;IAED;;OAEG;IACH,gCAEC;IAED;;OAEG;IACH,WAFa,WAAW,CAWvB;;CACJ"}
|
|
@@ -72,7 +72,7 @@ export class InstructionStream {
|
|
|
72
72
|
* A source is what its slot's role in the ISA says: for a register-role slot, a register operand
|
|
73
73
|
* word — a slot index, or `vm_register(slot, pattern)` to read it through a swizzle — or a
|
|
74
74
|
* literal from `vm_immediate(value)`; for any other role, the raw value (an attribute offset, a
|
|
75
|
-
* component count, a builtin id, a
|
|
75
|
+
* component count, a builtin id, a pool index). The kinds word 0 carries follow
|
|
76
76
|
* from that, and register operands are stored in their canonical spelling.
|
|
77
77
|
*
|
|
78
78
|
* `width` is the lane count the operation spans. Left out, it is the opcode's natural width —
|
|
@@ -259,17 +259,6 @@ export class InstructionStream {
|
|
|
259
259
|
return this.emit(VM_OP.RANDOM, dst, 0, 0, 0, width);
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
/**
|
|
263
|
-
* @param {number} dst
|
|
264
|
-
* @param {number} curve_handle
|
|
265
|
-
* @param {number|{kind: number, word: number}} t a register operand word or a literal, read one lane
|
|
266
|
-
* @param {number} [width]
|
|
267
|
-
* @returns {InstructionStream}
|
|
268
|
-
*/
|
|
269
|
-
curve(dst, curve_handle, t, width = undefined) {
|
|
270
|
-
return this.emit(VM_OP.CURVE, dst, curve_handle, t, 0, width);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
262
|
/**
|
|
274
263
|
* @returns {InstructionStream}
|
|
275
264
|
*/
|