@woosh/meep-engine 3.20.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/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/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/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/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/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/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/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/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_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.map +1 -1
- 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/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/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/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 +18 -7
- 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 +77 -72
- 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 +6 -6
- package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts.map +1 -1
- 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_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_billboard.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -1
- package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +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_pack.d.ts.map +1 -1
- 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_equivalence.d.ts.map +1 -1
- package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
- 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.map +1 -1
- 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/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/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/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 +0 -7
- package/src/shade/descriptor/util/optional_clone.d.ts.map +0 -1
- package/src/shade/descriptor/util/optional_equality.d.ts +0 -10
- package/src/shade/descriptor/util/optional_equality.d.ts.map +0 -1
- package/src/shade/descriptor/util/optional_hash.d.ts +0 -9
- package/src/shade/descriptor/util/optional_hash.d.ts.map +0 -1
- package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.js +0 -2063
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RigidBodySerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/RigidBodySerializationAdapter.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RigidBodySerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/RigidBodySerializationAdapter.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH;;IAEI,wBAAkB;IAGlB;;;;OAIG;IACH,uCAFW,SAAS,QA6BnB;IAED;;;;OAIG;IACH,yCAFW,SAAS,QAoCnB;CACJ;gDAlG+C,6DAA6D;0BACnF,gBAAgB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { v3_set } from "../../../core/geom/vec3/v3_set.js";
|
|
1
2
|
import { BinaryClassSerializationAdapter } from "../../ecs/storage/binary/BinaryClassSerializationAdapter.js";
|
|
2
3
|
import { RigidBody } from "./RigidBody.js";
|
|
3
4
|
|
|
@@ -30,19 +31,19 @@ export class RigidBodySerializationAdapter extends BinaryClassSerializationAdapt
|
|
|
30
31
|
serialize(buffer, value) {
|
|
31
32
|
buffer.writeUint8(value.kind);
|
|
32
33
|
|
|
33
|
-
buffer.writeFloat64(value.linearVelocity
|
|
34
|
-
buffer.writeFloat64(value.linearVelocity
|
|
35
|
-
buffer.writeFloat64(value.linearVelocity
|
|
34
|
+
buffer.writeFloat64(value.linearVelocity[0]);
|
|
35
|
+
buffer.writeFloat64(value.linearVelocity[1]);
|
|
36
|
+
buffer.writeFloat64(value.linearVelocity[2]);
|
|
36
37
|
|
|
37
|
-
buffer.writeFloat64(value.angularVelocity
|
|
38
|
-
buffer.writeFloat64(value.angularVelocity
|
|
39
|
-
buffer.writeFloat64(value.angularVelocity
|
|
38
|
+
buffer.writeFloat64(value.angularVelocity[0]);
|
|
39
|
+
buffer.writeFloat64(value.angularVelocity[1]);
|
|
40
|
+
buffer.writeFloat64(value.angularVelocity[2]);
|
|
40
41
|
|
|
41
42
|
buffer.writeFloat64(value.mass);
|
|
42
43
|
|
|
43
|
-
buffer.writeFloat64(value.inverseInertiaLocal
|
|
44
|
-
buffer.writeFloat64(value.inverseInertiaLocal
|
|
45
|
-
buffer.writeFloat64(value.inverseInertiaLocal
|
|
44
|
+
buffer.writeFloat64(value.inverseInertiaLocal[0]);
|
|
45
|
+
buffer.writeFloat64(value.inverseInertiaLocal[1]);
|
|
46
|
+
buffer.writeFloat64(value.inverseInertiaLocal[2]);
|
|
46
47
|
|
|
47
48
|
buffer.writeFloat64(value.linearDamping);
|
|
48
49
|
buffer.writeFloat64(value.angularDamping);
|
|
@@ -67,19 +68,19 @@ export class RigidBodySerializationAdapter extends BinaryClassSerializationAdapt
|
|
|
67
68
|
const lvx = buffer.readFloat64();
|
|
68
69
|
const lvy = buffer.readFloat64();
|
|
69
70
|
const lvz = buffer.readFloat64();
|
|
70
|
-
value.linearVelocity
|
|
71
|
+
v3_set(value.linearVelocity, 0, lvx, lvy, lvz);
|
|
71
72
|
|
|
72
73
|
const avx = buffer.readFloat64();
|
|
73
74
|
const avy = buffer.readFloat64();
|
|
74
75
|
const avz = buffer.readFloat64();
|
|
75
|
-
value.angularVelocity
|
|
76
|
+
v3_set(value.angularVelocity, 0, avx, avy, avz);
|
|
76
77
|
|
|
77
78
|
value.mass = buffer.readFloat64();
|
|
78
79
|
|
|
79
80
|
const iix = buffer.readFloat64();
|
|
80
81
|
const iiy = buffer.readFloat64();
|
|
81
82
|
const iiz = buffer.readFloat64();
|
|
82
|
-
value.inverseInertiaLocal
|
|
83
|
+
v3_set(value.inverseInertiaLocal, 0, iix, iiy, iiz);
|
|
83
84
|
|
|
84
85
|
value.linearDamping = buffer.readFloat64();
|
|
85
86
|
value.angularDamping = buffer.readFloat64();
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* failing loudly at the source.
|
|
12
12
|
*
|
|
13
13
|
* Coverage:
|
|
14
|
-
* - every AWAKE body's linear/angular velocity and
|
|
14
|
+
* - every AWAKE body's linear/angular velocity and Transform64 pose. Sleeping
|
|
15
15
|
* bodies froze with state this sweep already validated (a non-finite
|
|
16
16
|
* velocity can never pass the sleep threshold comparison), so awake-only
|
|
17
17
|
* is exhaustive across steps.
|
|
@@ -13,7 +13,7 @@ import { CONTACT_STRIDE } from "../contact/ManifoldStore.js";
|
|
|
13
13
|
* failing loudly at the source.
|
|
14
14
|
*
|
|
15
15
|
* Coverage:
|
|
16
|
-
* - every AWAKE body's linear/angular velocity and
|
|
16
|
+
* - every AWAKE body's linear/angular velocity and Transform64 pose. Sleeping
|
|
17
17
|
* bodies froze with state this sweep already validated (a non-finite
|
|
18
18
|
* velocity can never pass the sleep threshold comparison), so awake-only
|
|
19
19
|
* is exhaustive across steps.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FluidField.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/fluid/FluidField.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IA2bI;;;;;;;;;OASG;IACH,wCAHW;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,uBAAuB,EAAE,OAAO,CAAA;KAAC,GACpG,UAAU,CAkBtB;IA7cD;;;;;;;OAOG;IACH,YAFU,YAAY,GAAC,IAAI,CAET;IAElB;;;;OAIG;IACH,YAFU,YAAY,GAAC,IAAI,CAET;IAElB;;;;;OAKG;IACH,YAFU,YAAY,GAAC,IAAI,CAET;IAElB;;;;;;OAMG;IACH,OAFU,UAAU,GAAC,IAAI,CAEZ;IAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,sBAFU,UAAU,GAAC,IAAI,CAEG;IAE5B;;;;;;;OAOG;IACH,cAFU,UAAU,GAAC,IAAI,CAEL;IAEpB;;;OAGG;IACH,cAFU,UAAU,GAAC,IAAI,CAEL;IAEpB;;;OAGG;IACH,cAFU,UAAU,GAAC,IAAI,CAEL;IAEpB;;;;;;;;;;;;;;;;OAgBG;IACH,eAFU,UAAU,GAAC,IAAI,CAEJ;IAErB;;;;;;;;;;;;;OAaG;IACH,UAFU,YAAY,kBAAc,IAAI,CAExB;IAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,yBAFU,OAAO,CAEe;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAFU,OAAO,CAEK;IAetB;;;;;;OAMG;IACH,qBAJW,MAAM,SACN,MAAM,SACN,MAAM,QAWhB;IAED;;;OAGG;IACH,iBAHY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAKnC;IAED;;;OAGG;IACH,aAHY,MAAM,CAKjB;IAED;;;;;;;;;OASG;IACH,gBAHW,MAAM,GACL,MAAM,CAejB;IAED;;;OAGG;IACH,kBAHW,MAAM,GACL,MAAM,CAIjB;IAED;;;;OAIG;IACH,oBAJW,MAAM,GACL,YAAY,GAAC,IAAI,CAM5B;IAED;;OAEG;IACH,uBAFY;QAAE,
|
|
1
|
+
{"version":3,"file":"FluidField.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/fluid/FluidField.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IA2bI;;;;;;;;;OASG;IACH,wCAHW;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,uBAAuB,EAAE,OAAO,CAAA;KAAC,GACpG,UAAU,CAkBtB;IA7cD;;;;;;;OAOG;IACH,YAFU,YAAY,GAAC,IAAI,CAET;IAElB;;;;OAIG;IACH,YAFU,YAAY,GAAC,IAAI,CAET;IAElB;;;;;OAKG;IACH,YAFU,YAAY,GAAC,IAAI,CAET;IAElB;;;;;;OAMG;IACH,OAFU,UAAU,GAAC,IAAI,CAEZ;IAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,sBAFU,UAAU,GAAC,IAAI,CAEG;IAE5B;;;;;;;OAOG;IACH,cAFU,UAAU,GAAC,IAAI,CAEL;IAEpB;;;OAGG;IACH,cAFU,UAAU,GAAC,IAAI,CAEL;IAEpB;;;OAGG;IACH,cAFU,UAAU,GAAC,IAAI,CAEL;IAEpB;;;;;;;;;;;;;;;;OAgBG;IACH,eAFU,UAAU,GAAC,IAAI,CAEJ;IAErB;;;;;;;;;;;;;OAaG;IACH,UAFU,YAAY,kBAAc,IAAI,CAExB;IAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,yBAFU,OAAO,CAEe;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAFU,OAAO,CAEK;IAetB;;;;;;OAMG;IACH,qBAJW,MAAM,SACN,MAAM,SACN,MAAM,QAWhB;IAED;;;OAGG;IACH,iBAHY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAKnC;IAED;;;OAGG;IACH,aAHY,MAAM,CAKjB;IAED;;;;;;;;;OASG;IACH,gBAHW,MAAM,GACL,MAAM,CAejB;IAED;;;OAGG;IACH,kBAHW,MAAM,GACL,MAAM,CAIjB;IAED;;;;OAIG;IACH,oBAJW,MAAM,GACL,YAAY,GAAC,IAAI,CAM5B;IAED;;OAEG;IACH,uBAFY;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,EAAE,CAIjD;IAED;;;OAGG;IACH,cAqBC;IA8GD;;OAEG;IACH,kBAFa,OAAO,CAInB;IAED;;;;;;OAMG;IACH,uBAHa;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,uBAAuB,EAAE,OAAO,CAAA;KAAC,CAclH;IA8BD;;;;;;OAMG;IACH,aALW,MAAM,KACN,MAAM,KACN,MAAM,GACL,MAAM,CAajB;IAED;;;;;;;;;;;;OAYG;IACH,iBAPW,MAAM,KACN,MAAM,KACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAgBhB;IAED;;;;;;;;;;OAUG;IACH,iBAPW,MAAM,KACN,MAAM,KACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,QAgBhB;IAED;;;;;;OAMG;IACH,kCANW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,SACN,MAAM,QAOhB;IAED;;;;;;OAMG;IACH,cALW,MAAM,KACN,MAAM,KACN,MAAM,YACN,OAAO,QAIjB;IAED;;;;;OAKG;IACH,aALW,MAAM,KACN,MAAM,KACN,MAAM,GACL,OAAO,CAIlB;IAED;;;;;;;;;;;OAWG;IACH,oBANW,YAAY,GAAC,MAAM,EAAE,KACrB,MAAM,KACN,MAAM,KACN,MAAM,GACL,YAAY,GAAC,MAAM,EAAE,CAUhC;IAED;;;;;;;OAOG;IACH,mBANW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,GACL,MAAM,CAMjB;IAED;;;;;;;;;;OAUG;IACH,cAHW,UAAU,GACT,OAAO,CAqDlB;IAED;;;;;;;;;;;OAWG;IACH,QAFY,MAAM,CAajB;IAED;;;;;;;;;;OAUG;IACH,oCAgBC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,eAJW,MAAM,WACN,MAAM,WACN,MAAM,QA0ChB;IAED;;;;OAIG;IACH,cASC;;CACJ"}
|
|
@@ -154,10 +154,10 @@ SLOWER in V8 — do not do it.
|
|
|
154
154
|
## Phase B — FluidObstacleSystem. DONE.
|
|
155
155
|
|
|
156
156
|
- `FluidObstacle` component (inflation knob) + `FluidObstacleSystem`:
|
|
157
|
-
voxelizes each (FluidObstacle, Collider,
|
|
157
|
+
voxelizes each (FluidObstacle, Collider, Transform64) entity's shape into
|
|
158
158
|
every overlapping FluidComponent's solid mask per tick, via
|
|
159
159
|
`PosedShape3D.signed_distance_at_point` (new posed point queries on
|
|
160
|
-
PosedShape3D, spec'd). Rigid pose —
|
|
160
|
+
PosedShape3D, spec'd). Rigid pose — Transform64.scale ignored, matching the
|
|
161
161
|
physics collider convention. Cell solid iff sdf(centre) <= inflation;
|
|
162
162
|
iteration clipped to the shape AABB.
|
|
163
163
|
- Ownership contract: with >= 1 obstacle the system clears + rebuilds EVERY
|
|
@@ -183,12 +183,12 @@ SLOWER in V8 — do not do it.
|
|
|
183
183
|
quality 8).
|
|
184
184
|
- `FluidObstacleSystem` second pass: per obstacle, the wall velocity is
|
|
185
185
|
**`RigidBody.linearVelocity`** (world m/s — the obstacle tuple is the full
|
|
186
|
-
physics tuple FluidObstacle+Collider+RigidBody+
|
|
186
|
+
physics tuple FluidObstacle+Collider+RigidBody+Transform64); cells it
|
|
187
187
|
voxelized get all six face slots stamped with the grid-units velocity.
|
|
188
188
|
The system refreshes each field's masks BEFORE stamping so the transition
|
|
189
189
|
zeroing is consumed there and the stamped values stick through the
|
|
190
190
|
simulator's own per-step refresh.
|
|
191
|
-
- **Velocity source rationale** (replaced the initial
|
|
191
|
+
- **Velocity source rationale** (replaced the initial Transform64-delta
|
|
192
192
|
finite difference in the same session): pose differencing turns teleports
|
|
193
193
|
(spawn snaps, network corrections) into one-tick air detonations — the
|
|
194
194
|
exact failure mode BodyKind.KinematicPosition was deferred over in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliceVisualiser.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/fluid/SliceVisualiser.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH;IAqCI,cAKC;IAED;;;;;OAKG;IACH,
|
|
1
|
+
{"version":3,"file":"SliceVisualiser.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/fluid/SliceVisualiser.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH;IAqCI,cAKC;IAED;;;;;OAKG;IACH,kBAFW,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,QAI3G;IAED;;;;;;OAMG;IACH,sBAHW,YAAY,EAAE,cACd,MAAM,EAAE,QAsDlB;IAED;;;OAGG;IACH,aA6BC;IAED;;;OAGG;IACH,eAmBC;;CACJ;sBAzLqB,qCAAqC"}
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
* ECS component representing a fluid volume — one {@link FluidField} plus its placement
|
|
3
3
|
* in world space.
|
|
4
4
|
*
|
|
5
|
-
* Behaviour (stepping the simulation, dispatching effectors, re-anchoring on
|
|
5
|
+
* Behaviour (stepping the simulation, dispatching effectors, re-anchoring on Transform64
|
|
6
6
|
* motion) lives on {@link FluidSystem}, not here. This component is pure data.
|
|
7
7
|
*
|
|
8
8
|
* World ↔ grid mapping is uniform and axis-aligned: cell `(0,0,0)`'s center sits at
|
|
9
9
|
* {@link origin}, and cells are spaced {@link cell_size} world-units apart along each
|
|
10
10
|
* axis. For non-uniform or oriented volumes, use multiple components.
|
|
11
11
|
*
|
|
12
|
-
* **Static placement**: leave the entity without a `
|
|
12
|
+
* **Static placement**: leave the entity without a `Transform64`. Set {@link origin}
|
|
13
13
|
* directly and the system never touches it.
|
|
14
14
|
*
|
|
15
|
-
* **Moving placement**: pair the entity with a `
|
|
15
|
+
* **Moving placement**: pair the entity with a `Transform64`. The system re-anchors the
|
|
16
16
|
* grid on every fixedUpdate to `quantize(transform.position, cell_size) + offset`, and
|
|
17
17
|
* when the quantization changes shifts the field by the integer cell delta (carrying
|
|
18
18
|
* fluid data along with the grid so the fluid appears to stay put in world space) and
|
|
@@ -31,19 +31,19 @@ export class FluidComponent {
|
|
|
31
31
|
field: FluidField;
|
|
32
32
|
/**
|
|
33
33
|
* World position of grid cell `(0,0,0)`'s center. For static placement (no
|
|
34
|
-
* `
|
|
35
|
-
* (with `
|
|
34
|
+
* `Transform64` on the entity) the user sets this directly. For moving placement
|
|
35
|
+
* (with `Transform64`) {@link FluidSystem} owns it — every fixedUpdate it computes
|
|
36
36
|
* the desired origin from the transform and either snaps on first sync or shifts
|
|
37
37
|
* the field by the integer cell delta.
|
|
38
38
|
* @type {[number, number, number]}
|
|
39
39
|
*/
|
|
40
40
|
origin: [number, number, number];
|
|
41
41
|
/**
|
|
42
|
-
* World-space offset added to the quantized `
|
|
42
|
+
* World-space offset added to the quantized `Transform64` translation when computing
|
|
43
43
|
* the grid centre. Use to place the grid asymmetrically relative to the entity —
|
|
44
44
|
* e.g. `[-2, 0, 0]` puts the centre 2 world units behind the entity.
|
|
45
45
|
*
|
|
46
|
-
* Only consulted when a `
|
|
46
|
+
* Only consulted when a `Transform64` is present (otherwise `origin` is fully
|
|
47
47
|
* user-controlled).
|
|
48
48
|
* @type {[number, number, number]}
|
|
49
49
|
*/
|
|
@@ -54,8 +54,8 @@ export class FluidComponent {
|
|
|
54
54
|
*/
|
|
55
55
|
cell_size: number;
|
|
56
56
|
/**
|
|
57
|
-
* Half-cell extra margin (in cells) the
|
|
58
|
-
* re-quantizes to the next cell. Without it, a
|
|
57
|
+
* Half-cell extra margin (in cells) the Transform64 must cross before the field
|
|
58
|
+
* re-quantizes to the next cell. Without it, a Transform64 jittering right on the
|
|
59
59
|
* boundary between two cells would re-shift every frame, sloshing every buffer
|
|
60
60
|
* back and forth and re-extrapolating the exposed edges each time — visible as
|
|
61
61
|
* flicker in the fluid and thrashing in any solid-voxelizer downstream of the
|
|
@@ -70,7 +70,7 @@ export class FluidComponent {
|
|
|
70
70
|
* gives a ~10%-of-a-cell deadband on each side, killing jitter while staying
|
|
71
71
|
* imperceptible at typical cell sizes.
|
|
72
72
|
*
|
|
73
|
-
* Only consulted when a `
|
|
73
|
+
* Only consulted when a `Transform64` is present.
|
|
74
74
|
* @type {number}
|
|
75
75
|
*/
|
|
76
76
|
hysteresis: number;
|
|
@@ -6,17 +6,17 @@ import { FluidField } from "../FluidField.js";
|
|
|
6
6
|
* ECS component representing a fluid volume — one {@link FluidField} plus its placement
|
|
7
7
|
* in world space.
|
|
8
8
|
*
|
|
9
|
-
* Behaviour (stepping the simulation, dispatching effectors, re-anchoring on
|
|
9
|
+
* Behaviour (stepping the simulation, dispatching effectors, re-anchoring on Transform64
|
|
10
10
|
* motion) lives on {@link FluidSystem}, not here. This component is pure data.
|
|
11
11
|
*
|
|
12
12
|
* World ↔ grid mapping is uniform and axis-aligned: cell `(0,0,0)`'s center sits at
|
|
13
13
|
* {@link origin}, and cells are spaced {@link cell_size} world-units apart along each
|
|
14
14
|
* axis. For non-uniform or oriented volumes, use multiple components.
|
|
15
15
|
*
|
|
16
|
-
* **Static placement**: leave the entity without a `
|
|
16
|
+
* **Static placement**: leave the entity without a `Transform64`. Set {@link origin}
|
|
17
17
|
* directly and the system never touches it.
|
|
18
18
|
*
|
|
19
|
-
* **Moving placement**: pair the entity with a `
|
|
19
|
+
* **Moving placement**: pair the entity with a `Transform64`. The system re-anchors the
|
|
20
20
|
* grid on every fixedUpdate to `quantize(transform.position, cell_size) + offset`, and
|
|
21
21
|
* when the quantization changes shifts the field by the integer cell delta (carrying
|
|
22
22
|
* fluid data along with the grid so the fluid appears to stay put in world space) and
|
|
@@ -37,8 +37,8 @@ export class FluidComponent {
|
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* World position of grid cell `(0,0,0)`'s center. For static placement (no
|
|
40
|
-
* `
|
|
41
|
-
* (with `
|
|
40
|
+
* `Transform64` on the entity) the user sets this directly. For moving placement
|
|
41
|
+
* (with `Transform64`) {@link FluidSystem} owns it — every fixedUpdate it computes
|
|
42
42
|
* the desired origin from the transform and either snaps on first sync or shifts
|
|
43
43
|
* the field by the integer cell delta.
|
|
44
44
|
* @type {[number, number, number]}
|
|
@@ -46,11 +46,11 @@ export class FluidComponent {
|
|
|
46
46
|
origin = [0, 0, 0];
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
* World-space offset added to the quantized `
|
|
49
|
+
* World-space offset added to the quantized `Transform64` translation when computing
|
|
50
50
|
* the grid centre. Use to place the grid asymmetrically relative to the entity —
|
|
51
51
|
* e.g. `[-2, 0, 0]` puts the centre 2 world units behind the entity.
|
|
52
52
|
*
|
|
53
|
-
* Only consulted when a `
|
|
53
|
+
* Only consulted when a `Transform64` is present (otherwise `origin` is fully
|
|
54
54
|
* user-controlled).
|
|
55
55
|
* @type {[number, number, number]}
|
|
56
56
|
*/
|
|
@@ -63,8 +63,8 @@ export class FluidComponent {
|
|
|
63
63
|
cell_size = 1;
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
* Half-cell extra margin (in cells) the
|
|
67
|
-
* re-quantizes to the next cell. Without it, a
|
|
66
|
+
* Half-cell extra margin (in cells) the Transform64 must cross before the field
|
|
67
|
+
* re-quantizes to the next cell. Without it, a Transform64 jittering right on the
|
|
68
68
|
* boundary between two cells would re-shift every frame, sloshing every buffer
|
|
69
69
|
* back and forth and re-extrapolating the exposed edges each time — visible as
|
|
70
70
|
* flicker in the fluid and thrashing in any solid-voxelizer downstream of the
|
|
@@ -79,7 +79,7 @@ export class FluidComponent {
|
|
|
79
79
|
* gives a ~10%-of-a-cell deadband on each side, killing jitter while staying
|
|
80
80
|
* imperceptible at typical cell sizes.
|
|
81
81
|
*
|
|
82
|
-
* Only consulted when a `
|
|
82
|
+
* Only consulted when a `Transform64` is present.
|
|
83
83
|
* @type {number}
|
|
84
84
|
*/
|
|
85
85
|
hysteresis = 0.1;
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* step. Effectors that don't overlap a given field self-cull via their radius / position
|
|
7
7
|
* checks, so attachment is implicit rather than configured.
|
|
8
8
|
*
|
|
9
|
-
* Pair this component with a `
|
|
9
|
+
* Pair this component with a `Transform64` on the same entity to let position-bearing
|
|
10
10
|
* effectors ({@link WakeFluidEffector}, {@link ImpulseFluidEffector}, ...) follow the
|
|
11
11
|
* entity. The system calls each effector's {@link AbstractFluidEffector.syncFromTransform}
|
|
12
|
-
* with the entity's
|
|
12
|
+
* with the entity's Transform64 before stepping the simulator.
|
|
13
13
|
*/
|
|
14
14
|
export class FluidEffectorsComponent {
|
|
15
15
|
/**
|
|
@@ -8,10 +8,10 @@ import { assert } from "../../../../core/assert.js";
|
|
|
8
8
|
* step. Effectors that don't overlap a given field self-cull via their radius / position
|
|
9
9
|
* checks, so attachment is implicit rather than configured.
|
|
10
10
|
*
|
|
11
|
-
* Pair this component with a `
|
|
11
|
+
* Pair this component with a `Transform64` on the same entity to let position-bearing
|
|
12
12
|
* effectors ({@link WakeFluidEffector}, {@link ImpulseFluidEffector}, ...) follow the
|
|
13
13
|
* entity. The system calls each effector's {@link AbstractFluidEffector.syncFromTransform}
|
|
14
|
-
* with the entity's
|
|
14
|
+
* with the entity's Transform64 before stepping the simulator.
|
|
15
15
|
*/
|
|
16
16
|
export class FluidEffectorsComponent {
|
|
17
17
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Marks an entity's {@link Collider} as a fluid obstacle: each fixed update,
|
|
3
3
|
* {@link FluidObstacleSystem} voxelizes the collider's shape (via its signed
|
|
4
|
-
* distance function, under the entity's rigid `
|
|
4
|
+
* distance function, under the entity's rigid `Transform64` pose) into the solid
|
|
5
5
|
* mask of every overlapping {@link FluidComponent}, and stamps the entity's
|
|
6
6
|
* {@link RigidBody} velocity onto the wall faces as the moving-wall boundary
|
|
7
7
|
* condition. Wind stops at — and is pushed by — the bodies the physics
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* primitives do; mesh-ish shapes that don't will throw at voxelization),
|
|
15
15
|
* - a `RigidBody` — the wall-velocity source (see the system doc for the
|
|
16
16
|
* exact semantics). Static walls use `BodyKind.Static` as usual.
|
|
17
|
-
* - a `
|
|
18
|
-
* the pose is RIGID — `
|
|
17
|
+
* - a `Transform64` for the world pose. Following the collider convention,
|
|
18
|
+
* the pose is RIGID — `Transform64.scale` is ignored, exactly as the
|
|
19
19
|
* physics narrowphase ignores it.
|
|
20
20
|
*
|
|
21
21
|
* Entities missing any part of the tuple are not obstacles and are skipped —
|
|
@@ -3,7 +3,7 @@ import { computeHashFloat } from "../../../../core/primitives/numbers/computeHas
|
|
|
3
3
|
/**
|
|
4
4
|
* Marks an entity's {@link Collider} as a fluid obstacle: each fixed update,
|
|
5
5
|
* {@link FluidObstacleSystem} voxelizes the collider's shape (via its signed
|
|
6
|
-
* distance function, under the entity's rigid `
|
|
6
|
+
* distance function, under the entity's rigid `Transform64` pose) into the solid
|
|
7
7
|
* mask of every overlapping {@link FluidComponent}, and stamps the entity's
|
|
8
8
|
* {@link RigidBody} velocity onto the wall faces as the moving-wall boundary
|
|
9
9
|
* condition. Wind stops at — and is pushed by — the bodies the physics
|
|
@@ -16,8 +16,8 @@ import { computeHashFloat } from "../../../../core/primitives/numbers/computeHas
|
|
|
16
16
|
* primitives do; mesh-ish shapes that don't will throw at voxelization),
|
|
17
17
|
* - a `RigidBody` — the wall-velocity source (see the system doc for the
|
|
18
18
|
* exact semantics). Static walls use `BodyKind.Static` as usual.
|
|
19
|
-
* - a `
|
|
20
|
-
* the pose is RIGID — `
|
|
19
|
+
* - a `Transform64` for the world pose. Following the collider convention,
|
|
20
|
+
* the pose is RIGID — `Transform64.scale` is ignored, exactly as the
|
|
21
21
|
* physics narrowphase ignores it.
|
|
22
22
|
*
|
|
23
23
|
* Entities missing any part of the tuple are not obstacles and are skipped —
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* of every cell the obstacle voxelized (converted to grid units per
|
|
30
30
|
* field); the projection's divergence reads pinned faces at face value,
|
|
31
31
|
* so a moving collider genuinely pushes and drags the air around it.
|
|
32
|
-
* - Pose is still read from `
|
|
32
|
+
* - Pose is still read from `Transform64`; velocity is NOT derived from
|
|
33
33
|
* pose deltas. A teleported body (spawn snap, network correction)
|
|
34
34
|
* relocates its walls but stamps no velocity — no one-tick air blast.
|
|
35
35
|
* This mirrors the engine's own contact-solver rule: see
|
|
@@ -39,7 +39,7 @@ import { FluidObstacle } from "./FluidObstacle.js";
|
|
|
39
39
|
* of every cell the obstacle voxelized (converted to grid units per
|
|
40
40
|
* field); the projection's divergence reads pinned faces at face value,
|
|
41
41
|
* so a moving collider genuinely pushes and drags the air around it.
|
|
42
|
-
* - Pose is still read from `
|
|
42
|
+
* - Pose is still read from `Transform64`; velocity is NOT derived from
|
|
43
43
|
* pose deltas. A teleported body (spawn snap, network correction)
|
|
44
44
|
* relocates its walls but stamps no velocity — no one-tick air blast.
|
|
45
45
|
* This mirrors the engine's own contact-solver rule: see
|
|
@@ -160,9 +160,9 @@ export class FluidObstacleSystem extends System {
|
|
|
160
160
|
// linearVelocity, NOT a pose delta — teleports stamp nothing.
|
|
161
161
|
ecd.traverseEntities([FluidObstacle, Collider, RigidBody, Transform64], function (obstacle, collider, body, transform) {
|
|
162
162
|
const lv = body.linearVelocity;
|
|
163
|
-
const vx = lv
|
|
164
|
-
const vy = lv
|
|
165
|
-
const vz = lv
|
|
163
|
+
const vx = lv[0];
|
|
164
|
+
const vy = lv[1];
|
|
165
|
+
const vz = lv[2];
|
|
166
166
|
|
|
167
167
|
const moving = vx !== 0 || vy !== 0 || vz !== 0;
|
|
168
168
|
|
|
@@ -39,8 +39,8 @@ export class FluidSystem extends System<any> {
|
|
|
39
39
|
* tuple. Lets the engine validate registration order and schedule reads.
|
|
40
40
|
*
|
|
41
41
|
* - `FluidEffectorsComponent` — read every step to gather effectors and to
|
|
42
|
-
* deliver
|
|
43
|
-
* - `
|
|
42
|
+
* deliver Transform64 sync hooks.
|
|
43
|
+
* - `Transform64` — read every step (paired with FluidEffectorsComponent) so
|
|
44
44
|
* position-bearing effectors can follow their entity.
|
|
45
45
|
*/
|
|
46
46
|
components_used: (ResourceAccessSpecification<typeof Transform64> | ResourceAccessSpecification<typeof FluidComponent> | ResourceAccessSpecification<typeof FluidEffectorsComponent>)[];
|
|
@@ -53,8 +53,8 @@ export class FluidSystem extends System {
|
|
|
53
53
|
* tuple. Lets the engine validate registration order and schedule reads.
|
|
54
54
|
*
|
|
55
55
|
* - `FluidEffectorsComponent` — read every step to gather effectors and to
|
|
56
|
-
* deliver
|
|
57
|
-
* - `
|
|
56
|
+
* deliver Transform64 sync hooks.
|
|
57
|
+
* - `Transform64` — read every step (paired with FluidEffectorsComponent) so
|
|
58
58
|
* position-bearing effectors can follow their entity.
|
|
59
59
|
*/
|
|
60
60
|
components_used = [
|
|
@@ -116,7 +116,7 @@ export class FluidSystem extends System {
|
|
|
116
116
|
// when the quantization changes, the field is shifted to follow the world.
|
|
117
117
|
ecd.traverseEntities([FluidComponent, Transform64], fluid_reanchor_field);
|
|
118
118
|
|
|
119
|
-
// 2. Sync every effector that wants to follow its entity's
|
|
119
|
+
// 2. Sync every effector that wants to follow its entity's Transform64.
|
|
120
120
|
ecd.traverseEntities([FluidEffectorsComponent, Transform64], fluid_sync_effectors_from_transform);
|
|
121
121
|
|
|
122
122
|
// 2. Step each fluid field, with broad-phase effector filtering per field.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* projection, transport, scalars), and the solve — pressure above all — is the
|
|
9
9
|
* expensive part. So the split is:
|
|
10
10
|
*
|
|
11
|
-
* - **main thread**: re-anchoring, effector
|
|
11
|
+
* - **main thread**: re-anchoring, effector Transform64 sync, the AABB
|
|
12
12
|
* broad-phase, and `effector.apply(...)`. Effectors stay here because they
|
|
13
13
|
* are arbitrary user-authored classes; keeping them on this side is what
|
|
14
14
|
* makes the swap transparent rather than a porting exercise.
|
|
@@ -33,7 +33,7 @@ const DEFAULT_MAX_FIELD_COUNT = 64;
|
|
|
33
33
|
* projection, transport, scalars), and the solve — pressure above all — is the
|
|
34
34
|
* expensive part. So the split is:
|
|
35
35
|
*
|
|
36
|
-
* - **main thread**: re-anchoring, effector
|
|
36
|
+
* - **main thread**: re-anchoring, effector Transform64 sync, the AABB
|
|
37
37
|
* broad-phase, and `effector.apply(...)`. Effectors stay here because they
|
|
38
38
|
* are arbitrary user-authored classes; keeping them on this side is what
|
|
39
39
|
* makes the swap transparent rather than a porting exercise.
|
|
@@ -287,7 +287,7 @@ export class WorkerFluidSystem extends WorkerSystem {
|
|
|
287
287
|
// already correct by the time they start stepping.
|
|
288
288
|
ecd.traverseEntities([FluidComponent, Transform64], fluid_reanchor_field);
|
|
289
289
|
|
|
290
|
-
// 2. Sync every effector that wants to follow its entity's
|
|
290
|
+
// 2. Sync every effector that wants to follow its entity's Transform64.
|
|
291
291
|
ecd.traverseEntities([FluidEffectorsComponent, Transform64], fluid_sync_effectors_from_transform);
|
|
292
292
|
|
|
293
293
|
// 3. Apply effectors per field, and nominate the field for stepping.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* lands at the geometric middle of the grid.
|
|
9
9
|
*
|
|
10
10
|
* Hysteresis: instead of recomputing `q` from the raw position every frame
|
|
11
|
-
* (which would re-shift on every boundary crossing for a
|
|
11
|
+
* (which would re-shift on every boundary crossing for a Transform64 jittering on
|
|
12
12
|
* a cell edge), the current `q` is recovered from the existing origin and only
|
|
13
13
|
* advances to a new cell when the raw position has drifted more than
|
|
14
14
|
* `0.5 + hysteresis` cells from it. Crossing the threshold snaps to the new
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* identically, and the two must not be allowed to drift apart.
|
|
23
23
|
*
|
|
24
24
|
* @param {FluidComponent} component
|
|
25
|
-
* @param {
|
|
25
|
+
* @param {Transform64} transform
|
|
26
26
|
*/
|
|
27
|
-
export function fluid_reanchor_field(component: FluidComponent, transform:
|
|
27
|
+
export function fluid_reanchor_field(component: FluidComponent, transform: Transform64): void;
|
|
28
28
|
//# sourceMappingURL=fluid_reanchor_field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluid_reanchor_field.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/fluid/ecs/fluid_reanchor_field.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,
|
|
1
|
+
{"version":3,"file":"fluid_reanchor_field.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/fluid/ecs/fluid_reanchor_field.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,8FA0DC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* lands at the geometric middle of the grid.
|
|
9
9
|
*
|
|
10
10
|
* Hysteresis: instead of recomputing `q` from the raw position every frame
|
|
11
|
-
* (which would re-shift on every boundary crossing for a
|
|
11
|
+
* (which would re-shift on every boundary crossing for a Transform64 jittering on
|
|
12
12
|
* a cell edge), the current `q` is recovered from the existing origin and only
|
|
13
13
|
* advances to a new cell when the raw position has drifted more than
|
|
14
14
|
* `0.5 + hysteresis` cells from it. Crossing the threshold snaps to the new
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* identically, and the two must not be allowed to drift apart.
|
|
23
23
|
*
|
|
24
24
|
* @param {FluidComponent} component
|
|
25
|
-
* @param {
|
|
25
|
+
* @param {Transform64} transform
|
|
26
26
|
*/
|
|
27
27
|
export function fluid_reanchor_field(component, transform) {
|
|
28
28
|
const cs = component.cell_size;
|
|
@@ -58,7 +58,7 @@ export function fluid_reanchor_field(component, transform) {
|
|
|
58
58
|
const q_curr_y = Math.round((origin[1] + half_extent_y - offset[1]) / cs);
|
|
59
59
|
const q_curr_z = Math.round((origin[2] + half_extent_z - offset[2]) / cs);
|
|
60
60
|
|
|
61
|
-
// Raw (fractional) cell coordinate the
|
|
61
|
+
// Raw (fractional) cell coordinate the Transform64 sits at right now.
|
|
62
62
|
const raw_x = p[0] / cs;
|
|
63
63
|
const raw_y = p[1] / cs;
|
|
64
64
|
const raw_z = p[2] / cs;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Visitor for the (FluidEffectorsComponent,
|
|
2
|
+
* Visitor for the (FluidEffectorsComponent, Transform64) traversal — lets every
|
|
3
3
|
* position-bearing effector (wakes, splats) follow its owning entity.
|
|
4
4
|
*
|
|
5
5
|
* Shared by {@link FluidSystem} and {@link WorkerFluidSystem}.
|
|
6
6
|
*
|
|
7
7
|
* @param {FluidEffectorsComponent} effectors_component
|
|
8
|
-
* @param {
|
|
8
|
+
* @param {Transform64} transform
|
|
9
9
|
*/
|
|
10
|
-
export function fluid_sync_effectors_from_transform(effectors_component: FluidEffectorsComponent, transform:
|
|
10
|
+
export function fluid_sync_effectors_from_transform(effectors_component: FluidEffectorsComponent, transform: Transform64): void;
|
|
11
11
|
//# sourceMappingURL=fluid_sync_effectors_from_transform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluid_sync_effectors_from_transform.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,
|
|
1
|
+
{"version":3,"file":"fluid_sync_effectors_from_transform.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,gIAMC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Visitor for the (FluidEffectorsComponent,
|
|
2
|
+
* Visitor for the (FluidEffectorsComponent, Transform64) traversal — lets every
|
|
3
3
|
* position-bearing effector (wakes, splats) follow its owning entity.
|
|
4
4
|
*
|
|
5
5
|
* Shared by {@link FluidSystem} and {@link WorkerFluidSystem}.
|
|
6
6
|
*
|
|
7
7
|
* @param {FluidEffectorsComponent} effectors_component
|
|
8
|
-
* @param {
|
|
8
|
+
* @param {Transform64} transform
|
|
9
9
|
*/
|
|
10
10
|
export function fluid_sync_effectors_from_transform(effectors_component, transform) {
|
|
11
11
|
const effectors = effectors_component.effectors;
|
|
@@ -28,13 +28,13 @@ export class AbstractFluidEffector {
|
|
|
28
28
|
apply(field: FluidField, dt: number, world_to_grid: Float32Array | number[]): void;
|
|
29
29
|
/**
|
|
30
30
|
* Optional hook called by {@link FluidSystem} once per step on each effector whose
|
|
31
|
-
* entity also has a `
|
|
31
|
+
* entity also has a `Transform64` component. Default: no-op. Effectors that should
|
|
32
32
|
* follow an entity override this to pull world-space position / orientation /
|
|
33
33
|
* velocity off the transform.
|
|
34
34
|
*
|
|
35
|
-
* @param {
|
|
35
|
+
* @param {Transform64} transform
|
|
36
36
|
*/
|
|
37
|
-
syncFromTransform(transform:
|
|
37
|
+
syncFromTransform(transform: Transform64): void;
|
|
38
38
|
/**
|
|
39
39
|
* Strict value equality. The base implementation collapses to reference equality
|
|
40
40
|
* — every concrete effector class overrides this to compare its own configured
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractFluidEffector.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/fluid/effector/AbstractFluidEffector.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IACI;;;;;;OAMG;IACH,6BALW,MAAM,iBACN,YAAY,GAAC,MAAM,EAAE,QAO/B;IAED;;;;;;;OAOG;IACH,
|
|
1
|
+
{"version":3,"file":"AbstractFluidEffector.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/fluid/effector/AbstractFluidEffector.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IACI;;;;;;OAMG;IACH,6BALW,MAAM,iBACN,YAAY,GAAC,MAAM,EAAE,QAO/B;IAED;;;;;;;OAOG;IACH,gDAEC;IAED;;;;;;OAMG;IACH,cAHW,qBAAqB,GACpB,OAAO,CAIlB;IAED;;;;;OAKG;IACH,QAFY,MAAM,CAIjB;IAED;;;;;;;;;;;OAWG;IACH,iCAEC;CACJ"}
|
|
@@ -32,11 +32,11 @@ export class AbstractFluidEffector {
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Optional hook called by {@link FluidSystem} once per step on each effector whose
|
|
35
|
-
* entity also has a `
|
|
35
|
+
* entity also has a `Transform64` component. Default: no-op. Effectors that should
|
|
36
36
|
* follow an entity override this to pull world-space position / orientation /
|
|
37
37
|
* velocity off the transform.
|
|
38
38
|
*
|
|
39
|
-
* @param {
|
|
39
|
+
* @param {Transform64} transform
|
|
40
40
|
*/
|
|
41
41
|
syncFromTransform(transform) {
|
|
42
42
|
// override as needed
|
|
@@ -192,8 +192,8 @@ export class ImpulseFluidEffector extends AbstractFluidEffector {
|
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
/**
|
|
195
|
-
* Pull world-space position off the entity
|
|
196
|
-
* @param {
|
|
195
|
+
* Pull world-space position off the entity Transform64.
|
|
196
|
+
* @param {Transform64} transform
|
|
197
197
|
*/
|
|
198
198
|
syncFromTransform(transform) {
|
|
199
199
|
const p = transform.translation;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* Trail advancement (copying `position` into `previous_position`) depends on who
|
|
13
13
|
* drives the effector:
|
|
14
14
|
*
|
|
15
|
-
* - **
|
|
15
|
+
* - **Transform64-managed** (entity has a `Transform64`; {@link FluidSystem} calls
|
|
16
16
|
* {@link syncFromTransform} once per fixed update): the trail advances inside
|
|
17
17
|
* the sync, NOT inside {@link apply}. The segment is "movement since the last
|
|
18
18
|
* tick", and `apply` is a pure read — the same instance can be applied to any
|
|
@@ -34,20 +34,20 @@
|
|
|
34
34
|
* effector picks the smallest physically meaningful footprint when the converted
|
|
35
35
|
* radius is below one cell.
|
|
36
36
|
*
|
|
37
|
-
* When the entity carrying a {@link FluidEffectorsComponent} also has a
|
|
37
|
+
* When the entity carrying a {@link FluidEffectorsComponent} also has a Transform64,
|
|
38
38
|
* {@link FluidSystem} calls {@link syncFromTransform} on this effector each step —
|
|
39
39
|
* which pulls the latest world-space position off the transform. On the very first
|
|
40
40
|
* sync `previous_position` is seeded equal to `position` to suppress the spurious
|
|
41
41
|
* wake from `[0, 0, 0]`.
|
|
42
42
|
*
|
|
43
|
-
* For sources you position manually (no
|
|
43
|
+
* For sources you position manually (no Transform64 on the entity, or no entity at
|
|
44
44
|
* all), call {@link reset_trail} once after the initial placement and after any
|
|
45
45
|
* teleport so the next apply doesn't splat a wake across the jump.
|
|
46
46
|
*/
|
|
47
47
|
export class WakeFluidEffector extends AbstractFluidEffector {
|
|
48
48
|
/**
|
|
49
49
|
* Current world-space position of the source. Updated each step from the entity
|
|
50
|
-
*
|
|
50
|
+
* Transform64 (via {@link syncFromTransform}) when one is available, otherwise set
|
|
51
51
|
* by user code before each step.
|
|
52
52
|
* @type {[number, number, number]}
|
|
53
53
|
*/
|