@woosh/meep-engine 2.168.1 → 2.169.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/README.md +2 -2
- package/build/bundle-worker-image-decoder.js +1 -1
- package/package.json +1 -1
- package/src/REVIEW_2026_08_06/adv-core.md +511 -0
- package/src/REVIEW_2026_08_06/adv-gfx.md +480 -0
- package/src/REVIEW_2026_08_06/adv-view.md +446 -0
- package/src/REVIEW_2026_08_06/api-core.md +296 -0
- package/src/REVIEW_2026_08_06/api-engine.md +195 -0
- package/src/REVIEW_2026_08_06/bvh-phys-sound-net.md +507 -0
- package/src/REVIEW_2026_08_06/core-binary.md +348 -0
- package/src/REVIEW_2026_08_06/core-collection.md +376 -0
- package/src/REVIEW_2026_08_06/core-math.md +221 -0
- package/src/REVIEW_2026_08_06/core-process.md +266 -0
- package/src/REVIEW_2026_08_06/core-science.md +223 -0
- package/src/REVIEW_2026_08_06/engine-ai-nav.md +279 -0
- package/src/REVIEW_2026_08_06/engine-animation.md +167 -0
- package/src/REVIEW_2026_08_06/engine-asset.md +166 -0
- package/src/REVIEW_2026_08_06/engine-ecs.md +920 -0
- package/src/REVIEW_2026_08_06/engine-input.md +197 -0
- package/src/REVIEW_2026_08_06/engine-misc.md +248 -0
- package/src/REVIEW_2026_08_06/engine-terrain.md +52 -0
- package/src/REVIEW_2026_08_06/generation.md +176 -0
- package/src/REVIEW_2026_08_06/geom-2d.md +434 -0
- package/src/REVIEW_2026_08_06/geom-3d.md +117 -0
- package/src/REVIEW_2026_08_06/gfx-gi.md +143 -0
- package/src/REVIEW_2026_08_06/gfx-render.md +740 -0
- package/src/REVIEW_2026_08_06/gfx-texture.md +690 -0
- package/src/REVIEW_2026_08_06/prior-criticals.md +49 -0
- package/src/REVIEW_2026_08_06/prior-highs.md +138 -0
- package/src/REVIEW_2026_08_06/test-gaps.md +364 -0
- package/src/REVIEW_2026_08_06/view.md +667 -0
- package/src/REVIEW_2026_08_06.md +571 -0
- package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
- package/src/core/binary/BinaryBuffer.js +12 -1
- package/src/core/binary/BitImage2.d.ts +5 -1
- package/src/core/binary/BitImage2.d.ts.map +1 -1
- package/src/core/binary/BitImage2.js +5 -1
- package/src/core/bvh8/build/NodeProxy.d.ts.map +1 -1
- package/src/core/bvh8/build/NodeProxy.js +314 -308
- package/src/core/collection/list/List.d.ts +15 -0
- package/src/core/collection/list/List.d.ts.map +1 -1
- package/src/core/collection/list/List.js +34 -0
- package/src/core/collection/list/SortedListProjection.d.ts.map +1 -1
- package/src/core/collection/list/SortedListProjection.js +4 -1
- package/src/core/collection/map/BiMap.d.ts +25 -2
- package/src/core/collection/map/BiMap.d.ts.map +1 -1
- package/src/core/collection/map/BiMap.js +57 -3
- package/src/core/debug/matchers/IsAnything.d.ts.map +1 -1
- package/src/core/debug/matchers/IsAnything.js +5 -1
- package/src/core/events/signal/Signal.d.ts.map +1 -1
- package/src/core/events/signal/Signal.js +3 -1
- package/src/core/geom/2d/polygon/TRIANGULATION_DESIGN.md +433 -0
- package/src/core/geom/2d/polygon/polygon2_is_counter_clockwise.d.ts +31 -0
- package/src/core/geom/2d/polygon/polygon2_is_counter_clockwise.d.ts.map +1 -0
- package/src/core/geom/2d/polygon/polygon2_is_counter_clockwise.js +84 -0
- package/src/core/geom/2d/polygon/polygon2_signed_area.d.ts +24 -2
- package/src/core/geom/2d/polygon/polygon2_signed_area.d.ts.map +1 -1
- package/src/core/geom/2d/polygon/polygon2_signed_area.js +52 -34
- package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.d.ts +28 -0
- package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.d.ts.map +1 -0
- package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.js +86 -0
- package/src/core/geom/2d/polygon/polygon2_triangulate.d.ts +40 -0
- package/src/core/geom/2d/polygon/polygon2_triangulate.d.ts.map +1 -0
- package/src/core/geom/2d/polygon/polygon2_triangulate.js +1280 -0
- package/src/core/geom/2d/polygon/polygon2_triangulation_deviation.d.ts +28 -0
- package/src/core/geom/2d/polygon/polygon2_triangulation_deviation.d.ts.map +1 -0
- package/src/core/geom/2d/polygon/polygon2_triangulation_deviation.js +77 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts +6 -3
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.js +26 -13
- package/src/core/geom/2d/triangle/tri2_signed_area.d.ts +17 -1
- package/src/core/geom/2d/triangle/tri2_signed_area.d.ts.map +1 -1
- package/src/core/geom/2d/triangle/tri2_signed_area.js +35 -23
- package/src/core/geom/2d/v2_morton_encode.d.ts +20 -0
- package/src/core/geom/2d/v2_morton_encode.d.ts.map +1 -0
- package/src/core/geom/2d/v2_morton_encode.js +23 -0
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.d.ts.map +1 -1
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.js +4 -1
- package/src/core/geom/3d/polygon/polygon3_compute_normal.d.ts +27 -0
- package/src/core/geom/3d/polygon/polygon3_compute_normal.d.ts.map +1 -0
- package/src/core/geom/3d/polygon/polygon3_compute_normal.js +60 -0
- package/src/core/geom/3d/polygon/polygon3_triangulate.d.ts +34 -0
- package/src/core/geom/3d/polygon/polygon3_triangulate.d.ts.map +1 -0
- package/src/core/geom/3d/polygon/polygon3_triangulate.js +94 -0
- package/src/core/geom/3d/quaternion/quat3_multiply.d.ts +8 -2
- package/src/core/geom/3d/quaternion/quat3_multiply.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat3_multiply.js +8 -2
- package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/ConvexHullShape3D.js +32 -2
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_triangulate.d.ts +23 -6
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_triangulate.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_triangulate.js +268 -124
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_assert_valid.d.ts +17 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_assert_valid.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_assert_valid.js +44 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts +20 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.js +40 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_closed.d.ts +19 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_closed.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_closed.js +34 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_manifold.d.ts +22 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_manifold.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_manifold.js +37 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_validate.d.ts +87 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_validate.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_validate.js +599 -0
- package/src/core/geom/3d/triangle/tri3_compute_signed_volume.d.ts +32 -0
- package/src/core/geom/3d/triangle/tri3_compute_signed_volume.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/tri3_compute_signed_volume.js +66 -7
- package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.d.ts +22 -1
- package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.js +83 -38
- package/src/core/geom/MANIFOLD_COMPARISON_2026_08_01.md +554 -0
- package/src/core/geom/vec3/v3_cotangent.d.ts +6 -2
- package/src/core/geom/vec3/v3_cotangent.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_cotangent.js +6 -2
- package/src/core/geom/vec3/v3_cross.d.ts +6 -2
- package/src/core/geom/vec3/v3_cross.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_cross.js +6 -2
- package/src/core/geom/vec3/v3_multiply.d.ts +6 -2
- package/src/core/geom/vec3/v3_multiply.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_multiply.js +6 -2
- package/src/core/geom/vec3/v3_subtract.d.ts +6 -2
- package/src/core/geom/vec3/v3_subtract.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_subtract.js +6 -2
- package/src/core/localization/Localization.js +1 -1
- package/src/core/math/random/randomSeed.d.ts +13 -0
- package/src/core/math/random/randomSeed.d.ts.map +1 -0
- package/src/core/math/random/randomSeed.js +16 -0
- package/src/core/math/spline/spline3_hermite_apply_transform.d.ts +50 -0
- package/src/core/math/spline/spline3_hermite_apply_transform.d.ts.map +1 -0
- package/src/core/math/spline/spline3_hermite_apply_transform.js +107 -0
- package/src/core/math/spline/spline3_hermite_reverse.d.ts +34 -0
- package/src/core/math/spline/spline3_hermite_reverse.d.ts.map +1 -0
- package/src/core/math/spline/spline3_hermite_reverse.js +49 -0
- package/src/core/math/statistics/hammersley_sequence.d.ts +17 -4
- package/src/core/math/statistics/hammersley_sequence.d.ts.map +1 -1
- package/src/core/math/statistics/hammersley_sequence.js +25 -16
- package/src/core/process/Future.d.ts.map +1 -1
- package/src/core/process/Future.js +12 -0
- package/src/core/process/PromiseWatcher.d.ts.map +1 -1
- package/src/core/process/PromiseWatcher.js +9 -2
- package/src/core/process/executor/ConcurrentExecutor.d.ts.map +1 -1
- package/src/core/process/executor/ConcurrentExecutor.js +12 -2
- package/src/core/process/worker/WorkerProxy.d.ts.map +1 -1
- package/src/core/process/worker/WorkerProxy.js +5 -2
- package/src/core/process/worker/extractTransferables.d.ts.map +1 -1
- package/src/core/process/worker/extractTransferables.js +4 -1
- package/src/engine/Engine.d.ts +12 -12
- package/src/engine/Engine.d.ts.map +1 -1
- package/src/engine/Engine.js +149 -10
- package/src/engine/asset/loaders/ArrayBufferLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/ArrayBufferLoader.js +7 -0
- package/src/engine/ecs/speaker/lines/sets/LineSetDescription.d.ts.map +1 -1
- package/src/engine/ecs/speaker/lines/sets/LineSetDescription.js +3 -1
- package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/TerrainSystem.js +4 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +29 -0
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +84 -23
- package/src/engine/graphics/CONTEXT_LOSS_RECOVERY_PLAN.md +446 -0
- package/src/engine/graphics/GraphicsEngine.d.ts +56 -7
- package/src/engine/graphics/GraphicsEngine.d.ts.map +1 -1
- package/src/engine/graphics/GraphicsEngine.js +196 -24
- package/src/engine/graphics/context/WebGLContextFailureReason.d.ts +9 -0
- package/src/engine/graphics/context/WebGLContextFailureReason.d.ts.map +1 -0
- package/src/engine/graphics/context/WebGLContextFailureReason.js +17 -0
- package/src/engine/graphics/context/WebGLContextMonitor.d.ts +106 -0
- package/src/engine/graphics/context/WebGLContextMonitor.d.ts.map +1 -0
- package/src/engine/graphics/context/WebGLContextMonitor.js +341 -0
- package/src/engine/graphics/context/WebGLContextState.d.ts +14 -0
- package/src/engine/graphics/context/WebGLContextState.d.ts.map +1 -0
- package/src/engine/graphics/context/WebGLContextState.js +24 -0
- package/src/engine/graphics/context/testWebGLContextLoss.d.ts +2 -0
- package/src/engine/graphics/context/testWebGLContextLoss.d.ts.map +1 -0
- package/src/engine/graphics/context/testWebGLContextLoss.js +696 -0
- package/src/engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.js +68 -32
- package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.d.ts +14 -0
- package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.js +41 -0
- package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.js +1 -1
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +5 -0
- package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts +1 -1
- package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail2d/Trail2DSystem.js +2 -1
- package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3DSystem.js +3 -5
- package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.js +3 -2
- package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.js +3 -1
- package/src/engine/graphics/geometry/computeMeshSurfaceArea.js +1 -1
- package/src/engine/graphics/load_and_set_cubemap_v0.d.ts +5 -0
- package/src/engine/graphics/load_and_set_cubemap_v0.d.ts.map +1 -1
- package/src/engine/graphics/load_and_set_cubemap_v0.js +26 -21
- package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/group/ParticleGroup.js +19 -8
- package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.js +1 -1
- package/src/engine/graphics/texture/atlas/AtlasLookupTexture.d.ts.map +1 -1
- package/src/engine/graphics/texture/atlas/AtlasLookupTexture.js +10 -3
- package/src/engine/graphics/texture/atlas/TextureAtlas.d.ts.map +1 -1
- package/src/engine/graphics/texture/atlas/TextureAtlas.js +4 -1
- package/src/engine/graphics/texture/atlas/gpu/WebGLTextureAtlas.d.ts.map +1 -1
- package/src/engine/graphics/texture/atlas/gpu/WebGLTextureAtlas.js +11 -0
- package/src/engine/graphics/texture/cubemap/load_environment_map.d.ts.map +1 -1
- package/src/engine/graphics/texture/cubemap/load_environment_map.js +5 -2
- package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_Chamfer.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_Chamfer.js +26 -18
- package/src/engine/graphics/texture/sampler/filter/sampler2d_blur_gaussian.d.ts +15 -2
- package/src/engine/graphics/texture/sampler/filter/sampler2d_blur_gaussian.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/filter/sampler2d_blur_gaussian.js +29 -3
- package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.d.ts +11 -1
- package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.js +158 -171
- package/src/engine/graphics/texture/sampler/sampler2d_paint.js +1 -1
- package/src/engine/graphics/texture/sampler/util/bitSet2Sampler2D.js +2 -2
- package/src/engine/input/ecs/util/TopDownCameraControllerHelper.d.ts.map +1 -1
- package/src/engine/input/ecs/util/TopDownCameraControllerHelper.js +10 -3
- package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.d.ts +14 -0
- package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.d.ts.map +1 -0
- package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.js +38 -0
- package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeClient.js +433 -425
- package/src/engine/physics/constraint/solve_constraints.d.ts +4 -1
- package/src/engine/physics/constraint/solve_constraints.d.ts.map +1 -1
- package/src/engine/physics/constraint/solve_constraints.js +38 -13
- package/src/engine/physics/contact/ManifoldStore.d.ts +15 -3
- package/src/engine/physics/contact/ManifoldStore.d.ts.map +1 -1
- package/src/engine/physics/contact/ManifoldStore.js +15 -3
- package/src/engine/physics/ecs/Joint.d.ts +7 -4
- package/src/engine/physics/ecs/Joint.d.ts.map +1 -1
- package/src/engine/physics/ecs/Joint.js +7 -4
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +14 -0
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +16 -0
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +3 -3
- package/src/engine/physics/narrowphase/convex_convex_manifold.d.ts +15 -7
- package/src/engine/physics/narrowphase/convex_convex_manifold.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/convex_convex_manifold.js +33 -10
- package/src/engine/physics/narrowphase/refine_ray_concave.d.ts +6 -2
- package/src/engine/physics/narrowphase/refine_ray_concave.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/refine_ray_concave.js +6 -2
- package/src/engine/physics/narrowphase/refine_ray_hit.d.ts +6 -2
- package/src/engine/physics/narrowphase/refine_ray_hit.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/refine_ray_hit.js +6 -2
- package/src/engine/physics/queries/raycast.d.ts.map +1 -1
- package/src/engine/physics/queries/raycast.js +11 -4
- package/src/engine/save/storage/IndexedDBStorage.d.ts.map +1 -1
- package/src/engine/save/storage/IndexedDBStorage.js +21 -3
- package/src/engine/simulation/Ticker.d.ts +12 -0
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +18 -0
- package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -1
- package/src/engine/sound/simulation/AcousticSimulator.js +9 -1
- package/src/engine/sound/simulation/core/VolumeField.d.ts +6 -2
- package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
- package/src/engine/sound/simulation/core/VolumeField.js +6 -2
- package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts +6 -2
- package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/AcousticProbeField.js +6 -2
- package/src/engine/sound/simulation/probe/acoustic_probe_transfer.d.ts +6 -2
- package/src/engine/sound/simulation/probe/acoustic_probe_transfer.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/acoustic_probe_transfer.js +6 -2
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts +3 -1
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.js +3 -1
- package/src/engine/ui/GUIEngine.d.ts.map +1 -1
- package/src/engine/ui/GUIEngine.js +8 -1
- package/src/generation/theme/TerrainTheme.d.ts.map +1 -1
- package/src/generation/theme/TerrainTheme.js +2 -1
- package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
- package/src/generation/theme/ThemeEngine.js +6 -5
- package/src/view/ViewGroup.d.ts.map +1 -1
- package/src/view/ViewGroup.js +9 -7
- package/src/view/graphics/WebGLContextFailureView.d.ts +19 -0
- package/src/view/graphics/WebGLContextFailureView.d.ts.map +1 -0
- package/src/view/graphics/WebGLContextFailureView.js +76 -0
- package/src/view/minimap/Minimap.d.ts +8 -0
- package/src/view/minimap/Minimap.d.ts.map +1 -1
- package/src/view/minimap/Minimap.js +16 -3
- package/src/view/minimap/dom/MinimapMarkerView.d.ts.map +1 -1
- package/src/view/minimap/dom/MinimapMarkerView.js +3 -1
|
@@ -16,7 +16,10 @@
|
|
|
16
16
|
* class has an object-based `computeSwingAndTwist`; this is the inlined,
|
|
17
17
|
* allocation-free form — see the bench that justifies it.)
|
|
18
18
|
*
|
|
19
|
-
* @param {number} dx
|
|
19
|
+
* @param {number} dx qD x
|
|
20
|
+
* @param {number} dy qD y
|
|
21
|
+
* @param {number} dz qD z
|
|
22
|
+
* @param {number} dw qD w
|
|
20
23
|
* @param {Float64Array} out length-3 destination (frame-axis positions)
|
|
21
24
|
*/
|
|
22
25
|
export function swing_twist_error(dx: number, dy: number, dz: number, dw: number, out: Float64Array): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve_constraints.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/constraint/solve_constraints.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"solve_constraints.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/constraint/solve_constraints.js"],"names":[],"mappings":"AA6UA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,sCANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,OACN,YAAY,QAkCtB;AAuKD;;;;;;;;;;;;;;;;GAgBG;AACH,qCATW,OAAO,iCAEP,MAAM,SAEN,MAAM,YACN,OAAO,QAuSjB"}
|
|
@@ -138,6 +138,9 @@ const block_w = new Float64Array(9);
|
|
|
138
138
|
* {@link SolverBodyState} inverse-inertia diagonal is zero).
|
|
139
139
|
* @param {Float64Array} ss solver-body-state data array
|
|
140
140
|
* @param {number} base `body_index * SBS_STRIDE`
|
|
141
|
+
* @param {number} ax unit world axis x
|
|
142
|
+
* @param {number} ay unit world axis y
|
|
143
|
+
* @param {number} az unit world axis z
|
|
141
144
|
* @returns {number}
|
|
142
145
|
*/
|
|
143
146
|
function angular_axis_effective_mass(ss, base, ax, ay, az) {
|
|
@@ -152,8 +155,11 @@ function angular_axis_effective_mass(ss, base, ax, ay, az) {
|
|
|
152
155
|
* Apply a pure angular impulse `sign·λ·axis`: Δω = Iw⁻¹·(sign·λ·axis).
|
|
153
156
|
* @param {Float64Array} ss solver-body-state data array
|
|
154
157
|
* @param {number} base `body_index * SBS_STRIDE`
|
|
155
|
-
* @param {number} ax
|
|
156
|
-
* @param {number}
|
|
158
|
+
* @param {number} ax
|
|
159
|
+
* @param {number} ay
|
|
160
|
+
* @param {number} az
|
|
161
|
+
* @param {number} lambda
|
|
162
|
+
* @param {number} sign
|
|
157
163
|
*/
|
|
158
164
|
function apply_angular_impulse(ss, base, ax, ay, az, lambda, sign) {
|
|
159
165
|
const iix = ss[base + SBS_INV_I_X], iiy = ss[base + SBS_INV_I_Y], iiz = ss[base + SBS_INV_I_Z];
|
|
@@ -174,8 +180,12 @@ function apply_angular_impulse(ss, base, ax, ay, az, lambda, sign) {
|
|
|
174
180
|
* @param {Float64Array} ss solver-body-state data array
|
|
175
181
|
* @param {number} base `body_index * SBS_STRIDE`
|
|
176
182
|
* @param {number} invM
|
|
177
|
-
* @param {number} rx
|
|
178
|
-
* @param {number}
|
|
183
|
+
* @param {number} rx
|
|
184
|
+
* @param {number} ry
|
|
185
|
+
* @param {number} rz
|
|
186
|
+
* @param {number} dx
|
|
187
|
+
* @param {number} dy
|
|
188
|
+
* @param {number} dz
|
|
179
189
|
* @returns {number}
|
|
180
190
|
*/
|
|
181
191
|
function axis_effective_mass(ss, base, invM, rx, ry, rz, dx, dy, dz) {
|
|
@@ -229,8 +239,12 @@ const scratch_rv = new Float64Array(3);
|
|
|
229
239
|
* @param {Float64Array} ss solver-body-state data array
|
|
230
240
|
* @param {number} base `body_index * SBS_STRIDE`
|
|
231
241
|
* @param {number} invM
|
|
232
|
-
* @param {number} rx
|
|
233
|
-
* @param {number}
|
|
242
|
+
* @param {number} rx
|
|
243
|
+
* @param {number} ry
|
|
244
|
+
* @param {number} rz
|
|
245
|
+
* @param {number} Px
|
|
246
|
+
* @param {number} Py
|
|
247
|
+
* @param {number} Pz
|
|
234
248
|
* @param {number} sign +1 / −1
|
|
235
249
|
*/
|
|
236
250
|
function apply_impulse(ss, base, invM, rx, ry, rz, Px, Py, Pz, sign) {
|
|
@@ -253,7 +267,8 @@ function apply_impulse(ss, base, invM, rx, ry, rz, Px, Py, Pz, sign) {
|
|
|
253
267
|
|
|
254
268
|
/**
|
|
255
269
|
* Clamp the SPOOK position bias to ±{@link MAX_JOINT_BIAS}.
|
|
256
|
-
* @param {number} b
|
|
270
|
+
* @param {number} b
|
|
271
|
+
* @returns {number}
|
|
257
272
|
*/
|
|
258
273
|
function clamp_bias(b) {
|
|
259
274
|
if (b > MAX_JOINT_BIAS) return MAX_JOINT_BIAS;
|
|
@@ -268,8 +283,11 @@ function clamp_bias(b) {
|
|
|
268
283
|
* upper triangle is written. Rotation-locked / non-dynamic bodies (zero inverse
|
|
269
284
|
* inertia) add nothing. The mass term `(invMA+invMB)·I` is seeded by the caller.
|
|
270
285
|
*
|
|
271
|
-
* @param {Float64Array} ss
|
|
272
|
-
* @param {number}
|
|
286
|
+
* @param {Float64Array} ss
|
|
287
|
+
* @param {number} base
|
|
288
|
+
* @param {number} rx lever arm x
|
|
289
|
+
* @param {number} ry lever arm y
|
|
290
|
+
* @param {number} rz lever arm z
|
|
273
291
|
* @param {Float64Array} fa frame-A world basis (rows = axes)
|
|
274
292
|
* @param {Float64Array} K length-6 symmetric accumulator [00,01,02,11,12,22]
|
|
275
293
|
*/
|
|
@@ -297,7 +315,8 @@ function accumulate_point_block(ss, base, rx, ry, rz, fa, K) {
|
|
|
297
315
|
* near-singular block (|det| < 1e-12) returns 0 and leaves `out` untouched so
|
|
298
316
|
* the caller falls back to the per-axis solve.
|
|
299
317
|
*
|
|
300
|
-
* @param {Float64Array} K [00,01,02,11,12,22]
|
|
318
|
+
* @param {Float64Array} K [00,01,02,11,12,22]
|
|
319
|
+
* @param {Float64Array} out
|
|
301
320
|
* @returns {number} determinant
|
|
302
321
|
*/
|
|
303
322
|
function invert_sym3(K, out) {
|
|
@@ -330,7 +349,10 @@ function invert_sym3(K, out) {
|
|
|
330
349
|
* class has an object-based `computeSwingAndTwist`; this is the inlined,
|
|
331
350
|
* allocation-free form — see the bench that justifies it.)
|
|
332
351
|
*
|
|
333
|
-
* @param {number} dx
|
|
352
|
+
* @param {number} dx qD x
|
|
353
|
+
* @param {number} dy qD y
|
|
354
|
+
* @param {number} dz qD z
|
|
355
|
+
* @param {number} dw qD w
|
|
334
356
|
* @param {Float64Array} out length-3 destination (frame-axis positions)
|
|
335
357
|
*/
|
|
336
358
|
export function swing_twist_error(dx, dy, dz, dw, out) {
|
|
@@ -447,8 +469,11 @@ export function swing_twist_error(dx, dy, dz, dw, out) {
|
|
|
447
469
|
* @param {number} spook_spec speculative gain `1 / dt_sub` (LIMITED)
|
|
448
470
|
* @param {number} dt_sub substep size (MOTOR impulse cap = `maxForce·dt_sub`;
|
|
449
471
|
* SPRING compliance derives from it)
|
|
450
|
-
* @param {Uint8Array} active
|
|
451
|
-
* @param {Float64Array}
|
|
472
|
+
* @param {Uint8Array} active
|
|
473
|
+
* @param {Float64Array} effOut
|
|
474
|
+
* @param {Float64Array} biasOut
|
|
475
|
+
* @param {Float64Array} cloOut
|
|
476
|
+
* @param {Float64Array} chiOut
|
|
452
477
|
* @param {Float64Array} gammaOut per-row regularisation (0 for non-spring rows)
|
|
453
478
|
*/
|
|
454
479
|
function fill_row(joint, dofIndex, k, keff, pos, vel, spook_locked, spook_spec, dt_sub,
|
|
@@ -308,11 +308,23 @@ export class ManifoldStore {
|
|
|
308
308
|
* @returns {number}
|
|
309
309
|
*/
|
|
310
310
|
contact_normal_x(slot: number, idx: number): number;
|
|
311
|
-
/**
|
|
311
|
+
/**
|
|
312
|
+
* @param {number} slot
|
|
313
|
+
* @param {number} idx
|
|
314
|
+
* @returns {number}
|
|
315
|
+
*/
|
|
312
316
|
contact_normal_y(slot: number, idx: number): number;
|
|
313
|
-
/**
|
|
317
|
+
/**
|
|
318
|
+
* @param {number} slot
|
|
319
|
+
* @param {number} idx
|
|
320
|
+
* @returns {number}
|
|
321
|
+
*/
|
|
314
322
|
contact_normal_z(slot: number, idx: number): number;
|
|
315
|
-
/**
|
|
323
|
+
/**
|
|
324
|
+
* @param {number} slot
|
|
325
|
+
* @param {number} idx
|
|
326
|
+
* @returns {number}
|
|
327
|
+
*/
|
|
316
328
|
contact_depth(slot: number, idx: number): number;
|
|
317
329
|
/**
|
|
318
330
|
* Raw contact-point buffer. Hot-path solver code dereferences this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifoldStore.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/contact/ManifoldStore.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wCAFU,MAAM,CAE2B;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,6BAFU,MAAM,CAEiB;AAEjC;;;;GAIG;AACH,wCAFU,MAAM,CAE4B;AAE5C;;;GAGG;AACH,+BAFU,MAAM,CAE2D;AAmE3E;;;GAGG;AACH,mCAFU,MAAM,CAEuB;AAIvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH;IAEI;;OAEG;IACH,+BAFW,MAAM,EAqBhB;IAjBG,mBAA+C;IAC/C,qBAAqB;IAErB,qBAAkE;IAClE,oBAAiE;IAEjE,4BAA0D;IAG1D,0BAAoD;IACpD,uBAAiD;IAEjD,qBAAqB;IAIrB,sBAAgD;IAGpD;;OAEG;IACH,oBAEC;IAED;;;;;;;;OAQG;IACH,cAMC;IAED;;OAEG;IACH,uBAEC;IAED;;;;;;;OAOG;IACH,UAJW,MAAM,OACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;;;OAQG;IACH,aAJW,MAAM,OACN,MAAM,GACJ,MAAM,CA6BlB;IAED;;;OAGG;IACH,YAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,YAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,uBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;;OAKG;IACH,wBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;;OAKG;IACH,eAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;;OAKG;IACH,eAHW,MAAM,SACN,OAAO,QASjB;IAED;;;;;;;;;;;OAWG;IACH,iBAJW,MAAM,yBAEJ,OAAO,CAUnB;IAED;;;;;OAKG;IACH,WAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;OAKG;IACH,qBAFW,MAAM,QAQhB;IAED;;;;;;;;;;;;;OAaG;IACH,mBAFW,MAAM,QAKhB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,kBAnBW,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,eACN,MAAM,aAGN,MAAM,gBAEN,MAAM,QAwBhB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,OACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;OAKG;IACH,qBAJW,MAAM,OACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;;;;;;;;;OAeG;IACH,qBAHW,MAAM,OACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,oBAJW,MAAM,OACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,kBALW,MAAM,OACN,MAAM,OACN,MAAM,EAAE,GAAC,YAAY,cACrB,MAAM,QAOhB;IAED;;;;;;OAMG;IACH,uBAJW,MAAM,OACN,MAAM,GACJ,MAAM,CAIlB;IAED
|
|
1
|
+
{"version":3,"file":"ManifoldStore.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/contact/ManifoldStore.js"],"names":[],"mappings":"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"}
|
|
@@ -544,17 +544,29 @@ export class ManifoldStore {
|
|
|
544
544
|
return this.__data[slot * SLOT_DATA_STRIDE + idx * CONTACT_STRIDE + 6];
|
|
545
545
|
}
|
|
546
546
|
|
|
547
|
-
/**
|
|
547
|
+
/**
|
|
548
|
+
* @param {number} slot
|
|
549
|
+
* @param {number} idx
|
|
550
|
+
* @returns {number}
|
|
551
|
+
*/
|
|
548
552
|
contact_normal_y(slot, idx) {
|
|
549
553
|
return this.__data[slot * SLOT_DATA_STRIDE + idx * CONTACT_STRIDE + 7];
|
|
550
554
|
}
|
|
551
555
|
|
|
552
|
-
/**
|
|
556
|
+
/**
|
|
557
|
+
* @param {number} slot
|
|
558
|
+
* @param {number} idx
|
|
559
|
+
* @returns {number}
|
|
560
|
+
*/
|
|
553
561
|
contact_normal_z(slot, idx) {
|
|
554
562
|
return this.__data[slot * SLOT_DATA_STRIDE + idx * CONTACT_STRIDE + 8];
|
|
555
563
|
}
|
|
556
564
|
|
|
557
|
-
/**
|
|
565
|
+
/**
|
|
566
|
+
* @param {number} slot
|
|
567
|
+
* @param {number} idx
|
|
568
|
+
* @returns {number}
|
|
569
|
+
*/
|
|
558
570
|
contact_depth(slot, idx) {
|
|
559
571
|
return this.__data[slot * SLOT_DATA_STRIDE + idx * CONTACT_STRIDE + 9];
|
|
560
572
|
}
|
|
@@ -188,7 +188,8 @@ export class Joint {
|
|
|
188
188
|
* bone. The swing cone is box-shaped: independent Y and Z half-angles
|
|
189
189
|
* (`swingLimitZ` defaults to `swingLimitY` for a circular cone).
|
|
190
190
|
*
|
|
191
|
-
* @param {number} twistLower
|
|
191
|
+
* @param {number} twistLower lower twist bound, rad.
|
|
192
|
+
* @param {number} twistUpper upper twist bound, rad.
|
|
192
193
|
* @param {number} swingLimitY swing half-angle about frame Y, rad.
|
|
193
194
|
* @param {number} [swingLimitZ] swing half-angle about frame Z, rad
|
|
194
195
|
* (defaults to `swingLimitY`).
|
|
@@ -201,8 +202,9 @@ export class Joint {
|
|
|
201
202
|
* resisted at the stops. Sets {@link DofMode.LIMITED} on that axis.
|
|
202
203
|
*
|
|
203
204
|
* @param {number} axis frame axis: 0 = x, 1 = y, 2 = z.
|
|
204
|
-
* @param {number} lower
|
|
205
|
-
*
|
|
205
|
+
* @param {number} lower lower travel bound in metres (signed anchor-A
|
|
206
|
+
* offset from anchor-B along the frame axis).
|
|
207
|
+
* @param {number} upper upper travel bound, same convention.
|
|
206
208
|
* @returns {Joint} this
|
|
207
209
|
*/
|
|
208
210
|
setLinearLimit(axis: number, lower: number, upper: number): Joint;
|
|
@@ -219,7 +221,8 @@ export class Joint {
|
|
|
219
221
|
* module docs.
|
|
220
222
|
*
|
|
221
223
|
* @param {number} axis frame axis: 0 = x, 1 = y, 2 = z.
|
|
222
|
-
* @param {number} lower
|
|
224
|
+
* @param {number} lower lower rotation bound in radians.
|
|
225
|
+
* @param {number} upper upper rotation bound in radians.
|
|
223
226
|
* @returns {Joint} this
|
|
224
227
|
*/
|
|
225
228
|
setAngularLimit(axis: number, lower: number, upper: number): Joint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Joint.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/Joint.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,gCAFU,MAAM,CAEoB;AAEpC;;;;GAIG;AACH,0BAFU,MAAM,CAEc;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAEI;;;OAGG;IACH,SAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,SAFU,MAAM,CAEM;IAEtB;;;;OAIG;IACH,uBAFU,OAAO,CAEmB;IAEpC;;;;;OAKG;IACH,uBAFU,OAAO,CAEmB;IAEpC;;;;;;;;;OASG;IACH,sBAFU,UAAU,CAEW;IAE/B;;;;;;;OAOG;IACH,sBAFU,UAAU,CAEW;IAE/B;;;;;OAKG;IACH,kBAFU,UAAU,CAKjB;IAEH;;;;;;;;;;OAUG;IACH,YAFU,OAAO,CAEE;IAEnB;;;;;;OAMG;IACH,wBAFU,YAAY,CAEc;IACpC,qCAAqC;IACrC,wBADqB,YAAY,CACG;IAEpC;;;;;OAKG;IACH,uBAFU,YAAY,CAEa;IACnC,qCAAqC;IACrC,qBADqB,YAAY,CACA;IAEjC;;;;;OAKG;IACH,iCAFU,YAAY,CAEuB;IAC7C,qCAAqC;IACrC,2BADqB,YAAY,CACM;IAEvC;;;;;OAKG;IACH,qBAFU,YAAY,CAEW;IAEjC;;;OAGG;IACH,UAFU,MAAM,CAEF;IACd;;;OAGG;IACH,UAFU,MAAM,CAEO;IACvB;;;OAGG;IACH,UAFU,MAAM,CAEa;IAE7B;;;;;OAKG;IACH,gBAFa,KAAK,CAUjB;IAED;;;;OAIG;IACH,UAFa,KAAK,CAKjB;IAED;;;;;;;;OAQG;IACH,0BAJW,MAAM,GAEJ,KAAK,CAWjB;IAED;;;;;;;;OAQG;IACH,6BAJW,MAAM,GAEJ,KAAK,CAWjB;IAED
|
|
1
|
+
{"version":3,"file":"Joint.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/Joint.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,gCAFU,MAAM,CAEoB;AAEpC;;;;GAIG;AACH,0BAFU,MAAM,CAEc;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAEI;;;OAGG;IACH,SAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,SAFU,MAAM,CAEM;IAEtB;;;;OAIG;IACH,uBAFU,OAAO,CAEmB;IAEpC;;;;;OAKG;IACH,uBAFU,OAAO,CAEmB;IAEpC;;;;;;;;;OASG;IACH,sBAFU,UAAU,CAEW;IAE/B;;;;;;;OAOG;IACH,sBAFU,UAAU,CAEW;IAE/B;;;;;OAKG;IACH,kBAFU,UAAU,CAKjB;IAEH;;;;;;;;;;OAUG;IACH,YAFU,OAAO,CAEE;IAEnB;;;;;;OAMG;IACH,wBAFU,YAAY,CAEc;IACpC,qCAAqC;IACrC,wBADqB,YAAY,CACG;IAEpC;;;;;OAKG;IACH,uBAFU,YAAY,CAEa;IACnC,qCAAqC;IACrC,qBADqB,YAAY,CACA;IAEjC;;;;;OAKG;IACH,iCAFU,YAAY,CAEuB;IAC7C,qCAAqC;IACrC,2BADqB,YAAY,CACM;IAEvC;;;;;OAKG;IACH,qBAFU,YAAY,CAEW;IAEjC;;;OAGG;IACH,UAFU,MAAM,CAEF;IACd;;;OAGG;IACH,UAFU,MAAM,CAEO;IACvB;;;OAGG;IACH,UAFU,MAAM,CAEa;IAE7B;;;;;OAKG;IACH,gBAFa,KAAK,CAUjB;IAED;;;;OAIG;IACH,UAFa,KAAK,CAKjB;IAED;;;;;;;;OAQG;IACH,0BAJW,MAAM,GAEJ,KAAK,CAWjB;IAED;;;;;;;;OAQG;IACH,6BAJW,MAAM,GAEJ,KAAK,CAWjB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,wBAPW,MAAM,cACN,MAAM,eACN,MAAM,gBACN,MAAM,GAEJ,KAAK,CAiBjB;IAED;;;;;;;;;;OAUG;IACH,qBANW,MAAM,SACN,MAAM,SAEN,MAAM,GACJ,KAAK,CAOjB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,sBALW,MAAM,SACN,MAAM,SACN,MAAM,GACJ,KAAK,CAOjB;IAED;;;;;;;;;;;;OAYG;IACH,qBAPW,MAAM,kBACN,MAAM,YAEN,MAAM,GAEJ,KAAK,CAOjB;IAED;;;;;;;;;;;;;;OAcG;IACH,sBATW,MAAM,kBACN,MAAM,YAIN,MAAM,GAEJ,KAAK,CAOjB;IAED;;;;;;;;;;;OAWG;IACH,sBALW,MAAM,aACN,MAAM,WACN,MAAM,GACJ,KAAK,CAOjB;IAED;;;;;;;;;;;;OAYG;IACH,uBANW,MAAM,aACN,MAAM,WAEN,MAAM,GACJ,KAAK,CAOjB;IAED;;;;;;;;;;OAUG;IACH,cAHW,KAAK,GACH,OAAO,CA+BnB;IAED;;;;OAIG;IACH,QAFa,MAAM,CAsBlB;IASL;;;OAGG;IACH,kBAFU,OAAO,CAEM;CAZtB;;kBAIS,MAAM;;oBAjdI,+BAA+B;uBAC5B,kCAAkC"}
|
|
@@ -245,7 +245,8 @@ export class Joint {
|
|
|
245
245
|
* bone. The swing cone is box-shaped: independent Y and Z half-angles
|
|
246
246
|
* (`swingLimitZ` defaults to `swingLimitY` for a circular cone).
|
|
247
247
|
*
|
|
248
|
-
* @param {number} twistLower
|
|
248
|
+
* @param {number} twistLower lower twist bound, rad.
|
|
249
|
+
* @param {number} twistUpper upper twist bound, rad.
|
|
249
250
|
* @param {number} swingLimitY swing half-angle about frame Y, rad.
|
|
250
251
|
* @param {number} [swingLimitZ] swing half-angle about frame Z, rad
|
|
251
252
|
* (defaults to `swingLimitY`).
|
|
@@ -274,8 +275,9 @@ export class Joint {
|
|
|
274
275
|
* resisted at the stops. Sets {@link DofMode.LIMITED} on that axis.
|
|
275
276
|
*
|
|
276
277
|
* @param {number} axis frame axis: 0 = x, 1 = y, 2 = z.
|
|
277
|
-
* @param {number} lower
|
|
278
|
-
*
|
|
278
|
+
* @param {number} lower lower travel bound in metres (signed anchor-A
|
|
279
|
+
* offset from anchor-B along the frame axis).
|
|
280
|
+
* @param {number} upper upper travel bound, same convention.
|
|
279
281
|
* @returns {Joint} this
|
|
280
282
|
*/
|
|
281
283
|
setLinearLimit(axis, lower, upper) {
|
|
@@ -298,7 +300,8 @@ export class Joint {
|
|
|
298
300
|
* module docs.
|
|
299
301
|
*
|
|
300
302
|
* @param {number} axis frame axis: 0 = x, 1 = y, 2 = z.
|
|
301
|
-
* @param {number} lower
|
|
303
|
+
* @param {number} lower lower rotation bound in radians.
|
|
304
|
+
* @param {number} upper upper rotation bound in radians.
|
|
302
305
|
* @returns {Joint} this
|
|
303
306
|
*/
|
|
304
307
|
setAngularLimit(axis, lower, upper) {
|
|
@@ -540,6 +540,20 @@ export class PhysicsSystem extends System<any> {
|
|
|
540
540
|
y: number;
|
|
541
541
|
z: number;
|
|
542
542
|
}): void;
|
|
543
|
+
/**
|
|
544
|
+
* Replace the angular velocity. Wakes the body if asleep.
|
|
545
|
+
*
|
|
546
|
+
* Writing `rigidBody.angularVelocity` directly does not wake a sleeping
|
|
547
|
+
* body, so the spin is silently discarded until something else wakes it.
|
|
548
|
+
*
|
|
549
|
+
* @param {RigidBody} rigidBody
|
|
550
|
+
* @param {Vector3|{x:number,y:number,z:number}} v
|
|
551
|
+
*/
|
|
552
|
+
setAngularVelocity(rigidBody: RigidBody, v: Vector3 | {
|
|
553
|
+
x: number;
|
|
554
|
+
y: number;
|
|
555
|
+
z: number;
|
|
556
|
+
}): void;
|
|
543
557
|
/**
|
|
544
558
|
* Teleport a body to a new pose, bypassing integration: writes the body's
|
|
545
559
|
* Transform directly and wakes it. For an interpolated body this also flags a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhysicsSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/PhysicsSystem.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PhysicsSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/PhysicsSystem.js"],"names":[],"mappings":"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"}
|
|
@@ -1051,6 +1051,22 @@ export class PhysicsSystem extends System {
|
|
|
1051
1051
|
}
|
|
1052
1052
|
}
|
|
1053
1053
|
|
|
1054
|
+
/**
|
|
1055
|
+
* Replace the angular velocity. Wakes the body if asleep.
|
|
1056
|
+
*
|
|
1057
|
+
* Writing `rigidBody.angularVelocity` directly does not wake a sleeping
|
|
1058
|
+
* body, so the spin is silently discarded until something else wakes it.
|
|
1059
|
+
*
|
|
1060
|
+
* @param {RigidBody} rigidBody
|
|
1061
|
+
* @param {Vector3|{x:number,y:number,z:number}} v
|
|
1062
|
+
*/
|
|
1063
|
+
setAngularVelocity(rigidBody, v) {
|
|
1064
|
+
rigidBody.angularVelocity.copy(v);
|
|
1065
|
+
if (rigidBody.kind === BodyKind.Dynamic) {
|
|
1066
|
+
this.__wake_body(rigidBody);
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1054
1070
|
/**
|
|
1055
1071
|
* Teleport a body to a new pose, bypassing integration: writes the body's
|
|
1056
1072
|
* Transform directly and wakes it. For an interpolated body this also flags a
|
|
@@ -64,11 +64,11 @@ export class FluidObstacleSystem extends System<any> {
|
|
|
64
64
|
/**
|
|
65
65
|
* @param {FluidComponent} fluid
|
|
66
66
|
*/
|
|
67
|
-
static "__#
|
|
67
|
+
static "__#169@#refresh_masks"(fluid: FluidComponent): void;
|
|
68
68
|
/**
|
|
69
69
|
* @param {FluidComponent} fluid
|
|
70
70
|
*/
|
|
71
|
-
static "__#
|
|
71
|
+
static "__#169@#clear_field"(fluid: FluidComponent): void;
|
|
72
72
|
/**
|
|
73
73
|
* Mark every cell of `fluid` whose centre lies within `inflation` of the
|
|
74
74
|
* posed shape as solid. Iteration is clipped to the shape's world AABB
|
|
@@ -80,7 +80,7 @@ export class FluidObstacleSystem extends System<any> {
|
|
|
80
80
|
* @param {number} inflation world-units SDF threshold
|
|
81
81
|
* @param {Float64Array} point length-3 scratch
|
|
82
82
|
*/
|
|
83
|
-
static "__#
|
|
83
|
+
static "__#169@#voxelize"(fluid: FluidComponent, posed: PosedShape3D, aabb: Float64Array, inflation: number, point: Float64Array): void;
|
|
84
84
|
/**
|
|
85
85
|
* Write the obstacle's translation velocity onto every face of every cell
|
|
86
86
|
* it voxelized — the moving-wall boundary condition. Runs AFTER the mask
|
|
@@ -100,7 +100,7 @@ export class FluidObstacleSystem extends System<any> {
|
|
|
100
100
|
* @param {number} wvy
|
|
101
101
|
* @param {number} wvz
|
|
102
102
|
*/
|
|
103
|
-
static "__#
|
|
103
|
+
static "__#169@#stamp_wall_velocity"(fluid: FluidComponent, posed: PosedShape3D, aabb: Float64Array, inflation: number, point: Float64Array, wvx: number, wvy: number, wvz: number): void;
|
|
104
104
|
constructor();
|
|
105
105
|
dependencies: (typeof FluidObstacle)[];
|
|
106
106
|
components_used: (ResourceAccessSpecification<typeof Transform> | ResourceAccessSpecification<typeof RigidBody> | ResourceAccessSpecification<typeof Collider> | ResourceAccessSpecification<typeof FluidComponent> | ResourceAccessSpecification<typeof FluidObstacle>)[];
|
|
@@ -38,7 +38,7 @@ export class FluidSystem extends System<any> {
|
|
|
38
38
|
* @param {FluidEffectorsComponent} effectors_component
|
|
39
39
|
* @param {Transform} transform
|
|
40
40
|
*/
|
|
41
|
-
static "__#
|
|
41
|
+
static "__#168@#sync_effectors_from_transform"(effectors_component: FluidEffectorsComponent, transform: Transform): void;
|
|
42
42
|
/**
|
|
43
43
|
* Visitor for the (FluidComponent, Transform) traversal — keeps the field's
|
|
44
44
|
* grid origin locked to a cell-aligned position near the transform.
|
|
@@ -61,7 +61,7 @@ export class FluidSystem extends System<any> {
|
|
|
61
61
|
* @param {FluidComponent} component
|
|
62
62
|
* @param {Transform} transform
|
|
63
63
|
*/
|
|
64
|
-
static "__#
|
|
64
|
+
static "__#168@#reanchor_field"(component: FluidComponent, transform: Transform): void;
|
|
65
65
|
/**
|
|
66
66
|
* Write the world-to-grid affine for a FluidComponent into `out`. Axis-aligned,
|
|
67
67
|
* uniform-scale, so the matrix is sparse:
|
|
@@ -76,7 +76,7 @@ export class FluidSystem extends System<any> {
|
|
|
76
76
|
* @param {Float32Array} out length-16
|
|
77
77
|
* @param {FluidComponent} component
|
|
78
78
|
*/
|
|
79
|
-
static "__#
|
|
79
|
+
static "__#168@#build_world_to_grid"(out: Float32Array, component: FluidComponent): void;
|
|
80
80
|
constructor();
|
|
81
81
|
dependencies: (typeof FluidComponent)[];
|
|
82
82
|
/**
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @param {Float64Array|number[]} out length ≥ CONVEX_CONVEX_OUT_LENGTH
|
|
6
6
|
* @param {{vertices:Float32Array, face_offsets:Uint32Array, face_loops:Uint32Array}} A
|
|
7
|
-
* @param {{x,y,z}} posA
|
|
7
|
+
* @param {{x,y,z}} posA
|
|
8
|
+
* @param {{x,y,z,w}} rotA
|
|
8
9
|
* @param {{vertices:Float32Array, face_offsets:Uint32Array, face_loops:Uint32Array}} B
|
|
9
|
-
* @param {{x,y,z}} posB
|
|
10
|
+
* @param {{x,y,z}} posB
|
|
11
|
+
* @param {{x,y,z,w}} rotB
|
|
10
12
|
* @returns {boolean}
|
|
11
13
|
*/
|
|
12
14
|
export function convex_convex_manifold(out: Float64Array | number[], A: {
|
|
@@ -47,11 +49,17 @@ export function convex_convex_manifold(out: Float64Array | number[], A: {
|
|
|
47
49
|
* clip empties (a vertex/edge feature) it falls back to the deepest support-pair.
|
|
48
50
|
*
|
|
49
51
|
* @param {Float64Array|number[]} out length ≥ CONVEX_CONVEX_OUT_LENGTH
|
|
50
|
-
* @param {{vertices,face_offsets,face_loops}} A
|
|
51
|
-
* @param {{
|
|
52
|
-
* @param {
|
|
53
|
-
*
|
|
54
|
-
*
|
|
52
|
+
* @param {{vertices,face_offsets,face_loops}} A
|
|
53
|
+
* @param {{x,y,z}} posA
|
|
54
|
+
* @param {{x,y,z,w}} rotA
|
|
55
|
+
* @param {{vertices,face_offsets,face_loops}} B
|
|
56
|
+
* @param {{x,y,z}} posB
|
|
57
|
+
* @param {{x,y,z,w}} rotB
|
|
58
|
+
* @param {number} nx unit axis x as returned by {@link gjk_epa_penetration}
|
|
59
|
+
* (A→B); this function re-orients it against the geometric centres before
|
|
60
|
+
* use, so either sign convention works
|
|
61
|
+
* @param {number} ny unit axis y, same convention
|
|
62
|
+
* @param {number} nz unit axis z, same convention
|
|
55
63
|
* @returns {boolean} always true
|
|
56
64
|
*/
|
|
57
65
|
export function convex_hull_clip(out: Float64Array | number[], A: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex_convex_manifold.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/convex_convex_manifold.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convex_convex_manifold.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/convex_convex_manifold.js"],"names":[],"mappings":"AA+QA;;;;;;;;;;;;GAYG;AACH,4CATW,YAAY,GAAC,MAAM,EAAE,KACrB;IAAC,QAAQ,EAAC,YAAY,CAAC;IAAC,YAAY,EAAC,WAAW,CAAC;IAAC,UAAU,EAAC,WAAW,CAAA;CAAC,QACzE;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,QACP;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,KACT;IAAC,QAAQ,EAAC,YAAY,CAAC;IAAC,YAAY,EAAC,WAAW,CAAC;IAAC,UAAU,EAAC,WAAW,CAAA;CAAC,QACzE;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,QACP;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,GACP,OAAO,CAiEnB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,sCAdW,YAAY,GAAC,MAAM,EAAE,KACrB;IAAC,QAAQ,CAAC;IAAA,YAAY,CAAC;IAAA,UAAU,CAAA;CAAC,QAClC;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,QACP;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,KACT;IAAC,QAAQ,CAAC;IAAA,YAAY,CAAC;IAAA,UAAU,CAAA;CAAC,QAClC;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,QACP;IAAC,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAC;IAAA,CAAC,CAAA;CAAC,MACT,MAAM,MAGN,MAAM,MACN,MAAM,GACJ,OAAO,CAuCnB;AAlWD,8CAA0E"}
|
|
@@ -197,7 +197,9 @@ function get_sat_edges(shape) {
|
|
|
197
197
|
* taken from the SAT scan. Mirrors Bullet's "face most opposing the normal", made symmetric across A and B.
|
|
198
198
|
*
|
|
199
199
|
* @param {boolean} is_A select within piece A, otherwise piece B
|
|
200
|
-
* @param {number} mx
|
|
200
|
+
* @param {number} mx axis toward the other body, x
|
|
201
|
+
* @param {number} my axis toward the other body, y
|
|
202
|
+
* @param {number} mz axis toward the other body, z
|
|
201
203
|
*/
|
|
202
204
|
function select_reference_face(is_A, mx, my, mz) {
|
|
203
205
|
const nf = is_A ? g_fA : g_fB;
|
|
@@ -226,9 +228,17 @@ function select_reference_face(is_A, mx, my, mz) {
|
|
|
226
228
|
|
|
227
229
|
/**
|
|
228
230
|
* SAT axis test; true if the axis SEPARATES the pieces.
|
|
231
|
+
* @param {number} ux candidate axis x; need not be unit (normalised here)
|
|
232
|
+
* @param {number} uy candidate axis y
|
|
233
|
+
* @param {number} uz candidate axis z
|
|
234
|
+
* @param {number} nA vertex count of piece A in {@link wvA}
|
|
235
|
+
* @param {number} nB vertex count of piece B in {@link wvB}
|
|
236
|
+
* @param {number} kind axis provenance recorded on a new minimum: 0 = A face normal,
|
|
237
|
+
* 1 = B face normal, 2 = edge × edge cross
|
|
229
238
|
* @param {number} ref2 square of the axis's characteristic magnitude (Σ|edge|² for a face,
|
|
230
239
|
* |ea|²·|eb|² for an edge cross); the axis is rejected as degenerate when `len2 / ref2` — a
|
|
231
240
|
* scale-invariant fatness / sin²θ — falls below {@link PARALLEL_EPS_REL}. See PARALLEL_EPS_REL.
|
|
241
|
+
* @returns {boolean} true if this axis separates the pieces
|
|
232
242
|
*/
|
|
233
243
|
function test_axis(ux, uy, uz, nA, nB, kind, ref2) {
|
|
234
244
|
const len2 = ux * ux + uy * uy + uz * uz;
|
|
@@ -265,9 +275,11 @@ function test_axis(ux, uy, uz, nA, nB, kind, ref2) {
|
|
|
265
275
|
*
|
|
266
276
|
* @param {Float64Array|number[]} out length ≥ CONVEX_CONVEX_OUT_LENGTH
|
|
267
277
|
* @param {{vertices:Float32Array, face_offsets:Uint32Array, face_loops:Uint32Array}} A
|
|
268
|
-
* @param {{x,y,z}} posA
|
|
278
|
+
* @param {{x,y,z}} posA
|
|
279
|
+
* @param {{x,y,z,w}} rotA
|
|
269
280
|
* @param {{vertices:Float32Array, face_offsets:Uint32Array, face_loops:Uint32Array}} B
|
|
270
|
-
* @param {{x,y,z}} posB
|
|
281
|
+
* @param {{x,y,z}} posB
|
|
282
|
+
* @param {{x,y,z,w}} rotB
|
|
271
283
|
* @returns {boolean}
|
|
272
284
|
*/
|
|
273
285
|
export function convex_convex_manifold(out, A, posA, rotA, B, posB, rotB) {
|
|
@@ -346,11 +358,17 @@ export function convex_convex_manifold(out, A, posA, rotA, B, posB, rotB) {
|
|
|
346
358
|
* clip empties (a vertex/edge feature) it falls back to the deepest support-pair.
|
|
347
359
|
*
|
|
348
360
|
* @param {Float64Array|number[]} out length ≥ CONVEX_CONVEX_OUT_LENGTH
|
|
349
|
-
* @param {{vertices,face_offsets,face_loops}} A
|
|
350
|
-
* @param {{
|
|
351
|
-
* @param {
|
|
352
|
-
*
|
|
353
|
-
*
|
|
361
|
+
* @param {{vertices,face_offsets,face_loops}} A
|
|
362
|
+
* @param {{x,y,z}} posA
|
|
363
|
+
* @param {{x,y,z,w}} rotA
|
|
364
|
+
* @param {{vertices,face_offsets,face_loops}} B
|
|
365
|
+
* @param {{x,y,z}} posB
|
|
366
|
+
* @param {{x,y,z,w}} rotB
|
|
367
|
+
* @param {number} nx unit axis x as returned by {@link gjk_epa_penetration}
|
|
368
|
+
* (A→B); this function re-orients it against the geometric centres before
|
|
369
|
+
* use, so either sign convention works
|
|
370
|
+
* @param {number} ny unit axis y, same convention
|
|
371
|
+
* @param {number} nz unit axis z, same convention
|
|
354
372
|
* @returns {boolean} always true
|
|
355
373
|
*/
|
|
356
374
|
export function convex_hull_clip(out, A, posA, rotA, B, posB, rotB, nx, ny, nz) {
|
|
@@ -440,7 +458,9 @@ const scratch_edge = new Int32Array(4); // [a0, a1] then [b0, b1] vertex indices
|
|
|
440
458
|
* @param {Uint32Array} fo face offsets
|
|
441
459
|
* @param {Uint32Array} fl face loops
|
|
442
460
|
* @param {number} fcount face count
|
|
443
|
-
* @param {number} dx
|
|
461
|
+
* @param {number} dx
|
|
462
|
+
* @param {number} dy
|
|
463
|
+
* @param {number} dz
|
|
444
464
|
* @param {Int32Array} out_pair 2 slots written at `pair_off`
|
|
445
465
|
* @param {number} pair_off
|
|
446
466
|
*/
|
|
@@ -502,9 +522,12 @@ function emit_edge_pair_contact(out, nx, ny, nz, depth) {
|
|
|
502
522
|
* manifold (count + contacts) into `out`; leaves out[0..2] (the normal) as set
|
|
503
523
|
* by the caller. Shared by both the SAT and GJK+EPA entry points.
|
|
504
524
|
*
|
|
525
|
+
* @param {Float64Array|number[]} out length ≥ CONVEX_CONVEX_OUT_LENGTH
|
|
505
526
|
* @param {boolean} ref_is_A reference face belongs to A (else B)
|
|
506
527
|
* @param {number} ref_face reference face index within its piece
|
|
507
|
-
* @param {number} nx
|
|
528
|
+
* @param {number} nx axis (B→A) x, unit
|
|
529
|
+
* @param {number} ny axis (B→A) y, unit
|
|
530
|
+
* @param {number} nz axis (B→A) z, unit
|
|
508
531
|
*/
|
|
509
532
|
function emit_face_manifold(out, ref_is_A, ref_face, nx, ny, nz) {
|
|
510
533
|
const ref_wv = ref_is_A ? wvA : wvB;
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
* @param {AbstractShape3D} shape a concave shape (`is_convex === false`)
|
|
3
3
|
* @param {{x:number,y:number,z:number}} position
|
|
4
4
|
* @param {ArrayLike<number>} rotation body rotation quaternion (x,y,z,w)
|
|
5
|
-
* @param {number} ox
|
|
6
|
-
* @param {number}
|
|
5
|
+
* @param {number} ox ray origin x (world)
|
|
6
|
+
* @param {number} oy ray origin y (world)
|
|
7
|
+
* @param {number} oz ray origin z (world)
|
|
8
|
+
* @param {number} dx ray dir x (world, unit)
|
|
9
|
+
* @param {number} dy ray dir y (world, unit)
|
|
10
|
+
* @param {number} dz ray dir z (world, unit)
|
|
7
11
|
* @param {number} tMax
|
|
8
12
|
* @param {Float64Array|Vector3} outNormal world surface normal, written on hit
|
|
9
13
|
* @returns {number} hit distance, or `Infinity` on miss
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refine_ray_concave.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/refine_ray_concave.js"],"names":[],"mappings":"AAwCA
|
|
1
|
+
{"version":3,"file":"refine_ray_concave.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/refine_ray_concave.js"],"names":[],"mappings":"AAwCA;;;;;;;;;;;;;GAaG;AACH,qEAZW;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,YAC5B,UAAU,MAAM,CAAC,MACjB,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QACN,MAAM,aACN,YAAY,UAAQ,GAClB,MAAM,CAyGlB"}
|
|
@@ -42,8 +42,12 @@ const AABB_FATTEN = 1e-5; // guards triangles whose AABB just abuts the segment
|
|
|
42
42
|
* @param {AbstractShape3D} shape a concave shape (`is_convex === false`)
|
|
43
43
|
* @param {{x:number,y:number,z:number}} position
|
|
44
44
|
* @param {ArrayLike<number>} rotation body rotation quaternion (x,y,z,w)
|
|
45
|
-
* @param {number} ox
|
|
46
|
-
* @param {number}
|
|
45
|
+
* @param {number} ox ray origin x (world)
|
|
46
|
+
* @param {number} oy ray origin y (world)
|
|
47
|
+
* @param {number} oz ray origin z (world)
|
|
48
|
+
* @param {number} dx ray dir x (world, unit)
|
|
49
|
+
* @param {number} dy ray dir y (world, unit)
|
|
50
|
+
* @param {number} dz ray dir z (world, unit)
|
|
47
51
|
* @param {number} tMax
|
|
48
52
|
* @param {Float64Array|Vector3} outNormal world surface normal, written on hit
|
|
49
53
|
* @returns {number} hit distance, or `Infinity` on miss
|
|
@@ -15,8 +15,12 @@
|
|
|
15
15
|
* @param {AbstractShape3D} shape
|
|
16
16
|
* @param {{x:number,y:number,z:number}} position body world position
|
|
17
17
|
* @param {ArrayLike<number>} rotation body world rotation quaternion (x,y,z,w)
|
|
18
|
-
* @param {number} ox
|
|
19
|
-
* @param {number}
|
|
18
|
+
* @param {number} ox ray origin x (world)
|
|
19
|
+
* @param {number} oy ray origin y (world)
|
|
20
|
+
* @param {number} oz ray origin z (world)
|
|
21
|
+
* @param {number} dx ray dir x (world, unit)
|
|
22
|
+
* @param {number} dy ray dir y (world, unit)
|
|
23
|
+
* @param {number} dz ray dir z (world, unit)
|
|
20
24
|
* @param {number} tMax
|
|
21
25
|
* @param {Float64Array|Vector3} outNormal world surface normal, written on a
|
|
22
26
|
* finite hit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refine_ray_hit.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/refine_ray_hit.js"],"names":[],"mappings":"AAoBA
|
|
1
|
+
{"version":3,"file":"refine_ray_hit.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/narrowphase/refine_ray_hit.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,iEAdW;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,YAC5B,UAAU,MAAM,CAAC,MACjB,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QACN,MAAM,aACN,YAAY,UAAQ,GAElB,MAAM,CAsClB;AA7ED;;;;;;GAMG;AACH,qCAFU,MAAM,CAEyB"}
|
|
@@ -35,8 +35,12 @@ const ln = new Float64Array(3); // surface normal in shape-local frame
|
|
|
35
35
|
* @param {AbstractShape3D} shape
|
|
36
36
|
* @param {{x:number,y:number,z:number}} position body world position
|
|
37
37
|
* @param {ArrayLike<number>} rotation body world rotation quaternion (x,y,z,w)
|
|
38
|
-
* @param {number} ox
|
|
39
|
-
* @param {number}
|
|
38
|
+
* @param {number} ox ray origin x (world)
|
|
39
|
+
* @param {number} oy ray origin y (world)
|
|
40
|
+
* @param {number} oz ray origin z (world)
|
|
41
|
+
* @param {number} dx ray dir x (world, unit)
|
|
42
|
+
* @param {number} dy ray dir y (world, unit)
|
|
43
|
+
* @param {number} dz ray dir z (world, unit)
|
|
40
44
|
* @param {number} tMax
|
|
41
45
|
* @param {Float64Array|Vector3} outNormal world surface normal, written on a
|
|
42
46
|
* finite hit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raycast.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/queries/raycast.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"raycast.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/queries/raycast.js"],"names":[],"mappings":"AA+KA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,yGAJmB,MAAM,yBAAsB,OAAO,GAEzC,OAAO,CAwCnB"}
|