brepjs 18.107.0 → 18.109.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.
- package/dist/2d.cjs +6 -6
- package/dist/2d.js +6 -6
- package/dist/{blueprint-D5ArjKiA.cjs → blueprint-BwkD2qeC.cjs} +5 -5
- package/dist/{blueprint-CF12Nceg.js → blueprint-Dw0QqImu.js} +5 -5
- package/dist/{blueprintFns-CcCfkbyd.cjs → blueprintFns-B-aybpEo.cjs} +2 -2
- package/dist/{blueprintFns-BuPAK4OB.js → blueprintFns-BowWsZgJ.js} +2 -2
- package/dist/{blueprintSketcher-CEQ8s7TD.js → blueprintSketcher-7rtwqUHZ.js} +3 -3
- package/dist/{blueprintSketcher-DCttG3KS.cjs → blueprintSketcher-RK-cH6ps.cjs} +3 -3
- package/dist/{boolean2D-BCqDjg0y.cjs → boolean2D-CZUEOoAh.cjs} +4 -4
- package/dist/{boolean2D-8rB2sUzj.js → boolean2D-y0SSZfe2.js} +4 -4
- package/dist/brepjs.cjs +111 -27
- package/dist/brepjs.js +111 -27
- package/dist/{cameraFns-Bu6jgTKc.js → cameraFns-bk9e0F-T.js} +2 -2
- package/dist/{cameraFns-S7YbAxfg.cjs → cameraFns-uo1sZbBT.cjs} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-Ci2NbbAW.cjs → cornerFinder-B4q88TRb.cjs} +1 -1
- package/dist/{cornerFinder-COqoeY--.js → cornerFinder-DUGeBIvD.js} +1 -1
- package/dist/csg/evaluate.d.ts +25 -0
- package/dist/{curveFns-CG05Jygr.js → curveFns-CcSn4-Rf.js} +1 -1
- package/dist/{curveFns-Dx7_wMut.cjs → curveFns-DgUJpH4z.cjs} +1 -1
- package/dist/{drawFns-DYkjT_hx.cjs → drawFns-DNxs7PAT.cjs} +12 -12
- package/dist/{drawFns-CsXPFyDe.js → drawFns-SQIBls6p.js} +12 -12
- package/dist/{faceFns-mo4ThIHz.js → faceFns-B86WGqDg.js} +2 -2
- package/dist/{faceFns-DKg2St8b.cjs → faceFns-BV0GnTlt.cjs} +2 -2
- package/dist/{healingFns-OL0bBSSY.cjs → healingFns-C4UE1ZyM.cjs} +5 -5
- package/dist/{healingFns-C5AomW4j.js → healingFns-CPm_VFck.js} +5 -5
- package/dist/{helpers-8zxf2gkc.cjs → helpers-BSLPCflF.cjs} +6 -6
- package/dist/{helpers-DT44wBAD.js → helpers-DhJwFrkC.js} +6 -6
- package/dist/{importFns-B6hw9Nhx.cjs → importFns-CgMQIi0z.cjs} +2 -2
- package/dist/{importFns-CEczwPdN.js → importFns-nR9lEx22.js} +2 -2
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/brepkit/transformOps.d.ts +1 -0
- package/dist/kernel/interfaces/transformOps.d.ts +10 -0
- package/dist/kernel/occt/transformOps.d.ts +8 -0
- package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +1 -0
- package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
- package/dist/kernel/occtWasm/occtWasmTypes.d.ts +7 -0
- package/dist/kernel/occtWasm/transformOps.d.ts +7 -0
- package/dist/{loftFns-DyNuD9XL.js → loftFns-CmShFQlv.js} +1 -1
- package/dist/{loftFns-DaRDYpfB.cjs → loftFns-fpTmrIdd.cjs} +1 -1
- package/dist/{measureFns-Q2dnokUU.cjs → measureFns-DblG0Yaz.cjs} +3 -3
- package/dist/{measureFns-Dkh_DmrE.js → measureFns-a5Vx25or.js} +3 -3
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-BgF4Xesg.cjs → meshFns-1hQSn1p2.cjs} +9 -3
- package/dist/{meshFns-BvP9Tm5Q.js → meshFns-DbmidUzH.js} +4 -4
- package/dist/{occtWasmAdapter-DDZELjlB.cjs → occtWasmAdapter-B2TEQOjs.cjs} +38 -10
- package/dist/{occtWasmAdapter-BDEPveZs.js → occtWasmAdapter-CKwtxwNH.js} +38 -10
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-62SO4ti5.js → primitiveFns-CBrOyk5S.js} +4 -4
- package/dist/{primitiveFns-BAWtMd9H.cjs → primitiveFns-DLIWtQWA.cjs} +4 -4
- package/dist/projection.cjs +1 -1
- package/dist/projection.js +1 -1
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{shapeFns-DyBbhU30.js → shapeFns-DrZOVwHX.js} +44 -4
- package/dist/{shapeFns-L4a8kH_A.cjs → shapeFns-ybo0INGL.cjs} +55 -3
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeRefFns-Dij41NuC.cjs → shapeRefFns--2FPCL7P.cjs} +4 -4
- package/dist/{shapeRefFns-Cn4WNb3q.js → shapeRefFns-C1DefNzr.js} +4 -4
- package/dist/{shapeTypes-Bwgm5N6R.cjs → shapeTypes-BTTwjHy5.cjs} +18 -1
- package/dist/{shapeTypes-C4lPfrc2.js → shapeTypes-Dpu6mD3m.js} +18 -1
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-Biwv2cW3.js → solidBuilders-C32wXQWG.js} +5 -5
- package/dist/{solidBuilders-CgRmJEdn.cjs → solidBuilders-DiUv_mD0.cjs} +5 -5
- package/dist/{surfaceBuilders-FLnYYA70.cjs → surfaceBuilders-UyyfZy8w.cjs} +2 -2
- package/dist/{surfaceBuilders-Bww4jhBo.js → surfaceBuilders-rkE-jE90.js} +2 -2
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-CEzTC9vX.js → textBlueprints-BnkWAqwS.js} +7 -7
- package/dist/{textBlueprints-08NcMO9T.cjs → textBlueprints-D5lsZswr.cjs} +7 -7
- package/dist/{textMetrics-CBbDQ5QW.js → textMetrics-COGYk0LE.js} +1 -1
- package/dist/{textMetrics-W-H6jUDj.cjs → textMetrics-IC_IoI7l.cjs} +1 -1
- package/dist/{threadFns-DGYdomjN.cjs → threadFns-C8bErjVC.cjs} +6 -6
- package/dist/{threadFns-8rKpQXiR.js → threadFns-bCOhVQLb.js} +6 -6
- package/dist/topology/metadata/metadataPropagation.d.ts +21 -0
- package/dist/topology.cjs +8 -8
- package/dist/topology.js +8 -8
- package/dist/{topologyQueryFns-Do8E4EXj.js → topologyQueryFns-BeKaWpNm.js} +1 -1
- package/dist/{topologyQueryFns-ygBBXxnP.cjs → topologyQueryFns-CoXVHuN7.cjs} +1 -1
- package/package.json +1 -1
package/dist/2d.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
+
const require_shapeTypes = require("./shapeTypes-BTTwjHy5.cjs");
|
|
3
3
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
4
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
5
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
6
|
-
const require_blueprint = require("./blueprint-
|
|
7
|
-
const require_boolean2D = require("./boolean2D-
|
|
8
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
4
|
+
const require_topologyQueryFns = require("./topologyQueryFns-CoXVHuN7.cjs");
|
|
5
|
+
const require_blueprintSketcher = require("./blueprintSketcher-RK-cH6ps.cjs");
|
|
6
|
+
const require_blueprint = require("./blueprint-BwkD2qeC.cjs");
|
|
7
|
+
const require_boolean2D = require("./boolean2D-CZUEOoAh.cjs");
|
|
8
|
+
const require_blueprintFns = require("./blueprintFns-B-aybpEo.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
|
-
import { B as createKernelHandle, Q as getKernel2D, a as createEdge } from "./shapeTypes-
|
|
1
|
+
import { B as createKernelHandle, Q as getKernel2D, a as createEdge } from "./shapeTypes-Dpu6mD3m.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-
|
|
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-
|
|
3
|
+
import { w as kernelCallRaw } from "./topologyQueryFns-BeKaWpNm.js";
|
|
4
|
+
import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-7rtwqUHZ.js";
|
|
5
|
+
import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-Dw0QqImu.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-y0SSZfe2.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-BowWsZgJ.js";
|
|
8
8
|
//#region src/core/curve2dHandle.ts
|
|
9
9
|
/**
|
|
10
10
|
* Wrap a raw kernel 2D curve handle with brand + disposal tracking.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-BTTwjHy5.cjs");
|
|
2
2
|
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_types = require("./types-KjA8tY4Y.cjs");
|
|
6
6
|
const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
|
|
7
|
-
const require_faceFns = require("./faceFns-
|
|
8
|
-
const require_curveFns = require("./curveFns-
|
|
7
|
+
const require_faceFns = require("./faceFns-BV0GnTlt.cjs");
|
|
8
|
+
const require_curveFns = require("./curveFns-DgUJpH4z.cjs");
|
|
9
9
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
10
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
11
|
-
const require_helpers = require("./helpers-
|
|
10
|
+
const require_surfaceBuilders = require("./surfaceBuilders-UyyfZy8w.cjs");
|
|
11
|
+
const require_helpers = require("./helpers-BSLPCflF.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) {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { G as unregisterFromCleanup, Q as getKernel2D, U as registerForCleanup, Z as getKernel, a as createEdge, u as createWire } from "./shapeTypes-
|
|
1
|
+
import { G as unregisterFromCleanup, Q as getKernel2D, U as registerForCleanup, Z as getKernel, a as createEdge, u as createWire } from "./shapeTypes-Dpu6mD3m.js";
|
|
2
2
|
import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
3
3
|
import { A as ok, R as unwrap, b as err, d as validationError, h as bug, n as computationError } from "./errors-DNWJsfVU.js";
|
|
4
4
|
import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
5
5
|
import { r as toVec3 } from "./types-D24Y27N0.js";
|
|
6
6
|
import { r as makePlane } from "./planeOps-DSjjtrjg.js";
|
|
7
|
-
import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-
|
|
8
|
-
import { p as getOrientation } from "./curveFns-
|
|
7
|
+
import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-B86WGqDg.js";
|
|
8
|
+
import { p as getOrientation } from "./curveFns-CcSn4-Rf.js";
|
|
9
9
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
10
|
-
import { r as makeFace } from "./surfaceBuilders-
|
|
11
|
-
import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-
|
|
10
|
+
import { r as makeFace } from "./surfaceBuilders-rkE-jE90.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-DhJwFrkC.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
|
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-RK-cH6ps.cjs");
|
|
3
|
+
const require_blueprint = require("./blueprint-BwkD2qeC.cjs");
|
|
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
|
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-7rtwqUHZ.js";
|
|
3
|
+
import { t as Blueprint } from "./blueprint-Dw0QqImu.js";
|
|
4
4
|
//#region src/2d/lib/curve2dFns.ts
|
|
5
5
|
/**
|
|
6
6
|
* Return a reversed copy of the curve (non-mutating).
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Q as getKernel2D, Z as getKernel } from "./shapeTypes-
|
|
1
|
+
import { Q as getKernel2D, Z as getKernel } from "./shapeTypes-Dpu6mD3m.js";
|
|
2
2
|
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-DhJwFrkC.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-Dw0QqImu.js";
|
|
8
8
|
//#region node_modules/flatqueue/index.js
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-BTTwjHy5.cjs");
|
|
2
2
|
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-BSLPCflF.cjs");
|
|
7
|
+
const require_blueprint = require("./blueprint-BwkD2qeC.cjs");
|
|
8
8
|
//#region node_modules/flatqueue/index.js
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
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
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
5
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
6
|
-
const require_helpers = require("./helpers-
|
|
7
|
-
const require_blueprint = require("./blueprint-
|
|
4
|
+
const require_surfaceBuilders = require("./surfaceBuilders-UyyfZy8w.cjs");
|
|
5
|
+
const require_blueprintSketcher = require("./blueprintSketcher-RK-cH6ps.cjs");
|
|
6
|
+
const require_helpers = require("./helpers-BSLPCflF.cjs");
|
|
7
|
+
const require_blueprint = require("./blueprint-BwkD2qeC.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.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
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
|
-
import { v as zip } from "./surfaceBuilders-
|
|
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-
|
|
4
|
+
import { v as zip } from "./surfaceBuilders-rkE-jE90.js";
|
|
5
|
+
import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-7rtwqUHZ.js";
|
|
6
|
+
import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-DhJwFrkC.js";
|
|
7
|
+
import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-Dw0QqImu.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.
|
package/dist/brepjs.cjs
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
3
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
4
|
-
const require_occtWasmAdapter = require("./occtWasmAdapter-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-D5lsZswr.cjs");
|
|
3
|
+
const require_shapeTypes = require("./shapeTypes-BTTwjHy5.cjs");
|
|
4
|
+
const require_occtWasmAdapter = require("./occtWasmAdapter-B2TEQOjs.cjs");
|
|
5
5
|
const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
6
6
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
7
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
7
|
+
const require_topologyQueryFns = require("./topologyQueryFns-CoXVHuN7.cjs");
|
|
8
8
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
9
9
|
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
|
-
const require_faceFns = require("./faceFns-
|
|
13
|
-
const require_shapeFns = require("./shapeFns-
|
|
14
|
-
const require_curveFns = require("./curveFns-
|
|
15
|
-
const require_meshFns = require("./meshFns-
|
|
12
|
+
const require_faceFns = require("./faceFns-BV0GnTlt.cjs");
|
|
13
|
+
const require_shapeFns = require("./shapeFns-ybo0INGL.cjs");
|
|
14
|
+
const require_curveFns = require("./curveFns-DgUJpH4z.cjs");
|
|
15
|
+
const require_meshFns = require("./meshFns-1hQSn1p2.cjs");
|
|
16
16
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
17
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
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-
|
|
24
|
-
const require_measureFns = require("./measureFns-
|
|
25
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
26
|
-
const require_boolean2D = require("./boolean2D-
|
|
27
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
28
|
-
const require_importFns = require("./importFns-
|
|
29
|
-
const require_loftFns = require("./loftFns-
|
|
30
|
-
const require_cameraFns = require("./cameraFns-
|
|
31
|
-
const require_textMetrics = require("./textMetrics-
|
|
32
|
-
const require_shapeRefFns = require("./shapeRefFns
|
|
17
|
+
const require_surfaceBuilders = require("./surfaceBuilders-UyyfZy8w.cjs");
|
|
18
|
+
const require_solidBuilders = require("./solidBuilders-DiUv_mD0.cjs");
|
|
19
|
+
const require_healingFns = require("./healingFns-C4UE1ZyM.cjs");
|
|
20
|
+
const require_threadFns = require("./threadFns-C8bErjVC.cjs");
|
|
21
|
+
const require_blueprintSketcher = require("./blueprintSketcher-RK-cH6ps.cjs");
|
|
22
|
+
const require_helpers = require("./helpers-BSLPCflF.cjs");
|
|
23
|
+
const require_drawFns = require("./drawFns-DNxs7PAT.cjs");
|
|
24
|
+
const require_measureFns = require("./measureFns-DblG0Yaz.cjs");
|
|
25
|
+
const require_cornerFinder = require("./cornerFinder-B4q88TRb.cjs");
|
|
26
|
+
const require_boolean2D = require("./boolean2D-CZUEOoAh.cjs");
|
|
27
|
+
const require_blueprintFns = require("./blueprintFns-B-aybpEo.cjs");
|
|
28
|
+
const require_importFns = require("./importFns-CgMQIi0z.cjs");
|
|
29
|
+
const require_loftFns = require("./loftFns-fpTmrIdd.cjs");
|
|
30
|
+
const require_cameraFns = require("./cameraFns-uo1sZbBT.cjs");
|
|
31
|
+
const require_textMetrics = require("./textMetrics-IC_IoI7l.cjs");
|
|
32
|
+
const require_shapeRefFns = require("./shapeRefFns--2FPCL7P.cjs");
|
|
33
33
|
const require_workerPool = require("./workerPool-D30NsiIW.cjs");
|
|
34
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
34
|
+
const require_primitiveFns = require("./primitiveFns-DLIWtQWA.cjs");
|
|
35
35
|
//#region src/topology/shapeBooleans.ts
|
|
36
36
|
var BOPAlgo_GlueShift = 1;
|
|
37
37
|
var BOPAlgo_GlueFull = 2;
|
|
@@ -5665,13 +5665,45 @@ function emptyResult(kind) {
|
|
|
5665
5665
|
function optVec3(expr, env, where, fallback) {
|
|
5666
5666
|
return expr ? evalVec3(expr, env, where) : require_errors.ok(fallback);
|
|
5667
5667
|
}
|
|
5668
|
+
/**
|
|
5669
|
+
* Apply a rigid transform as a cheap location re-tag instead of a deep-copying
|
|
5670
|
+
* transform. The target is an evaluator-cached shape; `locate` returns a fresh,
|
|
5671
|
+
* independently-disposable handle (it shares the source geometry but holds its
|
|
5672
|
+
* own location), so the evaluator owns and disposes it like any other
|
|
5673
|
+
* materialized node. On kernels without a cheap-location path `locate` falls
|
|
5674
|
+
* back to a copy — same geometry, so cached output is unchanged.
|
|
5675
|
+
*
|
|
5676
|
+
* A location re-tag carries no kernel evolution record, so face metadata isn't
|
|
5677
|
+
* propagated automatically and the moved faces carry new (location-dependent)
|
|
5678
|
+
* hashes. Primitives have no metadata (pure O(1) locate); boolean results carry
|
|
5679
|
+
* face tags/colors, which we re-key onto the moved faces (1:1 by iteration
|
|
5680
|
+
* order, since locate shares the source TShape) so a move preserves them —
|
|
5681
|
+
* matching `scale`/`mirror`.
|
|
5682
|
+
*/
|
|
5683
|
+
function relocate(shape, ops) {
|
|
5684
|
+
const kernel = require_shapeTypes.getKernel();
|
|
5685
|
+
const { handle, dispose } = kernel.composeTransform(ops);
|
|
5686
|
+
let moved;
|
|
5687
|
+
try {
|
|
5688
|
+
moved = require_shapeTypes.castShape(kernel.locate(shape.wrapped, handle));
|
|
5689
|
+
} finally {
|
|
5690
|
+
dispose();
|
|
5691
|
+
}
|
|
5692
|
+
if (require_shapeFns.hasAnyMetadata(shape)) require_shapeFns.propagateMetadataThroughRelocation(shape, moved);
|
|
5693
|
+
return moved;
|
|
5694
|
+
}
|
|
5668
5695
|
function evalTranslate(node, ctx) {
|
|
5669
5696
|
if (node.target.kind === "Empty") return emptyResult("Translate");
|
|
5670
5697
|
const v = evalVec3(node.vector, ctx.env, "Translate.vector");
|
|
5671
5698
|
if (!v.ok) return v;
|
|
5672
5699
|
const r = ctx.evalNode(node.target);
|
|
5673
5700
|
if (!r.ok) return r;
|
|
5674
|
-
return require_errors.ok(
|
|
5701
|
+
return require_errors.ok(relocate(r.value, [{
|
|
5702
|
+
type: "translate",
|
|
5703
|
+
x: v.value[0],
|
|
5704
|
+
y: v.value[1],
|
|
5705
|
+
z: v.value[2]
|
|
5706
|
+
}]));
|
|
5675
5707
|
}
|
|
5676
5708
|
function evalRotate(node, ctx) {
|
|
5677
5709
|
if (node.target.kind === "Empty") return emptyResult("Rotate");
|
|
@@ -5691,7 +5723,12 @@ function evalRotate(node, ctx) {
|
|
|
5691
5723
|
if (!at.ok) return at;
|
|
5692
5724
|
const r = ctx.evalNode(node.target);
|
|
5693
5725
|
if (!r.ok) return r;
|
|
5694
|
-
return require_errors.ok(
|
|
5726
|
+
return require_errors.ok(relocate(r.value, [{
|
|
5727
|
+
type: "rotate",
|
|
5728
|
+
angle: a.value,
|
|
5729
|
+
axis: axis.value,
|
|
5730
|
+
center: at.value
|
|
5731
|
+
}]));
|
|
5695
5732
|
}
|
|
5696
5733
|
function evalScale(node, ctx) {
|
|
5697
5734
|
if (node.target.kind === "Empty") return emptyResult("Scale");
|
|
@@ -5807,6 +5844,8 @@ var Evaluator = class {
|
|
|
5807
5844
|
kernelId;
|
|
5808
5845
|
defaultTolerance;
|
|
5809
5846
|
maxCacheEntries;
|
|
5847
|
+
maxMeshCacheEntries;
|
|
5848
|
+
meshCache = /* @__PURE__ */ new Map();
|
|
5810
5849
|
onStep;
|
|
5811
5850
|
hits = 0;
|
|
5812
5851
|
misses = 0;
|
|
@@ -5818,6 +5857,9 @@ var Evaluator = class {
|
|
|
5818
5857
|
const max = options.maxCacheEntries;
|
|
5819
5858
|
if (max !== void 0 && (!Number.isInteger(max) || max < 1)) throw new RangeError(`Evaluator: maxCacheEntries must be a positive integer, got ${String(max)}`);
|
|
5820
5859
|
this.maxCacheEntries = max;
|
|
5860
|
+
const meshMax = options.maxMeshCacheEntries;
|
|
5861
|
+
if (meshMax !== void 0 && (!Number.isInteger(meshMax) || meshMax < 1)) throw new RangeError(`Evaluator: maxMeshCacheEntries must be a positive integer, got ${String(meshMax)}`);
|
|
5862
|
+
this.maxMeshCacheEntries = meshMax;
|
|
5821
5863
|
}
|
|
5822
5864
|
/**
|
|
5823
5865
|
* Materialize a CSG IR tree against the given parameter environment.
|
|
@@ -5846,6 +5888,40 @@ var Evaluator = class {
|
|
|
5846
5888
|
}
|
|
5847
5889
|
});
|
|
5848
5890
|
}
|
|
5891
|
+
/**
|
|
5892
|
+
* Materialize a node and mesh it, caching the mesh by the shape's content key
|
|
5893
|
+
* plus the mesh parameters. The mesh cache is independent of the shape cache:
|
|
5894
|
+
* a hit returns the cached mesh without evaluating or meshing — even after the
|
|
5895
|
+
* shape was LRU-evicted (a mesh is plain data, not a kernel handle). The
|
|
5896
|
+
* returned mesh is borrowed (do not mutate it); it stays valid for the
|
|
5897
|
+
* Evaluator's lifetime, or until `maxMeshCacheEntries` evicts it.
|
|
5898
|
+
*/
|
|
5899
|
+
evaluateMesh(node, env = {}, meshOpts = {}) {
|
|
5900
|
+
meshOpts.signal?.throwIfAborted();
|
|
5901
|
+
const useCache = meshOpts.cache ?? true;
|
|
5902
|
+
const quality = require_shapeTypes.qualityDeflection();
|
|
5903
|
+
const tolerance = meshOpts.tolerance ?? quality.tolerance;
|
|
5904
|
+
const angularTolerance = meshOpts.angularTolerance ?? quality.angularTolerance;
|
|
5905
|
+
const meshKey = `${cacheKey(node, env, this.kernelId, this.defaultTolerance)}|${require_meshFns.buildMeshCacheKey(tolerance, angularTolerance, meshOpts.skipNormals ?? false, meshOpts.includeUVs ?? false)}`;
|
|
5906
|
+
if (useCache) {
|
|
5907
|
+
const cached = this.meshCache.get(meshKey);
|
|
5908
|
+
if (cached !== void 0) {
|
|
5909
|
+
if (this.maxMeshCacheEntries !== void 0) {
|
|
5910
|
+
this.meshCache.delete(meshKey);
|
|
5911
|
+
this.meshCache.set(meshKey, cached);
|
|
5912
|
+
}
|
|
5913
|
+
return require_errors.ok(cached);
|
|
5914
|
+
}
|
|
5915
|
+
}
|
|
5916
|
+
const shape = this.evaluate(node, env);
|
|
5917
|
+
if (!shape.ok) return shape;
|
|
5918
|
+
const built = require_shapeTypes.withKernel(this.kernelId, () => require_meshFns.mesh(shape.value, meshOpts));
|
|
5919
|
+
if (useCache) {
|
|
5920
|
+
this.meshCache.set(meshKey, built);
|
|
5921
|
+
if (this.maxMeshCacheEntries !== void 0) this.trimMeshCache(this.maxMeshCacheEntries);
|
|
5922
|
+
}
|
|
5923
|
+
return require_errors.ok(built);
|
|
5924
|
+
}
|
|
5849
5925
|
evaluateInner(node, env) {
|
|
5850
5926
|
const key = cacheKey(node, env, this.kernelId, this.defaultTolerance);
|
|
5851
5927
|
const cached = this.cache.get(key);
|
|
@@ -5898,6 +5974,13 @@ var Evaluator = class {
|
|
|
5898
5974
|
if (shape !== void 0) this.releaseShape(shape);
|
|
5899
5975
|
}
|
|
5900
5976
|
}
|
|
5977
|
+
trimMeshCache(max) {
|
|
5978
|
+
while (this.meshCache.size > max) {
|
|
5979
|
+
const oldest = this.meshCache.keys().next();
|
|
5980
|
+
if (oldest.done) break;
|
|
5981
|
+
this.meshCache.delete(oldest.value);
|
|
5982
|
+
}
|
|
5983
|
+
}
|
|
5901
5984
|
rollbackPending() {
|
|
5902
5985
|
for (const key of this.pendingKeys) {
|
|
5903
5986
|
const shape = this.cache.get(key);
|
|
@@ -5923,6 +6006,7 @@ var Evaluator = class {
|
|
|
5923
6006
|
for (const shape of this.refCounts.keys()) shape[Symbol.dispose]();
|
|
5924
6007
|
this.refCounts.clear();
|
|
5925
6008
|
this.cache.clear();
|
|
6009
|
+
this.meshCache.clear();
|
|
5926
6010
|
}
|
|
5927
6011
|
};
|
|
5928
6012
|
/**
|
package/dist/brepjs.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { $ as getKernelCapabilities, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as registerKernel, b as closedWire, c as createSolid, ct as withQuality, d as isCompound, dt as supportsProjection, et as getKernelTier, f as isEdge, ft as BrepkitAdapter, g as isShell, h as isShape3D, ht as currentQuality, i as createCompound, it as prewarm, j as validSolid, k as planarFace, l as createVertex, lt as withTier, m as isShape1D, mt as resetPerformanceStats, n as castShape3D, nt as initFromManifold, o as createFace, ot as registerKernelTier, p as isFace, pt as getPerformanceStats, q as withScopeResult, rt as initFromOC, s as createShell, st as withKernel, t as castShape, tt as init, u as createWire, ut as supportsConstraintSketch, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-
|
|
2
|
-
import { D as DEFAULT_CAPABILITIES, O as EXACT_BREP_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-
|
|
1
|
+
import { $ as getKernelCapabilities, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as registerKernel, b as closedWire, c as createSolid, ct as withQuality, d as isCompound, dt as supportsProjection, et as getKernelTier, f as isEdge, ft as BrepkitAdapter, g as isShell, gt as qualityDeflection, h as isShape3D, ht as currentQuality, i as createCompound, it as prewarm, j as validSolid, k as planarFace, l as createVertex, lt as withTier, m as isShape1D, mt as resetPerformanceStats, n as castShape3D, nt as initFromManifold, o as createFace, ot as registerKernelTier, p as isFace, pt as getPerformanceStats, q as withScopeResult, rt as initFromOC, s as createShell, st as withKernel, t as castShape, tt as init, u as createWire, ut as supportsConstraintSketch, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-Dpu6mD3m.js";
|
|
2
|
+
import { D as DEFAULT_CAPABILITIES, O as EXACT_BREP_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-CKwtxwNH.js";
|
|
3
3
|
import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
4
4
|
import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
|
|
5
|
-
import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-
|
|
5
|
+
import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-BeKaWpNm.js";
|
|
6
6
|
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
7
7
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
|
|
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
|
-
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-
|
|
11
|
-
import { C as
|
|
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-
|
|
13
|
-
import { a as meshEdges$1, c as meshMultiLOD, i as mesh$1, l as
|
|
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-B86WGqDg.js";
|
|
11
|
+
import { A as getFaceOrigins, C as getFaceColor, D as getTagMetadata, E as getFaceTags, O as setTagMetadata, S as colorShape, T as findFacesByTag, _ as hasAnyMetadata, a as isSameShape, b as propagateMetadataThroughRelocation, c as applyMatrix$1, d as resize, f as rotate$2, h as translate$2, i as isEqualShape, j as setShapeOrigin, k as tagFaces, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$3, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$2, w as getShapeColor, x as colorFaces } from "./shapeFns-DrZOVwHX.js";
|
|
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-CcSn4-Rf.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-DbmidUzH.js";
|
|
14
14
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
15
|
-
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-
|
|
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 edgesOfFace, B as toLineGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, F as chamferDistAngle, I as toBufferGeometryData, L as toGroupedBufferGeometryData, M as sharedEdges, N as verticesOfEdge, O as getNurbsSurfaceData, P as wiresOfFace, R as toLODGeometryData, 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 facesOfEdge, k as adjacentFaces, 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, z as toLODGeometryLevels } from "./healingFns-
|
|
18
|
-
import { A as setJointValue, B as findNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatRotate, G as gridPattern, H as updateNode, I as addChild, J as createAssembly, K as linearPattern, L as collectShapes, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as countNodes, S as addJoint, T as jointTransform, U as walkAssembly, V as removeChild, W as circularPattern, _ 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 exportAssemblySTEP, 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 createAssemblyNode } 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
29
|
-
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-
|
|
30
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
31
|
-
import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-
|
|
15
|
+
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-rkE-jE90.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-C32wXQWG.js";
|
|
17
|
+
import { A as edgesOfFace, B as toLineGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, F as chamferDistAngle, I as toBufferGeometryData, L as toGroupedBufferGeometryData, M as sharedEdges, N as verticesOfEdge, O as getNurbsSurfaceData, P as wiresOfFace, R as toLODGeometryData, 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 facesOfEdge, k as adjacentFaces, 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, z as toLODGeometryLevels } from "./healingFns-CPm_VFck.js";
|
|
18
|
+
import { A as setJointValue, B as findNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatRotate, G as gridPattern, H as updateNode, I as addChild, J as createAssembly, K as linearPattern, L as collectShapes, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as countNodes, S as addJoint, T as jointTransform, U as walkAssembly, V as removeChild, W as circularPattern, _ 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 exportAssemblySTEP, 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 createAssemblyNode } from "./threadFns-bCOhVQLb.js";
|
|
19
|
+
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-7rtwqUHZ.js";
|
|
20
|
+
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DhJwFrkC.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-SQIBls6p.js";
|
|
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-a5Vx25or.js";
|
|
23
|
+
import { t as cornerFinder } from "./cornerFinder-DUGeBIvD.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-y0SSZfe2.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-BowWsZgJ.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-nR9lEx22.js";
|
|
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-CmShFQlv.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-BnkWAqwS.js";
|
|
29
|
+
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-bk9e0F-T.js";
|
|
30
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-COGYk0LE.js";
|
|
31
|
+
import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-C1DefNzr.js";
|
|
32
32
|
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";
|
|
33
|
-
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-
|
|
33
|
+
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-CBrOyk5S.js";
|
|
34
34
|
//#region \0rolldown/runtime.js
|
|
35
35
|
var __defProp = Object.defineProperty;
|
|
36
36
|
var __exportAll = (all, no_symbols) => {
|
|
@@ -5668,13 +5668,45 @@ function emptyResult(kind) {
|
|
|
5668
5668
|
function optVec3(expr, env, where, fallback) {
|
|
5669
5669
|
return expr ? evalVec3(expr, env, where) : ok(fallback);
|
|
5670
5670
|
}
|
|
5671
|
+
/**
|
|
5672
|
+
* Apply a rigid transform as a cheap location re-tag instead of a deep-copying
|
|
5673
|
+
* transform. The target is an evaluator-cached shape; `locate` returns a fresh,
|
|
5674
|
+
* independently-disposable handle (it shares the source geometry but holds its
|
|
5675
|
+
* own location), so the evaluator owns and disposes it like any other
|
|
5676
|
+
* materialized node. On kernels without a cheap-location path `locate` falls
|
|
5677
|
+
* back to a copy — same geometry, so cached output is unchanged.
|
|
5678
|
+
*
|
|
5679
|
+
* A location re-tag carries no kernel evolution record, so face metadata isn't
|
|
5680
|
+
* propagated automatically and the moved faces carry new (location-dependent)
|
|
5681
|
+
* hashes. Primitives have no metadata (pure O(1) locate); boolean results carry
|
|
5682
|
+
* face tags/colors, which we re-key onto the moved faces (1:1 by iteration
|
|
5683
|
+
* order, since locate shares the source TShape) so a move preserves them —
|
|
5684
|
+
* matching `scale`/`mirror`.
|
|
5685
|
+
*/
|
|
5686
|
+
function relocate(shape, ops) {
|
|
5687
|
+
const kernel = getKernel();
|
|
5688
|
+
const { handle, dispose } = kernel.composeTransform(ops);
|
|
5689
|
+
let moved;
|
|
5690
|
+
try {
|
|
5691
|
+
moved = castShape(kernel.locate(shape.wrapped, handle));
|
|
5692
|
+
} finally {
|
|
5693
|
+
dispose();
|
|
5694
|
+
}
|
|
5695
|
+
if (hasAnyMetadata(shape)) propagateMetadataThroughRelocation(shape, moved);
|
|
5696
|
+
return moved;
|
|
5697
|
+
}
|
|
5671
5698
|
function evalTranslate(node, ctx) {
|
|
5672
5699
|
if (node.target.kind === "Empty") return emptyResult("Translate");
|
|
5673
5700
|
const v = evalVec3(node.vector, ctx.env, "Translate.vector");
|
|
5674
5701
|
if (!v.ok) return v;
|
|
5675
5702
|
const r = ctx.evalNode(node.target);
|
|
5676
5703
|
if (!r.ok) return r;
|
|
5677
|
-
return ok(
|
|
5704
|
+
return ok(relocate(r.value, [{
|
|
5705
|
+
type: "translate",
|
|
5706
|
+
x: v.value[0],
|
|
5707
|
+
y: v.value[1],
|
|
5708
|
+
z: v.value[2]
|
|
5709
|
+
}]));
|
|
5678
5710
|
}
|
|
5679
5711
|
function evalRotate(node, ctx) {
|
|
5680
5712
|
if (node.target.kind === "Empty") return emptyResult("Rotate");
|
|
@@ -5694,7 +5726,12 @@ function evalRotate(node, ctx) {
|
|
|
5694
5726
|
if (!at.ok) return at;
|
|
5695
5727
|
const r = ctx.evalNode(node.target);
|
|
5696
5728
|
if (!r.ok) return r;
|
|
5697
|
-
return ok(
|
|
5729
|
+
return ok(relocate(r.value, [{
|
|
5730
|
+
type: "rotate",
|
|
5731
|
+
angle: a.value,
|
|
5732
|
+
axis: axis.value,
|
|
5733
|
+
center: at.value
|
|
5734
|
+
}]));
|
|
5698
5735
|
}
|
|
5699
5736
|
function evalScale(node, ctx) {
|
|
5700
5737
|
if (node.target.kind === "Empty") return emptyResult("Scale");
|
|
@@ -5810,6 +5847,8 @@ var Evaluator = class {
|
|
|
5810
5847
|
kernelId;
|
|
5811
5848
|
defaultTolerance;
|
|
5812
5849
|
maxCacheEntries;
|
|
5850
|
+
maxMeshCacheEntries;
|
|
5851
|
+
meshCache = /* @__PURE__ */ new Map();
|
|
5813
5852
|
onStep;
|
|
5814
5853
|
hits = 0;
|
|
5815
5854
|
misses = 0;
|
|
@@ -5821,6 +5860,9 @@ var Evaluator = class {
|
|
|
5821
5860
|
const max = options.maxCacheEntries;
|
|
5822
5861
|
if (max !== void 0 && (!Number.isInteger(max) || max < 1)) throw new RangeError(`Evaluator: maxCacheEntries must be a positive integer, got ${String(max)}`);
|
|
5823
5862
|
this.maxCacheEntries = max;
|
|
5863
|
+
const meshMax = options.maxMeshCacheEntries;
|
|
5864
|
+
if (meshMax !== void 0 && (!Number.isInteger(meshMax) || meshMax < 1)) throw new RangeError(`Evaluator: maxMeshCacheEntries must be a positive integer, got ${String(meshMax)}`);
|
|
5865
|
+
this.maxMeshCacheEntries = meshMax;
|
|
5824
5866
|
}
|
|
5825
5867
|
/**
|
|
5826
5868
|
* Materialize a CSG IR tree against the given parameter environment.
|
|
@@ -5849,6 +5891,40 @@ var Evaluator = class {
|
|
|
5849
5891
|
}
|
|
5850
5892
|
});
|
|
5851
5893
|
}
|
|
5894
|
+
/**
|
|
5895
|
+
* Materialize a node and mesh it, caching the mesh by the shape's content key
|
|
5896
|
+
* plus the mesh parameters. The mesh cache is independent of the shape cache:
|
|
5897
|
+
* a hit returns the cached mesh without evaluating or meshing — even after the
|
|
5898
|
+
* shape was LRU-evicted (a mesh is plain data, not a kernel handle). The
|
|
5899
|
+
* returned mesh is borrowed (do not mutate it); it stays valid for the
|
|
5900
|
+
* Evaluator's lifetime, or until `maxMeshCacheEntries` evicts it.
|
|
5901
|
+
*/
|
|
5902
|
+
evaluateMesh(node, env = {}, meshOpts = {}) {
|
|
5903
|
+
meshOpts.signal?.throwIfAborted();
|
|
5904
|
+
const useCache = meshOpts.cache ?? true;
|
|
5905
|
+
const quality = qualityDeflection();
|
|
5906
|
+
const tolerance = meshOpts.tolerance ?? quality.tolerance;
|
|
5907
|
+
const angularTolerance = meshOpts.angularTolerance ?? quality.angularTolerance;
|
|
5908
|
+
const meshKey = `${cacheKey(node, env, this.kernelId, this.defaultTolerance)}|${buildMeshCacheKey(tolerance, angularTolerance, meshOpts.skipNormals ?? false, meshOpts.includeUVs ?? false)}`;
|
|
5909
|
+
if (useCache) {
|
|
5910
|
+
const cached = this.meshCache.get(meshKey);
|
|
5911
|
+
if (cached !== void 0) {
|
|
5912
|
+
if (this.maxMeshCacheEntries !== void 0) {
|
|
5913
|
+
this.meshCache.delete(meshKey);
|
|
5914
|
+
this.meshCache.set(meshKey, cached);
|
|
5915
|
+
}
|
|
5916
|
+
return ok(cached);
|
|
5917
|
+
}
|
|
5918
|
+
}
|
|
5919
|
+
const shape = this.evaluate(node, env);
|
|
5920
|
+
if (!shape.ok) return shape;
|
|
5921
|
+
const built = withKernel(this.kernelId, () => mesh$1(shape.value, meshOpts));
|
|
5922
|
+
if (useCache) {
|
|
5923
|
+
this.meshCache.set(meshKey, built);
|
|
5924
|
+
if (this.maxMeshCacheEntries !== void 0) this.trimMeshCache(this.maxMeshCacheEntries);
|
|
5925
|
+
}
|
|
5926
|
+
return ok(built);
|
|
5927
|
+
}
|
|
5852
5928
|
evaluateInner(node, env) {
|
|
5853
5929
|
const key = cacheKey(node, env, this.kernelId, this.defaultTolerance);
|
|
5854
5930
|
const cached = this.cache.get(key);
|
|
@@ -5901,6 +5977,13 @@ var Evaluator = class {
|
|
|
5901
5977
|
if (shape !== void 0) this.releaseShape(shape);
|
|
5902
5978
|
}
|
|
5903
5979
|
}
|
|
5980
|
+
trimMeshCache(max) {
|
|
5981
|
+
while (this.meshCache.size > max) {
|
|
5982
|
+
const oldest = this.meshCache.keys().next();
|
|
5983
|
+
if (oldest.done) break;
|
|
5984
|
+
this.meshCache.delete(oldest.value);
|
|
5985
|
+
}
|
|
5986
|
+
}
|
|
5904
5987
|
rollbackPending() {
|
|
5905
5988
|
for (const key of this.pendingKeys) {
|
|
5906
5989
|
const shape = this.cache.get(key);
|
|
@@ -5926,6 +6009,7 @@ var Evaluator = class {
|
|
|
5926
6009
|
for (const shape of this.refCounts.keys()) shape[Symbol.dispose]();
|
|
5927
6010
|
this.refCounts.clear();
|
|
5928
6011
|
this.cache.clear();
|
|
6012
|
+
this.meshCache.clear();
|
|
5929
6013
|
}
|
|
5930
6014
|
};
|
|
5931
6015
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Z as getKernel, t as castShape } from "./shapeTypes-
|
|
1
|
+
import { Z as getKernel, t as castShape } from "./shapeTypes-Dpu6mD3m.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError } from "./errors-DNWJsfVU.js";
|
|
3
|
-
import { s as getEdges } from "./topologyQueryFns-
|
|
3
|
+
import { s as getEdges } from "./topologyQueryFns-BeKaWpNm.js";
|
|
4
4
|
import { c as vecLength, d as vecNormalize, g as vecSub, r as vecCross } from "./vecOps-SKPRvPH-.js";
|
|
5
5
|
//#region src/projection/projectionPlanes.ts
|
|
6
6
|
/** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-BTTwjHy5.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-CoXVHuN7.cjs");
|
|
4
4
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
5
5
|
//#region src/projection/projectionPlanes.ts
|
|
6
6
|
/** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
|