brepjs 18.62.0 → 18.63.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 (82) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{blueprint-U7q8mCkd.js → blueprint-DaRszQg-.js} +5 -5
  4. package/dist/{blueprint-oAHtiBNZ.cjs → blueprint-XEJiK6ON.cjs} +5 -5
  5. package/dist/{blueprintFns-B430IS5G.js → blueprintFns-C0ULkqGT.js} +2 -2
  6. package/dist/{blueprintFns-BXIg6yIJ.cjs → blueprintFns-CTJGTMYw.cjs} +2 -2
  7. package/dist/{blueprintSketcher-CpYK3eMF.js → blueprintSketcher-DHWmjOmJ.js} +3 -3
  8. package/dist/{blueprintSketcher-BMy4GYLb.cjs → blueprintSketcher-r0uUFBZZ.cjs} +3 -3
  9. package/dist/{boolean2D-CalRrd7P.cjs → boolean2D-BT3RGDXW.cjs} +4 -4
  10. package/dist/{boolean2D-BVGfOj7k.js → boolean2D-BfavHsXe.js} +4 -4
  11. package/dist/{booleanFns-CejWQwHg.cjs → booleanFns-B3vIRhjz.cjs} +4 -4
  12. package/dist/{booleanFns-BF1OlY3H.js → booleanFns-DNG6xxu8.js} +4 -4
  13. package/dist/brepjs.cjs +24 -24
  14. package/dist/brepjs.js +24 -24
  15. package/dist/{cameraFns-CDmeZqa_.js → cameraFns-CQkS1TSY.js} +2 -2
  16. package/dist/{cameraFns-DkasWoY3.cjs → cameraFns-CqplcvtL.cjs} +2 -2
  17. package/dist/core.cjs +1 -1
  18. package/dist/core.js +1 -1
  19. package/dist/{cornerFinder-mHD8eDmo.cjs → cornerFinder-ByEss8KB.cjs} +1 -1
  20. package/dist/{cornerFinder-mUvhWdNG.js → cornerFinder-CE1b1IMu.js} +1 -1
  21. package/dist/{curveFns-Ba1IEqn_.cjs → curveFns-Dx9ha0n_.cjs} +1 -1
  22. package/dist/{curveFns-C_va_3Js.js → curveFns-vZbW7CVb.js} +1 -1
  23. package/dist/{drawFns-zcgjasyw.js → drawFns-DiJFFH16.js} +12 -12
  24. package/dist/{drawFns-DGENZIVf.cjs → drawFns-ZPhrUGWl.cjs} +12 -12
  25. package/dist/{extrudeFns-BkOhPexa.js → extrudeFns-BamV4cSU.js} +1 -1
  26. package/dist/{extrudeFns-DiIGGA5r.cjs → extrudeFns-DsvQYfqd.cjs} +1 -1
  27. package/dist/{faceFns-eCr0tWic.cjs → faceFns-DGmQI57P.cjs} +2 -2
  28. package/dist/{faceFns-DUmTMdax.js → faceFns-LJ_lU5IE.js} +2 -2
  29. package/dist/{helpers-Cpw0iU4L.cjs → helpers-B6abm0X7.cjs} +6 -6
  30. package/dist/{helpers-C7WpHbhO.js → helpers-CxZqc5vt.js} +6 -6
  31. package/dist/{historyFns-BVNMHteL.js → historyFns-DpHCn1yw.js} +4 -4
  32. package/dist/{historyFns-B5zXm33l.cjs → historyFns-a2plj33G.cjs} +4 -4
  33. package/dist/{importFns-DcUisQj3.js → importFns-CEz6N0mP.js} +2 -2
  34. package/dist/{importFns-BQEVbZwt.cjs → importFns-iJZHFevB.cjs} +2 -2
  35. package/dist/io.cjs +2 -2
  36. package/dist/io.js +2 -2
  37. package/dist/kernel/manifold/approximations.d.ts +23 -0
  38. package/dist/kernel/manifold/kernel2dNative.d.ts +26 -0
  39. package/dist/kernel/manifold/kernel2dOps.d.ts +1 -1
  40. package/dist/kernel/manifold/nativeEdges.d.ts +37 -0
  41. package/dist/kernel/manifold/nativeFaces.d.ts +27 -0
  42. package/dist/kernel/manifold/profileOps.d.ts +19 -0
  43. package/dist/kernel/manifold/sweepOps.d.ts +12 -0
  44. package/dist/{measureFns-BdYuCuf9.js → measureFns-1vEKylTt.js} +3 -3
  45. package/dist/{measureFns-Bve7WG1g.cjs → measureFns-CvAOj_Io.cjs} +3 -3
  46. package/dist/measurement.cjs +1 -1
  47. package/dist/measurement.js +1 -1
  48. package/dist/{meshFns-BtjQFcwe.js → meshFns-CoPoc7dh.js} +3 -3
  49. package/dist/{meshFns-Hxj3Vngd.cjs → meshFns-D2rlqrTt.cjs} +3 -3
  50. package/dist/operations.cjs +2 -2
  51. package/dist/operations.js +2 -2
  52. package/dist/{primitiveFns-n-OA8SFM.cjs → primitiveFns-Bi22B25-.cjs} +7 -7
  53. package/dist/{primitiveFns-ODt9feUB.js → primitiveFns-OuEHerl6.js} +7 -7
  54. package/dist/projection.cjs +1 -1
  55. package/dist/projection.js +1 -1
  56. package/dist/query.cjs +2 -2
  57. package/dist/query.js +2 -2
  58. package/dist/{shapeFns-CGiJTWpD.js → shapeFns-C3wVDhtn.js} +2 -2
  59. package/dist/{shapeFns-Dl7cAveQ.cjs → shapeFns-n4A9y80v.cjs} +2 -2
  60. package/dist/shapeRef.cjs +1 -1
  61. package/dist/shapeRef.js +1 -1
  62. package/dist/{shapeRefFns-CqLB7rA2.js → shapeRefFns-CUt56Cul.js} +4 -4
  63. package/dist/{shapeRefFns-DppFONN_.cjs → shapeRefFns-eqCfRF0P.cjs} +4 -4
  64. package/dist/{shapeTypes-BGeihZZ2.js → shapeTypes-9yfC5Z8_.js} +1910 -215
  65. package/dist/{shapeTypes-DgN4lV-c.cjs → shapeTypes-C_liO43e.cjs} +1910 -215
  66. package/dist/sketching.cjs +3 -3
  67. package/dist/sketching.js +3 -3
  68. package/dist/{solidBuilders-C8x5hl-i.cjs → solidBuilders-BtfspzpT.cjs} +2 -2
  69. package/dist/{solidBuilders-C_i7lfl1.js → solidBuilders-DSAmLmHd.js} +2 -2
  70. package/dist/{surfaceBuilders-8Q5NVxkT.cjs → surfaceBuilders-6BfGn0MN.cjs} +2 -2
  71. package/dist/{surfaceBuilders-OuKORf6n.js → surfaceBuilders-ChWLM9Io.js} +2 -2
  72. package/dist/text.cjs +2 -2
  73. package/dist/text.js +2 -2
  74. package/dist/{textBlueprints-CjWzCUDy.js → textBlueprints-B_RYPM3J.js} +7 -7
  75. package/dist/{textBlueprints-CMszuH5i.cjs → textBlueprints-DTaz774E.cjs} +7 -7
  76. package/dist/{textMetrics-ogNOndAW.cjs → textMetrics-CEBrAzpE.cjs} +1 -1
  77. package/dist/{textMetrics-nDL3MTCV.js → textMetrics-RRDn50ym.js} +1 -1
  78. package/dist/topology.cjs +7 -7
  79. package/dist/topology.js +7 -7
  80. package/dist/{topologyQueryFns-CTq8qOKc.cjs → topologyQueryFns-B6BTVGLX.cjs} +1 -1
  81. package/dist/{topologyQueryFns-B_zXrMDh.js → topologyQueryFns-nbhh_XJF.js} +1 -1
  82. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- import { B as createKernelHandle, Z as getKernel, t as castShape } from "./shapeTypes-BGeihZZ2.js";
1
+ import { B as createKernelHandle, Z as getKernel, t as castShape } from "./shapeTypes-9yfC5Z8_.js";
2
2
  import { A as ok, b as err, d as validationError, n as computationError, r as ioError } from "./errors-DNWJsfVU.js";
3
3
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-SKPRvPH-.js";
4
- import { v as fromBREP } from "./faceFns-DUmTMdax.js";
5
- import { s as toBREP } from "./shapeFns-CGiJTWpD.js";
6
- import { a as fuseAll } from "./booleanFns-BF1OlY3H.js";
4
+ import { v as fromBREP } from "./faceFns-LJ_lU5IE.js";
5
+ import { s as toBREP } from "./shapeFns-C3wVDhtn.js";
6
+ import { a as fuseAll } from "./booleanFns-DNG6xxu8.js";
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C_liO43e.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
4
- const require_faceFns = require("./faceFns-eCr0tWic.cjs");
5
- const require_shapeFns = require("./shapeFns-Dl7cAveQ.cjs");
6
- const require_booleanFns = require("./booleanFns-CejWQwHg.cjs");
4
+ const require_faceFns = require("./faceFns-DGmQI57P.cjs");
5
+ const require_shapeFns = require("./shapeFns-n4A9y80v.cjs");
6
+ const require_booleanFns = require("./booleanFns-B3vIRhjz.cjs");
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -1,8 +1,8 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-9yfC5Z8_.js";
2
2
  import { n as wasmIndex, t as vec3At$1 } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, b as err, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
4
4
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
5
- import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-U7q8mCkd.js";
5
+ import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-DaRszQg-.js";
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C_liO43e.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
5
- const require_blueprint = require("./blueprint-oAHtiBNZ.cjs");
5
+ const require_blueprint = require("./blueprint-XEJiK6ON.cjs");
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
package/dist/io.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_meshFns = require("./meshFns-Hxj3Vngd.cjs");
3
- const require_importFns = require("./importFns-BQEVbZwt.cjs");
2
+ const require_meshFns = require("./meshFns-D2rlqrTt.cjs");
3
+ const require_importFns = require("./importFns-iJZHFevB.cjs");
4
4
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
5
5
  exports.exportDXF = require_importFns.exportDXF;
6
6
  exports.exportGlb = require_importFns.exportGlb;
package/dist/io.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-BtjQFcwe.js";
2
- import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-DcUisQj3.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-CoPoc7dh.js";
2
+ import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-CEz6N0mP.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -6,6 +6,8 @@ export type Vec3 = readonly [number, number, number];
6
6
  export interface CrossSection {
7
7
  /** Closed outline in the section's local 2D coordinates (no repeated last point). */
8
8
  readonly outline: Vec2[];
9
+ /** Inner contours (holes), CW-wound (opposite the outline) in section 2D coords. */
10
+ readonly holes?: Vec2[][] | undefined;
9
11
  /** World-space origin of the section plane. */
10
12
  readonly origin: Vec3;
11
13
  /** Section local +X axis in world space (maps outline.x). */
@@ -38,6 +40,8 @@ export declare function frameForNormal(normal: Vec3): {
38
40
  export declare function signedArea(outline: readonly Vec2[]): number;
39
41
  /** Force CCW winding so generated triangles face outward consistently. */
40
42
  export declare function ensureCCW(outline: Vec2[]): Vec2[];
43
+ /** Force CW winding (used for holes, opposite the CCW outline). */
44
+ export declare function ensureCW(outline: Vec2[]): Vec2[];
41
45
  /**
42
46
  * Recover a planar cross-section from a profile handle.
43
47
  *
@@ -56,6 +60,17 @@ export declare function fanTriangulate(vertexCount: number): number[];
56
60
  * in correspondence with the section's outline order. `scale` rescales the
57
61
  * outline about its frame origin (for tapered/draft sweeps and scale laws).
58
62
  */
63
+ /**
64
+ * Upsample a closed 2D outline to exactly `n` points by KEEPING every original
65
+ * vertex and inserting extra points on the longest segments (proportional to
66
+ * length, largest-remainder allotment). Vertex-preserving so corners aren't
67
+ * rounded off — resampling a 4-point rectangle to 4 returns it unchanged. Used
68
+ * to give loft sections a common vertex count so {@link skinRings} can connect
69
+ * them by index; lofting profiles of different point counts (circle ↔ rounded
70
+ * rect) is otherwise impossible on the mesh kernel. `n < k` is not supported
71
+ * (callers pass `n = max` count), so it never downsamples.
72
+ */
73
+ export declare function resampleClosed(outline: readonly Vec2[], n: number): Vec2[];
59
74
  export declare function placeRing(section: CrossSection, frame: SweepFrame, scale?: number): Vec3[];
60
75
  /**
61
76
  * Skin a sequence of equally-sized rings (each an array of world-space points
@@ -66,6 +81,14 @@ export declare function placeRing(section: CrossSection, frame: SweepFrame, scal
66
81
  * (oriented outward). This is the shared engine behind loft and sweep.
67
82
  */
68
83
  export declare function skinRings(module: ManifoldModule, rings: readonly Vec3[][]): ManifoldSolid;
84
+ /**
85
+ * Normalize a built solid to outward (positive-volume) orientation. Skinning a
86
+ * profile whose section order or outline winding runs "backwards" yields an
87
+ * inside-out manifold (negative volume) that booleans then mishandle — a cut
88
+ * tool that won't subtract, a fuse operand that cancels volume. If the volume
89
+ * is negative, rebuild with reversed triangle winding so normals face outward.
90
+ */
91
+ export declare function orientPositive(module: ManifoldModule, solid: ManifoldSolid): ManifoldSolid;
69
92
  /**
70
93
  * Build rotation-minimizing frames (double-reflection method) along a polyline
71
94
  * path. Returns one frame per path point; the section's in-plane axes are
@@ -0,0 +1,26 @@
1
+ import { Kernel2DCapability } from '../kernel2dTypes.js';
2
+ import { ManifoldModule } from './helpers.js';
3
+ type Vec2 = [number, number];
4
+ interface LineC {
5
+ k: 'line';
6
+ p1: Vec2;
7
+ p2: Vec2;
8
+ }
9
+ interface ConicC {
10
+ k: 'conic';
11
+ c: Vec2;
12
+ u: Vec2;
13
+ v: Vec2;
14
+ a0: number;
15
+ a1: number;
16
+ }
17
+ interface BezierC {
18
+ k: 'bezier';
19
+ pts: Vec2[];
20
+ }
21
+ type NativeCurve = (LineC | ConicC | BezierC) & {
22
+ __nativeC2d: true;
23
+ };
24
+ declare function isNative(x: unknown): x is NativeCurve;
25
+ declare function makeNativeKernel2DOps(module: ManifoldModule, occt: () => Partial<Kernel2DCapability> | undefined): Partial<Kernel2DCapability>;
26
+ export { makeNativeKernel2DOps, isNative };
@@ -1,3 +1,3 @@
1
1
  import { Kernel2DCapability } from '../kernel2dTypes.js';
2
2
  import { ManifoldModule } from './helpers.js';
3
- export declare function makeKernel2DOps(_module: ManifoldModule): Kernel2DCapability;
3
+ export declare function makeKernel2DOps(module: ManifoldModule): Kernel2DCapability;
@@ -0,0 +1,37 @@
1
+ import { KernelShape } from '../types.js';
2
+ type Vec3 = [number, number, number];
3
+ export interface NativeEdge {
4
+ readonly __nativeEdge: true;
5
+ /** Sorted faceID pair the edge bounds (provenance / identity). */
6
+ readonly faces: readonly [number, number];
7
+ /** Ordered polyline points (flat triples). */
8
+ readonly pts: Float32Array;
9
+ /** Cumulative arc length at each point (length === arc[arc.length-1]). */
10
+ readonly arc: Float32Array;
11
+ readonly length: number;
12
+ readonly min: Vec3;
13
+ readonly max: Vec3;
14
+ /** 'LINE' when the polyline is straight, else 'CIRCLE'. */
15
+ readonly curveType: 'LINE' | 'CIRCLE';
16
+ }
17
+ /**
18
+ * Extract feature edges (face-pair boundaries) from a manifold solid's mesh.
19
+ */
20
+ export declare function extractEdges(meshUnknown: unknown): NativeEdge[];
21
+ export interface NativeVertex {
22
+ readonly __nativeVertex: true;
23
+ readonly point: Vec3;
24
+ }
25
+ /**
26
+ * Extract B-rep vertices: mesh vertices where three or more distinct faces
27
+ * (faceID groups) meet — i.e. the corners where edges terminate. A box yields
28
+ * its 8 corners; interior/edge-midpoint vertices (1–2 faces) are excluded.
29
+ */
30
+ export declare function extractVertices(meshUnknown: unknown): NativeVertex[];
31
+ export declare function isNativeVertex(shape: KernelShape): shape is KernelShape & NativeVertex;
32
+ export declare function isNativeEdge(shape: KernelShape): shape is KernelShape & NativeEdge;
33
+ /** Point at arc-length `s` along the edge polyline. */
34
+ export declare function edgePointAt(edge: NativeEdge, s: number): Vec3;
35
+ /** Unit tangent at arc-length `s` (direction of the containing segment). */
36
+ export declare function edgeTangentAt(edge: NativeEdge, s: number): Vec3;
37
+ export {};
@@ -0,0 +1,27 @@
1
+ import { KernelShape } from '../types.js';
2
+ type Vec3 = [number, number, number];
3
+ export interface NativeFace {
4
+ readonly __nativeFace: true;
5
+ /** manifold faceID (stable through booleans). */
6
+ readonly faceId: number;
7
+ /** runOriginalID of the construction op these triangles came from (provenance). */
8
+ readonly originId: number;
9
+ /** Unit outward normal (area-weighted). */
10
+ readonly normal: Vec3;
11
+ /** Area-weighted centroid. */
12
+ readonly center: Vec3;
13
+ /** Total area. */
14
+ readonly area: number;
15
+ /** Axis-aligned bounds. */
16
+ readonly min: Vec3;
17
+ readonly max: Vec3;
18
+ /** Triangle vertex positions (flat triples) for exact point-distance queries. */
19
+ readonly tris: Float32Array;
20
+ }
21
+ /**
22
+ * Extract planar faces from a manifold solid by grouping triangles on `faceID`.
23
+ * Returns one {@link NativeFace} per group with normal/center/area/bbox/origin.
24
+ */
25
+ export declare function extractFaces(meshUnknown: unknown): NativeFace[];
26
+ export declare function isNativeFace(shape: KernelShape): shape is KernelShape & NativeFace;
27
+ export {};
@@ -0,0 +1,19 @@
1
+ import { KernelShape } from '../types.js';
2
+ import { ManifoldModule } from './helpers.js';
3
+ import { Vec3 } from './approximations.js';
4
+ export interface ProfileBuilders {
5
+ makeVertex(x: number, y: number, z: number): KernelShape;
6
+ makeLineEdge(p1: Vec3, p2: Vec3): KernelShape;
7
+ makeCircleEdge(center: Vec3, normal: Vec3, radius: number): KernelShape;
8
+ makeCircleArc(center: Vec3, normal: Vec3, radius: number, startAngle: number, endAngle: number): KernelShape;
9
+ makeArcEdge(p1: Vec3, p2: Vec3, p3: Vec3): KernelShape;
10
+ makeEllipseEdge(center: Vec3, normal: Vec3, majorRadius: number, minorRadius: number, xDir?: Vec3): KernelShape;
11
+ makeBezierEdge(points: Vec3[]): KernelShape;
12
+ makeTangentArc(startPoint: Vec3, startTangent: Vec3, endPoint: Vec3): KernelShape;
13
+ makeWire(edges: KernelShape[]): KernelShape;
14
+ makeWireFromMixed(items: KernelShape[]): KernelShape;
15
+ makeFace(wire: KernelShape, planar?: boolean): KernelShape;
16
+ addHolesInFace(face: KernelShape, holeWires: KernelShape[]): KernelShape;
17
+ makePolygonFace(points: Vec3[]): KernelShape;
18
+ }
19
+ export declare function makeProfileBuilders(_module: ManifoldModule): ProfileBuilders;
@@ -1,3 +1,15 @@
1
1
  import { KernelSweepOps } from '../interfaces/sweepOps.js';
2
2
  import { ManifoldModule } from './helpers.js';
3
+ import { CrossSection, Vec3 } from './approximations.js';
4
+ type ManifoldOriented = {
5
+ rotate(r: Vec3): unknown;
6
+ translate(t: Vec3): unknown;
7
+ };
8
+ /**
9
+ * Place a +Z extrusion so its base sits at the section origin and it grows along
10
+ * `dir`. Sections are typically in the XY plane; this keeps the common case
11
+ * exact and otherwise re-bases onto the section frame.
12
+ */
13
+ export declare function orientExtrusion(solid: ManifoldOriented, section: CrossSection, dir: Vec3): ManifoldOriented;
3
14
  export declare function makeSweepOps(module: ManifoldModule): KernelSweepOps;
15
+ export {};
@@ -1,7 +1,7 @@
1
- import { Z as getKernel } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel } from "./shapeTypes-9yfC5Z8_.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { w as kernelCallRaw } from "./topologyQueryFns-B_zXrMDh.js";
4
- import { p as uvBounds } from "./faceFns-DUmTMdax.js";
3
+ import { w as kernelCallRaw } from "./topologyQueryFns-nbhh_XJF.js";
4
+ import { p as uvBounds } from "./faceFns-LJ_lU5IE.js";
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C_liO43e.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
4
- const require_faceFns = require("./faceFns-eCr0tWic.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-B6BTVGLX.cjs");
4
+ const require_faceFns = require("./faceFns-DGmQI57P.cjs");
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_measureFns = require("./measureFns-Bve7WG1g.cjs");
2
+ const require_measureFns = require("./measureFns-CvAOj_Io.cjs");
3
3
  exports.createDistanceQuery = require_measureFns.createDistanceQuery;
4
4
  exports.measureArea = require_measureFns.measureArea;
5
5
  exports.measureDistance = require_measureFns.measureDistance;
@@ -1,2 +1,2 @@
1
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-BdYuCuf9.js";
1
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-1vEKylTt.js";
2
2
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps };
@@ -1,7 +1,7 @@
1
- import { Z as getKernel } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel } from "./shapeTypes-9yfC5Z8_.js";
2
2
  import { A as ok, b as err, r as ioError } from "./errors-DNWJsfVU.js";
3
- import { d as getSolids, n as getBounds } from "./topologyQueryFns-B_zXrMDh.js";
4
- import { O as getFaceOrigins } from "./shapeFns-CGiJTWpD.js";
3
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-nbhh_XJF.js";
4
+ import { O as getFaceOrigins } from "./shapeFns-C3wVDhtn.js";
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C_liO43e.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
4
- const require_shapeFns = require("./shapeFns-Dl7cAveQ.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-B6BTVGLX.cjs");
4
+ const require_shapeFns = require("./shapeFns-n4A9y80v.cjs");
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_historyFns = require("./historyFns-B5zXm33l.cjs");
3
- const require_extrudeFns = require("./extrudeFns-DiIGGA5r.cjs");
2
+ const require_historyFns = require("./historyFns-a2plj33G.cjs");
3
+ const require_extrudeFns = require("./extrudeFns-DsvQYfqd.cjs");
4
4
  exports.addChild = require_historyFns.addChild;
5
5
  exports.addStep = require_historyFns.addStep;
6
6
  exports.circularPattern = require_historyFns.circularPattern;
@@ -1,3 +1,3 @@
1
- import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-BVNMHteL.js";
2
- import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-BkOhPexa.js";
1
+ import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-DpHCn1yw.js";
2
+ import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-BamV4cSU.js";
3
3
  export { addChild, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, exportAssemblySTEP, findNode, findStep, getShape as getHistoryShape, gridPattern, linearPattern, modifyStep, registerOperation, registerShape, removeChild, replayFrom, replayHistory, stepCount, stepsFrom, supportExtrude, sweep, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,13 +1,13 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C_liO43e.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-B6BTVGLX.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_faceFns = require("./faceFns-eCr0tWic.cjs");
6
- const require_shapeFns = require("./shapeFns-Dl7cAveQ.cjs");
5
+ const require_faceFns = require("./faceFns-DGmQI57P.cjs");
6
+ const require_shapeFns = require("./shapeFns-n4A9y80v.cjs");
7
7
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
8
- const require_surfaceBuilders = require("./surfaceBuilders-8Q5NVxkT.cjs");
9
- const require_booleanFns = require("./booleanFns-CejWQwHg.cjs");
10
- const require_solidBuilders = require("./solidBuilders-C8x5hl-i.cjs");
8
+ const require_surfaceBuilders = require("./surfaceBuilders-6BfGn0MN.cjs");
9
+ const require_booleanFns = require("./booleanFns-B3vIRhjz.cjs");
10
+ const require_solidBuilders = require("./solidBuilders-BtfspzpT.cjs");
11
11
  //#region src/topology/threeHelpers.ts
12
12
  /**
13
13
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,13 +1,13 @@
1
- import { Z as getKernel, _ as isSolid, c as createSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, x as isClosedWire, y as isWire } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, _ as isSolid, c as createSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, x as isClosedWire, y as isWire } from "./shapeTypes-9yfC5Z8_.js";
2
2
  import { A as ok, T as isOk, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, v as andThen, w as isErr } from "./errors-DNWJsfVU.js";
3
- import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-B_zXrMDh.js";
3
+ import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-nbhh_XJF.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
- import { _ as downcast } from "./faceFns-DUmTMdax.js";
6
- import { _ as propagateAllMetadata, g as collectInputFaceHashes, h as translate } from "./shapeFns-CGiJTWpD.js";
5
+ import { _ as downcast } from "./faceFns-LJ_lU5IE.js";
6
+ import { _ as propagateAllMetadata, g as collectInputFaceHashes, h as translate } from "./shapeFns-C3wVDhtn.js";
7
7
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
8
- import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-OuKORf6n.js";
9
- import { a as fuseAll, i as fuse, n as cut, r as cutAll } from "./booleanFns-BF1OlY3H.js";
10
- import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-C_i7lfl1.js";
8
+ import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-ChWLM9Io.js";
9
+ import { a as fuseAll, i as fuse, n as cut, r as cutAll } from "./booleanFns-DNG6xxu8.js";
10
+ import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-DSAmLmHd.js";
11
11
  //#region src/topology/threeHelpers.ts
12
12
  /**
13
13
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-DkasWoY3.cjs");
2
+ const require_cameraFns = require("./cameraFns-CqplcvtL.cjs");
3
3
  exports.PROJECTION_PLANES = require_cameraFns.PROJECTION_PLANES;
4
4
  exports.cameraFromPlane = require_cameraFns.cameraFromPlane;
5
5
  exports.cameraLookAt = require_cameraFns.cameraLookAt;
@@ -1,2 +1,2 @@
1
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-CDmeZqa_.js";
1
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-CQkS1TSY.js";
2
2
  export { PROJECTION_PLANES, cameraFromPlane, cameraLookAt, createCamera, isProjectionPlane, makeProjectedEdges, projectEdges };
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-Cpw0iU4L.cjs");
3
- const require_cornerFinder = require("./cornerFinder-mHD8eDmo.cjs");
2
+ const require_helpers = require("./helpers-B6abm0X7.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-ByEss8KB.cjs");
4
4
  exports.cornerFinder = require_cornerFinder.cornerFinder;
5
5
  exports.edgeFinder = require_helpers.edgeFinder;
6
6
  exports.faceFinder = require_helpers.faceFinder;
package/dist/query.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-C7WpHbhO.js";
2
- import { t as cornerFinder } from "./cornerFinder-mUvhWdNG.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-CxZqc5vt.js";
2
+ import { t as cornerFinder } from "./cornerFinder-CE1b1IMu.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-9yfC5Z8_.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-B_zXrMDh.js";
3
+ import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-nbhh_XJF.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C_liO43e.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-B6BTVGLX.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeRefFns = require("./shapeRefFns-DppFONN_.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-eqCfRF0P.cjs");
3
3
  exports.assignRoles = require_shapeRefFns.assignRoles;
4
4
  exports.captureHint = require_shapeRefFns.captureHint;
5
5
  exports.createRef = require_shapeRefFns.createRef;
package/dist/shapeRef.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CqLB7rA2.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CUt56Cul.js";
2
2
  export { assignRoles, captureHint, createRef, defaultScorer, resolveRef, updateRoles };
@@ -1,8 +1,8 @@
1
1
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
2
- import { c as getFaces } from "./topologyQueryFns-B_zXrMDh.js";
3
- import { c as normalAt, n as faceCenter, r as faceGeomType } from "./faceFns-DUmTMdax.js";
4
- import { n as getHashCode } from "./shapeFns-CGiJTWpD.js";
5
- import { n as measureArea } from "./measureFns-BdYuCuf9.js";
2
+ import { c as getFaces } from "./topologyQueryFns-nbhh_XJF.js";
3
+ import { c as normalAt, n as faceCenter, r as faceGeomType } from "./faceFns-LJ_lU5IE.js";
4
+ import { n as getHashCode } from "./shapeFns-C3wVDhtn.js";
5
+ import { n as measureArea } from "./measureFns-1vEKylTt.js";
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,8 +1,8 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
3
- const require_faceFns = require("./faceFns-eCr0tWic.cjs");
4
- const require_shapeFns = require("./shapeFns-Dl7cAveQ.cjs");
5
- const require_measureFns = require("./measureFns-Bve7WG1g.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-B6BTVGLX.cjs");
3
+ const require_faceFns = require("./faceFns-DGmQI57P.cjs");
4
+ const require_shapeFns = require("./shapeFns-n4A9y80v.cjs");
5
+ const require_measureFns = require("./measureFns-CvAOj_Io.cjs");
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,