brepjs 9.5.1 → 9.6.1

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 (50) hide show
  1. package/dist/2d.cjs +2 -2
  2. package/dist/2d.js +3 -3
  3. package/dist/{Blueprint-DbcEnHcZ.cjs → Blueprint-Buw5NaaN.cjs} +1 -1
  4. package/dist/{Blueprint-CnctMERm.js → Blueprint-Ds7ldEuR.js} +1 -1
  5. package/dist/{boolean2D-NMaXON0W.cjs → boolean2D-BbMqR4ry.cjs} +2 -2
  6. package/dist/{boolean2D-UpAGffcM.js → boolean2D-UIFKiB-z.js} +2 -2
  7. package/dist/{booleanFns-7rIed0u7.js → booleanFns-B7o9xEKN.js} +1 -1
  8. package/dist/{booleanFns-Bv06tE2O.cjs → booleanFns-CicDrf13.cjs} +1 -1
  9. package/dist/brepjs.cjs +65 -40
  10. package/dist/brepjs.js +72 -47
  11. package/dist/{cornerFinder-Ci8VuZvA.cjs → cornerFinder-CmYHAi6y.cjs} +1 -1
  12. package/dist/{cornerFinder-HW6Pd4KN.js → cornerFinder-DRM_mW4S.js} +1 -1
  13. package/dist/{drawFns-C01_zGVe.cjs → drawFns-B3pqmauj.cjs} +6 -6
  14. package/dist/{drawFns-C8U90XIf.js → drawFns-BpL0Hy-d.js} +6 -6
  15. package/dist/{helpers-nNbxhw97.js → helpers-CgYPZtS3.js} +2 -2
  16. package/dist/{helpers-BlW0S8kc.cjs → helpers-ChqDvw7O.cjs} +2 -2
  17. package/dist/io/threemfImportFns.d.ts.map +1 -1
  18. package/dist/io.cjs +2 -2
  19. package/dist/io.js +2 -2
  20. package/dist/kernel/brepkit2d.d.ts +9 -0
  21. package/dist/kernel/brepkit2d.d.ts.map +1 -1
  22. package/dist/kernel/brepkitAdapter.d.ts +35 -3
  23. package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
  24. package/dist/kernel/brepkitWasmTypes.d.ts +41 -42
  25. package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
  26. package/dist/measurement/measureFns.d.ts.map +1 -1
  27. package/dist/{measurement-mWRWDA69.cjs → measurement-Be6iBmbY.cjs} +7 -1
  28. package/dist/{measurement-4z0i9NjE.js → measurement-uik4S5rT.js} +7 -1
  29. package/dist/measurement.cjs +1 -1
  30. package/dist/measurement.js +1 -1
  31. package/dist/{meshFns-D2eLJfd6.js → meshFns-DFcXnbUc.js} +1 -1
  32. package/dist/{meshFns-Bl6gXIPd.cjs → meshFns-DYVlvVgv.cjs} +1 -1
  33. package/dist/{operations-JLacBa4V.cjs → operations-BDDi1gRl.cjs} +2 -2
  34. package/dist/{operations-6JJEKei9.js → operations-CbOYvlV9.js} +2 -2
  35. package/dist/operations.cjs +1 -1
  36. package/dist/operations.js +1 -1
  37. package/dist/query.cjs +2 -2
  38. package/dist/query.js +3 -3
  39. package/dist/{shapeFns-DdBZDjVs.cjs → shapeFns-B4JqxpLh.cjs} +61 -2
  40. package/dist/{shapeFns-BO9NK6Oo.js → shapeFns-CAunmBwM.js} +61 -2
  41. package/dist/sketching.cjs +2 -2
  42. package/dist/sketching.js +2 -2
  43. package/dist/topology/compoundOpsFns.d.ts.map +1 -1
  44. package/dist/topology/shapeFns.d.ts +2 -1
  45. package/dist/topology/shapeFns.d.ts.map +1 -1
  46. package/dist/{topology-In3-XjPz.cjs → topology-BCIKO1hh.cjs} +3 -3
  47. package/dist/{topology-JKo9WLos.js → topology-cvQCn0CJ.js} +3 -3
  48. package/dist/topology.cjs +4 -4
  49. package/dist/topology.js +4 -4
  50. package/package.json +2 -2
@@ -302,14 +302,73 @@ function propagateOriginsByHash(inputs, result) {
302
302
  }
303
303
  }
304
304
  if (lookup.size === 0) return;
305
+ const kernel = shapeTypes.getKernel();
305
306
  const resultMap = /* @__PURE__ */ new Map();
306
- for (const f of getFaces(result)) {
307
- const hash = shapeTypes.getKernel().hashCode(f.wrapped, vecOps.HASH_CODE_MAX);
307
+ const resultFaces = getFaces(result);
308
+ for (const f of resultFaces) {
309
+ const hash = kernel.hashCode(f.wrapped, vecOps.HASH_CODE_MAX);
308
310
  const origin = lookup.get(hash);
309
311
  if (origin !== void 0) {
310
312
  resultMap.set(hash, origin);
311
313
  }
312
314
  }
315
+ if (resultMap.size === 0) {
316
+ const inputSigs = [];
317
+ for (const input of inputs) {
318
+ const origins = getFaceOrigins(input);
319
+ if (!origins) continue;
320
+ for (const f of getFaces(input)) {
321
+ const hash = kernel.hashCode(f.wrapped, vecOps.HASH_CODE_MAX);
322
+ const origin = origins.get(hash);
323
+ if (origin === void 0) continue;
324
+ try {
325
+ const bounds = kernel.uvBounds(f.wrapped);
326
+ const normal = kernel.surfaceNormal(
327
+ f.wrapped,
328
+ 0.5 * (bounds.uMin + bounds.uMax),
329
+ 0.5 * (bounds.vMin + bounds.vMax)
330
+ );
331
+ const centroid = kernel.surfaceCenterOfMass(f.wrapped);
332
+ inputSigs.push({ origin, normal, centroid });
333
+ } catch {
334
+ }
335
+ }
336
+ }
337
+ if (inputSigs.length > 0) {
338
+ for (const f of resultFaces) {
339
+ const hash = kernel.hashCode(f.wrapped, vecOps.HASH_CODE_MAX);
340
+ try {
341
+ const outBounds = kernel.uvBounds(f.wrapped);
342
+ const outNormal = kernel.surfaceNormal(
343
+ f.wrapped,
344
+ 0.5 * (outBounds.uMin + outBounds.uMax),
345
+ 0.5 * (outBounds.vMin + outBounds.vMax)
346
+ );
347
+ const outCentroid = kernel.surfaceCenterOfMass(f.wrapped);
348
+ let bestScore = -Infinity;
349
+ let bestOrigin;
350
+ for (const inp of inputSigs) {
351
+ const dot = outNormal[0] * inp.normal[0] + outNormal[1] * inp.normal[1] + outNormal[2] * inp.normal[2];
352
+ if (dot < 0.707) continue;
353
+ const dx = outCentroid[0] - inp.centroid[0];
354
+ const dy = outCentroid[1] - inp.centroid[1];
355
+ const dz = outCentroid[2] - inp.centroid[2];
356
+ const distSq = dx * dx + dy * dy + dz * dz;
357
+ if (distSq > 100) continue;
358
+ const score = dot - distSq / 100;
359
+ if (score > bestScore) {
360
+ bestScore = score;
361
+ bestOrigin = inp.origin;
362
+ }
363
+ }
364
+ if (bestOrigin !== void 0) {
365
+ resultMap.set(hash, bestOrigin);
366
+ }
367
+ } catch {
368
+ }
369
+ }
370
+ }
371
+ }
313
372
  if (resultMap.size > 0) {
314
373
  const cache = getOrCreateCache(result);
315
374
  cache.faceOrigins = resultMap;
@@ -301,14 +301,73 @@ function propagateOriginsByHash(inputs, result) {
301
301
  }
302
302
  }
303
303
  if (lookup.size === 0) return;
304
+ const kernel = getKernel();
304
305
  const resultMap = /* @__PURE__ */ new Map();
305
- for (const f of getFaces(result)) {
306
- const hash = getKernel().hashCode(f.wrapped, HASH_CODE_MAX);
306
+ const resultFaces = getFaces(result);
307
+ for (const f of resultFaces) {
308
+ const hash = kernel.hashCode(f.wrapped, HASH_CODE_MAX);
307
309
  const origin = lookup.get(hash);
308
310
  if (origin !== void 0) {
309
311
  resultMap.set(hash, origin);
310
312
  }
311
313
  }
314
+ if (resultMap.size === 0) {
315
+ const inputSigs = [];
316
+ for (const input of inputs) {
317
+ const origins = getFaceOrigins(input);
318
+ if (!origins) continue;
319
+ for (const f of getFaces(input)) {
320
+ const hash = kernel.hashCode(f.wrapped, HASH_CODE_MAX);
321
+ const origin = origins.get(hash);
322
+ if (origin === void 0) continue;
323
+ try {
324
+ const bounds = kernel.uvBounds(f.wrapped);
325
+ const normal = kernel.surfaceNormal(
326
+ f.wrapped,
327
+ 0.5 * (bounds.uMin + bounds.uMax),
328
+ 0.5 * (bounds.vMin + bounds.vMax)
329
+ );
330
+ const centroid = kernel.surfaceCenterOfMass(f.wrapped);
331
+ inputSigs.push({ origin, normal, centroid });
332
+ } catch {
333
+ }
334
+ }
335
+ }
336
+ if (inputSigs.length > 0) {
337
+ for (const f of resultFaces) {
338
+ const hash = kernel.hashCode(f.wrapped, HASH_CODE_MAX);
339
+ try {
340
+ const outBounds = kernel.uvBounds(f.wrapped);
341
+ const outNormal = kernel.surfaceNormal(
342
+ f.wrapped,
343
+ 0.5 * (outBounds.uMin + outBounds.uMax),
344
+ 0.5 * (outBounds.vMin + outBounds.vMax)
345
+ );
346
+ const outCentroid = kernel.surfaceCenterOfMass(f.wrapped);
347
+ let bestScore = -Infinity;
348
+ let bestOrigin;
349
+ for (const inp of inputSigs) {
350
+ const dot = outNormal[0] * inp.normal[0] + outNormal[1] * inp.normal[1] + outNormal[2] * inp.normal[2];
351
+ if (dot < 0.707) continue;
352
+ const dx = outCentroid[0] - inp.centroid[0];
353
+ const dy = outCentroid[1] - inp.centroid[1];
354
+ const dz = outCentroid[2] - inp.centroid[2];
355
+ const distSq = dx * dx + dy * dy + dz * dz;
356
+ if (distSq > 100) continue;
357
+ const score = dot - distSq / 100;
358
+ if (score > bestScore) {
359
+ bestScore = score;
360
+ bestOrigin = inp.origin;
361
+ }
362
+ }
363
+ if (bestOrigin !== void 0) {
364
+ resultMap.set(hash, bestOrigin);
365
+ }
366
+ } catch {
367
+ }
368
+ }
369
+ }
370
+ }
312
371
  if (resultMap.size > 0) {
313
372
  const cache = getOrCreateCache(result);
314
373
  cache.faceOrigins = resultMap;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const drawFns = require("./drawFns-C01_zGVe.cjs");
4
- const boolean2D = require("./boolean2D-NMaXON0W.cjs");
3
+ const drawFns = require("./drawFns-B3pqmauj.cjs");
4
+ const boolean2D = require("./boolean2D-BbMqR4ry.cjs");
5
5
  exports.CompoundSketch = drawFns.CompoundSketch;
6
6
  exports.Drawing = drawFns.Drawing;
7
7
  exports.DrawingPen = drawFns.DrawingPen;
package/dist/sketching.js CHANGED
@@ -1,5 +1,5 @@
1
- import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-C8U90XIf.js";
2
- import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-UpAGffcM.js";
1
+ import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-BpL0Hy-d.js";
2
+ import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-UIFKiB-z.js";
3
3
  export {
4
4
  B2 as BaseSketcher2d,
5
5
  a2 as BlueprintSketcher,
@@ -1 +1 @@
1
- {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAQ,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAkEvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAuC9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAoCX"}
1
+ {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAQ,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAkEvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAsD9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAoCX"}
@@ -83,7 +83,8 @@ export declare function getFaceOrigins(shape: AnyShape): Map<number, number> | u
83
83
  export declare function propagateOriginsFromEvolution(evolution: ShapeEvolution, inputs: AnyShape[], result: AnyShape): void;
84
84
  /**
85
85
  * Fallback origin propagation when no kernel op object is available.
86
- * Matches result faces to input faces by hash code (works for unmodified faces only).
86
+ * Matches result faces to input faces by hash code first; if no hash matches
87
+ * are found, falls back to geometric matching (normal + centroid comparison).
87
88
  */
88
89
  export declare function propagateOriginsByHash(inputs: AnyShape[], result: AnyShape): void;
89
90
  /** Get all vertices of a shape as branded Vertex handles. Results are cached per shape. */
@@ -1 +1 @@
1
- {"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
- const shapeFns = require("./shapeFns-DdBZDjVs.cjs");
3
- require("./booleanFns-Bv06tE2O.cjs");
2
+ const shapeFns = require("./shapeFns-B4JqxpLh.cjs");
3
+ require("./booleanFns-CicDrf13.cjs");
4
4
  const shapeTypes = require("./shapeTypes-DGDFzV7k.cjs");
5
5
  const faceFns = require("./faceFns-BxkKVWoi.cjs");
6
6
  const errors = require("./errors-DiTn5EoC.cjs");
7
7
  require("./curveFns-NHndvCbT.cjs");
8
8
  const vecOps = require("./vecOps-CjRL1jau.cjs");
9
- require("./meshFns-Bl6gXIPd.cjs");
9
+ require("./meshFns-DYVlvVgv.cjs");
10
10
  function toBufferGeometryData(mesh) {
11
11
  return {
12
12
  position: mesh.vertices,
@@ -1,11 +1,11 @@
1
- import { c as getWires, a as getFaces } from "./shapeFns-BO9NK6Oo.js";
2
- import "./booleanFns-7rIed0u7.js";
1
+ import { c as getWires, a as getFaces } from "./shapeFns-CAunmBwM.js";
2
+ import "./booleanFns-B7o9xEKN.js";
3
3
  import { q as getKernel, c as castShape, j as isShape3D, l as isSolid, e as isFace, n as isWire } from "./shapeTypes-Dh_qy0wO.js";
4
4
  import { d as downcast } from "./faceFns-BkJ2_drH.js";
5
5
  import { e as err, x as validationError, k as kernelError, d as isErr, p as typeCastError, o as ok, u as unwrap, g as isOk, B as BrepErrorCode } from "./errors-lBwyc8YG.js";
6
6
  import "./curveFns-DimdPJLf.js";
7
7
  import { H as HASH_CODE_MAX } from "./vecOps-ZDdZWbwT.js";
8
- import "./meshFns-D2eLJfd6.js";
8
+ import "./meshFns-DFcXnbUc.js";
9
9
  function toBufferGeometryData(mesh) {
10
10
  return {
11
11
  position: mesh.vertices,
package/dist/topology.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const shapeFns = require("./shapeFns-DdBZDjVs.cjs");
4
- const booleanFns = require("./booleanFns-Bv06tE2O.cjs");
5
- const topology = require("./topology-In3-XjPz.cjs");
3
+ const shapeFns = require("./shapeFns-B4JqxpLh.cjs");
4
+ const booleanFns = require("./booleanFns-CicDrf13.cjs");
5
+ const topology = require("./topology-BCIKO1hh.cjs");
6
6
  const curveFns = require("./curveFns-NHndvCbT.cjs");
7
7
  const faceFns = require("./faceFns-BxkKVWoi.cjs");
8
- const meshFns = require("./meshFns-Bl6gXIPd.cjs");
8
+ const meshFns = require("./meshFns-DYVlvVgv.cjs");
9
9
  exports.getBounds = shapeFns.getBounds;
10
10
  exports.getEdges = shapeFns.getEdges;
11
11
  exports.getFaces = shapeFns.getFaces;
package/dist/topology.js CHANGED
@@ -1,9 +1,9 @@
1
- import { h, d, a, f, e, c, x, i, y, z, A, B, v } from "./shapeFns-BO9NK6Oo.js";
2
- import { k, j } from "./booleanFns-7rIed0u7.js";
3
- import { a as a2, b, c as c2, e as e2, f as f2, d as d2, g, j as j2, s, t, k as k2, l, v as v2, w } from "./topology-JKo9WLos.js";
1
+ import { h, d, a, f, e, c, x, i, y, z, A, B, v } from "./shapeFns-CAunmBwM.js";
2
+ import { k, j } from "./booleanFns-B7o9xEKN.js";
3
+ import { a as a2, b, c as c2, e as e2, f as f2, d as d2, g, j as j2, s, t, k as k2, l, v as v2, w } from "./topology-cvQCn0CJ.js";
4
4
  import { j as j3, a as a3, e as e3, k as k3, i as i2, l as l2, h as h2, d as d3, c as c3, f as f3, b as b2, g as g2, m, o } from "./curveFns-DimdPJLf.js";
5
5
  import { l as l3, c as c4, m as m2, j as j4, d as d4, e as e4, f as f4, q, r, g as g3, k as k4, s as s2, i as i3, n, o as o2, p, t as t2, v as v3, u, h as h3 } from "./faceFns-BkJ2_drH.js";
6
- import { c as c5, b as b3, e as e5, d as d5, f as f5 } from "./meshFns-D2eLJfd6.js";
6
+ import { c as c5, b as b3, e as e5, d as d5, f as f5 } from "./meshFns-DFcXnbUc.js";
7
7
  export {
8
8
  a2 as adjacentFaces,
9
9
  j3 as approximateCurve,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "9.5.1",
3
+ "version": "9.6.1",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",
@@ -198,7 +198,7 @@
198
198
  "@types/opentype.js": "1.3.9",
199
199
  "@vitest/coverage-v8": "4.0.18",
200
200
  "brepjs-opencascade": "*",
201
- "brepkit-wasm": "0.5.1",
201
+ "brepkit-wasm": "0.5.2",
202
202
  "eslint": "10.0.1",
203
203
  "husky": "9.1.7",
204
204
  "knip": "5.85.0",