@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
|
@@ -20,7 +20,7 @@ const scratch_b = new Float32Array(3);
|
|
|
20
20
|
* Trail advancement (copying `position` into `previous_position`) depends on who
|
|
21
21
|
* drives the effector:
|
|
22
22
|
*
|
|
23
|
-
* - **
|
|
23
|
+
* - **Transform64-managed** (entity has a `Transform64`; {@link FluidSystem} calls
|
|
24
24
|
* {@link syncFromTransform} once per fixed update): the trail advances inside
|
|
25
25
|
* the sync, NOT inside {@link apply}. The segment is "movement since the last
|
|
26
26
|
* tick", and `apply` is a pure read — the same instance can be applied to any
|
|
@@ -42,13 +42,13 @@ const scratch_b = new Float32Array(3);
|
|
|
42
42
|
* effector picks the smallest physically meaningful footprint when the converted
|
|
43
43
|
* radius is below one cell.
|
|
44
44
|
*
|
|
45
|
-
* When the entity carrying a {@link FluidEffectorsComponent} also has a
|
|
45
|
+
* When the entity carrying a {@link FluidEffectorsComponent} also has a Transform64,
|
|
46
46
|
* {@link FluidSystem} calls {@link syncFromTransform} on this effector each step —
|
|
47
47
|
* which pulls the latest world-space position off the transform. On the very first
|
|
48
48
|
* sync `previous_position` is seeded equal to `position` to suppress the spurious
|
|
49
49
|
* wake from `[0, 0, 0]`.
|
|
50
50
|
*
|
|
51
|
-
* For sources you position manually (no
|
|
51
|
+
* For sources you position manually (no Transform64 on the entity, or no entity at
|
|
52
52
|
* all), call {@link reset_trail} once after the initial placement and after any
|
|
53
53
|
* teleport so the next apply doesn't splat a wake across the jump.
|
|
54
54
|
*/
|
|
@@ -56,7 +56,7 @@ export class WakeFluidEffector extends AbstractFluidEffector {
|
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* Current world-space position of the source. Updated each step from the entity
|
|
59
|
-
*
|
|
59
|
+
* Transform64 (via {@link syncFromTransform}) when one is available, otherwise set
|
|
60
60
|
* by user code before each step.
|
|
61
61
|
* @type {[number, number, number]}
|
|
62
62
|
*/
|
|
@@ -98,7 +98,7 @@ export class WakeFluidEffector extends AbstractFluidEffector {
|
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
100
|
* True once {@link syncFromTransform} has ever been called — the effector is
|
|
101
|
-
* driven by an entity
|
|
101
|
+
* driven by an entity Transform64 via {@link FluidSystem}. In this mode the
|
|
102
102
|
* trail advances in the sync (once per tick) and {@link apply} becomes a pure
|
|
103
103
|
* read, so one instance can serve any number of fluid fields per step.
|
|
104
104
|
* @type {boolean}
|
|
@@ -119,7 +119,7 @@ export class WakeFluidEffector extends AbstractFluidEffector {
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Pull world-space position off the entity
|
|
122
|
+
* Pull world-space position off the entity Transform64 and advance the trail:
|
|
123
123
|
* `previous_position` takes the position adopted on the LAST sync, `position`
|
|
124
124
|
* takes the transform's current one. Called by {@link FluidSystem} once per
|
|
125
125
|
* fixed update, before any field is stepped — so every field stepped this
|
|
@@ -129,7 +129,7 @@ export class WakeFluidEffector extends AbstractFluidEffector {
|
|
|
129
129
|
* `previous_position = position` instead, suppressing a wake from the origin
|
|
130
130
|
* or across a teleport.
|
|
131
131
|
*
|
|
132
|
-
* @param {
|
|
132
|
+
* @param {Transform64} transform
|
|
133
133
|
*/
|
|
134
134
|
syncFromTransform(transform) {
|
|
135
135
|
const p = transform.translation;
|
|
@@ -328,7 +328,7 @@ export class WakeFluidEffector extends AbstractFluidEffector {
|
|
|
328
328
|
|
|
329
329
|
/**
|
|
330
330
|
* Manual-mode trail bookkeeping: shift `previous_position` to `position` so
|
|
331
|
-
* the next apply() picks up where this one left off.
|
|
331
|
+
* the next apply() picks up where this one left off. Transform64-managed
|
|
332
332
|
* effectors skip this — their trail advances in {@link syncFromTransform},
|
|
333
333
|
* keeping apply() pure so the same segment serves every field in the step.
|
|
334
334
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* vector and write the result.
|
|
4
4
|
*
|
|
5
5
|
* Body-frame inverse inertia is supplied as a diagonal in principal axes
|
|
6
|
-
* (
|
|
6
|
+
* (three elements, indexed `[0] [1] [2]`). World inverse inertia is
|
|
7
7
|
* `I_w⁻¹ = R · diag · R^T` where `R` is the body's orientation. We compute
|
|
8
8
|
* `result = R · diag · R^T · v` without materialising the full 3x3 matrix:
|
|
9
9
|
*
|
|
@@ -17,35 +17,26 @@
|
|
|
17
17
|
* Sphere short-circuit: if the inverse inertia is isotropic (ix === iy === iz),
|
|
18
18
|
* the rotation cancels and `result = ix * v`. Skip the trig and save the work.
|
|
19
19
|
*
|
|
20
|
-
* Decoupled from RigidBody /
|
|
20
|
+
* Decoupled from RigidBody / Transform64 on purpose — callers pass only what
|
|
21
21
|
* is actually read. Lets `compute_penetration` and other standalone
|
|
22
22
|
* geometry helpers reuse this without manufacturing a body.
|
|
23
23
|
*
|
|
24
24
|
* @param {number[]|Float64Array} result length >= 3
|
|
25
25
|
* @param {number} result_offset
|
|
26
|
-
* @param {
|
|
27
|
-
* Body-frame inverse inertia diagonal (typically `rb.inverseInertiaLocal`).
|
|
28
|
-
* @param {
|
|
29
|
-
* Body orientation as a unit quaternion (typically `transform.rotation`).
|
|
26
|
+
* @param {number[]|Float64Array} inv_inertia_local
|
|
27
|
+
* Body-frame inverse inertia diagonal, `[x, y, z]` (typically `rb.inverseInertiaLocal`).
|
|
28
|
+
* @param {number[]|Float64Array} rotation
|
|
29
|
+
* Body orientation as a unit quaternion, `[x, y, z, w]` (typically `transform.rotation`).
|
|
30
30
|
* @param {number} vx
|
|
31
31
|
* @param {number} vy
|
|
32
32
|
* @param {number} vz
|
|
33
33
|
*/
|
|
34
|
-
export function world_inverse_inertia_apply(result: number[] | Float64Array, result_offset: number, inv_inertia_local:
|
|
35
|
-
x: number;
|
|
36
|
-
y: number;
|
|
37
|
-
z: number;
|
|
38
|
-
}, rotation: {
|
|
39
|
-
x: number;
|
|
40
|
-
y: number;
|
|
41
|
-
z: number;
|
|
42
|
-
w: number;
|
|
43
|
-
}, vx: number, vy: number, vz: number): void;
|
|
34
|
+
export function world_inverse_inertia_apply(result: number[] | Float64Array, result_offset: number, inv_inertia_local: number[] | Float64Array, rotation: number[] | Float64Array, vx: number, vy: number, vz: number): void;
|
|
44
35
|
/**
|
|
45
36
|
* Raw-float counterpart of {@link world_inverse_inertia_apply}: the same
|
|
46
37
|
* `I_w⁻¹ = R · diag · R^T` application, with the inverse-inertia diagonal and
|
|
47
38
|
* orientation quaternion passed as scalars rather than read off
|
|
48
|
-
*
|
|
39
|
+
* three- / four-element arrays. The data-oriented contact / joint solver
|
|
49
40
|
* reads these straight out of its `SolverBodyState` typed array, avoiding the
|
|
50
41
|
* per-impulse object dereference on the hot path. The arithmetic is identical
|
|
51
42
|
* to the object version (same operation order), so results are bit-identical.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world_inverse_inertia.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/inertia/world_inverse_inertia.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,oDAVW,MAAM,EAAE,GAAC,YAAY,iBACrB,MAAM,qBACN
|
|
1
|
+
{"version":3,"file":"world_inverse_inertia.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/inertia/world_inverse_inertia.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,oDAVW,MAAM,EAAE,GAAC,YAAY,iBACrB,MAAM,qBACN,MAAM,EAAE,GAAC,YAAY,YAErB,MAAM,EAAE,GAAC,YAAY,MAErB,MAAM,MACN,MAAM,MACN,MAAM,QAkBhB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,+CAhBW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,WACN,MAAM,EAAE,GAAC,YAAY,GACnB,MAAM,CAgBlB;AAED,iLA0CC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* vector and write the result.
|
|
4
4
|
*
|
|
5
5
|
* Body-frame inverse inertia is supplied as a diagonal in principal axes
|
|
6
|
-
* (
|
|
6
|
+
* (three elements, indexed `[0] [1] [2]`). World inverse inertia is
|
|
7
7
|
* `I_w⁻¹ = R · diag · R^T` where `R` is the body's orientation. We compute
|
|
8
8
|
* `result = R · diag · R^T · v` without materialising the full 3x3 matrix:
|
|
9
9
|
*
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
* Sphere short-circuit: if the inverse inertia is isotropic (ix === iy === iz),
|
|
18
18
|
* the rotation cancels and `result = ix * v`. Skip the trig and save the work.
|
|
19
19
|
*
|
|
20
|
-
* Decoupled from RigidBody /
|
|
20
|
+
* Decoupled from RigidBody / Transform64 on purpose — callers pass only what
|
|
21
21
|
* is actually read. Lets `compute_penetration` and other standalone
|
|
22
22
|
* geometry helpers reuse this without manufacturing a body.
|
|
23
23
|
*
|
|
24
24
|
* @param {number[]|Float64Array} result length >= 3
|
|
25
25
|
* @param {number} result_offset
|
|
26
|
-
* @param {
|
|
27
|
-
* Body-frame inverse inertia diagonal (typically `rb.inverseInertiaLocal`).
|
|
28
|
-
* @param {
|
|
29
|
-
* Body orientation as a unit quaternion (typically `transform.rotation`).
|
|
26
|
+
* @param {number[]|Float64Array} inv_inertia_local
|
|
27
|
+
* Body-frame inverse inertia diagonal, `[x, y, z]` (typically `rb.inverseInertiaLocal`).
|
|
28
|
+
* @param {number[]|Float64Array} rotation
|
|
29
|
+
* Body orientation as a unit quaternion, `[x, y, z, w]` (typically `transform.rotation`).
|
|
30
30
|
* @param {number} vx
|
|
31
31
|
* @param {number} vy
|
|
32
32
|
* @param {number} vz
|
|
@@ -36,14 +36,14 @@ export function world_inverse_inertia_apply(
|
|
|
36
36
|
inv_inertia_local, rotation,
|
|
37
37
|
vx, vy, vz
|
|
38
38
|
) {
|
|
39
|
-
// Thin
|
|
40
|
-
// quaternion
|
|
39
|
+
// Thin array-reading wrapper over the raw-float kernel. Reads the
|
|
40
|
+
// quaternion elements eagerly (harmless in the isotropic short-circuit,
|
|
41
41
|
// where they're ignored) so the kernel is the single source of the math —
|
|
42
|
-
// keeping
|
|
42
|
+
// keeping the component callers and the data-oriented (SoA) solver path
|
|
43
43
|
// bit-identical.
|
|
44
44
|
world_inverse_inertia_apply_raw(
|
|
45
45
|
result, result_offset,
|
|
46
|
-
inv_inertia_local
|
|
46
|
+
inv_inertia_local[0], inv_inertia_local[1], inv_inertia_local[2],
|
|
47
47
|
rotation[0], rotation[1], rotation[2], rotation[3],
|
|
48
48
|
vx, vy, vz
|
|
49
49
|
);
|
|
@@ -53,7 +53,7 @@ export function world_inverse_inertia_apply(
|
|
|
53
53
|
* Raw-float counterpart of {@link world_inverse_inertia_apply}: the same
|
|
54
54
|
* `I_w⁻¹ = R · diag · R^T` application, with the inverse-inertia diagonal and
|
|
55
55
|
* orientation quaternion passed as scalars rather than read off
|
|
56
|
-
*
|
|
56
|
+
* three- / four-element arrays. The data-oriented contact / joint solver
|
|
57
57
|
* reads these straight out of its `SolverBodyState` typed array, avoiding the
|
|
58
58
|
* per-impulse object dereference on the hot path. The arithmetic is identical
|
|
59
59
|
* to the object version (same operation order), so results are bit-identical.
|
|
@@ -22,16 +22,15 @@
|
|
|
22
22
|
*
|
|
23
23
|
* Persistent linear / angular velocity is read from the data-oriented
|
|
24
24
|
* {@link SolverBodyState} span (`ss` / `base`); the pose remains authoritative
|
|
25
|
-
* on the `
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* frame.
|
|
25
|
+
* on the `Transform64` and is written there as each substep runs, so the
|
|
26
|
+
* per-substep concave re-detection keeps seeing the moved pose. The integrated
|
|
27
|
+
* orientation is mirrored back into the solver state so the next substep's
|
|
28
|
+
* impulse loop evaluates world inertia against the current frame.
|
|
30
29
|
*
|
|
31
30
|
* @param {Float64Array} ss solver-body-state data array
|
|
32
31
|
* @param {number} base `body_index * SBS_STRIDE`
|
|
33
32
|
* @param {RigidBody} rb
|
|
34
|
-
* @param {
|
|
33
|
+
* @param {Transform64} transform
|
|
35
34
|
* @param {number} dt
|
|
36
35
|
* @param {number} ps_lin_x pseudo-linear-velocity x (0 when no contacts)
|
|
37
36
|
* @param {number} ps_lin_y
|
|
@@ -40,5 +39,5 @@
|
|
|
40
39
|
* @param {number} ps_ang_y
|
|
41
40
|
* @param {number} ps_ang_z
|
|
42
41
|
*/
|
|
43
|
-
export function integrate_position(ss: Float64Array, base: number, rb: RigidBody, transform:
|
|
42
|
+
export function integrate_position(ss: Float64Array, base: number, rb: RigidBody, transform: Transform64, dt: number, ps_lin_x: number, ps_lin_y: number, ps_lin_z: number, ps_ang_x: number, ps_ang_y: number, ps_ang_z: number): void;
|
|
44
43
|
//# sourceMappingURL=integrate_position.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrate_position.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/integration/integrate_position.js"],"names":[],"mappings":"AAUA
|
|
1
|
+
{"version":3,"file":"integrate_position.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/integration/integrate_position.js"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,uCAZW,YAAY,QACZ,MAAM,6CAGN,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,QA+ChB"}
|
|
@@ -32,16 +32,15 @@ const scratch_q = new Float64Array(4);
|
|
|
32
32
|
*
|
|
33
33
|
* Persistent linear / angular velocity is read from the data-oriented
|
|
34
34
|
* {@link SolverBodyState} span (`ss` / `base`); the pose remains authoritative
|
|
35
|
-
* on the `
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* frame.
|
|
35
|
+
* on the `Transform64` and is written there as each substep runs, so the
|
|
36
|
+
* per-substep concave re-detection keeps seeing the moved pose. The integrated
|
|
37
|
+
* orientation is mirrored back into the solver state so the next substep's
|
|
38
|
+
* impulse loop evaluates world inertia against the current frame.
|
|
40
39
|
*
|
|
41
40
|
* @param {Float64Array} ss solver-body-state data array
|
|
42
41
|
* @param {number} base `body_index * SBS_STRIDE`
|
|
43
42
|
* @param {RigidBody} rb
|
|
44
|
-
* @param {
|
|
43
|
+
* @param {Transform64} transform
|
|
45
44
|
* @param {number} dt
|
|
46
45
|
* @param {number} ps_lin_x pseudo-linear-velocity x (0 when no contacts)
|
|
47
46
|
* @param {number} ps_lin_y
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
* user / animation system's responsibility.
|
|
16
16
|
*
|
|
17
17
|
* @param {RigidBody} rb
|
|
18
|
-
* @param {
|
|
18
|
+
* @param {Transform64} transform used to rotate body-frame inertia into world
|
|
19
19
|
* @param {number} gx world gravity x
|
|
20
20
|
* @param {number} gy world gravity y
|
|
21
21
|
* @param {number} gz world gravity z
|
|
22
22
|
* @param {number} dt step size in seconds
|
|
23
23
|
*/
|
|
24
|
-
export function integrate_velocity(rb: RigidBody, transform:
|
|
24
|
+
export function integrate_velocity(rb: RigidBody, transform: Transform64, gx: number, gy: number, gz: number, dt: number): void;
|
|
25
25
|
/**
|
|
26
26
|
* Apply the accumulated force / torque to velocity over a step `dt`, then
|
|
27
27
|
* zero the accumulators. Gravity and damping are NOT applied here.
|
|
@@ -32,10 +32,10 @@ export function integrate_velocity(rb: RigidBody, transform: Transform, gx: numb
|
|
|
32
32
|
* by {@link integrate_velocity_gravity}.
|
|
33
33
|
*
|
|
34
34
|
* @param {RigidBody} rb
|
|
35
|
-
* @param {
|
|
35
|
+
* @param {Transform64} transform used to rotate body-frame inertia into world
|
|
36
36
|
* @param {number} dt full outer-step size in seconds
|
|
37
37
|
*/
|
|
38
|
-
export function integrate_velocity_forces(rb: RigidBody, transform:
|
|
38
|
+
export function integrate_velocity_forces(rb: RigidBody, transform: Transform64, dt: number): void;
|
|
39
39
|
/**
|
|
40
40
|
* Apply gravity and velocity damping over a (sub)step `dt`. Does NOT touch
|
|
41
41
|
* the force / torque accumulators (consumed once by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrate_velocity.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/integration/integrate_velocity.js"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,
|
|
1
|
+
{"version":3,"file":"integrate_velocity.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/integration/integrate_velocity.js"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,8EALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAoDhB;AAED;;;;;;;;;;;;GAYG;AACH,qFAFW,MAAM,QAkDhB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,+CARW,YAAY,QACZ,MAAM,qBAEN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAkChB"}
|
|
@@ -9,20 +9,20 @@ const scratch_angular = new Float64Array(3);
|
|
|
9
9
|
// axis has infinite effective inertia, so a torque produces no angular
|
|
10
10
|
// acceleration about it — the same masking the solver gather and applyImpulseAt
|
|
11
11
|
// apply, applied here so the torque/force accumulator path can't spin a locked DOF.
|
|
12
|
-
const scratch_locked_inertia =
|
|
12
|
+
const scratch_locked_inertia = new Float64Array(3);
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @param {RigidBody} rb
|
|
16
|
-
* @returns {
|
|
16
|
+
* @returns {Float64Array} the shared {@link scratch_locked_inertia}, filled with
|
|
17
17
|
* `rb.inverseInertiaLocal` masked by the body's LockRot* flags.
|
|
18
18
|
*/
|
|
19
19
|
function locked_inverse_inertia(rb) {
|
|
20
20
|
const flags = rb.flags;
|
|
21
21
|
const ii = rb.inverseInertiaLocal;
|
|
22
22
|
|
|
23
|
-
scratch_locked_inertia
|
|
24
|
-
scratch_locked_inertia
|
|
25
|
-
scratch_locked_inertia
|
|
23
|
+
scratch_locked_inertia[0] = (flags & RigidBodyFlags.LockRotX) !== 0 ? 0 : ii[0];
|
|
24
|
+
scratch_locked_inertia[1] = (flags & RigidBodyFlags.LockRotY) !== 0 ? 0 : ii[1];
|
|
25
|
+
scratch_locked_inertia[2] = (flags & RigidBodyFlags.LockRotZ) !== 0 ? 0 : ii[2];
|
|
26
26
|
|
|
27
27
|
return scratch_locked_inertia;
|
|
28
28
|
}
|
|
@@ -44,7 +44,7 @@ function locked_inverse_inertia(rb) {
|
|
|
44
44
|
* user / animation system's responsibility.
|
|
45
45
|
*
|
|
46
46
|
* @param {RigidBody} rb
|
|
47
|
-
* @param {
|
|
47
|
+
* @param {Transform64} transform used to rotate body-frame inertia into world
|
|
48
48
|
* @param {number} gx world gravity x
|
|
49
49
|
* @param {number} gy world gravity y
|
|
50
50
|
* @param {number} gz world gravity z
|
|
@@ -112,7 +112,7 @@ export function integrate_velocity(rb, transform, gx, gy, gz, dt) {
|
|
|
112
112
|
* by {@link integrate_velocity_gravity}.
|
|
113
113
|
*
|
|
114
114
|
* @param {RigidBody} rb
|
|
115
|
-
* @param {
|
|
115
|
+
* @param {Transform64} transform used to rotate body-frame inertia into world
|
|
116
116
|
* @param {number} dt full outer-step size in seconds
|
|
117
117
|
*/
|
|
118
118
|
export function integrate_velocity_forces(rb, transform, dt) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Note that bones are defined as a combination of Joint ({@link
|
|
3
|
-
* Last joint's position is expected to be bone_length distance from the target if target is reachable and be oriented towards that target ({@link
|
|
4
|
-
* @param {
|
|
2
|
+
* Note that bones are defined as a combination of Joint ({@link Transform64}) and bone length. Joint defines the origin of the bone.
|
|
3
|
+
* Last joint's position is expected to be bone_length distance from the target if target is reachable and be oriented towards that target ({@link Transform64#lookAt})
|
|
4
|
+
* @param {Transform64[]} joints Will be updated as a result of the solve
|
|
5
5
|
* @param {number[]} lengths distance to next bone, bone lengths.
|
|
6
6
|
* @param {Vector3} origin where should the first joint be placed at
|
|
7
7
|
* @param {Vector3} target where should the last joint be placed at
|
|
8
8
|
* @param {number} [max_iterations] More steps will lead to higher accuracy, but at the cost of computation. Generally solution will be reached in just a few iteration so this is just a ceiling
|
|
9
9
|
* @param {number} [distance_tolerance] Minimum squared distance to be achieved to the target, used to terminate earlier before maximum number of iterations is reached
|
|
10
10
|
*/
|
|
11
|
-
export function fabrik_solve(joints:
|
|
11
|
+
export function fabrik_solve(joints: Transform64[], lengths: number[], origin: Vector3, target: Vector3, max_iterations?: number, distance_tolerance?: number): void;
|
|
12
12
|
import Vector3 from "../../../../core/geom/Vector3.js";
|
|
13
13
|
//# sourceMappingURL=fabrik_solve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fabrik_solve.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js"],"names":[],"mappings":"AAaA;;;;;;;;;GASG;AACH,qCAPW,
|
|
1
|
+
{"version":3,"file":"fabrik_solve.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js"],"names":[],"mappings":"AAaA;;;;;;;;;GASG;AACH,qCAPW,aAAa,WACb,MAAM,EAAE,UACR,OAAO,UACP,OAAO,mBACP,MAAM,uBACN,MAAM,QAgGhB;oBApHmB,kCAAkC"}
|
|
@@ -12,9 +12,9 @@ const scratch_v3_1 = new Vector3();
|
|
|
12
12
|
const scratch_quat = new Quaternion();
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Note that bones are defined as a combination of Joint ({@link
|
|
16
|
-
* Last joint's position is expected to be bone_length distance from the target if target is reachable and be oriented towards that target ({@link
|
|
17
|
-
* @param {
|
|
15
|
+
* Note that bones are defined as a combination of Joint ({@link Transform64}) and bone length. Joint defines the origin of the bone.
|
|
16
|
+
* Last joint's position is expected to be bone_length distance from the target if target is reachable and be oriented towards that target ({@link Transform64#lookAt})
|
|
17
|
+
* @param {Transform64[]} joints Will be updated as a result of the solve
|
|
18
18
|
* @param {number[]} lengths distance to next bone, bone lengths.
|
|
19
19
|
* @param {Vector3} origin where should the first joint be placed at
|
|
20
20
|
* @param {Vector3} target where should the last joint be placed at
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex_decomposition.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/convex_decomposition.js"],"names":[],"mappings":"AA4CA;;;;;;;;;GASG;AACH,4BALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAQlB;AAED;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"convex_decomposition.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/convex_decomposition.js"],"names":[],"mappings":"AA4CA;;;;;;;;;GASG;AACH,4BALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAQlB;AAED;;;GAGG;AACH,oEAFa;IAAC,MAAM,EAAE,MAAM;QAAC,QAAQ,EAAC,YAAY,CAAC;QAAC,YAAY,EAAC,WAAW,CAAC;QAAC,UAAU,EAAC,WAAW,CAAC;QAAC,IAAI,EAAC,YAAY,CAAA;KAAC,CAAC,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAC,CAmHnI;AAED;;;;;;;;;;;;;GAaG;AACH,gCAPW,YAAY,GAAC,YAAY,GAAC,MAAM,EAAE,YAElC,IAAI,MAAM,EAAE;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAC,CAAC,GAEzC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAC,CAgG5G;AAzPD,kCAAiF;oBAvC7D,gCAAgC"}
|
|
@@ -20,8 +20,7 @@
|
|
|
20
20
|
* manifold cache uses it as the warm-start match key.
|
|
21
21
|
*
|
|
22
22
|
* Stride 10 (rather than 9) is the small cost we pay for clean warm-start
|
|
23
|
-
* matching;
|
|
24
|
-
* for why ID-based matching beats position-distance matching when shapes
|
|
23
|
+
* matching; ID-based matching beats position-distance matching when shapes
|
|
25
24
|
* slide along curved surfaces.
|
|
26
25
|
*
|
|
27
26
|
* @readonly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triangle_buffer_layout.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"triangle_buffer_layout.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,oCAFU,MAAM,CAEwB;AAExC;;;;GAIG;AACH,yCAFU,MAAM,CAE4B"}
|
|
@@ -20,8 +20,7 @@
|
|
|
20
20
|
* manifold cache uses it as the warm-start match key.
|
|
21
21
|
*
|
|
22
22
|
* Stride 10 (rather than 9) is the small cost we pay for clean warm-start
|
|
23
|
-
* matching;
|
|
24
|
-
* for why ID-based matching beats position-distance matching when shapes
|
|
23
|
+
* matching; ID-based matching beats position-distance matching when shapes
|
|
25
24
|
* slide along curved surfaces.
|
|
26
25
|
*
|
|
27
26
|
* @readonly
|
|
@@ -57,14 +57,14 @@ export function deepest_pair_penetration(out_normal: Float64Array | number[], sh
|
|
|
57
57
|
*
|
|
58
58
|
* @param {PairList} pair_list
|
|
59
59
|
* @param {ManifoldStore} manifolds
|
|
60
|
-
* @param {Array<Array<{collider: Collider, transform:
|
|
60
|
+
* @param {Array<Array<{collider: Collider, transform: Transform64}>>} lists
|
|
61
61
|
* per-body collider lists, indexed by body-storage slot index. Typically
|
|
62
62
|
* `system.__body_collider_lists` — passed in directly so this helper
|
|
63
63
|
* has no dependency on `PhysicsSystem`.
|
|
64
64
|
*/
|
|
65
65
|
export function narrowphase_step(pair_list: PairList, manifolds: ManifoldStore, lists: Array<Array<{
|
|
66
66
|
collider: Collider;
|
|
67
|
-
transform:
|
|
67
|
+
transform: Transform64;
|
|
68
68
|
}>>): void;
|
|
69
69
|
/**
|
|
70
70
|
* Re-detect contact GEOMETRY for one existing manifold slot at the bodies'
|
|
@@ -89,14 +89,15 @@ export function narrowphase_step(pair_list: PairList, manifolds: ManifoldStore,
|
|
|
89
89
|
*
|
|
90
90
|
* @param {ManifoldStore} manifolds
|
|
91
91
|
* @param {number} slot
|
|
92
|
-
* @param {Array<{collider: Collider, transform:
|
|
93
|
-
* @param {Array<{collider: Collider, transform:
|
|
92
|
+
* @param {Array<{collider: Collider, transform: Transform64}>} list_a
|
|
93
|
+
* @param {Array<{collider: Collider, transform: Transform64}>} list_b
|
|
94
94
|
*/
|
|
95
95
|
export function redetect_pair_geometry(manifolds: ManifoldStore, slot: number, list_a: Array<{
|
|
96
96
|
collider: Collider;
|
|
97
|
-
transform:
|
|
97
|
+
transform: Transform64;
|
|
98
98
|
}>, list_b: Array<{
|
|
99
99
|
collider: Collider;
|
|
100
|
-
transform:
|
|
100
|
+
transform: Transform64;
|
|
101
101
|
}>): void;
|
|
102
|
+
import { Transform64 } from "../../ecs/transform/Transform64.js";
|
|
102
103
|
//# sourceMappingURL=narrowphase_step.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrowphase_step.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/narrowphase_step.js"],"names":[],"mappings":"AAk1CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qDAVW,YAAY,GAAC,MAAM,EAAE,iCAGrB;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,QAC5B;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,iCAErC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,QAC5B;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,GACnC,MAAM,CA2ClB;AAED;;;;;;;;;;;GAWG;AACH,uFALW,MAAM,MAAM;IAAC,QAAQ,WAAW;IAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"narrowphase_step.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/narrowphase_step.js"],"names":[],"mappings":"AAk1CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qDAVW,YAAY,GAAC,MAAM,EAAE,iCAGrB;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,QAC5B;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,iCAErC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,QAC5B;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,GACnC,MAAM,CA2ClB;AAED;;;;;;;;;;;GAWG;AACH,uFALW,MAAM,MAAM;IAAC,QAAQ,WAAW;IAAC,SAAS,EAAE,WAAW,CAAA;CAAC,CAAC,CAAC,QA4LpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,uEAJW,MAAM,UACN,MAAM;IAAC,QAAQ,WAAW;IAAC,SAAS,EAAE,WAAW,CAAA;CAAC,CAAC,UACnD,MAAM;IAAC,QAAQ,WAAW;IAAC,SAAS,EAAE,WAAW,CAAA;CAAC,CAAC,QA2H7D;4BAptD2B,oCAAoC"}
|
|
@@ -97,7 +97,7 @@ const MAX_KEPT = MAX_CONTACTS_PER_MANIFOLD;
|
|
|
97
97
|
* contact has no feature id (or none of the previous-frame contacts shares
|
|
98
98
|
* its id), match by closest world_a within this 3-D distance.
|
|
99
99
|
*
|
|
100
|
-
* 2 cm matches the original
|
|
100
|
+
* 2 cm matches the original plan spec for "Persistent manifold cache"
|
|
101
101
|
* — generous enough to follow small inter-frame contact migration on
|
|
102
102
|
* curved surfaces, tight enough that distinct contacts on a single
|
|
103
103
|
* manifold (typically >5 cm apart) don't get confused with each other.
|
|
@@ -378,9 +378,9 @@ function sphere_box_voronoi_fid(sx, sy, sz, bx, by, bz, bqx, bqy, bqz, bqw, hx,
|
|
|
378
378
|
*
|
|
379
379
|
* @param {number} count
|
|
380
380
|
* @param {{vertices,face_offsets,face_loops,support}} hullA in A's local frame
|
|
381
|
-
* @param {
|
|
381
|
+
* @param {Transform64} trA
|
|
382
382
|
* @param {{vertices,face_offsets,face_loops,support}} hullB in B's local frame
|
|
383
|
-
* @param {
|
|
383
|
+
* @param {Transform64} trB
|
|
384
384
|
* @param {Function} append_contact
|
|
385
385
|
* @returns {number}
|
|
386
386
|
*/
|
|
@@ -427,9 +427,9 @@ function hull_pair_contacts(count, hullA, trA, hullB, trB, append_contact) {
|
|
|
427
427
|
*
|
|
428
428
|
* @param {number} count
|
|
429
429
|
* @param {Collider} colA
|
|
430
|
-
* @param {
|
|
430
|
+
* @param {Transform64} trA
|
|
431
431
|
* @param {Collider} colB
|
|
432
|
-
* @param {
|
|
432
|
+
* @param {Transform64} trB
|
|
433
433
|
* @returns {number}
|
|
434
434
|
*/
|
|
435
435
|
function dispatch_pair(count, colA, trA, colB, trB) {
|
|
@@ -1443,7 +1443,7 @@ export function deepest_pair_penetration(out_normal, shapeA, posA, rotA, shapeB,
|
|
|
1443
1443
|
*
|
|
1444
1444
|
* @param {PairList} pair_list
|
|
1445
1445
|
* @param {ManifoldStore} manifolds
|
|
1446
|
-
* @param {Array<Array<{collider: Collider, transform:
|
|
1446
|
+
* @param {Array<Array<{collider: Collider, transform: Transform64}>>} lists
|
|
1447
1447
|
* per-body collider lists, indexed by body-storage slot index. Typically
|
|
1448
1448
|
* `system.__body_collider_lists` — passed in directly so this helper
|
|
1449
1449
|
* has no dependency on `PhysicsSystem`.
|
|
@@ -1656,8 +1656,8 @@ export function narrowphase_step(pair_list, manifolds, lists) {
|
|
|
1656
1656
|
*
|
|
1657
1657
|
* @param {ManifoldStore} manifolds
|
|
1658
1658
|
* @param {number} slot
|
|
1659
|
-
* @param {Array<{collider: Collider, transform:
|
|
1660
|
-
* @param {Array<{collider: Collider, transform:
|
|
1659
|
+
* @param {Array<{collider: Collider, transform: Transform64}>} list_a
|
|
1660
|
+
* @param {Array<{collider: Collider, transform: Transform64}>} list_b
|
|
1661
1661
|
*/
|
|
1662
1662
|
export function redetect_pair_geometry(manifolds, slot, list_a, list_b) {
|
|
1663
1663
|
if (list_a === undefined || list_b === undefined) return;
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
* GC per call. Reusing the same `PhysicsSurfacePoint` keeps that allocation
|
|
14
14
|
* out of the hot path.
|
|
15
15
|
*
|
|
16
|
+
* For the same reason `position` and `normal` are raw three-element
|
|
17
|
+
* `Float64Array`s indexed `[0] [1] [2]`, not `Vector3`: a change signal on a
|
|
18
|
+
* result the queries overwrite on every call is two allocations and a dispatch
|
|
19
|
+
* nobody subscribes to. Write them with {@link v3_set} — `array.set(x, y, z)`
|
|
20
|
+
* is `TypedArray.prototype.set`, which silently writes nothing.
|
|
21
|
+
*
|
|
16
22
|
* Field layout chosen to match what gameplay code typically needs:
|
|
17
23
|
* - `position` — world-space point on the surface
|
|
18
24
|
* - `normal` — surface normal at that point (broadphase queries return
|
|
@@ -34,17 +40,17 @@ export class PhysicsSurfacePoint {
|
|
|
34
40
|
/**
|
|
35
41
|
* World-space point on the hit surface.
|
|
36
42
|
* @readonly
|
|
37
|
-
* @type {
|
|
43
|
+
* @type {Float64Array}
|
|
38
44
|
*/
|
|
39
|
-
readonly position:
|
|
45
|
+
readonly position: Float64Array;
|
|
40
46
|
/**
|
|
41
47
|
* Surface normal at {@link position}, unit length. For broadphase-only
|
|
42
48
|
* queries this is the AABB face normal (axis-aligned), which is exact
|
|
43
49
|
* for AABB-shaped colliders and a stable approximation otherwise.
|
|
44
50
|
* @readonly
|
|
45
|
-
* @type {
|
|
51
|
+
* @type {Float64Array}
|
|
46
52
|
*/
|
|
47
|
-
readonly normal:
|
|
53
|
+
readonly normal: Float64Array;
|
|
48
54
|
/**
|
|
49
55
|
* Parametric distance from the query origin to {@link position}, in
|
|
50
56
|
* the same units as the input direction's magnitude (so for a unit-
|
|
@@ -79,5 +85,4 @@ export class PhysicsSurfacePoint {
|
|
|
79
85
|
*/
|
|
80
86
|
readonly isPhysicsSurfacePoint: boolean;
|
|
81
87
|
}
|
|
82
|
-
import Vector3 from "../../../core/geom/Vector3.js";
|
|
83
88
|
//# sourceMappingURL=PhysicsSurfacePoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhysicsSurfacePoint.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/queries/PhysicsSurfacePoint.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PhysicsSurfacePoint.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/queries/PhysicsSurfacePoint.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH;IAEI;;;;OAIG;IACH,mBAFU,YAAY,CAES;IAE/B;;;;;;OAMG;IACH,iBAFU,YAAY,CAEO;IAE7B;;;;;OAKG;IACH,GAFU,MAAM,CAEV;IAEN;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ;;;;;OAKG;IACH,SAFU,MAAM,CAEH;IAEb;;;;;;OAMG;IACH,cAQC;IAGL;;;;OAIG;IACH,gCAFU,OAAO,CAEkC;CAPlD"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import Vector3 from "../../../core/geom/Vector3.js";
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Result of a {@link PhysicsSystem} query that resolves to a single surface
|
|
5
3
|
* contact — raycast hit, sphere overlap nearest-point, shape-cast first
|
|
@@ -15,6 +13,12 @@ import Vector3 from "../../../core/geom/Vector3.js";
|
|
|
15
13
|
* GC per call. Reusing the same `PhysicsSurfacePoint` keeps that allocation
|
|
16
14
|
* out of the hot path.
|
|
17
15
|
*
|
|
16
|
+
* For the same reason `position` and `normal` are raw three-element
|
|
17
|
+
* `Float64Array`s indexed `[0] [1] [2]`, not `Vector3`: a change signal on a
|
|
18
|
+
* result the queries overwrite on every call is two allocations and a dispatch
|
|
19
|
+
* nobody subscribes to. Write them with {@link v3_set} — `array.set(x, y, z)`
|
|
20
|
+
* is `TypedArray.prototype.set`, which silently writes nothing.
|
|
21
|
+
*
|
|
18
22
|
* Field layout chosen to match what gameplay code typically needs:
|
|
19
23
|
* - `position` — world-space point on the surface
|
|
20
24
|
* - `normal` — surface normal at that point (broadphase queries return
|
|
@@ -37,18 +41,18 @@ export class PhysicsSurfacePoint {
|
|
|
37
41
|
/**
|
|
38
42
|
* World-space point on the hit surface.
|
|
39
43
|
* @readonly
|
|
40
|
-
* @type {
|
|
44
|
+
* @type {Float64Array}
|
|
41
45
|
*/
|
|
42
|
-
position = new
|
|
46
|
+
position = new Float64Array(3);
|
|
43
47
|
|
|
44
48
|
/**
|
|
45
49
|
* Surface normal at {@link position}, unit length. For broadphase-only
|
|
46
50
|
* queries this is the AABB face normal (axis-aligned), which is exact
|
|
47
51
|
* for AABB-shaped colliders and a stable approximation otherwise.
|
|
48
52
|
* @readonly
|
|
49
|
-
* @type {
|
|
53
|
+
* @type {Float64Array}
|
|
50
54
|
*/
|
|
51
|
-
normal = new
|
|
55
|
+
normal = new Float64Array(3);
|
|
52
56
|
|
|
53
57
|
/**
|
|
54
58
|
* Parametric distance from the query origin to {@link position}, in
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
* @param {PhysicsSystem} system
|
|
27
27
|
* @param {AbstractShape3D} shape query shape, convex; expressed in
|
|
28
28
|
* its own local frame
|
|
29
|
-
* @param {
|
|
30
|
-
*
|
|
31
|
-
* @param {
|
|
32
|
-
*
|
|
29
|
+
* @param {number[]|Float64Array} position world position of the query shape,
|
|
30
|
+
* indexed as [x, y, z]
|
|
31
|
+
* @param {number[]|Float64Array} rotation world rotation of the query shape
|
|
32
|
+
* (unit quaternion), indexed as [x, y, z, w]
|
|
33
33
|
* @param {Uint32Array|number[]} output buffer to write body_ids into.
|
|
34
34
|
* Caller is responsible for sizing it; ids past its end are dropped.
|
|
35
35
|
* @param {number} output_offset float-index in output to start writing at
|
|
@@ -38,14 +38,5 @@
|
|
|
38
38
|
* @returns {number} number of overlapping bodies written
|
|
39
39
|
* @throws {Error} if `shape.is_convex === false`
|
|
40
40
|
*/
|
|
41
|
-
export function overlap_shape(system: PhysicsSystem, shape: AbstractShape3D, position:
|
|
42
|
-
x: number;
|
|
43
|
-
y: number;
|
|
44
|
-
z: number;
|
|
45
|
-
}, rotation: {
|
|
46
|
-
x: number;
|
|
47
|
-
y: number;
|
|
48
|
-
z: number;
|
|
49
|
-
w: number;
|
|
50
|
-
}, output: Uint32Array | number[], output_offset: number, filter?: (entity: number, collider: Collider) => boolean): number;
|
|
41
|
+
export function overlap_shape(system: PhysicsSystem, shape: AbstractShape3D, position: number[] | Float64Array, rotation: number[] | Float64Array, output: Uint32Array | number[], output_offset: number, filter?: (entity: number, collider: Collider) => boolean): number;
|
|
51
42
|
//# sourceMappingURL=overlap_shape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlap_shape.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/queries/overlap_shape.js"],"names":[],"mappings":"AA8CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,uFAZW
|
|
1
|
+
{"version":3,"file":"overlap_shape.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/queries/overlap_shape.js"],"names":[],"mappings":"AA8CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,uFAZW,MAAM,EAAE,GAAC,YAAY,YAErB,MAAM,EAAE,GAAC,YAAY,UAErB,WAAW,GAAC,MAAM,EAAE,iBAEpB,MAAM,WACN,CAAC,MAAM,EAAC,MAAM,EAAE,QAAQ,UAAS,KAAG,OAAO,GAEzC,MAAM,CAmHlB"}
|