@react-three/rapier 1.3.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/declarations/src/components/AnyCollider.d.ts +2 -2
- package/dist/declarations/src/components/InstancedRigidBodies.d.ts +2 -2
- package/dist/declarations/src/components/MeshCollider.d.ts +2 -2
- package/dist/declarations/src/components/Physics.d.ts +17 -4
- package/dist/declarations/src/components/RigidBody.d.ts +1 -1
- package/dist/declarations/src/hooks/hooks.d.ts +3 -3
- package/dist/declarations/src/hooks/joints.d.ts +1 -1
- package/dist/declarations/src/index.d.ts +15 -15
- package/dist/declarations/src/types.d.ts +52 -10
- package/dist/declarations/src/utils/interaction-groups.d.ts +1 -1
- package/dist/react-three-rapier.cjs.d.ts +1 -0
- package/dist/react-three-rapier.cjs.dev.js +162 -275
- package/dist/react-three-rapier.cjs.prod.js +162 -275
- package/dist/react-three-rapier.esm.js +162 -275
- package/package.json +8 -13
- package/readme.md +0 -2
- package/dist/declarations/src/components/Debug.d.ts +0 -2
- package/dist/declarations/src/components/FrameStepper.d.ts +0 -9
- package/dist/declarations/src/hooks/use-forwarded-ref.d.ts +0 -2
- package/dist/declarations/src/hooks/use-imperative-instance.d.ts +0 -5
- package/dist/declarations/src/utils/shared-objects.d.ts +0 -9
- package/dist/declarations/src/utils/singleton-proxy.d.ts +0 -11
- package/dist/declarations/src/utils/utils-collider.d.ts +0 -81
- package/dist/declarations/src/utils/utils-physics.d.ts +0 -1
- package/dist/declarations/src/utils/utils-rigidbody.d.ts +0 -24
- package/dist/declarations/src/utils/utils.d.ts +0 -14
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@react-three/rapier",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.5.0",
|
4
4
|
"source": "src/index.ts",
|
5
5
|
"main": "dist/react-three-rapier.cjs.js",
|
6
6
|
"module": "dist/react-three-rapier.esm.js",
|
@@ -8,20 +8,15 @@
|
|
8
8
|
"files": [
|
9
9
|
"dist"
|
10
10
|
],
|
11
|
-
"scripts": {},
|
12
11
|
"devDependencies": {
|
13
|
-
"@react-three/drei": "9.
|
14
|
-
"@react-three/fiber": "8.
|
15
|
-
"@react-three/test-renderer": "8.1
|
12
|
+
"@react-three/drei": "9.112.0",
|
13
|
+
"@react-three/fiber": "8.17.7",
|
14
|
+
"@react-three/test-renderer": "8.2.1",
|
16
15
|
"@types/react-dom": "18.0.2",
|
17
|
-
"@types/three": "
|
18
|
-
"@vitejs/plugin-react": "^4.0.3",
|
19
|
-
"@vitest/ui": "0.32.0",
|
20
|
-
"happy-dom": "9.19.2",
|
16
|
+
"@types/three": "0.168.0",
|
21
17
|
"react": "18.2.0",
|
22
18
|
"react-dom": "18.2.0",
|
23
|
-
"three": "0.
|
24
|
-
"vitest": "0.32.0"
|
19
|
+
"three": "0.168.0"
|
25
20
|
},
|
26
21
|
"peerDependencies": {
|
27
22
|
"@react-three/fiber": ">=8.9.0",
|
@@ -29,9 +24,9 @@
|
|
29
24
|
"three": ">=0.139.0"
|
30
25
|
},
|
31
26
|
"dependencies": {
|
32
|
-
"@dimforge/rapier3d-compat": "0.
|
27
|
+
"@dimforge/rapier3d-compat": "0.14.0",
|
33
28
|
"suspend-react": "^0.1.3",
|
34
|
-
"three-stdlib": "2.
|
29
|
+
"three-stdlib": "^2.29.4"
|
35
30
|
},
|
36
31
|
"repository": "https://github.com/pmndrs/react-three-rapier/tree/master/packages/react-three-rapier"
|
37
32
|
}
|
package/readme.md
CHANGED
@@ -8,8 +8,6 @@
|
|
8
8
|
</p>
|
9
9
|
|
10
10
|
<p align="center">
|
11
|
-
⚠️ This library is under development. All APIs are subject to change. ⚠️
|
12
|
-
<br />
|
13
11
|
For contributions, please read the <a href="https://github.com/pmndrs/react-three-rapier/blob/main/packages/react-three-rapier/CONTRIBUTING.md">🪧 Contribution Guide</a>.
|
14
12
|
<br/>
|
15
13
|
For available APIs, see <a href="https://pmndrs.github.io/react-three-rapier/">🧩 API Docs</a>
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import { PhysicsProps } from "./Physics";
|
3
|
-
interface FrameStepperProps {
|
4
|
-
type?: PhysicsProps["updateLoop"];
|
5
|
-
onStep: (dt: number) => void;
|
6
|
-
updatePriority?: number;
|
7
|
-
}
|
8
|
-
declare const _default: React.MemoExoticComponent<({ onStep, type, updatePriority }: FrameStepperProps) => JSX.Element>;
|
9
|
-
export default _default;
|
@@ -1,5 +0,0 @@
|
|
1
|
-
import { DependencyList } from "react";
|
2
|
-
/**
|
3
|
-
* Initiate an instance and return a safe getter
|
4
|
-
*/
|
5
|
-
export declare const useImperativeInstance: <InstanceType_1>(createFn: () => InstanceType_1, destroyFn: (instance: InstanceType_1) => void, dependencyList: DependencyList) => () => InstanceType_1;
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { Euler, Matrix4, Object3D, Quaternion, Vector3 } from "three";
|
2
|
-
export declare const _quaternion: Quaternion;
|
3
|
-
export declare const _euler: Euler;
|
4
|
-
export declare const _vector3: Vector3;
|
5
|
-
export declare const _object3d: Object3D<import("three").Event>;
|
6
|
-
export declare const _matrix4: Matrix4;
|
7
|
-
export declare const _position: Vector3;
|
8
|
-
export declare const _rotation: Quaternion;
|
9
|
-
export declare const _scale: Vector3;
|
@@ -1,11 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Creates a proxy that will create a singleton instance of the given class
|
3
|
-
* when a property is accessed, and not before.
|
4
|
-
*
|
5
|
-
* @returns A proxy and a reset function, so that the instance can created again
|
6
|
-
*/
|
7
|
-
export declare const createSingletonProxy: <SingletonClass extends object, CreationFn extends () => SingletonClass = () => SingletonClass>(createInstance: CreationFn) => {
|
8
|
-
proxy: SingletonClass;
|
9
|
-
reset: () => void;
|
10
|
-
set: (newInstance: SingletonClass) => void;
|
11
|
-
};
|
@@ -1,81 +0,0 @@
|
|
1
|
-
import { Collider, RigidBody, World } from "@dimforge/rapier3d-compat";
|
2
|
-
import { BufferGeometry, Object3D, Vector3 } from "three";
|
3
|
-
import { ColliderProps, RigidBodyProps } from "..";
|
4
|
-
import { ColliderState, ColliderStateMap, EventMap } from "../components/Physics";
|
5
|
-
import { ColliderShape, RigidBodyAutoCollider } from "../types";
|
6
|
-
export declare const scaleColliderArgs: (shape: ColliderShape, args: (number | ArrayLike<number> | {
|
7
|
-
x: number;
|
8
|
-
y: number;
|
9
|
-
z: number;
|
10
|
-
})[], scale: Vector3) => (number | ArrayLike<number> | {
|
11
|
-
x: number;
|
12
|
-
y: number;
|
13
|
-
z: number;
|
14
|
-
})[];
|
15
|
-
export declare const createColliderFromOptions: (options: ColliderProps, world: World, scale: Vector3, getRigidBody?: () => RigidBody) => Collider;
|
16
|
-
declare type ImmutableColliderOptions = (keyof ColliderProps)[];
|
17
|
-
export declare const immutableColliderOptions: ImmutableColliderOptions;
|
18
|
-
export declare const setColliderOptions: (collider: Collider, options: ColliderProps, states: ColliderStateMap) => void;
|
19
|
-
export declare const useUpdateColliderOptions: (getCollider: () => Collider, props: ColliderProps, states: ColliderStateMap) => void;
|
20
|
-
export declare const createColliderState: (collider: Collider, object: Object3D, rigidBodyObject?: Object3D | null) => ColliderState;
|
21
|
-
interface CreateColliderPropsFromChildren {
|
22
|
-
(options: {
|
23
|
-
object: Object3D;
|
24
|
-
ignoreMeshColliders: boolean;
|
25
|
-
options: RigidBodyProps;
|
26
|
-
}): ColliderProps[];
|
27
|
-
}
|
28
|
-
export declare const createColliderPropsFromChildren: CreateColliderPropsFromChildren;
|
29
|
-
export declare const getColliderArgsFromGeometry: (geometry: BufferGeometry, colliders: RigidBodyAutoCollider) => {
|
30
|
-
args: unknown[];
|
31
|
-
offset: Vector3;
|
32
|
-
};
|
33
|
-
export declare const getActiveCollisionEventsFromProps: (props?: ColliderProps) => {
|
34
|
-
collision: boolean;
|
35
|
-
contactForce: boolean;
|
36
|
-
};
|
37
|
-
export declare const useColliderEvents: (getCollider: () => Collider, props: ColliderProps, events: EventMap, activeEvents?: {
|
38
|
-
collision?: boolean;
|
39
|
-
contactForce?: boolean;
|
40
|
-
}) => void;
|
41
|
-
export declare const cleanRigidBodyPropsForCollider: (props?: RigidBodyProps) => {
|
42
|
-
linearVelocity?: import("..").Vector3Tuple | undefined;
|
43
|
-
angularVelocity?: import("..").Vector3Tuple | undefined;
|
44
|
-
dominanceGroup?: number | undefined;
|
45
|
-
position?: import("@react-three/fiber").Vector3 | undefined;
|
46
|
-
rotation?: import("@react-three/fiber").Euler | undefined;
|
47
|
-
colliders?: RigidBodyAutoCollider | undefined;
|
48
|
-
friction?: number | undefined;
|
49
|
-
restitution?: number | undefined;
|
50
|
-
additionalSolverIterations?: number | undefined;
|
51
|
-
collisionGroups?: number | undefined;
|
52
|
-
solverGroups?: number | undefined;
|
53
|
-
onSleep?(): void;
|
54
|
-
onWake?(): void;
|
55
|
-
lockRotations?: boolean | undefined;
|
56
|
-
lockTranslations?: boolean | undefined;
|
57
|
-
enabledRotations?: import("..").Boolean3Tuple | undefined;
|
58
|
-
enabledTranslations?: import("..").Boolean3Tuple | undefined;
|
59
|
-
userData?: {
|
60
|
-
[key: string]: any;
|
61
|
-
} | undefined;
|
62
|
-
includeInvisible?: boolean | undefined;
|
63
|
-
transformState?: ((state: import("../components/Physics").RigidBodyState) => import("../components/Physics").RigidBodyState) | undefined;
|
64
|
-
name?: string | undefined;
|
65
|
-
shape?: ColliderShape | undefined;
|
66
|
-
args?: any;
|
67
|
-
principalAngularInertia?: import("..").Vector3Tuple | undefined;
|
68
|
-
restitutionCombineRule?: import("@dimforge/rapier3d-compat").CoefficientCombineRule | undefined;
|
69
|
-
frictionCombineRule?: import("@dimforge/rapier3d-compat").CoefficientCombineRule | undefined;
|
70
|
-
quaternion?: import("@react-three/fiber").Quaternion | undefined;
|
71
|
-
scale?: import("@react-three/fiber").Vector3 | undefined;
|
72
|
-
density?: number | undefined;
|
73
|
-
massProperties?: {
|
74
|
-
mass: number;
|
75
|
-
centerOfMass: import("@dimforge/rapier3d-compat").Vector;
|
76
|
-
principalAngularInertia: import("@dimforge/rapier3d-compat").Vector;
|
77
|
-
angularInertiaLocalFrame: import("@dimforge/rapier3d-compat").Rotation;
|
78
|
-
} | undefined;
|
79
|
-
sensor?: boolean | undefined;
|
80
|
-
};
|
81
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
export declare const useRaf: (callback: (dt: number) => void) => void;
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import { RigidBody, RigidBodyDesc } from "@dimforge/rapier3d-compat";
|
2
|
-
import { Matrix4, Object3D, Vector3 } from "three";
|
3
|
-
import { RigidBodyProps } from "..";
|
4
|
-
import { EventMap, RigidBodyState, RigidBodyStateMap } from "../components/Physics";
|
5
|
-
export declare const rigidBodyDescFromOptions: (options: RigidBodyProps) => RigidBodyDesc;
|
6
|
-
interface CreateRigidBodyStateOptions {
|
7
|
-
object: Object3D;
|
8
|
-
rigidBody: RigidBody;
|
9
|
-
setMatrix?: (matrix: Matrix4) => void;
|
10
|
-
getMatrix?: (matrix: Matrix4) => Matrix4;
|
11
|
-
worldScale?: Vector3;
|
12
|
-
meshType?: RigidBodyState["meshType"];
|
13
|
-
}
|
14
|
-
export declare const createRigidBodyState: ({ rigidBody, object, setMatrix, getMatrix, worldScale, meshType }: CreateRigidBodyStateOptions) => RigidBodyState;
|
15
|
-
declare type ImmutableRigidBodyOptions = (keyof RigidBodyProps)[];
|
16
|
-
export declare const immutableRigidBodyOptions: ImmutableRigidBodyOptions;
|
17
|
-
declare type MutableRigidBodyOptions = {
|
18
|
-
[Prop in keyof RigidBodyProps]: (rb: RigidBody, value: any) => void;
|
19
|
-
};
|
20
|
-
export declare const mutableRigidBodyOptions: MutableRigidBodyOptions;
|
21
|
-
export declare const setRigidBodyOptions: (rigidBody: RigidBody, options: RigidBodyProps, states: RigidBodyStateMap, updateTranslations?: boolean) => void;
|
22
|
-
export declare const useUpdateRigidBodyOptions: (getRigidBody: () => RigidBody, props: RigidBodyProps, states: RigidBodyStateMap, updateTranslations?: boolean) => void;
|
23
|
-
export declare const useRigidBodyEvents: (getRigidBody: () => RigidBody, props: RigidBodyProps, events: EventMap) => void;
|
24
|
-
export {};
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { Quaternion as RapierQuaternion, Vector3 as RapierVector3 } from "@dimforge/rapier3d-compat";
|
2
|
-
import { Euler, Quaternion, Vector3 } from "three";
|
3
|
-
import { RigidBodyTypeString, Vector3Tuple } from "../types";
|
4
|
-
import { Vector3 as Vector3Like, Quaternion as QuaternionLike } from "@react-three/fiber";
|
5
|
-
export declare const vectorArrayToVector3: (arr: Vector3Tuple) => Vector3;
|
6
|
-
export declare const vector3ToQuaternion: (v: Vector3) => Quaternion;
|
7
|
-
export declare const rapierVector3ToVector3: ({ x, y, z }: RapierVector3) => Vector3;
|
8
|
-
export declare const rapierQuaternionToQuaternion: ({ x, y, z, w }: RapierQuaternion) => Quaternion;
|
9
|
-
export declare const vector3ToRapierVector: (v: Vector3Like) => RapierVector3;
|
10
|
-
export declare const quaternionToRapierQuaternion: (v: QuaternionLike) => RapierQuaternion;
|
11
|
-
export declare const rigidBodyTypeFromString: (type: RigidBodyTypeString) => 0 | 3 | 1 | 2;
|
12
|
-
export declare const scaleVertices: (vertices: ArrayLike<number>, scale: Vector3) => number[];
|
13
|
-
export declare const vectorToTuple: (v: Vector3 | Quaternion | any[] | undefined | number | Euler) => any[];
|
14
|
-
export declare function useConst<T>(initialValue: T | (() => T)): T;
|