@perplexdotgg/bounce 1.0.2 → 1.0.4

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/build/bounce.d.ts CHANGED
@@ -2151,7 +2151,6 @@ readonly z: PropertyDefinitionNumber<true>;
2151
2151
  declare interface BuildTriangleMeshParams {
2152
2152
  vertexPositions: Float32Array;
2153
2153
  faceIndices: Uint32Array;
2154
- bvhOptions: TriangleMeshBvhTreeOptions;
2155
2154
  }
2156
2155
 
2157
2156
  declare class BvhModule {
@@ -4810,7 +4809,7 @@ export declare interface CollisionSettings {
4810
4809
  export declare class CompoundShape extends CompoundShape_base implements ShapeCollectionInterface {
4811
4810
  type: ShapeType.compoundShape;
4812
4811
  world: World | null;
4813
- walkShapes(onShapeFound: (shape: ConvexShape, transform: BasicTransform) => boolean): void;
4812
+ walkShapes(onShapeFound: (shape: ConvexShape, transform: BasicTransform) => boolean | undefined | void): void;
4814
4813
  computeNumShapes(): number;
4815
4814
  getShapeAtIndex(index: number): MonomorphInstanceWithPool< {
4816
4815
  readonly shapeType: PropertyDefinition_2<ShapeType, true>;
@@ -24625,7 +24624,7 @@ declare class TriangleFactory {
24625
24624
  freeTriangle(inT: Triangle_2): void;
24626
24625
  }
24627
24626
 
24628
- declare class TriangleMesh extends TriangleMesh_base implements ShapeCollectionInterface {
24627
+ export declare class TriangleMesh extends TriangleMesh_base implements ShapeCollectionInterface {
24629
24628
  type: ShapeType.triangleMesh;
24630
24629
  world: World | null;
24631
24630
  intersectsAabb(aabb: Aabb): boolean;
@@ -27354,7 +27353,7 @@ readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends Mon
27354
27353
  declare class TriangleMeshBvhTree extends TriangleMeshBvhTree_base {
27355
27354
  intersectStack: TriangleMeshBvhNode[];
27356
27355
  walkStack: TriangleMeshBvhNode[];
27357
- build(params: TriangleMeshBvhTreeBuildParams, trianglePool: typeof Triangle.Pool): void;
27356
+ build(mesh: TriangleMesh, trianglePool: typeof Triangle.Pool): void;
27358
27357
  get root(): MonomorphInstanceWithPool< {
27359
27358
  readonly parent: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
27360
27359
  readonly left: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
@@ -28853,14 +28852,6 @@ readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends Mon
28853
28852
  }>>;
28854
28853
  }>) | undefined>;
28855
28854
 
28856
- declare interface TriangleMeshBvhTreeBuildParams {
28857
- mesh: TriangleMesh;
28858
- bvhTreeOptions: TriangleMeshBvhTreeOptions;
28859
- }
28860
-
28861
- declare interface TriangleMeshBvhTreeOptions {
28862
- }
28863
-
28864
28855
  /**
28865
28856
  * Specialized triangles list that keeps them sorted on closest distance to origin
28866
28857
  */
package/build/bounce.js CHANGED
@@ -3241,9 +3241,9 @@ var ConstraintType = /* @__PURE__ */ ((ConstraintType2) => {
3241
3241
  })(ConstraintType || {});
3242
3242
  const baseConstraintProps = {
3243
3243
  // unless we use require here, this file will be imported after it is needed
3244
- bodyA: /* @__PURE__ */ LazyReferenceType((() => require("../physics/Body").Body)),
3245
- bodyB: /* @__PURE__ */ LazyReferenceType((() => require("../physics/Body").Body)),
3246
- constraintPairNode: /* @__PURE__ */ LazyReferenceType((() => require("../physics/broadphase/ConstraintPairsModule").ConstraintPairNode)),
3244
+ bodyA: /* @__PURE__ */ LazyReferenceType((() => Body)),
3245
+ bodyB: /* @__PURE__ */ LazyReferenceType((() => Body)),
3246
+ constraintPairNode: /* @__PURE__ */ LazyReferenceType((() => ConstraintPairNode)),
3247
3247
  referenceFrame: /* @__PURE__ */ NumberType(0),
3248
3248
  isEnabled: /* @__PURE__ */ BooleanType(true)
3249
3249
  };
@@ -6857,9 +6857,9 @@ class TriangleMeshBvhTree extends (/* @__PURE__ */ createClass(
6857
6857
  this.intersectStack = [];
6858
6858
  this.walkStack = [];
6859
6859
  }
6860
- build(params, trianglePool) {
6860
+ build(mesh, trianglePool) {
6861
6861
  const objects = [];
6862
- for (const triangle2 of params.mesh.triangles) {
6862
+ for (const triangle2 of mesh.triangles) {
6863
6863
  objects.push(triangle2);
6864
6864
  }
6865
6865
  const root = this.nodes.create({
@@ -16122,10 +16122,7 @@ class TriangleMeshBuilder {
16122
16122
  mesh.bvh = TriangleMeshBvhTree.create({
16123
16123
  nodes: { pool: nodes }
16124
16124
  }, bvhTreePool);
16125
- mesh.bvh.build({
16126
- mesh,
16127
- bvhTreeOptions: params.bvhOptions
16128
- }, triangles);
16125
+ mesh.bvh.build(mesh, triangles);
16129
16126
  const hull = this.convexHullBuilder.buildFromPoints(params.vertexPositions, 0, 1e-3);
16130
16127
  mesh.computedVolume = hull.computedVolume;
16131
16128
  mesh.inertia.copy(hull.inertia);
@@ -17156,6 +17153,7 @@ export {
17156
17153
  Sphere,
17157
17154
  SupportMode,
17158
17155
  TransformedShape,
17156
+ TriangleMesh,
17159
17157
  Vec3,
17160
17158
  World,
17161
17159
  baseConstraintProps,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perplexdotgg/bounce",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "license": "MIT",
5
5
  "description": "Bounce",
6
6
  "main": "./build/bounce.js",
@@ -15,14 +15,14 @@
15
15
  "monomorph": "^1.1.0"
16
16
  },
17
17
  "devDependencies": {
18
- "@types/node": "^24.9.0",
18
+ "@types/node": "^24.9.2",
19
19
  "ts-node": "^10.9.2",
20
20
  "tslib": "^2.8.1",
21
21
  "typescript": "^5.9.3",
22
- "vite": "^7.1.11",
22
+ "vite": "^7.1.12",
23
23
  "vite-plugin-conditional-compiler": "^0.3.1",
24
24
  "vite-plugin-dts": "^4.5.4",
25
- "vitest": "^3.2.4"
25
+ "vitest": "^4.0.6"
26
26
  },
27
27
  "type": "module",
28
28
  "repository": {
package/vite.config.js CHANGED
@@ -32,6 +32,20 @@ export default defineConfig({
32
32
  // showDiagnostics: true,
33
33
  // },
34
34
  }),
35
+ {
36
+ name: 'remove require() calls',
37
+ apply: 'build',
38
+ generateBundle(options, bundle) {
39
+ for (const [fileName, chunkInfo] of Object.entries(bundle)) {
40
+ if (chunkInfo.type === 'chunk') {
41
+ let code = chunkInfo.code;
42
+ // Simple regex to remove require() calls
43
+ code = code.replace(/require\((['"`])(.*?)\1\)\.?/g, '');
44
+ chunkInfo.code = code;
45
+ }
46
+ }
47
+ }
48
+ },
35
49
  ],
36
50
  test: {
37
51
  include: ["tests/**/*.test.ts"],