brepjs 13.2.0 → 13.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 (95) hide show
  1. package/dist/2d/curve2dGeometryFns.d.ts +107 -0
  2. package/dist/2d/curve2dGeometryFns.d.ts.map +1 -0
  3. package/dist/2d.cjs +229 -3
  4. package/dist/2d.d.ts +2 -0
  5. package/dist/2d.d.ts.map +1 -1
  6. package/dist/2d.js +206 -4
  7. package/dist/{arrayAccess-Dps31ERU.js → arrayAccess-B5LgmXBo.js} +4 -4
  8. package/dist/{arrayAccess-peFKE9Ob.cjs → arrayAccess-t2dlxGSK.cjs} +4 -4
  9. package/dist/{blueprint-DYCdRlW5.js → blueprint-CB_85Lz_.js} +10 -10
  10. package/dist/{blueprint-PLJan-W5.cjs → blueprint-CDnBM-tA.cjs} +10 -10
  11. package/dist/{blueprintFns-Bsx25BG7.cjs → blueprintFns-D4YucGaQ.cjs} +142 -3
  12. package/dist/{blueprintFns-eWh7NpZx.js → blueprintFns-DVDommWB.js} +125 -4
  13. package/dist/{boolean2D-52qVCooY.js → boolean2D-Mzp-0g7o.js} +12 -12
  14. package/dist/{boolean2D-CtB21ajK.cjs → boolean2D-lqfKJKUY.cjs} +12 -12
  15. package/dist/{booleanFns-iM6UPb8e.js → booleanFns-B46fgObh.js} +6 -6
  16. package/dist/{booleanFns-BrptUFkP.cjs → booleanFns-Bw8sAMgI.cjs} +6 -6
  17. package/dist/brepjs.cjs +27 -145
  18. package/dist/brepjs.js +23 -143
  19. package/dist/core/curve2dHandle.d.ts +27 -0
  20. package/dist/core/curve2dHandle.d.ts.map +1 -0
  21. package/dist/core/errors.d.ts +6 -0
  22. package/dist/core/errors.d.ts.map +1 -1
  23. package/dist/core.cjs +5 -5
  24. package/dist/core.js +5 -5
  25. package/dist/{cornerFinder-SF-xmMO1.cjs → cornerFinder-BszIcLqj.cjs} +3 -3
  26. package/dist/{cornerFinder-C7aDyYLJ.js → cornerFinder-aBLykolI.js} +3 -3
  27. package/dist/{curveFns-ywh7Ctyk.cjs → curveFns-CZszKLQB.cjs} +2 -2
  28. package/dist/{curveFns-C-jU1_Y_.js → curveFns-DY4dFcP-.js} +2 -2
  29. package/dist/{drawFns-DknEB-Qs.cjs → drawFns-BHNDF8hb.cjs} +15 -15
  30. package/dist/{drawFns-D-0p86Lf.js → drawFns-l5CY2s-l.js} +15 -15
  31. package/dist/{errors-B_T0aMQF.js → errors-BVOlxlIA.js} +6 -0
  32. package/dist/{errors-DupKEMqI.cjs → errors-BlC5ZWv4.cjs} +6 -0
  33. package/dist/{extrudeFns-CGCIbydL.cjs → extrudeFns-GpCB_Uzs.cjs} +3 -3
  34. package/dist/{extrudeFns-LsH1rDMa.js → extrudeFns-b0uLn4E4.js} +3 -3
  35. package/dist/{faceFns-8dGb8q3J.cjs → faceFns-BywUjlJ7.cjs} +3 -3
  36. package/dist/{faceFns-EnGcKFAr.js → faceFns-Cat-4X74.js} +3 -3
  37. package/dist/{helpers-pQpV9Mwh.cjs → helpers-1iCCEElA.cjs} +7 -7
  38. package/dist/{helpers-Rf0vhX6I.js → helpers-DgX1UucG.js} +7 -7
  39. package/dist/{historyFns-XkjLAQyu.js → historyFns-BFwp8NLX.js} +6 -6
  40. package/dist/{historyFns-lNalnOdR.cjs → historyFns-DqxDtXIZ.cjs} +6 -6
  41. package/dist/{importFns-Bgs-FYAP.js → importFns-Cb8fcldB.js} +4 -4
  42. package/dist/{importFns-BSH9cGIp.cjs → importFns-ChXEJAvu.cjs} +4 -4
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/io.cjs +2 -2
  46. package/dist/io.js +2 -2
  47. package/dist/kernel/brepkit/brepkitAdapter.d.ts +3 -1
  48. package/dist/kernel/brepkit/brepkitAdapter.d.ts.map +1 -1
  49. package/dist/kernel/interfaces/curveOps.d.ts +3 -1
  50. package/dist/kernel/interfaces/curveOps.d.ts.map +1 -1
  51. package/dist/kernel/interfaces/surfaceOps.d.ts +3 -1
  52. package/dist/kernel/interfaces/surfaceOps.d.ts.map +1 -1
  53. package/dist/kernel/occt/defaultAdapter.d.ts +3 -1
  54. package/dist/kernel/occt/defaultAdapter.d.ts.map +1 -1
  55. package/dist/kernel/occt/nurbsQueryOps.d.ts +12 -0
  56. package/dist/kernel/occt/nurbsQueryOps.d.ts.map +1 -0
  57. package/dist/kernel/types.d.ts +26 -0
  58. package/dist/kernel/types.d.ts.map +1 -1
  59. package/dist/{measureFns-CFdHa_fj.cjs → measureFns-Bx-kl7_g.cjs} +3 -3
  60. package/dist/{measureFns-D7J6qUY_.js → measureFns-D3rAp1X1.js} +3 -3
  61. package/dist/measurement.cjs +1 -1
  62. package/dist/measurement.js +1 -1
  63. package/dist/{meshFns-B7uklc4M.js → meshFns-BPi0bhm9.js} +3 -3
  64. package/dist/{meshFns-2XnDXgIh.cjs → meshFns-D3KAZ_ma.cjs} +3 -3
  65. package/dist/operations.cjs +2 -2
  66. package/dist/operations.js +2 -2
  67. package/dist/{planeOps-cTxDywpG.cjs → planeOps-BqLav0Ir.cjs} +3 -3
  68. package/dist/{planeOps-BuBXTLBr.js → planeOps-D88tfyJs.js} +3 -3
  69. package/dist/{primitiveFns-DKtvEA0i.cjs → primitiveFns-BGh9A9jR.cjs} +39 -7
  70. package/dist/{primitiveFns-CASk8g16.js → primitiveFns-CnZkW6Bi.js} +28 -8
  71. package/dist/query.cjs +2 -2
  72. package/dist/query.js +2 -2
  73. package/dist/result.cjs +1 -1
  74. package/dist/result.js +1 -1
  75. package/dist/{shapeTypes-CElaawp7.cjs → shapeTypes-8eK48l-X.cjs} +145 -1
  76. package/dist/{shapeTypes-CYb8Byqj.js → shapeTypes-Di6GlhPk.js} +145 -1
  77. package/dist/sketching.cjs +2 -2
  78. package/dist/sketching.js +2 -2
  79. package/dist/{solidBuilders-Cs4XyL58.cjs → solidBuilders-D9KYP9sL.cjs} +3 -3
  80. package/dist/{solidBuilders-ClJxiUa3.js → solidBuilders-ctO_wFrm.js} +3 -3
  81. package/dist/{surfaceBuilders-DnGdDW8i.js → surfaceBuilders-BaqeZa0x.js} +3 -3
  82. package/dist/{surfaceBuilders-ZUTb3z6i.cjs → surfaceBuilders-CZzipftq.cjs} +3 -3
  83. package/dist/topology/nurbsFns.d.ts +13 -0
  84. package/dist/topology/nurbsFns.d.ts.map +1 -0
  85. package/dist/topology.cjs +8 -6
  86. package/dist/topology.d.ts +1 -0
  87. package/dist/topology.d.ts.map +1 -1
  88. package/dist/topology.js +7 -7
  89. package/dist/vectors.cjs +3 -3
  90. package/dist/vectors.js +3 -3
  91. package/package.json +1 -1
  92. /package/dist/{types-Bb4KK_iG.js → types-BWBlwp6w.js} +0 -0
  93. /package/dist/{types-BD-VVaWB.cjs → types-BjDcsS7l.cjs} +0 -0
  94. /package/dist/{vecOps-B9-MTeC8.js → vecOps-DFfUfsmc.js} +0 -0
  95. /package/dist/{vecOps-4iBMiet9.cjs → vecOps-DKGelwGL.cjs} +0 -0
@@ -1,13 +1,13 @@
1
- import { H as registerForCleanup, W as unregisterFromCleanup, X as getKernel2D, Y as getKernel, a as createEdge, u as createWire } from "./shapeTypes-CYb8Byqj.js";
2
- import { L as unwrap, d as validationError, k as ok, m as bug, n as computationError, y as err } from "./errors-B_T0aMQF.js";
3
- import { _ as DEG2RAD, y as RAD2DEG } from "./vecOps-B9-MTeC8.js";
4
- import { r as toVec3 } from "./types-Bb4KK_iG.js";
5
- import { r as makePlane } from "./planeOps-BuBXTLBr.js";
6
- import { g as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-EnGcKFAr.js";
7
- import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-Dps31ERU.js";
8
- import { f as getOrientation } from "./curveFns-C-jU1_Y_.js";
9
- import { r as makeFace } from "./surfaceBuilders-DnGdDW8i.js";
10
- import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-Rf0vhX6I.js";
1
+ import { H as registerForCleanup, W as unregisterFromCleanup, X as getKernel2D, Y as getKernel, a as createEdge, u as createWire } from "./shapeTypes-Di6GlhPk.js";
2
+ import { L as unwrap, d as validationError, k as ok, m as bug, n as computationError, y as err } from "./errors-BVOlxlIA.js";
3
+ import { _ as DEG2RAD, y as RAD2DEG } from "./vecOps-DFfUfsmc.js";
4
+ import { r as toVec3 } from "./types-BWBlwp6w.js";
5
+ import { r as makePlane } from "./planeOps-D88tfyJs.js";
6
+ import { g as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-Cat-4X74.js";
7
+ import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-B5LgmXBo.js";
8
+ import { f as getOrientation } from "./curveFns-DY4dFcP-.js";
9
+ import { r as makeFace } from "./surfaceBuilders-BaqeZa0x.js";
10
+ import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-DgX1UucG.js";
11
11
  //#region src/2d/lib/definitions.ts
12
12
  /** Type guard that checks whether a value is a `Point2D`. */
13
13
  function isPoint2D(point) {
@@ -1,13 +1,13 @@
1
- const require_shapeTypes = require("./shapeTypes-CElaawp7.cjs");
2
- const require_errors = require("./errors-DupKEMqI.cjs");
3
- const require_vecOps = require("./vecOps-4iBMiet9.cjs");
4
- const require_types = require("./types-BD-VVaWB.cjs");
5
- const require_planeOps = require("./planeOps-cTxDywpG.cjs");
6
- const require_faceFns = require("./faceFns-8dGb8q3J.cjs");
7
- const require_arrayAccess = require("./arrayAccess-peFKE9Ob.cjs");
8
- const require_curveFns = require("./curveFns-ywh7Ctyk.cjs");
9
- const require_surfaceBuilders = require("./surfaceBuilders-ZUTb3z6i.cjs");
10
- const require_helpers = require("./helpers-pQpV9Mwh.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-8eK48l-X.cjs");
2
+ const require_errors = require("./errors-BlC5ZWv4.cjs");
3
+ const require_vecOps = require("./vecOps-DKGelwGL.cjs");
4
+ const require_types = require("./types-BjDcsS7l.cjs");
5
+ const require_planeOps = require("./planeOps-BqLav0Ir.cjs");
6
+ const require_faceFns = require("./faceFns-BywUjlJ7.cjs");
7
+ const require_arrayAccess = require("./arrayAccess-t2dlxGSK.cjs");
8
+ const require_curveFns = require("./curveFns-CZszKLQB.cjs");
9
+ const require_surfaceBuilders = require("./surfaceBuilders-CZzipftq.cjs");
10
+ const require_helpers = require("./helpers-1iCCEElA.cjs");
11
11
  //#region src/2d/lib/definitions.ts
12
12
  /** Type guard that checks whether a value is a `Point2D`. */
13
13
  function isPoint2D(point) {
@@ -1,6 +1,127 @@
1
- const require_errors = require("./errors-DupKEMqI.cjs");
2
- const require_boolean2D = require("./boolean2D-CtB21ajK.cjs");
3
- const require_blueprint = require("./blueprint-PLJan-W5.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-8eK48l-X.cjs");
2
+ const require_errors = require("./errors-BlC5ZWv4.cjs");
3
+ const require_boolean2D = require("./boolean2D-lqfKJKUY.cjs");
4
+ const require_blueprint = require("./blueprint-CDnBM-tA.cjs");
5
+ //#region src/core/kernelCall.ts
6
+ var errorFactories = {
7
+ KERNEL_OPERATION: (code, message, cause) => ({
8
+ kind: "KERNEL_OPERATION",
9
+ code,
10
+ message,
11
+ cause
12
+ }),
13
+ VALIDATION: (code, message, cause) => ({
14
+ kind: "VALIDATION",
15
+ code,
16
+ message,
17
+ cause
18
+ }),
19
+ TYPE_CAST: (code, message, cause) => ({
20
+ kind: "TYPE_CAST",
21
+ code,
22
+ message,
23
+ cause
24
+ }),
25
+ SKETCHER_STATE: (code, message, cause) => ({
26
+ kind: "SKETCHER_STATE",
27
+ code,
28
+ message,
29
+ cause
30
+ }),
31
+ MODULE_INIT: (code, message, cause) => ({
32
+ kind: "MODULE_INIT",
33
+ code,
34
+ message,
35
+ cause
36
+ }),
37
+ COMPUTATION: (code, message, cause) => ({
38
+ kind: "COMPUTATION",
39
+ code,
40
+ message,
41
+ cause
42
+ }),
43
+ IO: (code, message, cause) => ({
44
+ kind: "IO",
45
+ code,
46
+ message,
47
+ cause
48
+ }),
49
+ QUERY: (code, message, cause) => ({
50
+ kind: "QUERY",
51
+ code,
52
+ message,
53
+ cause
54
+ }),
55
+ UNSUPPORTED: (code, message, cause) => ({
56
+ kind: "UNSUPPORTED",
57
+ code,
58
+ message,
59
+ cause
60
+ })
61
+ };
62
+ /**
63
+ * Wrap a kernel call that returns an KernelShape, automatically casting
64
+ * the result into a branded AnyShape. On exception, returns an Err
65
+ * with the given error code and message.
66
+ *
67
+ * kernel error messages are automatically translated into user-friendly
68
+ * explanations when the error kind is KERNEL_OPERATION.
69
+ */
70
+ function kernelCall(fn, code, message, kind = "KERNEL_OPERATION") {
71
+ try {
72
+ return require_errors.ok(require_shapeTypes.castShape(fn()));
73
+ } catch (e) {
74
+ const rawMessage = e instanceof Error ? e.message : String(e);
75
+ const translatedMessage = kind === "KERNEL_OPERATION" ? require_errors.translateKernelError(rawMessage) : rawMessage;
76
+ return require_errors.err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
77
+ }
78
+ }
79
+ /**
80
+ * Wrap a kernel call that returns an arbitrary value. On exception,
81
+ * returns an Err with the given error code and message.
82
+ *
83
+ * kernel error messages are automatically translated into user-friendly
84
+ * explanations when the error kind is KERNEL_OPERATION.
85
+ */
86
+ function kernelCallRaw(fn, code, message, kind = "KERNEL_OPERATION") {
87
+ try {
88
+ return require_errors.ok(fn());
89
+ } catch (e) {
90
+ const rawMessage = e instanceof Error ? e.message : String(e);
91
+ const translatedMessage = kind === "KERNEL_OPERATION" ? require_errors.translateKernelError(rawMessage) : rawMessage;
92
+ return require_errors.err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
93
+ }
94
+ }
95
+ /**
96
+ * Wrap a kernel call that needs intermediate kernel allocations.
97
+ *
98
+ * A DisposalScope is created and passed to fn. The scope is disposed
99
+ * deterministically after fn returns or throws — ensuring no intermediate
100
+ * handles are leaked even on error paths.
101
+ *
102
+ * ```ts
103
+ * return kernelCallScoped(
104
+ * (scope) => {
105
+ * const axis = scope.register(makeKernelAx1(origin, dir));
106
+ * return getKernel().revolveVec(...) // was: oc.BRepBuilderAPI_MakeRevol_1(shape.wrapped, axis).Shape();
107
+ * },
108
+ * BrepErrorCode.REVOLUTION_NOT_3D,
109
+ * 'Revolution failed'
110
+ * );
111
+ * ```
112
+ */
113
+ function kernelCallScoped(fn, code, message, kind = "KERNEL_OPERATION") {
114
+ try {
115
+ var _usingCtx$1 = require_shapeTypes._usingCtx();
116
+ const scope = _usingCtx$1.u(new require_shapeTypes.DisposalScope());
117
+ return kernelCall(() => fn(scope), code, message, kind);
118
+ } catch (_) {
119
+ _usingCtx$1.e = _;
120
+ } finally {
121
+ _usingCtx$1.d();
122
+ }
123
+ }
124
+ //#endregion
4
125
  //#region src/2d/lib/curve2dFns.ts
5
126
  /**
6
127
  * Return a reversed copy of the curve (non-mutating).
@@ -206,6 +327,24 @@ Object.defineProperty(exports, "isInside2D", {
206
327
  return isInside2D;
207
328
  }
208
329
  });
330
+ Object.defineProperty(exports, "kernelCall", {
331
+ enumerable: true,
332
+ get: function() {
333
+ return kernelCall;
334
+ }
335
+ });
336
+ Object.defineProperty(exports, "kernelCallRaw", {
337
+ enumerable: true,
338
+ get: function() {
339
+ return kernelCallRaw;
340
+ }
341
+ });
342
+ Object.defineProperty(exports, "kernelCallScoped", {
343
+ enumerable: true,
344
+ get: function() {
345
+ return kernelCallScoped;
346
+ }
347
+ });
209
348
  Object.defineProperty(exports, "mirror2D", {
210
349
  enumerable: true,
211
350
  get: function() {
@@ -1,6 +1,127 @@
1
- import { d as validationError, k as ok, t as BrepErrorCode, y as err } from "./errors-B_T0aMQF.js";
2
- import { h as CompoundBlueprint } from "./boolean2D-52qVCooY.js";
3
- import { t as Blueprint } from "./blueprint-DYCdRlW5.js";
1
+ import { J as _usingCtx, L as DisposalScope, t as castShape } from "./shapeTypes-Di6GlhPk.js";
2
+ import { d as validationError, f as translateKernelError, k as ok, t as BrepErrorCode, y as err } from "./errors-BVOlxlIA.js";
3
+ import { h as CompoundBlueprint } from "./boolean2D-Mzp-0g7o.js";
4
+ import { t as Blueprint } from "./blueprint-CB_85Lz_.js";
5
+ //#region src/core/kernelCall.ts
6
+ var errorFactories = {
7
+ KERNEL_OPERATION: (code, message, cause) => ({
8
+ kind: "KERNEL_OPERATION",
9
+ code,
10
+ message,
11
+ cause
12
+ }),
13
+ VALIDATION: (code, message, cause) => ({
14
+ kind: "VALIDATION",
15
+ code,
16
+ message,
17
+ cause
18
+ }),
19
+ TYPE_CAST: (code, message, cause) => ({
20
+ kind: "TYPE_CAST",
21
+ code,
22
+ message,
23
+ cause
24
+ }),
25
+ SKETCHER_STATE: (code, message, cause) => ({
26
+ kind: "SKETCHER_STATE",
27
+ code,
28
+ message,
29
+ cause
30
+ }),
31
+ MODULE_INIT: (code, message, cause) => ({
32
+ kind: "MODULE_INIT",
33
+ code,
34
+ message,
35
+ cause
36
+ }),
37
+ COMPUTATION: (code, message, cause) => ({
38
+ kind: "COMPUTATION",
39
+ code,
40
+ message,
41
+ cause
42
+ }),
43
+ IO: (code, message, cause) => ({
44
+ kind: "IO",
45
+ code,
46
+ message,
47
+ cause
48
+ }),
49
+ QUERY: (code, message, cause) => ({
50
+ kind: "QUERY",
51
+ code,
52
+ message,
53
+ cause
54
+ }),
55
+ UNSUPPORTED: (code, message, cause) => ({
56
+ kind: "UNSUPPORTED",
57
+ code,
58
+ message,
59
+ cause
60
+ })
61
+ };
62
+ /**
63
+ * Wrap a kernel call that returns an KernelShape, automatically casting
64
+ * the result into a branded AnyShape. On exception, returns an Err
65
+ * with the given error code and message.
66
+ *
67
+ * kernel error messages are automatically translated into user-friendly
68
+ * explanations when the error kind is KERNEL_OPERATION.
69
+ */
70
+ function kernelCall(fn, code, message, kind = "KERNEL_OPERATION") {
71
+ try {
72
+ return ok(castShape(fn()));
73
+ } catch (e) {
74
+ const rawMessage = e instanceof Error ? e.message : String(e);
75
+ const translatedMessage = kind === "KERNEL_OPERATION" ? translateKernelError(rawMessage) : rawMessage;
76
+ return err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
77
+ }
78
+ }
79
+ /**
80
+ * Wrap a kernel call that returns an arbitrary value. On exception,
81
+ * returns an Err with the given error code and message.
82
+ *
83
+ * kernel error messages are automatically translated into user-friendly
84
+ * explanations when the error kind is KERNEL_OPERATION.
85
+ */
86
+ function kernelCallRaw(fn, code, message, kind = "KERNEL_OPERATION") {
87
+ try {
88
+ return ok(fn());
89
+ } catch (e) {
90
+ const rawMessage = e instanceof Error ? e.message : String(e);
91
+ const translatedMessage = kind === "KERNEL_OPERATION" ? translateKernelError(rawMessage) : rawMessage;
92
+ return err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
93
+ }
94
+ }
95
+ /**
96
+ * Wrap a kernel call that needs intermediate kernel allocations.
97
+ *
98
+ * A DisposalScope is created and passed to fn. The scope is disposed
99
+ * deterministically after fn returns or throws — ensuring no intermediate
100
+ * handles are leaked even on error paths.
101
+ *
102
+ * ```ts
103
+ * return kernelCallScoped(
104
+ * (scope) => {
105
+ * const axis = scope.register(makeKernelAx1(origin, dir));
106
+ * return getKernel().revolveVec(...) // was: oc.BRepBuilderAPI_MakeRevol_1(shape.wrapped, axis).Shape();
107
+ * },
108
+ * BrepErrorCode.REVOLUTION_NOT_3D,
109
+ * 'Revolution failed'
110
+ * );
111
+ * ```
112
+ */
113
+ function kernelCallScoped(fn, code, message, kind = "KERNEL_OPERATION") {
114
+ try {
115
+ var _usingCtx$1 = _usingCtx();
116
+ const scope = _usingCtx$1.u(new DisposalScope());
117
+ return kernelCall(() => fn(scope), code, message, kind);
118
+ } catch (_) {
119
+ _usingCtx$1.e = _;
120
+ } finally {
121
+ _usingCtx$1.d();
122
+ }
123
+ }
124
+ //#endregion
4
125
  //#region src/2d/lib/curve2dFns.ts
5
126
  /**
6
127
  * Return a reversed copy of the curve (non-mutating).
@@ -128,4 +249,4 @@ function sketchOnFace2D(bp, face, scaleMode) {
128
249
  return bp.sketchOnFace(face, scaleMode);
129
250
  }
130
251
  //#endregion
131
- export { reverseCurve as S, curve2dIsOnCurve as _, isInside2D as a, curve2dSplitAt as b, scale2D as c, stretch2D as d, toSVGPathD as f, curve2dFirstPoint as g, curve2dDistanceFrom as h, getOrientation2D as i, sketchOnFace2D as l, curve2dBoundingBox as m, createCompoundBlueprint as n, mirror2D as o, translate2D as p, getBounds2D as r, rotate2D as s, createBlueprint as t, sketchOnPlane2D as u, curve2dLastPoint as v, curve2dTangentAt as x, curve2dParameter as y };
252
+ export { kernelCall as C, reverseCurve as S, kernelCallScoped as T, curve2dIsOnCurve as _, isInside2D as a, curve2dSplitAt as b, scale2D as c, stretch2D as d, toSVGPathD as f, curve2dFirstPoint as g, curve2dDistanceFrom as h, getOrientation2D as i, sketchOnFace2D as l, curve2dBoundingBox as m, createCompoundBlueprint as n, mirror2D as o, translate2D as p, getBounds2D as r, rotate2D as s, createBlueprint as t, sketchOnPlane2D as u, curve2dLastPoint as v, kernelCallRaw as w, curve2dTangentAt as x, curve2dParameter as y };
@@ -1,15 +1,15 @@
1
- import { J as _usingCtx, L as DisposalScope, X as getKernel2D, Y as getKernel, a as createEdge, h as isShape3D, o as createFace, t as castShape, u as createWire } from "./shapeTypes-CYb8Byqj.js";
2
- import { L as unwrap, d as validationError, i as kernelError, k as ok, l as typeCastError, m as bug, n as computationError, s as safeIndex, w as isOk, y as err } from "./errors-B_T0aMQF.js";
3
- import { _ as DEG2RAD, d as vecNormalize, h as vecScale, r as vecCross, y as RAD2DEG } from "./vecOps-B9-MTeC8.js";
4
- import { r as toVec3 } from "./types-Bb4KK_iG.js";
5
- import { n as createPlane } from "./planeOps-BuBXTLBr.js";
6
- import { _ as downcast, c as normalAt, p as uvBounds, u as pointOnSurface } from "./faceFns-EnGcKFAr.js";
7
- import { r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-Dps31ERU.js";
8
- import { c as curveStartPoint, l as curveTangentAt, r as curveIsClosed } from "./curveFns-C-jU1_Y_.js";
9
- import { _ as zip, i as makeNewFaceWithinFace, r as makeFace, s as assembleWire } from "./surfaceBuilders-DnGdDW8i.js";
10
- import { _ as samePoint$1, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, s as PRECISION_INTERSECTION, v as scalarMultiply2d } from "./helpers-Rf0vhX6I.js";
11
- import { _ as Curve2D, b as removeDuplicatePoints, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-DYCdRlW5.js";
12
- import { c as twistExtrude, n as revolve, r as complexExtrude, s as sweep, t as extrude } from "./extrudeFns-LsH1rDMa.js";
1
+ import { J as _usingCtx, L as DisposalScope, X as getKernel2D, Y as getKernel, a as createEdge, h as isShape3D, o as createFace, t as castShape, u as createWire } from "./shapeTypes-Di6GlhPk.js";
2
+ import { L as unwrap, d as validationError, i as kernelError, k as ok, l as typeCastError, m as bug, n as computationError, s as safeIndex, w as isOk, y as err } from "./errors-BVOlxlIA.js";
3
+ import { _ as DEG2RAD, d as vecNormalize, h as vecScale, r as vecCross, y as RAD2DEG } from "./vecOps-DFfUfsmc.js";
4
+ import { r as toVec3 } from "./types-BWBlwp6w.js";
5
+ import { n as createPlane } from "./planeOps-D88tfyJs.js";
6
+ import { _ as downcast, c as normalAt, p as uvBounds, u as pointOnSurface } from "./faceFns-Cat-4X74.js";
7
+ import { r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-B5LgmXBo.js";
8
+ import { c as curveStartPoint, l as curveTangentAt, r as curveIsClosed } from "./curveFns-DY4dFcP-.js";
9
+ import { _ as zip, i as makeNewFaceWithinFace, r as makeFace, s as assembleWire } from "./surfaceBuilders-BaqeZa0x.js";
10
+ import { _ as samePoint$1, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, s as PRECISION_INTERSECTION, v as scalarMultiply2d } from "./helpers-DgX1UucG.js";
11
+ import { _ as Curve2D, b as removeDuplicatePoints, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-CB_85Lz_.js";
12
+ import { c as twistExtrude, n as revolve, r as complexExtrude, s as sweep, t as extrude } from "./extrudeFns-b0uLn4E4.js";
13
13
  //#region node_modules/flatqueue/index.js
14
14
  /** @template T */
15
15
  var FlatQueue = class {
@@ -1,15 +1,15 @@
1
- const require_shapeTypes = require("./shapeTypes-CElaawp7.cjs");
2
- const require_errors = require("./errors-DupKEMqI.cjs");
3
- const require_vecOps = require("./vecOps-4iBMiet9.cjs");
4
- const require_types = require("./types-BD-VVaWB.cjs");
5
- const require_planeOps = require("./planeOps-cTxDywpG.cjs");
6
- const require_faceFns = require("./faceFns-8dGb8q3J.cjs");
7
- const require_arrayAccess = require("./arrayAccess-peFKE9Ob.cjs");
8
- const require_curveFns = require("./curveFns-ywh7Ctyk.cjs");
9
- const require_surfaceBuilders = require("./surfaceBuilders-ZUTb3z6i.cjs");
10
- const require_helpers = require("./helpers-pQpV9Mwh.cjs");
11
- const require_blueprint = require("./blueprint-PLJan-W5.cjs");
12
- const require_extrudeFns = require("./extrudeFns-CGCIbydL.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-8eK48l-X.cjs");
2
+ const require_errors = require("./errors-BlC5ZWv4.cjs");
3
+ const require_vecOps = require("./vecOps-DKGelwGL.cjs");
4
+ const require_types = require("./types-BjDcsS7l.cjs");
5
+ const require_planeOps = require("./planeOps-BqLav0Ir.cjs");
6
+ const require_faceFns = require("./faceFns-BywUjlJ7.cjs");
7
+ const require_arrayAccess = require("./arrayAccess-t2dlxGSK.cjs");
8
+ const require_curveFns = require("./curveFns-CZszKLQB.cjs");
9
+ const require_surfaceBuilders = require("./surfaceBuilders-CZzipftq.cjs");
10
+ const require_helpers = require("./helpers-1iCCEElA.cjs");
11
+ const require_blueprint = require("./blueprint-CDnBM-tA.cjs");
12
+ const require_extrudeFns = require("./extrudeFns-GpCB_Uzs.cjs");
13
13
  //#region node_modules/flatqueue/index.js
14
14
  /** @template T */
15
15
  var FlatQueue = class {
@@ -1,9 +1,9 @@
1
- import { Y as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-CYb8Byqj.js";
2
- import { C as isErr, L as unwrap, d as validationError, i as kernelError, k as ok, l as typeCastError, t as BrepErrorCode, y as err } from "./errors-B_T0aMQF.js";
3
- import { h as vecScale, t as vecAdd, v as HASH_CODE_MAX } from "./vecOps-B9-MTeC8.js";
4
- import { o as resolvePlane } from "./planeOps-BuBXTLBr.js";
5
- import { F as getEdges, R as getVertices, b as propagateAllMetadata, n as getAtOrThrow, t as firstOrThrow, x as propagateMetadataByHash, y as collectInputFaceHashes, z as getWires } from "./arrayAccess-Dps31ERU.js";
6
- import { r as makeFace } from "./surfaceBuilders-DnGdDW8i.js";
1
+ import { Y as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-Di6GlhPk.js";
2
+ import { C as isErr, L as unwrap, d as validationError, i as kernelError, k as ok, l as typeCastError, t as BrepErrorCode, y as err } from "./errors-BVOlxlIA.js";
3
+ import { h as vecScale, t as vecAdd, v as HASH_CODE_MAX } from "./vecOps-DFfUfsmc.js";
4
+ import { o as resolvePlane } from "./planeOps-D88tfyJs.js";
5
+ import { F as getEdges, R as getVertices, b as propagateAllMetadata, n as getAtOrThrow, t as firstOrThrow, x as propagateMetadataByHash, y as collectInputFaceHashes, z as getWires } from "./arrayAccess-B5LgmXBo.js";
6
+ import { r as makeFace } from "./surfaceBuilders-BaqeZa0x.js";
7
7
  //#region src/topology/booleanFns.ts
8
8
  /**
9
9
  * Boolean and compound operations — functional replacements for _3DShape boolean methods.
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-CElaawp7.cjs");
2
- const require_errors = require("./errors-DupKEMqI.cjs");
3
- const require_vecOps = require("./vecOps-4iBMiet9.cjs");
4
- const require_planeOps = require("./planeOps-cTxDywpG.cjs");
5
- const require_arrayAccess = require("./arrayAccess-peFKE9Ob.cjs");
6
- const require_surfaceBuilders = require("./surfaceBuilders-ZUTb3z6i.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-8eK48l-X.cjs");
2
+ const require_errors = require("./errors-BlC5ZWv4.cjs");
3
+ const require_vecOps = require("./vecOps-DKGelwGL.cjs");
4
+ const require_planeOps = require("./planeOps-BqLav0Ir.cjs");
5
+ const require_arrayAccess = require("./arrayAccess-t2dlxGSK.cjs");
6
+ const require_surfaceBuilders = require("./surfaceBuilders-CZzipftq.cjs");
7
7
  //#region src/topology/booleanFns.ts
8
8
  /**
9
9
  * Boolean and compound operations — functional replacements for _3DShape boolean methods.
package/dist/brepjs.cjs CHANGED
@@ -1,147 +1,27 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_drawFns = require("./drawFns-DknEB-Qs.cjs");
3
- const require_shapeTypes = require("./shapeTypes-CElaawp7.cjs");
4
- const require_errors = require("./errors-DupKEMqI.cjs");
5
- const require_vecOps = require("./vecOps-4iBMiet9.cjs");
6
- const require_types = require("./types-BD-VVaWB.cjs");
7
- const require_planeOps = require("./planeOps-cTxDywpG.cjs");
8
- const require_faceFns = require("./faceFns-8dGb8q3J.cjs");
9
- const require_arrayAccess = require("./arrayAccess-peFKE9Ob.cjs");
10
- const require_curveFns = require("./curveFns-ywh7Ctyk.cjs");
11
- const require_meshFns = require("./meshFns-2XnDXgIh.cjs");
12
- const require_surfaceBuilders = require("./surfaceBuilders-ZUTb3z6i.cjs");
13
- const require_booleanFns = require("./booleanFns-BrptUFkP.cjs");
14
- const require_primitiveFns = require("./primitiveFns-DKtvEA0i.cjs");
15
- const require_historyFns = require("./historyFns-lNalnOdR.cjs");
16
- const require_boolean2D = require("./boolean2D-CtB21ajK.cjs");
17
- const require_helpers = require("./helpers-pQpV9Mwh.cjs");
18
- const require_solidBuilders = require("./solidBuilders-Cs4XyL58.cjs");
19
- const require_measureFns = require("./measureFns-CFdHa_fj.cjs");
20
- const require_cornerFinder = require("./cornerFinder-SF-xmMO1.cjs");
21
- const require_extrudeFns = require("./extrudeFns-CGCIbydL.cjs");
22
- const require_blueprintFns = require("./blueprintFns-Bsx25BG7.cjs");
23
- const require_importFns = require("./importFns-BSH9cGIp.cjs");
2
+ const require_drawFns = require("./drawFns-BHNDF8hb.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-8eK48l-X.cjs");
4
+ const require_errors = require("./errors-BlC5ZWv4.cjs");
5
+ const require_blueprintFns = require("./blueprintFns-D4YucGaQ.cjs");
6
+ const require_vecOps = require("./vecOps-DKGelwGL.cjs");
7
+ const require_types = require("./types-BjDcsS7l.cjs");
8
+ const require_planeOps = require("./planeOps-BqLav0Ir.cjs");
9
+ const require_faceFns = require("./faceFns-BywUjlJ7.cjs");
10
+ const require_arrayAccess = require("./arrayAccess-t2dlxGSK.cjs");
11
+ const require_curveFns = require("./curveFns-CZszKLQB.cjs");
12
+ const require_meshFns = require("./meshFns-D3KAZ_ma.cjs");
13
+ const require_surfaceBuilders = require("./surfaceBuilders-CZzipftq.cjs");
14
+ const require_booleanFns = require("./booleanFns-Bw8sAMgI.cjs");
15
+ const require_primitiveFns = require("./primitiveFns-BGh9A9jR.cjs");
16
+ const require_historyFns = require("./historyFns-DqxDtXIZ.cjs");
17
+ const require_boolean2D = require("./boolean2D-lqfKJKUY.cjs");
18
+ const require_helpers = require("./helpers-1iCCEElA.cjs");
19
+ const require_solidBuilders = require("./solidBuilders-D9KYP9sL.cjs");
20
+ const require_measureFns = require("./measureFns-Bx-kl7_g.cjs");
21
+ const require_cornerFinder = require("./cornerFinder-BszIcLqj.cjs");
22
+ const require_extrudeFns = require("./extrudeFns-GpCB_Uzs.cjs");
23
+ const require_importFns = require("./importFns-ChXEJAvu.cjs");
24
24
  const require_workerHandler = require("./workerHandler-nLkvSOKX.cjs");
25
- //#region src/core/kernelCall.ts
26
- var errorFactories = {
27
- KERNEL_OPERATION: (code, message, cause) => ({
28
- kind: "KERNEL_OPERATION",
29
- code,
30
- message,
31
- cause
32
- }),
33
- VALIDATION: (code, message, cause) => ({
34
- kind: "VALIDATION",
35
- code,
36
- message,
37
- cause
38
- }),
39
- TYPE_CAST: (code, message, cause) => ({
40
- kind: "TYPE_CAST",
41
- code,
42
- message,
43
- cause
44
- }),
45
- SKETCHER_STATE: (code, message, cause) => ({
46
- kind: "SKETCHER_STATE",
47
- code,
48
- message,
49
- cause
50
- }),
51
- MODULE_INIT: (code, message, cause) => ({
52
- kind: "MODULE_INIT",
53
- code,
54
- message,
55
- cause
56
- }),
57
- COMPUTATION: (code, message, cause) => ({
58
- kind: "COMPUTATION",
59
- code,
60
- message,
61
- cause
62
- }),
63
- IO: (code, message, cause) => ({
64
- kind: "IO",
65
- code,
66
- message,
67
- cause
68
- }),
69
- QUERY: (code, message, cause) => ({
70
- kind: "QUERY",
71
- code,
72
- message,
73
- cause
74
- }),
75
- UNSUPPORTED: (code, message, cause) => ({
76
- kind: "UNSUPPORTED",
77
- code,
78
- message,
79
- cause
80
- })
81
- };
82
- /**
83
- * Wrap a kernel call that returns an KernelShape, automatically casting
84
- * the result into a branded AnyShape. On exception, returns an Err
85
- * with the given error code and message.
86
- *
87
- * kernel error messages are automatically translated into user-friendly
88
- * explanations when the error kind is KERNEL_OPERATION.
89
- */
90
- function kernelCall(fn, code, message, kind = "KERNEL_OPERATION") {
91
- try {
92
- return require_errors.ok(require_shapeTypes.castShape(fn()));
93
- } catch (e) {
94
- const rawMessage = e instanceof Error ? e.message : String(e);
95
- const translatedMessage = kind === "KERNEL_OPERATION" ? require_errors.translateKernelError(rawMessage) : rawMessage;
96
- return require_errors.err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
97
- }
98
- }
99
- /**
100
- * Wrap a kernel call that returns an arbitrary value. On exception,
101
- * returns an Err with the given error code and message.
102
- *
103
- * kernel error messages are automatically translated into user-friendly
104
- * explanations when the error kind is KERNEL_OPERATION.
105
- */
106
- function kernelCallRaw(fn, code, message, kind = "KERNEL_OPERATION") {
107
- try {
108
- return require_errors.ok(fn());
109
- } catch (e) {
110
- const rawMessage = e instanceof Error ? e.message : String(e);
111
- const translatedMessage = kind === "KERNEL_OPERATION" ? require_errors.translateKernelError(rawMessage) : rawMessage;
112
- return require_errors.err(errorFactories[kind](code, `${message}: ${translatedMessage}`, e));
113
- }
114
- }
115
- /**
116
- * Wrap a kernel call that needs intermediate kernel allocations.
117
- *
118
- * A DisposalScope is created and passed to fn. The scope is disposed
119
- * deterministically after fn returns or throws — ensuring no intermediate
120
- * handles are leaked even on error paths.
121
- *
122
- * ```ts
123
- * return kernelCallScoped(
124
- * (scope) => {
125
- * const axis = scope.register(makeKernelAx1(origin, dir));
126
- * return getKernel().revolveVec(...) // was: oc.BRepBuilderAPI_MakeRevol_1(shape.wrapped, axis).Shape();
127
- * },
128
- * BrepErrorCode.REVOLUTION_NOT_3D,
129
- * 'Revolution failed'
130
- * );
131
- * ```
132
- */
133
- function kernelCallScoped(fn, code, message, kind = "KERNEL_OPERATION") {
134
- try {
135
- var _usingCtx$1 = require_shapeTypes._usingCtx();
136
- const scope = _usingCtx$1.u(new require_shapeTypes.DisposalScope());
137
- return kernelCall(() => fn(scope), code, message, kind);
138
- } catch (_) {
139
- _usingCtx$1.e = _;
140
- } finally {
141
- _usingCtx$1.d();
142
- }
143
- }
144
- //#endregion
145
25
  //#region src/topology/shapeBooleans.ts
146
26
  var BOPAlgo_GlueShift = 1;
147
27
  var BOPAlgo_GlueFull = 2;
@@ -2929,6 +2809,8 @@ exports.getFont = require_drawFns.getFont;
2929
2809
  exports.getHashCode = require_arrayAccess.getHashCode;
2930
2810
  exports.getHistoryShape = require_historyFns.getShape;
2931
2811
  exports.getKernel = require_shapeTypes.getKernel;
2812
+ exports.getNurbsCurveData = require_primitiveFns.getNurbsCurveData;
2813
+ exports.getNurbsSurfaceData = require_primitiveFns.getNurbsSurfaceData;
2932
2814
  exports.getOrientation = require_curveFns.getOrientation;
2933
2815
  exports.getOrientation2D = require_blueprintFns.getOrientation2D;
2934
2816
  exports.getShapeColor = require_arrayAccess.getShapeColor;
@@ -3005,9 +2887,9 @@ exports.iterFaces = require_arrayAccess.iterFaces;
3005
2887
  exports.iterTopo = require_faceFns.iterTopo;
3006
2888
  exports.iterVertices = require_arrayAccess.iterVertices;
3007
2889
  exports.iterWires = require_arrayAccess.iterWires;
3008
- exports.kernelCall = kernelCall;
3009
- exports.kernelCallRaw = kernelCallRaw;
3010
- exports.kernelCallScoped = kernelCallScoped;
2890
+ exports.kernelCall = require_blueprintFns.kernelCall;
2891
+ exports.kernelCallRaw = require_blueprintFns.kernelCallRaw;
2892
+ exports.kernelCallScoped = require_blueprintFns.kernelCallScoped;
3011
2893
  exports.kernelError = require_errors.kernelError;
3012
2894
  exports.line = require_primitiveFns.line;
3013
2895
  exports.linearPattern = require_historyFns.linearPattern;