brepjs 20.12.11 → 20.12.13

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-DfPO5LGP.js → adjacencyFns-DBN26xm_.js} +2 -2
  4. package/dist/{adjacencyFns-DSGyqGyy.cjs → adjacencyFns-Djv832MP.cjs} +2 -2
  5. package/dist/{blueprint-DbNFPHzC.js → blueprint-BTccTqFy.js} +5 -5
  6. package/dist/{blueprint-BY2aygt_.cjs → blueprint-nVQsEilp.cjs} +5 -5
  7. package/dist/{blueprintFns-AfHtvBKP.cjs → blueprintFns-DFDOgqqe.cjs} +2 -2
  8. package/dist/{blueprintFns-dU5V5WcD.js → blueprintFns-DX7yLZpR.js} +2 -2
  9. package/dist/{blueprintSketcher-DHp6AeEM.cjs → blueprintSketcher-CoGp1dM9.cjs} +3 -3
  10. package/dist/{blueprintSketcher-nBI9PlsW.js → blueprintSketcher-rk64lh8e.js} +3 -3
  11. package/dist/{boolean2D-C6TS6oFP.cjs → boolean2D-DP2DiMfT.cjs} +4 -4
  12. package/dist/{boolean2D-DuWgyjOR.js → boolean2D-Dv-57m9d.js} +4 -4
  13. package/dist/{booleanFns-BwzBRGqj.js → booleanFns-CjIZaNBh.js} +59 -33
  14. package/dist/{booleanFns-D0qfjH0a.cjs → booleanFns-ewBwy7V_.cjs} +64 -32
  15. package/dist/brepjs.cjs +30 -30
  16. package/dist/brepjs.js +30 -30
  17. package/dist/{cameraFns-CLkNCsYU.js → cameraFns-D0JDXxwO.js} +3 -3
  18. package/dist/{cameraFns-B9xKg36U.cjs → cameraFns-DmIQsPIr.cjs} +3 -3
  19. package/dist/core.cjs +2 -2
  20. package/dist/core.js +2 -2
  21. package/dist/{cornerFinder-Da8Dv4bp.cjs → cornerFinder-CZ1XbVx7.cjs} +1 -1
  22. package/dist/{cornerFinder-CeyQ5JMA.js → cornerFinder-Df7ajnlz.js} +1 -1
  23. package/dist/{curveFns-EsJgIpc6.js → curveFns-CUrIF9LG.js} +1 -1
  24. package/dist/{curveFns-B8mm5cou.cjs → curveFns-DK5eG57I.cjs} +1 -1
  25. package/dist/{drawFns-JZV96JGO.cjs → drawFns-B2CPxqd1.cjs} +12 -12
  26. package/dist/{drawFns-BQIHgHQg.js → drawFns-BKKWQ4JW.js} +12 -12
  27. package/dist/{faceFns-2jGPfqvB.js → faceFns-B3vblI_s.js} +2 -2
  28. package/dist/{faceFns-Jo9hMVqL.cjs → faceFns-C1Ii1MJ-.cjs} +2 -2
  29. package/dist/{healingFns-D6mUhe0Z.js → healingFns-CqiHrJcx.js} +114 -29
  30. package/dist/{healingFns-qioD81Of.cjs → healingFns-sfguIlrW.cjs} +114 -29
  31. package/dist/{helpers-BvYkHZK7.cjs → helpers-CTxyRIoE.cjs} +6 -6
  32. package/dist/{helpers-CsHdKbfF.js → helpers-Dy1moMMd.js} +6 -6
  33. package/dist/{importFns-C8yUNPzJ.js → importFns-BXiAHbyn.js} +5 -5
  34. package/dist/{importFns-BzzUvnKA.cjs → importFns-C3ILnGTv.cjs} +5 -5
  35. package/dist/io.cjs +2 -2
  36. package/dist/io.js +2 -2
  37. package/dist/{loftFns-jnQL_zpD.js → loftFns-BJqF1p_f.js} +1 -1
  38. package/dist/{loftFns-CnerVgTM.cjs → loftFns-CzERU_TY.cjs} +1 -1
  39. package/dist/{measureFns-D3egqKcW.js → measureFns-CT2TRojo.js} +15 -9
  40. package/dist/{measureFns-R85865k9.cjs → measureFns-DN5YMfKZ.cjs} +26 -8
  41. package/dist/measurement/measureFns.d.ts +18 -3
  42. package/dist/measurement/principalBoxFns.d.ts +2 -1
  43. package/dist/measurement.cjs +2 -2
  44. package/dist/measurement.js +2 -2
  45. package/dist/{meshFns-Cs_qrlXI.cjs → meshFns-BDn_nIVv.cjs} +3 -3
  46. package/dist/{meshFns-Bo4EQJFO.js → meshFns-Cp8uEpVt.js} +3 -3
  47. package/dist/operations.cjs +2 -2
  48. package/dist/operations.js +2 -2
  49. package/dist/{primitiveFns-eiM6OjWU.cjs → primitiveFns-1FcmvZ6Y.cjs} +5 -5
  50. package/dist/{primitiveFns-NxbTqKy7.js → primitiveFns-BzJi89Y6.js} +5 -5
  51. package/dist/{principalBoxFns-DepJW5im.cjs → principalBoxFns-DT4ngNuy.cjs} +29 -20
  52. package/dist/{principalBoxFns-BgetPvvQ.js → principalBoxFns-farY7tvh.js} +29 -20
  53. package/dist/projection.cjs +1 -1
  54. package/dist/projection.js +1 -1
  55. package/dist/query.cjs +2 -2
  56. package/dist/query.js +2 -2
  57. package/dist/{refResolveFns-DpWvqRm0.cjs → refResolveFns-By31fyEv.cjs} +6 -6
  58. package/dist/{refResolveFns-Bl10yOGJ.js → refResolveFns-dNAt7W9t.js} +6 -6
  59. package/dist/{shapeFns-kFm-m8jh.js → shapeFns-381QqZ8n.js} +2 -2
  60. package/dist/{shapeFns-D47cmLG8.cjs → shapeFns-DhTfkxbN.cjs} +2 -2
  61. package/dist/shapeRef.cjs +1 -1
  62. package/dist/shapeRef.js +1 -1
  63. package/dist/{shapeTypes-C06KHgTm.cjs → shapeTypes-C0NcoN5g.cjs} +11 -14
  64. package/dist/{shapeTypes-DoPnZHn_.js → shapeTypes-DfBx__EF.js} +11 -14
  65. package/dist/sketching.cjs +3 -3
  66. package/dist/sketching.js +3 -3
  67. package/dist/{solidBuilders-ZDGdvaTU.js → solidBuilders-BZ1qXlFZ.js} +3 -3
  68. package/dist/{solidBuilders-Dwm0hXn5.cjs → solidBuilders-VPkj5ChQ.cjs} +3 -3
  69. package/dist/{surfaceBuilders-D5kFAV1i.cjs → surfaceBuilders-DQre19g8.cjs} +3 -3
  70. package/dist/{surfaceBuilders-BBs6D6Km.js → surfaceBuilders-sBre5aYy.js} +3 -3
  71. package/dist/text.cjs +2 -2
  72. package/dist/text.js +2 -2
  73. package/dist/{textBlueprints-D3XhH1kb.cjs → textBlueprints-ChDNr0L4.cjs} +8 -8
  74. package/dist/{textBlueprints-BvZNjVwM.js → textBlueprints-DCorV4gM.js} +8 -8
  75. package/dist/{textMetrics-BGPUxjiq.js → textMetrics-ByzyMC1I.js} +1 -1
  76. package/dist/{textMetrics-zk48vXsM.cjs → textMetrics-C0qTX3sH.cjs} +1 -1
  77. package/dist/{threadFns-CEr8JDsu.js → threadFns-AJP69FU6.js} +7 -7
  78. package/dist/{threadFns-DNFoBBrH.cjs → threadFns-CzWqzDN_.cjs} +7 -7
  79. package/dist/topology/apiTypes.d.ts +4 -2
  80. package/dist/topology/booleanFns.d.ts +15 -3
  81. package/dist/topology/chamferAngleFns.d.ts +6 -4
  82. package/dist/topology/evolutionFns.d.ts +2 -0
  83. package/dist/topology/metadata/metadataPropagation.d.ts +4 -1
  84. package/dist/topology/modifierFns.d.ts +8 -0
  85. package/dist/topology.cjs +9 -9
  86. package/dist/topology.js +9 -9
  87. package/dist/{topologyQueryFns-yOGEI9hO.js → topologyQueryFns-CTCsQIH_.js} +1 -1
  88. package/dist/{topologyQueryFns-BUhKY2Kj.cjs → topologyQueryFns-svM8Yfsk.cjs} +1 -1
  89. package/dist/{validityTypes-lfyOkCQm.cjs → validityTypes-BCUWXQNA.cjs} +1 -1
  90. package/dist/{validityTypes-CGrEOscY.js → validityTypes-DrWg6_qM.js} +1 -1
  91. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
2
- import { _ as wrapSketchData, a as Sketches, n as getFont, t as textBlueprints, y as CompoundSketch } from "./textBlueprints-BvZNjVwM.js";
2
+ import { _ as wrapSketchData, a as Sketches, n as getFont, t as textBlueprints, y as CompoundSketch } from "./textBlueprints-DCorV4gM.js";
3
3
  // src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,5 +1,5 @@
1
1
  const require_errors = require("./errors-O_blYTWT.cjs");
2
- const require_textBlueprints = require("./textBlueprints-D3XhH1kb.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-ChDNr0L4.cjs");
3
3
  // src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -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-DoPnZHn_.js";
1
+ import { F as createKernelHandle, G as _usingCtx, N as DisposalScope, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-DfBx__EF.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-BTccWbtE.js";
3
3
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-S-m9H_fe.js";
4
- import { b as fromBREP } from "./faceFns-2jGPfqvB.js";
5
- import { a as fuseAll } from "./booleanFns-BwzBRGqj.js";
6
- import { E as wire, h as line } from "./primitiveFns-NxbTqKy7.js";
7
- import { s as toBREP, t as clone } from "./shapeFns-kFm-m8jh.js";
8
- import { t as loft } from "./loftFns-jnQL_zpD.js";
9
- import { c as resolveRefParams } from "./refResolveFns-Bl10yOGJ.js";
4
+ import { b as fromBREP } from "./faceFns-B3vblI_s.js";
5
+ import { o as fuseAll } from "./booleanFns-CjIZaNBh.js";
6
+ import { E as wire, h as line } from "./primitiveFns-BzJi89Y6.js";
7
+ import { s as toBREP, t as clone } from "./shapeFns-381QqZ8n.js";
8
+ import { t as loft } from "./loftFns-BJqF1p_f.js";
9
+ import { c as resolveRefParams } from "./refResolveFns-dNAt7W9t.js";
10
10
  // src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-C06KHgTm.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
4
- const require_faceFns = require("./faceFns-Jo9hMVqL.cjs");
5
- const require_booleanFns = require("./booleanFns-D0qfjH0a.cjs");
6
- const require_primitiveFns = require("./primitiveFns-eiM6OjWU.cjs");
7
- const require_shapeFns = require("./shapeFns-D47cmLG8.cjs");
8
- const require_loftFns = require("./loftFns-CnerVgTM.cjs");
9
- const require_refResolveFns = require("./refResolveFns-DpWvqRm0.cjs");
4
+ const require_faceFns = require("./faceFns-C1Ii1MJ-.cjs");
5
+ const require_booleanFns = require("./booleanFns-ewBwy7V_.cjs");
6
+ const require_primitiveFns = require("./primitiveFns-1FcmvZ6Y.cjs");
7
+ const require_shapeFns = require("./shapeFns-DhTfkxbN.cjs");
8
+ const require_loftFns = require("./loftFns-CzERU_TY.cjs");
9
+ const require_refResolveFns = require("./refResolveFns-By31fyEv.cjs");
10
10
  // src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
@@ -27,8 +27,10 @@ export type FilletRadius = number | [number, number] | ((edge: Edge<Dimension>)
27
27
  * Chamfer distance specification.
28
28
  *
29
29
  * - `number` — equal distance
30
- * - `[number, number]` — asymmetric distances (dist1, dist2)
31
- * - `{ distance, angle }` — distance-angle mode (replaces chamferDistAngleShape); angle in degrees
30
+ * - `[number, number]` — asymmetric distances (dist1, dist2). brepkit has no asymmetric
31
+ * chamfer and returns an `UNSUPPORTED_CAPABILITY` error for two different distances.
32
+ * - `{ distance, angle }` — distance-angle mode (replaces chamferDistAngleShape); angle in degrees.
33
+ * brepkit has no distance-angle chamfer and returns an `UNSUPPORTED_CAPABILITY` error.
32
34
  * - callback — per-edge value of any of the above; return `null` (or a non-positive
33
35
  * distance) to skip an edge. The edges it keeps must all get plain distances or all
34
36
  * get `{ distance, angle }`: mixing the two is an `INVALID_CHAMFER_DISTANCE` error.
@@ -4,6 +4,14 @@ import { PlaneInput } from '../core/planeTypes.js';
4
4
  import { BooleanOptions } from '../kernel/types.js';
5
5
  import { ValidSolid } from '../core/validityTypes.js';
6
6
  export type { BooleanOptions };
7
+ /**
8
+ * A copy of `shape` the caller owns, for a boolean that has nothing to combine.
9
+ * With `trackEvolution` on, its face metadata is re-keyed onto the copy, as a
10
+ * real boolean would propagate it.
11
+ *
12
+ * @internal
13
+ */
14
+ export declare function copyAsBooleanResult<T extends AnyShape<Dimension>>(shape: T, trackEvolution: boolean): Result<T>;
7
15
  /**
8
16
  * Fuse two 3D shapes together (boolean union). Returns a new shape.
9
17
  *
@@ -68,6 +76,7 @@ export declare function intersect(a: Shape3D, b: Shape3D, options: BooleanOption
68
76
  * @param shapes - Array of 3D shapes to fuse (at least one required).
69
77
  * @param options - Boolean operation options.
70
78
  * @returns Ok with the fused shape, or Err if the array is empty or the result is not 3D.
79
+ * A single shape comes back as a copy, so the result is always the caller's to dispose.
71
80
  *
72
81
  * @example
73
82
  * ```ts
@@ -87,7 +96,8 @@ export declare function fuseAll(shapes: Shape3D[], options: BooleanOptions & {
87
96
  * @param base - The shape to cut from.
88
97
  * @param tools - Array of tool shapes to subtract.
89
98
  * @param options - Boolean operation options.
90
- * @returns Ok with the cut shape, or the base shape unchanged if tools is empty.
99
+ * @returns Ok with the cut shape, or a copy of the base if tools is empty, so the
100
+ * result is always the caller's to dispose.
91
101
  */
92
102
  export declare function cutAll(base: ValidSolid, tools: ValidSolid[], options?: BooleanOptions): Result<ValidSolid>;
93
103
  export declare function cutAll(base: Shape3D, tools: Shape3D[], options: BooleanOptions & {
@@ -119,7 +129,8 @@ export declare function sectionToFace(shape: AnyShape<Dimension>, plane: PlaneIn
119
129
  }): Result<OrientedFace>;
120
130
  /**
121
131
  * Split a shape with one or more tool shapes using BRepAlgoAPI_Splitter.
122
- * Returns all pieces from the split as a compound.
132
+ * Returns all pieces from the split as a compound, or a copy of the shape when
133
+ * `tools` is empty, so the result is always the caller's to dispose.
123
134
  */
124
135
  export declare function split(shape: AnyShape<Dimension>, tools: AnyShape<Dimension>[]): Result<AnyShape<Dimension>>;
125
136
  /**
@@ -143,7 +154,8 @@ export interface BooleanPipelineStep {
143
154
  * simplifies the final shape.
144
155
  *
145
156
  * Falls back to sequential operations when the C++ pipeline class is not
146
- * available in the WASM build.
157
+ * available in the WASM build. An empty pipeline returns a copy of `base`, so
158
+ * the result is always the caller's to dispose.
147
159
  */
148
160
  export declare function booleanPipeline(base: Shape3D, steps: readonly BooleanPipelineStep[], options?: {
149
161
  readonly optimisation?: 'none' | 'commonFace' | 'sameFace' | undefined;
@@ -10,7 +10,9 @@ import { Result } from '../core/result.js';
10
10
  * @param edges - Edges to chamfer (must not be empty).
11
11
  * @param distance - Chamfer distance along the face (must be positive).
12
12
  * @param angleDeg - Chamfer angle in degrees (must be in range (0, 90)).
13
- * @returns Ok with the chamfered shape, or Err on invalid input or kernel failure.
13
+ * @returns Ok with the chamfered shape, or Err on invalid input or kernel
14
+ * failure. A kernel without a distance-angle chamfer (brepkit) returns
15
+ * `UNSUPPORTED_CAPABILITY`.
14
16
  *
15
17
  * @remarks Uses `BRepFilletAPI_MakeChamfer.AddDA(dist, angle, edge, face)` internally.
16
18
  */
@@ -27,9 +29,9 @@ export interface EdgeDistAngle {
27
29
  * Chamfer each edge by its own distance and angle, in one operation.
28
30
  *
29
31
  * Edges that all share one distance and angle go through
30
- * {@link chamferDistAngle}, which every kernel provides. Different values need
31
- * a kernel with a per-edge distance-angle chamfer (occt-wasm 5.9.0 or later);
32
- * on any other kernel the result is an `UNSUPPORTED_CAPABILITY` error. On
32
+ * {@link chamferDistAngle}, which every kernel but brepkit provides. Different
33
+ * values need a kernel with a per-edge distance-angle chamfer (occt-wasm 5.9.0
34
+ * or later); on any other kernel the result is an `UNSUPPORTED_CAPABILITY` error. On
33
35
  * occt-wasm the edges of one tangent-continuous contour must share their
34
36
  * distance and angle, or the result is `CHAMFER_ANGLE_FAILED`.
35
37
  *
@@ -56,6 +56,8 @@ export declare function filletWithEvolution(shape: ValidSolid, edges: ReadonlyAr
56
56
  * @param shape - The shape to modify.
57
57
  * @param edges - Edges to chamfer. Pass `undefined` to chamfer all edges.
58
58
  * @param distance - Symmetric distance, asymmetric `[d1, d2]`, or per-edge callback.
59
+ * @returns Err `UNSUPPORTED_CAPABILITY` when the kernel cannot build the
60
+ * distances asked for (brepkit has no asymmetric chamfer).
59
61
  */
60
62
  export declare function chamferWithEvolution(shape: ValidSolid, edges: ReadonlyArray<Edge> | undefined, distance: number | [number, number] | ((edge: Edge) => number | [number, number] | null)): Result<EvolutionResult<ValidSolid>>;
61
63
  /**
@@ -43,8 +43,11 @@ export declare function propagateMetadataByHash(inputs: readonly AnyShape<Dimens
43
43
  * hash) and runs the standard propagation pipeline, so origins, tags, and
44
44
  * colors all survive a move at `locate` cost (O(faces)), not a full copy.
45
45
  *
46
+ * A `copyShape` copy keeps the same 1:1 face order with new hashes, so this
47
+ * re-keys metadata onto a copy too.
48
+ *
46
49
  * Callers should gate on {@link hasAnyMetadata} first: with no metadata this
47
50
  * does pointless face iteration. The face counts always match for a rigid
48
- * relocation; the length guard is purely defensive.
51
+ * relocation or a copy; the length guard is purely defensive.
49
52
  */
50
53
  export declare function propagateMetadataThroughRelocation(source: AnyShape<Dimension>, moved: AnyShape<Dimension>): void;
@@ -1,6 +1,7 @@
1
1
  import { Edge, Face, Shell, Solid } from '../core/shapeTypes.js';
2
2
  import { ValidSolid } from '../core/validityTypes.js';
3
3
  import { Result } from '../core/result.js';
4
+ import { BrepError } from '../core/errors.js';
4
5
  import { Vec3 } from '../core/types.js';
5
6
  import { DraftAngle } from './apiTypes.js';
6
7
  /**
@@ -21,12 +22,19 @@ export declare function thicken(shape: Face | Shell, thickness: number): Result<
21
22
  export declare function fillet(shape: ValidSolid, edges: ReadonlyArray<Edge> | undefined, radius: number | [number, number] | ((edge: Edge) => number | [number, number] | null), { trackEvolution }?: {
22
23
  trackEvolution?: boolean | undefined;
23
24
  }): Result<ValidSolid>;
25
+ /**
26
+ * `UNSUPPORTED_CAPABILITY` for a chamfer the kernel cannot build as asked
27
+ * (asymmetric or per-edge distances), from its `UnsupportedKernelOperationError`.
28
+ */
29
+ export declare function chamferUnsupportedError(e: unknown): BrepError;
24
30
  /**
25
31
  * Apply a chamfer (beveled edge) to selected edges of a 3D shape.
26
32
  *
27
33
  * @param shape - The shape to modify.
28
34
  * @param edges - Edges to chamfer. Pass `undefined` to chamfer all edges.
29
35
  * @param distance - Symmetric distance, asymmetric `[d1, d2]`, or per-edge callback.
36
+ * @returns Err `UNSUPPORTED_CAPABILITY` when the kernel cannot build the
37
+ * distances asked for (brepkit has no asymmetric chamfer).
30
38
  */
31
39
  export declare function chamfer(shape: ValidSolid, edges: ReadonlyArray<Edge> | undefined, distance: number | [number, number] | ((edge: Edge) => number | [number, number] | null)): Result<ValidSolid>;
32
40
  /**
package/dist/topology.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_topologyQueryFns = require("./topologyQueryFns-BUhKY2Kj.cjs");
3
- const require_faceFns = require("./faceFns-Jo9hMVqL.cjs");
4
- const require_booleanFns = require("./booleanFns-D0qfjH0a.cjs");
5
- const require_primitiveFns = require("./primitiveFns-eiM6OjWU.cjs");
6
- const require_shapeFns = require("./shapeFns-D47cmLG8.cjs");
7
- const require_curveFns = require("./curveFns-B8mm5cou.cjs");
8
- const require_meshFns = require("./meshFns-Cs_qrlXI.cjs");
9
- const require_healingFns = require("./healingFns-qioD81Of.cjs");
10
- const require_adjacencyFns = require("./adjacencyFns-DSGyqGyy.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-svM8Yfsk.cjs");
3
+ const require_faceFns = require("./faceFns-C1Ii1MJ-.cjs");
4
+ const require_booleanFns = require("./booleanFns-ewBwy7V_.cjs");
5
+ const require_primitiveFns = require("./primitiveFns-1FcmvZ6Y.cjs");
6
+ const require_shapeFns = require("./shapeFns-DhTfkxbN.cjs");
7
+ const require_curveFns = require("./curveFns-DK5eG57I.cjs");
8
+ const require_meshFns = require("./meshFns-BDn_nIVv.cjs");
9
+ const require_healingFns = require("./healingFns-sfguIlrW.cjs");
10
+ const require_adjacencyFns = require("./adjacencyFns-Djv832MP.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 { _ 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, w as vertexPosition, x as iterWires } from "./topologyQueryFns-yOGEI9hO.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-2jGPfqvB.js";
3
- import { a as fuseAll, r as cutAll } from "./booleanFns-BwzBRGqj.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-NxbTqKy7.js";
5
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-kFm-m8jh.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-EsJgIpc6.js";
7
- import { f as clearMeshCache, n as exportSTEP, p as createMeshCache, r as exportSTL, t as exportIGES } from "./meshFns-Bo4EQJFO.js";
8
- import { I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, 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 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-D6mUhe0Z.js";
9
- import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-DfPO5LGP.js";
1
+ import { _ 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, w as vertexPosition, x as iterWires } from "./topologyQueryFns-CTCsQIH_.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-B3vblI_s.js";
3
+ import { i as cutAll, o as fuseAll } from "./booleanFns-CjIZaNBh.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-BzJi89Y6.js";
5
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-381QqZ8n.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-CUrIF9LG.js";
7
+ import { f as clearMeshCache, n as exportSTEP, p as createMeshCache, r as exportSTL, t as exportIGES } from "./meshFns-Cp8uEpVt.js";
8
+ import { I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, 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 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-CqiHrJcx.js";
9
+ import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-DBN26xm_.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-DoPnZHn_.js";
1
+ import { G as _usingCtx, N as DisposalScope, O as getOrQueryType, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType } from "./shapeTypes-DfBx__EF.js";
2
2
  import { E as ok, g as err } from "./errors-BTccWbtE.js";
3
3
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
4
4
  // src/core/kernelErrorTranslation.ts
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-C06KHgTm.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  const require_constants = require("./constants-oee0S_x6.cjs");
4
4
  // src/core/kernelErrorTranslation.ts
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-C06KHgTm.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  // src/core/validityTypes.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { q as getKernel } from "./shapeTypes-DoPnZHn_.js";
1
+ import { q as getKernel } from "./shapeTypes-DfBx__EF.js";
2
2
  import { E as ok, g as err } from "./errors-BTccWbtE.js";
3
3
  // src/core/validityTypes.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "20.12.11",
3
+ "version": "20.12.13",
4
4
  "description": "Exact B-Rep CAD in TypeScript on OpenCascade WebAssembly, with a pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",