brepjs 20.0.1 → 20.1.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 (91) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-BOBaGnQ-.js → adjacencyFns-Uvm9NynL.js} +3 -3
  4. package/dist/{adjacencyFns-lCrjQUQr.cjs → adjacencyFns-jii1IFIG.cjs} +3 -3
  5. package/dist/{blueprint-C8-OnlmZ.cjs → blueprint-D9ZlqUeK.cjs} +5 -5
  6. package/dist/{blueprint-DlFhP2Qh.js → blueprint-DILaxgJO.js} +5 -5
  7. package/dist/{blueprintFns-CnbCEsbH.cjs → blueprintFns-D4TEbdWz.cjs} +2 -2
  8. package/dist/{blueprintFns-BniwPQ5Y.js → blueprintFns-bY8kvY4_.js} +2 -2
  9. package/dist/{blueprintSketcher-kSDNNuEJ.js → blueprintSketcher-DQ8_jTjB.js} +3 -3
  10. package/dist/{blueprintSketcher-DooDamYd.cjs → blueprintSketcher-Dzt1t42w.cjs} +3 -3
  11. package/dist/{boolean2D-DWWRN2RX.cjs → boolean2D-B1mwRBqn.cjs} +4 -4
  12. package/dist/{boolean2D-B7qLwMXL.js → boolean2D-Ez4nai3v.js} +4 -4
  13. package/dist/brepjs.cjs +29 -29
  14. package/dist/brepjs.js +29 -29
  15. package/dist/{cameraFns-DHCT80lC.cjs → cameraFns-BPPUjCnt.cjs} +3 -3
  16. package/dist/{cameraFns-npky8h1N.js → cameraFns-DVsDrWgy.js} +3 -3
  17. package/dist/core.cjs +2 -2
  18. package/dist/core.js +2 -2
  19. package/dist/{cornerFinder-Dy1lzQTB.cjs → cornerFinder-CbsBCk55.cjs} +1 -1
  20. package/dist/{cornerFinder-CEarkgO9.js → cornerFinder-D_9RMx6b.js} +1 -1
  21. package/dist/{curveFns-qVcljEvc.cjs → curveFns-0ka_F1Qt.cjs} +1 -1
  22. package/dist/{curveFns-n7htUStC.js → curveFns-Ci1fc5gO.js} +1 -1
  23. package/dist/{drawFns-CBSjbn4X.js → drawFns-ClJ3JEQN.js} +12 -12
  24. package/dist/{drawFns-VAreKNtB.cjs → drawFns-D9MEpXRq.cjs} +12 -12
  25. package/dist/{faceFns-CQyNJard.js → faceFns-DCmUSP5s.js} +2 -2
  26. package/dist/{faceFns-s7QRCW8A.cjs → faceFns-DeJ6KX-t.cjs} +2 -2
  27. package/dist/{healingFns-CDmIZyqk.cjs → healingFns-DKA7ZP2T.cjs} +4 -4
  28. package/dist/{healingFns-C1Vwru9B.js → healingFns-DLTUch-a.js} +4 -4
  29. package/dist/{helpers-BSo7hpSE.cjs → helpers-C7Dc2kHH.cjs} +6 -6
  30. package/dist/{helpers-DVdxPyq2.js → helpers-DptAa1BD.js} +6 -6
  31. package/dist/{importFns-BU_WjaNS.js → importFns-BPFSXV6z.js} +2 -2
  32. package/dist/{importFns-BjV9G5z6.cjs → importFns-CFIKCNNb.cjs} +2 -2
  33. package/dist/io.cjs +2 -2
  34. package/dist/io.js +2 -2
  35. package/dist/kernel/interfaces/evolutionOps.d.ts +7 -0
  36. package/dist/kernel/occtWasm/booleanOps.d.ts +38 -6
  37. package/dist/kernel/occtWasm/evolutionOps.d.ts +11 -3
  38. package/dist/kernel/occtWasm/helpers.d.ts +7 -2
  39. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  40. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +4 -0
  41. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  42. package/dist/kernel/occtWasm/occtWasmTypes.d.ts +2 -0
  43. package/dist/{loftFns-suyWruNr.cjs → loftFns-IB4K_Dzv.cjs} +1 -1
  44. package/dist/{loftFns-DDdoMjxj.js → loftFns-IzkWwK0P.js} +1 -1
  45. package/dist/{measureFns-DLTeuGwQ.cjs → measureFns-Cxk116Fv.cjs} +3 -3
  46. package/dist/{measureFns-DMr_rq2J.js → measureFns-HcH4fJJE.js} +3 -3
  47. package/dist/measurement.cjs +1 -1
  48. package/dist/measurement.js +1 -1
  49. package/dist/{meshFns-qV2fL7DY.js → meshFns-CvqS6edU.js} +3 -3
  50. package/dist/{meshFns-Crgr_uib.cjs → meshFns-zlx99xbI.cjs} +3 -3
  51. package/dist/{occtWasmAdapter-CIc9I87_.js → occtWasmAdapter-BYziKlFk.js} +215 -76
  52. package/dist/{occtWasmAdapter-y21xnRNM.cjs → occtWasmAdapter-D6-CUP2V.cjs} +215 -76
  53. package/dist/operations.cjs +2 -2
  54. package/dist/operations.js +2 -2
  55. package/dist/{originTrackingFns-BbRMIrPd.js → originTrackingFns-B_VM7fiP.js} +2 -2
  56. package/dist/{originTrackingFns-CIXgTLuX.cjs → originTrackingFns-PUTN7amf.cjs} +2 -2
  57. package/dist/{primitiveFns-DHTDymOR.cjs → primitiveFns-C109FiCa.cjs} +4 -4
  58. package/dist/{primitiveFns-CM-WtrDU.js → primitiveFns-DbZD1Zqf.js} +4 -4
  59. package/dist/projection.cjs +1 -1
  60. package/dist/projection.js +1 -1
  61. package/dist/query.cjs +2 -2
  62. package/dist/query.js +2 -2
  63. package/dist/{refResolveFns-Caq9pEFX.js → refResolveFns-Cr_obR-4.js} +6 -6
  64. package/dist/{refResolveFns-W0eI7vrV.cjs → refResolveFns-DtU3S0qY.cjs} +6 -6
  65. package/dist/{shapeFns-DnTR5fGL.cjs → shapeFns-BPBLbDjd.cjs} +2 -2
  66. package/dist/{shapeFns-abxGUiRi.js → shapeFns-Dpa19NyE.js} +2 -2
  67. package/dist/shapeRef.cjs +1 -1
  68. package/dist/shapeRef.js +1 -1
  69. package/dist/{shapeTypes-DgcXaWoK.js → shapeTypes-B_ogF-B7.js} +1 -1
  70. package/dist/{shapeTypes-D6N6FPC9.cjs → shapeTypes-DwrDUQPZ.cjs} +1 -1
  71. package/dist/sketching.cjs +3 -3
  72. package/dist/sketching.js +3 -3
  73. package/dist/{solidBuilders-DnUQIIh-.cjs → solidBuilders-BNsIlURc.cjs} +31 -7
  74. package/dist/{solidBuilders-DCVpjCr4.js → solidBuilders-pibEpGVS.js} +31 -7
  75. package/dist/{surfaceBuilders-wEh6hNcZ.js → surfaceBuilders-COXjNT6b.js} +3 -3
  76. package/dist/{surfaceBuilders-DZ4qaEMP.cjs → surfaceBuilders-DZU1ttYY.cjs} +3 -3
  77. package/dist/text.cjs +2 -2
  78. package/dist/text.js +2 -2
  79. package/dist/{textBlueprints-Cx7nEADC.cjs → textBlueprints-CpPDmfyT.cjs} +7 -7
  80. package/dist/{textBlueprints-CJyJx8VV.js → textBlueprints-CzC9BOgL.js} +7 -7
  81. package/dist/{textMetrics-C7yaPJuS.cjs → textMetrics-Bjm9jybe.cjs} +1 -1
  82. package/dist/{textMetrics-ZDLgofee.js → textMetrics-IF9ktcEi.js} +1 -1
  83. package/dist/{threadFns-xQF8IS-h.cjs → threadFns-BRB6cpKI.cjs} +7 -7
  84. package/dist/{threadFns-Dnr7QEbq.js → threadFns-nkBUo5vX.js} +7 -7
  85. package/dist/topology.cjs +9 -9
  86. package/dist/topology.js +9 -9
  87. package/dist/{topologyQueryFns-gVaVV1Nt.js → topologyQueryFns-DPrHRCrr.js} +1 -1
  88. package/dist/{topologyQueryFns-DhWju_Rg.cjs → topologyQueryFns-YGvGdGCr.cjs} +1 -1
  89. package/dist/{validityTypes-swMGQ5f2.js → validityTypes-CBK24R8q.js} +1 -1
  90. package/dist/{validityTypes-Bh3tqEzS.cjs → validityTypes-DUed50G5.cjs} +1 -1
  91. package/package.json +3 -3
@@ -1,13 +1,13 @@
1
- const require_shapeTypes = require("./shapeTypes-D6N6FPC9.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwrDUQPZ.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-DhWju_Rg.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-YGvGdGCr.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
6
  const require_planeOps = require("./planeOps-CpupTCRM.cjs");
7
- const require_faceFns = require("./faceFns-s7QRCW8A.cjs");
8
- const require_originTrackingFns = require("./originTrackingFns-CIXgTLuX.cjs");
7
+ const require_faceFns = require("./faceFns-DeJ6KX-t.cjs");
8
+ const require_originTrackingFns = require("./originTrackingFns-PUTN7amf.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-DZ4qaEMP.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-DZU1ttYY.cjs");
11
11
  //#region src/topology/metadata/faceTagFns.ts
12
12
  var shapeTagStore = /* @__PURE__ */ new WeakMap();
13
13
  var tagMetadataStore = /* @__PURE__ */ new WeakMap();
@@ -515,7 +515,19 @@ function fuseAll(shapes, { optimisation = "none", simplify = false, strategy = "
515
515
  if (require_errors.isErr(check)) return check;
516
516
  }
517
517
  if (strategy === "native") {
518
- const fuseAllResult = castToShape3D(require_shapeTypes.getKernel().fuseAll(shapes.map((s) => s.wrapped), {
518
+ const kernel = require_shapeTypes.getKernel();
519
+ const inputFaceHashes = trackEvolution && kernel.fuseAllWithHistory ? collectInputFaceHashes(shapes) : [];
520
+ if (inputFaceHashes.length > 0 && kernel.fuseAllWithHistory) {
521
+ const { shape, evolution, diagnostics } = kernel.fuseAllWithHistory(shapes.map((s) => s.wrapped), inputFaceHashes, require_constants.HASH_CODE_MAX, {
522
+ optimisation,
523
+ simplify,
524
+ fuzzyValue
525
+ });
526
+ const tracked = castToShape3D(shape, "FUSE_ALL_NOT_3D", "fuseAll did not produce a 3D shape", void 0, diagnostics);
527
+ if (tracked.ok) propagateAllMetadata(evolution, shapes, tracked.value);
528
+ return tracked;
529
+ }
530
+ const fuseAllResult = castToShape3D(kernel.fuseAll(shapes.map((s) => s.wrapped), {
519
531
  optimisation,
520
532
  simplify,
521
533
  strategy,
@@ -539,7 +551,19 @@ function cutAll(base, tools, { optimisation = "none", simplify = false, signal,
539
551
  if (require_errors.isErr(check)) return check;
540
552
  }
541
553
  const allInputs = [base, ...tools];
542
- const cutAllResult = castToShape3D(require_shapeTypes.getKernel().cutAll(base.wrapped, tools.map((s) => s.wrapped), {
554
+ const kernel = require_shapeTypes.getKernel();
555
+ const inputFaceHashes = trackEvolution && kernel.cutAllWithHistory ? collectInputFaceHashes(allInputs) : [];
556
+ if (inputFaceHashes.length > 0 && kernel.cutAllWithHistory) {
557
+ const { shape, evolution, diagnostics } = kernel.cutAllWithHistory(base.wrapped, tools.map((s) => s.wrapped), inputFaceHashes, require_constants.HASH_CODE_MAX, {
558
+ optimisation,
559
+ simplify,
560
+ fuzzyValue
561
+ });
562
+ const tracked = castToShape3D(shape, "CUT_ALL_NOT_3D", "cutAll did not produce a 3D shape", void 0, diagnostics);
563
+ if (tracked.ok) propagateAllMetadata(evolution, allInputs, tracked.value);
564
+ return tracked;
565
+ }
566
+ const cutAllResult = castToShape3D(kernel.cutAll(base.wrapped, tools.map((s) => s.wrapped), {
543
567
  optimisation,
544
568
  simplify,
545
569
  fuzzyValue
@@ -1,13 +1,13 @@
1
- import { C as isSolid, D as getShapeKind, E as GeometryCleanupError, G as _usingCtx, S as isShell, d as createSolid, f as createVertex, h as disposeResultShape, n as castResultShape, q as getKernel, s as createCompound, x as isShape3D } from "./shapeTypes-DgcXaWoK.js";
1
+ import { C as isSolid, D as getShapeKind, E as GeometryCleanupError, G as _usingCtx, S as isShell, d as createSolid, f as createVertex, h as disposeResultShape, n as castResultShape, q as getKernel, s as createCompound, x as isShape3D } from "./shapeTypes-B_ogF-B7.js";
2
2
  import { E as ok, P as unwrap, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, m as andThen, t as BrepErrorCode } from "./errors-CTn8i3lY.js";
3
- import { S as subShapeHashes, c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-gVaVV1Nt.js";
3
+ import { S as subShapeHashes, c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-DPrHRCrr.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
5
  import { a as vecDot, g as vecSub, h as vecScale, t as vecAdd } from "./vecOps-SKPRvPH-.js";
6
6
  import { o as resolvePlane } from "./planeOps-CkpMeheg.js";
7
- import { _ as cast, y as downcast } from "./faceFns-CQyNJard.js";
8
- import { n as propagateOriginsByHash, r as propagateOriginsFromEvolution, t as getFaceOrigins } from "./originTrackingFns-BbRMIrPd.js";
7
+ import { _ as cast, y as downcast } from "./faceFns-DCmUSP5s.js";
8
+ import { n as propagateOriginsByHash, r as propagateOriginsFromEvolution, t as getFaceOrigins } from "./originTrackingFns-B_VM7fiP.js";
9
9
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
10
- import { r as makeFace } from "./surfaceBuilders-wEh6hNcZ.js";
10
+ import { r as makeFace } from "./surfaceBuilders-COXjNT6b.js";
11
11
  //#region src/topology/metadata/faceTagFns.ts
12
12
  var shapeTagStore = /* @__PURE__ */ new WeakMap();
13
13
  var tagMetadataStore = /* @__PURE__ */ new WeakMap();
@@ -515,7 +515,19 @@ function fuseAll(shapes, { optimisation = "none", simplify = false, strategy = "
515
515
  if (isErr(check)) return check;
516
516
  }
517
517
  if (strategy === "native") {
518
- const fuseAllResult = castToShape3D(getKernel().fuseAll(shapes.map((s) => s.wrapped), {
518
+ const kernel = getKernel();
519
+ const inputFaceHashes = trackEvolution && kernel.fuseAllWithHistory ? collectInputFaceHashes(shapes) : [];
520
+ if (inputFaceHashes.length > 0 && kernel.fuseAllWithHistory) {
521
+ const { shape, evolution, diagnostics } = kernel.fuseAllWithHistory(shapes.map((s) => s.wrapped), inputFaceHashes, HASH_CODE_MAX, {
522
+ optimisation,
523
+ simplify,
524
+ fuzzyValue
525
+ });
526
+ const tracked = castToShape3D(shape, "FUSE_ALL_NOT_3D", "fuseAll did not produce a 3D shape", void 0, diagnostics);
527
+ if (tracked.ok) propagateAllMetadata(evolution, shapes, tracked.value);
528
+ return tracked;
529
+ }
530
+ const fuseAllResult = castToShape3D(kernel.fuseAll(shapes.map((s) => s.wrapped), {
519
531
  optimisation,
520
532
  simplify,
521
533
  strategy,
@@ -539,7 +551,19 @@ function cutAll(base, tools, { optimisation = "none", simplify = false, signal,
539
551
  if (isErr(check)) return check;
540
552
  }
541
553
  const allInputs = [base, ...tools];
542
- const cutAllResult = castToShape3D(getKernel().cutAll(base.wrapped, tools.map((s) => s.wrapped), {
554
+ const kernel = getKernel();
555
+ const inputFaceHashes = trackEvolution && kernel.cutAllWithHistory ? collectInputFaceHashes(allInputs) : [];
556
+ if (inputFaceHashes.length > 0 && kernel.cutAllWithHistory) {
557
+ const { shape, evolution, diagnostics } = kernel.cutAllWithHistory(base.wrapped, tools.map((s) => s.wrapped), inputFaceHashes, HASH_CODE_MAX, {
558
+ optimisation,
559
+ simplify,
560
+ fuzzyValue
561
+ });
562
+ const tracked = castToShape3D(shape, "CUT_ALL_NOT_3D", "cutAll did not produce a 3D shape", void 0, diagnostics);
563
+ if (tracked.ok) propagateAllMetadata(evolution, allInputs, tracked.value);
564
+ return tracked;
565
+ }
566
+ const cutAllResult = castToShape3D(kernel.cutAll(base.wrapped, tools.map((s) => s.wrapped), {
543
567
  optimisation,
544
568
  simplify,
545
569
  fuzzyValue
@@ -1,7 +1,7 @@
1
- import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel, y as isFace } from "./shapeTypes-DgcXaWoK.js";
1
+ import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel, y as isFace } from "./shapeTypes-B_ogF-B7.js";
2
2
  import { E as ok, d as validationError, g as err, i as kernelError, m as andThen } from "./errors-CTn8i3lY.js";
3
- import { a as isPlanarFace } from "./validityTypes-swMGQ5f2.js";
4
- import { _ as cast, u as outerWire } from "./faceFns-CQyNJard.js";
3
+ import { a as isPlanarFace } from "./validityTypes-CBK24R8q.js";
4
+ import { _ as cast, u as outerWire } from "./faceFns-DCmUSP5s.js";
5
5
  //#region src/utils/range.ts
6
6
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
7
7
  function range(len) {
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-D6N6FPC9.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwrDUQPZ.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_validityTypes = require("./validityTypes-Bh3tqEzS.cjs");
4
- const require_faceFns = require("./faceFns-s7QRCW8A.cjs");
3
+ const require_validityTypes = require("./validityTypes-DUed50G5.cjs");
4
+ const require_faceFns = require("./faceFns-DeJ6KX-t.cjs");
5
5
  //#region src/utils/range.ts
6
6
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
7
7
  function range(len) {
package/dist/text.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-Cx7nEADC.cjs");
3
- const require_textMetrics = require("./textMetrics-C7yaPJuS.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CpPDmfyT.cjs");
3
+ const require_textMetrics = require("./textMetrics-Bjm9jybe.cjs");
4
4
  exports.fontMetrics = require_textMetrics.fontMetrics;
5
5
  exports.getFont = require_textBlueprints.getFont;
6
6
  exports.loadFont = require_textBlueprints.loadFont;
package/dist/text.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-CJyJx8VV.js";
2
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-ZDLgofee.js";
1
+ import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-CzC9BOgL.js";
2
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-IF9ktcEi.js";
3
3
  export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
@@ -1,17 +1,17 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
2
- const require_shapeTypes = require("./shapeTypes-D6N6FPC9.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-DwrDUQPZ.cjs");
3
3
  const require_bug = require("./bug-O02CsAmt.cjs");
4
4
  const require_errors = require("./errors-DWezb9DI.cjs");
5
5
  const require_types = require("./types-KjA8tY4Y.cjs");
6
6
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
7
7
  const require_planeOps = require("./planeOps-CpupTCRM.cjs");
8
- const require_faceFns = require("./faceFns-s7QRCW8A.cjs");
9
- const require_solidBuilders = require("./solidBuilders-DnUQIIh-.cjs");
10
- const require_curveFns = require("./curveFns-qVcljEvc.cjs");
8
+ const require_faceFns = require("./faceFns-DeJ6KX-t.cjs");
9
+ const require_solidBuilders = require("./solidBuilders-BNsIlURc.cjs");
10
+ const require_curveFns = require("./curveFns-0ka_F1Qt.cjs");
11
11
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
12
- const require_surfaceBuilders = require("./surfaceBuilders-DZ4qaEMP.cjs");
13
- const require_blueprintSketcher = require("./blueprintSketcher-DooDamYd.cjs");
14
- const require_loftFns = require("./loftFns-suyWruNr.cjs");
12
+ const require_surfaceBuilders = require("./surfaceBuilders-DZU1ttYY.cjs");
13
+ const require_blueprintSketcher = require("./blueprintSketcher-Dzt1t42w.cjs");
14
+ const require_loftFns = require("./loftFns-IB4K_Dzv.cjs");
15
15
  let opentype_js = require("opentype.js");
16
16
  opentype_js = require_rolldown_runtime.__toESM(opentype_js, 1);
17
17
  //#region src/operations/extrudeFns.ts
@@ -1,16 +1,16 @@
1
- import { d as createSolid, h as disposeResultShape, l as createFace, m as disposeDowncastSource, n as castResultShape, p as createWire, q as getKernel, x as isShape3D } from "./shapeTypes-DgcXaWoK.js";
1
+ import { d as createSolid, h as disposeResultShape, l as createFace, m as disposeDowncastSource, n as castResultShape, p as createWire, q as getKernel, x as isShape3D } from "./shapeTypes-B_ogF-B7.js";
2
2
  import { n as bug } from "./bug-BdOHwn_e.js";
3
3
  import { E as ok, P as unwrap, d as validationError, g as err, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-CTn8i3lY.js";
4
4
  import { r as toVec3 } from "./types-D24Y27N0.js";
5
5
  import { c as vecLength, d as vecNormalize, h as vecScale, r as vecCross } from "./vecOps-SKPRvPH-.js";
6
6
  import { n as createPlane } from "./planeOps-CkpMeheg.js";
7
- import { v as copyShape } from "./faceFns-CQyNJard.js";
8
- import { o as makeSolid, p as cutAll, t as makeCompound } from "./solidBuilders-DCVpjCr4.js";
9
- import { l as curveStartPoint, u as curveTangentAt } from "./curveFns-n7htUStC.js";
7
+ import { v as copyShape } from "./faceFns-DCmUSP5s.js";
8
+ import { o as makeSolid, p as cutAll, t as makeCompound } from "./solidBuilders-pibEpGVS.js";
9
+ import { l as curveStartPoint, u as curveTangentAt } from "./curveFns-Ci1fc5gO.js";
10
10
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
11
- import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-wEh6hNcZ.js";
12
- import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-kSDNNuEJ.js";
13
- import { c as twistExtrude, r as complexExtrude, s as sweep, t as loft } from "./loftFns-DDdoMjxj.js";
11
+ import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-COXjNT6b.js";
12
+ import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DQ8_jTjB.js";
13
+ import { c as twistExtrude, r as complexExtrude, s as sweep, t as loft } from "./loftFns-IzkWwK0P.js";
14
14
  import opentype from "opentype.js";
15
15
  //#region src/operations/extrudeFns.ts
16
16
  /**
@@ -1,5 +1,5 @@
1
1
  const require_errors = require("./errors-DWezb9DI.cjs");
2
- const require_textBlueprints = require("./textBlueprints-Cx7nEADC.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CpPDmfyT.cjs");
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,5 +1,5 @@
1
1
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-CTn8i3lY.js";
2
- import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-CJyJx8VV.js";
2
+ import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-CzC9BOgL.js";
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-D6N6FPC9.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwrDUQPZ.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
3
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
4
- const require_faceFns = require("./faceFns-s7QRCW8A.cjs");
5
- const require_solidBuilders = require("./solidBuilders-DnUQIIh-.cjs");
6
- const require_primitiveFns = require("./primitiveFns-DHTDymOR.cjs");
7
- const require_shapeFns = require("./shapeFns-DnTR5fGL.cjs");
8
- const require_loftFns = require("./loftFns-suyWruNr.cjs");
9
- const require_refResolveFns = require("./refResolveFns-W0eI7vrV.cjs");
4
+ const require_faceFns = require("./faceFns-DeJ6KX-t.cjs");
5
+ const require_solidBuilders = require("./solidBuilders-BNsIlURc.cjs");
6
+ const require_primitiveFns = require("./primitiveFns-C109FiCa.cjs");
7
+ const require_shapeFns = require("./shapeFns-BPBLbDjd.cjs");
8
+ const require_loftFns = require("./loftFns-IB4K_Dzv.cjs");
9
+ const require_refResolveFns = require("./refResolveFns-DtU3S0qY.cjs");
10
10
  //#region src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
@@ -1,12 +1,12 @@
1
- import { F as createKernelHandle, G as _usingCtx, N as DisposalScope, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-DgcXaWoK.js";
1
+ import { F as createKernelHandle, G as _usingCtx, N as DisposalScope, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-B_ogF-B7.js";
2
2
  import { E as ok, d as validationError, g as err, n as computationError, r as ioError, t as BrepErrorCode, x as isOk } from "./errors-CTn8i3lY.js";
3
3
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-SKPRvPH-.js";
4
- import { b as fromBREP } from "./faceFns-CQyNJard.js";
5
- import { h as fuseAll } from "./solidBuilders-DCVpjCr4.js";
6
- import { E as wire, h as line } from "./primitiveFns-CM-WtrDU.js";
7
- import { s as toBREP } from "./shapeFns-abxGUiRi.js";
8
- import { t as loft } from "./loftFns-DDdoMjxj.js";
9
- import { c as resolveRefParams } from "./refResolveFns-Caq9pEFX.js";
4
+ import { b as fromBREP } from "./faceFns-DCmUSP5s.js";
5
+ import { h as fuseAll } from "./solidBuilders-pibEpGVS.js";
6
+ import { E as wire, h as line } from "./primitiveFns-DbZD1Zqf.js";
7
+ import { s as toBREP } from "./shapeFns-Dpa19NyE.js";
8
+ import { t as loft } from "./loftFns-IzkWwK0P.js";
9
+ import { c as resolveRefParams } from "./refResolveFns-Cr_obR-4.js";
10
10
  //#region src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
package/dist/topology.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_topologyQueryFns = require("./topologyQueryFns-DhWju_Rg.cjs");
3
- const require_faceFns = require("./faceFns-s7QRCW8A.cjs");
4
- const require_solidBuilders = require("./solidBuilders-DnUQIIh-.cjs");
5
- const require_primitiveFns = require("./primitiveFns-DHTDymOR.cjs");
6
- const require_shapeFns = require("./shapeFns-DnTR5fGL.cjs");
7
- const require_curveFns = require("./curveFns-qVcljEvc.cjs");
8
- const require_meshFns = require("./meshFns-Crgr_uib.cjs");
9
- const require_healingFns = require("./healingFns-CDmIZyqk.cjs");
10
- const require_adjacencyFns = require("./adjacencyFns-lCrjQUQr.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-YGvGdGCr.cjs");
3
+ const require_faceFns = require("./faceFns-DeJ6KX-t.cjs");
4
+ const require_solidBuilders = require("./solidBuilders-BNsIlURc.cjs");
5
+ const require_primitiveFns = require("./primitiveFns-C109FiCa.cjs");
6
+ const require_shapeFns = require("./shapeFns-BPBLbDjd.cjs");
7
+ const require_curveFns = require("./curveFns-0ka_F1Qt.cjs");
8
+ const require_meshFns = require("./meshFns-zlx99xbI.cjs");
9
+ const require_healingFns = require("./healingFns-DKA7ZP2T.cjs");
10
+ const require_adjacencyFns = require("./adjacencyFns-jii1IFIG.cjs");
11
11
  exports.addHoles = require_primitiveFns.addHoles;
12
12
  exports.adjacentFaces = require_adjacencyFns.adjacentFaces;
13
13
  exports.approximateCurve = require_curveFns.approximateCurve;
package/dist/topology.js CHANGED
@@ -1,10 +1,10 @@
1
- import { C as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-gVaVV1Nt.js";
2
- import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-CQyNJard.js";
3
- import { h as fuseAll, p as cutAll } from "./solidBuilders-DCVpjCr4.js";
4
- import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-CM-WtrDU.js";
5
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-abxGUiRi.js";
6
- import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-n7htUStC.js";
7
- import { d as clearMeshCache, f as createMeshCache, n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-qV2fL7DY.js";
8
- import { A as toBufferGeometryData, P as toLineGeometryData, S as chamferDistAngle, _ as checkBoolean, a as healFace, b as getNurbsCurveData, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, j as toGroupedBufferGeometryData, k as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-C1Vwru9B.js";
9
- import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-BOBaGnQ-.js";
1
+ import { C as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-DPrHRCrr.js";
2
+ import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-DCmUSP5s.js";
3
+ import { h as fuseAll, p as cutAll } from "./solidBuilders-pibEpGVS.js";
4
+ import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-DbZD1Zqf.js";
5
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-Dpa19NyE.js";
6
+ import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-Ci1fc5gO.js";
7
+ import { d as clearMeshCache, f as createMeshCache, n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-CvqS6edU.js";
8
+ import { A as toBufferGeometryData, P as toLineGeometryData, S as chamferDistAngle, _ as checkBoolean, a as healFace, b as getNurbsCurveData, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, j as toGroupedBufferGeometryData, k as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-DLTUch-a.js";
9
+ import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-Uvm9NynL.js";
10
10
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceAxis, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
@@ -1,4 +1,4 @@
1
- import { G as _usingCtx, N as DisposalScope, O as getOrQueryType, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType } from "./shapeTypes-DgcXaWoK.js";
1
+ import { G as _usingCtx, N as DisposalScope, O as getOrQueryType, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType } from "./shapeTypes-B_ogF-B7.js";
2
2
  import { E as ok, g as err } from "./errors-CTn8i3lY.js";
3
3
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
4
4
  //#region src/core/kernelErrorTranslation.ts
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-D6N6FPC9.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwrDUQPZ.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
4
  //#region src/core/kernelErrorTranslation.ts
@@ -1,4 +1,4 @@
1
- import { q as getKernel } from "./shapeTypes-DgcXaWoK.js";
1
+ import { q as getKernel } from "./shapeTypes-B_ogF-B7.js";
2
2
  import { E as ok, g as err } from "./errors-CTn8i3lY.js";
3
3
  //#region src/core/validityTypes.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-D6N6FPC9.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DwrDUQPZ.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
3
  //#region src/core/validityTypes.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "20.0.1",
3
+ "version": "20.1.0",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",
@@ -278,7 +278,7 @@
278
278
  "knip": "6.27.0",
279
279
  "lint-staged": "17.5.1",
280
280
  "lz-string": "1.5.0",
281
- "occt-wasm": "5.3.2",
281
+ "occt-wasm": "5.6.0",
282
282
  "prettier": "3.9.8",
283
283
  "puppeteer": "25.11.0",
284
284
  "size-limit": "13.1.1",
@@ -320,7 +320,7 @@
320
320
  "esbuild@<0.25.0": "^0.25.0",
321
321
  "esbuild@>=0.26.0 <0.28.1": "^0.28.1",
322
322
  "js-yaml": "^4.2.0",
323
- "markdown-it": "^14.2.0",
323
+ "markdown-it": "^14.3.2",
324
324
  "vitepress": {
325
325
  "vite": "6.4.3"
326
326
  }