@woosh/meep-engine 2.144.0 → 2.146.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/package.json +1 -1
- package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/BVH.js +158 -4
- package/src/core/geom/3d/shape/CylinderShape3D.d.ts +56 -0
- package/src/core/geom/3d/shape/CylinderShape3D.d.ts.map +1 -0
- package/src/core/geom/3d/shape/CylinderShape3D.js +223 -0
- package/src/core/geom/3d/shape/HeightMapShape3D.d.ts +33 -3
- package/src/core/geom/3d/shape/HeightMapShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/HeightMapShape3D.js +486 -451
- package/src/core/geom/3d/shape/json/shape_to_type.d.ts.map +1 -1
- package/src/core/geom/3d/shape/json/shape_to_type.js +3 -0
- package/src/core/geom/3d/shape/json/type_adapters.d.ts +15 -0
- package/src/core/geom/3d/shape/json/type_adapters.d.ts.map +1 -1
- package/src/core/geom/3d/shape/json/type_adapters.js +16 -0
- package/src/engine/control/first-person/DESIGN_COLLISION.md +365 -302
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts +1 -3
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts +12 -2
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.js +7 -2
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +13 -0
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +16 -2
- package/src/engine/control/first-person/TODO.md +13 -11
- package/src/engine/control/first-person/abilities/WallJump.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/WallJump.js +11 -3
- package/src/engine/control/first-person/abilities/WallRun.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/WallRun.js +30 -35
- package/src/engine/control/first-person/collision/KinematicMover.d.ts +35 -5
- package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
- package/src/engine/control/first-person/collision/KinematicMover.js +634 -424
- package/src/engine/control/first-person/prototype_first_person_controller.js +1003 -901
- package/src/engine/physics/PLAN.md +943 -767
- package/src/engine/physics/body/BodyStorage.d.ts +9 -0
- package/src/engine/physics/body/BodyStorage.d.ts.map +1 -1
- package/src/engine/physics/body/BodyStorage.js +23 -0
- package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
- package/src/engine/physics/broadphase/generate_pairs.js +7 -0
- package/src/engine/physics/ccd/linear_sweep.d.ts +97 -0
- package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -0
- package/src/engine/physics/ccd/linear_sweep.js +238 -0
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +18 -3
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +59 -8
- package/src/engine/physics/ecs/RigidBodyFlags.d.ts +6 -0
- package/src/engine/physics/ecs/RigidBodyFlags.d.ts.map +1 -1
- package/src/engine/physics/ecs/RigidBodyFlags.js +6 -0
- package/src/engine/physics/narrowphase/box_triangle_contact.js +811 -811
- package/src/engine/physics/narrowphase/compute_penetration.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/compute_penetration.js +325 -323
- package/src/engine/physics/narrowphase/decomposition/heightmap_enumerate_triangles.d.ts +27 -8
- package/src/engine/physics/narrowphase/decomposition/heightmap_enumerate_triangles.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/decomposition/heightmap_enumerate_triangles.js +235 -204
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/narrowphase_step.js +70 -13
- package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -1
- package/src/engine/physics/queries/overlap_shape.js +185 -183
- package/src/engine/simulation/Ticker.d.ts +14 -0
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +136 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape_to_type.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/shape_to_type.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shape_to_type.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/shape_to_type.js"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,uDAFa,MAAM,CAoBlB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CapsuleShape3D } from "../CapsuleShape3D.js";
|
|
2
|
+
import { CylinderShape3D } from "../CylinderShape3D.js";
|
|
2
3
|
import { SphereShape3D } from "../SphereShape3D.js";
|
|
3
4
|
import { TransformedShape3D } from "../TransformedShape3D.js";
|
|
4
5
|
import { UnionShape3D } from "../UnionShape3D.js";
|
|
@@ -22,6 +23,8 @@ export function shape_to_type(shape) {
|
|
|
22
23
|
return 'transform';
|
|
23
24
|
} else if (shape instanceof CapsuleShape3D) {
|
|
24
25
|
return 'capsule';
|
|
26
|
+
} else if (shape instanceof CylinderShape3D) {
|
|
27
|
+
return 'cylinder';
|
|
25
28
|
} else {
|
|
26
29
|
throw new Error('Unsupported shape');
|
|
27
30
|
}
|
|
@@ -30,6 +30,20 @@ export namespace type_adapters {
|
|
|
30
30
|
height: number;
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
+
namespace cylinder {
|
|
34
|
+
function read({ radius, height }: {
|
|
35
|
+
radius: any;
|
|
36
|
+
height: any;
|
|
37
|
+
}): CylinderShape3D;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @param {CylinderShape3D} object
|
|
41
|
+
*/
|
|
42
|
+
function write(object: CylinderShape3D): {
|
|
43
|
+
radius: number;
|
|
44
|
+
height: number;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
33
47
|
namespace transform {
|
|
34
48
|
function read({ transform, subject }: {
|
|
35
49
|
transform: any;
|
|
@@ -60,6 +74,7 @@ export namespace type_adapters {
|
|
|
60
74
|
import { UnitCubeShape3D } from "../UnitCubeShape3D.js";
|
|
61
75
|
import { SphereShape3D } from "../SphereShape3D.js";
|
|
62
76
|
import { CapsuleShape3D } from "../CapsuleShape3D.js";
|
|
77
|
+
import { CylinderShape3D } from "../CylinderShape3D.js";
|
|
63
78
|
import { TransformedShape3D } from "../TransformedShape3D.js";
|
|
64
79
|
import { UnionShape3D } from "../UnionShape3D.js";
|
|
65
80
|
//# sourceMappingURL=type_adapters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type_adapters.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/type_adapters.js"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"type_adapters.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/type_adapters.js"],"names":[],"mappings":";;QAYQ,iCAEC;QACD,qBAEC;;;QAGD;;0BAQC;QACD;;WAEG;QACH;;;;UAIC;;;QAGD;;;2BAEC;QACD;;;WAGG;QACH;;;UAKC;;;QAGD;;;4BAEC;QACD;;;WAGG;QACH;;;UAKC;;;QAGD;;;+BAIC;QACD;;;WAGG;QACH;;;UAKC;;;QAGD;;yBAIC;QACD;;;WAGG;QACH;;UAIC;;;gCA9FuB,uBAAuB;8BAHzB,qBAAqB;+BAFpB,sBAAsB;gCACrB,uBAAuB;mCAEpB,0BAA0B;6BAChC,oBAAoB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CapsuleShape3D } from "../CapsuleShape3D.js";
|
|
2
|
+
import { CylinderShape3D } from "../CylinderShape3D.js";
|
|
2
3
|
import { SphereShape3D } from "../SphereShape3D.js";
|
|
3
4
|
import { TransformedShape3D } from "../TransformedShape3D.js";
|
|
4
5
|
import { UnionShape3D } from "../UnionShape3D.js";
|
|
@@ -50,6 +51,21 @@ export const type_adapters = {
|
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
},
|
|
54
|
+
'cylinder': {
|
|
55
|
+
read({ radius, height }) {
|
|
56
|
+
return CylinderShape3D.from(radius, height);
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @param {CylinderShape3D} object
|
|
61
|
+
*/
|
|
62
|
+
write(object) {
|
|
63
|
+
return {
|
|
64
|
+
radius: object.radius,
|
|
65
|
+
height: object.height
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
},
|
|
53
69
|
'transform': {
|
|
54
70
|
read({ transform, subject }) {
|
|
55
71
|
const subject_shape = shape_from_json(subject);
|