From 373bdd5d2bdefa25ce011b563e188411fb8f3691 Mon Sep 17 00:00:00 2001 From: yhh <359807859@qq.com> Date: Wed, 3 Dec 2025 17:27:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DRust=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=92=8C=E6=B7=BB=E5=8A=A0rapier2d=20WASM?= =?UTF-8?q?=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/engine/src/math/color.rs | 1 + packages/engine/src/math/rect.rs | 1 + packages/engine/src/math/transform.rs | 1 + packages/engine/src/math/vec2.rs | 1 + packages/rapier2d/pkg/.gitignore | 1 + packages/rapier2d/pkg/LICENSE | 201 + packages/rapier2d/pkg/README.md | 70 + packages/rapier2d/pkg/package.json | 32 + packages/rapier2d/pkg/rapier_wasm2d.d.ts | 1666 +++++ packages/rapier2d/pkg/rapier_wasm2d.js | 5461 +++++++++++++++++ packages/rapier2d/pkg/rapier_wasm2d_bg.wasm | Bin 0 -> 1202309 bytes .../rapier2d/pkg/rapier_wasm2d_bg.wasm.d.ts | 468 ++ 12 files changed, 7903 insertions(+) create mode 100644 packages/rapier2d/pkg/.gitignore create mode 100644 packages/rapier2d/pkg/LICENSE create mode 100644 packages/rapier2d/pkg/README.md create mode 100644 packages/rapier2d/pkg/package.json create mode 100644 packages/rapier2d/pkg/rapier_wasm2d.d.ts create mode 100644 packages/rapier2d/pkg/rapier_wasm2d.js create mode 100644 packages/rapier2d/pkg/rapier_wasm2d_bg.wasm create mode 100644 packages/rapier2d/pkg/rapier_wasm2d_bg.wasm.d.ts diff --git a/packages/engine/src/math/color.rs b/packages/engine/src/math/color.rs index ed181b9a..b344a833 100644 --- a/packages/engine/src/math/color.rs +++ b/packages/engine/src/math/color.rs @@ -12,6 +12,7 @@ use bytemuck::{Pod, Zeroable}; /// /// # Examples | 示例 /// ```rust +/// use es_engine::math::Color; /// let red = Color::RED; /// let custom = Color::new(0.5, 0.7, 0.3, 1.0); /// let packed = custom.to_packed(); // For GPU diff --git a/packages/engine/src/math/rect.rs b/packages/engine/src/math/rect.rs index d1382019..73e7acb0 100644 --- a/packages/engine/src/math/rect.rs +++ b/packages/engine/src/math/rect.rs @@ -8,6 +8,7 @@ use super::Vec2; /// /// # Examples | 示例 /// ```rust +/// use es_engine::math::{Rect, Vec2}; /// let rect = Rect::new(10.0, 20.0, 100.0, 50.0); /// let point = Vec2::new(50.0, 40.0); /// assert!(rect.contains_point(point)); diff --git a/packages/engine/src/math/transform.rs b/packages/engine/src/math/transform.rs index ea6d3969..37183faf 100644 --- a/packages/engine/src/math/transform.rs +++ b/packages/engine/src/math/transform.rs @@ -9,6 +9,7 @@ use glam::Mat3; /// /// # Examples | 示例 /// ```rust +/// use es_engine::math::{Transform2D, Vec2}; /// let mut transform = Transform2D::new(); /// transform.position = Vec2::new(100.0, 200.0); /// transform.rotation = std::f32::consts::PI / 4.0; // 45 degrees diff --git a/packages/engine/src/math/vec2.rs b/packages/engine/src/math/vec2.rs index 254a3e9f..991af15b 100644 --- a/packages/engine/src/math/vec2.rs +++ b/packages/engine/src/math/vec2.rs @@ -8,6 +8,7 @@ use bytemuck::{Pod, Zeroable}; /// /// # Examples | 示例 /// ```rust +/// use es_engine::math::Vec2; /// let pos = Vec2::new(100.0, 200.0); /// let velocity = Vec2::new(1.0, 0.0); /// let new_pos = pos + velocity * 16.0; diff --git a/packages/rapier2d/pkg/.gitignore b/packages/rapier2d/pkg/.gitignore new file mode 100644 index 00000000..f59ec20a --- /dev/null +++ b/packages/rapier2d/pkg/.gitignore @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/packages/rapier2d/pkg/LICENSE b/packages/rapier2d/pkg/LICENSE new file mode 100644 index 00000000..e579674d --- /dev/null +++ b/packages/rapier2d/pkg/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Dimforge EURL + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/rapier2d/pkg/README.md b/packages/rapier2d/pkg/README.md new file mode 100644 index 00000000..013aa34d --- /dev/null +++ b/packages/rapier2d/pkg/README.md @@ -0,0 +1,70 @@ +

+ crates.io +

+

+ + + + + Build status + + + crates.io + + + npm version + + + + +

+

+ + Website | Documentation + +

+ +--- + +

+2D physics engine +for the JavaScript programming language (official bindings). +

+ +--- + +## Feature selection + +Multiple NPM packages exist for Rapier, depending on your needs: +- [`@dimforge/rapier2d`](https://www.npmjs.com/package/@dimforge/rapier2d) or + [`@dimforge/rapier3d`](https://www.npmjs.com/package/@dimforge/rapier3d): + The main build of the Rapier physics engine for 2D or 3D physics simulation. This should have wide browser + support while offering great performances. This does **not** guarantee cross-platform determinism of the physics + simulation (but it is still locally deterministic, on the same machine). +- [`@dimforge/rapier2d-simd`](https://www.npmjs.com/package/@dimforge/rapier2d-simd) or + [`@dimforge/rapier3d-simd`](https://www.npmjs.com/package/@dimforge/rapier3d-simd): + A build with internal SIMD optimizations enabled. More limited browser support (requires support for [simd128](https://caniuse.com/?search=simd)). +- [`@dimforge/rapier2d-deterministic`](https://www.npmjs.com/package/@dimforge/rapier2d-deterministic) or + [`@dimforge/rapier3d-deterministic`](https://www.npmjs.com/package/@dimforge/rapier3d-deterministic): + A less optimized build but with a guarantee of a cross-platform deterministic execution of the physics simulation. + +## Bundler support + +Some bundlers will struggle with the `.wasm` file package into the builds above. Alternative `-compat` versions exist +which embed the `.wasm` file into the `.js` sources encoded with base64. This results in a bigger package size, but +much wider bundler support. + +Just append `-compat` to the build you are interested in: +[`rapier2d-compat`](https://www.npmjs.com/package/@dimforge/rapier2d-compat), +[`rapier2d-simd-compat`](https://www.npmjs.com/package/@dimforge/rapier2d-simd-compat), +[`rapier2d-deterministic-compat`](https://www.npmjs.com/package/@dimforge/rapier2d-deterministic-compat), +[`rapier3d-compat`](https://www.npmjs.com/package/@dimforge/rapier3d-compat), +[`rapier3d-simd-compat`](https://www.npmjs.com/package/@dimforge/rapier3d-simd-compat), +[`rapier3d-deterministic-compat`](https://www.npmjs.com/package/@dimforge/rapier3d-deterministic-compat). + +## Nightly builds + +Each time a new Pull Request is merged to the `main` branch of the [`rapier.js` repository](https://github.com/dimforge/rapier.js), +an automatic _canary_ build is triggered. Builds published to npmjs under the _canary_ tag does not come with any +stability guarantee and does not follow semver versioning. But it can be a useful solution to try out the latest +features until a proper release is cut. \ No newline at end of file diff --git a/packages/rapier2d/pkg/package.json b/packages/rapier2d/pkg/package.json new file mode 100644 index 00000000..471a17c7 --- /dev/null +++ b/packages/rapier2d/pkg/package.json @@ -0,0 +1,32 @@ +{ + "name": "dimforge_rapier2d-deterministic", + "type": "module", + "collaborators": [ + "Sébastien Crozet " + ], + "description": "2-dimensional physics engine in Rust - official JS bindings.", + "version": "0.19.3", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/dimforge/rapier.js" + }, + "files": [ + "rapier_wasm2d_bg.wasm", + "rapier_wasm2d.js", + "rapier_wasm2d.d.ts" + ], + "main": "rapier_wasm2d.js", + "homepage": "https://rapier.rs", + "types": "rapier_wasm2d.d.ts", + "sideEffects": [ + "./snippets/*" + ], + "keywords": [ + "physics", + "dynamics", + "rigid", + "real-time", + "joints" + ] +} \ No newline at end of file diff --git a/packages/rapier2d/pkg/rapier_wasm2d.d.ts b/packages/rapier2d/pkg/rapier_wasm2d.d.ts new file mode 100644 index 00000000..2c3438aa --- /dev/null +++ b/packages/rapier2d/pkg/rapier_wasm2d.d.ts @@ -0,0 +1,1666 @@ +/* tslint:disable */ +/* eslint-disable */ +export function reserve_memory(extra_bytes_count: number): void; +export function version(): string; +export enum RawFeatureType { + Vertex = 0, + Face = 1, + Unknown = 2, +} +export enum RawJointAxis { + LinX = 0, + LinY = 1, + AngX = 2, +} +export enum RawJointType { + Revolute = 0, + Fixed = 1, + Prismatic = 2, + Rope = 3, + Spring = 4, + Generic = 5, +} +export enum RawMotorModel { + AccelerationBased = 0, + ForceBased = 1, +} +export enum RawRigidBodyType { + Dynamic = 0, + Fixed = 1, + KinematicPositionBased = 2, + KinematicVelocityBased = 3, +} +export enum RawShapeType { + Ball = 0, + Cuboid = 1, + Capsule = 2, + Segment = 3, + Polyline = 4, + Triangle = 5, + TriMesh = 6, + HeightField = 7, + Compound = 8, + ConvexPolygon = 9, + RoundCuboid = 10, + RoundTriangle = 11, + RoundConvexPolygon = 12, + HalfSpace = 13, + Voxels = 14, +} +export class RawBroadPhase { + free(): void; + projectPoint(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, point: RawVector, solid: boolean, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): RawPointColliderProjection | undefined; + castRayAndGetNormal(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): RawRayColliderIntersection | undefined; + intersectionsWithRay(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean, callback: Function, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): void; + intersectionWithShape(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, shapePos: RawVector, shapeRot: RawRotation, shape: RawShape, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): number | undefined; + intersectionsWithPoint(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, point: RawVector, callback: Function, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): void; + intersectionsWithShape(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, shapePos: RawVector, shapeRot: RawRotation, shape: RawShape, callback: Function, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): void; + projectPointAndGetFeature(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, point: RawVector, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): RawPointColliderProjection | undefined; + collidersWithAabbIntersectingAabb(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, aabbCenter: RawVector, aabbHalfExtents: RawVector, callback: Function): void; + constructor(); + castRay(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): RawRayColliderHit | undefined; + castShape(narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, shapePos: RawVector, shapeRot: RawRotation, shapeVel: RawVector, shape: RawShape, target_distance: number, maxToi: number, stop_at_penetration: boolean, filter_flags: number, filter_groups: number | null | undefined, filter_exclude_collider: number | null | undefined, filter_exclude_rigid_body: number | null | undefined, filter_predicate: Function): RawColliderShapeCastHit | undefined; +} +export class RawCCDSolver { + free(): void; + constructor(); +} +export class RawCharacterCollision { + free(): void; + worldNormal1(): RawVector; + worldNormal2(): RawVector; + worldWitness1(): RawVector; + worldWitness2(): RawVector; + translationDeltaApplied(): RawVector; + translationDeltaRemaining(): RawVector; + constructor(); + toi(): number; + handle(): number; +} +export class RawColliderSet { + free(): void; + /** + * Checks if a collider with the given integer handle exists. + */ + isHandleValid(handle: number): boolean; + createCollider(enabled: boolean, shape: RawShape, translation: RawVector, rotation: RawRotation, massPropsMode: number, mass: number, centerOfMass: RawVector, principalAngularInertia: number, density: number, friction: number, restitution: number, frictionCombineRule: number, restitutionCombineRule: number, isSensor: boolean, collisionGroups: number, solverGroups: number, activeCollisionTypes: number, activeHooks: number, activeEvents: number, contactForceEventThreshold: number, contactSkin: number, hasParent: boolean, parent: number, bodies: RawRigidBodySet): number | undefined; + /** + * Applies the given JavaScript function to the integer handle of each collider managed by this collider set. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each collider managed by this collider set. Called as `f(handle)`. + */ + forEachColliderHandle(f: Function): void; + len(): number; + constructor(); + /** + * Removes a collider from this set and wake-up the rigid-body it is attached to. + */ + remove(handle: number, islands: RawIslandManager, bodies: RawRigidBodySet, wakeUp: boolean): void; + contains(handle: number): boolean; + /** + * The friction coefficient of this collider. + */ + coFriction(handle: number): number; + /** + * Is this collider a sensor? + */ + coIsSensor(handle: number): boolean; + /** + * The world-space orientation of this collider. + */ + coRotation(handle: number): RawRotation; + coSetShape(handle: number, shape: RawShape): void; + coSetVoxel(handle: number, ix: number, iy: number, filled: boolean): void; + /** + * The vertices of this triangle mesh, polyline, convex polyhedron, segment, triangle or convex polyhedron, if it is one. + */ + coVertices(handle: number): Float32Array | undefined; + coCastShape(handle: number, colliderVel: RawVector, shape2: RawShape, shape2Pos: RawVector, shape2Rot: RawRotation, shape2Vel: RawVector, target_distance: number, maxToi: number, stop_at_penetration: boolean): RawShapeCastHit | undefined; + coIsEnabled(handle: number): boolean; + /** + * Set the radius of this collider if it is a ball, capsule, cylinder, or cone shape. + */ + coSetRadius(handle: number, newRadius: number): void; + coSetSensor(handle: number, is_sensor: boolean): void; + /** + * The type of the shape of this collider. + */ + coShapeType(handle: number): RawShapeType; + coVoxelData(handle: number): Int32Array | undefined; + coVoxelSize(handle: number): RawVector | undefined; + /** + * The half height of this collider if it is a capsule, cylinder, or cone shape. + */ + coHalfHeight(handle: number): number | undefined; + coSetDensity(handle: number, density: number): void; + coSetEnabled(handle: number, enabled: boolean): void; + /** + * The physics hooks enabled for this collider. + */ + coActiveHooks(handle: number): number; + coContactSkin(handle: number): number; + /** + * The half-extents of this collider if it is has a cuboid shape. + */ + coHalfExtents(handle: number): RawVector | undefined; + /** + * The restitution coefficient of this collider. + */ + coRestitution(handle: number): number; + /** + * The radius of the round edges of this collider. + */ + coRoundRadius(handle: number): number | undefined; + coSetFriction(handle: number, friction: number): void; + /** + * Sets the rotation angle of this collider. + * + * # Parameters + * - `angle`: the rotation angle, in radians. + * - `wakeUp`: forces the collider to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + */ + coSetRotation(handle: number, angle: number): void; + /** + * The world-space translation of this collider. + */ + coTranslation(handle: number): RawVector; + /** + * The events enabled for this collider. + */ + coActiveEvents(handle: number): number; + coCastCollider(handle: number, collider1Vel: RawVector, collider2handle: number, collider2Vel: RawVector, target_distance: number, max_toi: number, stop_at_penetration: boolean): RawColliderShapeCastHit | undefined; + coContactShape(handle: number, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation, prediction: number): RawShapeContact | undefined; + coProjectPoint(handle: number, point: RawVector, solid: boolean): RawPointProjection; + /** + * The solver groups of this collider. + */ + coSolverGroups(handle: number): number; + coTriMeshFlags(handle: number): number | undefined; + coContainsPoint(handle: number, point: RawVector): boolean; + coIntersectsRay(handle: number, rayOrig: RawVector, rayDir: RawVector, maxToi: number): boolean; + /** + * Set the half height of this collider if it is a capsule, cylinder, or cone shape. + */ + coSetHalfHeight(handle: number, newHalfheight: number): void; + coSetActiveHooks(handle: number, hooks: number): void; + coSetContactSkin(handle: number, contact_skin: number): void; + /** + * Set the half-extents of this collider if it has a cuboid shape. + */ + coSetHalfExtents(handle: number, newHalfExtents: RawVector): void; + coSetRestitution(handle: number, restitution: number): void; + /** + * Set the radius of the round edges of this collider. + */ + coSetRoundRadius(handle: number, newBorderRadius: number): void; + /** + * Sets the translation of this collider. + * + * # Parameters + * - `x`: the world-space position of the collider along the `x` axis. + * - `y`: the world-space position of the collider along the `y` axis. + * - `wakeUp`: forces the collider to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + */ + coSetTranslation(handle: number, x: number, y: number): void; + /** + * The collision groups of this collider. + */ + coCollisionGroups(handle: number): number; + coContactCollider(handle: number, collider2handle: number, prediction: number): RawShapeContact | undefined; + coHalfspaceNormal(handle: number): RawVector | undefined; + coIntersectsShape(handle: number, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation): boolean; + coSetActiveEvents(handle: number, events: number): void; + coSetSolverGroups(handle: number, groups: number): void; + /** + * The scaling factor applied of this heightfield if it is one. + */ + coHeightfieldScale(handle: number): RawVector | undefined; + /** + * The orientation of this collider relative to its parent rigid-body. + * + * Returns the `None` if it doesn’t have a parent. + */ + coRotationWrtParent(handle: number): RawRotation | undefined; + coSetMassProperties(handle: number, mass: number, centerOfMass: RawVector, principalAngularInertia: number): void; + coCombineVoxelStates(handle1: number, handle2: number, shift_x: number, shift_y: number): void; + /** + * The height of this heightfield if it is one. + */ + coHeightfieldHeights(handle: number): Float32Array | undefined; + coSetCollisionGroups(handle: number, groups: number): void; + coCastRayAndGetNormal(handle: number, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): RawRayIntersection | undefined; + coFrictionCombineRule(handle: number): number; + /** + * The collision types enabled for this collider. + */ + coActiveCollisionTypes(handle: number): number; + coPropagateVoxelChange(handle1: number, handle2: number, ix: number, iy: number, shift_x: number, shift_y: number): void; + coSetRotationWrtParent(handle: number, angle: number): void; + /** + * The translation of this collider relative to its parent rigid-body. + * + * Returns the `None` if it doesn’t have a parent. + */ + coTranslationWrtParent(handle: number): RawVector | undefined; + coRestitutionCombineRule(handle: number): number; + coSetFrictionCombineRule(handle: number, rule: number): void; + coSetActiveCollisionTypes(handle: number, types: number): void; + coSetTranslationWrtParent(handle: number, x: number, y: number): void; + coSetRestitutionCombineRule(handle: number, rule: number): void; + /** + * The total force magnitude beyond which a contact force event can be emitted. + */ + coContactForceEventThreshold(handle: number): number; + coSetContactForceEventThreshold(handle: number, threshold: number): void; + /** + * The mass of this collider. + */ + coMass(handle: number): number; + /** + * The unique integer identifier of the collider this collider is attached to. + */ + coParent(handle: number): number | undefined; + /** + * The radius of this collider if it is a ball, capsule, cylinder, or cone shape. + */ + coRadius(handle: number): number | undefined; + /** + * The volume of this collider. + */ + coVolume(handle: number): number; + coCastRay(handle: number, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): number; + /** + * The density of this collider. + */ + coDensity(handle: number): number; + /** + * The indices of this triangle mesh, polyline, or convex polyhedron, if it is one. + */ + coIndices(handle: number): Uint32Array | undefined; + coSetMass(handle: number, mass: number): void; +} +export class RawColliderShapeCastHit { + private constructor(); + free(): void; + colliderHandle(): number; + time_of_impact(): number; + normal1(): RawVector; + normal2(): RawVector; + witness1(): RawVector; + witness2(): RawVector; +} +export class RawContactForceEvent { + private constructor(); + free(): void; + /** + * The sum of all the forces between the two colliders. + */ + total_force(): RawVector; + /** + * The world-space (unit) direction of the force with strongest magnitude. + */ + max_force_direction(): RawVector; + /** + * The magnitude of the largest force at a contact point of this contact pair. + */ + max_force_magnitude(): number; + /** + * The sum of the magnitudes of each force between the two colliders. + * + * Note that this is **not** the same as the magnitude of `self.total_force`. + * Here we are summing the magnitude of all the forces, instead of taking + * the magnitude of their sum. + */ + total_force_magnitude(): number; + /** + * The first collider involved in the contact. + */ + collider1(): number; + /** + * The second collider involved in the contact. + */ + collider2(): number; +} +export class RawContactManifold { + private constructor(); + free(): void; + contact_dist(i: number): number; + contact_fid1(i: number): number; + contact_fid2(i: number): number; + num_contacts(): number; + contact_impulse(i: number): number; + contact_local_p1(i: number): RawVector | undefined; + contact_local_p2(i: number): RawVector | undefined; + num_solver_contacts(): number; + solver_contact_dist(i: number): number; + solver_contact_point(i: number): RawVector | undefined; + contact_tangent_impulse(i: number): number; + solver_contact_friction(i: number): number; + solver_contact_restitution(i: number): number; + solver_contact_tangent_velocity(i: number): RawVector; + normal(): RawVector; + local_n1(): RawVector; + local_n2(): RawVector; + subshape1(): number; + subshape2(): number; +} +export class RawContactPair { + private constructor(); + free(): void; + contactManifold(i: number): RawContactManifold | undefined; + numContactManifolds(): number; + collider1(): number; + collider2(): number; +} +export class RawDebugRenderPipeline { + free(): void; + constructor(); + colors(): Float32Array; + render(bodies: RawRigidBodySet, colliders: RawColliderSet, impulse_joints: RawImpulseJointSet, multibody_joints: RawMultibodyJointSet, narrow_phase: RawNarrowPhase, filter_flags: number, filter_predicate: Function): void; + vertices(): Float32Array; +} +export class RawDeserializedWorld { + private constructor(); + free(): void; + takeBodies(): RawRigidBodySet | undefined; + takeGravity(): RawVector | undefined; + takeColliders(): RawColliderSet | undefined; + takeBroadPhase(): RawBroadPhase | undefined; + takeNarrowPhase(): RawNarrowPhase | undefined; + takeImpulseJoints(): RawImpulseJointSet | undefined; + takeIslandManager(): RawIslandManager | undefined; + takeMultibodyJoints(): RawMultibodyJointSet | undefined; + takeIntegrationParameters(): RawIntegrationParameters | undefined; +} +/** + * A structure responsible for collecting events generated + * by the physics engine. + */ +export class RawEventQueue { + free(): void; + /** + * Applies the given javascript closure on each collision event of this collector, then clear + * the internal collision event buffer. + * + * # Parameters + * - `f(handle1, handle2, started)`: JavaScript closure applied to each collision event. The + * closure should take three arguments: two integers representing the handles of the colliders + * involved in the collision, and a boolean indicating if the collision started (true) or stopped + * (false). + */ + drainCollisionEvents(f: Function): void; + drainContactForceEvents(f: Function): void; + /** + * Creates a new event collector. + * + * # Parameters + * - `autoDrain`: setting this to `true` is strongly recommended. If true, the collector will + * be automatically drained before each `world.step(collector)`. If false, the collector will + * keep all events in memory unless it is manually drained/cleared; this may lead to unbounded use of + * RAM if no drain is performed. + */ + constructor(autoDrain: boolean); + /** + * Removes all events contained by this collector. + */ + clear(): void; +} +export class RawGenericJoint { + private constructor(); + free(): void; + static rope(length: number, anchor1: RawVector, anchor2: RawVector): RawGenericJoint; + /** + * Creates a new joint descriptor that builds a Fixed joint. + * + * A fixed joint removes all the degrees of freedom between the affected bodies. + */ + static fixed(anchor1: RawVector, axes1: RawRotation, anchor2: RawVector, axes2: RawRotation): RawGenericJoint; + static spring(rest_length: number, stiffness: number, damping: number, anchor1: RawVector, anchor2: RawVector): RawGenericJoint; + /** + * Create a new joint descriptor that builds Revolute joints. + * + * A revolute joint removes all degrees of freedom between the affected + * bodies except for the rotation. + */ + static revolute(anchor1: RawVector, anchor2: RawVector): RawGenericJoint | undefined; + /** + * Creates a new joint descriptor that builds a Prismatic joint. + * + * A prismatic joint removes all the degrees of freedom between the + * affected bodies, except for the translation along one axis. + * + * Returns `None` if any of the provided axes cannot be normalized. + */ + static prismatic(anchor1: RawVector, anchor2: RawVector, axis: RawVector, limitsEnabled: boolean, limitsMin: number, limitsMax: number): RawGenericJoint | undefined; +} +export class RawImpulseJointSet { + free(): void; + /** + * The position of the first anchor of this joint. + * + * The first anchor gives the position of the points application point on the + * local frame of the first rigid-body it is attached to. + */ + jointAnchor1(handle: number): RawVector; + /** + * The position of the second anchor of this joint. + * + * The second anchor gives the position of the points application point on the + * local frame of the second rigid-body it is attached to. + */ + jointAnchor2(handle: number): RawVector; + /** + * The angular part of the joint’s local frame relative to the first rigid-body it is attached to. + */ + jointFrameX1(handle: number): RawRotation; + /** + * The angular part of the joint’s local frame relative to the second rigid-body it is attached to. + */ + jointFrameX2(handle: number): RawRotation; + /** + * If this is a prismatic joint, returns its upper limit. + */ + jointLimitsMax(handle: number, axis: RawJointAxis): number; + /** + * Return the lower limit along the given joint axis. + */ + jointLimitsMin(handle: number, axis: RawJointAxis): number; + /** + * Enables and sets the joint limits + */ + jointSetLimits(handle: number, axis: RawJointAxis, min: number, max: number): void; + /** + * Sets the position of the first local anchor + */ + jointSetAnchor1(handle: number, newPos: RawVector): void; + /** + * Sets the position of the second local anchor + */ + jointSetAnchor2(handle: number, newPos: RawVector): void; + /** + * The unique integer identifier of the first rigid-body this joint it attached to. + */ + jointBodyHandle1(handle: number): number; + /** + * The unique integer identifier of the second rigid-body this joint is attached to. + */ + jointBodyHandle2(handle: number): number; + /** + * Are the limits for this joint enabled? + */ + jointLimitsEnabled(handle: number, axis: RawJointAxis): boolean; + jointConfigureMotor(handle: number, axis: RawJointAxis, targetPos: number, targetVel: number, stiffness: number, damping: number): void; + /** + * Are contacts between the rigid-bodies attached by this joint enabled? + */ + jointContactsEnabled(handle: number): boolean; + /** + * Sets whether contacts are enabled between the rigid-bodies attached by this joint. + */ + jointSetContactsEnabled(handle: number, enabled: boolean): void; + jointConfigureMotorModel(handle: number, axis: RawJointAxis, model: RawMotorModel): void; + jointConfigureMotorPosition(handle: number, axis: RawJointAxis, targetPos: number, stiffness: number, damping: number): void; + jointConfigureMotorVelocity(handle: number, axis: RawJointAxis, targetVel: number, factor: number): void; + /** + * The type of this joint. + */ + jointType(handle: number): RawJointType; + createJoint(params: RawGenericJoint, parent1: number, parent2: number, wake_up: boolean): number; + /** + * Applies the given JavaScript function to the integer handle of each joint managed by this physics world. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint managed by this set. Called as `f(collider)`. + */ + forEachJointHandle(f: Function): void; + /** + * Applies the given JavaScript function to the integer handle of each joint attached to the given rigid-body. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint attached to the rigid-body. Called as `f(collider)`. + */ + forEachJointAttachedToRigidBody(body: number, f: Function): void; + len(): number; + constructor(); + remove(handle: number, wakeUp: boolean): void; + contains(handle: number): boolean; +} +export class RawIntegrationParameters { + free(): void; + constructor(); + lengthUnit: number; + readonly contact_erp: number; + minIslandSize: number; + maxCcdSubsteps: number; + numSolverIterations: number; + numInternalPgsIterations: number; + normalizedAllowedLinearError: number; + normalizedPredictionDistance: number; + set contact_natural_frequency(value: number); + dt: number; +} +export class RawIslandManager { + free(): void; + /** + * Applies the given JavaScript function to the integer handle of each active rigid-body + * managed by this island manager. + * + * After a short time of inactivity, a rigid-body is automatically deactivated ("asleep") by + * the physics engine in order to save computational power. A sleeping rigid-body never moves + * unless it is moved manually by the user. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each active rigid-body managed by this + * set. Called as `f(collider)`. + */ + forEachActiveRigidBodyHandle(f: Function): void; + constructor(); +} +export class RawKinematicCharacterController { + free(): void; + slideEnabled(): boolean; + enableAutostep(maxHeight: number, minWidth: number, includeDynamicBodies: boolean): void; + autostepEnabled(): boolean; + disableAutostep(): void; + setSlideEnabled(enabled: boolean): void; + autostepMinWidth(): number | undefined; + computedGrounded(): boolean; + computedMovement(): RawVector; + autostepMaxHeight(): number | undefined; + computedCollision(i: number, collision: RawCharacterCollision): boolean; + normalNudgeFactor(): number; + enableSnapToGround(distance: number): void; + maxSlopeClimbAngle(): number; + minSlopeSlideAngle(): number; + disableSnapToGround(): void; + snapToGroundEnabled(): boolean; + setNormalNudgeFactor(value: number): void; + snapToGroundDistance(): number | undefined; + numComputedCollisions(): number; + setMaxSlopeClimbAngle(angle: number): void; + setMinSlopeSlideAngle(angle: number): void; + computeColliderMovement(dt: number, broad_phase: RawBroadPhase, narrow_phase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, collider_handle: number, desired_translation_delta: RawVector, apply_impulses_to_dynamic_bodies: boolean, character_mass: number | null | undefined, filter_flags: number, filter_groups: number | null | undefined, filter_predicate: Function): void; + autostepIncludesDynamicBodies(): boolean | undefined; + up(): RawVector; + constructor(offset: number); + setUp(vector: RawVector): void; + offset(): number; + setOffset(value: number): void; +} +export class RawMultibodyJointSet { + free(): void; + /** + * The position of the first anchor of this joint. + * + * The first anchor gives the position of the points application point on the + * local frame of the first rigid-body it is attached to. + */ + jointAnchor1(handle: number): RawVector; + /** + * The position of the second anchor of this joint. + * + * The second anchor gives the position of the points application point on the + * local frame of the second rigid-body it is attached to. + */ + jointAnchor2(handle: number): RawVector; + /** + * The angular part of the joint’s local frame relative to the first rigid-body it is attached to. + */ + jointFrameX1(handle: number): RawRotation; + /** + * The angular part of the joint’s local frame relative to the second rigid-body it is attached to. + */ + jointFrameX2(handle: number): RawRotation; + /** + * If this is a prismatic joint, returns its upper limit. + */ + jointLimitsMax(handle: number, axis: RawJointAxis): number; + /** + * Return the lower limit along the given joint axis. + */ + jointLimitsMin(handle: number, axis: RawJointAxis): number; + /** + * Are the limits for this joint enabled? + */ + jointLimitsEnabled(handle: number, axis: RawJointAxis): boolean; + /** + * Are contacts between the rigid-bodies attached by this joint enabled? + */ + jointContactsEnabled(handle: number): boolean; + /** + * Sets whether contacts are enabled between the rigid-bodies attached by this joint. + */ + jointSetContactsEnabled(handle: number, enabled: boolean): void; + /** + * The type of this joint. + */ + jointType(handle: number): RawJointType; + createJoint(params: RawGenericJoint, parent1: number, parent2: number, wakeUp: boolean): number; + /** + * Applies the given JavaScript function to the integer handle of each joint managed by this physics world. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint managed by this set. Called as `f(collider)`. + */ + forEachJointHandle(f: Function): void; + /** + * Applies the given JavaScript function to the integer handle of each joint attached to the given rigid-body. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint attached to the rigid-body. Called as `f(collider)`. + */ + forEachJointAttachedToRigidBody(body: number, f: Function): void; + constructor(); + remove(handle: number, wakeUp: boolean): void; + contains(handle: number): boolean; +} +export class RawNarrowPhase { + free(): void; + contact_pair(handle1: number, handle2: number): RawContactPair | undefined; + intersection_pair(handle1: number, handle2: number): boolean; + contact_pairs_with(handle1: number, f: Function): void; + intersection_pairs_with(handle1: number, f: Function): void; + constructor(); +} +export class RawPhysicsPipeline { + free(): void; + timing_ccd(): number; + timing_step(): number; + timing_solver(): number; + stepWithEvents(gravity: RawVector, integrationParameters: RawIntegrationParameters, islands: RawIslandManager, broadPhase: RawBroadPhase, narrowPhase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, joints: RawImpulseJointSet, articulations: RawMultibodyJointSet, ccd_solver: RawCCDSolver, eventQueue: RawEventQueue, hookObject: object, hookFilterContactPair: Function, hookFilterIntersectionPair: Function): void; + timing_ccd_solver(): number; + timing_broad_phase(): number; + is_profiler_enabled(): boolean; + timing_narrow_phase(): number; + timing_user_changes(): number; + set_profiler_enabled(enabled: boolean): void; + timing_ccd_broad_phase(): number; + timing_velocity_update(): number; + timing_ccd_narrow_phase(): number; + timing_velocity_assembly(): number; + timing_velocity_writeback(): number; + timing_ccd_toi_computation(): number; + timing_collision_detection(): number; + timing_island_construction(): number; + timing_velocity_resolution(): number; + constructor(); + step(gravity: RawVector, integrationParameters: RawIntegrationParameters, islands: RawIslandManager, broadPhase: RawBroadPhase, narrowPhase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, joints: RawImpulseJointSet, articulations: RawMultibodyJointSet, ccd_solver: RawCCDSolver): void; +} +export class RawPidController { + free(): void; + set_axes_mask(axes_mask: number): void; + reset_integrals(): void; + linear_correction(dt: number, bodies: RawRigidBodySet, rb_handle: number, target_translation: RawVector, target_linvel: RawVector): RawVector; + angular_correction(dt: number, bodies: RawRigidBodySet, rb_handle: number, target_rotation: number, target_angvel: number): number; + apply_linear_correction(dt: number, bodies: RawRigidBodySet, rb_handle: number, target_translation: RawVector, target_linvel: RawVector): void; + apply_angular_correction(dt: number, bodies: RawRigidBodySet, rb_handle: number, target_rotation: number, target_angvel: number): void; + constructor(kp: number, ki: number, kd: number, axes_mask: number); + set_kd(kd: number, axes: number): void; + set_ki(ki: number, axes: number): void; + set_kp(kp: number, axes: number): void; +} +export class RawPointColliderProjection { + private constructor(); + free(): void; + featureType(): RawFeatureType; + colliderHandle(): number; + point(): RawVector; + isInside(): boolean; + featureId(): number | undefined; +} +export class RawPointProjection { + private constructor(); + free(): void; + point(): RawVector; + isInside(): boolean; +} +export class RawRayColliderHit { + private constructor(); + free(): void; + timeOfImpact(): number; + colliderHandle(): number; +} +export class RawRayColliderIntersection { + private constructor(); + free(): void; + featureType(): RawFeatureType; + colliderHandle(): number; + time_of_impact(): number; + normal(): RawVector; + featureId(): number | undefined; +} +export class RawRayIntersection { + private constructor(); + free(): void; + featureType(): RawFeatureType; + time_of_impact(): number; + normal(): RawVector; + featureId(): number | undefined; +} +export class RawRigidBodySet { + free(): void; + /** + * Adds a force at the center-of-mass of this rigid-body. + * + * # Parameters + * - `force`: the world-space force to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + */ + rbAddForce(handle: number, force: RawVector, wakeUp: boolean): void; + /** + * The status of this rigid-body: fixed, dynamic, or kinematic. + */ + rbBodyType(handle: number): RawRigidBodyType; + /** + * Retrieves the `i-th` collider attached to this rigid-body. + * + * # Parameters + * - `at`: The index of the collider to retrieve. Must be a number in `[0, this.numColliders()[`. + * This index is **not** the same as the unique identifier of the collider. + */ + rbCollider(handle: number, at: number): number; + /** + * Is the velocity of this rigid-body not zero? + */ + rbIsMoving(handle: number): boolean; + /** + * The center of mass of a rigid-body expressed in its local-space. + */ + rbLocalCom(handle: number): RawVector; + /** + * The world-space orientation of this rigid-body. + */ + rbRotation(handle: number): RawRotation; + /** + * An arbitrary user-defined 32-bit integer + */ + rbUserData(handle: number): number; + /** + * The world-space center of mass of the rigid-body. + */ + rbWorldCom(handle: number): RawVector; + /** + * Adds a torque at the center-of-mass of this rigid-body. + * + * # Parameters + * - `torque`: the torque to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + */ + rbAddTorque(handle: number, torque: number, wakeUp: boolean): void; + rbEnableCcd(handle: number, enabled: boolean): void; + /** + * Is this rigid-body dynamic? + */ + rbIsDynamic(handle: number): boolean; + rbIsEnabled(handle: number): boolean; + /** + * Sets the angular velocity of this rigid-body. + */ + rbSetAngvel(handle: number, angvel: number, wakeUp: boolean): void; + /** + * Sets the linear velocity of this rigid-body. + */ + rbSetLinvel(handle: number, linvel: RawVector, wakeUp: boolean): void; + /** + * Retrieves the constant force(s) the user added to this rigid-body. + * Returns zero if the rigid-body is not dynamic. + */ + rbUserForce(handle: number): RawVector; + /** + * Is this rigid-body sleeping? + */ + rbIsSleeping(handle: number): boolean; + rbSetEnabled(handle: number, enabled: boolean): void; + /** + * Retrieves the constant torque(s) the user added to this rigid-body. + * Returns zero if the rigid-body is not dynamic. + */ + rbUserTorque(handle: number): number; + /** + * Is this rigid-body kinematic? + */ + rbIsKinematic(handle: number): boolean; + /** + * Resets to zero all user-added forces added to this rigid-body. + */ + rbResetForces(handle: number, wakeUp: boolean): void; + /** + * Set a new status for this rigid-body: fixed, dynamic, or kinematic. + */ + rbSetBodyType(handle: number, status: RawRigidBodyType, wake_up: boolean): void; + /** + * Sets the rotation angle of this rigid-body. + * + * # Parameters + * - `angle`: the rotation angle, in radians. + * - `wakeUp`: forces the rigid-body to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + */ + rbSetRotation(handle: number, angle: number, wakeUp: boolean): void; + /** + * Sets the user-defined 32-bit integer of this rigid-body. + * + * # Parameters + * - `data`: an arbitrary user-defined 32-bit integer. + */ + rbSetUserData(handle: number, data: number): void; + /** + * The world-space translation of this rigid-body. + */ + rbTranslation(handle: number): RawVector; + /** + * Applies an impulse at the center-of-mass of this rigid-body. + * + * # Parameters + * - `impulse`: the world-space impulse to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + */ + rbApplyImpulse(handle: number, impulse: RawVector, wakeUp: boolean): void; + rbGravityScale(handle: number): number; + /** + * Is Continuous Collision Detection enabled for this rigid-body? + */ + rbIsCcdEnabled(handle: number): boolean; + /** + * The world-space predicted orientation of this rigid-body. + * + * If this rigid-body is kinematic this value is set by the `setNextKinematicRotation` + * method and is used for estimating the kinematic body velocity at the next timestep. + * For non-kinematic bodies, this value is currently unspecified. + */ + rbNextRotation(handle: number): RawRotation; + /** + * The number of colliders attached to this rigid-body. + */ + rbNumColliders(handle: number): number; + /** + * Resets to zero all user-added torques added to this rigid-body. + */ + rbResetTorques(handle: number, wakeUp: boolean): void; + /** + * The linear damping coefficient of this rigid-body. + */ + rbLinearDamping(handle: number): number; + rbLockRotations(handle: number, locked: boolean, wake_up: boolean): void; + /** + * The angular damping coefficient of this rigid-body. + */ + rbAngularDamping(handle: number): number; + rbDominanceGroup(handle: number): number; + /** + * Sets the translation of this rigid-body. + * + * # Parameters + * - `x`: the world-space position of the rigid-body along the `x` axis. + * - `y`: the world-space position of the rigid-body along the `y` axis. + * - `wakeUp`: forces the rigid-body to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + */ + rbSetTranslation(handle: number, x: number, y: number, wakeUp: boolean): void; + /** + * Adds a force at the given world-space point of this rigid-body. + * + * # Parameters + * - `force`: the world-space force to apply on the rigid-body. + * - `point`: the world-space point where the impulse is to be applied on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + */ + rbAddForceAtPoint(handle: number, force: RawVector, point: RawVector, wakeUp: boolean): void; + /** + * The world-space predicted translation of this rigid-body. + * + * If this rigid-body is kinematic this value is set by the `setNextKinematicTranslation` + * method and is used for estimating the kinematic body velocity at the next timestep. + * For non-kinematic bodies, this value is currently unspecified. + */ + rbNextTranslation(handle: number): RawVector; + rbSetGravityScale(handle: number, factor: number, wakeUp: boolean): void; + /** + * The velocity of the given world-space point on this rigid-body. + */ + rbVelocityAtPoint(handle: number, point: RawVector): RawVector; + /** + * The inverse mass taking into account translation locking. + */ + rbEffectiveInvMass(handle: number): RawVector; + rbLockTranslations(handle: number, locked: boolean, wake_up: boolean): void; + /** + * The angular inertia along the principal inertia axes of the rigid-body. + */ + rbPrincipalInertia(handle: number): number; + rbSetLinearDamping(handle: number, factor: number): void; + rbSetAdditionalMass(handle: number, mass: number, wake_up: boolean): void; + rbSetAngularDamping(handle: number, factor: number): void; + rbSetDominanceGroup(handle: number, group: number): void; + rbSoftCcdPrediction(handle: number): number; + /** + * Applies an impulsive torque at the center-of-mass of this rigid-body. + * + * # Parameters + * - `torque impulse`: the torque impulse to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + */ + rbApplyTorqueImpulse(handle: number, torque_impulse: number, wakeUp: boolean): void; + /** + * Applies an impulse at the given world-space point of this rigid-body. + * + * # Parameters + * - `impulse`: the world-space impulse to apply on the rigid-body. + * - `point`: the world-space point where the impulse is to be applied on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + */ + rbApplyImpulseAtPoint(handle: number, impulse: RawVector, point: RawVector, wakeUp: boolean): void; + /** + * The inverse of the principal angular inertia of the rigid-body. + * + * Components set to zero are assumed to be infinite along the corresponding principal axis. + */ + rbInvPrincipalInertia(handle: number): number; + rbSetSoftCcdPrediction(handle: number, prediction: number): void; + rbSetEnabledTranslations(handle: number, allow_x: boolean, allow_y: boolean, wake_up: boolean): void; + /** + * The effective world-space angular inertia (that takes the potential rotation locking into account) of + * this rigid-body. + */ + rbEffectiveAngularInertia(handle: number): number; + /** + * The world-space inverse angular inertia tensor of the rigid-body, + * taking into account rotation locking. + */ + rbEffectiveWorldInvInertia(handle: number): number; + /** + * If this rigid body is kinematic, sets its future rotation after the next timestep integration. + * + * This should be used instead of `rigidBody.setRotation` to make the dynamic object + * interacting with this kinematic body behave as expected. Internally, Rapier will compute + * an artificial velocity for this rigid-body from its current position and its next kinematic + * position. This velocity will be used to compute forces on dynamic bodies interacting with + * this body. + * + * # Parameters + * - `angle`: the rotation angle, in radians. + */ + rbSetNextKinematicRotation(handle: number, angle: number): void; + rbAdditionalSolverIterations(handle: number): number; + rbSetAdditionalMassProperties(handle: number, mass: number, centerOfMass: RawVector, principalAngularInertia: number, wake_up: boolean): void; + /** + * If this rigid body is kinematic, sets its future translation after the next timestep integration. + * + * This should be used instead of `rigidBody.setTranslation` to make the dynamic object + * interacting with this kinematic body behave as expected. Internally, Rapier will compute + * an artificial velocity for this rigid-body from its current position and its next kinematic + * position. This velocity will be used to compute forces on dynamic bodies interacting with + * this body. + * + * # Parameters + * - `x`: the world-space position of the rigid-body along the `x` axis. + * - `y`: the world-space position of the rigid-body along the `y` axis. + */ + rbSetNextKinematicTranslation(handle: number, x: number, y: number): void; + rbSetAdditionalSolverIterations(handle: number, iters: number): void; + rbRecomputeMassPropertiesFromColliders(handle: number, colliders: RawColliderSet): void; + /** + * The mass of this rigid-body. + */ + rbMass(handle: number): number; + /** + * Put the given rigid-body to sleep. + */ + rbSleep(handle: number): void; + /** + * The angular velocity of this rigid-body. + */ + rbAngvel(handle: number): number; + /** + * The linear velocity of this rigid-body. + */ + rbLinvel(handle: number): RawVector; + /** + * Wakes this rigid-body up. + * + * A dynamic rigid-body that does not move during several consecutive frames will + * be put to sleep by the physics engine, i.e., it will stop being simulated in order + * to avoid useless computations. + * This method forces a sleeping rigid-body to wake-up. This is useful, e.g., before modifying + * the position of a dynamic body so that it is properly simulated afterwards. + */ + rbWakeUp(handle: number): void; + /** + * The inverse of the mass of a rigid-body. + * + * If this is zero, the rigid-body is assumed to have infinite mass. + */ + rbInvMass(handle: number): number; + /** + * Is this rigid-body fixed? + */ + rbIsFixed(handle: number): boolean; + createRigidBody(enabled: boolean, translation: RawVector, rotation: RawRotation, gravityScale: number, mass: number, massOnly: boolean, centerOfMass: RawVector, linvel: RawVector, angvel: number, principalAngularInertia: number, translationEnabledX: boolean, translationEnabledY: boolean, rotationsEnabled: boolean, linearDamping: number, angularDamping: number, rb_type: RawRigidBodyType, canSleep: boolean, sleeping: boolean, softCcdPrediciton: number, ccdEnabled: boolean, dominanceGroup: number, additional_solver_iterations: number): number; + /** + * Applies the given JavaScript function to the integer handle of each rigid-body managed by this set. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each rigid-body managed by this set. Called as `f(collider)`. + */ + forEachRigidBodyHandle(f: Function): void; + /** + * The number of rigid-bodies on this set. + */ + len(): number; + constructor(); + propagateModifiedBodyPositionsToColliders(colliders: RawColliderSet): void; + remove(handle: number, islands: RawIslandManager, colliders: RawColliderSet, joints: RawImpulseJointSet, articulations: RawMultibodyJointSet): void; + /** + * Checks if a rigid-body with the given integer handle exists. + */ + contains(handle: number): boolean; +} +/** + * A rotation quaternion. + */ +export class RawRotation { + private constructor(); + free(): void; + /** + * The identity rotation. + */ + static identity(): RawRotation; + /** + * The rotation with thegiven angle. + */ + static fromAngle(angle: number): RawRotation; + /** + * The imaginary part of this complex number. + */ + readonly im: number; + /** + * The real part of this complex number. + */ + readonly re: number; + /** + * The rotation angle in radians. + */ + readonly angle: number; +} +export class RawSerializationPipeline { + free(): void; + serializeAll(gravity: RawVector, integrationParameters: RawIntegrationParameters, islands: RawIslandManager, broadPhase: RawBroadPhase, narrowPhase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, impulse_joints: RawImpulseJointSet, multibody_joints: RawMultibodyJointSet): Uint8Array | undefined; + deserializeAll(data: Uint8Array): RawDeserializedWorld | undefined; + constructor(); +} +export class RawShape { + private constructor(); + free(): void; + static convexHull(points: Float32Array): RawShape | undefined; + static heightfield(heights: Float32Array, scale: RawVector): RawShape; + static roundCuboid(hx: number, hy: number, borderRadius: number): RawShape; + contactShape(shapePos1: RawVector, shapeRot1: RawRotation, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation, prediction: number): RawShapeContact | undefined; + projectPoint(shapePos: RawVector, shapeRot: RawRotation, point: RawVector, solid: boolean): RawPointProjection; + containsPoint(shapePos: RawVector, shapeRot: RawRotation, point: RawVector): boolean; + intersectsRay(shapePos: RawVector, shapeRot: RawRotation, rayOrig: RawVector, rayDir: RawVector, maxToi: number): boolean; + static roundTriangle(p1: RawVector, p2: RawVector, p3: RawVector, borderRadius: number): RawShape; + static convexPolyline(vertices: Float32Array): RawShape | undefined; + intersectsShape(shapePos1: RawVector, shapeRot1: RawRotation, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation): boolean; + static roundConvexHull(points: Float32Array, borderRadius: number): RawShape | undefined; + static voxelsFromPoints(voxel_size: RawVector, points: Float32Array): RawShape; + castRayAndGetNormal(shapePos: RawVector, shapeRot: RawRotation, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): RawRayIntersection | undefined; + static roundConvexPolyline(vertices: Float32Array, borderRadius: number): RawShape | undefined; + static ball(radius: number): RawShape; + static cuboid(hx: number, hy: number): RawShape; + static voxels(voxel_size: RawVector, grid_coords: Int32Array): RawShape; + static capsule(halfHeight: number, radius: number): RawShape; + castRay(shapePos: RawVector, shapeRot: RawRotation, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): number; + static segment(p1: RawVector, p2: RawVector): RawShape; + static trimesh(vertices: Float32Array, indices: Uint32Array, flags: number): RawShape | undefined; + static polyline(vertices: Float32Array, indices: Uint32Array): RawShape; + static triangle(p1: RawVector, p2: RawVector, p3: RawVector): RawShape; + castShape(shapePos1: RawVector, shapeRot1: RawRotation, shapeVel1: RawVector, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation, shapeVel2: RawVector, target_distance: number, maxToi: number, stop_at_penetration: boolean): RawShapeCastHit | undefined; + static halfspace(normal: RawVector): RawShape; +} +export class RawShapeCastHit { + private constructor(); + free(): void; + time_of_impact(): number; + normal1(): RawVector; + normal2(): RawVector; + witness1(): RawVector; + witness2(): RawVector; +} +export class RawShapeContact { + private constructor(); + free(): void; + point1(): RawVector; + point2(): RawVector; + normal1(): RawVector; + normal2(): RawVector; + distance(): number; +} +/** + * A vector. + */ +export class RawVector { + free(): void; + /** + * Create a new 2D vector from this vector with its components rearranged as `{x, y}`. + */ + xy(): RawVector; + /** + * Create a new 2D vector from this vector with its components rearranged as `{y, x}`. + */ + yx(): RawVector; + /** + * Creates a new 2D vector from its two components. + * + * # Parameters + * - `x`: the `x` component of this 2D vector. + * - `y`: the `y` component of this 2D vector. + */ + constructor(x: number, y: number); + /** + * Creates a new vector filled with zeros. + */ + static zero(): RawVector; + /** + * The `x` component of this vector. + */ + x: number; + /** + * The `y` component of this vector. + */ + y: number; +} + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly __wbg_rawbroadphase_free: (a: number, b: number) => void; + readonly __wbg_rawccdsolver_free: (a: number, b: number) => void; + readonly __wbg_rawcharactercollision_free: (a: number, b: number) => void; + readonly __wbg_rawcolliderset_free: (a: number, b: number) => void; + readonly __wbg_rawcollidershapecasthit_free: (a: number, b: number) => void; + readonly __wbg_rawcontactforceevent_free: (a: number, b: number) => void; + readonly __wbg_rawcontactmanifold_free: (a: number, b: number) => void; + readonly __wbg_rawdebugrenderpipeline_free: (a: number, b: number) => void; + readonly __wbg_rawdeserializedworld_free: (a: number, b: number) => void; + readonly __wbg_raweventqueue_free: (a: number, b: number) => void; + readonly __wbg_rawgenericjoint_free: (a: number, b: number) => void; + readonly __wbg_rawimpulsejointset_free: (a: number, b: number) => void; + readonly __wbg_rawintegrationparameters_free: (a: number, b: number) => void; + readonly __wbg_rawislandmanager_free: (a: number, b: number) => void; + readonly __wbg_rawkinematiccharactercontroller_free: (a: number, b: number) => void; + readonly __wbg_rawmultibodyjointset_free: (a: number, b: number) => void; + readonly __wbg_rawnarrowphase_free: (a: number, b: number) => void; + readonly __wbg_rawphysicspipeline_free: (a: number, b: number) => void; + readonly __wbg_rawpidcontroller_free: (a: number, b: number) => void; + readonly __wbg_rawpointcolliderprojection_free: (a: number, b: number) => void; + readonly __wbg_rawpointprojection_free: (a: number, b: number) => void; + readonly __wbg_rawrayintersection_free: (a: number, b: number) => void; + readonly __wbg_rawrigidbodyset_free: (a: number, b: number) => void; + readonly __wbg_rawrotation_free: (a: number, b: number) => void; + readonly __wbg_rawshape_free: (a: number, b: number) => void; + readonly __wbg_rawshapecontact_free: (a: number, b: number) => void; + readonly __wbg_rawvector_free: (a: number, b: number) => void; + readonly rawbroadphase_castRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => number; + readonly rawbroadphase_castRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => number; + readonly rawbroadphase_castShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number) => number; + readonly rawbroadphase_collidersWithAabbIntersectingAabb: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; + readonly rawbroadphase_intersectionWithShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; + readonly rawbroadphase_intersectionsWithPoint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void; + readonly rawbroadphase_intersectionsWithRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void; + readonly rawbroadphase_intersectionsWithShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; + readonly rawbroadphase_new: () => number; + readonly rawbroadphase_projectPoint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => number; + readonly rawbroadphase_projectPointAndGetFeature: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number; + readonly rawcharactercollision_handle: (a: number) => number; + readonly rawcharactercollision_new: () => number; + readonly rawcharactercollision_toi: (a: number) => number; + readonly rawcharactercollision_translationDeltaApplied: (a: number) => number; + readonly rawcharactercollision_translationDeltaRemaining: (a: number) => number; + readonly rawcharactercollision_worldNormal1: (a: number) => number; + readonly rawcharactercollision_worldNormal2: (a: number) => number; + readonly rawcharactercollision_worldWitness1: (a: number) => number; + readonly rawcharactercollision_worldWitness2: (a: number) => number; + readonly rawcolliderset_coActiveCollisionTypes: (a: number, b: number) => number; + readonly rawcolliderset_coActiveEvents: (a: number, b: number) => number; + readonly rawcolliderset_coActiveHooks: (a: number, b: number) => number; + readonly rawcolliderset_coCastCollider: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number; + readonly rawcolliderset_coCastRay: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawcolliderset_coCastRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawcolliderset_coCastShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; + readonly rawcolliderset_coCollisionGroups: (a: number, b: number) => number; + readonly rawcolliderset_coCombineVoxelStates: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawcolliderset_coContactCollider: (a: number, b: number, c: number, d: number) => number; + readonly rawcolliderset_coContactForceEventThreshold: (a: number, b: number) => number; + readonly rawcolliderset_coContactShape: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawcolliderset_coContactSkin: (a: number, b: number) => number; + readonly rawcolliderset_coContainsPoint: (a: number, b: number, c: number) => number; + readonly rawcolliderset_coDensity: (a: number, b: number) => number; + readonly rawcolliderset_coFriction: (a: number, b: number) => number; + readonly rawcolliderset_coFrictionCombineRule: (a: number, b: number) => number; + readonly rawcolliderset_coHalfExtents: (a: number, b: number) => number; + readonly rawcolliderset_coHalfHeight: (a: number, b: number) => number; + readonly rawcolliderset_coHalfspaceNormal: (a: number, b: number) => number; + readonly rawcolliderset_coHeightfieldHeights: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coHeightfieldScale: (a: number, b: number) => number; + readonly rawcolliderset_coIndices: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coIntersectsRay: (a: number, b: number, c: number, d: number, e: number) => number; + readonly rawcolliderset_coIntersectsShape: (a: number, b: number, c: number, d: number, e: number) => number; + readonly rawcolliderset_coIsEnabled: (a: number, b: number) => number; + readonly rawcolliderset_coIsSensor: (a: number, b: number) => number; + readonly rawcolliderset_coMass: (a: number, b: number) => number; + readonly rawcolliderset_coParent: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coProjectPoint: (a: number, b: number, c: number, d: number) => number; + readonly rawcolliderset_coPropagateVoxelChange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; + readonly rawcolliderset_coRadius: (a: number, b: number) => number; + readonly rawcolliderset_coRestitution: (a: number, b: number) => number; + readonly rawcolliderset_coRestitutionCombineRule: (a: number, b: number) => number; + readonly rawcolliderset_coRotation: (a: number, b: number) => number; + readonly rawcolliderset_coRotationWrtParent: (a: number, b: number) => number; + readonly rawcolliderset_coRoundRadius: (a: number, b: number) => number; + readonly rawcolliderset_coSetActiveCollisionTypes: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetActiveEvents: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetActiveHooks: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetCollisionGroups: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetContactForceEventThreshold: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetContactSkin: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetDensity: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetEnabled: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetFriction: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetFrictionCombineRule: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetHalfExtents: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetHalfHeight: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetMass: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetMassProperties: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawcolliderset_coSetRadius: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetRestitution: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetRestitutionCombineRule: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetRotation: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetRotationWrtParent: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetRoundRadius: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetSensor: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetShape: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetSolverGroups: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coSetTranslation: (a: number, b: number, c: number, d: number) => void; + readonly rawcolliderset_coSetTranslationWrtParent: (a: number, b: number, c: number, d: number) => void; + readonly rawcolliderset_coSetVoxel: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawcolliderset_coShapeType: (a: number, b: number) => number; + readonly rawcolliderset_coSolverGroups: (a: number, b: number) => number; + readonly rawcolliderset_coTranslation: (a: number, b: number) => number; + readonly rawcolliderset_coTranslationWrtParent: (a: number, b: number) => number; + readonly rawcolliderset_coTriMeshFlags: (a: number, b: number) => number; + readonly rawcolliderset_coVertices: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coVolume: (a: number, b: number) => number; + readonly rawcolliderset_coVoxelData: (a: number, b: number, c: number) => void; + readonly rawcolliderset_coVoxelSize: (a: number, b: number) => number; + readonly rawcolliderset_contains: (a: number, b: number) => number; + readonly rawcolliderset_createCollider: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number) => void; + readonly rawcolliderset_forEachColliderHandle: (a: number, b: number) => void; + readonly rawcolliderset_len: (a: number) => number; + readonly rawcolliderset_new: () => number; + readonly rawcolliderset_remove: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawcollidershapecasthit_colliderHandle: (a: number) => number; + readonly rawcollidershapecasthit_normal1: (a: number) => number; + readonly rawcollidershapecasthit_normal2: (a: number) => number; + readonly rawcollidershapecasthit_time_of_impact: (a: number) => number; + readonly rawcollidershapecasthit_witness1: (a: number) => number; + readonly rawcollidershapecasthit_witness2: (a: number) => number; + readonly rawcontactforceevent_collider2: (a: number) => number; + readonly rawcontactforceevent_max_force_magnitude: (a: number) => number; + readonly rawcontactforceevent_total_force: (a: number) => number; + readonly rawcontactforceevent_total_force_magnitude: (a: number) => number; + readonly rawcontactmanifold_contact_dist: (a: number, b: number) => number; + readonly rawcontactmanifold_contact_fid1: (a: number, b: number) => number; + readonly rawcontactmanifold_contact_fid2: (a: number, b: number) => number; + readonly rawcontactmanifold_contact_impulse: (a: number, b: number) => number; + readonly rawcontactmanifold_contact_local_p1: (a: number, b: number) => number; + readonly rawcontactmanifold_contact_local_p2: (a: number, b: number) => number; + readonly rawcontactmanifold_contact_tangent_impulse: (a: number, b: number) => number; + readonly rawcontactmanifold_local_n1: (a: number) => number; + readonly rawcontactmanifold_local_n2: (a: number) => number; + readonly rawcontactmanifold_normal: (a: number) => number; + readonly rawcontactmanifold_num_contacts: (a: number) => number; + readonly rawcontactmanifold_num_solver_contacts: (a: number) => number; + readonly rawcontactmanifold_solver_contact_dist: (a: number, b: number) => number; + readonly rawcontactmanifold_solver_contact_friction: (a: number, b: number) => number; + readonly rawcontactmanifold_solver_contact_point: (a: number, b: number) => number; + readonly rawcontactmanifold_solver_contact_restitution: (a: number, b: number) => number; + readonly rawcontactmanifold_solver_contact_tangent_velocity: (a: number, b: number) => number; + readonly rawcontactmanifold_subshape1: (a: number) => number; + readonly rawcontactmanifold_subshape2: (a: number) => number; + readonly rawcontactpair_collider1: (a: number) => number; + readonly rawcontactpair_collider2: (a: number) => number; + readonly rawcontactpair_contactManifold: (a: number, b: number) => number; + readonly rawcontactpair_numContactManifolds: (a: number) => number; + readonly rawdebugrenderpipeline_colors: (a: number) => number; + readonly rawdebugrenderpipeline_new: () => number; + readonly rawdebugrenderpipeline_render: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void; + readonly rawdebugrenderpipeline_vertices: (a: number) => number; + readonly rawdeserializedworld_takeBodies: (a: number) => number; + readonly rawdeserializedworld_takeBroadPhase: (a: number) => number; + readonly rawdeserializedworld_takeColliders: (a: number) => number; + readonly rawdeserializedworld_takeGravity: (a: number) => number; + readonly rawdeserializedworld_takeImpulseJoints: (a: number) => number; + readonly rawdeserializedworld_takeIntegrationParameters: (a: number) => number; + readonly rawdeserializedworld_takeIslandManager: (a: number) => number; + readonly rawdeserializedworld_takeMultibodyJoints: (a: number) => number; + readonly rawdeserializedworld_takeNarrowPhase: (a: number) => number; + readonly raweventqueue_clear: (a: number) => void; + readonly raweventqueue_drainCollisionEvents: (a: number, b: number) => void; + readonly raweventqueue_drainContactForceEvents: (a: number, b: number) => void; + readonly raweventqueue_new: (a: number) => number; + readonly rawgenericjoint_fixed: (a: number, b: number, c: number, d: number) => number; + readonly rawgenericjoint_prismatic: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawgenericjoint_revolute: (a: number, b: number) => number; + readonly rawgenericjoint_rope: (a: number, b: number, c: number) => number; + readonly rawgenericjoint_spring: (a: number, b: number, c: number, d: number, e: number) => number; + readonly rawimpulsejointset_contains: (a: number, b: number) => number; + readonly rawimpulsejointset_createJoint: (a: number, b: number, c: number, d: number, e: number) => number; + readonly rawimpulsejointset_forEachJointAttachedToRigidBody: (a: number, b: number, c: number) => void; + readonly rawimpulsejointset_forEachJointHandle: (a: number, b: number) => void; + readonly rawimpulsejointset_jointAnchor1: (a: number, b: number) => number; + readonly rawimpulsejointset_jointAnchor2: (a: number, b: number) => number; + readonly rawimpulsejointset_jointBodyHandle1: (a: number, b: number) => number; + readonly rawimpulsejointset_jointBodyHandle2: (a: number, b: number) => number; + readonly rawimpulsejointset_jointConfigureMotor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; + readonly rawimpulsejointset_jointConfigureMotorModel: (a: number, b: number, c: number, d: number) => void; + readonly rawimpulsejointset_jointConfigureMotorPosition: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly rawimpulsejointset_jointConfigureMotorVelocity: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawimpulsejointset_jointContactsEnabled: (a: number, b: number) => number; + readonly rawimpulsejointset_jointFrameX1: (a: number, b: number) => number; + readonly rawimpulsejointset_jointFrameX2: (a: number, b: number) => number; + readonly rawimpulsejointset_jointLimitsEnabled: (a: number, b: number, c: number) => number; + readonly rawimpulsejointset_jointLimitsMax: (a: number, b: number, c: number) => number; + readonly rawimpulsejointset_jointLimitsMin: (a: number, b: number, c: number) => number; + readonly rawimpulsejointset_jointSetAnchor1: (a: number, b: number, c: number) => void; + readonly rawimpulsejointset_jointSetAnchor2: (a: number, b: number, c: number) => void; + readonly rawimpulsejointset_jointSetContactsEnabled: (a: number, b: number, c: number) => void; + readonly rawimpulsejointset_jointSetLimits: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawimpulsejointset_jointType: (a: number, b: number) => number; + readonly rawimpulsejointset_len: (a: number) => number; + readonly rawimpulsejointset_new: () => number; + readonly rawimpulsejointset_remove: (a: number, b: number, c: number) => void; + readonly rawintegrationparameters_contact_erp: (a: number) => number; + readonly rawintegrationparameters_dt: (a: number) => number; + readonly rawintegrationparameters_lengthUnit: (a: number) => number; + readonly rawintegrationparameters_maxCcdSubsteps: (a: number) => number; + readonly rawintegrationparameters_minIslandSize: (a: number) => number; + readonly rawintegrationparameters_new: () => number; + readonly rawintegrationparameters_numInternalPgsIterations: (a: number) => number; + readonly rawintegrationparameters_numSolverIterations: (a: number) => number; + readonly rawintegrationparameters_set_contact_natural_frequency: (a: number, b: number) => void; + readonly rawintegrationparameters_set_dt: (a: number, b: number) => void; + readonly rawintegrationparameters_set_lengthUnit: (a: number, b: number) => void; + readonly rawintegrationparameters_set_maxCcdSubsteps: (a: number, b: number) => void; + readonly rawintegrationparameters_set_minIslandSize: (a: number, b: number) => void; + readonly rawintegrationparameters_set_normalizedAllowedLinearError: (a: number, b: number) => void; + readonly rawintegrationparameters_set_normalizedPredictionDistance: (a: number, b: number) => void; + readonly rawintegrationparameters_set_numInternalPgsIterations: (a: number, b: number) => void; + readonly rawintegrationparameters_set_numSolverIterations: (a: number, b: number) => void; + readonly rawislandmanager_forEachActiveRigidBodyHandle: (a: number, b: number) => void; + readonly rawislandmanager_new: () => number; + readonly rawkinematiccharactercontroller_autostepEnabled: (a: number) => number; + readonly rawkinematiccharactercontroller_autostepIncludesDynamicBodies: (a: number) => number; + readonly rawkinematiccharactercontroller_autostepMaxHeight: (a: number) => number; + readonly rawkinematiccharactercontroller_autostepMinWidth: (a: number) => number; + readonly rawkinematiccharactercontroller_computeColliderMovement: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void; + readonly rawkinematiccharactercontroller_computedCollision: (a: number, b: number, c: number) => number; + readonly rawkinematiccharactercontroller_computedGrounded: (a: number) => number; + readonly rawkinematiccharactercontroller_computedMovement: (a: number) => number; + readonly rawkinematiccharactercontroller_disableAutostep: (a: number) => void; + readonly rawkinematiccharactercontroller_disableSnapToGround: (a: number) => void; + readonly rawkinematiccharactercontroller_enableAutostep: (a: number, b: number, c: number, d: number) => void; + readonly rawkinematiccharactercontroller_enableSnapToGround: (a: number, b: number) => void; + readonly rawkinematiccharactercontroller_maxSlopeClimbAngle: (a: number) => number; + readonly rawkinematiccharactercontroller_minSlopeSlideAngle: (a: number) => number; + readonly rawkinematiccharactercontroller_new: (a: number) => number; + readonly rawkinematiccharactercontroller_normalNudgeFactor: (a: number) => number; + readonly rawkinematiccharactercontroller_numComputedCollisions: (a: number) => number; + readonly rawkinematiccharactercontroller_offset: (a: number) => number; + readonly rawkinematiccharactercontroller_setMaxSlopeClimbAngle: (a: number, b: number) => void; + readonly rawkinematiccharactercontroller_setMinSlopeSlideAngle: (a: number, b: number) => void; + readonly rawkinematiccharactercontroller_setNormalNudgeFactor: (a: number, b: number) => void; + readonly rawkinematiccharactercontroller_setOffset: (a: number, b: number) => void; + readonly rawkinematiccharactercontroller_setSlideEnabled: (a: number, b: number) => void; + readonly rawkinematiccharactercontroller_setUp: (a: number, b: number) => void; + readonly rawkinematiccharactercontroller_slideEnabled: (a: number) => number; + readonly rawkinematiccharactercontroller_snapToGroundDistance: (a: number) => number; + readonly rawkinematiccharactercontroller_snapToGroundEnabled: (a: number) => number; + readonly rawmultibodyjointset_contains: (a: number, b: number) => number; + readonly rawmultibodyjointset_createJoint: (a: number, b: number, c: number, d: number, e: number) => number; + readonly rawmultibodyjointset_forEachJointAttachedToRigidBody: (a: number, b: number, c: number) => void; + readonly rawmultibodyjointset_forEachJointHandle: (a: number, b: number) => void; + readonly rawmultibodyjointset_jointAnchor1: (a: number, b: number) => number; + readonly rawmultibodyjointset_jointAnchor2: (a: number, b: number) => number; + readonly rawmultibodyjointset_jointContactsEnabled: (a: number, b: number) => number; + readonly rawmultibodyjointset_jointFrameX1: (a: number, b: number) => number; + readonly rawmultibodyjointset_jointFrameX2: (a: number, b: number) => number; + readonly rawmultibodyjointset_jointLimitsEnabled: (a: number, b: number, c: number) => number; + readonly rawmultibodyjointset_jointLimitsMax: (a: number, b: number, c: number) => number; + readonly rawmultibodyjointset_jointLimitsMin: (a: number, b: number, c: number) => number; + readonly rawmultibodyjointset_jointSetContactsEnabled: (a: number, b: number, c: number) => void; + readonly rawmultibodyjointset_jointType: (a: number, b: number) => number; + readonly rawmultibodyjointset_new: () => number; + readonly rawmultibodyjointset_remove: (a: number, b: number, c: number) => void; + readonly rawnarrowphase_contact_pair: (a: number, b: number, c: number) => number; + readonly rawnarrowphase_contact_pairs_with: (a: number, b: number, c: number) => void; + readonly rawnarrowphase_intersection_pair: (a: number, b: number, c: number) => number; + readonly rawnarrowphase_intersection_pairs_with: (a: number, b: number, c: number) => void; + readonly rawnarrowphase_new: () => number; + readonly rawphysicspipeline_is_profiler_enabled: (a: number) => number; + readonly rawphysicspipeline_new: () => number; + readonly rawphysicspipeline_set_profiler_enabled: (a: number, b: number) => void; + readonly rawphysicspipeline_step: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void; + readonly rawphysicspipeline_stepWithEvents: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; + readonly rawphysicspipeline_timing_broad_phase: (a: number) => number; + readonly rawphysicspipeline_timing_ccd: (a: number) => number; + readonly rawphysicspipeline_timing_ccd_broad_phase: (a: number) => number; + readonly rawphysicspipeline_timing_ccd_narrow_phase: (a: number) => number; + readonly rawphysicspipeline_timing_ccd_solver: (a: number) => number; + readonly rawphysicspipeline_timing_ccd_toi_computation: (a: number) => number; + readonly rawphysicspipeline_timing_collision_detection: (a: number) => number; + readonly rawphysicspipeline_timing_island_construction: (a: number) => number; + readonly rawphysicspipeline_timing_narrow_phase: (a: number) => number; + readonly rawphysicspipeline_timing_solver: (a: number) => number; + readonly rawphysicspipeline_timing_step: (a: number) => number; + readonly rawphysicspipeline_timing_user_changes: (a: number) => number; + readonly rawphysicspipeline_timing_velocity_assembly: (a: number) => number; + readonly rawphysicspipeline_timing_velocity_resolution: (a: number) => number; + readonly rawphysicspipeline_timing_velocity_update: (a: number) => number; + readonly rawphysicspipeline_timing_velocity_writeback: (a: number) => number; + readonly rawpidcontroller_angular_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawpidcontroller_apply_angular_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly rawpidcontroller_apply_linear_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly rawpidcontroller_linear_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawpidcontroller_new: (a: number, b: number, c: number, d: number) => number; + readonly rawpidcontroller_reset_integrals: (a: number) => void; + readonly rawpidcontroller_set_axes_mask: (a: number, b: number) => void; + readonly rawpidcontroller_set_kd: (a: number, b: number, c: number) => void; + readonly rawpidcontroller_set_ki: (a: number, b: number, c: number) => void; + readonly rawpidcontroller_set_kp: (a: number, b: number, c: number) => void; + readonly rawpointcolliderprojection_colliderHandle: (a: number) => number; + readonly rawpointcolliderprojection_featureId: (a: number) => number; + readonly rawpointcolliderprojection_featureType: (a: number) => number; + readonly rawpointcolliderprojection_isInside: (a: number) => number; + readonly rawpointcolliderprojection_point: (a: number) => number; + readonly rawpointprojection_isInside: (a: number) => number; + readonly rawpointprojection_point: (a: number) => number; + readonly rawrigidbodyset_contains: (a: number, b: number) => number; + readonly rawrigidbodyset_createRigidBody: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number) => number; + readonly rawrigidbodyset_forEachRigidBodyHandle: (a: number, b: number) => void; + readonly rawrigidbodyset_len: (a: number) => number; + readonly rawrigidbodyset_new: () => number; + readonly rawrigidbodyset_propagateModifiedBodyPositionsToColliders: (a: number, b: number) => void; + readonly rawrigidbodyset_rbAddForce: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbAddForceAtPoint: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawrigidbodyset_rbAddTorque: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbAdditionalSolverIterations: (a: number, b: number) => number; + readonly rawrigidbodyset_rbAngularDamping: (a: number, b: number) => number; + readonly rawrigidbodyset_rbAngvel: (a: number, b: number) => number; + readonly rawrigidbodyset_rbApplyImpulse: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbApplyImpulseAtPoint: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawrigidbodyset_rbApplyTorqueImpulse: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbBodyType: (a: number, b: number) => number; + readonly rawrigidbodyset_rbCollider: (a: number, b: number, c: number) => number; + readonly rawrigidbodyset_rbDominanceGroup: (a: number, b: number) => number; + readonly rawrigidbodyset_rbEffectiveAngularInertia: (a: number, b: number) => number; + readonly rawrigidbodyset_rbEffectiveInvMass: (a: number, b: number) => number; + readonly rawrigidbodyset_rbEffectiveWorldInvInertia: (a: number, b: number) => number; + readonly rawrigidbodyset_rbEnableCcd: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbGravityScale: (a: number, b: number) => number; + readonly rawrigidbodyset_rbInvMass: (a: number, b: number) => number; + readonly rawrigidbodyset_rbInvPrincipalInertia: (a: number, b: number) => number; + readonly rawrigidbodyset_rbIsCcdEnabled: (a: number, b: number) => number; + readonly rawrigidbodyset_rbIsDynamic: (a: number, b: number) => number; + readonly rawrigidbodyset_rbIsEnabled: (a: number, b: number) => number; + readonly rawrigidbodyset_rbIsFixed: (a: number, b: number) => number; + readonly rawrigidbodyset_rbIsKinematic: (a: number, b: number) => number; + readonly rawrigidbodyset_rbIsMoving: (a: number, b: number) => number; + readonly rawrigidbodyset_rbIsSleeping: (a: number, b: number) => number; + readonly rawrigidbodyset_rbLinearDamping: (a: number, b: number) => number; + readonly rawrigidbodyset_rbLinvel: (a: number, b: number) => number; + readonly rawrigidbodyset_rbLocalCom: (a: number, b: number) => number; + readonly rawrigidbodyset_rbLockRotations: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbLockTranslations: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbMass: (a: number, b: number) => number; + readonly rawrigidbodyset_rbNextRotation: (a: number, b: number) => number; + readonly rawrigidbodyset_rbNextTranslation: (a: number, b: number) => number; + readonly rawrigidbodyset_rbNumColliders: (a: number, b: number) => number; + readonly rawrigidbodyset_rbPrincipalInertia: (a: number, b: number) => number; + readonly rawrigidbodyset_rbRecomputeMassPropertiesFromColliders: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbResetForces: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbResetTorques: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbRotation: (a: number, b: number) => number; + readonly rawrigidbodyset_rbSetAdditionalMass: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbSetAdditionalMassProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly rawrigidbodyset_rbSetAdditionalSolverIterations: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSetAngularDamping: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSetAngvel: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbSetBodyType: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbSetDominanceGroup: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSetEnabled: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSetEnabledTranslations: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawrigidbodyset_rbSetGravityScale: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbSetLinearDamping: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSetLinvel: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbSetNextKinematicRotation: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSetNextKinematicTranslation: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbSetRotation: (a: number, b: number, c: number, d: number) => void; + readonly rawrigidbodyset_rbSetSoftCcdPrediction: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSetTranslation: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rawrigidbodyset_rbSetUserData: (a: number, b: number, c: number) => void; + readonly rawrigidbodyset_rbSleep: (a: number, b: number) => void; + readonly rawrigidbodyset_rbSoftCcdPrediction: (a: number, b: number) => number; + readonly rawrigidbodyset_rbTranslation: (a: number, b: number) => number; + readonly rawrigidbodyset_rbUserData: (a: number, b: number) => number; + readonly rawrigidbodyset_rbUserForce: (a: number, b: number) => number; + readonly rawrigidbodyset_rbUserTorque: (a: number, b: number) => number; + readonly rawrigidbodyset_rbVelocityAtPoint: (a: number, b: number, c: number) => number; + readonly rawrigidbodyset_rbWakeUp: (a: number, b: number) => void; + readonly rawrigidbodyset_rbWorldCom: (a: number, b: number) => number; + readonly rawrigidbodyset_remove: (a: number, b: number, c: number, d: number, e: number, f: number) => void; + readonly rawrotation_angle: (a: number) => number; + readonly rawrotation_fromAngle: (a: number) => number; + readonly rawrotation_identity: () => number; + readonly rawserializationpipeline_deserializeAll: (a: number, b: number) => number; + readonly rawserializationpipeline_serializeAll: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; + readonly rawshape_ball: (a: number) => number; + readonly rawshape_capsule: (a: number, b: number) => number; + readonly rawshape_castRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; + readonly rawshape_castRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; + readonly rawshape_castShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number; + readonly rawshape_contactShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; + readonly rawshape_containsPoint: (a: number, b: number, c: number, d: number) => number; + readonly rawshape_convexHull: (a: number, b: number) => number; + readonly rawshape_convexPolyline: (a: number, b: number) => number; + readonly rawshape_cuboid: (a: number, b: number) => number; + readonly rawshape_halfspace: (a: number) => number; + readonly rawshape_heightfield: (a: number, b: number, c: number) => number; + readonly rawshape_intersectsRay: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawshape_intersectsShape: (a: number, b: number, c: number, d: number, e: number, f: number) => number; + readonly rawshape_polyline: (a: number, b: number, c: number, d: number) => number; + readonly rawshape_projectPoint: (a: number, b: number, c: number, d: number, e: number) => number; + readonly rawshape_roundConvexHull: (a: number, b: number, c: number) => number; + readonly rawshape_roundConvexPolyline: (a: number, b: number, c: number) => number; + readonly rawshape_roundCuboid: (a: number, b: number, c: number) => number; + readonly rawshape_roundTriangle: (a: number, b: number, c: number, d: number) => number; + readonly rawshape_segment: (a: number, b: number) => number; + readonly rawshape_triangle: (a: number, b: number, c: number) => number; + readonly rawshape_trimesh: (a: number, b: number, c: number, d: number, e: number) => number; + readonly rawshape_voxels: (a: number, b: number, c: number) => number; + readonly rawshape_voxelsFromPoints: (a: number, b: number, c: number) => number; + readonly rawshapecasthit_witness1: (a: number) => number; + readonly rawvector_new: (a: number, b: number) => number; + readonly rawvector_set_y: (a: number, b: number) => void; + readonly rawvector_xy: (a: number) => number; + readonly rawvector_yx: (a: number) => number; + readonly rawvector_zero: () => number; + readonly version: (a: number) => void; + readonly rawcolliderset_isHandleValid: (a: number, b: number) => number; + readonly rawvector_set_x: (a: number, b: number) => void; + readonly reserve_memory: (a: number) => void; + readonly rawraycolliderintersection_featureId: (a: number) => number; + readonly rawrayintersection_featureId: (a: number) => number; + readonly rawcontactforceevent_collider1: (a: number) => number; + readonly rawintegrationparameters_normalizedAllowedLinearError: (a: number) => number; + readonly rawintegrationparameters_normalizedPredictionDistance: (a: number) => number; + readonly rawraycolliderhit_colliderHandle: (a: number) => number; + readonly rawraycolliderhit_timeOfImpact: (a: number) => number; + readonly rawraycolliderintersection_colliderHandle: (a: number) => number; + readonly rawraycolliderintersection_featureType: (a: number) => number; + readonly rawraycolliderintersection_time_of_impact: (a: number) => number; + readonly rawrayintersection_featureType: (a: number) => number; + readonly rawrayintersection_time_of_impact: (a: number) => number; + readonly rawrotation_im: (a: number) => number; + readonly rawrotation_re: (a: number) => number; + readonly rawshapecasthit_time_of_impact: (a: number) => number; + readonly rawshapecontact_distance: (a: number) => number; + readonly rawvector_x: (a: number) => number; + readonly rawvector_y: (a: number) => number; + readonly __wbg_rawcontactpair_free: (a: number, b: number) => void; + readonly __wbg_rawraycolliderhit_free: (a: number, b: number) => void; + readonly __wbg_rawraycolliderintersection_free: (a: number, b: number) => void; + readonly __wbg_rawserializationpipeline_free: (a: number, b: number) => void; + readonly __wbg_rawshapecasthit_free: (a: number, b: number) => void; + readonly rawcontactforceevent_max_force_direction: (a: number) => number; + readonly rawkinematiccharactercontroller_up: (a: number) => number; + readonly rawraycolliderintersection_normal: (a: number) => number; + readonly rawrayintersection_normal: (a: number) => number; + readonly rawshapecasthit_normal1: (a: number) => number; + readonly rawshapecasthit_normal2: (a: number) => number; + readonly rawshapecasthit_witness2: (a: number) => number; + readonly rawshapecontact_normal1: (a: number) => number; + readonly rawshapecontact_normal2: (a: number) => number; + readonly rawshapecontact_point1: (a: number) => number; + readonly rawshapecontact_point2: (a: number) => number; + readonly rawccdsolver_new: () => number; + readonly rawserializationpipeline_new: () => number; + readonly __wbindgen_export_0: (a: number) => void; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_export_1: (a: number, b: number, c: number) => void; + readonly __wbindgen_export_2: (a: number, b: number) => number; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/packages/rapier2d/pkg/rapier_wasm2d.js b/packages/rapier2d/pkg/rapier_wasm2d.js new file mode 100644 index 00000000..5867c4a3 --- /dev/null +++ b/packages/rapier2d/pkg/rapier_wasm2d.js @@ -0,0 +1,5461 @@ +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_export_0(addHeapObject(e)); + } +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} +/** + * @param {number} extra_bytes_count + */ +export function reserve_memory(extra_bytes_count) { + wasm.reserve_memory(extra_bytes_count); +} + +/** + * @returns {string} + */ +export function version() { + let deferred1_0; + let deferred1_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.version(retptr); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + deferred1_0 = r0; + deferred1_1 = r1; + return getStringFromWasm0(r0, r1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_export_1(deferred1_0, deferred1_1, 1); + } +} + +function _assertClass(instance, klass) { + if (!(instance instanceof klass)) { + throw new Error(`expected instance of ${klass.name}`); + } +} + +let stack_pointer = 128; + +function addBorrowedObject(obj) { + if (stack_pointer == 1) throw new Error('out of js stack'); + heap[--stack_pointer] = obj; + return stack_pointer; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +let WASM_VECTOR_LEN = 0; + +function passArrayF32ToWasm0(arg, malloc) { + const ptr = malloc(arg.length * 4, 4) >>> 0; + getFloat32ArrayMemory0().set(arg, ptr / 4); + WASM_VECTOR_LEN = arg.length; + return ptr; +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function passArray32ToWasm0(arg, malloc) { + const ptr = malloc(arg.length * 4, 4) >>> 0; + getUint32ArrayMemory0().set(arg, ptr / 4); + WASM_VECTOR_LEN = arg.length; + return ptr; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} +/** + * @enum {0 | 1 | 2} + */ +export const RawFeatureType = Object.freeze({ + Vertex: 0, "0": "Vertex", + Face: 1, "1": "Face", + Unknown: 2, "2": "Unknown", +}); +/** + * @enum {0 | 1 | 2} + */ +export const RawJointAxis = Object.freeze({ + LinX: 0, "0": "LinX", + LinY: 1, "1": "LinY", + AngX: 2, "2": "AngX", +}); +/** + * @enum {0 | 1 | 2 | 3 | 4 | 5} + */ +export const RawJointType = Object.freeze({ + Revolute: 0, "0": "Revolute", + Fixed: 1, "1": "Fixed", + Prismatic: 2, "2": "Prismatic", + Rope: 3, "3": "Rope", + Spring: 4, "4": "Spring", + Generic: 5, "5": "Generic", +}); +/** + * @enum {0 | 1} + */ +export const RawMotorModel = Object.freeze({ + AccelerationBased: 0, "0": "AccelerationBased", + ForceBased: 1, "1": "ForceBased", +}); +/** + * @enum {0 | 1 | 2 | 3} + */ +export const RawRigidBodyType = Object.freeze({ + Dynamic: 0, "0": "Dynamic", + Fixed: 1, "1": "Fixed", + KinematicPositionBased: 2, "2": "KinematicPositionBased", + KinematicVelocityBased: 3, "3": "KinematicVelocityBased", +}); +/** + * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14} + */ +export const RawShapeType = Object.freeze({ + Ball: 0, "0": "Ball", + Cuboid: 1, "1": "Cuboid", + Capsule: 2, "2": "Capsule", + Segment: 3, "3": "Segment", + Polyline: 4, "4": "Polyline", + Triangle: 5, "5": "Triangle", + TriMesh: 6, "6": "TriMesh", + HeightField: 7, "7": "HeightField", + Compound: 8, "8": "Compound", + ConvexPolygon: 9, "9": "ConvexPolygon", + RoundCuboid: 10, "10": "RoundCuboid", + RoundTriangle: 11, "11": "RoundTriangle", + RoundConvexPolygon: 12, "12": "RoundConvexPolygon", + HalfSpace: 13, "13": "HalfSpace", + Voxels: 14, "14": "Voxels", +}); + +const RawBroadPhaseFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawbroadphase_free(ptr >>> 0, 1)); + +export class RawBroadPhase { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawBroadPhase.prototype); + obj.__wbg_ptr = ptr; + RawBroadPhaseFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawBroadPhaseFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawbroadphase_free(ptr, 0); + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} point + * @param {boolean} solid + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + * @returns {RawPointColliderProjection | undefined} + */ + projectPoint(narrow_phase, bodies, colliders, point, solid, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(point, RawVector); + const ret = wasm.rawbroadphase_projectPoint(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, point.__wbg_ptr, solid, filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + return ret === 0 ? undefined : RawPointColliderProjection.__wrap(ret); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @param {boolean} solid + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + * @returns {RawRayColliderIntersection | undefined} + */ + castRayAndGetNormal(narrow_phase, bodies, colliders, rayOrig, rayDir, maxToi, solid, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawbroadphase_castRayAndGetNormal(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi, solid, filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + return ret === 0 ? undefined : RawRayColliderIntersection.__wrap(ret); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @param {boolean} solid + * @param {Function} callback + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + */ + intersectionsWithRay(narrow_phase, bodies, colliders, rayOrig, rayDir, maxToi, solid, callback, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + wasm.rawbroadphase_intersectionsWithRay(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi, solid, addBorrowedObject(callback), filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + } finally { + heap[stack_pointer++] = undefined; + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawShape} shape + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + * @returns {number | undefined} + */ + intersectionWithShape(narrow_phase, bodies, colliders, shapePos, shapeRot, shape, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(shape, RawShape); + wasm.rawbroadphase_intersectionWithShape(retptr, this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, shape.__wbg_ptr, filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true); + return r0 === 0 ? undefined : r2; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} point + * @param {Function} callback + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + */ + intersectionsWithPoint(narrow_phase, bodies, colliders, point, callback, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(point, RawVector); + wasm.rawbroadphase_intersectionsWithPoint(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, point.__wbg_ptr, addBorrowedObject(callback), filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + } finally { + heap[stack_pointer++] = undefined; + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawShape} shape + * @param {Function} callback + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + */ + intersectionsWithShape(narrow_phase, bodies, colliders, shapePos, shapeRot, shape, callback, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(shape, RawShape); + wasm.rawbroadphase_intersectionsWithShape(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, shape.__wbg_ptr, addBorrowedObject(callback), filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + } finally { + heap[stack_pointer++] = undefined; + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} point + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + * @returns {RawPointColliderProjection | undefined} + */ + projectPointAndGetFeature(narrow_phase, bodies, colliders, point, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(point, RawVector); + const ret = wasm.rawbroadphase_projectPointAndGetFeature(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, point.__wbg_ptr, filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + return ret === 0 ? undefined : RawPointColliderProjection.__wrap(ret); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} aabbCenter + * @param {RawVector} aabbHalfExtents + * @param {Function} callback + */ + collidersWithAabbIntersectingAabb(narrow_phase, bodies, colliders, aabbCenter, aabbHalfExtents, callback) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(aabbCenter, RawVector); + _assertClass(aabbHalfExtents, RawVector); + wasm.rawbroadphase_collidersWithAabbIntersectingAabb(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, aabbCenter.__wbg_ptr, aabbHalfExtents.__wbg_ptr, addBorrowedObject(callback)); + } finally { + heap[stack_pointer++] = undefined; + } + } + constructor() { + const ret = wasm.rawbroadphase_new(); + this.__wbg_ptr = ret >>> 0; + RawBroadPhaseFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @param {boolean} solid + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + * @returns {RawRayColliderHit | undefined} + */ + castRay(narrow_phase, bodies, colliders, rayOrig, rayDir, maxToi, solid, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawbroadphase_castRay(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi, solid, filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + return ret === 0 ? undefined : RawRayColliderHit.__wrap(ret); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawVector} shapeVel + * @param {RawShape} shape + * @param {number} target_distance + * @param {number} maxToi + * @param {boolean} stop_at_penetration + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {number | null | undefined} filter_exclude_collider + * @param {number | null | undefined} filter_exclude_rigid_body + * @param {Function} filter_predicate + * @returns {RawColliderShapeCastHit | undefined} + */ + castShape(narrow_phase, bodies, colliders, shapePos, shapeRot, shapeVel, shape, target_distance, maxToi, stop_at_penetration, filter_flags, filter_groups, filter_exclude_collider, filter_exclude_rigid_body, filter_predicate) { + try { + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(shapeVel, RawVector); + _assertClass(shape, RawShape); + const ret = wasm.rawbroadphase_castShape(this.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, shapeVel.__wbg_ptr, shape.__wbg_ptr, target_distance, maxToi, stop_at_penetration, filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, !isLikeNone(filter_exclude_collider), isLikeNone(filter_exclude_collider) ? 0 : filter_exclude_collider, !isLikeNone(filter_exclude_rigid_body), isLikeNone(filter_exclude_rigid_body) ? 0 : filter_exclude_rigid_body, addBorrowedObject(filter_predicate)); + return ret === 0 ? undefined : RawColliderShapeCastHit.__wrap(ret); + } finally { + heap[stack_pointer++] = undefined; + } + } +} + +const RawCCDSolverFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawccdsolver_free(ptr >>> 0, 1)); + +export class RawCCDSolver { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawCCDSolverFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawccdsolver_free(ptr, 0); + } + constructor() { + const ret = wasm.rawccdsolver_new(); + this.__wbg_ptr = ret >>> 0; + RawCCDSolverFinalization.register(this, this.__wbg_ptr, this); + return this; + } +} + +const RawCharacterCollisionFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawcharactercollision_free(ptr >>> 0, 1)); + +export class RawCharacterCollision { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawCharacterCollisionFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawcharactercollision_free(ptr, 0); + } + /** + * @returns {RawVector} + */ + worldNormal1() { + const ret = wasm.rawcharactercollision_worldNormal1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + worldNormal2() { + const ret = wasm.rawcharactercollision_worldNormal2(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + worldWitness1() { + const ret = wasm.rawcharactercollision_worldWitness1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + worldWitness2() { + const ret = wasm.rawcharactercollision_worldWitness2(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + translationDeltaApplied() { + const ret = wasm.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + translationDeltaRemaining() { + const ret = wasm.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + constructor() { + const ret = wasm.rawcharactercollision_new(); + this.__wbg_ptr = ret >>> 0; + RawCharacterCollisionFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @returns {number} + */ + toi() { + const ret = wasm.rawcharactercollision_toi(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + handle() { + const ret = wasm.rawcharactercollision_handle(this.__wbg_ptr); + return ret; + } +} + +const RawColliderSetFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawcolliderset_free(ptr >>> 0, 1)); + +export class RawColliderSet { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawColliderSet.prototype); + obj.__wbg_ptr = ptr; + RawColliderSetFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawColliderSetFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawcolliderset_free(ptr, 0); + } + /** + * Checks if a collider with the given integer handle exists. + * @param {number} handle + * @returns {boolean} + */ + isHandleValid(handle) { + const ret = wasm.rawcolliderset_contains(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * @param {boolean} enabled + * @param {RawShape} shape + * @param {RawVector} translation + * @param {RawRotation} rotation + * @param {number} massPropsMode + * @param {number} mass + * @param {RawVector} centerOfMass + * @param {number} principalAngularInertia + * @param {number} density + * @param {number} friction + * @param {number} restitution + * @param {number} frictionCombineRule + * @param {number} restitutionCombineRule + * @param {boolean} isSensor + * @param {number} collisionGroups + * @param {number} solverGroups + * @param {number} activeCollisionTypes + * @param {number} activeHooks + * @param {number} activeEvents + * @param {number} contactForceEventThreshold + * @param {number} contactSkin + * @param {boolean} hasParent + * @param {number} parent + * @param {RawRigidBodySet} bodies + * @returns {number | undefined} + */ + createCollider(enabled, shape, translation, rotation, massPropsMode, mass, centerOfMass, principalAngularInertia, density, friction, restitution, frictionCombineRule, restitutionCombineRule, isSensor, collisionGroups, solverGroups, activeCollisionTypes, activeHooks, activeEvents, contactForceEventThreshold, contactSkin, hasParent, parent, bodies) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + _assertClass(shape, RawShape); + _assertClass(translation, RawVector); + _assertClass(rotation, RawRotation); + _assertClass(centerOfMass, RawVector); + _assertClass(bodies, RawRigidBodySet); + wasm.rawcolliderset_createCollider(retptr, this.__wbg_ptr, enabled, shape.__wbg_ptr, translation.__wbg_ptr, rotation.__wbg_ptr, massPropsMode, mass, centerOfMass.__wbg_ptr, principalAngularInertia, density, friction, restitution, frictionCombineRule, restitutionCombineRule, isSensor, collisionGroups, solverGroups, activeCollisionTypes, activeHooks, activeEvents, contactForceEventThreshold, contactSkin, hasParent, parent, bodies.__wbg_ptr); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true); + return r0 === 0 ? undefined : r2; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Applies the given JavaScript function to the integer handle of each collider managed by this collider set. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each collider managed by this collider set. Called as `f(handle)`. + * @param {Function} f + */ + forEachColliderHandle(f) { + try { + wasm.rawcolliderset_forEachColliderHandle(this.__wbg_ptr, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @returns {number} + */ + len() { + const ret = wasm.rawcolliderset_len(this.__wbg_ptr); + return ret >>> 0; + } + constructor() { + const ret = wasm.rawcolliderset_new(); + this.__wbg_ptr = ret >>> 0; + RawColliderSetFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * Removes a collider from this set and wake-up the rigid-body it is attached to. + * @param {number} handle + * @param {RawIslandManager} islands + * @param {RawRigidBodySet} bodies + * @param {boolean} wakeUp + */ + remove(handle, islands, bodies, wakeUp) { + _assertClass(islands, RawIslandManager); + _assertClass(bodies, RawRigidBodySet); + wasm.rawcolliderset_remove(this.__wbg_ptr, handle, islands.__wbg_ptr, bodies.__wbg_ptr, wakeUp); + } + /** + * @param {number} handle + * @returns {boolean} + */ + contains(handle) { + const ret = wasm.rawcolliderset_contains(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * The friction coefficient of this collider. + * @param {number} handle + * @returns {number} + */ + coFriction(handle) { + const ret = wasm.rawcolliderset_coFriction(this.__wbg_ptr, handle); + return ret; + } + /** + * Is this collider a sensor? + * @param {number} handle + * @returns {boolean} + */ + coIsSensor(handle) { + const ret = wasm.rawcolliderset_coIsSensor(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * The world-space orientation of this collider. + * @param {number} handle + * @returns {RawRotation} + */ + coRotation(handle) { + const ret = wasm.rawcolliderset_coRotation(this.__wbg_ptr, handle); + return RawRotation.__wrap(ret); + } + /** + * @param {number} handle + * @param {RawShape} shape + */ + coSetShape(handle, shape) { + _assertClass(shape, RawShape); + wasm.rawcolliderset_coSetShape(this.__wbg_ptr, handle, shape.__wbg_ptr); + } + /** + * @param {number} handle + * @param {number} ix + * @param {number} iy + * @param {boolean} filled + */ + coSetVoxel(handle, ix, iy, filled) { + wasm.rawcolliderset_coSetVoxel(this.__wbg_ptr, handle, ix, iy, filled); + } + /** + * The vertices of this triangle mesh, polyline, convex polyhedron, segment, triangle or convex polyhedron, if it is one. + * @param {number} handle + * @returns {Float32Array | undefined} + */ + coVertices(handle) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.rawcolliderset_coVertices(retptr, this.__wbg_ptr, handle); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + let v1; + if (r0 !== 0) { + v1 = getArrayF32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_1(r0, r1 * 4, 4); + } + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {number} handle + * @param {RawVector} colliderVel + * @param {RawShape} shape2 + * @param {RawVector} shape2Pos + * @param {RawRotation} shape2Rot + * @param {RawVector} shape2Vel + * @param {number} target_distance + * @param {number} maxToi + * @param {boolean} stop_at_penetration + * @returns {RawShapeCastHit | undefined} + */ + coCastShape(handle, colliderVel, shape2, shape2Pos, shape2Rot, shape2Vel, target_distance, maxToi, stop_at_penetration) { + _assertClass(colliderVel, RawVector); + _assertClass(shape2, RawShape); + _assertClass(shape2Pos, RawVector); + _assertClass(shape2Rot, RawRotation); + _assertClass(shape2Vel, RawVector); + const ret = wasm.rawcolliderset_coCastShape(this.__wbg_ptr, handle, colliderVel.__wbg_ptr, shape2.__wbg_ptr, shape2Pos.__wbg_ptr, shape2Rot.__wbg_ptr, shape2Vel.__wbg_ptr, target_distance, maxToi, stop_at_penetration); + return ret === 0 ? undefined : RawShapeCastHit.__wrap(ret); + } + /** + * @param {number} handle + * @returns {boolean} + */ + coIsEnabled(handle) { + const ret = wasm.rawcolliderset_coIsEnabled(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * Set the radius of this collider if it is a ball, capsule, cylinder, or cone shape. + * @param {number} handle + * @param {number} newRadius + */ + coSetRadius(handle, newRadius) { + wasm.rawcolliderset_coSetRadius(this.__wbg_ptr, handle, newRadius); + } + /** + * @param {number} handle + * @param {boolean} is_sensor + */ + coSetSensor(handle, is_sensor) { + wasm.rawcolliderset_coSetSensor(this.__wbg_ptr, handle, is_sensor); + } + /** + * The type of the shape of this collider. + * @param {number} handle + * @returns {RawShapeType} + */ + coShapeType(handle) { + const ret = wasm.rawcolliderset_coShapeType(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle + * @returns {Int32Array | undefined} + */ + coVoxelData(handle) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.rawcolliderset_coVoxelData(retptr, this.__wbg_ptr, handle); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + let v1; + if (r0 !== 0) { + v1 = getArrayI32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_1(r0, r1 * 4, 4); + } + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {number} handle + * @returns {RawVector | undefined} + */ + coVoxelSize(handle) { + const ret = wasm.rawcolliderset_coVoxelSize(this.__wbg_ptr, handle); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * The half height of this collider if it is a capsule, cylinder, or cone shape. + * @param {number} handle + * @returns {number | undefined} + */ + coHalfHeight(handle) { + const ret = wasm.rawcolliderset_coHalfHeight(this.__wbg_ptr, handle); + return ret === 0x100000001 ? undefined : ret; + } + /** + * @param {number} handle + * @param {number} density + */ + coSetDensity(handle, density) { + wasm.rawcolliderset_coSetDensity(this.__wbg_ptr, handle, density); + } + /** + * @param {number} handle + * @param {boolean} enabled + */ + coSetEnabled(handle, enabled) { + wasm.rawcolliderset_coSetEnabled(this.__wbg_ptr, handle, enabled); + } + /** + * The physics hooks enabled for this collider. + * @param {number} handle + * @returns {number} + */ + coActiveHooks(handle) { + const ret = wasm.rawcolliderset_coActiveHooks(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * @param {number} handle + * @returns {number} + */ + coContactSkin(handle) { + const ret = wasm.rawcolliderset_coContactSkin(this.__wbg_ptr, handle); + return ret; + } + /** + * The half-extents of this collider if it is has a cuboid shape. + * @param {number} handle + * @returns {RawVector | undefined} + */ + coHalfExtents(handle) { + const ret = wasm.rawcolliderset_coHalfExtents(this.__wbg_ptr, handle); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * The restitution coefficient of this collider. + * @param {number} handle + * @returns {number} + */ + coRestitution(handle) { + const ret = wasm.rawcolliderset_coRestitution(this.__wbg_ptr, handle); + return ret; + } + /** + * The radius of the round edges of this collider. + * @param {number} handle + * @returns {number | undefined} + */ + coRoundRadius(handle) { + const ret = wasm.rawcolliderset_coRoundRadius(this.__wbg_ptr, handle); + return ret === 0x100000001 ? undefined : ret; + } + /** + * @param {number} handle + * @param {number} friction + */ + coSetFriction(handle, friction) { + wasm.rawcolliderset_coSetFriction(this.__wbg_ptr, handle, friction); + } + /** + * Sets the rotation angle of this collider. + * + * # Parameters + * - `angle`: the rotation angle, in radians. + * - `wakeUp`: forces the collider to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + * @param {number} handle + * @param {number} angle + */ + coSetRotation(handle, angle) { + wasm.rawcolliderset_coSetRotation(this.__wbg_ptr, handle, angle); + } + /** + * The world-space translation of this collider. + * @param {number} handle + * @returns {RawVector} + */ + coTranslation(handle) { + const ret = wasm.rawcolliderset_coTranslation(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * The events enabled for this collider. + * @param {number} handle + * @returns {number} + */ + coActiveEvents(handle) { + const ret = wasm.rawcolliderset_coActiveEvents(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * @param {number} handle + * @param {RawVector} collider1Vel + * @param {number} collider2handle + * @param {RawVector} collider2Vel + * @param {number} target_distance + * @param {number} max_toi + * @param {boolean} stop_at_penetration + * @returns {RawColliderShapeCastHit | undefined} + */ + coCastCollider(handle, collider1Vel, collider2handle, collider2Vel, target_distance, max_toi, stop_at_penetration) { + _assertClass(collider1Vel, RawVector); + _assertClass(collider2Vel, RawVector); + const ret = wasm.rawcolliderset_coCastCollider(this.__wbg_ptr, handle, collider1Vel.__wbg_ptr, collider2handle, collider2Vel.__wbg_ptr, target_distance, max_toi, stop_at_penetration); + return ret === 0 ? undefined : RawColliderShapeCastHit.__wrap(ret); + } + /** + * @param {number} handle + * @param {RawShape} shape2 + * @param {RawVector} shapePos2 + * @param {RawRotation} shapeRot2 + * @param {number} prediction + * @returns {RawShapeContact | undefined} + */ + coContactShape(handle, shape2, shapePos2, shapeRot2, prediction) { + _assertClass(shape2, RawShape); + _assertClass(shapePos2, RawVector); + _assertClass(shapeRot2, RawRotation); + const ret = wasm.rawcolliderset_coContactShape(this.__wbg_ptr, handle, shape2.__wbg_ptr, shapePos2.__wbg_ptr, shapeRot2.__wbg_ptr, prediction); + return ret === 0 ? undefined : RawShapeContact.__wrap(ret); + } + /** + * @param {number} handle + * @param {RawVector} point + * @param {boolean} solid + * @returns {RawPointProjection} + */ + coProjectPoint(handle, point, solid) { + _assertClass(point, RawVector); + const ret = wasm.rawcolliderset_coProjectPoint(this.__wbg_ptr, handle, point.__wbg_ptr, solid); + return RawPointProjection.__wrap(ret); + } + /** + * The solver groups of this collider. + * @param {number} handle + * @returns {number} + */ + coSolverGroups(handle) { + const ret = wasm.rawcolliderset_coSolverGroups(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * @param {number} handle + * @returns {number | undefined} + */ + coTriMeshFlags(handle) { + const ret = wasm.rawcolliderset_coTriMeshFlags(this.__wbg_ptr, handle); + return ret === 0x100000001 ? undefined : ret; + } + /** + * @param {number} handle + * @param {RawVector} point + * @returns {boolean} + */ + coContainsPoint(handle, point) { + _assertClass(point, RawVector); + const ret = wasm.rawcolliderset_coContainsPoint(this.__wbg_ptr, handle, point.__wbg_ptr); + return ret !== 0; + } + /** + * @param {number} handle + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @returns {boolean} + */ + coIntersectsRay(handle, rayOrig, rayDir, maxToi) { + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawcolliderset_coIntersectsRay(this.__wbg_ptr, handle, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi); + return ret !== 0; + } + /** + * Set the half height of this collider if it is a capsule, cylinder, or cone shape. + * @param {number} handle + * @param {number} newHalfheight + */ + coSetHalfHeight(handle, newHalfheight) { + wasm.rawcolliderset_coSetHalfHeight(this.__wbg_ptr, handle, newHalfheight); + } + /** + * @param {number} handle + * @param {number} hooks + */ + coSetActiveHooks(handle, hooks) { + wasm.rawcolliderset_coSetActiveHooks(this.__wbg_ptr, handle, hooks); + } + /** + * @param {number} handle + * @param {number} contact_skin + */ + coSetContactSkin(handle, contact_skin) { + wasm.rawcolliderset_coSetContactSkin(this.__wbg_ptr, handle, contact_skin); + } + /** + * Set the half-extents of this collider if it has a cuboid shape. + * @param {number} handle + * @param {RawVector} newHalfExtents + */ + coSetHalfExtents(handle, newHalfExtents) { + _assertClass(newHalfExtents, RawVector); + wasm.rawcolliderset_coSetHalfExtents(this.__wbg_ptr, handle, newHalfExtents.__wbg_ptr); + } + /** + * @param {number} handle + * @param {number} restitution + */ + coSetRestitution(handle, restitution) { + wasm.rawcolliderset_coSetRestitution(this.__wbg_ptr, handle, restitution); + } + /** + * Set the radius of the round edges of this collider. + * @param {number} handle + * @param {number} newBorderRadius + */ + coSetRoundRadius(handle, newBorderRadius) { + wasm.rawcolliderset_coSetRoundRadius(this.__wbg_ptr, handle, newBorderRadius); + } + /** + * Sets the translation of this collider. + * + * # Parameters + * - `x`: the world-space position of the collider along the `x` axis. + * - `y`: the world-space position of the collider along the `y` axis. + * - `wakeUp`: forces the collider to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + * @param {number} handle + * @param {number} x + * @param {number} y + */ + coSetTranslation(handle, x, y) { + wasm.rawcolliderset_coSetTranslation(this.__wbg_ptr, handle, x, y); + } + /** + * The collision groups of this collider. + * @param {number} handle + * @returns {number} + */ + coCollisionGroups(handle) { + const ret = wasm.rawcolliderset_coCollisionGroups(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * @param {number} handle + * @param {number} collider2handle + * @param {number} prediction + * @returns {RawShapeContact | undefined} + */ + coContactCollider(handle, collider2handle, prediction) { + const ret = wasm.rawcolliderset_coContactCollider(this.__wbg_ptr, handle, collider2handle, prediction); + return ret === 0 ? undefined : RawShapeContact.__wrap(ret); + } + /** + * @param {number} handle + * @returns {RawVector | undefined} + */ + coHalfspaceNormal(handle) { + const ret = wasm.rawcolliderset_coHalfspaceNormal(this.__wbg_ptr, handle); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * @param {number} handle + * @param {RawShape} shape2 + * @param {RawVector} shapePos2 + * @param {RawRotation} shapeRot2 + * @returns {boolean} + */ + coIntersectsShape(handle, shape2, shapePos2, shapeRot2) { + _assertClass(shape2, RawShape); + _assertClass(shapePos2, RawVector); + _assertClass(shapeRot2, RawRotation); + const ret = wasm.rawcolliderset_coIntersectsShape(this.__wbg_ptr, handle, shape2.__wbg_ptr, shapePos2.__wbg_ptr, shapeRot2.__wbg_ptr); + return ret !== 0; + } + /** + * @param {number} handle + * @param {number} events + */ + coSetActiveEvents(handle, events) { + wasm.rawcolliderset_coSetActiveEvents(this.__wbg_ptr, handle, events); + } + /** + * @param {number} handle + * @param {number} groups + */ + coSetSolverGroups(handle, groups) { + wasm.rawcolliderset_coSetSolverGroups(this.__wbg_ptr, handle, groups); + } + /** + * The scaling factor applied of this heightfield if it is one. + * @param {number} handle + * @returns {RawVector | undefined} + */ + coHeightfieldScale(handle) { + const ret = wasm.rawcolliderset_coHeightfieldScale(this.__wbg_ptr, handle); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * The orientation of this collider relative to its parent rigid-body. + * + * Returns the `None` if it doesn’t have a parent. + * @param {number} handle + * @returns {RawRotation | undefined} + */ + coRotationWrtParent(handle) { + const ret = wasm.rawcolliderset_coRotationWrtParent(this.__wbg_ptr, handle); + return ret === 0 ? undefined : RawRotation.__wrap(ret); + } + /** + * @param {number} handle + * @param {number} mass + * @param {RawVector} centerOfMass + * @param {number} principalAngularInertia + */ + coSetMassProperties(handle, mass, centerOfMass, principalAngularInertia) { + _assertClass(centerOfMass, RawVector); + wasm.rawcolliderset_coSetMassProperties(this.__wbg_ptr, handle, mass, centerOfMass.__wbg_ptr, principalAngularInertia); + } + /** + * @param {number} handle1 + * @param {number} handle2 + * @param {number} shift_x + * @param {number} shift_y + */ + coCombineVoxelStates(handle1, handle2, shift_x, shift_y) { + wasm.rawcolliderset_coCombineVoxelStates(this.__wbg_ptr, handle1, handle2, shift_x, shift_y); + } + /** + * The height of this heightfield if it is one. + * @param {number} handle + * @returns {Float32Array | undefined} + */ + coHeightfieldHeights(handle) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.rawcolliderset_coHeightfieldHeights(retptr, this.__wbg_ptr, handle); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + let v1; + if (r0 !== 0) { + v1 = getArrayF32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_1(r0, r1 * 4, 4); + } + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {number} handle + * @param {number} groups + */ + coSetCollisionGroups(handle, groups) { + wasm.rawcolliderset_coSetCollisionGroups(this.__wbg_ptr, handle, groups); + } + /** + * @param {number} handle + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @param {boolean} solid + * @returns {RawRayIntersection | undefined} + */ + coCastRayAndGetNormal(handle, rayOrig, rayDir, maxToi, solid) { + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr, handle, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi, solid); + return ret === 0 ? undefined : RawRayIntersection.__wrap(ret); + } + /** + * @param {number} handle + * @returns {number} + */ + coFrictionCombineRule(handle) { + const ret = wasm.rawcolliderset_coFrictionCombineRule(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * The collision types enabled for this collider. + * @param {number} handle + * @returns {number} + */ + coActiveCollisionTypes(handle) { + const ret = wasm.rawcolliderset_coActiveCollisionTypes(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle1 + * @param {number} handle2 + * @param {number} ix + * @param {number} iy + * @param {number} shift_x + * @param {number} shift_y + */ + coPropagateVoxelChange(handle1, handle2, ix, iy, shift_x, shift_y) { + wasm.rawcolliderset_coPropagateVoxelChange(this.__wbg_ptr, handle1, handle2, ix, iy, shift_x, shift_y); + } + /** + * @param {number} handle + * @param {number} angle + */ + coSetRotationWrtParent(handle, angle) { + wasm.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr, handle, angle); + } + /** + * The translation of this collider relative to its parent rigid-body. + * + * Returns the `None` if it doesn’t have a parent. + * @param {number} handle + * @returns {RawVector | undefined} + */ + coTranslationWrtParent(handle) { + const ret = wasm.rawcolliderset_coTranslationWrtParent(this.__wbg_ptr, handle); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * @param {number} handle + * @returns {number} + */ + coRestitutionCombineRule(handle) { + const ret = wasm.rawcolliderset_coRestitutionCombineRule(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * @param {number} handle + * @param {number} rule + */ + coSetFrictionCombineRule(handle, rule) { + wasm.rawcolliderset_coSetFrictionCombineRule(this.__wbg_ptr, handle, rule); + } + /** + * @param {number} handle + * @param {number} types + */ + coSetActiveCollisionTypes(handle, types) { + wasm.rawcolliderset_coSetActiveCollisionTypes(this.__wbg_ptr, handle, types); + } + /** + * @param {number} handle + * @param {number} x + * @param {number} y + */ + coSetTranslationWrtParent(handle, x, y) { + wasm.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr, handle, x, y); + } + /** + * @param {number} handle + * @param {number} rule + */ + coSetRestitutionCombineRule(handle, rule) { + wasm.rawcolliderset_coSetRestitutionCombineRule(this.__wbg_ptr, handle, rule); + } + /** + * The total force magnitude beyond which a contact force event can be emitted. + * @param {number} handle + * @returns {number} + */ + coContactForceEventThreshold(handle) { + const ret = wasm.rawcolliderset_coContactForceEventThreshold(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle + * @param {number} threshold + */ + coSetContactForceEventThreshold(handle, threshold) { + wasm.rawcolliderset_coSetContactForceEventThreshold(this.__wbg_ptr, handle, threshold); + } + /** + * The mass of this collider. + * @param {number} handle + * @returns {number} + */ + coMass(handle) { + const ret = wasm.rawcolliderset_coMass(this.__wbg_ptr, handle); + return ret; + } + /** + * The unique integer identifier of the collider this collider is attached to. + * @param {number} handle + * @returns {number | undefined} + */ + coParent(handle) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.rawcolliderset_coParent(retptr, this.__wbg_ptr, handle); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true); + return r0 === 0 ? undefined : r2; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * The radius of this collider if it is a ball, capsule, cylinder, or cone shape. + * @param {number} handle + * @returns {number | undefined} + */ + coRadius(handle) { + const ret = wasm.rawcolliderset_coRadius(this.__wbg_ptr, handle); + return ret === 0x100000001 ? undefined : ret; + } + /** + * The volume of this collider. + * @param {number} handle + * @returns {number} + */ + coVolume(handle) { + const ret = wasm.rawcolliderset_coVolume(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @param {boolean} solid + * @returns {number} + */ + coCastRay(handle, rayOrig, rayDir, maxToi, solid) { + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawcolliderset_coCastRay(this.__wbg_ptr, handle, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi, solid); + return ret; + } + /** + * The density of this collider. + * @param {number} handle + * @returns {number} + */ + coDensity(handle) { + const ret = wasm.rawcolliderset_coDensity(this.__wbg_ptr, handle); + return ret; + } + /** + * The indices of this triangle mesh, polyline, or convex polyhedron, if it is one. + * @param {number} handle + * @returns {Uint32Array | undefined} + */ + coIndices(handle) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.rawcolliderset_coIndices(retptr, this.__wbg_ptr, handle); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + let v1; + if (r0 !== 0) { + v1 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_1(r0, r1 * 4, 4); + } + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {number} handle + * @param {number} mass + */ + coSetMass(handle, mass) { + wasm.rawcolliderset_coSetMass(this.__wbg_ptr, handle, mass); + } +} + +const RawColliderShapeCastHitFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawcollidershapecasthit_free(ptr >>> 0, 1)); + +export class RawColliderShapeCastHit { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawColliderShapeCastHit.prototype); + obj.__wbg_ptr = ptr; + RawColliderShapeCastHitFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawColliderShapeCastHitFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawcollidershapecasthit_free(ptr, 0); + } + /** + * @returns {number} + */ + colliderHandle() { + const ret = wasm.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + time_of_impact() { + const ret = wasm.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr); + return ret; + } + /** + * @returns {RawVector} + */ + normal1() { + const ret = wasm.rawcollidershapecasthit_normal1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + normal2() { + const ret = wasm.rawcollidershapecasthit_normal2(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + witness1() { + const ret = wasm.rawcollidershapecasthit_witness1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + witness2() { + const ret = wasm.rawcollidershapecasthit_witness2(this.__wbg_ptr); + return RawVector.__wrap(ret); + } +} + +const RawContactForceEventFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawcontactforceevent_free(ptr >>> 0, 1)); + +export class RawContactForceEvent { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawContactForceEvent.prototype); + obj.__wbg_ptr = ptr; + RawContactForceEventFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawContactForceEventFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawcontactforceevent_free(ptr, 0); + } + /** + * The sum of all the forces between the two colliders. + * @returns {RawVector} + */ + total_force() { + const ret = wasm.rawcontactforceevent_total_force(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * The world-space (unit) direction of the force with strongest magnitude. + * @returns {RawVector} + */ + max_force_direction() { + const ret = wasm.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * The magnitude of the largest force at a contact point of this contact pair. + * @returns {number} + */ + max_force_magnitude() { + const ret = wasm.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr); + return ret; + } + /** + * The sum of the magnitudes of each force between the two colliders. + * + * Note that this is **not** the same as the magnitude of `self.total_force`. + * Here we are summing the magnitude of all the forces, instead of taking + * the magnitude of their sum. + * @returns {number} + */ + total_force_magnitude() { + const ret = wasm.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr); + return ret; + } + /** + * The first collider involved in the contact. + * @returns {number} + */ + collider1() { + const ret = wasm.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr); + return ret; + } + /** + * The second collider involved in the contact. + * @returns {number} + */ + collider2() { + const ret = wasm.rawcontactforceevent_collider2(this.__wbg_ptr); + return ret; + } +} + +const RawContactManifoldFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawcontactmanifold_free(ptr >>> 0, 1)); + +export class RawContactManifold { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawContactManifold.prototype); + obj.__wbg_ptr = ptr; + RawContactManifoldFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawContactManifoldFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawcontactmanifold_free(ptr, 0); + } + /** + * @param {number} i + * @returns {number} + */ + contact_dist(i) { + const ret = wasm.rawcontactmanifold_contact_dist(this.__wbg_ptr, i); + return ret; + } + /** + * @param {number} i + * @returns {number} + */ + contact_fid1(i) { + const ret = wasm.rawcontactmanifold_contact_fid1(this.__wbg_ptr, i); + return ret >>> 0; + } + /** + * @param {number} i + * @returns {number} + */ + contact_fid2(i) { + const ret = wasm.rawcontactmanifold_contact_fid2(this.__wbg_ptr, i); + return ret >>> 0; + } + /** + * @returns {number} + */ + num_contacts() { + const ret = wasm.rawcontactmanifold_num_contacts(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @param {number} i + * @returns {number} + */ + contact_impulse(i) { + const ret = wasm.rawcontactmanifold_contact_impulse(this.__wbg_ptr, i); + return ret; + } + /** + * @param {number} i + * @returns {RawVector | undefined} + */ + contact_local_p1(i) { + const ret = wasm.rawcontactmanifold_contact_local_p1(this.__wbg_ptr, i); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * @param {number} i + * @returns {RawVector | undefined} + */ + contact_local_p2(i) { + const ret = wasm.rawcontactmanifold_contact_local_p2(this.__wbg_ptr, i); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * @returns {number} + */ + num_solver_contacts() { + const ret = wasm.rawcontactmanifold_num_solver_contacts(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @param {number} i + * @returns {number} + */ + solver_contact_dist(i) { + const ret = wasm.rawcontactmanifold_solver_contact_dist(this.__wbg_ptr, i); + return ret; + } + /** + * @param {number} i + * @returns {RawVector | undefined} + */ + solver_contact_point(i) { + const ret = wasm.rawcontactmanifold_solver_contact_point(this.__wbg_ptr, i); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * @param {number} i + * @returns {number} + */ + contact_tangent_impulse(i) { + const ret = wasm.rawcontactmanifold_contact_tangent_impulse(this.__wbg_ptr, i); + return ret; + } + /** + * @param {number} i + * @returns {number} + */ + solver_contact_friction(i) { + const ret = wasm.rawcontactmanifold_solver_contact_friction(this.__wbg_ptr, i); + return ret; + } + /** + * @param {number} i + * @returns {number} + */ + solver_contact_restitution(i) { + const ret = wasm.rawcontactmanifold_solver_contact_restitution(this.__wbg_ptr, i); + return ret; + } + /** + * @param {number} i + * @returns {RawVector} + */ + solver_contact_tangent_velocity(i) { + const ret = wasm.rawcontactmanifold_solver_contact_tangent_velocity(this.__wbg_ptr, i); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + normal() { + const ret = wasm.rawcontactmanifold_normal(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + local_n1() { + const ret = wasm.rawcontactmanifold_local_n1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + local_n2() { + const ret = wasm.rawcontactmanifold_local_n2(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {number} + */ + subshape1() { + const ret = wasm.rawcontactmanifold_subshape1(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + subshape2() { + const ret = wasm.rawcontactmanifold_subshape2(this.__wbg_ptr); + return ret >>> 0; + } +} + +const RawContactPairFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawcontactpair_free(ptr >>> 0, 1)); + +export class RawContactPair { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawContactPair.prototype); + obj.__wbg_ptr = ptr; + RawContactPairFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawContactPairFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawcontactpair_free(ptr, 0); + } + /** + * @param {number} i + * @returns {RawContactManifold | undefined} + */ + contactManifold(i) { + const ret = wasm.rawcontactpair_contactManifold(this.__wbg_ptr, i); + return ret === 0 ? undefined : RawContactManifold.__wrap(ret); + } + /** + * @returns {number} + */ + numContactManifolds() { + const ret = wasm.rawcontactpair_numContactManifolds(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + collider1() { + const ret = wasm.rawcontactpair_collider1(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + collider2() { + const ret = wasm.rawcontactpair_collider2(this.__wbg_ptr); + return ret; + } +} + +const RawDebugRenderPipelineFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawdebugrenderpipeline_free(ptr >>> 0, 1)); + +export class RawDebugRenderPipeline { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawDebugRenderPipelineFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawdebugrenderpipeline_free(ptr, 0); + } + constructor() { + const ret = wasm.rawdebugrenderpipeline_new(); + this.__wbg_ptr = ret >>> 0; + RawDebugRenderPipelineFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @returns {Float32Array} + */ + colors() { + const ret = wasm.rawdebugrenderpipeline_colors(this.__wbg_ptr); + return takeObject(ret); + } + /** + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawImpulseJointSet} impulse_joints + * @param {RawMultibodyJointSet} multibody_joints + * @param {RawNarrowPhase} narrow_phase + * @param {number} filter_flags + * @param {Function} filter_predicate + */ + render(bodies, colliders, impulse_joints, multibody_joints, narrow_phase, filter_flags, filter_predicate) { + try { + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(impulse_joints, RawImpulseJointSet); + _assertClass(multibody_joints, RawMultibodyJointSet); + _assertClass(narrow_phase, RawNarrowPhase); + wasm.rawdebugrenderpipeline_render(this.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, impulse_joints.__wbg_ptr, multibody_joints.__wbg_ptr, narrow_phase.__wbg_ptr, filter_flags, addBorrowedObject(filter_predicate)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @returns {Float32Array} + */ + vertices() { + const ret = wasm.rawdebugrenderpipeline_vertices(this.__wbg_ptr); + return takeObject(ret); + } +} + +const RawDeserializedWorldFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawdeserializedworld_free(ptr >>> 0, 1)); + +export class RawDeserializedWorld { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawDeserializedWorld.prototype); + obj.__wbg_ptr = ptr; + RawDeserializedWorldFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawDeserializedWorldFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawdeserializedworld_free(ptr, 0); + } + /** + * @returns {RawRigidBodySet | undefined} + */ + takeBodies() { + const ret = wasm.rawdeserializedworld_takeBodies(this.__wbg_ptr); + return ret === 0 ? undefined : RawRigidBodySet.__wrap(ret); + } + /** + * @returns {RawVector | undefined} + */ + takeGravity() { + const ret = wasm.rawdeserializedworld_takeGravity(this.__wbg_ptr); + return ret === 0 ? undefined : RawVector.__wrap(ret); + } + /** + * @returns {RawColliderSet | undefined} + */ + takeColliders() { + const ret = wasm.rawdeserializedworld_takeColliders(this.__wbg_ptr); + return ret === 0 ? undefined : RawColliderSet.__wrap(ret); + } + /** + * @returns {RawBroadPhase | undefined} + */ + takeBroadPhase() { + const ret = wasm.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr); + return ret === 0 ? undefined : RawBroadPhase.__wrap(ret); + } + /** + * @returns {RawNarrowPhase | undefined} + */ + takeNarrowPhase() { + const ret = wasm.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr); + return ret === 0 ? undefined : RawNarrowPhase.__wrap(ret); + } + /** + * @returns {RawImpulseJointSet | undefined} + */ + takeImpulseJoints() { + const ret = wasm.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr); + return ret === 0 ? undefined : RawImpulseJointSet.__wrap(ret); + } + /** + * @returns {RawIslandManager | undefined} + */ + takeIslandManager() { + const ret = wasm.rawdeserializedworld_takeIslandManager(this.__wbg_ptr); + return ret === 0 ? undefined : RawIslandManager.__wrap(ret); + } + /** + * @returns {RawMultibodyJointSet | undefined} + */ + takeMultibodyJoints() { + const ret = wasm.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr); + return ret === 0 ? undefined : RawMultibodyJointSet.__wrap(ret); + } + /** + * @returns {RawIntegrationParameters | undefined} + */ + takeIntegrationParameters() { + const ret = wasm.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr); + return ret === 0 ? undefined : RawIntegrationParameters.__wrap(ret); + } +} + +const RawEventQueueFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_raweventqueue_free(ptr >>> 0, 1)); +/** + * A structure responsible for collecting events generated + * by the physics engine. + */ +export class RawEventQueue { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawEventQueueFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_raweventqueue_free(ptr, 0); + } + /** + * Applies the given javascript closure on each collision event of this collector, then clear + * the internal collision event buffer. + * + * # Parameters + * - `f(handle1, handle2, started)`: JavaScript closure applied to each collision event. The + * closure should take three arguments: two integers representing the handles of the colliders + * involved in the collision, and a boolean indicating if the collision started (true) or stopped + * (false). + * @param {Function} f + */ + drainCollisionEvents(f) { + try { + wasm.raweventqueue_drainCollisionEvents(this.__wbg_ptr, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @param {Function} f + */ + drainContactForceEvents(f) { + try { + wasm.raweventqueue_drainContactForceEvents(this.__wbg_ptr, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * Creates a new event collector. + * + * # Parameters + * - `autoDrain`: setting this to `true` is strongly recommended. If true, the collector will + * be automatically drained before each `world.step(collector)`. If false, the collector will + * keep all events in memory unless it is manually drained/cleared; this may lead to unbounded use of + * RAM if no drain is performed. + * @param {boolean} autoDrain + */ + constructor(autoDrain) { + const ret = wasm.raweventqueue_new(autoDrain); + this.__wbg_ptr = ret >>> 0; + RawEventQueueFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * Removes all events contained by this collector. + */ + clear() { + wasm.raweventqueue_clear(this.__wbg_ptr); + } +} + +const RawGenericJointFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawgenericjoint_free(ptr >>> 0, 1)); + +export class RawGenericJoint { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawGenericJoint.prototype); + obj.__wbg_ptr = ptr; + RawGenericJointFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawGenericJointFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawgenericjoint_free(ptr, 0); + } + /** + * @param {number} length + * @param {RawVector} anchor1 + * @param {RawVector} anchor2 + * @returns {RawGenericJoint} + */ + static rope(length, anchor1, anchor2) { + _assertClass(anchor1, RawVector); + _assertClass(anchor2, RawVector); + const ret = wasm.rawgenericjoint_rope(length, anchor1.__wbg_ptr, anchor2.__wbg_ptr); + return RawGenericJoint.__wrap(ret); + } + /** + * Creates a new joint descriptor that builds a Fixed joint. + * + * A fixed joint removes all the degrees of freedom between the affected bodies. + * @param {RawVector} anchor1 + * @param {RawRotation} axes1 + * @param {RawVector} anchor2 + * @param {RawRotation} axes2 + * @returns {RawGenericJoint} + */ + static fixed(anchor1, axes1, anchor2, axes2) { + _assertClass(anchor1, RawVector); + _assertClass(axes1, RawRotation); + _assertClass(anchor2, RawVector); + _assertClass(axes2, RawRotation); + const ret = wasm.rawgenericjoint_fixed(anchor1.__wbg_ptr, axes1.__wbg_ptr, anchor2.__wbg_ptr, axes2.__wbg_ptr); + return RawGenericJoint.__wrap(ret); + } + /** + * @param {number} rest_length + * @param {number} stiffness + * @param {number} damping + * @param {RawVector} anchor1 + * @param {RawVector} anchor2 + * @returns {RawGenericJoint} + */ + static spring(rest_length, stiffness, damping, anchor1, anchor2) { + _assertClass(anchor1, RawVector); + _assertClass(anchor2, RawVector); + const ret = wasm.rawgenericjoint_spring(rest_length, stiffness, damping, anchor1.__wbg_ptr, anchor2.__wbg_ptr); + return RawGenericJoint.__wrap(ret); + } + /** + * Create a new joint descriptor that builds Revolute joints. + * + * A revolute joint removes all degrees of freedom between the affected + * bodies except for the rotation. + * @param {RawVector} anchor1 + * @param {RawVector} anchor2 + * @returns {RawGenericJoint | undefined} + */ + static revolute(anchor1, anchor2) { + _assertClass(anchor1, RawVector); + _assertClass(anchor2, RawVector); + const ret = wasm.rawgenericjoint_revolute(anchor1.__wbg_ptr, anchor2.__wbg_ptr); + return ret === 0 ? undefined : RawGenericJoint.__wrap(ret); + } + /** + * Creates a new joint descriptor that builds a Prismatic joint. + * + * A prismatic joint removes all the degrees of freedom between the + * affected bodies, except for the translation along one axis. + * + * Returns `None` if any of the provided axes cannot be normalized. + * @param {RawVector} anchor1 + * @param {RawVector} anchor2 + * @param {RawVector} axis + * @param {boolean} limitsEnabled + * @param {number} limitsMin + * @param {number} limitsMax + * @returns {RawGenericJoint | undefined} + */ + static prismatic(anchor1, anchor2, axis, limitsEnabled, limitsMin, limitsMax) { + _assertClass(anchor1, RawVector); + _assertClass(anchor2, RawVector); + _assertClass(axis, RawVector); + const ret = wasm.rawgenericjoint_prismatic(anchor1.__wbg_ptr, anchor2.__wbg_ptr, axis.__wbg_ptr, limitsEnabled, limitsMin, limitsMax); + return ret === 0 ? undefined : RawGenericJoint.__wrap(ret); + } +} + +const RawImpulseJointSetFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawimpulsejointset_free(ptr >>> 0, 1)); + +export class RawImpulseJointSet { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawImpulseJointSet.prototype); + obj.__wbg_ptr = ptr; + RawImpulseJointSetFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawImpulseJointSetFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawimpulsejointset_free(ptr, 0); + } + /** + * The position of the first anchor of this joint. + * + * The first anchor gives the position of the points application point on the + * local frame of the first rigid-body it is attached to. + * @param {number} handle + * @returns {RawVector} + */ + jointAnchor1(handle) { + const ret = wasm.rawimpulsejointset_jointAnchor1(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * The position of the second anchor of this joint. + * + * The second anchor gives the position of the points application point on the + * local frame of the second rigid-body it is attached to. + * @param {number} handle + * @returns {RawVector} + */ + jointAnchor2(handle) { + const ret = wasm.rawimpulsejointset_jointAnchor2(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * The angular part of the joint’s local frame relative to the first rigid-body it is attached to. + * @param {number} handle + * @returns {RawRotation} + */ + jointFrameX1(handle) { + const ret = wasm.rawimpulsejointset_jointFrameX1(this.__wbg_ptr, handle); + return RawRotation.__wrap(ret); + } + /** + * The angular part of the joint’s local frame relative to the second rigid-body it is attached to. + * @param {number} handle + * @returns {RawRotation} + */ + jointFrameX2(handle) { + const ret = wasm.rawimpulsejointset_jointFrameX2(this.__wbg_ptr, handle); + return RawRotation.__wrap(ret); + } + /** + * If this is a prismatic joint, returns its upper limit. + * @param {number} handle + * @param {RawJointAxis} axis + * @returns {number} + */ + jointLimitsMax(handle, axis) { + const ret = wasm.rawimpulsejointset_jointLimitsMax(this.__wbg_ptr, handle, axis); + return ret; + } + /** + * Return the lower limit along the given joint axis. + * @param {number} handle + * @param {RawJointAxis} axis + * @returns {number} + */ + jointLimitsMin(handle, axis) { + const ret = wasm.rawimpulsejointset_jointLimitsMin(this.__wbg_ptr, handle, axis); + return ret; + } + /** + * Enables and sets the joint limits + * @param {number} handle + * @param {RawJointAxis} axis + * @param {number} min + * @param {number} max + */ + jointSetLimits(handle, axis, min, max) { + wasm.rawimpulsejointset_jointSetLimits(this.__wbg_ptr, handle, axis, min, max); + } + /** + * Sets the position of the first local anchor + * @param {number} handle + * @param {RawVector} newPos + */ + jointSetAnchor1(handle, newPos) { + _assertClass(newPos, RawVector); + wasm.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr, handle, newPos.__wbg_ptr); + } + /** + * Sets the position of the second local anchor + * @param {number} handle + * @param {RawVector} newPos + */ + jointSetAnchor2(handle, newPos) { + _assertClass(newPos, RawVector); + wasm.rawimpulsejointset_jointSetAnchor2(this.__wbg_ptr, handle, newPos.__wbg_ptr); + } + /** + * The unique integer identifier of the first rigid-body this joint it attached to. + * @param {number} handle + * @returns {number} + */ + jointBodyHandle1(handle) { + const ret = wasm.rawimpulsejointset_jointBodyHandle1(this.__wbg_ptr, handle); + return ret; + } + /** + * The unique integer identifier of the second rigid-body this joint is attached to. + * @param {number} handle + * @returns {number} + */ + jointBodyHandle2(handle) { + const ret = wasm.rawimpulsejointset_jointBodyHandle2(this.__wbg_ptr, handle); + return ret; + } + /** + * Are the limits for this joint enabled? + * @param {number} handle + * @param {RawJointAxis} axis + * @returns {boolean} + */ + jointLimitsEnabled(handle, axis) { + const ret = wasm.rawimpulsejointset_jointLimitsEnabled(this.__wbg_ptr, handle, axis); + return ret !== 0; + } + /** + * @param {number} handle + * @param {RawJointAxis} axis + * @param {number} targetPos + * @param {number} targetVel + * @param {number} stiffness + * @param {number} damping + */ + jointConfigureMotor(handle, axis, targetPos, targetVel, stiffness, damping) { + wasm.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr, handle, axis, targetPos, targetVel, stiffness, damping); + } + /** + * Are contacts between the rigid-bodies attached by this joint enabled? + * @param {number} handle + * @returns {boolean} + */ + jointContactsEnabled(handle) { + const ret = wasm.rawimpulsejointset_jointContactsEnabled(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * Sets whether contacts are enabled between the rigid-bodies attached by this joint. + * @param {number} handle + * @param {boolean} enabled + */ + jointSetContactsEnabled(handle, enabled) { + wasm.rawimpulsejointset_jointSetContactsEnabled(this.__wbg_ptr, handle, enabled); + } + /** + * @param {number} handle + * @param {RawJointAxis} axis + * @param {RawMotorModel} model + */ + jointConfigureMotorModel(handle, axis, model) { + wasm.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr, handle, axis, model); + } + /** + * @param {number} handle + * @param {RawJointAxis} axis + * @param {number} targetPos + * @param {number} stiffness + * @param {number} damping + */ + jointConfigureMotorPosition(handle, axis, targetPos, stiffness, damping) { + wasm.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr, handle, axis, targetPos, stiffness, damping); + } + /** + * @param {number} handle + * @param {RawJointAxis} axis + * @param {number} targetVel + * @param {number} factor + */ + jointConfigureMotorVelocity(handle, axis, targetVel, factor) { + wasm.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr, handle, axis, targetVel, factor); + } + /** + * The type of this joint. + * @param {number} handle + * @returns {RawJointType} + */ + jointType(handle) { + const ret = wasm.rawimpulsejointset_jointType(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {RawGenericJoint} params + * @param {number} parent1 + * @param {number} parent2 + * @param {boolean} wake_up + * @returns {number} + */ + createJoint(params, parent1, parent2, wake_up) { + _assertClass(params, RawGenericJoint); + const ret = wasm.rawimpulsejointset_createJoint(this.__wbg_ptr, params.__wbg_ptr, parent1, parent2, wake_up); + return ret; + } + /** + * Applies the given JavaScript function to the integer handle of each joint managed by this physics world. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint managed by this set. Called as `f(collider)`. + * @param {Function} f + */ + forEachJointHandle(f) { + try { + wasm.rawimpulsejointset_forEachJointHandle(this.__wbg_ptr, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * Applies the given JavaScript function to the integer handle of each joint attached to the given rigid-body. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint attached to the rigid-body. Called as `f(collider)`. + * @param {number} body + * @param {Function} f + */ + forEachJointAttachedToRigidBody(body, f) { + try { + wasm.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr, body, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @returns {number} + */ + len() { + const ret = wasm.rawimpulsejointset_len(this.__wbg_ptr); + return ret >>> 0; + } + constructor() { + const ret = wasm.rawimpulsejointset_new(); + this.__wbg_ptr = ret >>> 0; + RawImpulseJointSetFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {number} handle + * @param {boolean} wakeUp + */ + remove(handle, wakeUp) { + wasm.rawimpulsejointset_remove(this.__wbg_ptr, handle, wakeUp); + } + /** + * @param {number} handle + * @returns {boolean} + */ + contains(handle) { + const ret = wasm.rawimpulsejointset_contains(this.__wbg_ptr, handle); + return ret !== 0; + } +} + +const RawIntegrationParametersFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawintegrationparameters_free(ptr >>> 0, 1)); + +export class RawIntegrationParameters { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawIntegrationParameters.prototype); + obj.__wbg_ptr = ptr; + RawIntegrationParametersFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawIntegrationParametersFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawintegrationparameters_free(ptr, 0); + } + /** + * @returns {number} + */ + get lengthUnit() { + const ret = wasm.rawintegrationparameters_lengthUnit(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + get contact_erp() { + const ret = wasm.rawintegrationparameters_contact_erp(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + get minIslandSize() { + const ret = wasm.rawintegrationparameters_minIslandSize(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + get maxCcdSubsteps() { + const ret = wasm.rawintegrationparameters_maxCcdSubsteps(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @param {number} value + */ + set lengthUnit(value) { + wasm.rawintegrationparameters_set_lengthUnit(this.__wbg_ptr, value); + } + /** + * @param {number} value + */ + set minIslandSize(value) { + wasm.rawintegrationparameters_set_minIslandSize(this.__wbg_ptr, value); + } + /** + * @param {number} value + */ + set maxCcdSubsteps(value) { + wasm.rawintegrationparameters_set_maxCcdSubsteps(this.__wbg_ptr, value); + } + /** + * @returns {number} + */ + get numSolverIterations() { + const ret = wasm.rawintegrationparameters_numSolverIterations(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @param {number} value + */ + set numSolverIterations(value) { + wasm.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr, value); + } + /** + * @returns {number} + */ + get numInternalPgsIterations() { + const ret = wasm.rawintegrationparameters_numInternalPgsIterations(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + get normalizedAllowedLinearError() { + const ret = wasm.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + get normalizedPredictionDistance() { + const ret = wasm.rawcharactercollision_toi(this.__wbg_ptr); + return ret; + } + /** + * @param {number} value + */ + set numInternalPgsIterations(value) { + wasm.rawintegrationparameters_set_numInternalPgsIterations(this.__wbg_ptr, value); + } + /** + * @param {number} value + */ + set contact_natural_frequency(value) { + wasm.rawintegrationparameters_set_contact_natural_frequency(this.__wbg_ptr, value); + } + /** + * @returns {number} + */ + get dt() { + const ret = wasm.rawintegrationparameters_dt(this.__wbg_ptr); + return ret; + } + /** + * @param {number} value + */ + set normalizedAllowedLinearError(value) { + wasm.rawintegrationparameters_set_normalizedAllowedLinearError(this.__wbg_ptr, value); + } + /** + * @param {number} value + */ + set normalizedPredictionDistance(value) { + wasm.rawintegrationparameters_set_normalizedPredictionDistance(this.__wbg_ptr, value); + } + constructor() { + const ret = wasm.rawintegrationparameters_new(); + this.__wbg_ptr = ret >>> 0; + RawIntegrationParametersFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {number} value + */ + set dt(value) { + wasm.rawintegrationparameters_set_dt(this.__wbg_ptr, value); + } +} + +const RawIslandManagerFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawislandmanager_free(ptr >>> 0, 1)); + +export class RawIslandManager { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawIslandManager.prototype); + obj.__wbg_ptr = ptr; + RawIslandManagerFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawIslandManagerFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawislandmanager_free(ptr, 0); + } + /** + * Applies the given JavaScript function to the integer handle of each active rigid-body + * managed by this island manager. + * + * After a short time of inactivity, a rigid-body is automatically deactivated ("asleep") by + * the physics engine in order to save computational power. A sleeping rigid-body never moves + * unless it is moved manually by the user. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each active rigid-body managed by this + * set. Called as `f(collider)`. + * @param {Function} f + */ + forEachActiveRigidBodyHandle(f) { + try { + wasm.rawislandmanager_forEachActiveRigidBodyHandle(this.__wbg_ptr, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + constructor() { + const ret = wasm.rawislandmanager_new(); + this.__wbg_ptr = ret >>> 0; + RawIslandManagerFinalization.register(this, this.__wbg_ptr, this); + return this; + } +} + +const RawKinematicCharacterControllerFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawkinematiccharactercontroller_free(ptr >>> 0, 1)); + +export class RawKinematicCharacterController { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawKinematicCharacterControllerFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawkinematiccharactercontroller_free(ptr, 0); + } + /** + * @returns {boolean} + */ + slideEnabled() { + const ret = wasm.rawkinematiccharactercontroller_slideEnabled(this.__wbg_ptr); + return ret !== 0; + } + /** + * @param {number} maxHeight + * @param {number} minWidth + * @param {boolean} includeDynamicBodies + */ + enableAutostep(maxHeight, minWidth, includeDynamicBodies) { + wasm.rawkinematiccharactercontroller_enableAutostep(this.__wbg_ptr, maxHeight, minWidth, includeDynamicBodies); + } + /** + * @returns {boolean} + */ + autostepEnabled() { + const ret = wasm.rawkinematiccharactercontroller_autostepEnabled(this.__wbg_ptr); + return ret !== 0; + } + disableAutostep() { + wasm.rawkinematiccharactercontroller_disableAutostep(this.__wbg_ptr); + } + /** + * @param {boolean} enabled + */ + setSlideEnabled(enabled) { + wasm.rawkinematiccharactercontroller_setSlideEnabled(this.__wbg_ptr, enabled); + } + /** + * @returns {number | undefined} + */ + autostepMinWidth() { + const ret = wasm.rawkinematiccharactercontroller_autostepMinWidth(this.__wbg_ptr); + return ret === 0x100000001 ? undefined : ret; + } + /** + * @returns {boolean} + */ + computedGrounded() { + const ret = wasm.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr); + return ret !== 0; + } + /** + * @returns {RawVector} + */ + computedMovement() { + const ret = wasm.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {number | undefined} + */ + autostepMaxHeight() { + const ret = wasm.rawkinematiccharactercontroller_autostepMaxHeight(this.__wbg_ptr); + return ret === 0x100000001 ? undefined : ret; + } + /** + * @param {number} i + * @param {RawCharacterCollision} collision + * @returns {boolean} + */ + computedCollision(i, collision) { + _assertClass(collision, RawCharacterCollision); + const ret = wasm.rawkinematiccharactercontroller_computedCollision(this.__wbg_ptr, i, collision.__wbg_ptr); + return ret !== 0; + } + /** + * @returns {number} + */ + normalNudgeFactor() { + const ret = wasm.rawkinematiccharactercontroller_normalNudgeFactor(this.__wbg_ptr); + return ret; + } + /** + * @param {number} distance + */ + enableSnapToGround(distance) { + wasm.rawkinematiccharactercontroller_enableSnapToGround(this.__wbg_ptr, distance); + } + /** + * @returns {number} + */ + maxSlopeClimbAngle() { + const ret = wasm.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + minSlopeSlideAngle() { + const ret = wasm.rawkinematiccharactercontroller_minSlopeSlideAngle(this.__wbg_ptr); + return ret; + } + disableSnapToGround() { + wasm.rawkinematiccharactercontroller_disableSnapToGround(this.__wbg_ptr); + } + /** + * @returns {boolean} + */ + snapToGroundEnabled() { + const ret = wasm.rawkinematiccharactercontroller_snapToGroundEnabled(this.__wbg_ptr); + return ret !== 0; + } + /** + * @param {number} value + */ + setNormalNudgeFactor(value) { + wasm.rawkinematiccharactercontroller_setNormalNudgeFactor(this.__wbg_ptr, value); + } + /** + * @returns {number | undefined} + */ + snapToGroundDistance() { + const ret = wasm.rawkinematiccharactercontroller_snapToGroundDistance(this.__wbg_ptr); + return ret === 0x100000001 ? undefined : ret; + } + /** + * @returns {number} + */ + numComputedCollisions() { + const ret = wasm.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @param {number} angle + */ + setMaxSlopeClimbAngle(angle) { + wasm.rawkinematiccharactercontroller_setMaxSlopeClimbAngle(this.__wbg_ptr, angle); + } + /** + * @param {number} angle + */ + setMinSlopeSlideAngle(angle) { + wasm.rawkinematiccharactercontroller_setMinSlopeSlideAngle(this.__wbg_ptr, angle); + } + /** + * @param {number} dt + * @param {RawBroadPhase} broad_phase + * @param {RawNarrowPhase} narrow_phase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {number} collider_handle + * @param {RawVector} desired_translation_delta + * @param {boolean} apply_impulses_to_dynamic_bodies + * @param {number | null | undefined} character_mass + * @param {number} filter_flags + * @param {number | null | undefined} filter_groups + * @param {Function} filter_predicate + */ + computeColliderMovement(dt, broad_phase, narrow_phase, bodies, colliders, collider_handle, desired_translation_delta, apply_impulses_to_dynamic_bodies, character_mass, filter_flags, filter_groups, filter_predicate) { + try { + _assertClass(broad_phase, RawBroadPhase); + _assertClass(narrow_phase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(desired_translation_delta, RawVector); + wasm.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr, dt, broad_phase.__wbg_ptr, narrow_phase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, collider_handle, desired_translation_delta.__wbg_ptr, apply_impulses_to_dynamic_bodies, isLikeNone(character_mass) ? 0x100000001 : Math.fround(character_mass), filter_flags, isLikeNone(filter_groups) ? 0x100000001 : (filter_groups) >>> 0, addBorrowedObject(filter_predicate)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * @returns {boolean | undefined} + */ + autostepIncludesDynamicBodies() { + const ret = wasm.rawkinematiccharactercontroller_autostepIncludesDynamicBodies(this.__wbg_ptr); + return ret === 0xFFFFFF ? undefined : ret !== 0; + } + /** + * @returns {RawVector} + */ + up() { + const ret = wasm.rawcollidershapecasthit_normal2(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @param {number} offset + */ + constructor(offset) { + const ret = wasm.rawkinematiccharactercontroller_new(offset); + this.__wbg_ptr = ret >>> 0; + RawKinematicCharacterControllerFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {RawVector} vector + */ + setUp(vector) { + _assertClass(vector, RawVector); + wasm.rawkinematiccharactercontroller_setUp(this.__wbg_ptr, vector.__wbg_ptr); + } + /** + * @returns {number} + */ + offset() { + const ret = wasm.rawkinematiccharactercontroller_offset(this.__wbg_ptr); + return ret; + } + /** + * @param {number} value + */ + setOffset(value) { + wasm.rawkinematiccharactercontroller_setOffset(this.__wbg_ptr, value); + } +} + +const RawMultibodyJointSetFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawmultibodyjointset_free(ptr >>> 0, 1)); + +export class RawMultibodyJointSet { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawMultibodyJointSet.prototype); + obj.__wbg_ptr = ptr; + RawMultibodyJointSetFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawMultibodyJointSetFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawmultibodyjointset_free(ptr, 0); + } + /** + * The position of the first anchor of this joint. + * + * The first anchor gives the position of the points application point on the + * local frame of the first rigid-body it is attached to. + * @param {number} handle + * @returns {RawVector} + */ + jointAnchor1(handle) { + const ret = wasm.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * The position of the second anchor of this joint. + * + * The second anchor gives the position of the points application point on the + * local frame of the second rigid-body it is attached to. + * @param {number} handle + * @returns {RawVector} + */ + jointAnchor2(handle) { + const ret = wasm.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * The angular part of the joint’s local frame relative to the first rigid-body it is attached to. + * @param {number} handle + * @returns {RawRotation} + */ + jointFrameX1(handle) { + const ret = wasm.rawmultibodyjointset_jointFrameX1(this.__wbg_ptr, handle); + return RawRotation.__wrap(ret); + } + /** + * The angular part of the joint’s local frame relative to the second rigid-body it is attached to. + * @param {number} handle + * @returns {RawRotation} + */ + jointFrameX2(handle) { + const ret = wasm.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr, handle); + return RawRotation.__wrap(ret); + } + /** + * If this is a prismatic joint, returns its upper limit. + * @param {number} handle + * @param {RawJointAxis} axis + * @returns {number} + */ + jointLimitsMax(handle, axis) { + const ret = wasm.rawmultibodyjointset_jointLimitsMax(this.__wbg_ptr, handle, axis); + return ret; + } + /** + * Return the lower limit along the given joint axis. + * @param {number} handle + * @param {RawJointAxis} axis + * @returns {number} + */ + jointLimitsMin(handle, axis) { + const ret = wasm.rawmultibodyjointset_jointLimitsMin(this.__wbg_ptr, handle, axis); + return ret; + } + /** + * Are the limits for this joint enabled? + * @param {number} handle + * @param {RawJointAxis} axis + * @returns {boolean} + */ + jointLimitsEnabled(handle, axis) { + const ret = wasm.rawmultibodyjointset_jointLimitsEnabled(this.__wbg_ptr, handle, axis); + return ret !== 0; + } + /** + * Are contacts between the rigid-bodies attached by this joint enabled? + * @param {number} handle + * @returns {boolean} + */ + jointContactsEnabled(handle) { + const ret = wasm.rawmultibodyjointset_jointContactsEnabled(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * Sets whether contacts are enabled between the rigid-bodies attached by this joint. + * @param {number} handle + * @param {boolean} enabled + */ + jointSetContactsEnabled(handle, enabled) { + wasm.rawmultibodyjointset_jointSetContactsEnabled(this.__wbg_ptr, handle, enabled); + } + /** + * The type of this joint. + * @param {number} handle + * @returns {RawJointType} + */ + jointType(handle) { + const ret = wasm.rawmultibodyjointset_jointType(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {RawGenericJoint} params + * @param {number} parent1 + * @param {number} parent2 + * @param {boolean} wakeUp + * @returns {number} + */ + createJoint(params, parent1, parent2, wakeUp) { + _assertClass(params, RawGenericJoint); + const ret = wasm.rawmultibodyjointset_createJoint(this.__wbg_ptr, params.__wbg_ptr, parent1, parent2, wakeUp); + return ret; + } + /** + * Applies the given JavaScript function to the integer handle of each joint managed by this physics world. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint managed by this set. Called as `f(collider)`. + * @param {Function} f + */ + forEachJointHandle(f) { + try { + wasm.rawmultibodyjointset_forEachJointHandle(this.__wbg_ptr, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * Applies the given JavaScript function to the integer handle of each joint attached to the given rigid-body. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each joint attached to the rigid-body. Called as `f(collider)`. + * @param {number} body + * @param {Function} f + */ + forEachJointAttachedToRigidBody(body, f) { + try { + wasm.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr, body, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + constructor() { + const ret = wasm.rawmultibodyjointset_new(); + this.__wbg_ptr = ret >>> 0; + RawMultibodyJointSetFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {number} handle + * @param {boolean} wakeUp + */ + remove(handle, wakeUp) { + wasm.rawmultibodyjointset_remove(this.__wbg_ptr, handle, wakeUp); + } + /** + * @param {number} handle + * @returns {boolean} + */ + contains(handle) { + const ret = wasm.rawmultibodyjointset_contains(this.__wbg_ptr, handle); + return ret !== 0; + } +} + +const RawNarrowPhaseFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawnarrowphase_free(ptr >>> 0, 1)); + +export class RawNarrowPhase { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawNarrowPhase.prototype); + obj.__wbg_ptr = ptr; + RawNarrowPhaseFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawNarrowPhaseFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawnarrowphase_free(ptr, 0); + } + /** + * @param {number} handle1 + * @param {number} handle2 + * @returns {RawContactPair | undefined} + */ + contact_pair(handle1, handle2) { + const ret = wasm.rawnarrowphase_contact_pair(this.__wbg_ptr, handle1, handle2); + return ret === 0 ? undefined : RawContactPair.__wrap(ret); + } + /** + * @param {number} handle1 + * @param {number} handle2 + * @returns {boolean} + */ + intersection_pair(handle1, handle2) { + const ret = wasm.rawnarrowphase_intersection_pair(this.__wbg_ptr, handle1, handle2); + return ret !== 0; + } + /** + * @param {number} handle1 + * @param {Function} f + */ + contact_pairs_with(handle1, f) { + wasm.rawnarrowphase_contact_pairs_with(this.__wbg_ptr, handle1, addHeapObject(f)); + } + /** + * @param {number} handle1 + * @param {Function} f + */ + intersection_pairs_with(handle1, f) { + wasm.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr, handle1, addHeapObject(f)); + } + constructor() { + const ret = wasm.rawnarrowphase_new(); + this.__wbg_ptr = ret >>> 0; + RawNarrowPhaseFinalization.register(this, this.__wbg_ptr, this); + return this; + } +} + +const RawPhysicsPipelineFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawphysicspipeline_free(ptr >>> 0, 1)); + +export class RawPhysicsPipeline { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawPhysicsPipelineFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawphysicspipeline_free(ptr, 0); + } + /** + * @returns {number} + */ + timing_ccd() { + const ret = wasm.rawphysicspipeline_timing_ccd(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_step() { + const ret = wasm.rawphysicspipeline_timing_step(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_solver() { + const ret = wasm.rawphysicspipeline_timing_solver(this.__wbg_ptr); + return ret; + } + /** + * @param {RawVector} gravity + * @param {RawIntegrationParameters} integrationParameters + * @param {RawIslandManager} islands + * @param {RawBroadPhase} broadPhase + * @param {RawNarrowPhase} narrowPhase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawImpulseJointSet} joints + * @param {RawMultibodyJointSet} articulations + * @param {RawCCDSolver} ccd_solver + * @param {RawEventQueue} eventQueue + * @param {object} hookObject + * @param {Function} hookFilterContactPair + * @param {Function} hookFilterIntersectionPair + */ + stepWithEvents(gravity, integrationParameters, islands, broadPhase, narrowPhase, bodies, colliders, joints, articulations, ccd_solver, eventQueue, hookObject, hookFilterContactPair, hookFilterIntersectionPair) { + _assertClass(gravity, RawVector); + _assertClass(integrationParameters, RawIntegrationParameters); + _assertClass(islands, RawIslandManager); + _assertClass(broadPhase, RawBroadPhase); + _assertClass(narrowPhase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(joints, RawImpulseJointSet); + _assertClass(articulations, RawMultibodyJointSet); + _assertClass(ccd_solver, RawCCDSolver); + _assertClass(eventQueue, RawEventQueue); + wasm.rawphysicspipeline_stepWithEvents(this.__wbg_ptr, gravity.__wbg_ptr, integrationParameters.__wbg_ptr, islands.__wbg_ptr, broadPhase.__wbg_ptr, narrowPhase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, joints.__wbg_ptr, articulations.__wbg_ptr, ccd_solver.__wbg_ptr, eventQueue.__wbg_ptr, addHeapObject(hookObject), addHeapObject(hookFilterContactPair), addHeapObject(hookFilterIntersectionPair)); + } + /** + * @returns {number} + */ + timing_ccd_solver() { + const ret = wasm.rawphysicspipeline_timing_ccd_solver(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_broad_phase() { + const ret = wasm.rawphysicspipeline_timing_broad_phase(this.__wbg_ptr); + return ret; + } + /** + * @returns {boolean} + */ + is_profiler_enabled() { + const ret = wasm.rawphysicspipeline_is_profiler_enabled(this.__wbg_ptr); + return ret !== 0; + } + /** + * @returns {number} + */ + timing_narrow_phase() { + const ret = wasm.rawphysicspipeline_timing_narrow_phase(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_user_changes() { + const ret = wasm.rawphysicspipeline_timing_user_changes(this.__wbg_ptr); + return ret; + } + /** + * @param {boolean} enabled + */ + set_profiler_enabled(enabled) { + wasm.rawphysicspipeline_set_profiler_enabled(this.__wbg_ptr, enabled); + } + /** + * @returns {number} + */ + timing_ccd_broad_phase() { + const ret = wasm.rawphysicspipeline_timing_ccd_broad_phase(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_velocity_update() { + const ret = wasm.rawphysicspipeline_timing_velocity_update(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_ccd_narrow_phase() { + const ret = wasm.rawphysicspipeline_timing_ccd_narrow_phase(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_velocity_assembly() { + const ret = wasm.rawphysicspipeline_timing_velocity_assembly(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_velocity_writeback() { + const ret = wasm.rawphysicspipeline_timing_velocity_writeback(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_ccd_toi_computation() { + const ret = wasm.rawphysicspipeline_timing_ccd_toi_computation(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_collision_detection() { + const ret = wasm.rawphysicspipeline_timing_collision_detection(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_island_construction() { + const ret = wasm.rawphysicspipeline_timing_island_construction(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + timing_velocity_resolution() { + const ret = wasm.rawphysicspipeline_timing_velocity_resolution(this.__wbg_ptr); + return ret; + } + constructor() { + const ret = wasm.rawphysicspipeline_new(); + this.__wbg_ptr = ret >>> 0; + RawPhysicsPipelineFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {RawVector} gravity + * @param {RawIntegrationParameters} integrationParameters + * @param {RawIslandManager} islands + * @param {RawBroadPhase} broadPhase + * @param {RawNarrowPhase} narrowPhase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawImpulseJointSet} joints + * @param {RawMultibodyJointSet} articulations + * @param {RawCCDSolver} ccd_solver + */ + step(gravity, integrationParameters, islands, broadPhase, narrowPhase, bodies, colliders, joints, articulations, ccd_solver) { + _assertClass(gravity, RawVector); + _assertClass(integrationParameters, RawIntegrationParameters); + _assertClass(islands, RawIslandManager); + _assertClass(broadPhase, RawBroadPhase); + _assertClass(narrowPhase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(joints, RawImpulseJointSet); + _assertClass(articulations, RawMultibodyJointSet); + _assertClass(ccd_solver, RawCCDSolver); + wasm.rawphysicspipeline_step(this.__wbg_ptr, gravity.__wbg_ptr, integrationParameters.__wbg_ptr, islands.__wbg_ptr, broadPhase.__wbg_ptr, narrowPhase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, joints.__wbg_ptr, articulations.__wbg_ptr, ccd_solver.__wbg_ptr); + } +} + +const RawPidControllerFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawpidcontroller_free(ptr >>> 0, 1)); + +export class RawPidController { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawPidControllerFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawpidcontroller_free(ptr, 0); + } + /** + * @param {number} axes_mask + */ + set_axes_mask(axes_mask) { + wasm.rawpidcontroller_set_axes_mask(this.__wbg_ptr, axes_mask); + } + reset_integrals() { + wasm.rawpidcontroller_reset_integrals(this.__wbg_ptr); + } + /** + * @param {number} dt + * @param {RawRigidBodySet} bodies + * @param {number} rb_handle + * @param {RawVector} target_translation + * @param {RawVector} target_linvel + * @returns {RawVector} + */ + linear_correction(dt, bodies, rb_handle, target_translation, target_linvel) { + _assertClass(bodies, RawRigidBodySet); + _assertClass(target_translation, RawVector); + _assertClass(target_linvel, RawVector); + const ret = wasm.rawpidcontroller_linear_correction(this.__wbg_ptr, dt, bodies.__wbg_ptr, rb_handle, target_translation.__wbg_ptr, target_linvel.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @param {number} dt + * @param {RawRigidBodySet} bodies + * @param {number} rb_handle + * @param {number} target_rotation + * @param {number} target_angvel + * @returns {number} + */ + angular_correction(dt, bodies, rb_handle, target_rotation, target_angvel) { + _assertClass(bodies, RawRigidBodySet); + const ret = wasm.rawpidcontroller_angular_correction(this.__wbg_ptr, dt, bodies.__wbg_ptr, rb_handle, target_rotation, target_angvel); + return ret; + } + /** + * @param {number} dt + * @param {RawRigidBodySet} bodies + * @param {number} rb_handle + * @param {RawVector} target_translation + * @param {RawVector} target_linvel + */ + apply_linear_correction(dt, bodies, rb_handle, target_translation, target_linvel) { + _assertClass(bodies, RawRigidBodySet); + _assertClass(target_translation, RawVector); + _assertClass(target_linvel, RawVector); + wasm.rawpidcontroller_apply_linear_correction(this.__wbg_ptr, dt, bodies.__wbg_ptr, rb_handle, target_translation.__wbg_ptr, target_linvel.__wbg_ptr); + } + /** + * @param {number} dt + * @param {RawRigidBodySet} bodies + * @param {number} rb_handle + * @param {number} target_rotation + * @param {number} target_angvel + */ + apply_angular_correction(dt, bodies, rb_handle, target_rotation, target_angvel) { + _assertClass(bodies, RawRigidBodySet); + wasm.rawpidcontroller_apply_angular_correction(this.__wbg_ptr, dt, bodies.__wbg_ptr, rb_handle, target_rotation, target_angvel); + } + /** + * @param {number} kp + * @param {number} ki + * @param {number} kd + * @param {number} axes_mask + */ + constructor(kp, ki, kd, axes_mask) { + const ret = wasm.rawpidcontroller_new(kp, ki, kd, axes_mask); + this.__wbg_ptr = ret >>> 0; + RawPidControllerFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {number} kd + * @param {number} axes + */ + set_kd(kd, axes) { + wasm.rawpidcontroller_set_kd(this.__wbg_ptr, kd, axes); + } + /** + * @param {number} ki + * @param {number} axes + */ + set_ki(ki, axes) { + wasm.rawpidcontroller_set_ki(this.__wbg_ptr, ki, axes); + } + /** + * @param {number} kp + * @param {number} axes + */ + set_kp(kp, axes) { + wasm.rawpidcontroller_set_kp(this.__wbg_ptr, kp, axes); + } +} + +const RawPointColliderProjectionFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawpointcolliderprojection_free(ptr >>> 0, 1)); + +export class RawPointColliderProjection { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawPointColliderProjection.prototype); + obj.__wbg_ptr = ptr; + RawPointColliderProjectionFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawPointColliderProjectionFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawpointcolliderprojection_free(ptr, 0); + } + /** + * @returns {RawFeatureType} + */ + featureType() { + const ret = wasm.rawpointcolliderprojection_featureType(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + colliderHandle() { + const ret = wasm.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr); + return ret; + } + /** + * @returns {RawVector} + */ + point() { + const ret = wasm.rawpointcolliderprojection_point(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {boolean} + */ + isInside() { + const ret = wasm.rawpointcolliderprojection_isInside(this.__wbg_ptr); + return ret !== 0; + } + /** + * @returns {number | undefined} + */ + featureId() { + const ret = wasm.rawpointcolliderprojection_featureId(this.__wbg_ptr); + return ret === 0x100000001 ? undefined : ret; + } +} + +const RawPointProjectionFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawpointprojection_free(ptr >>> 0, 1)); + +export class RawPointProjection { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawPointProjection.prototype); + obj.__wbg_ptr = ptr; + RawPointProjectionFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawPointProjectionFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawpointprojection_free(ptr, 0); + } + /** + * @returns {RawVector} + */ + point() { + const ret = wasm.rawpointprojection_point(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {boolean} + */ + isInside() { + const ret = wasm.rawpointprojection_isInside(this.__wbg_ptr); + return ret !== 0; + } +} + +const RawRayColliderHitFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawraycolliderhit_free(ptr >>> 0, 1)); + +export class RawRayColliderHit { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawRayColliderHit.prototype); + obj.__wbg_ptr = ptr; + RawRayColliderHitFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawRayColliderHitFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawraycolliderhit_free(ptr, 0); + } + /** + * @returns {number} + */ + timeOfImpact() { + const ret = wasm.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + colliderHandle() { + const ret = wasm.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr); + return ret; + } +} + +const RawRayColliderIntersectionFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawraycolliderintersection_free(ptr >>> 0, 1)); + +export class RawRayColliderIntersection { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawRayColliderIntersection.prototype); + obj.__wbg_ptr = ptr; + RawRayColliderIntersectionFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawRayColliderIntersectionFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawraycolliderintersection_free(ptr, 0); + } + /** + * @returns {RawFeatureType} + */ + featureType() { + const ret = wasm.rawpointcolliderprojection_featureType(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + colliderHandle() { + const ret = wasm.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + time_of_impact() { + const ret = wasm.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr); + return ret; + } + /** + * @returns {RawVector} + */ + normal() { + const ret = wasm.rawcollidershapecasthit_witness1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {number | undefined} + */ + featureId() { + const ret = wasm.rawpointcolliderprojection_featureId(this.__wbg_ptr); + return ret === 0x100000001 ? undefined : ret; + } +} + +const RawRayIntersectionFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawrayintersection_free(ptr >>> 0, 1)); + +export class RawRayIntersection { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawRayIntersection.prototype); + obj.__wbg_ptr = ptr; + RawRayIntersectionFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawRayIntersectionFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawrayintersection_free(ptr, 0); + } + /** + * @returns {RawFeatureType} + */ + featureType() { + const ret = wasm.rawpointcolliderprojection_featureType(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + time_of_impact() { + const ret = wasm.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr); + return ret; + } + /** + * @returns {RawVector} + */ + normal() { + const ret = wasm.rawcollidershapecasthit_witness1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {number | undefined} + */ + featureId() { + const ret = wasm.rawpointcolliderprojection_featureId(this.__wbg_ptr); + return ret === 0x100000001 ? undefined : ret; + } +} + +const RawRigidBodySetFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawrigidbodyset_free(ptr >>> 0, 1)); + +export class RawRigidBodySet { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawRigidBodySet.prototype); + obj.__wbg_ptr = ptr; + RawRigidBodySetFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawRigidBodySetFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawrigidbodyset_free(ptr, 0); + } + /** + * Adds a force at the center-of-mass of this rigid-body. + * + * # Parameters + * - `force`: the world-space force to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + * @param {number} handle + * @param {RawVector} force + * @param {boolean} wakeUp + */ + rbAddForce(handle, force, wakeUp) { + _assertClass(force, RawVector); + wasm.rawrigidbodyset_rbAddForce(this.__wbg_ptr, handle, force.__wbg_ptr, wakeUp); + } + /** + * The status of this rigid-body: fixed, dynamic, or kinematic. + * @param {number} handle + * @returns {RawRigidBodyType} + */ + rbBodyType(handle) { + const ret = wasm.rawrigidbodyset_rbBodyType(this.__wbg_ptr, handle); + return ret; + } + /** + * Retrieves the `i-th` collider attached to this rigid-body. + * + * # Parameters + * - `at`: The index of the collider to retrieve. Must be a number in `[0, this.numColliders()[`. + * This index is **not** the same as the unique identifier of the collider. + * @param {number} handle + * @param {number} at + * @returns {number} + */ + rbCollider(handle, at) { + const ret = wasm.rawrigidbodyset_rbCollider(this.__wbg_ptr, handle, at); + return ret; + } + /** + * Is the velocity of this rigid-body not zero? + * @param {number} handle + * @returns {boolean} + */ + rbIsMoving(handle) { + const ret = wasm.rawrigidbodyset_rbIsMoving(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * The center of mass of a rigid-body expressed in its local-space. + * @param {number} handle + * @returns {RawVector} + */ + rbLocalCom(handle) { + const ret = wasm.rawrigidbodyset_rbLocalCom(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * The world-space orientation of this rigid-body. + * @param {number} handle + * @returns {RawRotation} + */ + rbRotation(handle) { + const ret = wasm.rawrigidbodyset_rbRotation(this.__wbg_ptr, handle); + return RawRotation.__wrap(ret); + } + /** + * An arbitrary user-defined 32-bit integer + * @param {number} handle + * @returns {number} + */ + rbUserData(handle) { + const ret = wasm.rawrigidbodyset_rbUserData(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * The world-space center of mass of the rigid-body. + * @param {number} handle + * @returns {RawVector} + */ + rbWorldCom(handle) { + const ret = wasm.rawrigidbodyset_rbWorldCom(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * Adds a torque at the center-of-mass of this rigid-body. + * + * # Parameters + * - `torque`: the torque to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + * @param {number} handle + * @param {number} torque + * @param {boolean} wakeUp + */ + rbAddTorque(handle, torque, wakeUp) { + wasm.rawrigidbodyset_rbAddTorque(this.__wbg_ptr, handle, torque, wakeUp); + } + /** + * @param {number} handle + * @param {boolean} enabled + */ + rbEnableCcd(handle, enabled) { + wasm.rawrigidbodyset_rbEnableCcd(this.__wbg_ptr, handle, enabled); + } + /** + * Is this rigid-body dynamic? + * @param {number} handle + * @returns {boolean} + */ + rbIsDynamic(handle) { + const ret = wasm.rawrigidbodyset_rbIsDynamic(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * @param {number} handle + * @returns {boolean} + */ + rbIsEnabled(handle) { + const ret = wasm.rawrigidbodyset_rbIsEnabled(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * Sets the angular velocity of this rigid-body. + * @param {number} handle + * @param {number} angvel + * @param {boolean} wakeUp + */ + rbSetAngvel(handle, angvel, wakeUp) { + wasm.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr, handle, angvel, wakeUp); + } + /** + * Sets the linear velocity of this rigid-body. + * @param {number} handle + * @param {RawVector} linvel + * @param {boolean} wakeUp + */ + rbSetLinvel(handle, linvel, wakeUp) { + _assertClass(linvel, RawVector); + wasm.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr, handle, linvel.__wbg_ptr, wakeUp); + } + /** + * Retrieves the constant force(s) the user added to this rigid-body. + * Returns zero if the rigid-body is not dynamic. + * @param {number} handle + * @returns {RawVector} + */ + rbUserForce(handle) { + const ret = wasm.rawrigidbodyset_rbUserForce(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * Is this rigid-body sleeping? + * @param {number} handle + * @returns {boolean} + */ + rbIsSleeping(handle) { + const ret = wasm.rawrigidbodyset_rbIsSleeping(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * @param {number} handle + * @param {boolean} enabled + */ + rbSetEnabled(handle, enabled) { + wasm.rawrigidbodyset_rbSetEnabled(this.__wbg_ptr, handle, enabled); + } + /** + * Retrieves the constant torque(s) the user added to this rigid-body. + * Returns zero if the rigid-body is not dynamic. + * @param {number} handle + * @returns {number} + */ + rbUserTorque(handle) { + const ret = wasm.rawrigidbodyset_rbUserTorque(this.__wbg_ptr, handle); + return ret; + } + /** + * Is this rigid-body kinematic? + * @param {number} handle + * @returns {boolean} + */ + rbIsKinematic(handle) { + const ret = wasm.rawrigidbodyset_rbIsKinematic(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * Resets to zero all user-added forces added to this rigid-body. + * @param {number} handle + * @param {boolean} wakeUp + */ + rbResetForces(handle, wakeUp) { + wasm.rawrigidbodyset_rbResetForces(this.__wbg_ptr, handle, wakeUp); + } + /** + * Set a new status for this rigid-body: fixed, dynamic, or kinematic. + * @param {number} handle + * @param {RawRigidBodyType} status + * @param {boolean} wake_up + */ + rbSetBodyType(handle, status, wake_up) { + wasm.rawrigidbodyset_rbSetBodyType(this.__wbg_ptr, handle, status, wake_up); + } + /** + * Sets the rotation angle of this rigid-body. + * + * # Parameters + * - `angle`: the rotation angle, in radians. + * - `wakeUp`: forces the rigid-body to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + * @param {number} handle + * @param {number} angle + * @param {boolean} wakeUp + */ + rbSetRotation(handle, angle, wakeUp) { + wasm.rawrigidbodyset_rbSetRotation(this.__wbg_ptr, handle, angle, wakeUp); + } + /** + * Sets the user-defined 32-bit integer of this rigid-body. + * + * # Parameters + * - `data`: an arbitrary user-defined 32-bit integer. + * @param {number} handle + * @param {number} data + */ + rbSetUserData(handle, data) { + wasm.rawrigidbodyset_rbSetUserData(this.__wbg_ptr, handle, data); + } + /** + * The world-space translation of this rigid-body. + * @param {number} handle + * @returns {RawVector} + */ + rbTranslation(handle) { + const ret = wasm.rawrigidbodyset_rbTranslation(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * Applies an impulse at the center-of-mass of this rigid-body. + * + * # Parameters + * - `impulse`: the world-space impulse to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + * @param {number} handle + * @param {RawVector} impulse + * @param {boolean} wakeUp + */ + rbApplyImpulse(handle, impulse, wakeUp) { + _assertClass(impulse, RawVector); + wasm.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr, handle, impulse.__wbg_ptr, wakeUp); + } + /** + * @param {number} handle + * @returns {number} + */ + rbGravityScale(handle) { + const ret = wasm.rawrigidbodyset_rbGravityScale(this.__wbg_ptr, handle); + return ret; + } + /** + * Is Continuous Collision Detection enabled for this rigid-body? + * @param {number} handle + * @returns {boolean} + */ + rbIsCcdEnabled(handle) { + const ret = wasm.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * The world-space predicted orientation of this rigid-body. + * + * If this rigid-body is kinematic this value is set by the `setNextKinematicRotation` + * method and is used for estimating the kinematic body velocity at the next timestep. + * For non-kinematic bodies, this value is currently unspecified. + * @param {number} handle + * @returns {RawRotation} + */ + rbNextRotation(handle) { + const ret = wasm.rawrigidbodyset_rbNextRotation(this.__wbg_ptr, handle); + return RawRotation.__wrap(ret); + } + /** + * The number of colliders attached to this rigid-body. + * @param {number} handle + * @returns {number} + */ + rbNumColliders(handle) { + const ret = wasm.rawrigidbodyset_rbNumColliders(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * Resets to zero all user-added torques added to this rigid-body. + * @param {number} handle + * @param {boolean} wakeUp + */ + rbResetTorques(handle, wakeUp) { + wasm.rawrigidbodyset_rbResetTorques(this.__wbg_ptr, handle, wakeUp); + } + /** + * The linear damping coefficient of this rigid-body. + * @param {number} handle + * @returns {number} + */ + rbLinearDamping(handle) { + const ret = wasm.rawrigidbodyset_rbLinearDamping(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle + * @param {boolean} locked + * @param {boolean} wake_up + */ + rbLockRotations(handle, locked, wake_up) { + wasm.rawrigidbodyset_rbLockRotations(this.__wbg_ptr, handle, locked, wake_up); + } + /** + * The angular damping coefficient of this rigid-body. + * @param {number} handle + * @returns {number} + */ + rbAngularDamping(handle) { + const ret = wasm.rawrigidbodyset_rbAngularDamping(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle + * @returns {number} + */ + rbDominanceGroup(handle) { + const ret = wasm.rawrigidbodyset_rbDominanceGroup(this.__wbg_ptr, handle); + return ret; + } + /** + * Sets the translation of this rigid-body. + * + * # Parameters + * - `x`: the world-space position of the rigid-body along the `x` axis. + * - `y`: the world-space position of the rigid-body along the `y` axis. + * - `wakeUp`: forces the rigid-body to wake-up so it is properly affected by forces if it + * wasn't moving before modifying its position. + * @param {number} handle + * @param {number} x + * @param {number} y + * @param {boolean} wakeUp + */ + rbSetTranslation(handle, x, y, wakeUp) { + wasm.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr, handle, x, y, wakeUp); + } + /** + * Adds a force at the given world-space point of this rigid-body. + * + * # Parameters + * - `force`: the world-space force to apply on the rigid-body. + * - `point`: the world-space point where the impulse is to be applied on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + * @param {number} handle + * @param {RawVector} force + * @param {RawVector} point + * @param {boolean} wakeUp + */ + rbAddForceAtPoint(handle, force, point, wakeUp) { + _assertClass(force, RawVector); + _assertClass(point, RawVector); + wasm.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr, handle, force.__wbg_ptr, point.__wbg_ptr, wakeUp); + } + /** + * The world-space predicted translation of this rigid-body. + * + * If this rigid-body is kinematic this value is set by the `setNextKinematicTranslation` + * method and is used for estimating the kinematic body velocity at the next timestep. + * For non-kinematic bodies, this value is currently unspecified. + * @param {number} handle + * @returns {RawVector} + */ + rbNextTranslation(handle) { + const ret = wasm.rawrigidbodyset_rbNextTranslation(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * @param {number} handle + * @param {number} factor + * @param {boolean} wakeUp + */ + rbSetGravityScale(handle, factor, wakeUp) { + wasm.rawrigidbodyset_rbSetGravityScale(this.__wbg_ptr, handle, factor, wakeUp); + } + /** + * The velocity of the given world-space point on this rigid-body. + * @param {number} handle + * @param {RawVector} point + * @returns {RawVector} + */ + rbVelocityAtPoint(handle, point) { + _assertClass(point, RawVector); + const ret = wasm.rawrigidbodyset_rbVelocityAtPoint(this.__wbg_ptr, handle, point.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * The inverse mass taking into account translation locking. + * @param {number} handle + * @returns {RawVector} + */ + rbEffectiveInvMass(handle) { + const ret = wasm.rawrigidbodyset_rbEffectiveInvMass(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * @param {number} handle + * @param {boolean} locked + * @param {boolean} wake_up + */ + rbLockTranslations(handle, locked, wake_up) { + wasm.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr, handle, locked, wake_up); + } + /** + * The angular inertia along the principal inertia axes of the rigid-body. + * @param {number} handle + * @returns {number} + */ + rbPrincipalInertia(handle) { + const ret = wasm.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle + * @param {number} factor + */ + rbSetLinearDamping(handle, factor) { + wasm.rawrigidbodyset_rbSetLinearDamping(this.__wbg_ptr, handle, factor); + } + /** + * @param {number} handle + * @param {number} mass + * @param {boolean} wake_up + */ + rbSetAdditionalMass(handle, mass, wake_up) { + wasm.rawrigidbodyset_rbSetAdditionalMass(this.__wbg_ptr, handle, mass, wake_up); + } + /** + * @param {number} handle + * @param {number} factor + */ + rbSetAngularDamping(handle, factor) { + wasm.rawrigidbodyset_rbSetAngularDamping(this.__wbg_ptr, handle, factor); + } + /** + * @param {number} handle + * @param {number} group + */ + rbSetDominanceGroup(handle, group) { + wasm.rawrigidbodyset_rbSetDominanceGroup(this.__wbg_ptr, handle, group); + } + /** + * @param {number} handle + * @returns {number} + */ + rbSoftCcdPrediction(handle) { + const ret = wasm.rawrigidbodyset_rbSoftCcdPrediction(this.__wbg_ptr, handle); + return ret; + } + /** + * Applies an impulsive torque at the center-of-mass of this rigid-body. + * + * # Parameters + * - `torque impulse`: the torque impulse to apply on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + * @param {number} handle + * @param {number} torque_impulse + * @param {boolean} wakeUp + */ + rbApplyTorqueImpulse(handle, torque_impulse, wakeUp) { + wasm.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr, handle, torque_impulse, wakeUp); + } + /** + * Applies an impulse at the given world-space point of this rigid-body. + * + * # Parameters + * - `impulse`: the world-space impulse to apply on the rigid-body. + * - `point`: the world-space point where the impulse is to be applied on the rigid-body. + * - `wakeUp`: should the rigid-body be automatically woken-up? + * @param {number} handle + * @param {RawVector} impulse + * @param {RawVector} point + * @param {boolean} wakeUp + */ + rbApplyImpulseAtPoint(handle, impulse, point, wakeUp) { + _assertClass(impulse, RawVector); + _assertClass(point, RawVector); + wasm.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr, handle, impulse.__wbg_ptr, point.__wbg_ptr, wakeUp); + } + /** + * The inverse of the principal angular inertia of the rigid-body. + * + * Components set to zero are assumed to be infinite along the corresponding principal axis. + * @param {number} handle + * @returns {number} + */ + rbInvPrincipalInertia(handle) { + const ret = wasm.rawrigidbodyset_rbInvPrincipalInertia(this.__wbg_ptr, handle); + return ret; + } + /** + * @param {number} handle + * @param {number} prediction + */ + rbSetSoftCcdPrediction(handle, prediction) { + wasm.rawrigidbodyset_rbSetSoftCcdPrediction(this.__wbg_ptr, handle, prediction); + } + /** + * @param {number} handle + * @param {boolean} allow_x + * @param {boolean} allow_y + * @param {boolean} wake_up + */ + rbSetEnabledTranslations(handle, allow_x, allow_y, wake_up) { + wasm.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr, handle, allow_x, allow_y, wake_up); + } + /** + * The effective world-space angular inertia (that takes the potential rotation locking into account) of + * this rigid-body. + * @param {number} handle + * @returns {number} + */ + rbEffectiveAngularInertia(handle) { + const ret = wasm.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr, handle); + return ret; + } + /** + * The world-space inverse angular inertia tensor of the rigid-body, + * taking into account rotation locking. + * @param {number} handle + * @returns {number} + */ + rbEffectiveWorldInvInertia(handle) { + const ret = wasm.rawrigidbodyset_rbEffectiveWorldInvInertia(this.__wbg_ptr, handle); + return ret; + } + /** + * If this rigid body is kinematic, sets its future rotation after the next timestep integration. + * + * This should be used instead of `rigidBody.setRotation` to make the dynamic object + * interacting with this kinematic body behave as expected. Internally, Rapier will compute + * an artificial velocity for this rigid-body from its current position and its next kinematic + * position. This velocity will be used to compute forces on dynamic bodies interacting with + * this body. + * + * # Parameters + * - `angle`: the rotation angle, in radians. + * @param {number} handle + * @param {number} angle + */ + rbSetNextKinematicRotation(handle, angle) { + wasm.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr, handle, angle); + } + /** + * @param {number} handle + * @returns {number} + */ + rbAdditionalSolverIterations(handle) { + const ret = wasm.rawrigidbodyset_rbAdditionalSolverIterations(this.__wbg_ptr, handle); + return ret >>> 0; + } + /** + * @param {number} handle + * @param {number} mass + * @param {RawVector} centerOfMass + * @param {number} principalAngularInertia + * @param {boolean} wake_up + */ + rbSetAdditionalMassProperties(handle, mass, centerOfMass, principalAngularInertia, wake_up) { + _assertClass(centerOfMass, RawVector); + wasm.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr, handle, mass, centerOfMass.__wbg_ptr, principalAngularInertia, wake_up); + } + /** + * If this rigid body is kinematic, sets its future translation after the next timestep integration. + * + * This should be used instead of `rigidBody.setTranslation` to make the dynamic object + * interacting with this kinematic body behave as expected. Internally, Rapier will compute + * an artificial velocity for this rigid-body from its current position and its next kinematic + * position. This velocity will be used to compute forces on dynamic bodies interacting with + * this body. + * + * # Parameters + * - `x`: the world-space position of the rigid-body along the `x` axis. + * - `y`: the world-space position of the rigid-body along the `y` axis. + * @param {number} handle + * @param {number} x + * @param {number} y + */ + rbSetNextKinematicTranslation(handle, x, y) { + wasm.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr, handle, x, y); + } + /** + * @param {number} handle + * @param {number} iters + */ + rbSetAdditionalSolverIterations(handle, iters) { + wasm.rawrigidbodyset_rbSetAdditionalSolverIterations(this.__wbg_ptr, handle, iters); + } + /** + * @param {number} handle + * @param {RawColliderSet} colliders + */ + rbRecomputeMassPropertiesFromColliders(handle, colliders) { + _assertClass(colliders, RawColliderSet); + wasm.rawrigidbodyset_rbRecomputeMassPropertiesFromColliders(this.__wbg_ptr, handle, colliders.__wbg_ptr); + } + /** + * The mass of this rigid-body. + * @param {number} handle + * @returns {number} + */ + rbMass(handle) { + const ret = wasm.rawrigidbodyset_rbMass(this.__wbg_ptr, handle); + return ret; + } + /** + * Put the given rigid-body to sleep. + * @param {number} handle + */ + rbSleep(handle) { + wasm.rawrigidbodyset_rbSleep(this.__wbg_ptr, handle); + } + /** + * The angular velocity of this rigid-body. + * @param {number} handle + * @returns {number} + */ + rbAngvel(handle) { + const ret = wasm.rawrigidbodyset_rbAngvel(this.__wbg_ptr, handle); + return ret; + } + /** + * The linear velocity of this rigid-body. + * @param {number} handle + * @returns {RawVector} + */ + rbLinvel(handle) { + const ret = wasm.rawrigidbodyset_rbLinvel(this.__wbg_ptr, handle); + return RawVector.__wrap(ret); + } + /** + * Wakes this rigid-body up. + * + * A dynamic rigid-body that does not move during several consecutive frames will + * be put to sleep by the physics engine, i.e., it will stop being simulated in order + * to avoid useless computations. + * This method forces a sleeping rigid-body to wake-up. This is useful, e.g., before modifying + * the position of a dynamic body so that it is properly simulated afterwards. + * @param {number} handle + */ + rbWakeUp(handle) { + wasm.rawrigidbodyset_rbWakeUp(this.__wbg_ptr, handle); + } + /** + * The inverse of the mass of a rigid-body. + * + * If this is zero, the rigid-body is assumed to have infinite mass. + * @param {number} handle + * @returns {number} + */ + rbInvMass(handle) { + const ret = wasm.rawrigidbodyset_rbInvMass(this.__wbg_ptr, handle); + return ret; + } + /** + * Is this rigid-body fixed? + * @param {number} handle + * @returns {boolean} + */ + rbIsFixed(handle) { + const ret = wasm.rawrigidbodyset_rbIsFixed(this.__wbg_ptr, handle); + return ret !== 0; + } + /** + * @param {boolean} enabled + * @param {RawVector} translation + * @param {RawRotation} rotation + * @param {number} gravityScale + * @param {number} mass + * @param {boolean} massOnly + * @param {RawVector} centerOfMass + * @param {RawVector} linvel + * @param {number} angvel + * @param {number} principalAngularInertia + * @param {boolean} translationEnabledX + * @param {boolean} translationEnabledY + * @param {boolean} rotationsEnabled + * @param {number} linearDamping + * @param {number} angularDamping + * @param {RawRigidBodyType} rb_type + * @param {boolean} canSleep + * @param {boolean} sleeping + * @param {number} softCcdPrediciton + * @param {boolean} ccdEnabled + * @param {number} dominanceGroup + * @param {number} additional_solver_iterations + * @returns {number} + */ + createRigidBody(enabled, translation, rotation, gravityScale, mass, massOnly, centerOfMass, linvel, angvel, principalAngularInertia, translationEnabledX, translationEnabledY, rotationsEnabled, linearDamping, angularDamping, rb_type, canSleep, sleeping, softCcdPrediciton, ccdEnabled, dominanceGroup, additional_solver_iterations) { + _assertClass(translation, RawVector); + _assertClass(rotation, RawRotation); + _assertClass(centerOfMass, RawVector); + _assertClass(linvel, RawVector); + const ret = wasm.rawrigidbodyset_createRigidBody(this.__wbg_ptr, enabled, translation.__wbg_ptr, rotation.__wbg_ptr, gravityScale, mass, massOnly, centerOfMass.__wbg_ptr, linvel.__wbg_ptr, angvel, principalAngularInertia, translationEnabledX, translationEnabledY, rotationsEnabled, linearDamping, angularDamping, rb_type, canSleep, sleeping, softCcdPrediciton, ccdEnabled, dominanceGroup, additional_solver_iterations); + return ret; + } + /** + * Applies the given JavaScript function to the integer handle of each rigid-body managed by this set. + * + * # Parameters + * - `f(handle)`: the function to apply to the integer handle of each rigid-body managed by this set. Called as `f(collider)`. + * @param {Function} f + */ + forEachRigidBodyHandle(f) { + try { + wasm.rawrigidbodyset_forEachRigidBodyHandle(this.__wbg_ptr, addBorrowedObject(f)); + } finally { + heap[stack_pointer++] = undefined; + } + } + /** + * The number of rigid-bodies on this set. + * @returns {number} + */ + len() { + const ret = wasm.rawrigidbodyset_len(this.__wbg_ptr); + return ret >>> 0; + } + constructor() { + const ret = wasm.rawrigidbodyset_new(); + this.__wbg_ptr = ret >>> 0; + RawRigidBodySetFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * @param {RawColliderSet} colliders + */ + propagateModifiedBodyPositionsToColliders(colliders) { + _assertClass(colliders, RawColliderSet); + wasm.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr, colliders.__wbg_ptr); + } + /** + * @param {number} handle + * @param {RawIslandManager} islands + * @param {RawColliderSet} colliders + * @param {RawImpulseJointSet} joints + * @param {RawMultibodyJointSet} articulations + */ + remove(handle, islands, colliders, joints, articulations) { + _assertClass(islands, RawIslandManager); + _assertClass(colliders, RawColliderSet); + _assertClass(joints, RawImpulseJointSet); + _assertClass(articulations, RawMultibodyJointSet); + wasm.rawrigidbodyset_remove(this.__wbg_ptr, handle, islands.__wbg_ptr, colliders.__wbg_ptr, joints.__wbg_ptr, articulations.__wbg_ptr); + } + /** + * Checks if a rigid-body with the given integer handle exists. + * @param {number} handle + * @returns {boolean} + */ + contains(handle) { + const ret = wasm.rawrigidbodyset_contains(this.__wbg_ptr, handle); + return ret !== 0; + } +} + +const RawRotationFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawrotation_free(ptr >>> 0, 1)); +/** + * A rotation quaternion. + */ +export class RawRotation { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawRotation.prototype); + obj.__wbg_ptr = ptr; + RawRotationFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawRotationFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawrotation_free(ptr, 0); + } + /** + * The imaginary part of this complex number. + * @returns {number} + */ + get im() { + const ret = wasm.rawkinematiccharactercontroller_offset(this.__wbg_ptr); + return ret; + } + /** + * The real part of this complex number. + * @returns {number} + */ + get re() { + const ret = wasm.rawintegrationparameters_dt(this.__wbg_ptr); + return ret; + } + /** + * The rotation angle in radians. + * @returns {number} + */ + get angle() { + const ret = wasm.rawrotation_angle(this.__wbg_ptr); + return ret; + } + /** + * The identity rotation. + * @returns {RawRotation} + */ + static identity() { + const ret = wasm.rawrotation_identity(); + return RawRotation.__wrap(ret); + } + /** + * The rotation with thegiven angle. + * @param {number} angle + * @returns {RawRotation} + */ + static fromAngle(angle) { + const ret = wasm.rawrotation_fromAngle(angle); + return RawRotation.__wrap(ret); + } +} + +const RawSerializationPipelineFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawserializationpipeline_free(ptr >>> 0, 1)); + +export class RawSerializationPipeline { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawSerializationPipelineFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawserializationpipeline_free(ptr, 0); + } + /** + * @param {RawVector} gravity + * @param {RawIntegrationParameters} integrationParameters + * @param {RawIslandManager} islands + * @param {RawBroadPhase} broadPhase + * @param {RawNarrowPhase} narrowPhase + * @param {RawRigidBodySet} bodies + * @param {RawColliderSet} colliders + * @param {RawImpulseJointSet} impulse_joints + * @param {RawMultibodyJointSet} multibody_joints + * @returns {Uint8Array | undefined} + */ + serializeAll(gravity, integrationParameters, islands, broadPhase, narrowPhase, bodies, colliders, impulse_joints, multibody_joints) { + _assertClass(gravity, RawVector); + _assertClass(integrationParameters, RawIntegrationParameters); + _assertClass(islands, RawIslandManager); + _assertClass(broadPhase, RawBroadPhase); + _assertClass(narrowPhase, RawNarrowPhase); + _assertClass(bodies, RawRigidBodySet); + _assertClass(colliders, RawColliderSet); + _assertClass(impulse_joints, RawImpulseJointSet); + _assertClass(multibody_joints, RawMultibodyJointSet); + const ret = wasm.rawserializationpipeline_serializeAll(this.__wbg_ptr, gravity.__wbg_ptr, integrationParameters.__wbg_ptr, islands.__wbg_ptr, broadPhase.__wbg_ptr, narrowPhase.__wbg_ptr, bodies.__wbg_ptr, colliders.__wbg_ptr, impulse_joints.__wbg_ptr, multibody_joints.__wbg_ptr); + return takeObject(ret); + } + /** + * @param {Uint8Array} data + * @returns {RawDeserializedWorld | undefined} + */ + deserializeAll(data) { + const ret = wasm.rawserializationpipeline_deserializeAll(this.__wbg_ptr, addHeapObject(data)); + return ret === 0 ? undefined : RawDeserializedWorld.__wrap(ret); + } + constructor() { + const ret = wasm.rawccdsolver_new(); + this.__wbg_ptr = ret >>> 0; + RawSerializationPipelineFinalization.register(this, this.__wbg_ptr, this); + return this; + } +} + +const RawShapeFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawshape_free(ptr >>> 0, 1)); + +export class RawShape { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawShape.prototype); + obj.__wbg_ptr = ptr; + RawShapeFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawShapeFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawshape_free(ptr, 0); + } + /** + * @param {Float32Array} points + * @returns {RawShape | undefined} + */ + static convexHull(points) { + const ptr0 = passArrayF32ToWasm0(points, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_convexHull(ptr0, len0); + return ret === 0 ? undefined : RawShape.__wrap(ret); + } + /** + * @param {Float32Array} heights + * @param {RawVector} scale + * @returns {RawShape} + */ + static heightfield(heights, scale) { + const ptr0 = passArrayF32ToWasm0(heights, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + _assertClass(scale, RawVector); + const ret = wasm.rawshape_heightfield(ptr0, len0, scale.__wbg_ptr); + return RawShape.__wrap(ret); + } + /** + * @param {number} hx + * @param {number} hy + * @param {number} borderRadius + * @returns {RawShape} + */ + static roundCuboid(hx, hy, borderRadius) { + const ret = wasm.rawshape_roundCuboid(hx, hy, borderRadius); + return RawShape.__wrap(ret); + } + /** + * @param {RawVector} shapePos1 + * @param {RawRotation} shapeRot1 + * @param {RawShape} shape2 + * @param {RawVector} shapePos2 + * @param {RawRotation} shapeRot2 + * @param {number} prediction + * @returns {RawShapeContact | undefined} + */ + contactShape(shapePos1, shapeRot1, shape2, shapePos2, shapeRot2, prediction) { + _assertClass(shapePos1, RawVector); + _assertClass(shapeRot1, RawRotation); + _assertClass(shape2, RawShape); + _assertClass(shapePos2, RawVector); + _assertClass(shapeRot2, RawRotation); + const ret = wasm.rawshape_contactShape(this.__wbg_ptr, shapePos1.__wbg_ptr, shapeRot1.__wbg_ptr, shape2.__wbg_ptr, shapePos2.__wbg_ptr, shapeRot2.__wbg_ptr, prediction); + return ret === 0 ? undefined : RawShapeContact.__wrap(ret); + } + /** + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawVector} point + * @param {boolean} solid + * @returns {RawPointProjection} + */ + projectPoint(shapePos, shapeRot, point, solid) { + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(point, RawVector); + const ret = wasm.rawshape_projectPoint(this.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, point.__wbg_ptr, solid); + return RawPointProjection.__wrap(ret); + } + /** + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawVector} point + * @returns {boolean} + */ + containsPoint(shapePos, shapeRot, point) { + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(point, RawVector); + const ret = wasm.rawshape_containsPoint(this.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, point.__wbg_ptr); + return ret !== 0; + } + /** + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @returns {boolean} + */ + intersectsRay(shapePos, shapeRot, rayOrig, rayDir, maxToi) { + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawshape_intersectsRay(this.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi); + return ret !== 0; + } + /** + * @param {RawVector} p1 + * @param {RawVector} p2 + * @param {RawVector} p3 + * @param {number} borderRadius + * @returns {RawShape} + */ + static roundTriangle(p1, p2, p3, borderRadius) { + _assertClass(p1, RawVector); + _assertClass(p2, RawVector); + _assertClass(p3, RawVector); + const ret = wasm.rawshape_roundTriangle(p1.__wbg_ptr, p2.__wbg_ptr, p3.__wbg_ptr, borderRadius); + return RawShape.__wrap(ret); + } + /** + * @param {Float32Array} vertices + * @returns {RawShape | undefined} + */ + static convexPolyline(vertices) { + const ptr0 = passArrayF32ToWasm0(vertices, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_convexPolyline(ptr0, len0); + return ret === 0 ? undefined : RawShape.__wrap(ret); + } + /** + * @param {RawVector} shapePos1 + * @param {RawRotation} shapeRot1 + * @param {RawShape} shape2 + * @param {RawVector} shapePos2 + * @param {RawRotation} shapeRot2 + * @returns {boolean} + */ + intersectsShape(shapePos1, shapeRot1, shape2, shapePos2, shapeRot2) { + _assertClass(shapePos1, RawVector); + _assertClass(shapeRot1, RawRotation); + _assertClass(shape2, RawShape); + _assertClass(shapePos2, RawVector); + _assertClass(shapeRot2, RawRotation); + const ret = wasm.rawshape_intersectsShape(this.__wbg_ptr, shapePos1.__wbg_ptr, shapeRot1.__wbg_ptr, shape2.__wbg_ptr, shapePos2.__wbg_ptr, shapeRot2.__wbg_ptr); + return ret !== 0; + } + /** + * @param {Float32Array} points + * @param {number} borderRadius + * @returns {RawShape | undefined} + */ + static roundConvexHull(points, borderRadius) { + const ptr0 = passArrayF32ToWasm0(points, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_roundConvexHull(ptr0, len0, borderRadius); + return ret === 0 ? undefined : RawShape.__wrap(ret); + } + /** + * @param {RawVector} voxel_size + * @param {Float32Array} points + * @returns {RawShape} + */ + static voxelsFromPoints(voxel_size, points) { + _assertClass(voxel_size, RawVector); + const ptr0 = passArrayF32ToWasm0(points, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_voxelsFromPoints(voxel_size.__wbg_ptr, ptr0, len0); + return RawShape.__wrap(ret); + } + /** + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @param {boolean} solid + * @returns {RawRayIntersection | undefined} + */ + castRayAndGetNormal(shapePos, shapeRot, rayOrig, rayDir, maxToi, solid) { + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawshape_castRayAndGetNormal(this.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi, solid); + return ret === 0 ? undefined : RawRayIntersection.__wrap(ret); + } + /** + * @param {Float32Array} vertices + * @param {number} borderRadius + * @returns {RawShape | undefined} + */ + static roundConvexPolyline(vertices, borderRadius) { + const ptr0 = passArrayF32ToWasm0(vertices, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_roundConvexPolyline(ptr0, len0, borderRadius); + return ret === 0 ? undefined : RawShape.__wrap(ret); + } + /** + * @param {number} radius + * @returns {RawShape} + */ + static ball(radius) { + const ret = wasm.rawshape_ball(radius); + return RawShape.__wrap(ret); + } + /** + * @param {number} hx + * @param {number} hy + * @returns {RawShape} + */ + static cuboid(hx, hy) { + const ret = wasm.rawshape_cuboid(hx, hy); + return RawShape.__wrap(ret); + } + /** + * @param {RawVector} voxel_size + * @param {Int32Array} grid_coords + * @returns {RawShape} + */ + static voxels(voxel_size, grid_coords) { + _assertClass(voxel_size, RawVector); + const ptr0 = passArray32ToWasm0(grid_coords, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_voxels(voxel_size.__wbg_ptr, ptr0, len0); + return RawShape.__wrap(ret); + } + /** + * @param {number} halfHeight + * @param {number} radius + * @returns {RawShape} + */ + static capsule(halfHeight, radius) { + const ret = wasm.rawshape_capsule(halfHeight, radius); + return RawShape.__wrap(ret); + } + /** + * @param {RawVector} shapePos + * @param {RawRotation} shapeRot + * @param {RawVector} rayOrig + * @param {RawVector} rayDir + * @param {number} maxToi + * @param {boolean} solid + * @returns {number} + */ + castRay(shapePos, shapeRot, rayOrig, rayDir, maxToi, solid) { + _assertClass(shapePos, RawVector); + _assertClass(shapeRot, RawRotation); + _assertClass(rayOrig, RawVector); + _assertClass(rayDir, RawVector); + const ret = wasm.rawshape_castRay(this.__wbg_ptr, shapePos.__wbg_ptr, shapeRot.__wbg_ptr, rayOrig.__wbg_ptr, rayDir.__wbg_ptr, maxToi, solid); + return ret; + } + /** + * @param {RawVector} p1 + * @param {RawVector} p2 + * @returns {RawShape} + */ + static segment(p1, p2) { + _assertClass(p1, RawVector); + _assertClass(p2, RawVector); + const ret = wasm.rawshape_segment(p1.__wbg_ptr, p2.__wbg_ptr); + return RawShape.__wrap(ret); + } + /** + * @param {Float32Array} vertices + * @param {Uint32Array} indices + * @param {number} flags + * @returns {RawShape | undefined} + */ + static trimesh(vertices, indices, flags) { + const ptr0 = passArrayF32ToWasm0(vertices, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passArray32ToWasm0(indices, wasm.__wbindgen_export_2); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_trimesh(ptr0, len0, ptr1, len1, flags); + return ret === 0 ? undefined : RawShape.__wrap(ret); + } + /** + * @param {Float32Array} vertices + * @param {Uint32Array} indices + * @returns {RawShape} + */ + static polyline(vertices, indices) { + const ptr0 = passArrayF32ToWasm0(vertices, wasm.__wbindgen_export_2); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passArray32ToWasm0(indices, wasm.__wbindgen_export_2); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.rawshape_polyline(ptr0, len0, ptr1, len1); + return RawShape.__wrap(ret); + } + /** + * @param {RawVector} p1 + * @param {RawVector} p2 + * @param {RawVector} p3 + * @returns {RawShape} + */ + static triangle(p1, p2, p3) { + _assertClass(p1, RawVector); + _assertClass(p2, RawVector); + _assertClass(p3, RawVector); + const ret = wasm.rawshape_triangle(p1.__wbg_ptr, p2.__wbg_ptr, p3.__wbg_ptr); + return RawShape.__wrap(ret); + } + /** + * @param {RawVector} shapePos1 + * @param {RawRotation} shapeRot1 + * @param {RawVector} shapeVel1 + * @param {RawShape} shape2 + * @param {RawVector} shapePos2 + * @param {RawRotation} shapeRot2 + * @param {RawVector} shapeVel2 + * @param {number} target_distance + * @param {number} maxToi + * @param {boolean} stop_at_penetration + * @returns {RawShapeCastHit | undefined} + */ + castShape(shapePos1, shapeRot1, shapeVel1, shape2, shapePos2, shapeRot2, shapeVel2, target_distance, maxToi, stop_at_penetration) { + _assertClass(shapePos1, RawVector); + _assertClass(shapeRot1, RawRotation); + _assertClass(shapeVel1, RawVector); + _assertClass(shape2, RawShape); + _assertClass(shapePos2, RawVector); + _assertClass(shapeRot2, RawRotation); + _assertClass(shapeVel2, RawVector); + const ret = wasm.rawshape_castShape(this.__wbg_ptr, shapePos1.__wbg_ptr, shapeRot1.__wbg_ptr, shapeVel1.__wbg_ptr, shape2.__wbg_ptr, shapePos2.__wbg_ptr, shapeRot2.__wbg_ptr, shapeVel2.__wbg_ptr, target_distance, maxToi, stop_at_penetration); + return ret === 0 ? undefined : RawShapeCastHit.__wrap(ret); + } + /** + * @param {RawVector} normal + * @returns {RawShape} + */ + static halfspace(normal) { + _assertClass(normal, RawVector); + const ret = wasm.rawshape_halfspace(normal.__wbg_ptr); + return RawShape.__wrap(ret); + } +} + +const RawShapeCastHitFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawshapecasthit_free(ptr >>> 0, 1)); + +export class RawShapeCastHit { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawShapeCastHit.prototype); + obj.__wbg_ptr = ptr; + RawShapeCastHitFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawShapeCastHitFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawshapecasthit_free(ptr, 0); + } + /** + * @returns {number} + */ + time_of_impact() { + const ret = wasm.rawintegrationparameters_dt(this.__wbg_ptr); + return ret; + } + /** + * @returns {RawVector} + */ + normal1() { + const ret = wasm.rawcollidershapecasthit_witness2(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + normal2() { + const ret = wasm.rawcollidershapecasthit_normal1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + witness1() { + const ret = wasm.rawshapecasthit_witness1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + witness2() { + const ret = wasm.rawcollidershapecasthit_witness1(this.__wbg_ptr); + return RawVector.__wrap(ret); + } +} + +const RawShapeContactFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawshapecontact_free(ptr >>> 0, 1)); + +export class RawShapeContact { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawShapeContact.prototype); + obj.__wbg_ptr = ptr; + RawShapeContactFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawShapeContactFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawshapecontact_free(ptr, 0); + } + /** + * @returns {RawVector} + */ + point1() { + const ret = wasm.rawpointprojection_point(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + point2() { + const ret = wasm.rawpointcolliderprojection_point(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + normal1() { + const ret = wasm.rawcontactforceevent_total_force(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {RawVector} + */ + normal2() { + const ret = wasm.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * @returns {number} + */ + distance() { + const ret = wasm.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr); + return ret; + } +} + +const RawVectorFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_rawvector_free(ptr >>> 0, 1)); +/** + * A vector. + */ +export class RawVector { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(RawVector.prototype); + obj.__wbg_ptr = ptr; + RawVectorFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + RawVectorFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_rawvector_free(ptr, 0); + } + /** + * The `x` component of this vector. + * @returns {number} + */ + get x() { + const ret = wasm.rawintegrationparameters_dt(this.__wbg_ptr); + return ret; + } + /** + * The `y` component of this vector. + * @returns {number} + */ + get y() { + const ret = wasm.rawkinematiccharactercontroller_offset(this.__wbg_ptr); + return ret; + } + /** + * Create a new 2D vector from this vector with its components rearranged as `{x, y}`. + * @returns {RawVector} + */ + xy() { + const ret = wasm.rawvector_xy(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * Create a new 2D vector from this vector with its components rearranged as `{y, x}`. + * @returns {RawVector} + */ + yx() { + const ret = wasm.rawvector_yx(this.__wbg_ptr); + return RawVector.__wrap(ret); + } + /** + * Creates a new 2D vector from its two components. + * + * # Parameters + * - `x`: the `x` component of this 2D vector. + * - `y`: the `y` component of this 2D vector. + * @param {number} x + * @param {number} y + */ + constructor(x, y) { + const ret = wasm.rawvector_new(x, y); + this.__wbg_ptr = ret >>> 0; + RawVectorFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * Creates a new vector filled with zeros. + * @returns {RawVector} + */ + static zero() { + const ret = wasm.rawvector_zero(); + return RawVector.__wrap(ret); + } + /** + * Sets the `x` component of this vector. + * @param {number} x + */ + set x(x) { + wasm.rawintegrationparameters_set_dt(this.__wbg_ptr, x); + } + /** + * Sets the `y` component of this vector. + * @param {number} y + */ + set y(y) { + wasm.rawvector_set_y(this.__wbg_ptr, y); + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_bind_c8359b1cba058168 = function(arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).bind(getObject(arg1), getObject(arg2), getObject(arg3)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_609cc3eee51ed158 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_672a4d21634d4a24 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_call_7cccdd69e0791ae2 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_call_833bed5770ea2041 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_call_b8adc8b1d0a0d8eb = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_length_3b4f022188ae8db6 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_length_a446193dc22c12f8 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_a12002a7f91c75be = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newnoargs_105ed471475aaf50 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_e6b7e69acd4c7354 = function(arg0, arg1, arg2) { + const ret = new Float32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithlength_5a5efe313cfd59f1 = function(arg0) { + const ret = new Float32Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = getObject(arg0).now(); + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = getObject(arg0).performance; + return addHeapObject(ret); + }; + imports.wbg.__wbg_rawcontactforceevent_new = function(arg0) { + const ret = RawContactForceEvent.__wrap(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_rawraycolliderintersection_new = function(arg0) { + const ret = RawRayColliderIntersection.__wrap(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_10bad9bee0e9c58b = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_set_65595bdd868b3009 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() { + const ret = typeof global === 'undefined' ? null : global; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() { + const ret = typeof globalThis === 'undefined' ? null : globalThis; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() { + const ret = typeof self === 'undefined' ? null : self; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() { + const ret = typeof window === 'undefined' ? null : window; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('rapier_wasm2d_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/packages/rapier2d/pkg/rapier_wasm2d_bg.wasm b/packages/rapier2d/pkg/rapier_wasm2d_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9c3912c9e75702f82ed85e7b7f5046d4b8d385dc GIT binary patch literal 1202309 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%0DSJkqm{_FQiaK#=XZx|2{2fM#A9-gK1|m zsGZP)bWoW%h$+zef|U4jY#7+L@?|hT<#~lE#s1b54WKH(Fe6^_^okdMKTZK+(1Z+* zhZMyJ(qEx6WZ$*immBq4#^KVAHBF^+36iH_hb7wG~K5~iM=qLU~}(F)6{_z z$_X&8z={K61?YQxn>_xa4oD#LYQ2Qq`Lv#Us(^Dq#_`YvI1;HHszpHgvAkhrpMvQo z0^%V}6p$ysCZZyXt75=Gf)I$%S4tY-dqXvDG2k=8FiY)EkpjafNAiR9K>1zBg1FfD zuU+Sq$Zm{4@W7QJDe=wIFujk(1-kE6@@h~J8XIU#qy-``=tU^#abZ9-^-B#Y7HC89 zSeOj}T-p!t3u6Z!&xS45@E^fd@!A)$#L8eGQ!KpFX9lnje-VkPN5x5< zC!m=#kjkXjO!~6Ri(t=`f`KzfO@OVyFAC0*Sqp?bLq7nu&kU0Bm#|QZb_DDu{Tg<- zC1^hdcx%DQqQHT#8k>ZFN(d|%-b-wPe=Ul&r+|+kHlZSu?(@LlDl+5whlLEvsZM$# zFL8*Dlv=UZaDm%<*1#_3-xR83xCrv^5xM}9}7UOY{SUlxYv;^8D$*7b-X zYYB@!T)VN%2g^99A(gK^@b1tI06AeP?gQKKqjaMbZ5cX_=k2p$kmz%;@-r@(AasfTwYrN5O4 zfG7zsy16h(>(J_Hcn03dF84&$6?)~Xx)R}WoD@J)HBZNU(DqL<1g(sraBva@KNkfA z0l@ky4#8=J6N{l)3uq`Tx;=`M6oJ#gw#;+FAl{gEg540@$a2AqDOEe%%j5wg_6KYUMSDVa8@#Ykhv3oY+&j%>S-T5#FAZIZ ztV~-N7`=Fa`v{fy^9qY_fn0|H_;MXYuKz37QMNouxlSC6u;!3B2sq*t#jt}mJ$~KP z!(XtiYt~L)lVAYwF{r(#AsGi~hwK1J4&qc0#M{D~`K07~d!a7h&9iWlOXJypZEFC2mI%wdl%C|cGAll^Xk9r}M9Y#6tL6Cz(*pGVnKI8ydsg@a4w&Fe%lZv}-98$*d zcNQw1G1=-m194B%I^4=}y&C%$m({S%;)1_qRe|yezkEg3X$N=L8K>}y>f?CrHPWMb zy*m8?URD>rpA{5wt;ut4SMlQ2Kp4vMh`WOB6(i*@p?a0{v8bjk;KF+vKYM`WRQ4D;}}0u?+?qwtf* z`}XkO9?Z$ai9sA^U3^g?1;+?W@oz2jJ%xN6K101>=<5L^YhTV=uFMO3tu+pt4&ypQ z{T^b7l&&>rL1Kdb7SD`A{3q{hZ;~9RO+pvm7z~RBa{QSvM6c-Sj^j{I!PFR#W-!%; z1FfF(2ydL8doX9Tf;S7m6Pb$lXiWPQPMZ(Iy-{=Ump;*>@<#DE#>)2J@R;^OM6?HN zUUb-(0gaLYjr!lzy?=0B$93oV?gb>mB8d0!iv$Uf?0X4HAPriuMUk*XS-7&qANpa* ziEJw|Z7~~7B7+={sBj!*BAbZKc$hII(*T$-31hX%Lki3s|gKY#2&Yv@6?JuDxj7 zzpAEzFBTFscxsh%{u)4bBs-%F3z`u#m9s4-14g|ZsS+ONz(k1dkaW00Zv)~ovp-7o0HV*^!;{(57Cw=Ek-H$V=*eJe2}iOy3mX}t6z>DsQ=|iN zx*pFlyQF1-j3*FF$oCZD$YeS|950IF6LGMXnsyXKrHZCXB_-_$@l-^F;`yxP#1DZC z#n;o8?v{`Aw_f&_)92P-TGP^B1JH>CUs>w6^aso`E)Uho5-dO&6ivqj&l;?*6!2Dr z;AJy>9V{09FBI1@eC6Albh^+^GM9%7(>CZ9Rvmh$0Fd!5V4;#T4v(tP#hR7M1-C;{C(mJRsnm(`=tAO<0)Q}vLmrP(G8j!xBdjitLd7e_D&bs`wYe=WfTG>;%; zqY6f|n;msCN93&?6a}g2Gpk+U5PofL5TbGevB6n4csTkAzUTuq-38{=>ay10{M~r` zebse*9e`g3^1FzF$t14;xH=4ONiQ;ex|ACLju6o?sVT<$cBTu#1Pstr7!++1+Uo+U zFj5Q{CJ=im;hperC6F31HlhVRxlgHu^Zhn80@ru?6+slr#Z03BNWh)t*kz&Fz1_c2#T}Y&Hg--y*-bk`O z;GSujuH^%|U0^GVLL1z#p=O6WtuR!-28zN^O;rR%R9*xn!lLJ@uyBmpDIj!)om%b$ zixTNnrbvm3oAL7KwC3_Ken9eJ5fju?ee`LD%f-Pv?-NhfrGaLb#HDzrdWBA1bgQ?$ zTU}MRN*u1T1;1B@C@cBc6MAo{JuWOz6W9$fV8+f5sPhBrJOExFZWb{LD1z2kv%8$zS&ztJ z`R7&A8?&+;hHQ$-+OUsC+yuZnea(Q)DUR*|9jLjR%UF2sL%U5?C8iGxAe^%w2t!=w zC*c_sxvV7{ta$^Rx)1nnAh{8NPQAZFu)mZ5OBHQ34?t8K*?@Ih1$9_Ky-Nzx5<^yD zs*sV#*JCMtq1Q^_u;xZuZ}kJ(^TxLcr_XbR9qe4KyT$=Vs{H$Q_#NKiYnSb?z|h)Z zu<0jtSnj7bGW_k36Bw!vLoD7#hiwL{w@KC8WB)yCw%xeP02lLmGixoqoh{#rXWLS} zSjGz}idU*PLsXHZ!QvtuTMx7CrJBvQ;v~x26~w+zHtoZeb89JNy2_Hu!CW8 z2fj6Wbc0owc3HJ3hIeoAlSFn`8TUuqLfCOv=zAReT4gI%7hH3-dO=cs{Q@!L`o$CL zm#|%n0ir20j9Cj0*{iw0o<5V5DG($EdikQvlzvC#WFj|$31Kgcpom^`V%gJ#!uXdGk!cFRTOVp zG9$jhZf@%U#IioHfwMDxuz!rBFdq#?uZFCO7UzaZl*##g(%kB4{MB`&7hJgn73o(T z5jIqacW9D(CFY&8*sWYwD}^;9SQkg%%M}?221e^Ci>Y-^@+1!V^il8U?LFW)N78mL zx)Doa-!AYCAq*%YViWpm1EoeQ5wKZ7ZHKJQ%$FM+Mz>o(Ch8$vf|aQ5P$20*PvaD7 zh^y*5TGbX37d01H{A||r80dRxuEtSPbPs9@wY;V!W38SVbT=0RIGkK~UONqA&9yGOeUT2gHLH@l#IK?>OcoSe=+!^=GDspll@eca{R<~ z1HP0w6Pp@GiP2G((kXSU7lHml=fS)mU9(6-K4QcHB_>0L8s`1i{fAAv=CiMq3W1Vh z4?6Xb^Z$Vo(#)IzEe!)s?$DP_EdONjm2WhPY z=?P25P1BV&X}H0=lXKqc8J zi#d|PW01sjafGIeBWy^9C!9|ts`D@);hgYfl6^^fSjYlsNrdAk4@_Nt!BV_nH9nU} z=hlxFBA3=}&Yru$eGr&@{7?N6?dRvqnSj?}Qc~g5`AdN`&+(k0^a10bg)X zIh(NkMnM!ihf;yhB+}%f6snzzRnd7(J*$Tqr~+n{O)aCWn0r?9YHCVK3>6WT5;-NF z0xKl0#1dAcPhbm?;7BhKtfhcXl$gjj(e!M?07w z;8MfKcSPfhr*G$AONtYx2Wf18k?=HM(9eoTZ8$Ft8{H5gI+-B#K`mwyqeG^LrP2NL zNzqTxAL|UyPoj>IGL@G1tAF}JDk9OQ9#=F)1yUA!@}22yV}`E?g5qo4)tmGaM;4K*pD~{hJ^Y)>N|m2vwXjY_v4+0r2R60 z^6DCYg-!teuSuNhAtG-Szoe>jPF}UR?v6Xin|kWSlCrA|D+jmtZTP>TDuO2(D%Ops z;|VHf!V?L4Wx^v_07a;e8F4tjl{pb??MuRtVvn@HeB)z zfQuzyNk9SJOA8>5`_UN+|2|$7K(jY$0Lq$dBGWLVKikzrd+N$lF%nZ8UM7Gj zfo#I$1~}b-hgC(4Ye7{)*HDJ{U@NPW2AIK4dp;S@k`OyfOTJ7&9MwyTm!pRWE81e< zHk*}M4Av9P7^)v8-vz1$kt8PcNgAx9wMesGag>~T3cZwP?R_{;bmkMaK;Qul&uxGK zyXU;F%;W_wN({1ye2KUT8S|hIL*)WLWE>~lL7YP3$bl3Qo#E!)!x^>CYq_e`AZx5M zk-c;t+E!K=>|17<(aYi(&Uw+whNi|`#DcbahQ4?}5bvTK`Yu*_6eKDIs=3*qtaB$d5g^qg|zZoQkXxiE4`+@P)roR@^@A- zQ2=9YlZJy1g?@}~@$`3DtTkZP@3z{#!b`YJD4_oQWE~uVLB~!KjwC&BqF_Z<_KpB7{ zc&x-0+0+Vckxi}K7THuqr!S{K9@Bw3dqi*H#3I}}tcF$stidAow0K@<;DZ#$Cuuy5 z=>oc1%Nxk6oz4o5b~MzWWGGZ87wr$0D+%w05P-4d2PYlf=M$#wQ13W{fF8ZGxEAll zI;R7kijl&mtuwbN!RyDX34wee+_`dDZ(YrOnO~LS__Vn2g+J%aOYtg!`AU1cnK^5N zsCA45qZltPl~kxI~H}5mmwwqjV-FVf91=;?WsGSj5_EvHKhcSO(>EibI3n%;wJ5glaInk{wK-2 zID06z_;kII2tNP3xJGJG7QQ*3Z>%JpQI$|_N-qU8dc2%~Mk2a8PjWhnoP&V&doG|+ z3Q_t(0=^)i%}YR|E*G&xn$<8yLM@_6&#Fn}Q>Q3cor*FW1JEwB%~J^_shti5Bt8|W z-cX==LxF&`Uj$WSI-wimpyrce$ zcQcT%8@9ptu{Z<9HM5vRLva!@HIR@<;5r4Nh~9+l3P-UNKvCu>uP{hdoy!?p5=7Zl zGANu!s>v%oQ6S?7W z#Or{XnkTR~iWJ6@gp%h-XQKa?l!O)>@)m&g8gLL;B~qKpF`b2qpd`|B1=D2usGYNC zL2;{{YK-ETF|Z;;%bFv?l|(zn4%T}#s0Z>J7*y%;vYT8%w@Juzr|3jMcmQp^Nv~#)Q-#{mm-kXaFRz+bP9Ha zxd=f6#$QanFwYgMHH{6my^?r!L`s}x*_HL76+r!(Lq=Xn`I?R4B%ydhiY4yV#O{Rw z5|fY)f(fZs9xPt`ZB{_D+JW)(se{OacAhJc-H#Kpp22d`s?c`vB`W}_O682IoKF|8 zw3IXUW6QxQIXhwOy0TCju~0`)#;lbyzb6S!9Q$)(o(OAY%rz6$<;6U)?p4@^dB8_I zs0rO-41c*es}%oMw{BvGKs0(It(hGvcK|>THK`rE8YC|{h%$+-K-q5*$bQRgyE3=! zTCJe6`?_9lA$zxi(QKD)bdaKxpex&{U?2+$8t6L-wr960n9OeLuu8X69~6l`vyDU} zcG=FOnPPIVTxe{{c#O9k4@V3SH-dUv-wh9qzH3Ns*(;MA(3$b6@Z&pWw zorkPT*?_XH=5-vk2p^I2$o8_NJcq}CGbsWVW0ulLwC8RoM(2e0wS(IE7Je4b3clYH zdqeu*qi>tYhl>{@==Ej9OOjRx;78;M`qG7@NkF9vx`jBuT)fhfH8!Fh?-*$Tv#w!f z(aN~I!#a_ThmA!v5flHkv3SE(@M|3XvdtY+$>64TSx0RTDr`UF@y>V< z6I R`u)yyqV5MP0Bo>JzX>#x4a73Iis62kN77Bx-_*&j-y_YRTBEu3baQwTROt}=R&U?_0xo{ zntd}%JPEXk@Yv^$tt7uqhR`FwK$;J+e{4TbMOksXI9{HgtU}mlE|+JF&flA|H<8WbTGUYk+sFqy{zd(z*Mvmm}l1-eFR(v(OPX zQA(R#npyu@6NX^adWWU3VmhK|lTM8%bZ``5I=SBPAhm?LQ_eRlif5dZJi4(UiHg=W z-L+TjR8$6B$Od&_x3YNSLOF^0Y06uAGnX-!T(kAM3jM51TV=R$Tqc!fg0m)UcGb*q z7~f~efb_w18VS2(iS=&GYgDJ4z!tS&yDv4gD6A^uQtk}vc5)Db! zpQvh*bwXX>+~5FNw_%le;`CDs+{GYPaA(Yu7BHjs>$Hi0ZLKIn-X~PXuu;Xx+0Zj| zr5$L%^v8hmP2(SyvbJB+Y^A-L#ah|CroTmVA9%9OR=aU12Z}AU8 z>(y=0U)_X0ZR-W0Zx%w2g3trfA(sfPR)EmlpO8}O+9JKB_L5iw!t;cx7w&Yej^V=a ztPQ#I6gt{)EWXbu*CgyEN^3Ty^-mn!334!_B4z%fbs8=(@qS?HiTM>q~fw4fAa#D2)~?5rBfX2^m< z$O_yy)>j;ZS18XjJG4i2^~RP>61N@Uvkho1*T>IPeUw1~%MSN#8H2}lZ#Lz$+icGR zm`Fi(X%;qlk*UU~nwSQ92OKQbt{q&v%Vk+X_Yxa9tocSvNAac>`p9V_hdRB|II-`c zVQDf8b~*)CZI$j&7sxR%#-2%YM|?6XRPnkBGs@WZStu=T0bmnE7WY^iqNY}H8=``w zsk69Yt!7MIWT7V%($46dRax+u`tnmUI?uLbU53%o`eCdNe6?_dWI4x%p}82Mv~)56w-hY{${7> z;o8b>04817Ka+$fnb|Je{rkw|wdZH%l7b>;uDMzfzxg(bugFE;fuxapO-CyDbOmL#F;D>Z6l`7|@RED`n0dm5XcTC3&X^5*a{@u!$=+$>uqY-Karj!85( zp%FI1%~_pp)d69z6iL|{U@X1rO_=`T;IMJRGGaKY`Kl2(ST^J19Bv=dh85HQoQu1k=*bNGAUx~ za+L z{A}zAe>vtTjwy1ar&XLd(lX*)8KL$U&*{yr#C>>Gl5GSIu}Gl1gL;c4BfQk9M*frH zxHnLGJw}Gb>*-X7S)SMO$%Cw^(uHLUe8D{qNFWKK56df z_HC6kb4^~qkE%?DH>rJ+;pf8-JC(UG4{m}v#mOnGOBtGhn&r>}$rw-qX(%+B@0QNs z`tWY!;mC76501!v;d;vqvsFg)&Q9a!I#_f@dUl8=`s01TYmy={fXoY@9+9gyEZ&L94=sQCoTJv z45b^9${kCkJoP+JljrGXp6@A-8KcV2OJs4R9gFznSd%odMs`eL0IUHbSV^9{5^rjZ zJ!puRfve$-*+MOcH{@}=ImbhZHsHn8&<2L8Jj?KwAA+I<{_oXr@|droxP`tw!chS=RApD(FL7DhN#3n9Dqt z=Ci8i4c=p8E;UoVx+E1o*2+|}e=#Wab9l`7=Xk0a}_0$(RBqNe$}EggHcUJx~wKCmNw zEKbQs)2Y@!6kNLm5Tw3+np!M!Og19yLS4ACebUu7D3>iRS@4H_&7%o&o6382G{Kz2 z?xTxaQnPDGWKFVh#RDLu%bf0-_XiRh=rwvZ<>TG9sDlQ3GI_XI;^*Jvn%_#)HW>|Brtw6 z|2QLoP{rU)=MU?7z2v72;peyrLXhdq9-?Gsa4vn%hOqu%KB5xycWJd7yoZxp@Hctm zAS!iK^OO)8Mxqj!jWtlHZV@QryQJEO7wODb!WUzmcS;Nry=&wx^nGexuNu@(S zU24 zl0o;-EyigO?UpxekSfZjf$C|rdK&S$4Z&HwU1V(#d%-gO_Uh@ylB5h4yROK9U0|65 z$ByOWYdlh_{wqtyq_O;pHEj9FX@~L=vy!EGus|ula>Ai}oNqp!K{7E0d$7RxuuK3! zZiNQNQOhsSHXrehy0p3%n_pjUKEBd?eC^6SuQ$K4YgE?rX7llf%_g#dF{H=_oB}gh zBh|*vPcw8QRd+FvA7m;?cV_%Gglb5;yvf~IX z;+j0l9HjJzWbn`CY&YAv1PwfH5Cj-sg3)X}1JZC4jjXSghWoQ0IH2X)@{`3{>I&sC z-|vIo$YdJ<9N`)Ir4ymH8Q47hDUy_rNB~;EFgp>6;%;mOjeMvl?U0wDG~6L&dqL@~ z#si45lpp%!DTXKMBMta@-#&INM2Q!^90j1_@*nYJ+p5TKXVO(1!bO>iw$~K;^C?t> zyfRKxc-D+i))X_!|K}(oNjr@W!dN+EX~;aO&S`AXFOz3T7xgA#wZ?}Lle!hef%?cN z97*3y0E68*#|wK2_F{$nP&y4sg8+eV%pV9d!oy=)Yk1ny@u+cF^0h)b$Y7qrjn|OW z?W~MzNRr+8>S6hwNbleStTk;J-ifM{CdxMEDV8pw1TOVqi<1>#wMjRLwe%f!JQ>aW%8G&Xcju6AJMgLjtSwnCfKfhI(nL zW`-AVF2!Au;e9rQiVG!3>hvQx{m7sg+QmvCD9lQ2$>7x^4FT-6`Hx{g@)`ee_!}*S zCcaH%>HF$Jiz3|7z%`JC_b7oNrtmb4m<}87fu60?J2T$2YwI-CUZP6T0wi~hVuN;* zWV>%8@iZZ-Qgj^71_7U}7wjUh23U+iNm4v{IJ-gQp4MYCP-1pijXxzUIvr=BgKFOf z!e$)Yqs4W##KFl}oZa?idBt@ClpDm~;Ni=+nFoa+BVu2U0HwyXQlwOAXGhImO^0-2 zeon>mmE6F4Pz#+fUe4HL{%!QOn=aeI0GWRi11ZO$P1#{~SB*pBq$QB(Q-`-!9j2QM z0t-*xM~yZ?)meFysov?Ryqr|;bg~bID!#`KZoRUD>z8(LL)k&~uB^+akNVisIRuZQ z!G`#-YfWh)5HoEdDA}D`XL;((2g%+iHKjBssq;XR%b5ZKm6V$7X`%d*(exk>s6ewd zjJ2NNO9!WM9VM;s8krgATrDTgk%9ISv{A5uuh@F734C9(oBGyM5YKQhGDG0=aL$}l zzB*shVevLVlpH*-VR84uwCiA< zZQX512MX)1W^4aXePINpuV$v#AWRG=>+g`%u6!KzY$M9nSDb9g7M9C4Drv>g{+>qxd;Tpm;d8h_TLlU*x)7>|_XoKv~h)CLUQbu|_qnj2D@yNe<2 zN1A1b?HVj=In1tV2~KhZ@4oO(5z6;CdJ@Af4UzqtXUV4yN?up%MFlE8cb(jaK>F4d z(xR9EyiR)3@=*$u7%SaLe01GOha`9DPGYRoCh<{GgQnSh{8$>q5;8L)`I z;S6{I$U%emAlg;U(;-}LK#?$?EnZ6mW@X3*S1P=dCcmcBbfOJyUuA};}z@zC2lj00F z^u|Kwn+do`pezLc?S|n{N0;P!AkIKi)Rgw3lqj3294{xXba;_az%ZQpC2PCF5d|||xVPvYIZthdG>Zct5;LBz?JF^D>>CpnL>k&TPHp7b)eQRd{8Wo}fN9hAAz z%el5jX7AE^*nv9hxnJVT&L+ z7{(MhByI`#A~T|e9P9$>2qz)n4(~AA+!TY@t z@SEP%27kqyIicoomQ%>?gJSnXT} zn`oYK(1|#TR2;T!64xn!2o-=c77Cc-@S5okvU1N*S%j`R@X=s!N`@Q@)HMr-#ok_a zclcNQevs~eBl}SJm;CP0ajD-==G2@PT-TdtJwaAltTP(4>h2eG=#2(&nkD;_Bz*9N z><{ehm%e{F2_JeP`$IeNrSCvv&kNZ%lJwI)3Bz~*wZ4=*56NZG3Ab{C%U+m2*MQJy z`1y5ewT^G0q~Pf7>BJ!{e>t2U1BujjUVzBl>`Dy-t@>&*tH#luKj4W5(uOb7CnCO~ zrq0nw8ex+=+!UAvr>@e72m)&eFwm(L8nWppH-x_S30I^>cDZ3tTOA23dX$R>i-~Dp zIHifEXbDS$Y<19Gf8<_(Q}K~qk1xf?xLajFVj#&fbZ)gm2-eZa`;oT=>5abpvt-%a01jh4J1GnmH=f2Uk9(iN<+f9 z53Q4wk+AO0Kd93sG%RA@mq4Mx0_K%C?>sEl zjka2`EQSiX2knxy5|Aj~9g@Pl@<4m|;HqSuTE)Suw}o92OSnoXd|%k#hO;Y~a%$G^ zg597uqM66mpt7ivJ19WglZr*d4M0J#dD$ zQ3tEJ-)F3t`Btf<+!D4Fm%ka`Sdd_eVJ{-jf+ibwY(!i{ky1^?Nf>X;=_lPA#rIq6 z3LsXlaO30EEPT933l=NqUv>{aeoO5?CLv{27UR&cP^V3hw^+?rQ+iItTTKncmGx*i zkW#~D921yU?t$<=20wqF>$>_mTcOonluisZ+z7uI8|W8#ZszOs=+E38td`l7F@=|y z$Op;A!+4f-Oi7iXqk<+UOH$U>v6K)dEJ>1+oGcBe$;qq_QE>CZc9n%qUQt+kQM%uN zvQ?P&9+wn`>}ATDb+BIOe$Y&??9;?Yf?ah#RIs-P98*NIMM=PDpo?qSaPf{j$|u(a zTQLv9(ow=86>x7^0K15>fQyptOsIRnw&FD&7vb~duDec}9@8pY5f3_W+r^TJT!=y0 zk1|vQhZs2mcGo-D*by{M>%i792a2?h64HCnL1@c|t~XT?I`_O64Fr-bjPJW(-V*u* zkl4M2fJD49^?^1pQ zSm={lEb7E(c8o0R3Cr43Tx!V*|Fuk3KaWmdip5fC7;Y2N-6q_NdJ{*JCtc4=HAnuQ zdS0m#IMmeC^Txxg)W}qlfQOz}+L4}CJujYEr03XX^=4Z7%$R{wnE>%TJ_I8i4w!386W!h^yy_3)|GvHVOuIP z`(&S2+ppr4;BRchl?ZLlifM&;p*HamQFN2*3yXuBYA<6%T!q*ui?)Jd8CHnZV>`Po zCFzUUQ_mK(&7Qa1IarZ!a_vfb%2Hg+g9w$;8ZT19w{^NpyU!5v<{g$8Z# zFpL<_--J0kEHZEyIbXLwbR0%!BIbhBWIgF3y zyDLQ8l&9jxv?!faEv7c<`|*AlHXm#UQp9;i5}Z+X=ITb9S-rib73A$O;Qz-PDE5 zeyJcW9nYPNICd&EW~qBF&&3^;YDm*|E*L%Ge)OaQ>7}y~#v&#S;SxGUHp%E9Pk490 zq8IHKv*<5`ZpmRysDEeb79oxf4CZnLKFo?Q7vPeD#W^V@6vgoijUKevu2kZ4L%REz zphPs8^wDgvR5qoW;zqQ)q(j#ly|TEhhJFv`2B>i7hh_{Tago|}hJ(kKq4S~-^fBLn zb6>?tn`N6iL&m7fO%;y7&D7a4XB&*rzpRC7gY^{No7QRn#wuYIvfZ6Q+36uVP@Fb+ z%v5hsrh3}oNsHHer;BSuY}4Y!di8jARrPobw@xv^>s{63i`Q0=3vBT)sWma(2#tg7w%B z7B$09Q^*_7mya9DwPNQ&g`Lg-<|;t;6}hdlrQ_d3Oyl#qwpR{-F~VX&<7qMveshFY zHr7e=M<)RuAAJ|hKNT_f1cu#g$W>j2)}vvcknD-!)1LvGbV^$aDvo>SbfzNTqyqDs zxNii0fotrF4oIZ!52xr(;?A-J4(4YHShkuoiF~7I%j#00Z`&AglK_^)6#8Ugc52`I zFMgmatQM>Ov#qgv)wM{(vYqLXQPw&c)0!ZkOPZ%LA>g{O#*BYoh5AYdZye0}mB{Bu zX$$#pkk^Plv8`87?y@pkoI5Xm1D(l@*r+oa85RWgw~#C;$ZUjS--7oo_+~{;>L%sk z4a%dwY4c^Bc0aG$?!AH3^I~AF<*K9v#>KLIc1s2gx%LoRaJ21U=#$!7*cL|ETJSN- zHi7-}ONJJMa7aoSLc3Cpu#wH#d$;_T@!lmZBca_9MOe#DO2?&vreK&A@S-7)NC9bp z=K-|VsP5n+cvmz@h?ygsK99fxSu~|8;jC19#1BamqvU*6@>xwVp83QAuS6&8d=06H zf)iLt`)G&Vf8uR{tpI(!E%brs*cMvAy9y_XwZ%V=NRgvxAmDAGbg~U8Lh*dA+QKuR z)D{vwW&VgsMU=ILg4JQ?w@^*FHqG1-4|b&4QKx#QG6_!J{ggWu;a(t0EdV0!1AX> z7scJdJY${JwDQ&B<207#wzSM;qR28=s|JrhfuAv(T(;Fx$S6ytFy$e;7bk% z9${l-P5>Sm8^a9P)oQ;X>3rkpJV?>h-UdH7B>&V75`DH%CGPC~)>|WMU0IL;2 zO;VKk%w&{V&c$;3c@2B#8gmwDyU>Vh#bh@rR)a3gr-zEeISK9EPU9srhp{|S zxYp8%_H#K)4RM9Ys7*_adS$6m+ER2?MiY(diLIY#jR84`h8EQsD5j|ti?=44vAd?_ zbm;H?>yLi)Z+;YwGdSb0G-~|HD9%d=c`lPNR>g!YYn3@sjJ?!+#Pq0a4BHY{RHCB} zODon%h^28lD6yn!lw@UxPQs)Cb{Ndcas)dCEJrZ!V|dIiq&lMlhkk2vCy}jnU>e-^ zzJ1C2IPWd>j{?P?2zfU<5lsGHty^bsgwXg~GEF}k^2f?UxYEOO{L;LVnj+p$_L?3Z zgnNc%DxU0pf}MUNuhrF2e#(qUtQpYl`Z-JS`pm@J>7Yq>dX9hc9g>NL-J0#(*eZ$#JdS?T2T;c05 z+$87eWSak~!Ub}O6&VuipWUm2T?6m`%lf~YnwL68$GqT9;2!4nY_23vB(t-p*n4Vj zj`_oL^Il*OL6R(qA0PK4%pm zGal1wcPRU9d&eI9eM*Og_~((av3vTb7QdKqkb(FYll*Q;|I^tKy*``dxkBjXUMGG3 zSg#MTCi^Br_NdpHeWH{knP@~;%yld!~^M@q{nl;omMD2(;)6QMoB+MCNr5f)mn`27M+SN5FqmhxxK@Uny0~U z>h7Z%veo8M2R?hkhhzcN6F%tbu_d+Y%#F26+OL+Xhl%&9hnw+e62So&N}`(O=u|8H zr2jJb&M~5wW%+HIZ7j~RP5+RQR$4%^+sq%yauBd?nZm2JTbjD9f8iKAVcs{7F4Vc- zVXLU2*(t6DJN<*8LwX-BG!FKpwG_FcosvhSDb40gH&SItWnK1;@BpAR zjtXn1N?^15G#8{&fSo0N4+$FuysXtE!zef_yMq!Z@6O>2bN8YIYX-`y)PPYXx*Gif zh_*(ss%B#fn?Qe!pllTY}}vs zCZOz!In7Fo;*nm<~Aj>2T&Y?0Z*fn5FBV&7LdYqSy#kS*O`B0&9b%S(t6n zoB&-2HLJlF(ch=-cp2&>wD`BcDd)GdxU+tdkTkO8;0dz~-R*>0fiGm@i@lu?HIZ0| z)#NQmEBTaX<~#q(n1jreA=?hm%sY>iAt%IWz$1wWan@1THxsNbQ9595hy|1>B&3hf zY9I>{a?4zXgl7}1GN}e)-I;&c>k{G4|4?;d1H(5S)darI%0iCP&Lr6%+XD)Yv+%C6 zK$KQNMDX_c#>=a+1!x_HA)PvL;iT~o?WTJbCbHS;CIt z?3?lN>xtg@CCeYma*r6v_;D1ZmV?3;e}M<5uHuMjJV{ox(_h(4tRsq9Ph# z@IO*B*>++b1Wu3)92E^w`z;x0Th0wbkLR=Z`iZ>ws{ywYPvF9X5kVdTKZF~PNV^8U z9m3d`*ZrC`gaJksjjwdXFsf6Aec4#0OJN6`1ZtIAGS>l`d2sxe2 z7Z}xrYE*eO@P`{YohrEd+X7}sL>T;|Ss@?XG?9X2K?M`s>Yzq^y5-&9`DwukwVF%{ zp%^j(42)MC=W8t0N``fgEIx2#h(jrbnGN>S$q65A4eE{UgId>dW*JFoT(N4ou^er< z2TULzLjfM!Ah?WAMr9*^I{bhzo>P;IWEYq7qwB^SS(Uzq{#29L0Yn$|6 zTNHHXdo-er--P5tB>4tyZZu^;?~@{Jhu+0M5UmdPd;49hu34u|1AWyfDXWc=s38k^ zQk-TC+R0(f$RRxIQhG@8t?A3rRy8)jfy(Fzx2n3__z z1LjC0%{zdmQ%Vfe>GtXa(@AIOwET*CIGR_8f0fn<+ASF0(wcUJ`+w4!40D<^Y`0Z3 zh4I>o&71Ep+}l3f+Jk8yZlslnqDz*)av9T>fXnqh-CQGJ3!Ciw?b=9R=U|T>X6ilZ z$$zBeGY}kwo}7}NP7aVn9=brLV?Kk+a-m9EX<`;#kYz9X{VpL-Wkt-15sR7$QrQd3 zCnGE19RtsWdKMHHD&!)vSghWvVfABq<(T`>rc*E_I>O{6a6&KusN0P|y-oas+leC{ zm!Vc5wj-dr^F;%U2#Bdm9C$Xp1XEkzf!LYUz)(T#i$4>HmB_#2>d3#N75Rm3+p7g) zS46cbr~k{(hsG6Xw{$+3PRKjfJ|U23BHAp04)I?!j9V5umTP%TX@Maa_7pHAakTCS zpX{ZHPbG8$!bXWEp7F4HoYJ;+x&uHQ$+$}`9~)HJ7JSuMX-~N&Jk?8rA^W~TZq1P zDQ!-&Ex9cOxPPg^8~+wHMc96qPE1hVc9l*zVFzx6c$1XmR31<0R$|=lT&AqQp{$kY z?ZrLOIXcQVZhDmNBCT!L+C7#|dEa&cNcBAhL#*cKt$UlTdz)U6fvP^@I8j$50hO(2 zAhd@6_`Y6l_7#g8+k$QDtMycc?TQ_pTIn5BN0)SPnF9Vs7%3cY$RI~z8)Gv@z(`T( zqP37t-s|JIm%eh;!q}G0fY=)^cy7{owSjZl+H8~yHcPB`j-vpfRat<0YtbI` zay?cNu|5M`i5D8hd{l_xx$?~|Sdou4{zk3c^qo+z@QJ})Qt2pp%WPv{5;b8?g>Iq< zOy89OO|$t%%zI2V3CKQM=@218=>O(i-)9sFzS~1zQ*|Aizq`Dw6DM~>4I(*dIDYxV zap@=ubTu})We;%!6Ibqbk}WWOs7zQk8d6aZc8ixMG`j~v)7lYAH|%HApygg?TwY~B zu^WNnS+8K&D;RE8@Jy_LbXG6~)e3}twhEX|gx&NlYS>I^faQT8uMJY^5PshlZqu+4 ztB(jKM3x#hT1|vDPnEjL>`FFeX4!vHN+H(i_5%2@s1Gzl-bIvMQXj3un$BL~^-1)y z5)rG9q$QHNUs5Eifn|2>T9w(gYsyS+)2h+)_5%2DQ6=bj8_c$=$zIh1Ibr;8wb<{;ScZ|6+K^gi0%5 zjgV!gGiWNqkjUVj4AlswAf_8aUsr|&$bWtdcnhEzWWL7nmyF8wXO$X^FZKqis=9A$ zdC9`|!`Y2tb5v|`jM8+wLG-q%S|g{FHC){>Nf97!oe(t~=a(NMomm8@ELHk_Wz&yteeSS0{W^^GJ_V@=|V#G=8P ztEyN`>Xqha)G7mPhPgz~<rue2LG=}K8{7;D< z3S(+4t&seUu8u=#4N3Z&6{5uB-1q>uCmlXLNCnfgx#DxE>hp zWX`Q;cy@BaX?@wGTGUJeE9v3sic}|5+N$>96{iQ2oETeA6_(ZB?}YVZ<(ee=%RqlS z;U5rAg!S5>|KaD{&*B)b2S!K-SmEewiDsT_je3^R z^yTq61{4%2^**eDE2+*$F&m~+{z$dF@k=dVWA=PW^I<|$C%LY;UKp(v$8D;Z*Cds~I zql-S!hWCj$`cGbEc+of%$rZyZ!sN)V8!k`LzjCyEcsbRO8ra2=MCOEd5Y>m7{Ikf> zt&YBB?O<6n%z$*+VLpG=VU9ir0C{tmzr!#;tzk|z%uk8-XqbTr0|=5c(%h7>Ttzab?3KtWSig&-@4=qD3z0Qvra;y|0F2o_< zf(=1F!H)0ak1~)qh6&wEffxd=6c7m@ z22vFfb2fG?|J|A_gk73E$ihP~DZDna^A>HV&3W(4m^u{Tn{;a2Y~w;F2oHt{wvJcd zXKw{8gjPTiRvD^&Ke0XKGFA!s|7q^f20a}kd9bmQ31vCY(W3gQCTl6JYCfe5g8VR< zAhZiU6QO7_5^ANJyxRW9UH}&fQcdCWtXHB&XxK<)>y>>T;N8}%)YmH% zmRhgC0lVd?Fi&YI@NQ{NE200`FvZS89K@WZn)Z4XxkK$BDDo;+DZ1$7Iq)2bwfBzJ zsdrzy!c~BoQ!&xMQ&9tJ1S4YMekmDU>Cev|z7O%eXa%ofIwQQ9jnZ5pxdg z8_%a=vs$$FG=#xcWQ*1w64hXYg7~OaojRpG;tpX)ij(F1(*!C`mUGJH=0f>~LPB$O zL1|67e)VA&d!e4dH$gb9k4P)@sT@b=PSVJor0v{E>f8wzT)HzeM!MC$@M;5XX^b&R ztww%~&rlQCY<_!&X$-Vw{-|+Rf;Fo6bV`3gQiRdGJP@{V6l`s>;Xxj;}=vh zhJCt=u`R2#@Bo_tZTPHal?*#`PKfq)M?oxn#s7+vk0=sx?Z%4xwcP;*YkS4-T#0^Q zk8mfpw!LJrb2PJr-m=U?1yU{ZO1u=NtShzzd32 zoi8_5eB!Ps1Wa8O4Cv2%3jO~B45L>E!{|~lOrWPl2H~zq2=t1>I)b5?tiUS;%rOtT zv7m0)2shzj$={Ux4ugDEK8LlK z1SCEuayF44id+v3q$(22GRX*(X>+JiiVwchN@HM1B?1I3t%yuL5}A4=G7bw?!S+d3 z7iG{I~GD;lq8R$ZCDS5_82YmG^4IL^ru^qgM�@%_8fRN-qJu`)(4e> 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%0D1EI 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

$e^}=oohooa5)t@s{wY}tzv?KJi7Ky$ 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 %Ut{aIrO}L%A~dr7nm~F>ORnEPa0r>? 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 void; +export const __wbg_rawccdsolver_free: (a: number, b: number) => void; +export const __wbg_rawcharactercollision_free: (a: number, b: number) => void; +export const __wbg_rawcolliderset_free: (a: number, b: number) => void; +export const __wbg_rawcollidershapecasthit_free: (a: number, b: number) => void; +export const __wbg_rawcontactforceevent_free: (a: number, b: number) => void; +export const __wbg_rawcontactmanifold_free: (a: number, b: number) => void; +export const __wbg_rawdebugrenderpipeline_free: (a: number, b: number) => void; +export const __wbg_rawdeserializedworld_free: (a: number, b: number) => void; +export const __wbg_raweventqueue_free: (a: number, b: number) => void; +export const __wbg_rawgenericjoint_free: (a: number, b: number) => void; +export const __wbg_rawimpulsejointset_free: (a: number, b: number) => void; +export const __wbg_rawintegrationparameters_free: (a: number, b: number) => void; +export const __wbg_rawislandmanager_free: (a: number, b: number) => void; +export const __wbg_rawkinematiccharactercontroller_free: (a: number, b: number) => void; +export const __wbg_rawmultibodyjointset_free: (a: number, b: number) => void; +export const __wbg_rawnarrowphase_free: (a: number, b: number) => void; +export const __wbg_rawphysicspipeline_free: (a: number, b: number) => void; +export const __wbg_rawpidcontroller_free: (a: number, b: number) => void; +export const __wbg_rawpointcolliderprojection_free: (a: number, b: number) => void; +export const __wbg_rawpointprojection_free: (a: number, b: number) => void; +export const __wbg_rawrayintersection_free: (a: number, b: number) => void; +export const __wbg_rawrigidbodyset_free: (a: number, b: number) => void; +export const __wbg_rawrotation_free: (a: number, b: number) => void; +export const __wbg_rawshape_free: (a: number, b: number) => void; +export const __wbg_rawshapecontact_free: (a: number, b: number) => void; +export const __wbg_rawvector_free: (a: number, b: number) => void; +export const rawbroadphase_castRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => number; +export const rawbroadphase_castRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => number; +export const rawbroadphase_castShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number) => number; +export const rawbroadphase_collidersWithAabbIntersectingAabb: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; +export const rawbroadphase_intersectionWithShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; +export const rawbroadphase_intersectionsWithPoint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void; +export const rawbroadphase_intersectionsWithRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void; +export const rawbroadphase_intersectionsWithShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; +export const rawbroadphase_new: () => number; +export const rawbroadphase_projectPoint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => number; +export const rawbroadphase_projectPointAndGetFeature: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number; +export const rawcharactercollision_handle: (a: number) => number; +export const rawcharactercollision_new: () => number; +export const rawcharactercollision_toi: (a: number) => number; +export const rawcharactercollision_translationDeltaApplied: (a: number) => number; +export const rawcharactercollision_translationDeltaRemaining: (a: number) => number; +export const rawcharactercollision_worldNormal1: (a: number) => number; +export const rawcharactercollision_worldNormal2: (a: number) => number; +export const rawcharactercollision_worldWitness1: (a: number) => number; +export const rawcharactercollision_worldWitness2: (a: number) => number; +export const rawcolliderset_coActiveCollisionTypes: (a: number, b: number) => number; +export const rawcolliderset_coActiveEvents: (a: number, b: number) => number; +export const rawcolliderset_coActiveHooks: (a: number, b: number) => number; +export const rawcolliderset_coCastCollider: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number; +export const rawcolliderset_coCastRay: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawcolliderset_coCastRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawcolliderset_coCastShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; +export const rawcolliderset_coCollisionGroups: (a: number, b: number) => number; +export const rawcolliderset_coCombineVoxelStates: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawcolliderset_coContactCollider: (a: number, b: number, c: number, d: number) => number; +export const rawcolliderset_coContactForceEventThreshold: (a: number, b: number) => number; +export const rawcolliderset_coContactShape: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawcolliderset_coContactSkin: (a: number, b: number) => number; +export const rawcolliderset_coContainsPoint: (a: number, b: number, c: number) => number; +export const rawcolliderset_coDensity: (a: number, b: number) => number; +export const rawcolliderset_coFriction: (a: number, b: number) => number; +export const rawcolliderset_coFrictionCombineRule: (a: number, b: number) => number; +export const rawcolliderset_coHalfExtents: (a: number, b: number) => number; +export const rawcolliderset_coHalfHeight: (a: number, b: number) => number; +export const rawcolliderset_coHalfspaceNormal: (a: number, b: number) => number; +export const rawcolliderset_coHeightfieldHeights: (a: number, b: number, c: number) => void; +export const rawcolliderset_coHeightfieldScale: (a: number, b: number) => number; +export const rawcolliderset_coIndices: (a: number, b: number, c: number) => void; +export const rawcolliderset_coIntersectsRay: (a: number, b: number, c: number, d: number, e: number) => number; +export const rawcolliderset_coIntersectsShape: (a: number, b: number, c: number, d: number, e: number) => number; +export const rawcolliderset_coIsEnabled: (a: number, b: number) => number; +export const rawcolliderset_coIsSensor: (a: number, b: number) => number; +export const rawcolliderset_coMass: (a: number, b: number) => number; +export const rawcolliderset_coParent: (a: number, b: number, c: number) => void; +export const rawcolliderset_coProjectPoint: (a: number, b: number, c: number, d: number) => number; +export const rawcolliderset_coPropagateVoxelChange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; +export const rawcolliderset_coRadius: (a: number, b: number) => number; +export const rawcolliderset_coRestitution: (a: number, b: number) => number; +export const rawcolliderset_coRestitutionCombineRule: (a: number, b: number) => number; +export const rawcolliderset_coRotation: (a: number, b: number) => number; +export const rawcolliderset_coRotationWrtParent: (a: number, b: number) => number; +export const rawcolliderset_coRoundRadius: (a: number, b: number) => number; +export const rawcolliderset_coSetActiveCollisionTypes: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetActiveEvents: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetActiveHooks: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetCollisionGroups: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetContactForceEventThreshold: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetContactSkin: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetDensity: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetEnabled: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetFriction: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetFrictionCombineRule: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetHalfExtents: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetHalfHeight: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetMass: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetMassProperties: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawcolliderset_coSetRadius: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetRestitution: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetRestitutionCombineRule: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetRotation: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetRotationWrtParent: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetRoundRadius: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetSensor: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetShape: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetSolverGroups: (a: number, b: number, c: number) => void; +export const rawcolliderset_coSetTranslation: (a: number, b: number, c: number, d: number) => void; +export const rawcolliderset_coSetTranslationWrtParent: (a: number, b: number, c: number, d: number) => void; +export const rawcolliderset_coSetVoxel: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawcolliderset_coShapeType: (a: number, b: number) => number; +export const rawcolliderset_coSolverGroups: (a: number, b: number) => number; +export const rawcolliderset_coTranslation: (a: number, b: number) => number; +export const rawcolliderset_coTranslationWrtParent: (a: number, b: number) => number; +export const rawcolliderset_coTriMeshFlags: (a: number, b: number) => number; +export const rawcolliderset_coVertices: (a: number, b: number, c: number) => void; +export const rawcolliderset_coVolume: (a: number, b: number) => number; +export const rawcolliderset_coVoxelData: (a: number, b: number, c: number) => void; +export const rawcolliderset_coVoxelSize: (a: number, b: number) => number; +export const rawcolliderset_contains: (a: number, b: number) => number; +export const rawcolliderset_createCollider: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number) => void; +export const rawcolliderset_forEachColliderHandle: (a: number, b: number) => void; +export const rawcolliderset_len: (a: number) => number; +export const rawcolliderset_new: () => number; +export const rawcolliderset_remove: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawcollidershapecasthit_colliderHandle: (a: number) => number; +export const rawcollidershapecasthit_normal1: (a: number) => number; +export const rawcollidershapecasthit_normal2: (a: number) => number; +export const rawcollidershapecasthit_time_of_impact: (a: number) => number; +export const rawcollidershapecasthit_witness1: (a: number) => number; +export const rawcollidershapecasthit_witness2: (a: number) => number; +export const rawcontactforceevent_collider2: (a: number) => number; +export const rawcontactforceevent_max_force_magnitude: (a: number) => number; +export const rawcontactforceevent_total_force: (a: number) => number; +export const rawcontactforceevent_total_force_magnitude: (a: number) => number; +export const rawcontactmanifold_contact_dist: (a: number, b: number) => number; +export const rawcontactmanifold_contact_fid1: (a: number, b: number) => number; +export const rawcontactmanifold_contact_fid2: (a: number, b: number) => number; +export const rawcontactmanifold_contact_impulse: (a: number, b: number) => number; +export const rawcontactmanifold_contact_local_p1: (a: number, b: number) => number; +export const rawcontactmanifold_contact_local_p2: (a: number, b: number) => number; +export const rawcontactmanifold_contact_tangent_impulse: (a: number, b: number) => number; +export const rawcontactmanifold_local_n1: (a: number) => number; +export const rawcontactmanifold_local_n2: (a: number) => number; +export const rawcontactmanifold_normal: (a: number) => number; +export const rawcontactmanifold_num_contacts: (a: number) => number; +export const rawcontactmanifold_num_solver_contacts: (a: number) => number; +export const rawcontactmanifold_solver_contact_dist: (a: number, b: number) => number; +export const rawcontactmanifold_solver_contact_friction: (a: number, b: number) => number; +export const rawcontactmanifold_solver_contact_point: (a: number, b: number) => number; +export const rawcontactmanifold_solver_contact_restitution: (a: number, b: number) => number; +export const rawcontactmanifold_solver_contact_tangent_velocity: (a: number, b: number) => number; +export const rawcontactmanifold_subshape1: (a: number) => number; +export const rawcontactmanifold_subshape2: (a: number) => number; +export const rawcontactpair_collider1: (a: number) => number; +export const rawcontactpair_collider2: (a: number) => number; +export const rawcontactpair_contactManifold: (a: number, b: number) => number; +export const rawcontactpair_numContactManifolds: (a: number) => number; +export const rawdebugrenderpipeline_colors: (a: number) => number; +export const rawdebugrenderpipeline_new: () => number; +export const rawdebugrenderpipeline_render: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void; +export const rawdebugrenderpipeline_vertices: (a: number) => number; +export const rawdeserializedworld_takeBodies: (a: number) => number; +export const rawdeserializedworld_takeBroadPhase: (a: number) => number; +export const rawdeserializedworld_takeColliders: (a: number) => number; +export const rawdeserializedworld_takeGravity: (a: number) => number; +export const rawdeserializedworld_takeImpulseJoints: (a: number) => number; +export const rawdeserializedworld_takeIntegrationParameters: (a: number) => number; +export const rawdeserializedworld_takeIslandManager: (a: number) => number; +export const rawdeserializedworld_takeMultibodyJoints: (a: number) => number; +export const rawdeserializedworld_takeNarrowPhase: (a: number) => number; +export const raweventqueue_clear: (a: number) => void; +export const raweventqueue_drainCollisionEvents: (a: number, b: number) => void; +export const raweventqueue_drainContactForceEvents: (a: number, b: number) => void; +export const raweventqueue_new: (a: number) => number; +export const rawgenericjoint_fixed: (a: number, b: number, c: number, d: number) => number; +export const rawgenericjoint_prismatic: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawgenericjoint_revolute: (a: number, b: number) => number; +export const rawgenericjoint_rope: (a: number, b: number, c: number) => number; +export const rawgenericjoint_spring: (a: number, b: number, c: number, d: number, e: number) => number; +export const rawimpulsejointset_contains: (a: number, b: number) => number; +export const rawimpulsejointset_createJoint: (a: number, b: number, c: number, d: number, e: number) => number; +export const rawimpulsejointset_forEachJointAttachedToRigidBody: (a: number, b: number, c: number) => void; +export const rawimpulsejointset_forEachJointHandle: (a: number, b: number) => void; +export const rawimpulsejointset_jointAnchor1: (a: number, b: number) => number; +export const rawimpulsejointset_jointAnchor2: (a: number, b: number) => number; +export const rawimpulsejointset_jointBodyHandle1: (a: number, b: number) => number; +export const rawimpulsejointset_jointBodyHandle2: (a: number, b: number) => number; +export const rawimpulsejointset_jointConfigureMotor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; +export const rawimpulsejointset_jointConfigureMotorModel: (a: number, b: number, c: number, d: number) => void; +export const rawimpulsejointset_jointConfigureMotorPosition: (a: number, b: number, c: number, d: number, e: number, f: number) => void; +export const rawimpulsejointset_jointConfigureMotorVelocity: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawimpulsejointset_jointContactsEnabled: (a: number, b: number) => number; +export const rawimpulsejointset_jointFrameX1: (a: number, b: number) => number; +export const rawimpulsejointset_jointFrameX2: (a: number, b: number) => number; +export const rawimpulsejointset_jointLimitsEnabled: (a: number, b: number, c: number) => number; +export const rawimpulsejointset_jointLimitsMax: (a: number, b: number, c: number) => number; +export const rawimpulsejointset_jointLimitsMin: (a: number, b: number, c: number) => number; +export const rawimpulsejointset_jointSetAnchor1: (a: number, b: number, c: number) => void; +export const rawimpulsejointset_jointSetAnchor2: (a: number, b: number, c: number) => void; +export const rawimpulsejointset_jointSetContactsEnabled: (a: number, b: number, c: number) => void; +export const rawimpulsejointset_jointSetLimits: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawimpulsejointset_jointType: (a: number, b: number) => number; +export const rawimpulsejointset_len: (a: number) => number; +export const rawimpulsejointset_new: () => number; +export const rawimpulsejointset_remove: (a: number, b: number, c: number) => void; +export const rawintegrationparameters_contact_erp: (a: number) => number; +export const rawintegrationparameters_dt: (a: number) => number; +export const rawintegrationparameters_lengthUnit: (a: number) => number; +export const rawintegrationparameters_maxCcdSubsteps: (a: number) => number; +export const rawintegrationparameters_minIslandSize: (a: number) => number; +export const rawintegrationparameters_new: () => number; +export const rawintegrationparameters_numInternalPgsIterations: (a: number) => number; +export const rawintegrationparameters_numSolverIterations: (a: number) => number; +export const rawintegrationparameters_set_contact_natural_frequency: (a: number, b: number) => void; +export const rawintegrationparameters_set_dt: (a: number, b: number) => void; +export const rawintegrationparameters_set_lengthUnit: (a: number, b: number) => void; +export const rawintegrationparameters_set_maxCcdSubsteps: (a: number, b: number) => void; +export const rawintegrationparameters_set_minIslandSize: (a: number, b: number) => void; +export const rawintegrationparameters_set_normalizedAllowedLinearError: (a: number, b: number) => void; +export const rawintegrationparameters_set_normalizedPredictionDistance: (a: number, b: number) => void; +export const rawintegrationparameters_set_numInternalPgsIterations: (a: number, b: number) => void; +export const rawintegrationparameters_set_numSolverIterations: (a: number, b: number) => void; +export const rawislandmanager_forEachActiveRigidBodyHandle: (a: number, b: number) => void; +export const rawislandmanager_new: () => number; +export const rawkinematiccharactercontroller_autostepEnabled: (a: number) => number; +export const rawkinematiccharactercontroller_autostepIncludesDynamicBodies: (a: number) => number; +export const rawkinematiccharactercontroller_autostepMaxHeight: (a: number) => number; +export const rawkinematiccharactercontroller_autostepMinWidth: (a: number) => number; +export const rawkinematiccharactercontroller_computeColliderMovement: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void; +export const rawkinematiccharactercontroller_computedCollision: (a: number, b: number, c: number) => number; +export const rawkinematiccharactercontroller_computedGrounded: (a: number) => number; +export const rawkinematiccharactercontroller_computedMovement: (a: number) => number; +export const rawkinematiccharactercontroller_disableAutostep: (a: number) => void; +export const rawkinematiccharactercontroller_disableSnapToGround: (a: number) => void; +export const rawkinematiccharactercontroller_enableAutostep: (a: number, b: number, c: number, d: number) => void; +export const rawkinematiccharactercontroller_enableSnapToGround: (a: number, b: number) => void; +export const rawkinematiccharactercontroller_maxSlopeClimbAngle: (a: number) => number; +export const rawkinematiccharactercontroller_minSlopeSlideAngle: (a: number) => number; +export const rawkinematiccharactercontroller_new: (a: number) => number; +export const rawkinematiccharactercontroller_normalNudgeFactor: (a: number) => number; +export const rawkinematiccharactercontroller_numComputedCollisions: (a: number) => number; +export const rawkinematiccharactercontroller_offset: (a: number) => number; +export const rawkinematiccharactercontroller_setMaxSlopeClimbAngle: (a: number, b: number) => void; +export const rawkinematiccharactercontroller_setMinSlopeSlideAngle: (a: number, b: number) => void; +export const rawkinematiccharactercontroller_setNormalNudgeFactor: (a: number, b: number) => void; +export const rawkinematiccharactercontroller_setOffset: (a: number, b: number) => void; +export const rawkinematiccharactercontroller_setSlideEnabled: (a: number, b: number) => void; +export const rawkinematiccharactercontroller_setUp: (a: number, b: number) => void; +export const rawkinematiccharactercontroller_slideEnabled: (a: number) => number; +export const rawkinematiccharactercontroller_snapToGroundDistance: (a: number) => number; +export const rawkinematiccharactercontroller_snapToGroundEnabled: (a: number) => number; +export const rawmultibodyjointset_contains: (a: number, b: number) => number; +export const rawmultibodyjointset_createJoint: (a: number, b: number, c: number, d: number, e: number) => number; +export const rawmultibodyjointset_forEachJointAttachedToRigidBody: (a: number, b: number, c: number) => void; +export const rawmultibodyjointset_forEachJointHandle: (a: number, b: number) => void; +export const rawmultibodyjointset_jointAnchor1: (a: number, b: number) => number; +export const rawmultibodyjointset_jointAnchor2: (a: number, b: number) => number; +export const rawmultibodyjointset_jointContactsEnabled: (a: number, b: number) => number; +export const rawmultibodyjointset_jointFrameX1: (a: number, b: number) => number; +export const rawmultibodyjointset_jointFrameX2: (a: number, b: number) => number; +export const rawmultibodyjointset_jointLimitsEnabled: (a: number, b: number, c: number) => number; +export const rawmultibodyjointset_jointLimitsMax: (a: number, b: number, c: number) => number; +export const rawmultibodyjointset_jointLimitsMin: (a: number, b: number, c: number) => number; +export const rawmultibodyjointset_jointSetContactsEnabled: (a: number, b: number, c: number) => void; +export const rawmultibodyjointset_jointType: (a: number, b: number) => number; +export const rawmultibodyjointset_new: () => number; +export const rawmultibodyjointset_remove: (a: number, b: number, c: number) => void; +export const rawnarrowphase_contact_pair: (a: number, b: number, c: number) => number; +export const rawnarrowphase_contact_pairs_with: (a: number, b: number, c: number) => void; +export const rawnarrowphase_intersection_pair: (a: number, b: number, c: number) => number; +export const rawnarrowphase_intersection_pairs_with: (a: number, b: number, c: number) => void; +export const rawnarrowphase_new: () => number; +export const rawphysicspipeline_is_profiler_enabled: (a: number) => number; +export const rawphysicspipeline_new: () => number; +export const rawphysicspipeline_set_profiler_enabled: (a: number, b: number) => void; +export const rawphysicspipeline_step: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void; +export const rawphysicspipeline_stepWithEvents: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; +export const rawphysicspipeline_timing_broad_phase: (a: number) => number; +export const rawphysicspipeline_timing_ccd: (a: number) => number; +export const rawphysicspipeline_timing_ccd_broad_phase: (a: number) => number; +export const rawphysicspipeline_timing_ccd_narrow_phase: (a: number) => number; +export const rawphysicspipeline_timing_ccd_solver: (a: number) => number; +export const rawphysicspipeline_timing_ccd_toi_computation: (a: number) => number; +export const rawphysicspipeline_timing_collision_detection: (a: number) => number; +export const rawphysicspipeline_timing_island_construction: (a: number) => number; +export const rawphysicspipeline_timing_narrow_phase: (a: number) => number; +export const rawphysicspipeline_timing_solver: (a: number) => number; +export const rawphysicspipeline_timing_step: (a: number) => number; +export const rawphysicspipeline_timing_user_changes: (a: number) => number; +export const rawphysicspipeline_timing_velocity_assembly: (a: number) => number; +export const rawphysicspipeline_timing_velocity_resolution: (a: number) => number; +export const rawphysicspipeline_timing_velocity_update: (a: number) => number; +export const rawphysicspipeline_timing_velocity_writeback: (a: number) => number; +export const rawpidcontroller_angular_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawpidcontroller_apply_angular_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => void; +export const rawpidcontroller_apply_linear_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => void; +export const rawpidcontroller_linear_correction: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawpidcontroller_new: (a: number, b: number, c: number, d: number) => number; +export const rawpidcontroller_reset_integrals: (a: number) => void; +export const rawpidcontroller_set_axes_mask: (a: number, b: number) => void; +export const rawpidcontroller_set_kd: (a: number, b: number, c: number) => void; +export const rawpidcontroller_set_ki: (a: number, b: number, c: number) => void; +export const rawpidcontroller_set_kp: (a: number, b: number, c: number) => void; +export const rawpointcolliderprojection_colliderHandle: (a: number) => number; +export const rawpointcolliderprojection_featureId: (a: number) => number; +export const rawpointcolliderprojection_featureType: (a: number) => number; +export const rawpointcolliderprojection_isInside: (a: number) => number; +export const rawpointcolliderprojection_point: (a: number) => number; +export const rawpointprojection_isInside: (a: number) => number; +export const rawpointprojection_point: (a: number) => number; +export const rawrigidbodyset_contains: (a: number, b: number) => number; +export const rawrigidbodyset_createRigidBody: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number) => number; +export const rawrigidbodyset_forEachRigidBodyHandle: (a: number, b: number) => void; +export const rawrigidbodyset_len: (a: number) => number; +export const rawrigidbodyset_new: () => number; +export const rawrigidbodyset_propagateModifiedBodyPositionsToColliders: (a: number, b: number) => void; +export const rawrigidbodyset_rbAddForce: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbAddForceAtPoint: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawrigidbodyset_rbAddTorque: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbAdditionalSolverIterations: (a: number, b: number) => number; +export const rawrigidbodyset_rbAngularDamping: (a: number, b: number) => number; +export const rawrigidbodyset_rbAngvel: (a: number, b: number) => number; +export const rawrigidbodyset_rbApplyImpulse: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbApplyImpulseAtPoint: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawrigidbodyset_rbApplyTorqueImpulse: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbBodyType: (a: number, b: number) => number; +export const rawrigidbodyset_rbCollider: (a: number, b: number, c: number) => number; +export const rawrigidbodyset_rbDominanceGroup: (a: number, b: number) => number; +export const rawrigidbodyset_rbEffectiveAngularInertia: (a: number, b: number) => number; +export const rawrigidbodyset_rbEffectiveInvMass: (a: number, b: number) => number; +export const rawrigidbodyset_rbEffectiveWorldInvInertia: (a: number, b: number) => number; +export const rawrigidbodyset_rbEnableCcd: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbGravityScale: (a: number, b: number) => number; +export const rawrigidbodyset_rbInvMass: (a: number, b: number) => number; +export const rawrigidbodyset_rbInvPrincipalInertia: (a: number, b: number) => number; +export const rawrigidbodyset_rbIsCcdEnabled: (a: number, b: number) => number; +export const rawrigidbodyset_rbIsDynamic: (a: number, b: number) => number; +export const rawrigidbodyset_rbIsEnabled: (a: number, b: number) => number; +export const rawrigidbodyset_rbIsFixed: (a: number, b: number) => number; +export const rawrigidbodyset_rbIsKinematic: (a: number, b: number) => number; +export const rawrigidbodyset_rbIsMoving: (a: number, b: number) => number; +export const rawrigidbodyset_rbIsSleeping: (a: number, b: number) => number; +export const rawrigidbodyset_rbLinearDamping: (a: number, b: number) => number; +export const rawrigidbodyset_rbLinvel: (a: number, b: number) => number; +export const rawrigidbodyset_rbLocalCom: (a: number, b: number) => number; +export const rawrigidbodyset_rbLockRotations: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbLockTranslations: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbMass: (a: number, b: number) => number; +export const rawrigidbodyset_rbNextRotation: (a: number, b: number) => number; +export const rawrigidbodyset_rbNextTranslation: (a: number, b: number) => number; +export const rawrigidbodyset_rbNumColliders: (a: number, b: number) => number; +export const rawrigidbodyset_rbPrincipalInertia: (a: number, b: number) => number; +export const rawrigidbodyset_rbRecomputeMassPropertiesFromColliders: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbResetForces: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbResetTorques: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbRotation: (a: number, b: number) => number; +export const rawrigidbodyset_rbSetAdditionalMass: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbSetAdditionalMassProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => void; +export const rawrigidbodyset_rbSetAdditionalSolverIterations: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSetAngularDamping: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSetAngvel: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbSetBodyType: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbSetDominanceGroup: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSetEnabled: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSetEnabledTranslations: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawrigidbodyset_rbSetGravityScale: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbSetLinearDamping: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSetLinvel: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbSetNextKinematicRotation: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSetNextKinematicTranslation: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbSetRotation: (a: number, b: number, c: number, d: number) => void; +export const rawrigidbodyset_rbSetSoftCcdPrediction: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSetTranslation: (a: number, b: number, c: number, d: number, e: number) => void; +export const rawrigidbodyset_rbSetUserData: (a: number, b: number, c: number) => void; +export const rawrigidbodyset_rbSleep: (a: number, b: number) => void; +export const rawrigidbodyset_rbSoftCcdPrediction: (a: number, b: number) => number; +export const rawrigidbodyset_rbTranslation: (a: number, b: number) => number; +export const rawrigidbodyset_rbUserData: (a: number, b: number) => number; +export const rawrigidbodyset_rbUserForce: (a: number, b: number) => number; +export const rawrigidbodyset_rbUserTorque: (a: number, b: number) => number; +export const rawrigidbodyset_rbVelocityAtPoint: (a: number, b: number, c: number) => number; +export const rawrigidbodyset_rbWakeUp: (a: number, b: number) => void; +export const rawrigidbodyset_rbWorldCom: (a: number, b: number) => number; +export const rawrigidbodyset_remove: (a: number, b: number, c: number, d: number, e: number, f: number) => void; +export const rawrotation_angle: (a: number) => number; +export const rawrotation_fromAngle: (a: number) => number; +export const rawrotation_identity: () => number; +export const rawserializationpipeline_deserializeAll: (a: number, b: number) => number; +export const rawserializationpipeline_serializeAll: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; +export const rawshape_ball: (a: number) => number; +export const rawshape_capsule: (a: number, b: number) => number; +export const rawshape_castRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; +export const rawshape_castRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; +export const rawshape_castShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number; +export const rawshape_contactShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; +export const rawshape_containsPoint: (a: number, b: number, c: number, d: number) => number; +export const rawshape_convexHull: (a: number, b: number) => number; +export const rawshape_convexPolyline: (a: number, b: number) => number; +export const rawshape_cuboid: (a: number, b: number) => number; +export const rawshape_halfspace: (a: number) => number; +export const rawshape_heightfield: (a: number, b: number, c: number) => number; +export const rawshape_intersectsRay: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawshape_intersectsShape: (a: number, b: number, c: number, d: number, e: number, f: number) => number; +export const rawshape_polyline: (a: number, b: number, c: number, d: number) => number; +export const rawshape_projectPoint: (a: number, b: number, c: number, d: number, e: number) => number; +export const rawshape_roundConvexHull: (a: number, b: number, c: number) => number; +export const rawshape_roundConvexPolyline: (a: number, b: number, c: number) => number; +export const rawshape_roundCuboid: (a: number, b: number, c: number) => number; +export const rawshape_roundTriangle: (a: number, b: number, c: number, d: number) => number; +export const rawshape_segment: (a: number, b: number) => number; +export const rawshape_triangle: (a: number, b: number, c: number) => number; +export const rawshape_trimesh: (a: number, b: number, c: number, d: number, e: number) => number; +export const rawshape_voxels: (a: number, b: number, c: number) => number; +export const rawshape_voxelsFromPoints: (a: number, b: number, c: number) => number; +export const rawshapecasthit_witness1: (a: number) => number; +export const rawvector_new: (a: number, b: number) => number; +export const rawvector_set_y: (a: number, b: number) => void; +export const rawvector_xy: (a: number) => number; +export const rawvector_yx: (a: number) => number; +export const rawvector_zero: () => number; +export const version: (a: number) => void; +export const rawcolliderset_isHandleValid: (a: number, b: number) => number; +export const rawvector_set_x: (a: number, b: number) => void; +export const reserve_memory: (a: number) => void; +export const rawraycolliderintersection_featureId: (a: number) => number; +export const rawrayintersection_featureId: (a: number) => number; +export const rawcontactforceevent_collider1: (a: number) => number; +export const rawintegrationparameters_normalizedAllowedLinearError: (a: number) => number; +export const rawintegrationparameters_normalizedPredictionDistance: (a: number) => number; +export const rawraycolliderhit_colliderHandle: (a: number) => number; +export const rawraycolliderhit_timeOfImpact: (a: number) => number; +export const rawraycolliderintersection_colliderHandle: (a: number) => number; +export const rawraycolliderintersection_featureType: (a: number) => number; +export const rawraycolliderintersection_time_of_impact: (a: number) => number; +export const rawrayintersection_featureType: (a: number) => number; +export const rawrayintersection_time_of_impact: (a: number) => number; +export const rawrotation_im: (a: number) => number; +export const rawrotation_re: (a: number) => number; +export const rawshapecasthit_time_of_impact: (a: number) => number; +export const rawshapecontact_distance: (a: number) => number; +export const rawvector_x: (a: number) => number; +export const rawvector_y: (a: number) => number; +export const __wbg_rawcontactpair_free: (a: number, b: number) => void; +export const __wbg_rawraycolliderhit_free: (a: number, b: number) => void; +export const __wbg_rawraycolliderintersection_free: (a: number, b: number) => void; +export const __wbg_rawserializationpipeline_free: (a: number, b: number) => void; +export const __wbg_rawshapecasthit_free: (a: number, b: number) => void; +export const rawcontactforceevent_max_force_direction: (a: number) => number; +export const rawkinematiccharactercontroller_up: (a: number) => number; +export const rawraycolliderintersection_normal: (a: number) => number; +export const rawrayintersection_normal: (a: number) => number; +export const rawshapecasthit_normal1: (a: number) => number; +export const rawshapecasthit_normal2: (a: number) => number; +export const rawshapecasthit_witness2: (a: number) => number; +export const rawshapecontact_normal1: (a: number) => number; +export const rawshapecontact_normal2: (a: number) => number; +export const rawshapecontact_point1: (a: number) => number; +export const rawshapecontact_point2: (a: number) => number; +export const rawccdsolver_new: () => number; +export const rawserializationpipeline_new: () => number; +export const __wbindgen_export_0: (a: number) => void; +export const __wbindgen_add_to_stack_pointer: (a: number) => number; +export const __wbindgen_export_1: (a: number, b: number, c: number) => void; +export const __wbindgen_export_2: (a: number, b: number) => number;