@gg-web-engine/rapier3d 0.0.24

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.
Files changed (143) hide show
  1. package/README.md +17 -0
  2. package/dist/components/rapier-3d-rigid-body.component.d.ts +26 -0
  3. package/dist/components/rapier-3d-rigid-body.component.js +88 -0
  4. package/dist/components/rapier-3d-trigger.component.d.ts +17 -0
  5. package/dist/components/rapier-3d-trigger.component.js +41 -0
  6. package/dist/components/rapier-3d-world.component.d.ts +27 -0
  7. package/dist/components/rapier-3d-world.component.js +81 -0
  8. package/dist/index.d.ts +5 -0
  9. package/dist/index.js +6 -0
  10. package/dist/rapier-3d-factory.d.ts +22 -0
  11. package/dist/rapier-3d-factory.js +89 -0
  12. package/dist/rapier-3d-loader.d.ts +6 -0
  13. package/dist/rapier-3d-loader.js +7 -0
  14. package/etc/@dimforge/rapier3d/LICENSE +201 -0
  15. package/etc/@dimforge/rapier3d/README.md +33 -0
  16. package/etc/@dimforge/rapier3d/coarena.d.ts +15 -0
  17. package/etc/@dimforge/rapier3d/coarena.js +61 -0
  18. package/etc/@dimforge/rapier3d/coarena.js.map +1 -0
  19. package/etc/@dimforge/rapier3d/control/character_controller.d.ts +188 -0
  20. package/etc/@dimforge/rapier3d/control/character_controller.js +256 -0
  21. package/etc/@dimforge/rapier3d/control/character_controller.js.map +1 -0
  22. package/etc/@dimforge/rapier3d/control/index.d.ts +2 -0
  23. package/etc/@dimforge/rapier3d/control/index.js +5 -0
  24. package/etc/@dimforge/rapier3d/control/index.js.map +1 -0
  25. package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.d.ts +240 -0
  26. package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js +362 -0
  27. package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js.map +1 -0
  28. package/etc/@dimforge/rapier3d/dynamics/ccd_solver.d.ts +15 -0
  29. package/etc/@dimforge/rapier3d/dynamics/ccd_solver.js +22 -0
  30. package/etc/@dimforge/rapier3d/dynamics/ccd_solver.js.map +1 -0
  31. package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.d.ts +13 -0
  32. package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js +15 -0
  33. package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js.map +1 -0
  34. package/etc/@dimforge/rapier3d/dynamics/impulse_joint.d.ts +204 -0
  35. package/etc/@dimforge/rapier3d/dynamics/impulse_joint.js +335 -0
  36. package/etc/@dimforge/rapier3d/dynamics/impulse_joint.js.map +1 -0
  37. package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.d.ts +79 -0
  38. package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.js +123 -0
  39. package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.js.map +1 -0
  40. package/etc/@dimforge/rapier3d/dynamics/index.d.ts +10 -0
  41. package/etc/@dimforge/rapier3d/dynamics/index.js +11 -0
  42. package/etc/@dimforge/rapier3d/dynamics/index.js.map +1 -0
  43. package/etc/@dimforge/rapier3d/dynamics/integration_parameters.d.ts +55 -0
  44. package/etc/@dimforge/rapier3d/dynamics/integration_parameters.js +98 -0
  45. package/etc/@dimforge/rapier3d/dynamics/integration_parameters.js.map +1 -0
  46. package/etc/@dimforge/rapier3d/dynamics/island_manager.d.ts +24 -0
  47. package/etc/@dimforge/rapier3d/dynamics/island_manager.js +32 -0
  48. package/etc/@dimforge/rapier3d/dynamics/island_manager.js.map +1 -0
  49. package/etc/@dimforge/rapier3d/dynamics/multibody_joint.d.ts +42 -0
  50. package/etc/@dimforge/rapier3d/dynamics/multibody_joint.js +124 -0
  51. package/etc/@dimforge/rapier3d/dynamics/multibody_joint.js.map +1 -0
  52. package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.d.ts +76 -0
  53. package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.js +118 -0
  54. package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.js.map +1 -0
  55. package/etc/@dimforge/rapier3d/dynamics/rigid_body.d.ts +679 -0
  56. package/etc/@dimforge/rapier3d/dynamics/rigid_body.js +960 -0
  57. package/etc/@dimforge/rapier3d/dynamics/rigid_body.js.map +1 -0
  58. package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.d.ts +78 -0
  59. package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.js +147 -0
  60. package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.js.map +1 -0
  61. package/etc/@dimforge/rapier3d/exports.d.ts +7 -0
  62. package/etc/@dimforge/rapier3d/exports.js +11 -0
  63. package/etc/@dimforge/rapier3d/exports.js.map +1 -0
  64. package/etc/@dimforge/rapier3d/geometry/broad_phase.d.ts +15 -0
  65. package/etc/@dimforge/rapier3d/geometry/broad_phase.js +22 -0
  66. package/etc/@dimforge/rapier3d/geometry/broad_phase.js.map +1 -0
  67. package/etc/@dimforge/rapier3d/geometry/collider.d.ts +763 -0
  68. package/etc/@dimforge/rapier3d/geometry/collider.js +1140 -0
  69. package/etc/@dimforge/rapier3d/geometry/collider.js.map +1 -0
  70. package/etc/@dimforge/rapier3d/geometry/collider_set.d.ts +72 -0
  71. package/etc/@dimforge/rapier3d/geometry/collider_set.js +144 -0
  72. package/etc/@dimforge/rapier3d/geometry/collider_set.js.map +1 -0
  73. package/etc/@dimforge/rapier3d/geometry/contact.d.ts +31 -0
  74. package/etc/@dimforge/rapier3d/geometry/contact.js +21 -0
  75. package/etc/@dimforge/rapier3d/geometry/contact.js.map +1 -0
  76. package/etc/@dimforge/rapier3d/geometry/feature.d.ts +6 -0
  77. package/etc/@dimforge/rapier3d/geometry/feature.js +10 -0
  78. package/etc/@dimforge/rapier3d/geometry/feature.js.map +1 -0
  79. package/etc/@dimforge/rapier3d/geometry/index.d.ts +11 -0
  80. package/etc/@dimforge/rapier3d/geometry/index.js +12 -0
  81. package/etc/@dimforge/rapier3d/geometry/index.js.map +1 -0
  82. package/etc/@dimforge/rapier3d/geometry/interaction_groups.d.ts +18 -0
  83. package/etc/@dimforge/rapier3d/geometry/interaction_groups.js +2 -0
  84. package/etc/@dimforge/rapier3d/geometry/interaction_groups.js.map +1 -0
  85. package/etc/@dimforge/rapier3d/geometry/narrow_phase.d.ts +71 -0
  86. package/etc/@dimforge/rapier3d/geometry/narrow_phase.js +148 -0
  87. package/etc/@dimforge/rapier3d/geometry/narrow_phase.js.map +1 -0
  88. package/etc/@dimforge/rapier3d/geometry/point.d.ts +47 -0
  89. package/etc/@dimforge/rapier3d/geometry/point.js +48 -0
  90. package/etc/@dimforge/rapier3d/geometry/point.js.map +1 -0
  91. package/etc/@dimforge/rapier3d/geometry/ray.d.ts +97 -0
  92. package/etc/@dimforge/rapier3d/geometry/ray.js +100 -0
  93. package/etc/@dimforge/rapier3d/geometry/ray.js.map +1 -0
  94. package/etc/@dimforge/rapier3d/geometry/shape.d.ts +489 -0
  95. package/etc/@dimforge/rapier3d/geometry/shape.js +686 -0
  96. package/etc/@dimforge/rapier3d/geometry/shape.js.map +1 -0
  97. package/etc/@dimforge/rapier3d/geometry/toi.d.ts +46 -0
  98. package/etc/@dimforge/rapier3d/geometry/toi.js +37 -0
  99. package/etc/@dimforge/rapier3d/geometry/toi.js.map +1 -0
  100. package/etc/@dimforge/rapier3d/init.d.ts +1 -0
  101. package/etc/@dimforge/rapier3d/init.js +2 -0
  102. package/etc/@dimforge/rapier3d/init.js.map +1 -0
  103. package/etc/@dimforge/rapier3d/math.d.ts +94 -0
  104. package/etc/@dimforge/rapier3d/math.js +138 -0
  105. package/etc/@dimforge/rapier3d/math.js.map +1 -0
  106. package/etc/@dimforge/rapier3d/package.json +33 -0
  107. package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.d.ts +39 -0
  108. package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.js +38 -0
  109. package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.js.map +1 -0
  110. package/etc/@dimforge/rapier3d/pipeline/event_queue.d.ts +101 -0
  111. package/etc/@dimforge/rapier3d/pipeline/event_queue.js +135 -0
  112. package/etc/@dimforge/rapier3d/pipeline/event_queue.js.map +1 -0
  113. package/etc/@dimforge/rapier3d/pipeline/index.d.ts +7 -0
  114. package/etc/@dimforge/rapier3d/pipeline/index.js +8 -0
  115. package/etc/@dimforge/rapier3d/pipeline/index.js.map +1 -0
  116. package/etc/@dimforge/rapier3d/pipeline/physics_hooks.d.ts +39 -0
  117. package/etc/@dimforge/rapier3d/pipeline/physics_hooks.js +13 -0
  118. package/etc/@dimforge/rapier3d/pipeline/physics_hooks.js.map +1 -0
  119. package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.d.ts +12 -0
  120. package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.js +24 -0
  121. package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.js.map +1 -0
  122. package/etc/@dimforge/rapier3d/pipeline/query_pipeline.d.ts +190 -0
  123. package/etc/@dimforge/rapier3d/pipeline/query_pipeline.js +271 -0
  124. package/etc/@dimforge/rapier3d/pipeline/query_pipeline.js.map +1 -0
  125. package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.d.ts +37 -0
  126. package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.js +49 -0
  127. package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.js.map +1 -0
  128. package/etc/@dimforge/rapier3d/pipeline/world.d.ts +419 -0
  129. package/etc/@dimforge/rapier3d/pipeline/world.js +581 -0
  130. package/etc/@dimforge/rapier3d/pipeline/world.js.map +1 -0
  131. package/etc/@dimforge/rapier3d/rapier.d.ts +3 -0
  132. package/etc/@dimforge/rapier3d/rapier.js +4 -0
  133. package/etc/@dimforge/rapier3d/rapier.js.map +1 -0
  134. package/etc/@dimforge/rapier3d/rapier_wasm3d.d.ts +2921 -0
  135. package/etc/@dimforge/rapier3d/rapier_wasm3d.js +2 -0
  136. package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.js +5585 -0
  137. package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.wasm +0 -0
  138. package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.wasm.d.ts +486 -0
  139. package/etc/@dimforge/rapier3d/raw.d.ts +1 -0
  140. package/etc/@dimforge/rapier3d/raw.js +2 -0
  141. package/etc/@dimforge/rapier3d/raw.js.map +1 -0
  142. package/package.json +43 -0
  143. package/tsconfig.json +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../src/geometry/shape.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { Collider } from "./collider";
2
+ import { Vector } from "../math";
3
+ import { RawShapeTOI, RawShapeColliderTOI } from "../raw";
4
+ import { ColliderSet } from "./collider_set";
5
+ /**
6
+ * The intersection between a ray and a collider.
7
+ */
8
+ export declare class ShapeTOI {
9
+ /**
10
+ * The time of impact of the two shapes.
11
+ */
12
+ toi: number;
13
+ /**
14
+ * The local-space contact point on the first shape, at
15
+ * the time of impact.
16
+ */
17
+ witness1: Vector;
18
+ /**
19
+ * The local-space contact point on the second shape, at
20
+ * the time of impact.
21
+ */
22
+ witness2: Vector;
23
+ /**
24
+ * The local-space normal on the first shape, at
25
+ * the time of impact.
26
+ */
27
+ normal1: Vector;
28
+ /**
29
+ * The local-space normal on the second shape, at
30
+ * the time of impact.
31
+ */
32
+ normal2: Vector;
33
+ constructor(toi: number, witness1: Vector, witness2: Vector, normal1: Vector, normal2: Vector);
34
+ static fromRaw(colliderSet: ColliderSet, raw: RawShapeTOI): ShapeTOI;
35
+ }
36
+ /**
37
+ * The intersection between a ray and a collider.
38
+ */
39
+ export declare class ShapeColliderTOI extends ShapeTOI {
40
+ /**
41
+ * The handle of the collider hit by the ray.
42
+ */
43
+ collider: Collider;
44
+ constructor(collider: Collider, toi: number, witness1: Vector, witness2: Vector, normal1: Vector, normal2: Vector);
45
+ static fromRaw(colliderSet: ColliderSet, raw: RawShapeColliderTOI): ShapeColliderTOI;
46
+ }
@@ -0,0 +1,37 @@
1
+ import { VectorOps } from "../math";
2
+ /**
3
+ * The intersection between a ray and a collider.
4
+ */
5
+ export class ShapeTOI {
6
+ constructor(toi, witness1, witness2, normal1, normal2) {
7
+ this.toi = toi;
8
+ this.witness1 = witness1;
9
+ this.witness2 = witness2;
10
+ this.normal1 = normal1;
11
+ this.normal2 = normal2;
12
+ }
13
+ static fromRaw(colliderSet, raw) {
14
+ if (!raw)
15
+ return null;
16
+ const result = new ShapeTOI(raw.toi(), VectorOps.fromRaw(raw.witness1()), VectorOps.fromRaw(raw.witness2()), VectorOps.fromRaw(raw.normal1()), VectorOps.fromRaw(raw.normal2()));
17
+ raw.free();
18
+ return result;
19
+ }
20
+ }
21
+ /**
22
+ * The intersection between a ray and a collider.
23
+ */
24
+ export class ShapeColliderTOI extends ShapeTOI {
25
+ constructor(collider, toi, witness1, witness2, normal1, normal2) {
26
+ super(toi, witness1, witness2, normal1, normal2);
27
+ this.collider = collider;
28
+ }
29
+ static fromRaw(colliderSet, raw) {
30
+ if (!raw)
31
+ return null;
32
+ const result = new ShapeColliderTOI(colliderSet.get(raw.colliderHandle()), raw.toi(), VectorOps.fromRaw(raw.witness1()), VectorOps.fromRaw(raw.witness2()), VectorOps.fromRaw(raw.normal1()), VectorOps.fromRaw(raw.normal2()));
33
+ raw.free();
34
+ return result;
35
+ }
36
+ }
37
+ //# sourceMappingURL=toi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toi.js","sourceRoot":"","sources":["../src/geometry/toi.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,SAAS,EAAC,MAAM,SAAS,CAAC;AAI1C;;GAEG;AACH,MAAM,OAAO,QAAQ;IA0BjB,YACI,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,OAAe;QAEf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,OAAO,CACjB,WAAwB,EACxB,GAAgB;QAEhB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,MAAM,GAAG,IAAI,QAAQ,CACvB,GAAG,CAAC,GAAG,EAAE,EACT,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAChC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CACnC,CAAC;QACF,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IAM1C,YACI,QAAkB,EAClB,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,OAAe;QAEf,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,OAAO,CACjB,WAAwB,EACxB,GAAwB;QAExB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAC/B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,EACrC,GAAG,CAAC,GAAG,EAAE,EACT,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAChC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CACnC,CAAC;QACF,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["src/init.ts"],"names":[],"mappings":""}
@@ -0,0 +1,94 @@
1
+ import { RawVector, RawRotation } from "./raw";
2
+ import { RawSdpMatrix3 } from "./raw";
3
+ export interface Vector {
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ }
8
+ /**
9
+ * A 3D vector.
10
+ */
11
+ export declare class Vector3 implements Vector {
12
+ x: number;
13
+ y: number;
14
+ z: number;
15
+ constructor(x: number, y: number, z: number);
16
+ }
17
+ export declare class VectorOps {
18
+ static new(x: number, y: number, z: number): Vector;
19
+ static intoRaw(v: Vector): RawVector;
20
+ static zeros(): Vector;
21
+ static fromRaw(raw: RawVector): Vector;
22
+ static copy(out: Vector, input: Vector): void;
23
+ }
24
+ export interface Rotation {
25
+ x: number;
26
+ y: number;
27
+ z: number;
28
+ w: number;
29
+ }
30
+ /**
31
+ * A quaternion.
32
+ */
33
+ export declare class Quaternion implements Rotation {
34
+ x: number;
35
+ y: number;
36
+ z: number;
37
+ w: number;
38
+ constructor(x: number, y: number, z: number, w: number);
39
+ }
40
+ export declare class RotationOps {
41
+ static identity(): Rotation;
42
+ static fromRaw(raw: RawRotation): Rotation;
43
+ static intoRaw(rot: Rotation): RawRotation;
44
+ static copy(out: Rotation, input: Rotation): void;
45
+ }
46
+ /**
47
+ * A 3D symmetric-positive-definite matrix.
48
+ */
49
+ export declare class SdpMatrix3 {
50
+ /**
51
+ * Row major list of the upper-triangular part of the symmetric matrix.
52
+ */
53
+ elements: Float32Array;
54
+ /**
55
+ * Matrix element at row 1, column 1.
56
+ */
57
+ get m11(): number;
58
+ /**
59
+ * Matrix element at row 1, column 2.
60
+ */
61
+ get m12(): number;
62
+ /**
63
+ * Matrix element at row 2, column 1.
64
+ */
65
+ get m21(): number;
66
+ /**
67
+ * Matrix element at row 1, column 3.
68
+ */
69
+ get m13(): number;
70
+ /**
71
+ * Matrix element at row 3, column 1.
72
+ */
73
+ get m31(): number;
74
+ /**
75
+ * Matrix element at row 2, column 2.
76
+ */
77
+ get m22(): number;
78
+ /**
79
+ * Matrix element at row 2, column 3.
80
+ */
81
+ get m23(): number;
82
+ /**
83
+ * Matrix element at row 3, column 2.
84
+ */
85
+ get m32(): number;
86
+ /**
87
+ * Matrix element at row 3, column 3.
88
+ */
89
+ get m33(): number;
90
+ constructor(elements: Float32Array);
91
+ }
92
+ export declare class SdpMatrix3Ops {
93
+ static fromRaw(raw: RawSdpMatrix3): SdpMatrix3;
94
+ }
@@ -0,0 +1,138 @@
1
+ import { RawVector, RawRotation } from "./raw";
2
+ /**
3
+ * A 3D vector.
4
+ */
5
+ export class Vector3 {
6
+ constructor(x, y, z) {
7
+ this.x = x;
8
+ this.y = y;
9
+ this.z = z;
10
+ }
11
+ }
12
+ export class VectorOps {
13
+ static new(x, y, z) {
14
+ return new Vector3(x, y, z);
15
+ }
16
+ static intoRaw(v) {
17
+ return new RawVector(v.x, v.y, v.z);
18
+ }
19
+ static zeros() {
20
+ return VectorOps.new(0.0, 0.0, 0.0);
21
+ }
22
+ // FIXME: type ram: RawVector?
23
+ static fromRaw(raw) {
24
+ if (!raw)
25
+ return null;
26
+ let res = VectorOps.new(raw.x, raw.y, raw.z);
27
+ raw.free();
28
+ return res;
29
+ }
30
+ static copy(out, input) {
31
+ out.x = input.x;
32
+ out.y = input.y;
33
+ out.z = input.z;
34
+ }
35
+ }
36
+ /**
37
+ * A quaternion.
38
+ */
39
+ export class Quaternion {
40
+ constructor(x, y, z, w) {
41
+ this.x = x;
42
+ this.y = y;
43
+ this.z = z;
44
+ this.w = w;
45
+ }
46
+ }
47
+ export class RotationOps {
48
+ static identity() {
49
+ return new Quaternion(0.0, 0.0, 0.0, 1.0);
50
+ }
51
+ static fromRaw(raw) {
52
+ if (!raw)
53
+ return null;
54
+ let res = new Quaternion(raw.x, raw.y, raw.z, raw.w);
55
+ raw.free();
56
+ return res;
57
+ }
58
+ static intoRaw(rot) {
59
+ return new RawRotation(rot.x, rot.y, rot.z, rot.w);
60
+ }
61
+ static copy(out, input) {
62
+ out.x = input.x;
63
+ out.y = input.y;
64
+ out.z = input.z;
65
+ out.w = input.w;
66
+ }
67
+ }
68
+ /**
69
+ * A 3D symmetric-positive-definite matrix.
70
+ */
71
+ export class SdpMatrix3 {
72
+ /**
73
+ * Matrix element at row 1, column 1.
74
+ */
75
+ get m11() {
76
+ return this.elements[0];
77
+ }
78
+ /**
79
+ * Matrix element at row 1, column 2.
80
+ */
81
+ get m12() {
82
+ return this.elements[1];
83
+ }
84
+ /**
85
+ * Matrix element at row 2, column 1.
86
+ */
87
+ get m21() {
88
+ return this.m12;
89
+ }
90
+ /**
91
+ * Matrix element at row 1, column 3.
92
+ */
93
+ get m13() {
94
+ return this.elements[2];
95
+ }
96
+ /**
97
+ * Matrix element at row 3, column 1.
98
+ */
99
+ get m31() {
100
+ return this.m13;
101
+ }
102
+ /**
103
+ * Matrix element at row 2, column 2.
104
+ */
105
+ get m22() {
106
+ return this.elements[3];
107
+ }
108
+ /**
109
+ * Matrix element at row 2, column 3.
110
+ */
111
+ get m23() {
112
+ return this.elements[4];
113
+ }
114
+ /**
115
+ * Matrix element at row 3, column 2.
116
+ */
117
+ get m32() {
118
+ return this.m23;
119
+ }
120
+ /**
121
+ * Matrix element at row 3, column 3.
122
+ */
123
+ get m33() {
124
+ return this.elements[5];
125
+ }
126
+ constructor(elements) {
127
+ this.elements = elements;
128
+ }
129
+ }
130
+ export class SdpMatrix3Ops {
131
+ static fromRaw(raw) {
132
+ const sdpMatrix3 = new SdpMatrix3(raw.elements());
133
+ raw.free();
134
+ return sdpMatrix3;
135
+ }
136
+ }
137
+ // #endif
138
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["src/math.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@dimforge/rapier3d",
3
+ "collaborators": [
4
+ "Sébastien Crozet <developer@crozet.re>"
5
+ ],
6
+ "description": "3-dimensional physics engine in Rust - official JS bindings.",
7
+ "version": "0.11.2",
8
+ "license": "Apache-2.0",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/dimforge/rapier.js"
12
+ },
13
+ "files": [
14
+ "*",
15
+ "rapier_wasm3d.js",
16
+ "rapier_wasm3d_bg.js",
17
+ "rapier_wasm3d.d.ts"
18
+ ],
19
+ "module": "rapier.js",
20
+ "homepage": "https://rapier.rs",
21
+ "types": "rapier.d.ts",
22
+ "sideEffects": [
23
+ "./rapier_wasm3d.js",
24
+ "./snippets/*"
25
+ ],
26
+ "keywords": [
27
+ "physics",
28
+ "dynamics",
29
+ "rigid",
30
+ "real-time",
31
+ "joints"
32
+ ]
33
+ }
@@ -0,0 +1,39 @@
1
+ import { RawDebugRenderPipeline } from "../raw";
2
+ import { ImpulseJointSet, MultibodyJointSet, RigidBodySet } from "../dynamics";
3
+ import { ColliderSet, NarrowPhase } from "../geometry";
4
+ /**
5
+ * The vertex and color buffers for debug-redering the physics scene.
6
+ */
7
+ export declare class DebugRenderBuffers {
8
+ /**
9
+ * The lines to render. This is a flat array containing all the lines
10
+ * to render. Each line is described as two consecutive point. Each
11
+ * point is described as two (in 2D) or three (in 3D) consecutive
12
+ * floats. For example, in 2D, the array: `[1, 2, 3, 4, 5, 6, 7, 8]`
13
+ * describes the two segments `[[1, 2], [3, 4]]` and `[[5, 6], [7, 8]]`.
14
+ */
15
+ vertices: Float32Array;
16
+ /**
17
+ * The color buffer. There is one color per vertex, and each color
18
+ * has four consecutive components (in RGBA format).
19
+ */
20
+ colors: Float32Array;
21
+ constructor(vertices: Float32Array, colors: Float32Array);
22
+ }
23
+ /**
24
+ * A pipeline for rendering the physics scene.
25
+ *
26
+ * To avoid leaking WASM resources, this MUST be freed manually with `debugRenderPipeline.free()`
27
+ * once you are done using it (and all the rigid-bodies it created).
28
+ */
29
+ export declare class DebugRenderPipeline {
30
+ raw: RawDebugRenderPipeline;
31
+ vertices: Float32Array;
32
+ colors: Float32Array;
33
+ /**
34
+ * Release the WASM memory occupied by this serialization pipeline.
35
+ */
36
+ free(): void;
37
+ constructor(raw?: RawDebugRenderPipeline);
38
+ render(bodies: RigidBodySet, colliders: ColliderSet, impulse_joints: ImpulseJointSet, multibody_joints: MultibodyJointSet, narrow_phase: NarrowPhase): void;
39
+ }
@@ -0,0 +1,38 @@
1
+ import { RawDebugRenderPipeline } from "../raw";
2
+ /**
3
+ * The vertex and color buffers for debug-redering the physics scene.
4
+ */
5
+ export class DebugRenderBuffers {
6
+ constructor(vertices, colors) {
7
+ this.vertices = vertices;
8
+ this.colors = colors;
9
+ }
10
+ }
11
+ /**
12
+ * A pipeline for rendering the physics scene.
13
+ *
14
+ * To avoid leaking WASM resources, this MUST be freed manually with `debugRenderPipeline.free()`
15
+ * once you are done using it (and all the rigid-bodies it created).
16
+ */
17
+ export class DebugRenderPipeline {
18
+ /**
19
+ * Release the WASM memory occupied by this serialization pipeline.
20
+ */
21
+ free() {
22
+ if (!!this.raw) {
23
+ this.raw.free();
24
+ }
25
+ this.raw = undefined;
26
+ this.vertices = undefined;
27
+ this.colors = undefined;
28
+ }
29
+ constructor(raw) {
30
+ this.raw = raw || new RawDebugRenderPipeline();
31
+ }
32
+ render(bodies, colliders, impulse_joints, multibody_joints, narrow_phase) {
33
+ this.raw.render(bodies.raw, colliders.raw, impulse_joints.raw, multibody_joints.raw, narrow_phase.raw);
34
+ this.vertices = this.raw.vertices();
35
+ this.colors = this.raw.colors();
36
+ }
37
+ }
38
+ //# sourceMappingURL=debug_render_pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug_render_pipeline.js","sourceRoot":"","sources":["../src/pipeline/debug_render_pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,QAAQ,CAAC;AAW9C;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAe3B,YAAY,QAAsB,EAAE,MAAoB;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAK5B;;OAEG;IACH,IAAI;QACA,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,YAAY,GAA4B;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;IACnD,CAAC;IAEM,MAAM,CACT,MAAoB,EACpB,SAAsB,EACtB,cAA+B,EAC/B,gBAAmC,EACnC,YAAyB;QAEzB,IAAI,CAAC,GAAG,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,EACV,SAAS,CAAC,GAAG,EACb,cAAc,CAAC,GAAG,EAClB,gBAAgB,CAAC,GAAG,EACpB,YAAY,CAAC,GAAG,CACnB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;CACJ"}
@@ -0,0 +1,101 @@
1
+ import { RawContactForceEvent, RawEventQueue } from "../raw";
2
+ import { ColliderHandle } from "../geometry";
3
+ import { Vector } from "../math";
4
+ /**
5
+ * Flags indicating what events are enabled for colliders.
6
+ */
7
+ export declare enum ActiveEvents {
8
+ NONE = 0,
9
+ /**
10
+ * Enable collision events.
11
+ */
12
+ COLLISION_EVENTS = 1,
13
+ /**
14
+ * Enable contact force events.
15
+ */
16
+ CONTACT_FORCE_EVENTS = 2
17
+ }
18
+ /**
19
+ * Event occurring when the sum of the magnitudes of the
20
+ * contact forces between two colliders exceed a threshold.
21
+ *
22
+ * This object should **not** be stored anywhere. Its properties can only be
23
+ * read from within the closure given to `EventHandler.drainContactForceEvents`.
24
+ */
25
+ export declare class TempContactForceEvent {
26
+ raw: RawContactForceEvent;
27
+ free(): void;
28
+ /**
29
+ * The first collider involved in the contact.
30
+ */
31
+ collider1(): ColliderHandle;
32
+ /**
33
+ * The second collider involved in the contact.
34
+ */
35
+ collider2(): ColliderHandle;
36
+ /**
37
+ * The sum of all the forces between the two colliders.
38
+ */
39
+ totalForce(): Vector;
40
+ /**
41
+ * The sum of the magnitudes of each force between the two colliders.
42
+ *
43
+ * Note that this is **not** the same as the magnitude of `self.total_force`.
44
+ * Here we are summing the magnitude of all the forces, instead of taking
45
+ * the magnitude of their sum.
46
+ */
47
+ totalForceMagnitude(): number;
48
+ /**
49
+ * The world-space (unit) direction of the force with strongest magnitude.
50
+ */
51
+ maxForceDirection(): Vector;
52
+ /**
53
+ * The magnitude of the largest force at a contact point of this contact pair.
54
+ */
55
+ maxForceMagnitude(): number;
56
+ }
57
+ /**
58
+ * A structure responsible for collecting events generated
59
+ * by the physics engine.
60
+ *
61
+ * To avoid leaking WASM resources, this MUST be freed manually with `eventQueue.free()`
62
+ * once you are done using it.
63
+ */
64
+ export declare class EventQueue {
65
+ raw: RawEventQueue;
66
+ /**
67
+ * Creates a new event collector.
68
+ *
69
+ * @param autoDrain -setting this to `true` is strongly recommended. If true, the collector will
70
+ * be automatically drained before each `world.step(collector)`. If false, the collector will
71
+ * keep all events in memory unless it is manually drained/cleared; this may lead to unbounded use of
72
+ * RAM if no drain is performed.
73
+ */
74
+ constructor(autoDrain: boolean, raw?: RawEventQueue);
75
+ /**
76
+ * Release the WASM memory occupied by this event-queue.
77
+ */
78
+ free(): void;
79
+ /**
80
+ * Applies the given javascript closure on each collision event of this collector, then clear
81
+ * the internal collision event buffer.
82
+ *
83
+ * @param f - JavaScript closure applied to each collision event. The
84
+ * closure must take three arguments: two integers representing the handles of the colliders
85
+ * involved in the collision, and a boolean indicating if the collision started (true) or stopped
86
+ * (false).
87
+ */
88
+ drainCollisionEvents(f: (handle1: ColliderHandle, handle2: ColliderHandle, started: boolean) => void): void;
89
+ /**
90
+ * Applies the given javascript closure on each contact force event of this collector, then clear
91
+ * the internal collision event buffer.
92
+ *
93
+ * @param f - JavaScript closure applied to each collision event. The
94
+ * closure must take one `TempContactForceEvent` argument.
95
+ */
96
+ drainContactForceEvents(f: (event: TempContactForceEvent) => void): void;
97
+ /**
98
+ * Removes all events contained by this collector
99
+ */
100
+ clear(): void;
101
+ }