brepjs 13.4.0 → 14.1.2
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 +15 -14
- package/dist/2d.js +6 -5
- package/dist/arrayAccess-CmulMesb.cjs +40 -0
- package/dist/arrayAccess-xxcB3YNq.js +23 -0
- package/dist/{blueprint-CB_85Lz_.js → blueprint-B3A5x7P9.js} +9 -9
- package/dist/{blueprint-CDnBM-tA.cjs → blueprint-D0XChcek.cjs} +13 -13
- package/dist/{blueprintFns-DVDommWB.js → blueprintFns-BwAMXY3t.js} +4 -125
- package/dist/{blueprintFns-D4YucGaQ.cjs → blueprintFns-COrEYX29.cjs} +3 -142
- package/dist/{boolean2D-lqfKJKUY.cjs → boolean2D-BPsyKImE.cjs} +19 -18
- package/dist/{boolean2D-Mzp-0g7o.js → boolean2D-D_Te-6N6.js} +12 -11
- package/dist/{booleanFns-Bw8sAMgI.cjs → booleanFns-B6M6Lm0V.cjs} +24 -22
- package/dist/{booleanFns-B46fgObh.js → booleanFns-CgsaJFBf.js} +8 -6
- package/dist/brepjs.cjs +301 -90
- package/dist/brepjs.js +189 -26
- package/dist/constants-B9u763C3.js +9 -0
- package/dist/constants-unWN8k4c.cjs +26 -0
- package/dist/core/errors.d.ts +5 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/kernelCall.d.ts.map +1 -1
- package/dist/core/kernelErrorTranslation.d.ts +2 -0
- package/dist/core/kernelErrorTranslation.d.ts.map +1 -1
- package/dist/core.cjs +8 -7
- package/dist/core.js +5 -4
- package/dist/{cornerFinder-aBLykolI.js → cornerFinder-AEFnAxt4.js} +3 -3
- package/dist/{cornerFinder-BszIcLqj.cjs → cornerFinder-DTt_SvtC.cjs} +4 -4
- package/dist/{curveFns-DY4dFcP-.js → curveFns-CcInoOEA.js} +2 -2
- package/dist/{curveFns-CZszKLQB.cjs → curveFns-DCEcwcpd.cjs} +2 -2
- package/dist/{drawFns-BHNDF8hb.cjs → drawFns-BOwBIzPa.cjs} +34 -17
- package/dist/{drawFns-l5CY2s-l.js → drawFns-n9qif7QN.js} +16 -14
- package/dist/{errors-BlC5ZWv4.cjs → errors-9zQcQK1H.cjs} +28 -0
- package/dist/{errors-BVOlxlIA.js → errors-C-cgQA3w.js} +23 -1
- package/dist/{extrudeFns-b0uLn4E4.js → extrudeFns-DrDr9-nU.js} +3 -3
- package/dist/{extrudeFns-GpCB_Uzs.cjs → extrudeFns-Rcut7h8S.cjs} +3 -3
- package/dist/{faceFns-Cat-4X74.js → faceFns-TSH54pPQ.js} +93 -3
- package/dist/{faceFns-BywUjlJ7.cjs → faceFns-cE2WxY6I.cjs} +110 -2
- package/dist/{helpers-1iCCEElA.cjs → helpers-DZje6XWE.cjs} +18 -17
- package/dist/{helpers-DgX1UucG.js → helpers-XrXlKm8D.js} +8 -7
- package/dist/{historyFns-BFwp8NLX.js → historyFns-2hCWrX_X.js} +10 -10
- package/dist/{historyFns-DqxDtXIZ.cjs → historyFns-BiQ9dmzp.cjs} +10 -10
- package/dist/{importFns-ChXEJAvu.cjs → importFns-DGE5nCSW.cjs} +4 -4
- package/dist/{importFns-Cb8fcldB.js → importFns-m0xyj0Zt.js} +4 -4
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/brepkit/brepkitAdapter.d.ts +149 -242
- package/dist/kernel/brepkit/brepkitAdapter.d.ts.map +1 -1
- package/dist/kernel/brepkit/evolutionOps.d.ts +1 -0
- package/dist/kernel/brepkit/evolutionOps.d.ts.map +1 -1
- package/dist/kernel/index.d.ts +1 -1
- package/dist/kernel/index.d.ts.map +1 -1
- package/dist/{measureFns-D3rAp1X1.js → measureFns-DHByqdmn.js} +9 -16
- package/dist/{measureFns-Bx-kl7_g.cjs → measureFns-D_QKZ5yg.cjs} +9 -16
- package/dist/measurement/measureFns.d.ts.map +1 -1
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-D3KAZ_ma.cjs → meshFns-CVe3Kc77.cjs} +4 -4
- package/dist/{meshFns-BPi0bhm9.js → meshFns-DL4Djz3w.js} +3 -3
- package/dist/ns/booleans.d.ts +10 -0
- package/dist/ns/booleans.d.ts.map +1 -0
- package/dist/ns/construction.d.ts +10 -0
- package/dist/ns/construction.d.ts.map +1 -0
- package/dist/ns/ioNs.d.ts +18 -0
- package/dist/ns/ioNs.d.ts.map +1 -0
- package/dist/ns/measurement.d.ts +6 -0
- package/dist/ns/measurement.d.ts.map +1 -0
- package/dist/ns/modifiers.d.ts +6 -0
- package/dist/ns/modifiers.d.ts.map +1 -0
- package/dist/ns/patterns.d.ts +5 -0
- package/dist/ns/patterns.d.ts.map +1 -0
- package/dist/ns/primitives.d.ts +7 -0
- package/dist/ns/primitives.d.ts.map +1 -0
- package/dist/ns/query.d.ts +6 -0
- package/dist/ns/query.d.ts.map +1 -0
- package/dist/ns/transforms.d.ts +5 -0
- package/dist/ns/transforms.d.ts.map +1 -0
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{planeOps-BqLav0Ir.cjs → planeOps-6Wu7dMDN.cjs} +4 -3
- package/dist/{planeOps-D88tfyJs.js → planeOps-gTOEarV2.js} +3 -2
- package/dist/{primitiveFns-BGh9A9jR.cjs → primitiveFns-CRPGjIFg.cjs} +69 -69
- package/dist/{primitiveFns-CnZkW6Bi.js → primitiveFns-CeKiYSSW.js} +7 -7
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/result.cjs +1 -1
- package/dist/result.js +1 -1
- package/dist/{arrayAccess-B5LgmXBo.js → shapeFns-DCi9O27X.js} +8 -30
- package/dist/{arrayAccess-t2dlxGSK.cjs → shapeFns-aEeSHNqX.cjs} +24 -64
- package/dist/shapeRef.cjs +8 -0
- package/dist/shapeRef.d.ts +5 -0
- package/dist/shapeRef.d.ts.map +1 -0
- package/dist/shapeRef.js +2 -0
- package/dist/shapeRefFns-B1TODUMl.js +194 -0
- package/dist/shapeRefFns-CVdS6jWS.cjs +229 -0
- package/dist/{shapeTypes-Di6GlhPk.js → shapeTypes-BO1aiDhi.js} +2642 -2546
- package/dist/{shapeTypes-8eK48l-X.cjs → shapeTypes-BqWQlrYE.cjs} +2642 -2546
- package/dist/sketching.cjs +2 -2
- package/dist/sketching.js +2 -2
- package/dist/{solidBuilders-D9KYP9sL.cjs → solidBuilders-0iVdiZUw.cjs} +3 -3
- package/dist/{solidBuilders-ctO_wFrm.js → solidBuilders-jk7HfWs8.js} +3 -3
- package/dist/{surfaceBuilders-CZzipftq.cjs → surfaceBuilders-C_8rs79F.cjs} +3 -3
- package/dist/{surfaceBuilders-BaqeZa0x.js → surfaceBuilders-DE5e6bp8.js} +3 -3
- package/dist/topology/api.d.ts +3 -3
- package/dist/topology/api.d.ts.map +1 -1
- package/dist/topology/shapeFns.d.ts +4 -3
- package/dist/topology/shapeFns.d.ts.map +1 -1
- package/dist/topology/shapeRef/index.d.ts +7 -0
- package/dist/topology/shapeRef/index.d.ts.map +1 -0
- package/dist/topology/shapeRef/scoring.d.ts +16 -0
- package/dist/topology/shapeRef/scoring.d.ts.map +1 -0
- package/dist/topology/shapeRef/shapeRefFns.d.ts +47 -0
- package/dist/topology/shapeRef/shapeRefFns.d.ts.map +1 -0
- package/dist/topology/shapeRef/shapeRefTypes.d.ts +40 -0
- package/dist/topology/shapeRef/shapeRefTypes.d.ts.map +1 -0
- package/dist/topology.cjs +20 -20
- package/dist/topology.js +6 -6
- package/dist/{vecOps-DKGelwGL.cjs → vecOps-BXvBYIor.cjs} +0 -26
- package/dist/{vecOps-DFfUfsmc.js → vecOps-D9etjPgV.js} +1 -9
- package/dist/vectors.cjs +5 -4
- package/dist/vectors.js +3 -2
- package/dist/worker.cjs +1 -1
- package/dist/worker.js +1 -1
- package/package.json +14 -4
- /package/dist/{workerHandler-nLkvSOKX.cjs → workerHandler-C-7OUJsa.cjs} +0 -0
- /package/dist/{workerHandler-BrOTzYRI.js → workerHandler-o2xzAfFk.js} +0 -0
package/dist/sketching.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_drawFns = require("./drawFns-
|
|
3
|
-
const require_boolean2D = require("./boolean2D-
|
|
2
|
+
const require_drawFns = require("./drawFns-BOwBIzPa.cjs");
|
|
3
|
+
const require_boolean2D = require("./boolean2D-BPsyKImE.cjs");
|
|
4
4
|
//#region src/sketching.ts
|
|
5
5
|
/**
|
|
6
6
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
package/dist/sketching.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as FaceSketcher, f as Sketch, l as BaseSketcher2d, u as BlueprintSketcher } from "./boolean2D-
|
|
2
|
-
import { $ as sketchFaceOffset, A as DrawingPen, B as drawSingleCircle, F as drawParametricFunction, H as drawText, I as drawPointsInterpolation, L as drawPolysides, M as draw, N as drawCircle, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, V as drawSingleEllipse, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, at as Sketcher, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, k as Drawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-
|
|
1
|
+
import { d as FaceSketcher, f as Sketch, l as BaseSketcher2d, u as BlueprintSketcher } from "./boolean2D-D_Te-6N6.js";
|
|
2
|
+
import { $ as sketchFaceOffset, A as DrawingPen, B as drawSingleCircle, F as drawParametricFunction, H as drawText, I as drawPointsInterpolation, L as drawPolysides, M as draw, N as drawCircle, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, V as drawSingleEllipse, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, at as Sketcher, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, k as Drawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-n9qif7QN.js";
|
|
3
3
|
//#region src/sketching.ts
|
|
4
4
|
/**
|
|
5
5
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_errors = require("./errors-
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-BqWQlrYE.cjs");
|
|
2
|
+
const require_errors = require("./errors-9zQcQK1H.cjs");
|
|
3
|
+
const require_faceFns = require("./faceFns-cE2WxY6I.cjs");
|
|
4
4
|
//#region src/topology/shapeUtils.ts
|
|
5
5
|
/**
|
|
6
6
|
* Shape assembly utilities — welding and sewing operations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Y as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-
|
|
2
|
-
import {
|
|
3
|
-
import { _ as downcast, g as cast } from "./faceFns-
|
|
1
|
+
import { Y as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-BO1aiDhi.js";
|
|
2
|
+
import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-C-cgQA3w.js";
|
|
3
|
+
import { _ as downcast, g as cast } from "./faceFns-TSH54pPQ.js";
|
|
4
4
|
//#region src/topology/shapeUtils.ts
|
|
5
5
|
/**
|
|
6
6
|
* Shape assembly utilities — welding and sewing operations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_errors = require("./errors-
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-BqWQlrYE.cjs");
|
|
2
|
+
const require_errors = require("./errors-9zQcQK1H.cjs");
|
|
3
|
+
const require_faceFns = require("./faceFns-cE2WxY6I.cjs");
|
|
4
4
|
//#region src/utils/range.ts
|
|
5
5
|
/** Generate an array of integers `[0, 1, …, len - 1]`. */
|
|
6
6
|
function range(len) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Y as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-
|
|
2
|
-
import {
|
|
3
|
-
import { g as cast, l as outerWire } from "./faceFns-
|
|
1
|
+
import { Y as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-BO1aiDhi.js";
|
|
2
|
+
import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-C-cgQA3w.js";
|
|
3
|
+
import { g as cast, l as outerWire } from "./faceFns-TSH54pPQ.js";
|
|
4
4
|
//#region src/utils/range.ts
|
|
5
5
|
/** Generate an array of integers `[0, 1, …, len - 1]`. */
|
|
6
6
|
function range(len) {
|
package/dist/topology/api.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export interface ScaleOptions {
|
|
|
36
36
|
/** Scale a shape uniformly. Returns a new shape. */
|
|
37
37
|
export declare function scale<T extends AnyShape<Dimension>>(shape: Shapeable<T>, factor: number, options?: ScaleOptions): T;
|
|
38
38
|
/** Clone a shape (deep copy). */
|
|
39
|
-
export declare function clone<T extends AnyShape<Dimension>>(shape: Shapeable<T>): T
|
|
39
|
+
export declare function clone<T extends AnyShape<Dimension>>(shape: Shapeable<T>): Result<T>;
|
|
40
40
|
/**
|
|
41
41
|
* Apply a 4x4 affine transformation matrix to a shape.
|
|
42
42
|
* Equivalent to OpenSCAD's `multmatrix`.
|
|
@@ -104,7 +104,7 @@ export declare function draft<T extends ValidSolid>(shape: Shapeable<T>, faces:
|
|
|
104
104
|
/** Heal a shape using the appropriate fixer. */
|
|
105
105
|
export declare function heal<T extends AnyShape<Dimension>>(shape: Shapeable<T>): Result<T>;
|
|
106
106
|
/** Simplify a shape by merging same-domain faces/edges. */
|
|
107
|
-
export declare function simplify<T extends AnyShape<Dimension>>(shape: Shapeable<T>): T
|
|
107
|
+
export declare function simplify<T extends AnyShape<Dimension>>(shape: Shapeable<T>): Result<T>;
|
|
108
108
|
/** Mesh a shape for rendering. */
|
|
109
109
|
export declare function mesh(shape: Shapeable<AnyShape<Dimension>>, options?: meshing.MeshOptions & {
|
|
110
110
|
skipNormals?: boolean;
|
|
@@ -118,7 +118,7 @@ export declare function meshEdges(shape: Shapeable<AnyShape<Dimension>>, options
|
|
|
118
118
|
/** Get a summary description of a shape. */
|
|
119
119
|
export declare function describe(shape: Shapeable<AnyShape<Dimension>>): transforms.ShapeDescription;
|
|
120
120
|
/** Serialize a shape to BREP format. */
|
|
121
|
-
export declare function toBREP(shape: Shapeable<AnyShape<Dimension>>): string
|
|
121
|
+
export declare function toBREP(shape: Shapeable<AnyShape<Dimension>>): Result<string>;
|
|
122
122
|
/** Deserialize a shape from BREP format. */
|
|
123
123
|
export declare function fromBREP(data: string): Result<AnyShape<Dimension>>;
|
|
124
124
|
/** Check if a shape is valid. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/topology/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACb,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAI5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,0DAA0D;AAC1D,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAExF;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,6CAA6C;IAC7C,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,+EAA+E;AAC/E,wBAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,CAAC,CAGH;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,wCAAwC;IACxC,EAAE,CAAC,EAAE,IAAI,CAAC;CACX;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,CAAC,CAGH;AAED,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,IAAI,CAAC;CACf;AAED,oDAAoD;AACpD,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EACjD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACrB,CAAC,CAEH;AAED,iCAAiC;AACjC,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/topology/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AnyShape, Dimension } from '../core/shapeTypes.js';
|
|
2
|
+
import { Result } from '../core/result.js';
|
|
2
3
|
/** Clone a shape (deep copy via kernel topology downcast). */
|
|
3
|
-
export declare function clone<T extends AnyShape<Dimension>>(shape: T): T
|
|
4
|
+
export declare function clone<T extends AnyShape<Dimension>>(shape: T): Result<T>;
|
|
4
5
|
/** Serialize a shape to BREP string format. */
|
|
5
|
-
export declare function toBREP(shape: AnyShape<Dimension>): string
|
|
6
|
+
export declare function toBREP(shape: AnyShape<Dimension>): Result<string>;
|
|
6
7
|
/** Get the topology hash code of a shape. */
|
|
7
8
|
export declare function getHashCode(shape: AnyShape<Dimension>): number;
|
|
8
9
|
/** Check if a shape is null. */
|
|
@@ -12,7 +13,7 @@ export declare function isSameShape(a: AnyShape<Dimension>, b: AnyShape<Dimensio
|
|
|
12
13
|
/** Check if two shapes are geometrically equal. */
|
|
13
14
|
export declare function isEqualShape(a: AnyShape<Dimension>, b: AnyShape<Dimension>): boolean;
|
|
14
15
|
/** Simplify a shape by merging same-domain faces/edges. Returns a new shape. */
|
|
15
|
-
export declare function simplify<T extends AnyShape<Dimension>>(shape: T): T
|
|
16
|
+
export declare function simplify<T extends AnyShape<Dimension>>(shape: T): Result<T>;
|
|
16
17
|
export { translate, rotate, mirror, scale, resize, applyMatrix, composeTransforms, transformCopy, } from './transformFns.js';
|
|
17
18
|
export type { TransformOp, ComposedTransform } from './transformFns.js';
|
|
18
19
|
export { getEdges, getFaces, getWires, getVertices, iterEdges, iterFaces, iterWires, iterVertices, getBounds, getCachedShapeKind, describe, vertexPosition, invalidateShapeCache, } from './topologyQueryFns.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,8DAA8D;AAC9D,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAMxE;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAMjE;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAE9D;AAED,gCAAgC;AAChC,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAE3D;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAEnF;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAEpF;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAM3E;AAMD,OAAO,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EACL,cAAc,EACd,cAAc,EACd,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ShapeRef — stable, serializable face references for parametric replay.
|
|
3
|
+
*/
|
|
4
|
+
export type { GeometricHint, ShapeRef, RoleTable, ResolvedRef, BrokenRef, } from './shapeRefTypes.js';
|
|
5
|
+
export { type FaceScorer, defaultScorer } from './scoring.js';
|
|
6
|
+
export { captureHint, assignRoles, createRef, updateRoles, resolveRef } from './shapeRefFns.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/topology/shapeRef/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GeometricHint } from './shapeRefTypes.js';
|
|
2
|
+
import { Face } from '../../core/shapeTypes.js';
|
|
3
|
+
/** Scoring function: higher score = better match. Returns -Infinity to reject. */
|
|
4
|
+
export type FaceScorer = (hint: GeometricHint, face: Face) => number;
|
|
5
|
+
/**
|
|
6
|
+
* Default face scorer combining surface type, normal alignment, centroid proximity,
|
|
7
|
+
* and area similarity.
|
|
8
|
+
*
|
|
9
|
+
* Scoring breakdown:
|
|
10
|
+
* - Surface type match: +1.0 (mismatch when both defined: -Infinity)
|
|
11
|
+
* - Normal dot product: weighted contribution (rejected if < 0.707)
|
|
12
|
+
* - Centroid distance: quadratic penalty (rejected if distSq > 100)
|
|
13
|
+
* - Area ratio: penalized if |log(hintArea / faceArea)| > 1.0
|
|
14
|
+
*/
|
|
15
|
+
export declare function defaultScorer(hint: GeometricHint, face: Face): number;
|
|
16
|
+
//# sourceMappingURL=scoring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["../../../src/topology/shapeRef/scoring.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAQjD,kFAAkF;AAClF,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;AAMrE;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CA+CrE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Face, Shape3D } from '../../core/shapeTypes.js';
|
|
2
|
+
import { ShapeEvolution } from '../../kernel/types.js';
|
|
3
|
+
import { GeometricHint, ShapeRef, RoleTable, ResolvedRef, BrokenRef } from './shapeRefTypes.js';
|
|
4
|
+
import { FaceScorer } from './scoring.js';
|
|
5
|
+
/** Snapshot the geometric properties of a face for later matching. */
|
|
6
|
+
export declare function captureHint(face: Face): GeometricHint;
|
|
7
|
+
/**
|
|
8
|
+
* Auto-assign role names to the faces of a shape based on operation type.
|
|
9
|
+
*
|
|
10
|
+
* For 'box': uses face normals to assign cardinal names
|
|
11
|
+
* ('box:top', 'box:bottom', 'box:front', 'box:back', 'box:left', 'box:right').
|
|
12
|
+
* **Note:** Box role detection assumes axis-aligned faces (normal within 0.9 of
|
|
13
|
+
* a cardinal axis). Rotated boxes may receive fewer than 6 named roles; remaining
|
|
14
|
+
* faces fall through to sequential naming.
|
|
15
|
+
*
|
|
16
|
+
* For other types: sequential naming ('opType:face_0', 'opType:face_1', ...).
|
|
17
|
+
*
|
|
18
|
+
* @returns Map from role name to face hash code
|
|
19
|
+
*/
|
|
20
|
+
export declare function assignRoles(shape: Shape3D, operationType: string): Map<string, number>;
|
|
21
|
+
/** Create a ShapeRef from an origin ID, role name, and face. */
|
|
22
|
+
export declare function createRef(origin: string, role: string, face: Face): ShapeRef;
|
|
23
|
+
/**
|
|
24
|
+
* Propagate a role table through a ShapeEvolution record.
|
|
25
|
+
* Returns a new RoleTable with hashes updated according to the evolution.
|
|
26
|
+
*
|
|
27
|
+
* - Deleted faces: role removed
|
|
28
|
+
* - Modified faces: hash updated to first result hash
|
|
29
|
+
* - Unchanged faces: hash preserved
|
|
30
|
+
*
|
|
31
|
+
* **Limitation:** When a face splits (1→many in `evolution.modified`), only the
|
|
32
|
+
* first successor hash is tracked. The geometric fallback in `resolveRef` handles
|
|
33
|
+
* cases where this picks the "wrong" successor. A future version may return
|
|
34
|
+
* multi-hash mappings for split-aware resolution.
|
|
35
|
+
*/
|
|
36
|
+
export declare function updateRoles(roles: RoleTable, origin: string, evolution: ShapeEvolution): RoleTable;
|
|
37
|
+
/**
|
|
38
|
+
* Resolve a ShapeRef to a face in the current shape.
|
|
39
|
+
*
|
|
40
|
+
* Resolution strategy:
|
|
41
|
+
* 1. Exact lookup via role table hash match
|
|
42
|
+
* 2. Geometric fallback using scorer against all faces
|
|
43
|
+
* 3. Ambiguous if multiple faces score within threshold
|
|
44
|
+
* 4. Not-found if no match above minimum score
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveRef(ref: ShapeRef, roles: RoleTable, currentShape: Shape3D, scorer?: FaceScorer): ResolvedRef | BrokenRef;
|
|
47
|
+
//# sourceMappingURL=shapeRefFns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shapeRefFns.d.ts","sourceRoot":"","sources":["../../../src/topology/shapeRef/shapeRefFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,cAAc,CAAC;AAM9D,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CASrD;AAoBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBtF;AAMD,gEAAgE;AAChE,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,CAE5E;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,cAAc,GACxB,SAAS,CA+BX;AAWD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,OAAO,EACrB,MAAM,CAAC,EAAE,UAAU,GAClB,WAAW,GAAG,SAAS,CAmDzB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Vec3 } from '../../core/types.js';
|
|
2
|
+
import { SurfaceType } from '../faceFns.js';
|
|
3
|
+
import { Face } from '../../core/shapeTypes.js';
|
|
4
|
+
/** Geometric snapshot of a face, used for fallback matching when hashes change. */
|
|
5
|
+
export interface GeometricHint {
|
|
6
|
+
readonly entityType: 'face';
|
|
7
|
+
readonly surfaceType?: SurfaceType;
|
|
8
|
+
readonly normal?: Vec3;
|
|
9
|
+
readonly centroid?: Vec3;
|
|
10
|
+
readonly area?: number | undefined;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A stable reference to a face, combining a role-based name with a geometric hint.
|
|
14
|
+
* Survives parametric replay even when face hashes change.
|
|
15
|
+
*/
|
|
16
|
+
export interface ShapeRef {
|
|
17
|
+
/** Generic command/step identifier (e.g., 'step_0', 'box_1'). */
|
|
18
|
+
readonly origin: string;
|
|
19
|
+
/** Role name within the origin (e.g., 'box:top', 'fillet:round_0'). */
|
|
20
|
+
readonly role: string;
|
|
21
|
+
/** Geometric snapshot for fallback matching. */
|
|
22
|
+
readonly hint: GeometricHint;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Immutable table mapping `origin -> role -> faceHash`.
|
|
26
|
+
* Updated through evolution records when the model is rebuilt.
|
|
27
|
+
*/
|
|
28
|
+
export type RoleTable = ReadonlyMap<string, ReadonlyMap<string, number>>;
|
|
29
|
+
/** A successfully resolved face reference. */
|
|
30
|
+
export interface ResolvedRef {
|
|
31
|
+
readonly face: Face;
|
|
32
|
+
readonly confidence: 'exact' | 'geometric-fallback';
|
|
33
|
+
}
|
|
34
|
+
/** A face reference that could not be resolved. */
|
|
35
|
+
export interface BrokenRef {
|
|
36
|
+
readonly ref: ShapeRef;
|
|
37
|
+
readonly reason: 'deleted' | 'ambiguous' | 'not-found';
|
|
38
|
+
readonly candidates?: readonly Face[];
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=shapeRefTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shapeRefTypes.d.ts","sourceRoot":"","sources":["../../../src/topology/shapeRef/shapeRefTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAMjD,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAMD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAMD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAMzE,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,oBAAoB,CAAC;CACrD;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;CACvC"}
|
package/dist/topology.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
-
const
|
|
4
|
-
const require_curveFns = require("./curveFns-
|
|
5
|
-
const require_meshFns = require("./meshFns-
|
|
6
|
-
const require_booleanFns = require("./booleanFns-
|
|
7
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
2
|
+
const require_faceFns = require("./faceFns-cE2WxY6I.cjs");
|
|
3
|
+
const require_shapeFns = require("./shapeFns-aEeSHNqX.cjs");
|
|
4
|
+
const require_curveFns = require("./curveFns-DCEcwcpd.cjs");
|
|
5
|
+
const require_meshFns = require("./meshFns-CVe3Kc77.cjs");
|
|
6
|
+
const require_booleanFns = require("./booleanFns-B6M6Lm0V.cjs");
|
|
7
|
+
const require_primitiveFns = require("./primitiveFns-CRPGjIFg.cjs");
|
|
8
8
|
exports.addHoles = require_primitiveFns.addHoles;
|
|
9
9
|
exports.adjacentFaces = require_primitiveFns.adjacentFaces;
|
|
10
10
|
exports.approximateCurve = require_curveFns.approximateCurve;
|
|
@@ -56,17 +56,17 @@ exports.flipFaceOrientation = require_faceFns.flipFaceOrientation;
|
|
|
56
56
|
exports.flipOrientation = require_curveFns.flipOrientation;
|
|
57
57
|
exports.fuseAll = require_booleanFns.fuseAll;
|
|
58
58
|
exports.fuseWithEvolution = require_primitiveFns.fuseWithEvolution;
|
|
59
|
-
exports.getBounds =
|
|
59
|
+
exports.getBounds = require_shapeFns.getBounds;
|
|
60
60
|
exports.getCurveType = require_curveFns.getCurveType;
|
|
61
|
-
exports.getEdges =
|
|
62
|
-
exports.getFaces =
|
|
63
|
-
exports.getHashCode =
|
|
61
|
+
exports.getEdges = require_shapeFns.getEdges;
|
|
62
|
+
exports.getFaces = require_shapeFns.getFaces;
|
|
63
|
+
exports.getHashCode = require_shapeFns.getHashCode;
|
|
64
64
|
exports.getNurbsCurveData = require_primitiveFns.getNurbsCurveData;
|
|
65
65
|
exports.getNurbsSurfaceData = require_primitiveFns.getNurbsSurfaceData;
|
|
66
66
|
exports.getOrientation = require_curveFns.getOrientation;
|
|
67
67
|
exports.getSurfaceType = require_faceFns.getSurfaceType;
|
|
68
|
-
exports.getVertices =
|
|
69
|
-
exports.getWires =
|
|
68
|
+
exports.getVertices = require_shapeFns.getVertices;
|
|
69
|
+
exports.getWires = require_shapeFns.getWires;
|
|
70
70
|
exports.healFace = require_primitiveFns.healFace;
|
|
71
71
|
exports.healSolid = require_primitiveFns.healSolid;
|
|
72
72
|
exports.healWire = require_primitiveFns.healWire;
|
|
@@ -74,15 +74,15 @@ exports.helix = require_primitiveFns.helix;
|
|
|
74
74
|
exports.innerWires = require_faceFns.innerWires;
|
|
75
75
|
exports.interpolateCurve = require_curveFns.interpolateCurve;
|
|
76
76
|
exports.intersectWithEvolution = require_primitiveFns.intersectWithEvolution;
|
|
77
|
-
exports.invalidateShapeCache =
|
|
77
|
+
exports.invalidateShapeCache = require_shapeFns.invalidateShapeCache;
|
|
78
78
|
exports.isCompSolid = require_faceFns.isCompSolid;
|
|
79
|
-
exports.isEqualShape =
|
|
80
|
-
exports.isSameShape =
|
|
81
|
-
exports.iterEdges =
|
|
82
|
-
exports.iterFaces =
|
|
79
|
+
exports.isEqualShape = require_shapeFns.isEqualShape;
|
|
80
|
+
exports.isSameShape = require_shapeFns.isSameShape;
|
|
81
|
+
exports.iterEdges = require_shapeFns.iterEdges;
|
|
82
|
+
exports.iterFaces = require_shapeFns.iterFaces;
|
|
83
83
|
exports.iterTopo = require_faceFns.iterTopo;
|
|
84
|
-
exports.iterVertices =
|
|
85
|
-
exports.iterWires =
|
|
84
|
+
exports.iterVertices = require_shapeFns.iterVertices;
|
|
85
|
+
exports.iterWires = require_shapeFns.iterWires;
|
|
86
86
|
exports.line = require_primitiveFns.line;
|
|
87
87
|
exports.normalAt = require_faceFns.normalAt;
|
|
88
88
|
exports.offsetFace = require_primitiveFns.offsetFace;
|
|
@@ -110,7 +110,7 @@ exports.uvBounds = require_faceFns.uvBounds;
|
|
|
110
110
|
exports.uvCoordinates = require_faceFns.uvCoordinates;
|
|
111
111
|
exports.variableFillet = require_primitiveFns.variableFillet;
|
|
112
112
|
exports.vertex = require_primitiveFns.vertex;
|
|
113
|
-
exports.vertexPosition =
|
|
113
|
+
exports.vertexPosition = require_shapeFns.vertexPosition;
|
|
114
114
|
exports.verticesOfEdge = require_primitiveFns.verticesOfEdge;
|
|
115
115
|
exports.wire = require_primitiveFns.wire;
|
|
116
116
|
exports.wireLoop = require_primitiveFns.wireLoop;
|
package/dist/topology.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-
|
|
2
|
-
import { B as
|
|
3
|
-
import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-
|
|
4
|
-
import { n as exportSTEP, o as clearMeshCache, r as exportSTL, s as createMeshCache, t as exportIGES } from "./meshFns-
|
|
5
|
-
import { i as fuseAll, n as cutAll } from "./booleanFns-
|
|
6
|
-
import { $ as getNurbsSurfaceData, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toLineGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-
|
|
1
|
+
import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-TSH54pPQ.js";
|
|
2
|
+
import { B as iterVertices, F as getVertices, H as vertexPosition, I as getWires, L as invalidateShapeCache, M as getEdges, N as getFaces, R as iterEdges, V as iterWires, a as isSameShape, i as isEqualShape, j as getBounds, n as getHashCode, z as iterFaces } from "./shapeFns-DCi9O27X.js";
|
|
3
|
+
import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-CcInoOEA.js";
|
|
4
|
+
import { n as exportSTEP, o as clearMeshCache, r as exportSTL, s as createMeshCache, t as exportIGES } from "./meshFns-DL4Djz3w.js";
|
|
5
|
+
import { i as fuseAll, n as cutAll } from "./booleanFns-CgsaJFBf.js";
|
|
6
|
+
import { $ as getNurbsSurfaceData, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toLineGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-CeKiYSSW.js";
|
|
7
7
|
export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
//#region src/core/constants.ts
|
|
2
|
-
/** Maximum hash code value for kernel shape hashing (2^31 - 1). */
|
|
3
|
-
var HASH_CODE_MAX = 2147483647;
|
|
4
|
-
/** Multiply degrees by this constant to convert to radians. */
|
|
5
|
-
var DEG2RAD = Math.PI / 180;
|
|
6
|
-
/** Multiply radians by this constant to convert to degrees. */
|
|
7
|
-
var RAD2DEG = 180 / Math.PI;
|
|
8
|
-
//#endregion
|
|
9
1
|
//#region src/core/vecOps.ts
|
|
10
2
|
/** Add two 3D vectors component-wise. */
|
|
11
3
|
function vecAdd(a, b) {
|
|
@@ -134,24 +126,6 @@ function vecRepr(v) {
|
|
|
134
126
|
return `x: ${round3(v[0])}, y: ${round3(v[1])}, z: ${round3(v[2])}`;
|
|
135
127
|
}
|
|
136
128
|
//#endregion
|
|
137
|
-
Object.defineProperty(exports, "DEG2RAD", {
|
|
138
|
-
enumerable: true,
|
|
139
|
-
get: function() {
|
|
140
|
-
return DEG2RAD;
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
Object.defineProperty(exports, "HASH_CODE_MAX", {
|
|
144
|
-
enumerable: true,
|
|
145
|
-
get: function() {
|
|
146
|
-
return HASH_CODE_MAX;
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
Object.defineProperty(exports, "RAD2DEG", {
|
|
150
|
-
enumerable: true,
|
|
151
|
-
get: function() {
|
|
152
|
-
return RAD2DEG;
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
129
|
Object.defineProperty(exports, "vecAdd", {
|
|
156
130
|
enumerable: true,
|
|
157
131
|
get: function() {
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
//#region src/core/constants.ts
|
|
2
|
-
/** Maximum hash code value for kernel shape hashing (2^31 - 1). */
|
|
3
|
-
var HASH_CODE_MAX = 2147483647;
|
|
4
|
-
/** Multiply degrees by this constant to convert to radians. */
|
|
5
|
-
var DEG2RAD = Math.PI / 180;
|
|
6
|
-
/** Multiply radians by this constant to convert to degrees. */
|
|
7
|
-
var RAD2DEG = 180 / Math.PI;
|
|
8
|
-
//#endregion
|
|
9
1
|
//#region src/core/vecOps.ts
|
|
10
2
|
/** Add two 3D vectors component-wise. */
|
|
11
3
|
function vecAdd(a, b) {
|
|
@@ -134,4 +126,4 @@ function vecRepr(v) {
|
|
|
134
126
|
return `x: ${round3(v[0])}, y: ${round3(v[1])}, z: ${round3(v[2])}`;
|
|
135
127
|
}
|
|
136
128
|
//#endregion
|
|
137
|
-
export {
|
|
129
|
+
export { vecDot as a, vecLength as c, vecNormalize as d, vecProjectToPlane as f, vecSub as g, vecScale as h, vecDistance as i, vecLengthSq as l, vecRotate as m, vecAngle as n, vecEquals as o, vecRepr as p, vecCross as r, vecIsZero as s, vecAdd as t, vecNegate as u };
|
package/dist/vectors.cjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
2
|
+
const require_constants = require("./constants-unWN8k4c.cjs");
|
|
3
3
|
const require_types = require("./types-BjDcsS7l.cjs");
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
exports.
|
|
4
|
+
const require_vecOps = require("./vecOps-BXvBYIor.cjs");
|
|
5
|
+
const require_planeOps = require("./planeOps-6Wu7dMDN.cjs");
|
|
6
|
+
exports.DEG2RAD = require_constants.DEG2RAD;
|
|
7
|
+
exports.RAD2DEG = require_constants.RAD2DEG;
|
|
7
8
|
exports.createNamedPlane = require_planeOps.createNamedPlane;
|
|
8
9
|
exports.createPlane = require_planeOps.createPlane;
|
|
9
10
|
exports.pivotPlane = require_planeOps.pivotPlane;
|
package/dist/vectors.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as RAD2DEG, t as DEG2RAD } from "./constants-B9u763C3.js";
|
|
2
2
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-BWBlwp6w.js";
|
|
3
|
-
import { i as
|
|
3
|
+
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-D9etjPgV.js";
|
|
4
|
+
import { i as pivotPlane, n as createPlane, o as resolvePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-gTOEarV2.js";
|
|
4
5
|
export { DEG2RAD, RAD2DEG, createNamedPlane, createPlane, pivotPlane, resolveDirection, resolvePlane, toVec2, toVec3, translatePlane, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub };
|
package/dist/worker.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_workerHandler = require("./workerHandler-
|
|
2
|
+
const require_workerHandler = require("./workerHandler-C-7OUJsa.cjs");
|
|
3
3
|
exports.createOperationRegistry = require_workerHandler.createOperationRegistry;
|
|
4
4
|
exports.createTaskQueue = require_workerHandler.createTaskQueue;
|
|
5
5
|
exports.createWorkerClient = require_workerHandler.createWorkerClient;
|
package/dist/worker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as createTaskQueue, c as isEmpty, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-
|
|
1
|
+
import { a as createTaskQueue, c as isEmpty, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-o2xzAfFk.js";
|
|
2
2
|
export { createOperationRegistry, createTaskQueue, createWorkerClient, createWorkerHandler, dequeueTask, enqueueTask, isDisposeRequest, isErrorResponse, isInitRequest, isOperationRequest, isEmpty as isQueueEmpty, isSuccessResponse, pendingCount, registerHandler, rejectAll };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brepjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.1.2",
|
|
4
4
|
"description": "Web CAD library with pluggable geometry kernel",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cad",
|
|
@@ -149,6 +149,16 @@
|
|
|
149
149
|
"default": "./dist/worker.cjs"
|
|
150
150
|
}
|
|
151
151
|
},
|
|
152
|
+
"./shapeRef": {
|
|
153
|
+
"import": {
|
|
154
|
+
"types": "./dist/shapeRef.d.ts",
|
|
155
|
+
"default": "./dist/shapeRef.js"
|
|
156
|
+
},
|
|
157
|
+
"require": {
|
|
158
|
+
"types": "./dist/shapeRef.d.ts",
|
|
159
|
+
"default": "./dist/shapeRef.cjs"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
152
162
|
"./quick": {
|
|
153
163
|
"import": {
|
|
154
164
|
"types": "./dist/quick.d.ts",
|
|
@@ -197,11 +207,11 @@
|
|
|
197
207
|
"@types/opentype.js": "1.3.9",
|
|
198
208
|
"@vitest/coverage-v8": "4.1.0",
|
|
199
209
|
"brepjs-opencascade": "*",
|
|
200
|
-
"brepkit-wasm": "2.
|
|
201
|
-
"eslint": "10.0
|
|
210
|
+
"brepkit-wasm": "2.26.0",
|
|
211
|
+
"eslint": "10.1.0",
|
|
202
212
|
"fast-check": "4.6.0",
|
|
203
213
|
"husky": "9.1.7",
|
|
204
|
-
"knip": "
|
|
214
|
+
"knip": "6.0.1",
|
|
205
215
|
"lint-staged": "16.4.0",
|
|
206
216
|
"prettier": "3.8.1",
|
|
207
217
|
"size-limit": "12.0.1",
|
|
File without changes
|
|
File without changes
|