brepjs 18.118.2 → 18.118.3
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.
- package/dist/2d.cjs +4 -4
- package/dist/2d.js +4 -4
- package/dist/{blueprint-xcDMSkia.cjs → blueprint-BWO1xOcp.cjs} +1 -1
- package/dist/{blueprint-BeCL-AAl.js → blueprint-CWE241F5.js} +1 -1
- package/dist/{blueprintFns-BkSFPipn.js → blueprintFns-D5_7KAuL.js} +2 -2
- package/dist/{blueprintFns-DIMiD67q.cjs → blueprintFns-DXXKh9Ex.cjs} +2 -2
- package/dist/{blueprintSketcher-DGcCDQq2.cjs → blueprintSketcher-DADskw3h.cjs} +2 -2
- package/dist/{blueprintSketcher-DKfkNg71.js → blueprintSketcher-JlCOsNp-.js} +2 -2
- package/dist/{boolean2D-BCTOcf19.js → boolean2D-B_JB01Pu.js} +3 -3
- package/dist/{boolean2D-Dh4IPW_X.cjs → boolean2D-Dz2WQyK7.cjs} +3 -3
- package/dist/brepjs.cjs +16 -16
- package/dist/brepjs.js +16 -16
- package/dist/{cornerFinder-DMJBP4I2.cjs → cornerFinder-DP74f1wh.cjs} +1 -1
- package/dist/{cornerFinder-Bu482P3S.js → cornerFinder-oxZraULr.js} +1 -1
- package/dist/{drawFns-D-PqWuBQ.cjs → drawFns-BosHTxzi.cjs} +6 -6
- package/dist/{drawFns-BAETgRWM.js → drawFns-DKyAWSPe.js} +6 -6
- package/dist/{healingFns-DHxzmeCt.js → healingFns-CCsV3Ug-.js} +2 -2
- package/dist/{healingFns-DfshoSeQ.cjs → healingFns-DQquJMYs.cjs} +2 -2
- package/dist/{helpers-YD71h41H.js → helpers-BuHUd7_4.js} +1 -1
- package/dist/{helpers-CKbgoPDr.cjs → helpers-DlLQfATr.cjs} +1 -1
- package/dist/{importFns-CQ16LqPQ.cjs → importFns-BRaiuN1y.cjs} +1 -1
- package/dist/{importFns-A437Sgj6.js → importFns-Z6N8Addx.js} +1 -1
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/types.d.ts +2 -4
- package/dist/{meshFns-fPnPGEPl.cjs → meshFns-BGmOr5aJ.cjs} +1 -1
- package/dist/{meshFns-COdN1kVO.js → meshFns-DVrZtr-f.js} +1 -1
- package/dist/operations.cjs +1 -1
- package/dist/operations.js +1 -1
- package/dist/{primitiveFns-DxP7GVQh.js → primitiveFns-DiOCVk8q.js} +2 -2
- package/dist/{primitiveFns-Cohp602Q.cjs → primitiveFns-ht0yFv6T.cjs} +2 -2
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{refResolveFns-NGXXyTBa.js → refResolveFns-CEojVVeD.js} +1 -1
- package/dist/{refResolveFns-Du0v4e3Y.cjs → refResolveFns-Dku4ocdG.cjs} +1 -1
- package/dist/{shapeFns-DvmBIZaX.cjs → shapeFns-B1OEuRBI.cjs} +63 -11
- package/dist/{shapeFns-DqGDtCsE.js → shapeFns-C2pdUzdd.js} +63 -11
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-B6DBRdRc.cjs → solidBuilders-BOMmoOg7.cjs} +1 -1
- package/dist/{solidBuilders-Oq-hxTvJ.js → solidBuilders-BsAa59Dz.js} +1 -1
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-fBpuvT3m.js → textBlueprints-DU1Jqvx9.js} +2 -2
- package/dist/{textBlueprints-lSKzw-nT.cjs → textBlueprints-bCq3ARXX.cjs} +2 -2
- package/dist/{textMetrics-CnrAQwLI.js → textMetrics-BltT5ICq.js} +1 -1
- package/dist/{textMetrics-BkTdFBwC.cjs → textMetrics-wX3dlabq.cjs} +1 -1
- package/dist/{threadFns-DJt3EStH.cjs → threadFns-BDdzaSTO.cjs} +4 -4
- package/dist/{threadFns-Dlts4xFy.js → threadFns-DluMGkMf.js} +4 -4
- package/dist/topology.cjs +5 -5
- package/dist/topology.js +5 -5
- package/package.json +6 -6
package/dist/2d.cjs
CHANGED
|
@@ -2,10 +2,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
const require_shapeTypes = require("./shapeTypes-BLREi6xB.cjs");
|
|
3
3
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
4
4
|
const require_topologyQueryFns = require("./topologyQueryFns-1PqfeHrV.cjs");
|
|
5
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
6
|
-
const require_blueprint = require("./blueprint-
|
|
7
|
-
const require_boolean2D = require("./boolean2D-
|
|
8
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
5
|
+
const require_blueprintSketcher = require("./blueprintSketcher-DADskw3h.cjs");
|
|
6
|
+
const require_blueprint = require("./blueprint-BWO1xOcp.cjs");
|
|
7
|
+
const require_boolean2D = require("./boolean2D-Dz2WQyK7.cjs");
|
|
8
|
+
const require_blueprintFns = require("./blueprintFns-DXXKh9Ex.cjs");
|
|
9
9
|
//#region src/core/curve2dHandle.ts
|
|
10
10
|
/**
|
|
11
11
|
* Wrap a raw kernel 2D curve handle with brand + disposal tracking.
|
package/dist/2d.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { B as createKernelHandle, Q as getKernel2D, a as createEdge } from "./shapeTypes-EI4Uxlsb.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { w as kernelCallRaw } from "./topologyQueryFns-BjgBf2t-.js";
|
|
4
|
-
import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-
|
|
5
|
-
import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-
|
|
6
|
-
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
7
|
-
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-
|
|
4
|
+
import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-JlCOsNp-.js";
|
|
5
|
+
import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-CWE241F5.js";
|
|
6
|
+
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-B_JB01Pu.js";
|
|
7
|
+
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-D5_7KAuL.js";
|
|
8
8
|
//#region src/core/curve2dHandle.ts
|
|
9
9
|
/**
|
|
10
10
|
* Wrap a raw kernel 2D curve handle with brand + disposal tracking.
|
|
@@ -8,7 +8,7 @@ const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
|
8
8
|
const require_curveFns = require("./curveFns-CpaxYpa4.cjs");
|
|
9
9
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
10
10
|
const require_surfaceBuilders = require("./surfaceBuilders-C-UhFlpS.cjs");
|
|
11
|
-
const require_helpers = require("./helpers-
|
|
11
|
+
const require_helpers = require("./helpers-DlLQfATr.cjs");
|
|
12
12
|
//#region src/2d/lib/definitions.ts
|
|
13
13
|
/** Type guard that checks whether a value is a `Point2D`. */
|
|
14
14
|
function isPoint2D(point) {
|
|
@@ -8,7 +8,7 @@ import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as f
|
|
|
8
8
|
import { p as getOrientation } from "./curveFns-pGQFlJG-.js";
|
|
9
9
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
10
10
|
import { r as makeFace } from "./surfaceBuilders-C0pJwtCO.js";
|
|
11
|
-
import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-
|
|
11
|
+
import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-BuHUd7_4.js";
|
|
12
12
|
//#region src/2d/lib/definitions.ts
|
|
13
13
|
/** Type guard that checks whether a value is a `Point2D`. */
|
|
14
14
|
function isPoint2D(point) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
2
|
-
import { i as CompoundBlueprint } from "./blueprintSketcher-
|
|
3
|
-
import { t as Blueprint } from "./blueprint-
|
|
2
|
+
import { i as CompoundBlueprint } from "./blueprintSketcher-JlCOsNp-.js";
|
|
3
|
+
import { t as Blueprint } from "./blueprint-CWE241F5.js";
|
|
4
4
|
//#region src/2d/lib/curve2dFns.ts
|
|
5
5
|
/**
|
|
6
6
|
* Return a reversed copy of the curve (non-mutating).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
2
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
3
|
-
const require_blueprint = require("./blueprint-
|
|
2
|
+
const require_blueprintSketcher = require("./blueprintSketcher-DADskw3h.cjs");
|
|
3
|
+
const require_blueprint = require("./blueprint-BWO1xOcp.cjs");
|
|
4
4
|
//#region src/2d/lib/curve2dFns.ts
|
|
5
5
|
/**
|
|
6
6
|
* Return a reversed copy of the curve (non-mutating).
|
|
@@ -3,8 +3,8 @@ const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
|
3
3
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
4
4
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
5
5
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
6
|
-
const require_helpers = require("./helpers-
|
|
7
|
-
const require_blueprint = require("./blueprint-
|
|
6
|
+
const require_helpers = require("./helpers-DlLQfATr.cjs");
|
|
7
|
+
const require_blueprint = require("./blueprint-BWO1xOcp.cjs");
|
|
8
8
|
//#region node_modules/flatqueue/index.js
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
|
|
@@ -3,8 +3,8 @@ import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
|
3
3
|
import { A as ok, R as unwrap, T as isOk, b as err, h as bug, n as computationError, s as safeIndex } from "./errors-DNWJsfVU.js";
|
|
4
4
|
import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
5
5
|
import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
6
|
-
import { _ as samePoint, 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, v as scalarMultiply2d } from "./helpers-
|
|
7
|
-
import { _ as Curve2D, 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-
|
|
6
|
+
import { _ as samePoint, 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, v as scalarMultiply2d } from "./helpers-BuHUd7_4.js";
|
|
7
|
+
import { _ as Curve2D, 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-CWE241F5.js";
|
|
8
8
|
//#region node_modules/flatqueue/index.js
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
|
|
@@ -2,9 +2,9 @@ import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
|
2
2
|
import { R as unwrap, h as bug, s as safeIndex } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { r as lastOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
4
4
|
import { v as zip } from "./surfaceBuilders-C0pJwtCO.js";
|
|
5
|
-
import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-
|
|
6
|
-
import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-
|
|
7
|
-
import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-
|
|
5
|
+
import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-JlCOsNp-.js";
|
|
6
|
+
import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-BuHUd7_4.js";
|
|
7
|
+
import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-CWE241F5.js";
|
|
8
8
|
//#region src/2d/blueprints/cannedBlueprints.ts
|
|
9
9
|
/**
|
|
10
10
|
* Create a regular polygon blueprint inscribed in a circle of the given radius.
|
|
@@ -2,9 +2,9 @@ const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
4
4
|
const require_surfaceBuilders = require("./surfaceBuilders-C-UhFlpS.cjs");
|
|
5
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
6
|
-
const require_helpers = require("./helpers-
|
|
7
|
-
const require_blueprint = require("./blueprint-
|
|
5
|
+
const require_blueprintSketcher = require("./blueprintSketcher-DADskw3h.cjs");
|
|
6
|
+
const require_helpers = require("./helpers-DlLQfATr.cjs");
|
|
7
|
+
const require_blueprint = require("./blueprint-BWO1xOcp.cjs");
|
|
8
8
|
//#region src/2d/blueprints/cannedBlueprints.ts
|
|
9
9
|
/**
|
|
10
10
|
* Create a regular polygon blueprint inscribed in a circle of the given radius.
|
package/dist/brepjs.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-bCq3ARXX.cjs");
|
|
3
3
|
const require_shapeTypes = require("./shapeTypes-BLREi6xB.cjs");
|
|
4
4
|
const require_occtWasmAdapter = require("./occtWasmAdapter-B2TEQOjs.cjs");
|
|
5
5
|
const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
@@ -10,29 +10,29 @@ const require_types = require("./types-KjA8tY4Y.cjs");
|
|
|
10
10
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
11
11
|
const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
|
|
12
12
|
const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
13
|
-
const require_shapeFns = require("./shapeFns-
|
|
13
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
14
14
|
const require_curveFns = require("./curveFns-CpaxYpa4.cjs");
|
|
15
|
-
const require_meshFns = require("./meshFns-
|
|
15
|
+
const require_meshFns = require("./meshFns-BGmOr5aJ.cjs");
|
|
16
16
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
17
17
|
const require_surfaceBuilders = require("./surfaceBuilders-C-UhFlpS.cjs");
|
|
18
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
19
|
-
const require_healingFns = require("./healingFns-
|
|
20
|
-
const require_threadFns = require("./threadFns-
|
|
21
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
22
|
-
const require_helpers = require("./helpers-
|
|
23
|
-
const require_drawFns = require("./drawFns-
|
|
18
|
+
const require_solidBuilders = require("./solidBuilders-BOMmoOg7.cjs");
|
|
19
|
+
const require_healingFns = require("./healingFns-DQquJMYs.cjs");
|
|
20
|
+
const require_threadFns = require("./threadFns-BDdzaSTO.cjs");
|
|
21
|
+
const require_blueprintSketcher = require("./blueprintSketcher-DADskw3h.cjs");
|
|
22
|
+
const require_helpers = require("./helpers-DlLQfATr.cjs");
|
|
23
|
+
const require_drawFns = require("./drawFns-BosHTxzi.cjs");
|
|
24
24
|
const require_measureFns = require("./measureFns-I5KcAgSb.cjs");
|
|
25
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
26
|
-
const require_boolean2D = require("./boolean2D-
|
|
27
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
28
|
-
const require_importFns = require("./importFns-
|
|
25
|
+
const require_cornerFinder = require("./cornerFinder-DP74f1wh.cjs");
|
|
26
|
+
const require_boolean2D = require("./boolean2D-Dz2WQyK7.cjs");
|
|
27
|
+
const require_blueprintFns = require("./blueprintFns-DXXKh9Ex.cjs");
|
|
28
|
+
const require_importFns = require("./importFns-BRaiuN1y.cjs");
|
|
29
29
|
const require_loftFns = require("./loftFns-BQktV4u4.cjs");
|
|
30
30
|
const require_cameraFns = require("./cameraFns-BAm-2Clq.cjs");
|
|
31
|
-
const require_textMetrics = require("./textMetrics-
|
|
31
|
+
const require_textMetrics = require("./textMetrics-wX3dlabq.cjs");
|
|
32
32
|
const require_adjacencyFns = require("./adjacencyFns-COWMJ1OX.cjs");
|
|
33
|
-
const require_refResolveFns = require("./refResolveFns-
|
|
33
|
+
const require_refResolveFns = require("./refResolveFns-Dku4ocdG.cjs");
|
|
34
34
|
const require_workerPool = require("./workerPool-D30NsiIW.cjs");
|
|
35
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
35
|
+
const require_primitiveFns = require("./primitiveFns-ht0yFv6T.cjs");
|
|
36
36
|
//#region src/topology/shapeBooleans.ts
|
|
37
37
|
var BOPAlgo_GlueShift = 1;
|
|
38
38
|
var BOPAlgo_GlueFull = 2;
|
package/dist/brepjs.js
CHANGED
|
@@ -8,30 +8,30 @@ import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N
|
|
|
8
8
|
import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-SKPRvPH-.js";
|
|
9
9
|
import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-DSjjtrjg.js";
|
|
10
10
|
import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, 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, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-Bc6sBrBV.js";
|
|
11
|
-
import { A as tagFaces, C as colorShape, D as getFaceTags, E as findFacesByTag, M as setShapeOrigin, O as getTagMetadata, S as colorFaces, T as getShapeColor, a as isSameShape, c as applyMatrix$1, d as mirror$2, f as resize, g as translate$2, h as transformCopy$1, i as isEqualShape, j as getFaceOrigins, k as setTagMetadata, l as composeTransforms, m as scale$3, n as getHashCode, o as simplify$1, p as rotate$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as locate$1, v as hasAnyMetadata, w as getFaceColor, x as propagateMetadataThroughRelocation } from "./shapeFns-
|
|
11
|
+
import { A as tagFaces, C as colorShape, D as getFaceTags, E as findFacesByTag, M as setShapeOrigin, O as getTagMetadata, S as colorFaces, T as getShapeColor, a as isSameShape, c as applyMatrix$1, d as mirror$2, f as resize, g as translate$2, h as transformCopy$1, i as isEqualShape, j as getFaceOrigins, k as setTagMetadata, l as composeTransforms, m as scale$3, n as getHashCode, o as simplify$1, p as rotate$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as locate$1, v as hasAnyMetadata, w as getFaceColor, x as propagateMetadataThroughRelocation } from "./shapeFns-C2pdUzdd.js";
|
|
12
12
|
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-pGQFlJG-.js";
|
|
13
|
-
import { a as meshEdges$1, c as meshMultiLOD, d as createMeshCache, i as mesh$1, l as buildMeshCacheKey, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as clearMeshCache } from "./meshFns-
|
|
13
|
+
import { a as meshEdges$1, c as meshMultiLOD, d as createMeshCache, i as mesh$1, l as buildMeshCacheKey, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as clearMeshCache } from "./meshFns-DVrZtr-f.js";
|
|
14
14
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
15
15
|
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-C0pJwtCO.js";
|
|
16
|
-
import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-
|
|
17
|
-
import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-
|
|
18
|
-
import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, a as deserializeHistory, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, q as linearPattern, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as countNodes } from "./threadFns-
|
|
19
|
-
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
20
|
-
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-
|
|
21
|
-
import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-
|
|
16
|
+
import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-BsAa59Dz.js";
|
|
17
|
+
import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-CCsV3Ug-.js";
|
|
18
|
+
import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, a as deserializeHistory, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, q as linearPattern, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as countNodes } from "./threadFns-DluMGkMf.js";
|
|
19
|
+
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-JlCOsNp-.js";
|
|
20
|
+
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BuHUd7_4.js";
|
|
21
|
+
import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-DKyAWSPe.js";
|
|
22
22
|
import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-B_vJqwDc.js";
|
|
23
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
24
|
-
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
25
|
-
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-
|
|
26
|
-
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-
|
|
23
|
+
import { t as cornerFinder } from "./cornerFinder-oxZraULr.js";
|
|
24
|
+
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-B_JB01Pu.js";
|
|
25
|
+
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-D5_7KAuL.js";
|
|
26
|
+
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-Z6N8Addx.js";
|
|
27
27
|
import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-CXc9tRv6.js";
|
|
28
|
-
import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-
|
|
28
|
+
import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-DU1Jqvx9.js";
|
|
29
29
|
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-CRln-7RT.js";
|
|
30
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
30
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-BltT5ICq.js";
|
|
31
31
|
import { a as sharedEdges, c as wiresOfFace, i as facesOfVertex, n as edgesOfFace, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-D026zKM3.js";
|
|
32
|
-
import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-
|
|
32
|
+
import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-CEojVVeD.js";
|
|
33
33
|
import { _ as isSuccessResponse, a as createWorkerClient, c as enqueueTask, d as rejectAll, f as isBatchRequest, g as isOperationRequest, h as isInitRequest, i as registerHandler, l as isEmpty$1, m as isErrorResponse, n as createOperationRegistry, o as createTaskQueue, p as isDisposeRequest, r as createWorkerHandler, s as dequeueTask, t as createWorkerPool, u as pendingCount } from "./workerPool-XcYX2UZ0.js";
|
|
34
|
-
import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, 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$1, x as subFace, y as solid } from "./primitiveFns-
|
|
34
|
+
import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, 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$1, x as subFace, y as solid } from "./primitiveFns-DiOCVk8q.js";
|
|
35
35
|
//#region \0rolldown/runtime.js
|
|
36
36
|
var __defProp = Object.defineProperty;
|
|
37
37
|
var __exportAll = (all, no_symbols) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
2
2
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
3
|
-
const require_helpers = require("./helpers-
|
|
3
|
+
const require_helpers = require("./helpers-DlLQfATr.cjs");
|
|
4
4
|
//#region src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
2
2
|
import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
3
|
-
import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-
|
|
3
|
+
import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-BuHUd7_4.js";
|
|
4
4
|
//#region src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
1
|
+
const require_textBlueprints = require("./textBlueprints-bCq3ARXX.cjs");
|
|
2
2
|
const require_shapeTypes = require("./shapeTypes-BLREi6xB.cjs");
|
|
3
3
|
const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
4
4
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
@@ -11,11 +11,11 @@ const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
|
11
11
|
const require_curveFns = require("./curveFns-CpaxYpa4.cjs");
|
|
12
12
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
13
13
|
const require_surfaceBuilders = require("./surfaceBuilders-C-UhFlpS.cjs");
|
|
14
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
15
|
-
const require_helpers = require("./helpers-
|
|
16
|
-
const require_blueprint = require("./blueprint-
|
|
17
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
18
|
-
const require_boolean2D = require("./boolean2D-
|
|
14
|
+
const require_blueprintSketcher = require("./blueprintSketcher-DADskw3h.cjs");
|
|
15
|
+
const require_helpers = require("./helpers-DlLQfATr.cjs");
|
|
16
|
+
const require_blueprint = require("./blueprint-BWO1xOcp.cjs");
|
|
17
|
+
const require_cornerFinder = require("./cornerFinder-DP74f1wh.cjs");
|
|
18
|
+
const require_boolean2D = require("./boolean2D-Dz2WQyK7.cjs");
|
|
19
19
|
const require_cameraFns = require("./cameraFns-BAm-2Clq.cjs");
|
|
20
20
|
//#region src/2d/lib/stitching.ts
|
|
21
21
|
/**
|
|
@@ -10,12 +10,12 @@ import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u a
|
|
|
10
10
|
import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-pGQFlJG-.js";
|
|
11
11
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
12
12
|
import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-C0pJwtCO.js";
|
|
13
|
-
import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-
|
|
14
|
-
import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-
|
|
15
|
-
import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-
|
|
16
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
17
|
-
import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
18
|
-
import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-
|
|
13
|
+
import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-JlCOsNp-.js";
|
|
14
|
+
import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-BuHUd7_4.js";
|
|
15
|
+
import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-CWE241F5.js";
|
|
16
|
+
import { t as cornerFinder } from "./cornerFinder-oxZraULr.js";
|
|
17
|
+
import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-B_JB01Pu.js";
|
|
18
|
+
import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-DU1Jqvx9.js";
|
|
19
19
|
import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-CRln-7RT.js";
|
|
20
20
|
//#region src/2d/lib/stitching.ts
|
|
21
21
|
/**
|
|
@@ -3,9 +3,9 @@ import { A as ok, T as isOk, b as err, d as validationError, i as kernelError, l
|
|
|
3
3
|
import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BjgBf2t-.js";
|
|
4
4
|
import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
|
|
5
5
|
import { v as downcast } from "./faceFns-Bc6sBrBV.js";
|
|
6
|
-
import { _ as collectInputFaceHashes, y as propagateAllMetadata } from "./shapeFns-
|
|
6
|
+
import { _ as collectInputFaceHashes, y as propagateAllMetadata } from "./shapeFns-C2pdUzdd.js";
|
|
7
7
|
import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
8
|
-
import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-
|
|
8
|
+
import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-BsAa59Dz.js";
|
|
9
9
|
//#region src/topology/threeHelpers.ts
|
|
10
10
|
/**
|
|
11
11
|
* Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
|
|
@@ -3,9 +3,9 @@ const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
|
3
3
|
const require_topologyQueryFns = require("./topologyQueryFns-1PqfeHrV.cjs");
|
|
4
4
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
5
5
|
const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
6
|
-
const require_shapeFns = require("./shapeFns-
|
|
6
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
7
7
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
8
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
8
|
+
const require_solidBuilders = require("./solidBuilders-BOMmoOg7.cjs");
|
|
9
9
|
//#region src/topology/threeHelpers.ts
|
|
10
10
|
/**
|
|
11
11
|
* Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
|
|
@@ -4,7 +4,7 @@ import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from ".
|
|
|
4
4
|
import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
5
5
|
import { a as vecDot, d as vecNormalize } from "./vecOps-SKPRvPH-.js";
|
|
6
6
|
import { l as normalAt, s as getSurfaceType } from "./faceFns-Bc6sBrBV.js";
|
|
7
|
-
import { a as isSameShape, n as getHashCode } from "./shapeFns-
|
|
7
|
+
import { a as isSameShape, n as getHashCode } from "./shapeFns-C2pdUzdd.js";
|
|
8
8
|
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-pGQFlJG-.js";
|
|
9
9
|
import { n as measureArea } from "./measureFns-B_vJqwDc.js";
|
|
10
10
|
//#region src/utils/vec2d.ts
|
|
@@ -4,7 +4,7 @@ const require_topologyQueryFns = require("./topologyQueryFns-1PqfeHrV.cjs");
|
|
|
4
4
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
5
5
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
6
6
|
const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
7
|
-
const require_shapeFns = require("./shapeFns-
|
|
7
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
8
8
|
const require_curveFns = require("./curveFns-CpaxYpa4.cjs");
|
|
9
9
|
const require_measureFns = require("./measureFns-I5KcAgSb.cjs");
|
|
10
10
|
//#region src/utils/vec2d.ts
|
|
@@ -2,7 +2,7 @@ const require_shapeTypes = require("./shapeTypes-BLREi6xB.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-
|
|
5
|
+
const require_blueprint = require("./blueprint-BWO1xOcp.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) {
|
|
@@ -2,7 +2,7 @@ import { Z as getKernel, t as castShape } from "./shapeTypes-EI4Uxlsb.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-
|
|
5
|
+
import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-CWE241F5.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) {
|
package/dist/io.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_meshFns = require("./meshFns-
|
|
3
|
-
const require_importFns = require("./importFns-
|
|
2
|
+
const require_meshFns = require("./meshFns-BGmOr5aJ.cjs");
|
|
3
|
+
const require_importFns = require("./importFns-BRaiuN1y.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-
|
|
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-
|
|
1
|
+
import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-DVrZtr-f.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-Z6N8Addx.js";
|
|
3
3
|
export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
|
package/dist/kernel/types.d.ts
CHANGED
|
@@ -49,10 +49,8 @@ export interface MeshOptions {
|
|
|
49
49
|
/** Linear deflection tolerance for tessellation. */
|
|
50
50
|
tolerance: number;
|
|
51
51
|
/**
|
|
52
|
-
* Angular deflection tolerance for tessellation.
|
|
53
|
-
*
|
|
54
|
-
* **Cross-kernel note**: brepkit only supports linear deflection; this
|
|
55
|
-
* parameter is ignored (a one-time warning is emitted). OCCT honours both.
|
|
52
|
+
* Angular deflection tolerance for tessellation. Honoured by both the OCCT
|
|
53
|
+
* and brepkit kernels; a non-positive value falls back to the kernel default.
|
|
56
54
|
*/
|
|
57
55
|
angularTolerance: number;
|
|
58
56
|
skipNormals?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_shapeTypes = require("./shapeTypes-BLREi6xB.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
const require_topologyQueryFns = require("./topologyQueryFns-1PqfeHrV.cjs");
|
|
4
|
-
const require_shapeFns = require("./shapeFns-
|
|
4
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.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,7 +1,7 @@
|
|
|
1
1
|
import { Z as getKernel, gt as qualityDeflection } from "./shapeTypes-EI4Uxlsb.js";
|
|
2
2
|
import { A as ok, b as err, r as ioError } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { d as getSolids, n as getBounds } from "./topologyQueryFns-BjgBf2t-.js";
|
|
4
|
-
import { j as getFaceOrigins } from "./shapeFns-
|
|
4
|
+
import { j as getFaceOrigins } from "./shapeFns-C2pdUzdd.js";
|
|
5
5
|
//#region src/topology/meshCache.ts
|
|
6
6
|
/**
|
|
7
7
|
* Build a parameter key for the inner cache map (excludes shape identity).
|
package/dist/operations.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_threadFns = require("./threadFns-
|
|
2
|
+
const require_threadFns = require("./threadFns-BDdzaSTO.cjs");
|
|
3
3
|
const require_loftFns = require("./loftFns-BQktV4u4.cjs");
|
|
4
4
|
exports.addChild = require_threadFns.addChild;
|
|
5
5
|
exports.addJoint = require_threadFns.addJoint;
|
package/dist/operations.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as circularPattern, H as removeChild, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, O as prismaticJoint, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, q as linearPattern, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as countNodes } from "./threadFns-
|
|
1
|
+
import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as circularPattern, H as removeChild, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, O as prismaticJoint, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, q as linearPattern, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as countNodes } from "./threadFns-DluMGkMf.js";
|
|
2
2
|
import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-CXc9tRv6.js";
|
|
3
3
|
export { addChild, addJoint, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, cylindricalJoint, exportAssemblySTEP, exportURDF, findNode, findStep, forwardKinematics, getShape as getHistoryShape, gridPattern, importURDF, inverseKinematics, jointTrajectory, jointTransform, jointsFromDH, linearPattern, mechanismDOF, modifyStep, planarJoint, prismaticJoint, registerOperation, registerShape, removeChild, replayFrom, replayHistory, revoluteJoint, setJointValue, setJointValues, sphericalJoint, stepCount, stepsFrom, supportExtrude, sweep, thread, twistExtrude, undoLast, updateNode, walkAssembly };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Z as getKernel, c as createSolid, x as isClosedWire } from "./shapeTypes-EI4Uxlsb.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError, v as andThen } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
4
|
-
import { g as translate } from "./shapeFns-
|
|
4
|
+
import { g as translate } from "./shapeFns-C2pdUzdd.js";
|
|
5
5
|
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-C0pJwtCO.js";
|
|
6
|
-
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-
|
|
6
|
+
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-BsAa59Dz.js";
|
|
7
7
|
//#region src/topology/primitiveFns.ts
|
|
8
8
|
/**
|
|
9
9
|
* Create a box with the given dimensions.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_shapeTypes = require("./shapeTypes-BLREi6xB.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
4
|
-
const require_shapeFns = require("./shapeFns-
|
|
4
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
5
5
|
const require_surfaceBuilders = require("./surfaceBuilders-C-UhFlpS.cjs");
|
|
6
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
6
|
+
const require_solidBuilders = require("./solidBuilders-BOMmoOg7.cjs");
|
|
7
7
|
//#region src/topology/primitiveFns.ts
|
|
8
8
|
/**
|
|
9
9
|
* Create a box with the given dimensions.
|
package/dist/query.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_helpers = require("./helpers-
|
|
3
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
2
|
+
const require_helpers = require("./helpers-DlLQfATr.cjs");
|
|
3
|
+
const require_cornerFinder = require("./cornerFinder-DP74f1wh.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-
|
|
2
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
1
|
+
import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BuHUd7_4.js";
|
|
2
|
+
import { t as cornerFinder } from "./cornerFinder-oxZraULr.js";
|
|
3
3
|
export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as vertexPosition, c as getFaces } from "./topologyQueryFns-BjgBf2t-.js";
|
|
2
2
|
import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-Bc6sBrBV.js";
|
|
3
|
-
import { n as getHashCode } from "./shapeFns-
|
|
3
|
+
import { n as getHashCode } from "./shapeFns-C2pdUzdd.js";
|
|
4
4
|
import { n as measureArea, s as measureLength } from "./measureFns-B_vJqwDc.js";
|
|
5
5
|
import { a as sharedEdges, i as facesOfVertex, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-D026zKM3.js";
|
|
6
6
|
//#region src/topology/shapeRef/scoring.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_topologyQueryFns = require("./topologyQueryFns-1PqfeHrV.cjs");
|
|
2
2
|
const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
3
|
-
const require_shapeFns = require("./shapeFns-
|
|
3
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
4
4
|
const require_measureFns = require("./measureFns-I5KcAgSb.cjs");
|
|
5
5
|
const require_adjacencyFns = require("./adjacencyFns-COWMJ1OX.cjs");
|
|
6
6
|
//#region src/topology/shapeRef/scoring.ts
|
|
@@ -51,13 +51,44 @@ function propagateOriginsFromEvolution(evolution, inputs, result) {
|
|
|
51
51
|
cache.faceOrigins = resultMap;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
/** Max 3D centroid separation (mm²) for a "near" match — the general case. */
|
|
55
|
+
var MAX_MATCH_DIST_SQ = 100;
|
|
56
|
+
/** Min |outNormal·inNormal| for two faces to count as sharing a plane's orientation. */
|
|
57
|
+
var COPLANAR_NORMAL_MIN = .985;
|
|
58
|
+
/**
|
|
59
|
+
* Max squared perpendicular offset (mm²) from an input face's plane for the
|
|
60
|
+
* output face to count as *coplanar* with it — i.e. a piece the boolean sliced
|
|
61
|
+
* off that same planar surface. 0.1mm² tolerates kernel/mesh float noise while
|
|
62
|
+
* still separating floors that sit even a fraction of a mm apart in depth.
|
|
63
|
+
*/
|
|
64
|
+
var COPLANAR_OFFSET_SQ = .1;
|
|
54
65
|
/**
|
|
55
66
|
* Find the best origin match for a result face by comparing normals and centroids
|
|
56
67
|
* against input face signatures. Returns `undefined` if no good match exists.
|
|
68
|
+
*
|
|
69
|
+
* Two passes, near strictly preferred:
|
|
70
|
+
* 1. Near match — same-facing normal (signed dot ≥ 0.707) and centroids within
|
|
71
|
+
* {@link MAX_MATCH_DIST_SQ}. The general case for regenerated seam faces
|
|
72
|
+
* (feature tops, flush walls). Unchanged legacy behavior. If any near match
|
|
73
|
+
* exists it wins outright — the coplanar pass never runs — so a distant
|
|
74
|
+
* coplanar candidate can't outscore a valid near one.
|
|
75
|
+
* 2. Coplanar match (only when no near match, and only between PLANAR faces) —
|
|
76
|
+
* the output face lies on an input face's plane (parallel *or* antiparallel
|
|
77
|
+
* normal, tiny perpendicular offset) regardless of how far its centroid
|
|
78
|
+
* drifted in-plane. Two cases pass 1 misses:
|
|
79
|
+
* • A boolean that splits a large planar face — a wide cutout floor sliced
|
|
80
|
+
* by an overlapping deeper cutout — leaves pieces >10mm from the parent
|
|
81
|
+
* centroid (past pass 1's cutoff).
|
|
82
|
+
* • A cut flips the cavity face's normal versus the tool face it came from,
|
|
83
|
+
* so the floor is antiparallel to its origin's input face.
|
|
84
|
+
* Both left the surface tagless → body color in multi-color consumers
|
|
85
|
+
* (gridfinity GH #2443). The planar gate keeps a curved output face from
|
|
86
|
+
* inheriting an origin off an unrelated face that merely shares a sampled
|
|
87
|
+
* tangent plane; among coplanar candidates the nearest in-plane wins.
|
|
57
88
|
*/
|
|
58
|
-
function findBestOriginMatch(outNormal, outCentroid, inputSigs) {
|
|
59
|
-
let
|
|
60
|
-
let
|
|
89
|
+
function findBestOriginMatch(outNormal, outCentroid, outPlanar, inputSigs) {
|
|
90
|
+
let bestNearScore = -Infinity;
|
|
91
|
+
let bestNear;
|
|
61
92
|
for (const inp of inputSigs) {
|
|
62
93
|
const dot = outNormal[0] * inp.normal[0] + outNormal[1] * inp.normal[1] + outNormal[2] * inp.normal[2];
|
|
63
94
|
if (dot < .707) continue;
|
|
@@ -65,14 +96,33 @@ function findBestOriginMatch(outNormal, outCentroid, inputSigs) {
|
|
|
65
96
|
const dy = outCentroid[1] - inp.centroid[1];
|
|
66
97
|
const dz = outCentroid[2] - inp.centroid[2];
|
|
67
98
|
const distSq = dx * dx + dy * dy + dz * dz;
|
|
68
|
-
if (distSq >
|
|
69
|
-
const score = dot - distSq /
|
|
70
|
-
if (score >
|
|
71
|
-
|
|
72
|
-
|
|
99
|
+
if (distSq > MAX_MATCH_DIST_SQ) continue;
|
|
100
|
+
const score = dot - distSq / MAX_MATCH_DIST_SQ;
|
|
101
|
+
if (score > bestNearScore) {
|
|
102
|
+
bestNearScore = score;
|
|
103
|
+
bestNear = inp.origin;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (bestNear !== void 0) return bestNear;
|
|
107
|
+
if (!outPlanar) return void 0;
|
|
108
|
+
let bestInPlaneSq = Infinity;
|
|
109
|
+
let bestCoplanar;
|
|
110
|
+
for (const inp of inputSigs) {
|
|
111
|
+
if (!inp.planar) continue;
|
|
112
|
+
const dot = outNormal[0] * inp.normal[0] + outNormal[1] * inp.normal[1] + outNormal[2] * inp.normal[2];
|
|
113
|
+
if (Math.abs(dot) < COPLANAR_NORMAL_MIN) continue;
|
|
114
|
+
const dx = outCentroid[0] - inp.centroid[0];
|
|
115
|
+
const dy = outCentroid[1] - inp.centroid[1];
|
|
116
|
+
const dz = outCentroid[2] - inp.centroid[2];
|
|
117
|
+
const perp = dx * inp.normal[0] + dy * inp.normal[1] + dz * inp.normal[2];
|
|
118
|
+
if (perp * perp > COPLANAR_OFFSET_SQ) continue;
|
|
119
|
+
const inPlaneSq = Math.max(0, dx * dx + dy * dy + dz * dz - perp * perp);
|
|
120
|
+
if (inPlaneSq < bestInPlaneSq) {
|
|
121
|
+
bestInPlaneSq = inPlaneSq;
|
|
122
|
+
bestCoplanar = inp.origin;
|
|
73
123
|
}
|
|
74
124
|
}
|
|
75
|
-
return
|
|
125
|
+
return bestCoplanar;
|
|
76
126
|
}
|
|
77
127
|
/**
|
|
78
128
|
* Fallback origin propagation when no kernel op object is available
|
|
@@ -126,10 +176,12 @@ function propagateOriginsByHash(inputs, result) {
|
|
|
126
176
|
const bounds = kernel.uvBounds(f.wrapped);
|
|
127
177
|
const normal = kernel.surfaceNormal(f.wrapped, .5 * (bounds.uMin + bounds.uMax), .5 * (bounds.vMin + bounds.vMax));
|
|
128
178
|
const centroid = kernel.surfaceCenterOfMass(f.wrapped);
|
|
179
|
+
const planar = kernel.surfaceType(f.wrapped) === "plane";
|
|
129
180
|
inputSigs.push({
|
|
130
181
|
origin,
|
|
131
182
|
normal,
|
|
132
|
-
centroid
|
|
183
|
+
centroid,
|
|
184
|
+
planar
|
|
133
185
|
});
|
|
134
186
|
} catch {}
|
|
135
187
|
}
|
|
@@ -138,7 +190,7 @@ function propagateOriginsByHash(inputs, result) {
|
|
|
138
190
|
const hash = kernel.hashCode(f.wrapped, require_constants.HASH_CODE_MAX);
|
|
139
191
|
try {
|
|
140
192
|
const outBounds = kernel.uvBounds(f.wrapped);
|
|
141
|
-
const bestOrigin = findBestOriginMatch(kernel.surfaceNormal(f.wrapped, .5 * (outBounds.uMin + outBounds.uMax), .5 * (outBounds.vMin + outBounds.vMax)), kernel.surfaceCenterOfMass(f.wrapped), inputSigs);
|
|
193
|
+
const bestOrigin = findBestOriginMatch(kernel.surfaceNormal(f.wrapped, .5 * (outBounds.uMin + outBounds.uMax), .5 * (outBounds.vMin + outBounds.vMax)), kernel.surfaceCenterOfMass(f.wrapped), kernel.surfaceType(f.wrapped) === "plane", inputSigs);
|
|
142
194
|
if (bestOrigin !== void 0) resultMap.set(hash, bestOrigin);
|
|
143
195
|
} catch {}
|
|
144
196
|
}
|
|
@@ -51,13 +51,44 @@ function propagateOriginsFromEvolution(evolution, inputs, result) {
|
|
|
51
51
|
cache.faceOrigins = resultMap;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
/** Max 3D centroid separation (mm²) for a "near" match — the general case. */
|
|
55
|
+
var MAX_MATCH_DIST_SQ = 100;
|
|
56
|
+
/** Min |outNormal·inNormal| for two faces to count as sharing a plane's orientation. */
|
|
57
|
+
var COPLANAR_NORMAL_MIN = .985;
|
|
58
|
+
/**
|
|
59
|
+
* Max squared perpendicular offset (mm²) from an input face's plane for the
|
|
60
|
+
* output face to count as *coplanar* with it — i.e. a piece the boolean sliced
|
|
61
|
+
* off that same planar surface. 0.1mm² tolerates kernel/mesh float noise while
|
|
62
|
+
* still separating floors that sit even a fraction of a mm apart in depth.
|
|
63
|
+
*/
|
|
64
|
+
var COPLANAR_OFFSET_SQ = .1;
|
|
54
65
|
/**
|
|
55
66
|
* Find the best origin match for a result face by comparing normals and centroids
|
|
56
67
|
* against input face signatures. Returns `undefined` if no good match exists.
|
|
68
|
+
*
|
|
69
|
+
* Two passes, near strictly preferred:
|
|
70
|
+
* 1. Near match — same-facing normal (signed dot ≥ 0.707) and centroids within
|
|
71
|
+
* {@link MAX_MATCH_DIST_SQ}. The general case for regenerated seam faces
|
|
72
|
+
* (feature tops, flush walls). Unchanged legacy behavior. If any near match
|
|
73
|
+
* exists it wins outright — the coplanar pass never runs — so a distant
|
|
74
|
+
* coplanar candidate can't outscore a valid near one.
|
|
75
|
+
* 2. Coplanar match (only when no near match, and only between PLANAR faces) —
|
|
76
|
+
* the output face lies on an input face's plane (parallel *or* antiparallel
|
|
77
|
+
* normal, tiny perpendicular offset) regardless of how far its centroid
|
|
78
|
+
* drifted in-plane. Two cases pass 1 misses:
|
|
79
|
+
* • A boolean that splits a large planar face — a wide cutout floor sliced
|
|
80
|
+
* by an overlapping deeper cutout — leaves pieces >10mm from the parent
|
|
81
|
+
* centroid (past pass 1's cutoff).
|
|
82
|
+
* • A cut flips the cavity face's normal versus the tool face it came from,
|
|
83
|
+
* so the floor is antiparallel to its origin's input face.
|
|
84
|
+
* Both left the surface tagless → body color in multi-color consumers
|
|
85
|
+
* (gridfinity GH #2443). The planar gate keeps a curved output face from
|
|
86
|
+
* inheriting an origin off an unrelated face that merely shares a sampled
|
|
87
|
+
* tangent plane; among coplanar candidates the nearest in-plane wins.
|
|
57
88
|
*/
|
|
58
|
-
function findBestOriginMatch(outNormal, outCentroid, inputSigs) {
|
|
59
|
-
let
|
|
60
|
-
let
|
|
89
|
+
function findBestOriginMatch(outNormal, outCentroid, outPlanar, inputSigs) {
|
|
90
|
+
let bestNearScore = -Infinity;
|
|
91
|
+
let bestNear;
|
|
61
92
|
for (const inp of inputSigs) {
|
|
62
93
|
const dot = outNormal[0] * inp.normal[0] + outNormal[1] * inp.normal[1] + outNormal[2] * inp.normal[2];
|
|
63
94
|
if (dot < .707) continue;
|
|
@@ -65,14 +96,33 @@ function findBestOriginMatch(outNormal, outCentroid, inputSigs) {
|
|
|
65
96
|
const dy = outCentroid[1] - inp.centroid[1];
|
|
66
97
|
const dz = outCentroid[2] - inp.centroid[2];
|
|
67
98
|
const distSq = dx * dx + dy * dy + dz * dz;
|
|
68
|
-
if (distSq >
|
|
69
|
-
const score = dot - distSq /
|
|
70
|
-
if (score >
|
|
71
|
-
|
|
72
|
-
|
|
99
|
+
if (distSq > MAX_MATCH_DIST_SQ) continue;
|
|
100
|
+
const score = dot - distSq / MAX_MATCH_DIST_SQ;
|
|
101
|
+
if (score > bestNearScore) {
|
|
102
|
+
bestNearScore = score;
|
|
103
|
+
bestNear = inp.origin;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (bestNear !== void 0) return bestNear;
|
|
107
|
+
if (!outPlanar) return void 0;
|
|
108
|
+
let bestInPlaneSq = Infinity;
|
|
109
|
+
let bestCoplanar;
|
|
110
|
+
for (const inp of inputSigs) {
|
|
111
|
+
if (!inp.planar) continue;
|
|
112
|
+
const dot = outNormal[0] * inp.normal[0] + outNormal[1] * inp.normal[1] + outNormal[2] * inp.normal[2];
|
|
113
|
+
if (Math.abs(dot) < COPLANAR_NORMAL_MIN) continue;
|
|
114
|
+
const dx = outCentroid[0] - inp.centroid[0];
|
|
115
|
+
const dy = outCentroid[1] - inp.centroid[1];
|
|
116
|
+
const dz = outCentroid[2] - inp.centroid[2];
|
|
117
|
+
const perp = dx * inp.normal[0] + dy * inp.normal[1] + dz * inp.normal[2];
|
|
118
|
+
if (perp * perp > COPLANAR_OFFSET_SQ) continue;
|
|
119
|
+
const inPlaneSq = Math.max(0, dx * dx + dy * dy + dz * dz - perp * perp);
|
|
120
|
+
if (inPlaneSq < bestInPlaneSq) {
|
|
121
|
+
bestInPlaneSq = inPlaneSq;
|
|
122
|
+
bestCoplanar = inp.origin;
|
|
73
123
|
}
|
|
74
124
|
}
|
|
75
|
-
return
|
|
125
|
+
return bestCoplanar;
|
|
76
126
|
}
|
|
77
127
|
/**
|
|
78
128
|
* Fallback origin propagation when no kernel op object is available
|
|
@@ -126,10 +176,12 @@ function propagateOriginsByHash(inputs, result) {
|
|
|
126
176
|
const bounds = kernel.uvBounds(f.wrapped);
|
|
127
177
|
const normal = kernel.surfaceNormal(f.wrapped, .5 * (bounds.uMin + bounds.uMax), .5 * (bounds.vMin + bounds.vMax));
|
|
128
178
|
const centroid = kernel.surfaceCenterOfMass(f.wrapped);
|
|
179
|
+
const planar = kernel.surfaceType(f.wrapped) === "plane";
|
|
129
180
|
inputSigs.push({
|
|
130
181
|
origin,
|
|
131
182
|
normal,
|
|
132
|
-
centroid
|
|
183
|
+
centroid,
|
|
184
|
+
planar
|
|
133
185
|
});
|
|
134
186
|
} catch {}
|
|
135
187
|
}
|
|
@@ -138,7 +190,7 @@ function propagateOriginsByHash(inputs, result) {
|
|
|
138
190
|
const hash = kernel.hashCode(f.wrapped, HASH_CODE_MAX);
|
|
139
191
|
try {
|
|
140
192
|
const outBounds = kernel.uvBounds(f.wrapped);
|
|
141
|
-
const bestOrigin = findBestOriginMatch(kernel.surfaceNormal(f.wrapped, .5 * (outBounds.uMin + outBounds.uMax), .5 * (outBounds.vMin + outBounds.vMax)), kernel.surfaceCenterOfMass(f.wrapped), inputSigs);
|
|
193
|
+
const bestOrigin = findBestOriginMatch(kernel.surfaceNormal(f.wrapped, .5 * (outBounds.uMin + outBounds.uMax), .5 * (outBounds.vMin + outBounds.vMax)), kernel.surfaceCenterOfMass(f.wrapped), kernel.surfaceType(f.wrapped) === "plane", inputSigs);
|
|
142
194
|
if (bestOrigin !== void 0) resultMap.set(hash, bestOrigin);
|
|
143
195
|
} catch {}
|
|
144
196
|
}
|
package/dist/shapeRef.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_refResolveFns = require("./refResolveFns-
|
|
2
|
+
const require_refResolveFns = require("./refResolveFns-Dku4ocdG.cjs");
|
|
3
3
|
exports.assignRoles = require_refResolveFns.assignRoles;
|
|
4
4
|
exports.captureHint = require_refResolveFns.captureHint;
|
|
5
5
|
exports.createDerivedFaceRef = require_refResolveFns.createDerivedFaceRef;
|
package/dist/shapeRef.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-
|
|
1
|
+
import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-CEojVVeD.js";
|
|
2
2
|
export { assignRoles, captureHint, createDerivedFaceRef, createEdgeRef, createRef, createVertexRef, defaultScorer, isDerivedFaceRef, isEdgeRef, isFaceRef, isLineageRef, isVertexRef, resolveDerivedFaceRef, resolveEdgeRef, resolveLineageRef, resolveRef, resolveRefIn, resolveRefParams, resolveVertexRef, updateRoles };
|
package/dist/sketching.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
3
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
4
|
-
const require_drawFns = require("./drawFns-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-bCq3ARXX.cjs");
|
|
3
|
+
const require_blueprintSketcher = require("./blueprintSketcher-DADskw3h.cjs");
|
|
4
|
+
const require_drawFns = require("./drawFns-BosHTxzi.cjs");
|
|
5
5
|
//#region src/sketching.ts
|
|
6
6
|
/**
|
|
7
7
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
package/dist/sketching.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
2
|
-
import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-
|
|
3
|
-
import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-
|
|
1
|
+
import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-JlCOsNp-.js";
|
|
2
|
+
import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-DKyAWSPe.js";
|
|
3
|
+
import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-DU1Jqvx9.js";
|
|
4
4
|
//#region src/sketching.ts
|
|
5
5
|
/**
|
|
6
6
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
|
@@ -5,7 +5,7 @@ const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
|
5
5
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
6
6
|
const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
|
|
7
7
|
const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
8
|
-
const require_shapeFns = require("./shapeFns-
|
|
8
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
9
9
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
10
10
|
const require_surfaceBuilders = require("./surfaceBuilders-C-UhFlpS.cjs");
|
|
11
11
|
//#region src/topology/booleanFns.ts
|
|
@@ -5,7 +5,7 @@ import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
|
|
|
5
5
|
import { h as vecScale, t as vecAdd } from "./vecOps-SKPRvPH-.js";
|
|
6
6
|
import { o as resolvePlane } from "./planeOps-DSjjtrjg.js";
|
|
7
7
|
import { _ as cast, v as downcast } from "./faceFns-Bc6sBrBV.js";
|
|
8
|
-
import { _ as collectInputFaceHashes, b as propagateMetadataByHash, y as propagateAllMetadata } from "./shapeFns-
|
|
8
|
+
import { _ as collectInputFaceHashes, b as propagateMetadataByHash, y as propagateAllMetadata } from "./shapeFns-C2pdUzdd.js";
|
|
9
9
|
import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
10
10
|
import { r as makeFace } from "./surfaceBuilders-C0pJwtCO.js";
|
|
11
11
|
//#region src/topology/booleanFns.ts
|
package/dist/text.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
3
|
-
const require_textMetrics = require("./textMetrics-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-bCq3ARXX.cjs");
|
|
3
|
+
const require_textMetrics = require("./textMetrics-wX3dlabq.cjs");
|
|
4
4
|
exports.fontMetrics = require_textMetrics.fontMetrics;
|
|
5
5
|
exports.getFont = require_textBlueprints.getFont;
|
|
6
6
|
exports.loadFont = require_textBlueprints.loadFont;
|
package/dist/text.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-
|
|
2
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
1
|
+
import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-DU1Jqvx9.js";
|
|
2
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-BltT5ICq.js";
|
|
3
3
|
export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
|
|
@@ -7,8 +7,8 @@ import { v as downcast } from "./faceFns-Bc6sBrBV.js";
|
|
|
7
7
|
import { l as curveStartPoint, u as curveTangentAt } from "./curveFns-pGQFlJG-.js";
|
|
8
8
|
import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
9
9
|
import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-C0pJwtCO.js";
|
|
10
|
-
import { o as makeSolid, p as cutAll, t as makeCompound } from "./solidBuilders-
|
|
11
|
-
import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
10
|
+
import { o as makeSolid, p as cutAll, t as makeCompound } from "./solidBuilders-BsAa59Dz.js";
|
|
11
|
+
import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-JlCOsNp-.js";
|
|
12
12
|
import { a as revolve, d as twistExtrude, o as complexExtrude, r as extrude, t as loft, u as sweep } from "./loftFns-CXc9tRv6.js";
|
|
13
13
|
import opentype from "opentype.js";
|
|
14
14
|
//#region src/sketching/compoundSketch.ts
|
|
@@ -38,8 +38,8 @@ const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
|
38
38
|
const require_curveFns = require("./curveFns-CpaxYpa4.cjs");
|
|
39
39
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
40
40
|
const require_surfaceBuilders = require("./surfaceBuilders-C-UhFlpS.cjs");
|
|
41
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
42
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
41
|
+
const require_solidBuilders = require("./solidBuilders-BOMmoOg7.cjs");
|
|
42
|
+
const require_blueprintSketcher = require("./blueprintSketcher-DADskw3h.cjs");
|
|
43
43
|
const require_loftFns = require("./loftFns-BQktV4u4.cjs");
|
|
44
44
|
let opentype_js = require("opentype.js");
|
|
45
45
|
opentype_js = __toESM(opentype_js, 1);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
2
|
-
import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-
|
|
2
|
+
import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-DU1Jqvx9.js";
|
|
3
3
|
//#region src/text/sketchText.ts
|
|
4
4
|
/**
|
|
5
5
|
* Render text as 3D sketch outlines on a plane.
|
|
@@ -2,11 +2,11 @@ const require_shapeTypes = require("./shapeTypes-BLREi6xB.cjs");
|
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
4
4
|
const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
5
|
-
const require_shapeFns = require("./shapeFns-
|
|
6
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
5
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
6
|
+
const require_solidBuilders = require("./solidBuilders-BOMmoOg7.cjs");
|
|
7
7
|
const require_loftFns = require("./loftFns-BQktV4u4.cjs");
|
|
8
|
-
const require_refResolveFns = require("./refResolveFns-
|
|
9
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
8
|
+
const require_refResolveFns = require("./refResolveFns-Dku4ocdG.cjs");
|
|
9
|
+
const require_primitiveFns = require("./primitiveFns-ht0yFv6T.cjs");
|
|
10
10
|
//#region src/utils/uuid.ts
|
|
11
11
|
/** Generate a v4-style UUID string using `crypto.getRandomValues`. */
|
|
12
12
|
function uuidv() {
|
|
@@ -2,11 +2,11 @@ import { B as createKernelHandle, R as DisposalScope, Y as _usingCtx, Z as getKe
|
|
|
2
2
|
import { A as ok, T as isOk, b as err, d as validationError, n as computationError, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { d as vecNormalize, s as vecIsZero } from "./vecOps-SKPRvPH-.js";
|
|
4
4
|
import { y as fromBREP } from "./faceFns-Bc6sBrBV.js";
|
|
5
|
-
import { s as toBREP } from "./shapeFns-
|
|
6
|
-
import { h as fuseAll } from "./solidBuilders-
|
|
5
|
+
import { s as toBREP } from "./shapeFns-C2pdUzdd.js";
|
|
6
|
+
import { h as fuseAll } from "./solidBuilders-BsAa59Dz.js";
|
|
7
7
|
import { t as loft } from "./loftFns-CXc9tRv6.js";
|
|
8
|
-
import { c as resolveRefParams } from "./refResolveFns-
|
|
9
|
-
import { E as wire, h as line } from "./primitiveFns-
|
|
8
|
+
import { c as resolveRefParams } from "./refResolveFns-CEojVVeD.js";
|
|
9
|
+
import { E as wire, h as line } from "./primitiveFns-DiOCVk8q.js";
|
|
10
10
|
//#region src/utils/uuid.ts
|
|
11
11
|
/** Generate a v4-style UUID string using `crypto.getRandomValues`. */
|
|
12
12
|
function uuidv() {
|
package/dist/topology.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_topologyQueryFns = require("./topologyQueryFns-1PqfeHrV.cjs");
|
|
3
3
|
const require_faceFns = require("./faceFns-rbWcdpvj.cjs");
|
|
4
|
-
const require_shapeFns = require("./shapeFns-
|
|
4
|
+
const require_shapeFns = require("./shapeFns-B1OEuRBI.cjs");
|
|
5
5
|
const require_curveFns = require("./curveFns-CpaxYpa4.cjs");
|
|
6
|
-
const require_meshFns = require("./meshFns-
|
|
7
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
8
|
-
const require_healingFns = require("./healingFns-
|
|
6
|
+
const require_meshFns = require("./meshFns-BGmOr5aJ.cjs");
|
|
7
|
+
const require_solidBuilders = require("./solidBuilders-BOMmoOg7.cjs");
|
|
8
|
+
const require_healingFns = require("./healingFns-DQquJMYs.cjs");
|
|
9
9
|
const require_adjacencyFns = require("./adjacencyFns-COWMJ1OX.cjs");
|
|
10
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
10
|
+
const require_primitiveFns = require("./primitiveFns-ht0yFv6T.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
1
|
import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-BjgBf2t-.js";
|
|
2
2
|
import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, 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, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-Bc6sBrBV.js";
|
|
3
|
-
import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-
|
|
3
|
+
import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-C2pdUzdd.js";
|
|
4
4
|
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-pGQFlJG-.js";
|
|
5
|
-
import { d as createMeshCache, n as exportSTEP, r as exportSTL, t as exportIGES, u as clearMeshCache } from "./meshFns-
|
|
6
|
-
import { h as fuseAll, p as cutAll } from "./solidBuilders-
|
|
7
|
-
import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, g as variableFillet, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, n as fixSelfIntersection, o as healSolid, r as fixShape, s as healWire, t as autoHeal, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-
|
|
5
|
+
import { d as createMeshCache, n as exportSTEP, r as exportSTL, t as exportIGES, u as clearMeshCache } from "./meshFns-DVrZtr-f.js";
|
|
6
|
+
import { h as fuseAll, p as cutAll } from "./solidBuilders-BsAa59Dz.js";
|
|
7
|
+
import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, g as variableFillet, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, n as fixSelfIntersection, o as healSolid, r as fixShape, s as healWire, t as autoHeal, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-CCsV3Ug-.js";
|
|
8
8
|
import { a as sharedEdges, c as wiresOfFace, n as edgesOfFace, o as verticesOfEdge, r as facesOfEdge, t as adjacentFaces } from "./adjacencyFns-D026zKM3.js";
|
|
9
|
-
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-
|
|
9
|
+
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-DiOCVk8q.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 };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brepjs",
|
|
3
|
-
"version": "18.118.
|
|
3
|
+
"version": "18.118.3",
|
|
4
4
|
"description": "Web CAD library with pluggable geometry kernel",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cad",
|
|
@@ -259,14 +259,14 @@
|
|
|
259
259
|
"@size-limit/file": "12.1.0",
|
|
260
260
|
"@types/opentype.js": "1.3.9",
|
|
261
261
|
"@types/react": "19.2.17",
|
|
262
|
-
"@vitest/coverage-v8": "4.1.
|
|
262
|
+
"@vitest/coverage-v8": "4.1.9",
|
|
263
263
|
"brepjs-opencascade": "*",
|
|
264
264
|
"brepkit-wasm": "2.116.1",
|
|
265
265
|
"eslint": "10.5.0",
|
|
266
266
|
"fast-check": "4.8.0",
|
|
267
267
|
"husky": "9.1.7",
|
|
268
|
-
"knip": "6.
|
|
269
|
-
"lint-staged": "17.0.
|
|
268
|
+
"knip": "6.17.1",
|
|
269
|
+
"lint-staged": "17.0.8",
|
|
270
270
|
"lz-string": "1.5.0",
|
|
271
271
|
"occt-wasm": "3.6.0",
|
|
272
272
|
"prettier": "3.8.4",
|
|
@@ -275,10 +275,10 @@
|
|
|
275
275
|
"sucrase": "3.35.1",
|
|
276
276
|
"typedoc": "0.28.19",
|
|
277
277
|
"typescript": "6.0.3",
|
|
278
|
-
"typescript-eslint": "8.61.
|
|
278
|
+
"typescript-eslint": "8.61.1",
|
|
279
279
|
"vite": "8.0.16",
|
|
280
280
|
"vite-plugin-dts": "5.0.2",
|
|
281
|
-
"vitest": "4.1.
|
|
281
|
+
"vitest": "4.1.9"
|
|
282
282
|
},
|
|
283
283
|
"peerDependencies": {
|
|
284
284
|
"brepjs-manifold": "^0.1.0",
|