brepjs 12.3.0 → 12.4.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.
Files changed (64) hide show
  1. package/dist/2d/blueprints/Blueprint.d.ts +1 -1
  2. package/dist/2d/blueprints/Blueprint.d.ts.map +1 -1
  3. package/dist/2d.cjs +2 -2
  4. package/dist/2d.js +3 -3
  5. package/dist/{Blueprint-Bh6166KA.cjs → Blueprint-CoFJDAQd.cjs} +6 -6
  6. package/dist/{Blueprint-BBLKmtl9.js → Blueprint-CtuUvzex.js} +6 -6
  7. package/dist/{boolean2D-Bl4iyJfa.cjs → boolean2D-Dk-vLBdl.cjs} +8 -8
  8. package/dist/{boolean2D-D2s-G0Wm.js → boolean2D-x2irapGj.js} +8 -8
  9. package/dist/{booleanFns-DdbAk1KC.cjs → booleanFns-BJjYqwJ5.cjs} +3 -3
  10. package/dist/{booleanFns-CKWVFBtF.js → booleanFns-DtOkwLHI.js} +3 -3
  11. package/dist/brepjs.cjs +218 -17
  12. package/dist/brepjs.js +229 -28
  13. package/dist/core.cjs +1 -1
  14. package/dist/core.js +1 -1
  15. package/dist/{cornerFinder-zd2oBgyp.cjs → cornerFinder-BESZIitp.cjs} +2 -2
  16. package/dist/{cornerFinder-C-o3TN3q.js → cornerFinder-FY38t0zq.js} +2 -2
  17. package/dist/{curveFns-p0x8jy0i.cjs → curveFns-Ch87sD5O.cjs} +1 -1
  18. package/dist/{curveFns-DyVPTb1r.js → curveFns-LRNGcHXh.js} +1 -1
  19. package/dist/{drawFns-DXwZzno9.cjs → drawFns-BEeoD1yO.cjs} +16 -16
  20. package/dist/{drawFns-DpAQM_F6.js → drawFns-D8QyY7cg.js} +16 -16
  21. package/dist/{faceFns-CvR-ZEQA.js → faceFns-B6ebRh5I.js} +1 -1
  22. package/dist/{faceFns-SVADeb01.cjs → faceFns-BLTEPBKq.cjs} +1 -1
  23. package/dist/{helpers-3fsqd4mW.cjs → helpers-DNzVfe-Z.cjs} +4 -4
  24. package/dist/{helpers-F_D1WON3.js → helpers-DeFPsrcI.js} +4 -4
  25. package/dist/io.cjs +3 -3
  26. package/dist/io.js +3 -3
  27. package/dist/kernel/brepkitAdapter.d.ts +30 -0
  28. package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
  29. package/dist/kernel/brepkitWasmTypes.d.ts +2 -2
  30. package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
  31. package/dist/kernel/defaultAdapter.d.ts +34 -0
  32. package/dist/kernel/defaultAdapter.d.ts.map +1 -1
  33. package/dist/kernel/types.d.ts +68 -0
  34. package/dist/kernel/types.d.ts.map +1 -1
  35. package/dist/{loft-98s9uwpg.cjs → loft-DR1UN5uN.cjs} +4 -4
  36. package/dist/{loft-BvZFfPqO.js → loft-DsVv4yxU.js} +4 -4
  37. package/dist/{measurement-g8ldN7oe.cjs → measurement-DoYXRaKI.cjs} +2 -2
  38. package/dist/{measurement-vbHd9lpV.js → measurement-oWvhSVZG.js} +2 -2
  39. package/dist/measurement.cjs +1 -1
  40. package/dist/measurement.js +1 -1
  41. package/dist/{meshFns-CF-JdX5P.cjs → meshFns-BU2l_yOm.cjs} +2 -2
  42. package/dist/{meshFns-RN83Wiry.js → meshFns-HNwWuM4v.js} +2 -2
  43. package/dist/{operations-CrLZ6fyL.cjs → operations-D-gTZNtM.cjs} +6 -6
  44. package/dist/{operations-CxvdnWzU.js → operations-D_3rrfrE.js} +6 -6
  45. package/dist/operations.cjs +2 -2
  46. package/dist/operations.js +2 -2
  47. package/dist/query.cjs +4 -4
  48. package/dist/query.js +5 -5
  49. package/dist/{shapeFns-38GljA_p.js → shapeFns-CbXxLvV_.js} +2 -2
  50. package/dist/{shapeFns-BoN5g5Bx.cjs → shapeFns-DHlLNHTn.cjs} +2 -2
  51. package/dist/{shapeTypes-DTGA0liC.cjs → shapeTypes-7xEam9Ri.cjs} +103 -0
  52. package/dist/{shapeTypes-5DPsHB8i.js → shapeTypes-CpSaBLDv.js} +103 -0
  53. package/dist/sketching.cjs +2 -2
  54. package/dist/sketching.js +2 -2
  55. package/dist/{solidBuilders-BWkneWjU.js → solidBuilders-BXhh5hP2.js} +2 -2
  56. package/dist/{solidBuilders-CUc2rvWv.cjs → solidBuilders-BzfRBizW.cjs} +2 -2
  57. package/dist/{surfaceBuilders-tYoe8sri.cjs → surfaceBuilders-Be_ENWSA.cjs} +2 -2
  58. package/dist/{surfaceBuilders-CXbEDGBQ.js → surfaceBuilders-D7ZH2QNS.js} +2 -2
  59. package/dist/topology/adjacencyFns.d.ts.map +1 -1
  60. package/dist/{topology-CH4LBfQg.cjs → topology-BHnY7Szr.cjs} +8 -8
  61. package/dist/{topology-Bq7mZh3W.js → topology-C1eZ86dI.js} +8 -8
  62. package/dist/topology.cjs +6 -6
  63. package/dist/topology.js +6 -6
  64. package/package.json +4 -4
@@ -123,7 +123,7 @@ export default class Blueprint implements DrawingInterface {
123
123
  * @param origin - Optional UV origin offset (defaults to the face center).
124
124
  * @returns A new Face bounded by the blueprint's profile.
125
125
  */
126
- subFace(face: Face, origin?: PointInput | null): Face;
126
+ private subFace;
127
127
  /**
128
128
  * Cut a prism-shaped hole through a solid along a face using this blueprint.
129
129
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Blueprint.d.ts","sourceRoot":"","sources":["../../../src/2d/blueprints/Blueprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Blueprint.d.ts","sourceRoot":"","sources":["../../../src/2d/blueprints/Blueprint.ts"],"names":[],"mappings":"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"}
package/dist/2d.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Blueprint = require("./Blueprint-Bh6166KA.cjs");
4
- const boolean2D = require("./boolean2D-Bl4iyJfa.cjs");
3
+ const Blueprint = require("./Blueprint-CoFJDAQd.cjs");
4
+ const boolean2D = require("./boolean2D-Dk-vLBdl.cjs");
5
5
  function reverseCurve(curve) {
6
6
  const cloned = curve.clone();
7
7
  cloned.reverse();
package/dist/2d.js CHANGED
@@ -1,6 +1,6 @@
1
- import { B as Blueprint } from "./Blueprint-BBLKmtl9.js";
2
- import { d, C } from "./Blueprint-BBLKmtl9.js";
3
- import { e, C as C2, f, l, g, n, k, q, o, p, r } from "./boolean2D-D2s-G0Wm.js";
1
+ import { B as Blueprint } from "./Blueprint-CtuUvzex.js";
2
+ import { d, C } from "./Blueprint-CtuUvzex.js";
3
+ import { e, C as C2, f, l, g, n, k, q, o, p, r } from "./boolean2D-x2irapGj.js";
4
4
  function reverseCurve(curve) {
5
5
  const cloned = curve.clone();
6
6
  cloned.reverse();
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  const vectors = require("./vectors-TlfO1hu2.cjs");
3
3
  const types = require("./types-CA_xrgDq.cjs");
4
- const shapeTypes = require("./shapeTypes-DTGA0liC.cjs");
5
- const faceFns = require("./faceFns-SVADeb01.cjs");
6
- const curveFns = require("./curveFns-p0x8jy0i.cjs");
4
+ const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
5
+ const faceFns = require("./faceFns-BLTEPBKq.cjs");
6
+ const curveFns = require("./curveFns-Ch87sD5O.cjs");
7
7
  const errors = require("./errors-9fDehDNc.cjs");
8
- const helpers = require("./helpers-3fsqd4mW.cjs");
8
+ const helpers = require("./helpers-DNzVfe-Z.cjs");
9
9
  const vecOps = require("./vecOps-CjRL1jau.cjs");
10
- const surfaceBuilders = require("./surfaceBuilders-tYoe8sri.cjs");
10
+ const surfaceBuilders = require("./surfaceBuilders-Be_ENWSA.cjs");
11
11
  const result = require("./result.cjs");
12
12
  function makePlane(plane, origin) {
13
13
  if (plane && typeof plane !== "string") {
@@ -340,7 +340,7 @@ class Curve2D {
340
340
  if (Math.abs(parameters[0] - firstParam) < precision * 100) parameters = parameters.slice(1);
341
341
  if (!parameters.length) return [this];
342
342
  if (
343
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
343
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- parameters is non-empty
344
344
  Math.abs(parameters[parameters.length - 1] - lastParam) < precision * 100
345
345
  )
346
346
  parameters = parameters.slice(0, -1);
@@ -1,12 +1,12 @@
1
1
  import { r as resolvePlane } from "./vectors-cec8p8NQ.js";
2
2
  import { a as toVec3 } from "./types-CWDdqcrq.js";
3
- import { B as getKernel, J as getKernel2D, K as registerForCleanup, L as unregisterFromCleanup, H as createEdge, G as createWire } from "./shapeTypes-5DPsHB8i.js";
4
- import { u as uvBounds, f as faceGeomType, e as faceCenter, h as uvCoordinates, c as cast } from "./faceFns-CvR-ZEQA.js";
5
- import { g as getOrientation } from "./curveFns-DyVPTb1r.js";
3
+ import { B as getKernel, J as getKernel2D, K as registerForCleanup, L as unregisterFromCleanup, H as createEdge, G as createWire } from "./shapeTypes-CpSaBLDv.js";
4
+ import { u as uvBounds, f as faceGeomType, e as faceCenter, h as uvCoordinates, c as cast } from "./faceFns-B6ebRh5I.js";
5
+ import { g as getOrientation } from "./curveFns-LRNGcHXh.js";
6
6
  import { o as ok, e as err, b as computationError, r as unwrap, y as validationError } from "./errors-B7kgv0cd.js";
7
- import { d as distance2d, s as samePoint, b as scalarMultiply2d, c as add2d, e as subtract2d, g as getSingleFace } from "./helpers-F_D1WON3.js";
7
+ import { d as distance2d, s as samePoint, b as scalarMultiply2d, c as add2d, e as subtract2d, g as getSingleFace } from "./helpers-DeFPsrcI.js";
8
8
  import { R as RAD2DEG, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
9
- import { m as makeFace } from "./surfaceBuilders-CXbEDGBQ.js";
9
+ import { m as makeFace } from "./surfaceBuilders-D7ZH2QNS.js";
10
10
  import { bug } from "./result.js";
11
11
  function makePlane(plane, origin) {
12
12
  if (plane && typeof plane !== "string") {
@@ -339,7 +339,7 @@ class Curve2D {
339
339
  if (Math.abs(parameters[0] - firstParam) < precision * 100) parameters = parameters.slice(1);
340
340
  if (!parameters.length) return [this];
341
341
  if (
342
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
342
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- parameters is non-empty
343
343
  Math.abs(parameters[parameters.length - 1] - lastParam) < precision * 100
344
344
  )
345
345
  parameters = parameters.slice(0, -1);
@@ -46,16 +46,16 @@ var __callDispose = (stack, error, hasError) => {
46
46
  };
47
47
  const vectors = require("./vectors-TlfO1hu2.cjs");
48
48
  const errors = require("./errors-9fDehDNc.cjs");
49
- const faceFns = require("./faceFns-SVADeb01.cjs");
49
+ const faceFns = require("./faceFns-BLTEPBKq.cjs");
50
50
  const types = require("./types-CA_xrgDq.cjs");
51
51
  const vecOps = require("./vecOps-CjRL1jau.cjs");
52
- const loft = require("./loft-98s9uwpg.cjs");
53
- const shapeTypes = require("./shapeTypes-DTGA0liC.cjs");
54
- const curveFns = require("./curveFns-p0x8jy0i.cjs");
55
- const surfaceBuilders = require("./surfaceBuilders-tYoe8sri.cjs");
52
+ const loft = require("./loft-DR1UN5uN.cjs");
53
+ const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
54
+ const curveFns = require("./curveFns-Ch87sD5O.cjs");
55
+ const surfaceBuilders = require("./surfaceBuilders-Be_ENWSA.cjs");
56
56
  const result = require("./result.cjs");
57
- const helpers = require("./helpers-3fsqd4mW.cjs");
58
- const Blueprint = require("./Blueprint-Bh6166KA.cjs");
57
+ const helpers = require("./helpers-DNzVfe-Z.cjs");
58
+ const Blueprint = require("./Blueprint-CoFJDAQd.cjs");
59
59
  const intersectCurves = (first, second, precision = 1e-9) => {
60
60
  if (first.boundingBox.isOut(second.boundingBox))
61
61
  return errors.ok({ intersections: [], commonSegments: [], commonSegmentsPoints: [] });
@@ -704,7 +704,7 @@ class CompoundBlueprint {
704
704
  return [
705
705
  "Compound Blueprints",
706
706
  "-- Outline",
707
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
707
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- compound always has outer boundary
708
708
  this.blueprints[0].repr,
709
709
  "-- Holes",
710
710
  ...this.blueprints.slice(1).map((b) => b.repr)
@@ -45,16 +45,16 @@ var __callDispose = (stack, error, hasError) => {
45
45
  };
46
46
  import { a as createPlane } from "./vectors-cec8p8NQ.js";
47
47
  import { o as ok, e as err, b as computationError, r as unwrap, g as isOk } from "./errors-B7kgv0cd.js";
48
- import { d as downcast, u as uvBounds, p as pointOnSurface, n as normalAt } from "./faceFns-CvR-ZEQA.js";
48
+ import { d as downcast, u as uvBounds, p as pointOnSurface, n as normalAt } from "./faceFns-B6ebRh5I.js";
49
49
  import { a as toVec3 } from "./types-CWDdqcrq.js";
50
50
  import { n as vecScale, j as vecNormalize, b as vecCross, D as DEG2RAD, R as RAD2DEG } from "./vecOps-ZDdZWbwT.js";
51
- import { r as revolution, c as complexExtrude, t as twistExtrude, b as basicFaceExtrusion, g as genericSweep, l as loft } from "./loft-BvZFfPqO.js";
52
- import { J as getKernel2D, I as createFace, G as createWire, B as getKernel, H as createEdge, D as DisposalScope } from "./shapeTypes-5DPsHB8i.js";
53
- import { d as curveStartPoint, c as curveTangentAt, e as curveIsClosed } from "./curveFns-DyVPTb1r.js";
54
- import { m as makeFace, l as makeNewFaceWithinFace, b as assembleWire, z as zip } from "./surfaceBuilders-CXbEDGBQ.js";
51
+ import { r as revolution, c as complexExtrude, t as twistExtrude, b as basicFaceExtrusion, g as genericSweep, l as loft } from "./loft-DsVv4yxU.js";
52
+ import { J as getKernel2D, I as createFace, G as createWire, B as getKernel, H as createEdge, D as DisposalScope } from "./shapeTypes-CpSaBLDv.js";
53
+ import { d as curveStartPoint, c as curveTangentAt, e as curveIsClosed } from "./curveFns-LRNGcHXh.js";
54
+ import { m as makeFace, l as makeNewFaceWithinFace, b as assembleWire, z as zip } from "./surfaceBuilders-D7ZH2QNS.js";
55
55
  import { bug } from "./result.js";
56
- import { s as samePoint$1, e as subtract2d, c as add2d, i as crossProduct2d, b as scalarMultiply2d, f as polarToCartesian, r as rotate2d, j as cartesianToPolar, d as distance2d, p as polarAngle2d, k as PRECISION_INTERSECTION } from "./helpers-F_D1WON3.js";
57
- import { C as Curve2D, a as make2dSegmentCurve, j as approximateAsBSpline, n as normalize2d, b as make2dArcFromCenter, k as isPoint2D, g as make2dCircle, l as make2dThreePointArc, d as BoundingBox2d, v as viewbox, o as asSVG, B as Blueprint, p as make2dEllipseArc, q as make2dTangentArc, r as make2dBezierCurve, s as removeDuplicatePoints } from "./Blueprint-BBLKmtl9.js";
56
+ import { s as samePoint$1, e as subtract2d, c as add2d, i as crossProduct2d, b as scalarMultiply2d, f as polarToCartesian, r as rotate2d, j as cartesianToPolar, d as distance2d, p as polarAngle2d, k as PRECISION_INTERSECTION } from "./helpers-DeFPsrcI.js";
57
+ import { C as Curve2D, a as make2dSegmentCurve, j as approximateAsBSpline, n as normalize2d, b as make2dArcFromCenter, k as isPoint2D, g as make2dCircle, l as make2dThreePointArc, d as BoundingBox2d, v as viewbox, o as asSVG, B as Blueprint, p as make2dEllipseArc, q as make2dTangentArc, r as make2dBezierCurve, s as removeDuplicatePoints } from "./Blueprint-CtuUvzex.js";
58
58
  const intersectCurves = (first, second, precision = 1e-9) => {
59
59
  if (first.boundingBox.isOut(second.boundingBox))
60
60
  return ok({ intersections: [], commonSegments: [], commonSegmentsPoints: [] });
@@ -703,7 +703,7 @@ class CompoundBlueprint {
703
703
  return [
704
704
  "Compound Blueprints",
705
705
  "-- Outline",
706
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
706
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- compound always has outer boundary
707
707
  this.blueprints[0].repr,
708
708
  "-- Holes",
709
709
  ...this.blueprints.slice(1).map((b) => b.repr)
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-DTGA0liC.cjs");
2
+ const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
3
3
  const errors = require("./errors-9fDehDNc.cjs");
4
4
  const vectors = require("./vectors-TlfO1hu2.cjs");
5
5
  const vecOps = require("./vecOps-CjRL1jau.cjs");
6
- const shapeFns = require("./shapeFns-BoN5g5Bx.cjs");
7
- const surfaceBuilders = require("./surfaceBuilders-tYoe8sri.cjs");
6
+ const shapeFns = require("./shapeFns-DHlLNHTn.cjs");
7
+ const surfaceBuilders = require("./surfaceBuilders-Be_ENWSA.cjs");
8
8
  const shapeTagStore = /* @__PURE__ */ new WeakMap();
9
9
  const tagMetadataStore = /* @__PURE__ */ new WeakMap();
10
10
  function hasFaceTags(shape) {
@@ -1,9 +1,9 @@
1
- import { B as getKernel, c as castShape, p as isShape3D } from "./shapeTypes-5DPsHB8i.js";
1
+ import { B as getKernel, c as castShape, p as isShape3D } from "./shapeTypes-CpSaBLDv.js";
2
2
  import { o as ok, d as isErr, e as err, y as validationError, B as BrepErrorCode, p as typeCastError, k as kernelError } from "./errors-B7kgv0cd.js";
3
3
  import { r as resolvePlane } from "./vectors-cec8p8NQ.js";
4
4
  import { H as HASH_CODE_MAX, n as vecScale, v as vecAdd } from "./vecOps-ZDdZWbwT.js";
5
- import { a as getFaces, p as propagateOriginsByHash, b as propagateOriginsFromEvolution, c as getWires, d as getEdges, e as getVertices, g as getFaceOrigins } from "./shapeFns-38GljA_p.js";
6
- import { m as makeFace } from "./surfaceBuilders-CXbEDGBQ.js";
5
+ import { a as getFaces, p as propagateOriginsByHash, b as propagateOriginsFromEvolution, c as getWires, d as getEdges, e as getVertices, g as getFaceOrigins } from "./shapeFns-CbXxLvV_.js";
6
+ import { m as makeFace } from "./surfaceBuilders-D7ZH2QNS.js";
7
7
  const shapeTagStore = /* @__PURE__ */ new WeakMap();
8
8
  const tagMetadataStore = /* @__PURE__ */ new WeakMap();
9
9
  function hasFaceTags(shape) {
package/dist/brepjs.cjs CHANGED
@@ -45,31 +45,31 @@ var __callDispose = (stack, error, hasError) => {
45
45
  return next();
46
46
  };
47
47
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
48
- const shapeTypes = require("./shapeTypes-DTGA0liC.cjs");
48
+ const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
49
49
  const errors = require("./errors-9fDehDNc.cjs");
50
50
  const vecOps = require("./vecOps-CjRL1jau.cjs");
51
- const Blueprint = require("./Blueprint-Bh6166KA.cjs");
52
- const loft$2 = require("./loft-98s9uwpg.cjs");
53
- const operations = require("./operations-CrLZ6fyL.cjs");
54
- const boolean2D = require("./boolean2D-Bl4iyJfa.cjs");
51
+ const Blueprint = require("./Blueprint-CoFJDAQd.cjs");
52
+ const loft$2 = require("./loft-DR1UN5uN.cjs");
53
+ const operations = require("./operations-D-gTZNtM.cjs");
54
+ const boolean2D = require("./boolean2D-Dk-vLBdl.cjs");
55
55
  const _2d = require("./2d.cjs");
56
- const helpers = require("./helpers-3fsqd4mW.cjs");
56
+ const helpers = require("./helpers-DNzVfe-Z.cjs");
57
57
  const io = require("./io.cjs");
58
- const drawFns = require("./drawFns-DXwZzno9.cjs");
58
+ const drawFns = require("./drawFns-BEeoD1yO.cjs");
59
59
  const types = require("./types-CA_xrgDq.cjs");
60
60
  const vectors = require("./vectors-TlfO1hu2.cjs");
61
- const shapeFns = require("./shapeFns-BoN5g5Bx.cjs");
62
- const booleanFns = require("./booleanFns-DdbAk1KC.cjs");
63
- const topology = require("./topology-CH4LBfQg.cjs");
64
- const curveFns = require("./curveFns-p0x8jy0i.cjs");
65
- const faceFns = require("./faceFns-SVADeb01.cjs");
66
- const meshFns = require("./meshFns-CF-JdX5P.cjs");
67
- const measurement = require("./measurement-g8ldN7oe.cjs");
68
- const surfaceBuilders = require("./surfaceBuilders-tYoe8sri.cjs");
61
+ const shapeFns = require("./shapeFns-DHlLNHTn.cjs");
62
+ const booleanFns = require("./booleanFns-BJjYqwJ5.cjs");
63
+ const topology = require("./topology-BHnY7Szr.cjs");
64
+ const curveFns = require("./curveFns-Ch87sD5O.cjs");
65
+ const faceFns = require("./faceFns-BLTEPBKq.cjs");
66
+ const meshFns = require("./meshFns-BU2l_yOm.cjs");
67
+ const measurement = require("./measurement-DoYXRaKI.cjs");
68
+ const surfaceBuilders = require("./surfaceBuilders-Be_ENWSA.cjs");
69
69
  const query = require("./query.cjs");
70
- const solidBuilders = require("./solidBuilders-CUc2rvWv.cjs");
70
+ const solidBuilders = require("./solidBuilders-BzfRBizW.cjs");
71
71
  const result = require("./result.cjs");
72
- const cornerFinder = require("./cornerFinder-zd2oBgyp.cjs");
72
+ const cornerFinder = require("./cornerFinder-BESZIitp.cjs");
73
73
  const worker = require("./worker.cjs");
74
74
  function supportsProjection(kernel) {
75
75
  return "projectShape" in kernel;
@@ -709,6 +709,9 @@ function dist3(x1, y1, z1, x2, y2, z2) {
709
709
  const dx = x1 - x2, dy = y1 - y2, dz = z1 - z2;
710
710
  return Math.sqrt(dx * dx + dy * dy + dz * dz);
711
711
  }
712
+ function copyWasmBytes(bytes) {
713
+ return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
714
+ }
712
715
  function translationMatrix(x, y, z) {
713
716
  return [
714
717
  1,
@@ -4441,6 +4444,204 @@ class BrepkitAdapter {
4441
4444
  sketchDof(sketch) {
4442
4445
  return this.bk.sketchDof(sketch);
4443
4446
  }
4447
+ // ═══════════════════════════════════════════════════════════════════════
4448
+ // Extended I/O formats
4449
+ // ═══════════════════════════════════════════════════════════════════════
4450
+ export3MF(shape2, tolerance) {
4451
+ const solidId = unwrapSolidOrThrow(shape2, "export3MF");
4452
+ return copyWasmBytes(this.bk.export3mf(solidId, tolerance));
4453
+ }
4454
+ exportGLB(shape2, tolerance) {
4455
+ const solidId = unwrapSolidOrThrow(shape2, "exportGLB");
4456
+ return copyWasmBytes(this.bk.exportGlb(solidId, tolerance));
4457
+ }
4458
+ exportOBJ(shape2, tolerance) {
4459
+ const solidId = unwrapSolidOrThrow(shape2, "exportOBJ");
4460
+ return copyWasmBytes(this.bk.exportObj(solidId, tolerance));
4461
+ }
4462
+ exportPLY(shape2, tolerance) {
4463
+ const solidId = unwrapSolidOrThrow(shape2, "exportPLY");
4464
+ return copyWasmBytes(this.bk.exportPly(solidId, tolerance));
4465
+ }
4466
+ import3MF(data) {
4467
+ const result2 = toArray(this.bk.import3mf(new Uint8Array(data)));
4468
+ return result2.map((id) => solidHandle(id));
4469
+ }
4470
+ importOBJ(data) {
4471
+ const result2 = this.bk.importObj(new Uint8Array(data));
4472
+ return solidHandle(result2);
4473
+ }
4474
+ importGLB(data) {
4475
+ const result2 = this.bk.importGlb(new Uint8Array(data));
4476
+ return solidHandle(result2);
4477
+ }
4478
+ // ═══════════════════════════════════════════════════════════════════════
4479
+ // Advanced modeling
4480
+ // ═══════════════════════════════════════════════════════════════════════
4481
+ filletVariable(shape2, spec) {
4482
+ const solidId = unwrapSolidOrThrow(shape2, "filletVariable");
4483
+ return solidHandle(this.bk.filletVariable(solidId, spec));
4484
+ }
4485
+ helicalSweep(profile, axisOrigin, axisDirection, radius, pitch, turns) {
4486
+ const profileId = unwrap(profile, "face");
4487
+ return solidHandle(
4488
+ this.bk.helicalSweep(
4489
+ profileId,
4490
+ axisOrigin[0],
4491
+ axisOrigin[1],
4492
+ axisOrigin[2],
4493
+ axisDirection[0],
4494
+ axisDirection[1],
4495
+ axisDirection[2],
4496
+ radius,
4497
+ pitch,
4498
+ turns
4499
+ )
4500
+ );
4501
+ }
4502
+ sweepWithOptions(profile, pathEdge, contactMode, scaleValues, segments) {
4503
+ const profileId = unwrap(profile, "face");
4504
+ const pathId = unwrap(pathEdge, "edge");
4505
+ return solidHandle(
4506
+ this.bk.sweepWithOptions(profileId, pathId, contactMode, scaleValues, segments)
4507
+ );
4508
+ }
4509
+ draft(shape2, faces, pullDirection, neutralPlane, angleDeg) {
4510
+ const solidId = unwrapSolidOrThrow(shape2, "draft");
4511
+ const faceIds = faces.map((f) => unwrap(f, "face"));
4512
+ return solidHandle(
4513
+ this.bk.draft(
4514
+ solidId,
4515
+ faceIds,
4516
+ pullDirection[0],
4517
+ pullDirection[1],
4518
+ pullDirection[2],
4519
+ neutralPlane[0],
4520
+ neutralPlane[1],
4521
+ neutralPlane[2],
4522
+ angleDeg
4523
+ )
4524
+ );
4525
+ }
4526
+ defeature(shape2, faces) {
4527
+ const solidId = unwrapSolidOrThrow(shape2, "defeature");
4528
+ const faceIds = faces.map((f) => unwrap(f, "face"));
4529
+ return solidHandle(this.bk.defeature(solidId, faceIds));
4530
+ }
4531
+ // ═══════════════════════════════════════════════════════════════════════
4532
+ // Feature detection
4533
+ // ═══════════════════════════════════════════════════════════════════════
4534
+ detectSmallFeatures(shape2, areaThreshold, tolerance) {
4535
+ const solidId = unwrapSolidOrThrow(shape2, "detectSmallFeatures");
4536
+ return Array.from(this.bk.detectSmallFeatures(solidId, areaThreshold, tolerance)).map(
4537
+ (id) => faceHandle(id)
4538
+ );
4539
+ }
4540
+ recognizeFeatures(shape2, tolerance) {
4541
+ const solidId = unwrapSolidOrThrow(shape2, "recognizeFeatures");
4542
+ return this.bk.recognizeFeatures(solidId, tolerance);
4543
+ }
4544
+ // ═══════════════════════════════════════════════════════════════════════
4545
+ // Mesh boolean
4546
+ // ═══════════════════════════════════════════════════════════════════════
4547
+ meshBoolean(positionsA, indicesA, positionsB, indicesB, op, tolerance) {
4548
+ const mesh2 = this.bk.meshBoolean(positionsA, indicesA, positionsB, indicesB, op, tolerance);
4549
+ return {
4550
+ vertices: new Float32Array(mesh2.positions),
4551
+ normals: new Float32Array(mesh2.normals),
4552
+ triangles: new Uint32Array(mesh2.indices),
4553
+ uvs: new Float32Array(0),
4554
+ faceGroups: [{ start: 0, count: mesh2.indices.length, faceHash: 0 }]
4555
+ };
4556
+ }
4557
+ // ═══════════════════════════════════════════════════════════════════════
4558
+ // Topology queries
4559
+ // ═══════════════════════════════════════════════════════════════════════
4560
+ edgeToFaceMap(shape2) {
4561
+ const solidId = unwrapSolidOrThrow(shape2, "edgeToFaceMap");
4562
+ return this.bk.edgeToFaceMap(solidId);
4563
+ }
4564
+ sharedEdges(faceA, faceB) {
4565
+ const aId = unwrap(faceA, "face");
4566
+ const bId = unwrap(faceB, "face");
4567
+ return Array.from(this.bk.sharedEdges(aId, bId)).map((id) => edgeHandle(id));
4568
+ }
4569
+ adjacentFaces(shape2, face) {
4570
+ const solidId = unwrapSolidOrThrow(shape2, "adjacentFaces");
4571
+ const faceId = unwrap(face, "face");
4572
+ return Array.from(this.bk.adjacentFaces(solidId, faceId)).map((id) => faceHandle(id));
4573
+ }
4574
+ // ═══════════════════════════════════════════════════════════════════════
4575
+ // NURBS curve operations
4576
+ // ═══════════════════════════════════════════════════════════════════════
4577
+ curveDegreeElevate(edge, elevateBy) {
4578
+ const edgeId = unwrap(edge, "edge");
4579
+ return edgeHandle(this.bk.curveDegreeElevate(edgeId, elevateBy));
4580
+ }
4581
+ curveKnotInsert(edge, knot, times) {
4582
+ const edgeId = unwrap(edge, "edge");
4583
+ return edgeHandle(this.bk.curveKnotInsert(edgeId, knot, times));
4584
+ }
4585
+ curveKnotRemove(edge, knot, tolerance) {
4586
+ const edgeId = unwrap(edge, "edge");
4587
+ return edgeHandle(this.bk.curveKnotRemove(edgeId, knot, tolerance));
4588
+ }
4589
+ curveSplit(edge, param) {
4590
+ const edgeId = unwrap(edge, "edge");
4591
+ const result2 = this.bk.curveSplit(edgeId, param);
4592
+ return [edgeHandle(result2[0]), edgeHandle(result2[1])];
4593
+ }
4594
+ approximateSurfaceLspia(coords, rows, cols, degreeU, degreeV, numCpsU, numCpsV, tolerance, maxIterations) {
4595
+ return faceHandle(
4596
+ this.bk.approximateSurfaceLspia(
4597
+ coords,
4598
+ rows,
4599
+ cols,
4600
+ degreeU,
4601
+ degreeV,
4602
+ numCpsU,
4603
+ numCpsV,
4604
+ tolerance,
4605
+ maxIterations
4606
+ )
4607
+ );
4608
+ }
4609
+ untrimFace(face, samplesPerCurve, interiorSamples) {
4610
+ const faceId = unwrap(face, "face");
4611
+ return faceHandle(this.bk.untrimFace(faceId, samplesPerCurve, interiorSamples));
4612
+ }
4613
+ // ═══════════════════════════════════════════════════════════════════════
4614
+ // Validation / Repair
4615
+ // ═══════════════════════════════════════════════════════════════════════
4616
+ mergeCoincidentVertices(shape2, tolerance) {
4617
+ const solidId = unwrapSolidOrThrow(shape2, "mergeCoincidentVertices");
4618
+ return this.bk.mergeCoincidentVertices(solidId, tolerance);
4619
+ }
4620
+ removeDegenerateEdges(shape2, tolerance) {
4621
+ const solidId = unwrapSolidOrThrow(shape2, "removeDegenerateEdges");
4622
+ return this.bk.removeDegenerateEdges(solidId, tolerance);
4623
+ }
4624
+ fixFaceOrientations(shape2) {
4625
+ const solidId = unwrapSolidOrThrow(shape2, "fixFaceOrientations");
4626
+ return this.bk.fixFaceOrientations(solidId);
4627
+ }
4628
+ // ═══════════════════════════════════════════════════════════════════════
4629
+ // Classification
4630
+ // ═══════════════════════════════════════════════════════════════════════
4631
+ classifyPointRobust(shape2, point, tolerance) {
4632
+ const solidId = unwrapSolidOrThrow(shape2, "classifyPointRobust");
4633
+ return this.bk.classifyPointRobust(solidId, point[0], point[1], point[2], tolerance);
4634
+ }
4635
+ classifyPointWinding(shape2, point, tolerance) {
4636
+ const solidId = unwrapSolidOrThrow(shape2, "classifyPointWinding");
4637
+ return this.bk.classifyPointWinding(solidId, point[0], point[1], point[2], tolerance);
4638
+ }
4639
+ // ═══════════════════════════════════════════════════════════════════════
4640
+ // Batch execution
4641
+ // ═══════════════════════════════════════════════════════════════════════
4642
+ executeBatch(json) {
4643
+ return this.bk.executeBatch(json);
4644
+ }
4444
4645
  }
4445
4646
  function multiplyMatrices(a, b) {
4446
4647
  const result2 = new Array(16).fill(0);