@faicad/faijs 0.13.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/LICENSE +29 -0
- package/NOTICE +29 -0
- package/dist/api/api-namespace.d.ts +27 -0
- package/dist/api/api-namespace.d.ts.map +1 -0
- package/dist/api/api-namespace.js +78 -0
- package/dist/api/api-namespace.js.map +1 -0
- package/dist/api/assembly/entities.d.ts +55 -0
- package/dist/api/assembly/entities.d.ts.map +1 -0
- package/dist/api/assembly/entities.js +158 -0
- package/dist/api/assembly/entities.js.map +1 -0
- package/dist/api/assembly/golden-mate.d.ts +49 -0
- package/dist/api/assembly/golden-mate.d.ts.map +1 -0
- package/dist/api/assembly/golden-mate.js +101 -0
- package/dist/api/assembly/golden-mate.js.map +1 -0
- package/dist/api/assembly/index.d.ts +16 -0
- package/dist/api/assembly/index.d.ts.map +1 -0
- package/dist/api/assembly/index.js +16 -0
- package/dist/api/assembly/index.js.map +1 -0
- package/dist/api/assembly/joints.d.ts +208 -0
- package/dist/api/assembly/joints.d.ts.map +1 -0
- package/dist/api/assembly/joints.js +240 -0
- package/dist/api/assembly/joints.js.map +1 -0
- package/dist/api/assembly/lower.d.ts +61 -0
- package/dist/api/assembly/lower.d.ts.map +1 -0
- package/dist/api/assembly/lower.js +145 -0
- package/dist/api/assembly/lower.js.map +1 -0
- package/dist/api/assembly/normalize.d.ts +19 -0
- package/dist/api/assembly/normalize.d.ts.map +1 -0
- package/dist/api/assembly/normalize.js +32 -0
- package/dist/api/assembly/normalize.js.map +1 -0
- package/dist/api/assembly/pose.d.ts +78 -0
- package/dist/api/assembly/pose.d.ts.map +1 -0
- package/dist/api/assembly/pose.js +116 -0
- package/dist/api/assembly/pose.js.map +1 -0
- package/dist/api/assembly/preview.d.ts +55 -0
- package/dist/api/assembly/preview.d.ts.map +1 -0
- package/dist/api/assembly/preview.js +61 -0
- package/dist/api/assembly/preview.js.map +1 -0
- package/dist/api/assembly/solve.d.ts +72 -0
- package/dist/api/assembly/solve.d.ts.map +1 -0
- package/dist/api/assembly/solve.js +139 -0
- package/dist/api/assembly/solve.js.map +1 -0
- package/dist/api/assembly/solvers/global-solver.d.ts +34 -0
- package/dist/api/assembly/solvers/global-solver.d.ts.map +1 -0
- package/dist/api/assembly/solvers/global-solver.js +461 -0
- package/dist/api/assembly/solvers/global-solver.js.map +1 -0
- package/dist/api/assembly/solvers/linalg.d.ts +92 -0
- package/dist/api/assembly/solvers/linalg.d.ts.map +1 -0
- package/dist/api/assembly/solvers/linalg.js +217 -0
- package/dist/api/assembly/solvers/linalg.js.map +1 -0
- package/dist/api/assembly/solvers/pose-from-delta.d.ts +43 -0
- package/dist/api/assembly/solvers/pose-from-delta.d.ts.map +1 -0
- package/dist/api/assembly/solvers/pose-from-delta.js +61 -0
- package/dist/api/assembly/solvers/pose-from-delta.js.map +1 -0
- package/dist/api/assembly/solvers/types.d.ts +60 -0
- package/dist/api/assembly/solvers/types.d.ts.map +1 -0
- package/dist/api/assembly/solvers/types.js +11 -0
- package/dist/api/assembly/solvers/types.js.map +1 -0
- package/dist/api/assembly/types.d.ts +136 -0
- package/dist/api/assembly/types.d.ts.map +1 -0
- package/dist/api/assembly/types.js +13 -0
- package/dist/api/assembly/types.js.map +1 -0
- package/dist/api/assembly/validate.d.ts +37 -0
- package/dist/api/assembly/validate.d.ts.map +1 -0
- package/dist/api/assembly/validate.js +131 -0
- package/dist/api/assembly/validate.js.map +1 -0
- package/dist/api/assert.d.ts +54 -0
- package/dist/api/assert.d.ts.map +1 -0
- package/dist/api/assert.js +90 -0
- package/dist/api/assert.js.map +1 -0
- package/dist/api/asset.d.ts +20 -0
- package/dist/api/asset.d.ts.map +1 -0
- package/dist/api/asset.js +28 -0
- package/dist/api/asset.js.map +1 -0
- package/dist/api/boolean.d.ts +56 -0
- package/dist/api/boolean.d.ts.map +1 -0
- package/dist/api/boolean.js +151 -0
- package/dist/api/boolean.js.map +1 -0
- package/dist/api/brep-mirror/joinery-brep.d.ts +172 -0
- package/dist/api/brep-mirror/joinery-brep.d.ts.map +1 -0
- package/dist/api/brep-mirror/joinery-brep.js +461 -0
- package/dist/api/brep-mirror/joinery-brep.js.map +1 -0
- package/dist/api/brep-mirror/threadFns.d.ts +68 -0
- package/dist/api/brep-mirror/threadFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/threadFns.js +103 -0
- package/dist/api/brep-mirror/threadFns.js.map +1 -0
- package/dist/api/brepjs-compat/index.d.ts +234 -0
- package/dist/api/brepjs-compat/index.d.ts.map +1 -0
- package/dist/api/brepjs-compat/index.js +289 -0
- package/dist/api/brepjs-compat/index.js.map +1 -0
- package/dist/api/chamfer-math.d.ts +46 -0
- package/dist/api/chamfer-math.d.ts.map +1 -0
- package/dist/api/chamfer-math.js +60 -0
- package/dist/api/chamfer-math.js.map +1 -0
- package/dist/api/chamfer.d.ts +63 -0
- package/dist/api/chamfer.d.ts.map +1 -0
- package/dist/api/chamfer.js +234 -0
- package/dist/api/chamfer.js.map +1 -0
- package/dist/api/compat/index.d.ts +173 -0
- package/dist/api/compat/index.d.ts.map +1 -0
- package/dist/api/compat/index.js +222 -0
- package/dist/api/compat/index.js.map +1 -0
- package/dist/api/compound.d.ts +108 -0
- package/dist/api/compound.d.ts.map +1 -0
- package/dist/api/compound.js +162 -0
- package/dist/api/compound.js.map +1 -0
- package/dist/api/copy.d.ts +39 -0
- package/dist/api/copy.d.ts.map +1 -0
- package/dist/api/copy.js +81 -0
- package/dist/api/copy.js.map +1 -0
- package/dist/api/edge-ref.d.ts +42 -0
- package/dist/api/edge-ref.d.ts.map +1 -0
- package/dist/api/edge-ref.js +89 -0
- package/dist/api/edge-ref.js.map +1 -0
- package/dist/api/engrave.d.ts +39 -0
- package/dist/api/engrave.d.ts.map +1 -0
- package/dist/api/engrave.js +215 -0
- package/dist/api/engrave.js.map +1 -0
- package/dist/api/extrude.d.ts +81 -0
- package/dist/api/extrude.d.ts.map +1 -0
- package/dist/api/extrude.js +299 -0
- package/dist/api/extrude.js.map +1 -0
- package/dist/api/face-ref.d.ts +37 -0
- package/dist/api/face-ref.d.ts.map +1 -0
- package/dist/api/face-ref.js +64 -0
- package/dist/api/face-ref.js.map +1 -0
- package/dist/api/fai_drill.d.ts +46 -0
- package/dist/api/fai_drill.d.ts.map +1 -0
- package/dist/api/fai_drill.js +230 -0
- package/dist/api/fai_drill.js.map +1 -0
- package/dist/api/fai_extrude.d.ts +36 -0
- package/dist/api/fai_extrude.d.ts.map +1 -0
- package/dist/api/fai_extrude.js +78 -0
- package/dist/api/fai_extrude.js.map +1 -0
- package/dist/api/fai_split.d.ts +46 -0
- package/dist/api/fai_split.d.ts.map +1 -0
- package/dist/api/fai_split.js +253 -0
- package/dist/api/fai_split.js.map +1 -0
- package/dist/api/fillet.d.ts +46 -0
- package/dist/api/fillet.d.ts.map +1 -0
- package/dist/api/fillet.js +127 -0
- package/dist/api/fillet.js.map +1 -0
- package/dist/api/generated/2d.d.ts +18 -0
- package/dist/api/generated/2d.d.ts.map +1 -0
- package/dist/api/generated/2d.js +2 -0
- package/dist/api/generated/2d.js.map +1 -0
- package/dist/api/generated/brepjs/index.d.ts +310 -0
- package/dist/api/generated/brepjs/index.d.ts.map +1 -0
- package/dist/api/generated/brepjs/index.js +195 -0
- package/dist/api/generated/brepjs/index.js.map +1 -0
- package/dist/api/generated/cad/script-face.d.ts +12 -0
- package/dist/api/generated/cad/script-face.d.ts.map +1 -0
- package/dist/api/generated/cad/script-face.js +147 -0
- package/dist/api/generated/cad/script-face.js.map +1 -0
- package/dist/api/generated/core.d.ts +126 -0
- package/dist/api/generated/core.d.ts.map +1 -0
- package/dist/api/generated/core.js +86 -0
- package/dist/api/generated/core.js.map +1 -0
- package/dist/api/generated/gear.d.ts +20 -0
- package/dist/api/generated/gear.d.ts.map +1 -0
- package/dist/api/generated/gear.js +4 -0
- package/dist/api/generated/gear.js.map +1 -0
- package/dist/api/generated/io.d.ts +18 -0
- package/dist/api/generated/io.d.ts.map +1 -0
- package/dist/api/generated/io.js +2 -0
- package/dist/api/generated/io.js.map +1 -0
- package/dist/api/generated/kernel.d.ts +44 -0
- package/dist/api/generated/kernel.d.ts.map +1 -0
- package/dist/api/generated/kernel.js +5 -0
- package/dist/api/generated/kernel.js.map +1 -0
- package/dist/api/generated/measurement.d.ts +132 -0
- package/dist/api/generated/measurement.d.ts.map +1 -0
- package/dist/api/generated/measurement.js +191 -0
- package/dist/api/generated/measurement.js.map +1 -0
- package/dist/api/generated/ns.d.ts +15 -0
- package/dist/api/generated/ns.d.ts.map +1 -0
- package/dist/api/generated/ns.js +15 -0
- package/dist/api/generated/ns.js.map +1 -0
- package/dist/api/generated/operations.d.ts +190 -0
- package/dist/api/generated/operations.d.ts.map +1 -0
- package/dist/api/generated/operations.js +131 -0
- package/dist/api/generated/operations.js.map +1 -0
- package/dist/api/generated/projection.d.ts +13 -0
- package/dist/api/generated/projection.d.ts.map +1 -0
- package/dist/api/generated/projection.js +5 -0
- package/dist/api/generated/projection.js.map +1 -0
- package/dist/api/generated/query.d.ts +14 -0
- package/dist/api/generated/query.d.ts.map +1 -0
- package/dist/api/generated/query.js +2 -0
- package/dist/api/generated/query.js.map +1 -0
- package/dist/api/generated/script-face-manifest.d.ts +15 -0
- package/dist/api/generated/script-face-manifest.d.ts.map +1 -0
- package/dist/api/generated/script-face-manifest.js +39 -0
- package/dist/api/generated/script-face-manifest.js.map +1 -0
- package/dist/api/generated/script-face.d.ts +100 -0
- package/dist/api/generated/script-face.d.ts.map +1 -0
- package/dist/api/generated/script-face.js +49 -0
- package/dist/api/generated/script-face.js.map +1 -0
- package/dist/api/generated/sketching.d.ts +13 -0
- package/dist/api/generated/sketching.d.ts.map +1 -0
- package/dist/api/generated/sketching.js +16 -0
- package/dist/api/generated/sketching.js.map +1 -0
- package/dist/api/generated/text.d.ts +11 -0
- package/dist/api/generated/text.d.ts.map +1 -0
- package/dist/api/generated/text.js +4 -0
- package/dist/api/generated/text.js.map +1 -0
- package/dist/api/generated/topology.d.ts +353 -0
- package/dist/api/generated/topology.d.ts.map +1 -0
- package/dist/api/generated/topology.js +253 -0
- package/dist/api/generated/topology.js.map +1 -0
- package/dist/api/generated/view.d.ts +9 -0
- package/dist/api/generated/view.d.ts.map +1 -0
- package/dist/api/generated/view.js +9 -0
- package/dist/api/generated/view.js.map +1 -0
- package/dist/api/geom.d.ts +66 -0
- package/dist/api/geom.d.ts.map +1 -0
- package/dist/api/geom.js +122 -0
- package/dist/api/geom.js.map +1 -0
- package/dist/api/index.d.ts +47 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +70 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/internal/compat-op.d.ts +88 -0
- package/dist/api/internal/compat-op.d.ts.map +1 -0
- package/dist/api/internal/compat-op.js +176 -0
- package/dist/api/internal/compat-op.js.map +1 -0
- package/dist/api/internal/compat-projection.d.ts +53 -0
- package/dist/api/internal/compat-projection.d.ts.map +1 -0
- package/dist/api/internal/compat-projection.js +72 -0
- package/dist/api/internal/compat-projection.js.map +1 -0
- package/dist/api/internal/dual-form-args.d.ts +143 -0
- package/dist/api/internal/dual-form-args.d.ts.map +1 -0
- package/dist/api/internal/dual-form-args.js +217 -0
- package/dist/api/internal/dual-form-args.js.map +1 -0
- package/dist/api/internal/l3-bridge.d.ts +94 -0
- package/dist/api/internal/l3-bridge.d.ts.map +1 -0
- package/dist/api/internal/l3-bridge.js +143 -0
- package/dist/api/internal/l3-bridge.js.map +1 -0
- package/dist/api/internal/result-unwrap.d.ts +101 -0
- package/dist/api/internal/result-unwrap.d.ts.map +1 -0
- package/dist/api/internal/result-unwrap.js +119 -0
- package/dist/api/internal/result-unwrap.js.map +1 -0
- package/dist/api/internal/svg-asset-resolver.d.ts +22 -0
- package/dist/api/internal/svg-asset-resolver.d.ts.map +1 -0
- package/dist/api/internal/svg-asset-resolver.js +45 -0
- package/dist/api/internal/svg-asset-resolver.js.map +1 -0
- package/dist/api/knurl.d.ts +38 -0
- package/dist/api/knurl.d.ts.map +1 -0
- package/dist/api/knurl.js +62 -0
- package/dist/api/knurl.js.map +1 -0
- package/dist/api/load.d.ts +39 -0
- package/dist/api/load.d.ts.map +1 -0
- package/dist/api/load.js +82 -0
- package/dist/api/load.js.map +1 -0
- package/dist/api/occt-kernel-bridge.d.ts +43 -0
- package/dist/api/occt-kernel-bridge.d.ts.map +1 -0
- package/dist/api/occt-kernel-bridge.js +59 -0
- package/dist/api/occt-kernel-bridge.js.map +1 -0
- package/dist/api/primitives.d.ts +161 -0
- package/dist/api/primitives.d.ts.map +1 -0
- package/dist/api/primitives.js +296 -0
- package/dist/api/primitives.js.map +1 -0
- package/dist/api/reconcile.d.ts +28 -0
- package/dist/api/reconcile.d.ts.map +1 -0
- package/dist/api/reconcile.js +45 -0
- package/dist/api/reconcile.js.map +1 -0
- package/dist/api/result.d.ts +15 -0
- package/dist/api/result.d.ts.map +1 -0
- package/dist/api/result.js +15 -0
- package/dist/api/result.js.map +1 -0
- package/dist/api/screw.d.ts +38 -0
- package/dist/api/screw.d.ts.map +1 -0
- package/dist/api/screw.js +160 -0
- package/dist/api/screw.js.map +1 -0
- package/dist/api/sdf.d.ts +32 -0
- package/dist/api/sdf.d.ts.map +1 -0
- package/dist/api/sdf.js +46 -0
- package/dist/api/sdf.js.map +1 -0
- package/dist/api/sketch.d.ts +73 -0
- package/dist/api/sketch.d.ts.map +1 -0
- package/dist/api/sketch.js +149 -0
- package/dist/api/sketch.js.map +1 -0
- package/dist/api/surface/arg-spec.d.ts +111 -0
- package/dist/api/surface/arg-spec.d.ts.map +1 -0
- package/dist/api/surface/arg-spec.js +3535 -0
- package/dist/api/surface/arg-spec.js.map +1 -0
- package/dist/api/surface/projection-overrides.d.ts +38 -0
- package/dist/api/surface/projection-overrides.d.ts.map +1 -0
- package/dist/api/surface/projection-overrides.js +163 -0
- package/dist/api/surface/projection-overrides.js.map +1 -0
- package/dist/api/svgExtrude.d.ts +32 -0
- package/dist/api/svgExtrude.d.ts.map +1 -0
- package/dist/api/svgExtrude.js +73 -0
- package/dist/api/svgExtrude.js.map +1 -0
- package/dist/api/text.d.ts +34 -0
- package/dist/api/text.d.ts.map +1 -0
- package/dist/api/text.js +100 -0
- package/dist/api/text.js.map +1 -0
- package/dist/api/topo-resolve.d.ts +89 -0
- package/dist/api/topo-resolve.d.ts.map +1 -0
- package/dist/api/topo-resolve.js +195 -0
- package/dist/api/topo-resolve.js.map +1 -0
- package/dist/api/transform.d.ts +108 -0
- package/dist/api/transform.d.ts.map +1 -0
- package/dist/api/transform.js +229 -0
- package/dist/api/transform.js.map +1 -0
- package/dist/api/view/index.d.ts +16 -0
- package/dist/api/view/index.d.ts.map +1 -0
- package/dist/api/view/index.js +16 -0
- package/dist/api/view/index.js.map +1 -0
- package/dist/api/view/view-camera.d.ts +53 -0
- package/dist/api/view/view-camera.d.ts.map +1 -0
- package/dist/api/view/view-camera.js +51 -0
- package/dist/api/view/view-camera.js.map +1 -0
- package/dist/api/view/view-projection.d.ts +80 -0
- package/dist/api/view/view-projection.d.ts.map +1 -0
- package/dist/api/view/view-projection.js +128 -0
- package/dist/api/view/view-projection.js.map +1 -0
- package/dist/api/view/view-sheet.d.ts +56 -0
- package/dist/api/view/view-sheet.d.ts.map +1 -0
- package/dist/api/view/view-sheet.js +91 -0
- package/dist/api/view/view-sheet.js.map +1 -0
- package/dist/boolean/cross-section.d.ts +64 -0
- package/dist/boolean/cross-section.d.ts.map +1 -0
- package/dist/boolean/cross-section.js +301 -0
- package/dist/boolean/cross-section.js.map +1 -0
- package/dist/boolean/csg-backend.d.ts +94 -0
- package/dist/boolean/csg-backend.d.ts.map +1 -0
- package/dist/boolean/csg-backend.js +137 -0
- package/dist/boolean/csg-backend.js.map +1 -0
- package/dist/boolean/csg-core.d.ts +207 -0
- package/dist/boolean/csg-core.d.ts.map +1 -0
- package/dist/boolean/csg-core.js +576 -0
- package/dist/boolean/csg-core.js.map +1 -0
- package/dist/boolean/deriveNormals.d.ts +21 -0
- package/dist/boolean/deriveNormals.d.ts.map +1 -0
- package/dist/boolean/deriveNormals.js +24 -0
- package/dist/boolean/deriveNormals.js.map +1 -0
- package/dist/boolean/dovetail-math.d.ts +56 -0
- package/dist/boolean/dovetail-math.d.ts.map +1 -0
- package/dist/boolean/dovetail-math.js +85 -0
- package/dist/boolean/dovetail-math.js.map +1 -0
- package/dist/boolean/extrude-helpers.d.ts +88 -0
- package/dist/boolean/extrude-helpers.d.ts.map +1 -0
- package/dist/boolean/extrude-helpers.js +134 -0
- package/dist/boolean/extrude-helpers.js.map +1 -0
- package/dist/boolean/geo-convert.d.ts +52 -0
- package/dist/boolean/geo-convert.d.ts.map +1 -0
- package/dist/boolean/geo-convert.js +94 -0
- package/dist/boolean/geo-convert.js.map +1 -0
- package/dist/boolean/joinery-shapes.d.ts +76 -0
- package/dist/boolean/joinery-shapes.d.ts.map +1 -0
- package/dist/boolean/joinery-shapes.js +205 -0
- package/dist/boolean/joinery-shapes.js.map +1 -0
- package/dist/boolean/manifold-preview.d.ts +26 -0
- package/dist/boolean/manifold-preview.d.ts.map +1 -0
- package/dist/boolean/manifold-preview.js +48 -0
- package/dist/boolean/manifold-preview.js.map +1 -0
- package/dist/brep/brep-chain.d.ts +115 -0
- package/dist/brep/brep-chain.d.ts.map +1 -0
- package/dist/brep/brep-chain.js +99 -0
- package/dist/brep/brep-chain.js.map +1 -0
- package/dist/brep/brep-ops.d.ts +251 -0
- package/dist/brep/brep-ops.d.ts.map +1 -0
- package/dist/brep/brep-ops.js +545 -0
- package/dist/brep/brep-ops.js.map +1 -0
- package/dist/brep/brep-topology.d.ts +63 -0
- package/dist/brep/brep-topology.d.ts.map +1 -0
- package/dist/brep/brep-topology.js +86 -0
- package/dist/brep/brep-topology.js.map +1 -0
- package/dist/brep/brep-utils.d.ts +25 -0
- package/dist/brep/brep-utils.d.ts.map +1 -0
- package/dist/brep/brep-utils.js +42 -0
- package/dist/brep/brep-utils.js.map +1 -0
- package/dist/brep/engine/adapters/brep-mock.d.ts +24 -0
- package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -0
- package/dist/brep/engine/adapters/brep-mock.js +303 -0
- package/dist/brep/engine/adapters/brep-mock.js.map +1 -0
- package/dist/brep/engine/adapters/brepkit.d.ts +25 -0
- package/dist/brep/engine/adapters/brepkit.d.ts.map +1 -0
- package/dist/brep/engine/adapters/brepkit.js +51 -0
- package/dist/brep/engine/adapters/brepkit.js.map +1 -0
- package/dist/brep/engine/adapters/occt.d.ts +31 -0
- package/dist/brep/engine/adapters/occt.d.ts.map +1 -0
- package/dist/brep/engine/adapters/occt.js +61 -0
- package/dist/brep/engine/adapters/occt.js.map +1 -0
- package/dist/brep/engine/primitives.d.ts +136 -0
- package/dist/brep/engine/primitives.d.ts.map +1 -0
- package/dist/brep/engine/primitives.js +13 -0
- package/dist/brep/engine/primitives.js.map +1 -0
- package/dist/brep/engine/registry.d.ts +88 -0
- package/dist/brep/engine/registry.d.ts.map +1 -0
- package/dist/brep/engine/registry.js +139 -0
- package/dist/brep/engine/registry.js.map +1 -0
- package/dist/brep/engine/types.d.ts +157 -0
- package/dist/brep/engine/types.d.ts.map +1 -0
- package/dist/brep/engine/types.js +11 -0
- package/dist/brep/engine/types.js.map +1 -0
- package/dist/brep/export/step.d.ts +48 -0
- package/dist/brep/export/step.d.ts.map +1 -0
- package/dist/brep/export/step.js +118 -0
- package/dist/brep/export/step.js.map +1 -0
- package/dist/brep/export/stl.d.ts +27 -0
- package/dist/brep/export/stl.d.ts.map +1 -0
- package/dist/brep/export/stl.js +93 -0
- package/dist/brep/export/stl.js.map +1 -0
- package/dist/brep/face-evolution.d.ts +244 -0
- package/dist/brep/face-evolution.d.ts.map +1 -0
- package/dist/brep/face-evolution.js +408 -0
- package/dist/brep/face-evolution.js.map +1 -0
- package/dist/brep/handle-bridge.d.ts +59 -0
- package/dist/brep/handle-bridge.d.ts.map +1 -0
- package/dist/brep/handle-bridge.js +91 -0
- package/dist/brep/handle-bridge.js.map +1 -0
- package/dist/brep/index.d.ts +15 -0
- package/dist/brep/index.d.ts.map +1 -0
- package/dist/brep/index.js +20 -0
- package/dist/brep/index.js.map +1 -0
- package/dist/brep/primitives-brep.d.ts +52 -0
- package/dist/brep/primitives-brep.d.ts.map +1 -0
- package/dist/brep/primitives-brep.js +108 -0
- package/dist/brep/primitives-brep.js.map +1 -0
- package/dist/brep/svg/svg-to-solid.d.ts +111 -0
- package/dist/brep/svg/svg-to-solid.d.ts.map +1 -0
- package/dist/brep/svg/svg-to-solid.js +843 -0
- package/dist/brep/svg/svg-to-solid.js.map +1 -0
- package/dist/brep/text/fontRegistry.d.ts +71 -0
- package/dist/brep/text/fontRegistry.d.ts.map +1 -0
- package/dist/brep/text/fontRegistry.js +100 -0
- package/dist/brep/text/fontRegistry.js.map +1 -0
- package/dist/brep/text/fontTestHelper.d.ts +30 -0
- package/dist/brep/text/fontTestHelper.d.ts.map +1 -0
- package/dist/brep/text/fontTestHelper.js +57 -0
- package/dist/brep/text/fontTestHelper.js.map +1 -0
- package/dist/brep/text/text-to-solid.d.ts +48 -0
- package/dist/brep/text/text-to-solid.d.ts.map +1 -0
- package/dist/brep/text/text-to-solid.js +218 -0
- package/dist/brep/text/text-to-solid.js.map +1 -0
- package/dist/brepjs-compat.d.ts +20 -0
- package/dist/brepjs-compat.d.ts.map +1 -0
- package/dist/brepjs-compat.js +20 -0
- package/dist/brepjs-compat.js.map +1 -0
- package/dist/brepkit-kernel/brepkitKernel.d.ts +29 -0
- package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -0
- package/dist/brepkit-kernel/brepkitKernel.js +571 -0
- package/dist/brepkit-kernel/brepkitKernel.js.map +1 -0
- package/dist/brepkit-kernel/brepkitWasm.d.ts +25 -0
- package/dist/brepkit-kernel/brepkitWasm.d.ts.map +1 -0
- package/dist/brepkit-kernel/brepkitWasm.js +51 -0
- package/dist/brepkit-kernel/brepkitWasm.js.map +1 -0
- package/dist/browser-host/browser-event-sink.d.ts +31 -0
- package/dist/browser-host/browser-event-sink.d.ts.map +1 -0
- package/dist/browser-host/browser-event-sink.js +35 -0
- package/dist/browser-host/browser-event-sink.js.map +1 -0
- package/dist/browser-host/browser-font-provider.d.ts +47 -0
- package/dist/browser-host/browser-font-provider.d.ts.map +1 -0
- package/dist/browser-host/browser-font-provider.js +69 -0
- package/dist/browser-host/browser-font-provider.js.map +1 -0
- package/dist/browser-host/csg-worker-protocol.d.ts +102 -0
- package/dist/browser-host/csg-worker-protocol.d.ts.map +1 -0
- package/dist/browser-host/csg-worker-protocol.js +8 -0
- package/dist/browser-host/csg-worker-protocol.js.map +1 -0
- package/dist/browser-host/csg-worker.d.ts +13 -0
- package/dist/browser-host/csg-worker.d.ts.map +1 -0
- package/dist/browser-host/csg-worker.js +98 -0
- package/dist/browser-host/csg-worker.js.map +1 -0
- package/dist/browser-host/fetch-asset-resolver.d.ts +45 -0
- package/dist/browser-host/fetch-asset-resolver.d.ts.map +1 -0
- package/dist/browser-host/fetch-asset-resolver.js +63 -0
- package/dist/browser-host/fetch-asset-resolver.js.map +1 -0
- package/dist/browser-host/index.d.ts +76 -0
- package/dist/browser-host/index.d.ts.map +1 -0
- package/dist/browser-host/index.js +95 -0
- package/dist/browser-host/index.js.map +1 -0
- package/dist/browser-host/inline-csg-backend.d.ts +56 -0
- package/dist/browser-host/inline-csg-backend.d.ts.map +1 -0
- package/dist/browser-host/inline-csg-backend.js +110 -0
- package/dist/browser-host/inline-csg-backend.js.map +1 -0
- package/dist/browser-host/inline-sdf-backend.d.ts +23 -0
- package/dist/browser-host/inline-sdf-backend.d.ts.map +1 -0
- package/dist/browser-host/inline-sdf-backend.js +28 -0
- package/dist/browser-host/inline-sdf-backend.js.map +1 -0
- package/dist/browser-host/sdf-worker-protocol.d.ts +41 -0
- package/dist/browser-host/sdf-worker-protocol.d.ts.map +1 -0
- package/dist/browser-host/sdf-worker-protocol.js +5 -0
- package/dist/browser-host/sdf-worker-protocol.js.map +1 -0
- package/dist/browser-host/sdf-worker.d.ts +12 -0
- package/dist/browser-host/sdf-worker.d.ts.map +1 -0
- package/dist/browser-host/sdf-worker.js +39 -0
- package/dist/browser-host/sdf-worker.js.map +1 -0
- package/dist/browser-host/worker-csg-backend.d.ts +63 -0
- package/dist/browser-host/worker-csg-backend.d.ts.map +1 -0
- package/dist/browser-host/worker-csg-backend.js +92 -0
- package/dist/browser-host/worker-csg-backend.js.map +1 -0
- package/dist/browser-host/worker-sdf-backend.d.ts +26 -0
- package/dist/browser-host/worker-sdf-backend.d.ts.map +1 -0
- package/dist/browser-host/worker-sdf-backend.js +66 -0
- package/dist/browser-host/worker-sdf-backend.js.map +1 -0
- package/dist/browser.d.ts +136 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +119 -0
- package/dist/browser.js.map +1 -0
- package/dist/cad-runtime/admit-compat-lib.d.ts +29 -0
- package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -0
- package/dist/cad-runtime/admit-compat-lib.js +49 -0
- package/dist/cad-runtime/admit-compat-lib.js.map +1 -0
- package/dist/cad-runtime/backend-dispatch.d.ts +58 -0
- package/dist/cad-runtime/backend-dispatch.d.ts.map +1 -0
- package/dist/cad-runtime/backend-dispatch.js +87 -0
- package/dist/cad-runtime/backend-dispatch.js.map +1 -0
- package/dist/cad-runtime/browser-lib-loader.d.ts +76 -0
- package/dist/cad-runtime/browser-lib-loader.d.ts.map +1 -0
- package/dist/cad-runtime/browser-lib-loader.js +113 -0
- package/dist/cad-runtime/browser-lib-loader.js.map +1 -0
- package/dist/cad-runtime/content-key.d.ts +30 -0
- package/dist/cad-runtime/content-key.d.ts.map +1 -0
- package/dist/cad-runtime/content-key.js +134 -0
- package/dist/cad-runtime/content-key.js.map +1 -0
- package/dist/cad-runtime/createRuntimeWithCad.d.ts +22 -0
- package/dist/cad-runtime/createRuntimeWithCad.d.ts.map +1 -0
- package/dist/cad-runtime/createRuntimeWithCad.js +29 -0
- package/dist/cad-runtime/createRuntimeWithCad.js.map +1 -0
- package/dist/cad-runtime/direct-executor.d.ts +404 -0
- package/dist/cad-runtime/direct-executor.d.ts.map +1 -0
- package/dist/cad-runtime/direct-executor.js +1180 -0
- package/dist/cad-runtime/direct-executor.js.map +1 -0
- package/dist/cad-runtime/exec-backend.d.ts +62 -0
- package/dist/cad-runtime/exec-backend.d.ts.map +1 -0
- package/dist/cad-runtime/exec-backend.js +18 -0
- package/dist/cad-runtime/exec-backend.js.map +1 -0
- package/dist/cad-runtime/exec-backends/interp-backend.d.ts +36 -0
- package/dist/cad-runtime/exec-backends/interp-backend.d.ts.map +1 -0
- package/dist/cad-runtime/exec-backends/interp-backend.js +91 -0
- package/dist/cad-runtime/exec-backends/interp-backend.js.map +1 -0
- package/dist/cad-runtime/exec-backends/vm-backend.d.ts +19 -0
- package/dist/cad-runtime/exec-backends/vm-backend.d.ts.map +1 -0
- package/dist/cad-runtime/exec-backends/vm-backend.js +16 -0
- package/dist/cad-runtime/exec-backends/vm-backend.js.map +1 -0
- package/dist/cad-runtime/execution-limit-error.d.ts +13 -0
- package/dist/cad-runtime/execution-limit-error.d.ts.map +1 -0
- package/dist/cad-runtime/execution-limit-error.js +16 -0
- package/dist/cad-runtime/execution-limit-error.js.map +1 -0
- package/dist/cad-runtime/index.d.ts +10 -0
- package/dist/cad-runtime/index.d.ts.map +1 -0
- package/dist/cad-runtime/index.js +7 -0
- package/dist/cad-runtime/index.js.map +1 -0
- package/dist/cad-runtime/interp/closure.d.ts +39 -0
- package/dist/cad-runtime/interp/closure.d.ts.map +1 -0
- package/dist/cad-runtime/interp/closure.js +66 -0
- package/dist/cad-runtime/interp/closure.js.map +1 -0
- package/dist/cad-runtime/interp/env.d.ts +79 -0
- package/dist/cad-runtime/interp/env.d.ts.map +1 -0
- package/dist/cad-runtime/interp/env.js +76 -0
- package/dist/cad-runtime/interp/env.js.map +1 -0
- package/dist/cad-runtime/interp/eval-expr.d.ts +23 -0
- package/dist/cad-runtime/interp/eval-expr.d.ts.map +1 -0
- package/dist/cad-runtime/interp/eval-expr.js +232 -0
- package/dist/cad-runtime/interp/eval-expr.js.map +1 -0
- package/dist/cad-runtime/interp/exec-stmt.d.ts +34 -0
- package/dist/cad-runtime/interp/exec-stmt.d.ts.map +1 -0
- package/dist/cad-runtime/interp/exec-stmt.js +276 -0
- package/dist/cad-runtime/interp/exec-stmt.js.map +1 -0
- package/dist/cad-runtime/interp/signals.d.ts +31 -0
- package/dist/cad-runtime/interp/signals.d.ts.map +1 -0
- package/dist/cad-runtime/interp/signals.js +45 -0
- package/dist/cad-runtime/interp/signals.js.map +1 -0
- package/dist/cad-runtime/lib-id.d.ts +30 -0
- package/dist/cad-runtime/lib-id.d.ts.map +1 -0
- package/dist/cad-runtime/lib-id.js +94 -0
- package/dist/cad-runtime/lib-id.js.map +1 -0
- package/dist/cad-runtime/live-shapes.d.ts +94 -0
- package/dist/cad-runtime/live-shapes.d.ts.map +1 -0
- package/dist/cad-runtime/live-shapes.js +258 -0
- package/dist/cad-runtime/live-shapes.js.map +1 -0
- package/dist/cad-runtime/module-executor.d.ts +271 -0
- package/dist/cad-runtime/module-executor.d.ts.map +1 -0
- package/dist/cad-runtime/module-executor.js +630 -0
- package/dist/cad-runtime/module-executor.js.map +1 -0
- package/dist/cad-runtime/module-registry.d.ts +114 -0
- package/dist/cad-runtime/module-registry.d.ts.map +1 -0
- package/dist/cad-runtime/module-registry.js +218 -0
- package/dist/cad-runtime/module-registry.js.map +1 -0
- package/dist/cad-runtime/ports.d.ts +213 -0
- package/dist/cad-runtime/ports.d.ts.map +1 -0
- package/dist/cad-runtime/ports.js +13 -0
- package/dist/cad-runtime/ports.js.map +1 -0
- package/dist/cad-runtime/preview-exec.d.ts +50 -0
- package/dist/cad-runtime/preview-exec.d.ts.map +1 -0
- package/dist/cad-runtime/preview-exec.js +61 -0
- package/dist/cad-runtime/preview-exec.js.map +1 -0
- package/dist/cad-runtime/runtime.d.ts +575 -0
- package/dist/cad-runtime/runtime.d.ts.map +1 -0
- package/dist/cad-runtime/runtime.js +1229 -0
- package/dist/cad-runtime/runtime.js.map +1 -0
- package/dist/cad-runtime/terminal-dag.d.ts +65 -0
- package/dist/cad-runtime/terminal-dag.d.ts.map +1 -0
- package/dist/cad-runtime/terminal-dag.js +167 -0
- package/dist/cad-runtime/terminal-dag.js.map +1 -0
- package/dist/csg.d.ts +16 -0
- package/dist/csg.d.ts.map +1 -0
- package/dist/csg.js +13 -0
- package/dist/csg.js.map +1 -0
- package/dist/define-op.d.ts +163 -0
- package/dist/define-op.d.ts.map +1 -0
- package/dist/define-op.js +268 -0
- package/dist/define-op.js.map +1 -0
- package/dist/faqts/browser.d.ts +16 -0
- package/dist/faqts/browser.d.ts.map +1 -0
- package/dist/faqts/browser.js +13 -0
- package/dist/faqts/browser.js.map +1 -0
- package/dist/faqts/exec-blob.d.ts +14 -0
- package/dist/faqts/exec-blob.d.ts.map +1 -0
- package/dist/faqts/exec-blob.js +22 -0
- package/dist/faqts/exec-blob.js.map +1 -0
- package/dist/faqts/exec-node.d.ts +15 -0
- package/dist/faqts/exec-node.d.ts.map +1 -0
- package/dist/faqts/exec-node.js +29 -0
- package/dist/faqts/exec-node.js.map +1 -0
- package/dist/faqts/imports.d.ts +74 -0
- package/dist/faqts/imports.d.ts.map +1 -0
- package/dist/faqts/imports.js +95 -0
- package/dist/faqts/imports.js.map +1 -0
- package/dist/faqts/index.d.ts +22 -0
- package/dist/faqts/index.d.ts.map +1 -0
- package/dist/faqts/index.js +21 -0
- package/dist/faqts/index.js.map +1 -0
- package/dist/faqts/node.d.ts +23 -0
- package/dist/faqts/node.d.ts.map +1 -0
- package/dist/faqts/node.js +23 -0
- package/dist/faqts/node.js.map +1 -0
- package/dist/faqts/run.d.ts +62 -0
- package/dist/faqts/run.d.ts.map +1 -0
- package/dist/faqts/run.js +62 -0
- package/dist/faqts/run.js.map +1 -0
- package/dist/faqts/transform.d.ts +43 -0
- package/dist/faqts/transform.d.ts.map +1 -0
- package/dist/faqts/transform.js +35 -0
- package/dist/faqts/transform.js.map +1 -0
- package/dist/fcstd/build-fai-zip.d.ts +29 -0
- package/dist/fcstd/build-fai-zip.d.ts.map +1 -0
- package/dist/fcstd/build-fai-zip.js +98 -0
- package/dist/fcstd/build-fai-zip.js.map +1 -0
- package/dist/fcstd/codegen.d.ts +57 -0
- package/dist/fcstd/codegen.d.ts.map +1 -0
- package/dist/fcstd/codegen.js +487 -0
- package/dist/fcstd/codegen.js.map +1 -0
- package/dist/fcstd/container.d.ts +60 -0
- package/dist/fcstd/container.d.ts.map +1 -0
- package/dist/fcstd/container.js +25 -0
- package/dist/fcstd/container.js.map +1 -0
- package/dist/fcstd/contour.d.ts +35 -0
- package/dist/fcstd/contour.d.ts.map +1 -0
- package/dist/fcstd/contour.js +86 -0
- package/dist/fcstd/contour.js.map +1 -0
- package/dist/fcstd/convert.d.ts +34 -0
- package/dist/fcstd/convert.d.ts.map +1 -0
- package/dist/fcstd/convert.js +223 -0
- package/dist/fcstd/convert.js.map +1 -0
- package/dist/fcstd/document.d.ts +41 -0
- package/dist/fcstd/document.d.ts.map +1 -0
- package/dist/fcstd/document.js +137 -0
- package/dist/fcstd/document.js.map +1 -0
- package/dist/fcstd/expressions.d.ts +37 -0
- package/dist/fcstd/expressions.d.ts.map +1 -0
- package/dist/fcstd/expressions.js +56 -0
- package/dist/fcstd/expressions.js.map +1 -0
- package/dist/fcstd/external-geo.d.ts +24 -0
- package/dist/fcstd/external-geo.d.ts.map +1 -0
- package/dist/fcstd/external-geo.js +119 -0
- package/dist/fcstd/external-geo.js.map +1 -0
- package/dist/fcstd/feature-translate.d.ts +107 -0
- package/dist/fcstd/feature-translate.d.ts.map +1 -0
- package/dist/fcstd/feature-translate.js +774 -0
- package/dist/fcstd/feature-translate.js.map +1 -0
- package/dist/fcstd/placement.d.ts +50 -0
- package/dist/fcstd/placement.d.ts.map +1 -0
- package/dist/fcstd/placement.js +77 -0
- package/dist/fcstd/placement.js.map +1 -0
- package/dist/fcstd/planegcs-backend.d.ts +19 -0
- package/dist/fcstd/planegcs-backend.d.ts.map +1 -0
- package/dist/fcstd/planegcs-backend.js +611 -0
- package/dist/fcstd/planegcs-backend.js.map +1 -0
- package/dist/fcstd/sketch-parse.d.ts +138 -0
- package/dist/fcstd/sketch-parse.d.ts.map +1 -0
- package/dist/fcstd/sketch-parse.js +201 -0
- package/dist/fcstd/sketch-parse.js.map +1 -0
- package/dist/fcstd/sketch-solver.d.ts +45 -0
- package/dist/fcstd/sketch-solver.d.ts.map +1 -0
- package/dist/fcstd/sketch-solver.js +23 -0
- package/dist/fcstd/sketch-solver.js.map +1 -0
- package/dist/fcstd/sketch-verify.d.ts +25 -0
- package/dist/fcstd/sketch-verify.d.ts.map +1 -0
- package/dist/fcstd/sketch-verify.js +49 -0
- package/dist/fcstd/sketch-verify.js.map +1 -0
- package/dist/fcstd/unpack.d.ts +25 -0
- package/dist/fcstd/unpack.d.ts.map +1 -0
- package/dist/fcstd/unpack.js +55 -0
- package/dist/fcstd/unpack.js.map +1 -0
- package/dist/identity.d.ts +229 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +229 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +125 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +121 -0
- package/dist/index.js.map +1 -0
- package/dist/lang/allocate-id.d.ts +69 -0
- package/dist/lang/allocate-id.d.ts.map +1 -0
- package/dist/lang/allocate-id.js +82 -0
- package/dist/lang/allocate-id.js.map +1 -0
- package/dist/lang/code-to-args.d.ts +58 -0
- package/dist/lang/code-to-args.d.ts.map +1 -0
- package/dist/lang/code-to-args.js +124 -0
- package/dist/lang/code-to-args.js.map +1 -0
- package/dist/lang/codegen.d.ts +72 -0
- package/dist/lang/codegen.d.ts.map +1 -0
- package/dist/lang/codegen.js +148 -0
- package/dist/lang/codegen.js.map +1 -0
- package/dist/lang/compile.d.ts +50 -0
- package/dist/lang/compile.d.ts.map +1 -0
- package/dist/lang/compile.js +368 -0
- package/dist/lang/compile.js.map +1 -0
- package/dist/lang/expr-validate.d.ts +41 -0
- package/dist/lang/expr-validate.d.ts.map +1 -0
- package/dist/lang/expr-validate.js +96 -0
- package/dist/lang/expr-validate.js.map +1 -0
- package/dist/lang/fnv-hash.d.ts +13 -0
- package/dist/lang/fnv-hash.d.ts.map +1 -0
- package/dist/lang/fnv-hash.js +20 -0
- package/dist/lang/fnv-hash.js.map +1 -0
- package/dist/lang/host-arg.d.ts +154 -0
- package/dist/lang/host-arg.d.ts.map +1 -0
- package/dist/lang/host-arg.js +216 -0
- package/dist/lang/host-arg.js.map +1 -0
- package/dist/lang/keep.d.ts +109 -0
- package/dist/lang/keep.d.ts.map +1 -0
- package/dist/lang/keep.js +226 -0
- package/dist/lang/keep.js.map +1 -0
- package/dist/lang/metadata-extractor.d.ts +203 -0
- package/dist/lang/metadata-extractor.d.ts.map +1 -0
- package/dist/lang/metadata-extractor.js +1377 -0
- package/dist/lang/metadata-extractor.js.map +1 -0
- package/dist/lang/parse-error.d.ts +39 -0
- package/dist/lang/parse-error.d.ts.map +1 -0
- package/dist/lang/parse-error.js +28 -0
- package/dist/lang/parse-error.js.map +1 -0
- package/dist/lang/parser.d.ts +91 -0
- package/dist/lang/parser.d.ts.map +1 -0
- package/dist/lang/parser.js +1594 -0
- package/dist/lang/parser.js.map +1 -0
- package/dist/lang/security-scanner.d.ts +104 -0
- package/dist/lang/security-scanner.d.ts.map +1 -0
- package/dist/lang/security-scanner.js +773 -0
- package/dist/lang/security-scanner.js.map +1 -0
- package/dist/lang/source-edit.d.ts +80 -0
- package/dist/lang/source-edit.d.ts.map +1 -0
- package/dist/lang/source-edit.js +96 -0
- package/dist/lang/source-edit.js.map +1 -0
- package/dist/lang/statement-summary.d.ts +84 -0
- package/dist/lang/statement-summary.d.ts.map +1 -0
- package/dist/lang/statement-summary.js +28 -0
- package/dist/lang/statement-summary.js.map +1 -0
- package/dist/lang/symbol-table.d.ts +28 -0
- package/dist/lang/symbol-table.d.ts.map +1 -0
- package/dist/lang/symbol-table.generated.d.ts +80 -0
- package/dist/lang/symbol-table.generated.d.ts.map +1 -0
- package/dist/lang/symbol-table.generated.js +79 -0
- package/dist/lang/symbol-table.generated.js.map +1 -0
- package/dist/lang/symbol-table.js +27 -0
- package/dist/lang/symbol-table.js.map +1 -0
- package/dist/lang/types.d.ts +57 -0
- package/dist/lang/types.d.ts.map +1 -0
- package/dist/lang/types.js +13 -0
- package/dist/lang/types.js.map +1 -0
- package/dist/mesh/boolean.d.ts +34 -0
- package/dist/mesh/boolean.d.ts.map +1 -0
- package/dist/mesh/boolean.js +41 -0
- package/dist/mesh/boolean.js.map +1 -0
- package/dist/mesh/drill-hole/DrillHoleCore.d.ts +90 -0
- package/dist/mesh/drill-hole/DrillHoleCore.d.ts.map +1 -0
- package/dist/mesh/drill-hole/DrillHoleCore.js +287 -0
- package/dist/mesh/drill-hole/DrillHoleCore.js.map +1 -0
- package/dist/mesh/drill-hole/drill-types.d.ts +34 -0
- package/dist/mesh/drill-hole/drill-types.d.ts.map +1 -0
- package/dist/mesh/drill-hole/drill-types.js +7 -0
- package/dist/mesh/drill-hole/drill-types.js.map +1 -0
- package/dist/mesh/engrave.d.ts +36 -0
- package/dist/mesh/engrave.d.ts.map +1 -0
- package/dist/mesh/engrave.js +154 -0
- package/dist/mesh/engrave.js.map +1 -0
- package/dist/mesh/fai_drill.d.ts +21 -0
- package/dist/mesh/fai_drill.d.ts.map +1 -0
- package/dist/mesh/fai_drill.js +92 -0
- package/dist/mesh/fai_drill.js.map +1 -0
- package/dist/mesh/fai_extrude.d.ts +24 -0
- package/dist/mesh/fai_extrude.d.ts.map +1 -0
- package/dist/mesh/fai_extrude.js +42 -0
- package/dist/mesh/fai_extrude.js.map +1 -0
- package/dist/mesh/fai_split.d.ts +164 -0
- package/dist/mesh/fai_split.d.ts.map +1 -0
- package/dist/mesh/fai_split.js +269 -0
- package/dist/mesh/fai_split.js.map +1 -0
- package/dist/mesh/index.d.ts +84 -0
- package/dist/mesh/index.d.ts.map +1 -0
- package/dist/mesh/index.js +95 -0
- package/dist/mesh/index.js.map +1 -0
- package/dist/mesh/io.d.ts +17 -0
- package/dist/mesh/io.d.ts.map +1 -0
- package/dist/mesh/io.js +33 -0
- package/dist/mesh/io.js.map +1 -0
- package/dist/mesh/knurl/KnurlGenerator.d.ts +77 -0
- package/dist/mesh/knurl/KnurlGenerator.d.ts.map +1 -0
- package/dist/mesh/knurl/KnurlGenerator.js +116 -0
- package/dist/mesh/knurl/KnurlGenerator.js.map +1 -0
- package/dist/mesh/knurl/displacement.d.ts +53 -0
- package/dist/mesh/knurl/displacement.d.ts.map +1 -0
- package/dist/mesh/knurl/displacement.js +274 -0
- package/dist/mesh/knurl/displacement.js.map +1 -0
- package/dist/mesh/knurl/mapping.d.ts +104 -0
- package/dist/mesh/knurl/mapping.d.ts.map +1 -0
- package/dist/mesh/knurl/mapping.js +307 -0
- package/dist/mesh/knurl/mapping.js.map +1 -0
- package/dist/mesh/knurl/meshIndex.d.ts +63 -0
- package/dist/mesh/knurl/meshIndex.d.ts.map +1 -0
- package/dist/mesh/knurl/meshIndex.js +134 -0
- package/dist/mesh/knurl/meshIndex.js.map +1 -0
- package/dist/mesh/knurl/subdivision.d.ts +54 -0
- package/dist/mesh/knurl/subdivision.d.ts.map +1 -0
- package/dist/mesh/knurl/subdivision.js +517 -0
- package/dist/mesh/knurl/subdivision.js.map +1 -0
- package/dist/mesh/knurl/textureLoader.d.ts +38 -0
- package/dist/mesh/knurl/textureLoader.d.ts.map +1 -0
- package/dist/mesh/knurl/textureLoader.js +40 -0
- package/dist/mesh/knurl/textureLoader.js.map +1 -0
- package/dist/mesh/manifold-loader.d.ts +41 -0
- package/dist/mesh/manifold-loader.d.ts.map +1 -0
- package/dist/mesh/manifold-loader.js +56 -0
- package/dist/mesh/manifold-loader.js.map +1 -0
- package/dist/mesh/primitives.d.ts +104 -0
- package/dist/mesh/primitives.d.ts.map +1 -0
- package/dist/mesh/primitives.js +275 -0
- package/dist/mesh/primitives.js.map +1 -0
- package/dist/mesh/query.d.ts +43 -0
- package/dist/mesh/query.d.ts.map +1 -0
- package/dist/mesh/query.js +124 -0
- package/dist/mesh/query.js.map +1 -0
- package/dist/mesh/reconcile.d.ts +84 -0
- package/dist/mesh/reconcile.d.ts.map +1 -0
- package/dist/mesh/reconcile.js +261 -0
- package/dist/mesh/reconcile.js.map +1 -0
- package/dist/mesh/rigid-transform.d.ts +28 -0
- package/dist/mesh/rigid-transform.d.ts.map +1 -0
- package/dist/mesh/rigid-transform.js +51 -0
- package/dist/mesh/rigid-transform.js.map +1 -0
- package/dist/mesh/transform.d.ts +57 -0
- package/dist/mesh/transform.d.ts.map +1 -0
- package/dist/mesh/transform.js +102 -0
- package/dist/mesh/transform.js.map +1 -0
- package/dist/mesh/types.d.ts +279 -0
- package/dist/mesh/types.d.ts.map +1 -0
- package/dist/mesh/types.js +46 -0
- package/dist/mesh/types.js.map +1 -0
- package/dist/module-resolver/index.d.ts +8 -0
- package/dist/module-resolver/index.d.ts.map +1 -0
- package/dist/module-resolver/index.js +8 -0
- package/dist/module-resolver/index.js.map +1 -0
- package/dist/module-resolver/resolver.d.ts +112 -0
- package/dist/module-resolver/resolver.d.ts.map +1 -0
- package/dist/module-resolver/resolver.js +226 -0
- package/dist/module-resolver/resolver.js.map +1 -0
- package/dist/module-resolver/version.d.ts +46 -0
- package/dist/module-resolver/version.d.ts.map +1 -0
- package/dist/module-resolver/version.js +187 -0
- package/dist/module-resolver/version.js.map +1 -0
- package/dist/node-host/cli-event-sink.d.ts +25 -0
- package/dist/node-host/cli-event-sink.d.ts.map +1 -0
- package/dist/node-host/cli-event-sink.js +22 -0
- package/dist/node-host/cli-event-sink.js.map +1 -0
- package/dist/node-host/cli.d.ts +168 -0
- package/dist/node-host/cli.d.ts.map +1 -0
- package/dist/node-host/cli.js +646 -0
- package/dist/node-host/cli.js.map +1 -0
- package/dist/node-host/fs-asset-resolver.d.ts +55 -0
- package/dist/node-host/fs-asset-resolver.d.ts.map +1 -0
- package/dist/node-host/fs-asset-resolver.js +107 -0
- package/dist/node-host/fs-asset-resolver.js.map +1 -0
- package/dist/node-host/fs-project-loader.d.ts +40 -0
- package/dist/node-host/fs-project-loader.d.ts.map +1 -0
- package/dist/node-host/fs-project-loader.js +112 -0
- package/dist/node-host/fs-project-loader.js.map +1 -0
- package/dist/node-host/index.d.ts +46 -0
- package/dist/node-host/index.d.ts.map +1 -0
- package/dist/node-host/index.js +56 -0
- package/dist/node-host/index.js.map +1 -0
- package/dist/node-host/node-font-provider.d.ts +50 -0
- package/dist/node-host/node-font-provider.d.ts.map +1 -0
- package/dist/node-host/node-font-provider.js +87 -0
- package/dist/node-host/node-font-provider.js.map +1 -0
- package/dist/node.d.ts +23 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +23 -0
- package/dist/node.js.map +1 -0
- package/dist/occt-kernel/highLevelApi.d.ts +106 -0
- package/dist/occt-kernel/highLevelApi.d.ts.map +1 -0
- package/dist/occt-kernel/highLevelApi.js +149 -0
- package/dist/occt-kernel/highLevelApi.js.map +1 -0
- package/dist/occt-kernel/meshReconstruct.d.ts +75 -0
- package/dist/occt-kernel/meshReconstruct.d.ts.map +1 -0
- package/dist/occt-kernel/meshReconstruct.js +196 -0
- package/dist/occt-kernel/meshReconstruct.js.map +1 -0
- package/dist/occt-kernel/occtKernel.d.ts +174 -0
- package/dist/occt-kernel/occtKernel.d.ts.map +1 -0
- package/dist/occt-kernel/occtKernel.js +400 -0
- package/dist/occt-kernel/occtKernel.js.map +1 -0
- package/dist/occt-kernel/stepColorParser.d.ts +54 -0
- package/dist/occt-kernel/stepColorParser.d.ts.map +1 -0
- package/dist/occt-kernel/stepColorParser.js +139 -0
- package/dist/occt-kernel/stepColorParser.js.map +1 -0
- package/dist/occt-kernel/topologyExt.d.ts +80 -0
- package/dist/occt-kernel/topologyExt.d.ts.map +1 -0
- package/dist/occt-kernel/topologyExt.js +1295 -0
- package/dist/occt-kernel/topologyExt.js.map +1 -0
- package/dist/primitives/brep-primitives.d.ts +104 -0
- package/dist/primitives/brep-primitives.d.ts.map +1 -0
- package/dist/primitives/brep-primitives.js +297 -0
- package/dist/primitives/brep-primitives.js.map +1 -0
- package/dist/primitives/mesh-primitives.d.ts +38 -0
- package/dist/primitives/mesh-primitives.d.ts.map +1 -0
- package/dist/primitives/mesh-primitives.js +160 -0
- package/dist/primitives/mesh-primitives.js.map +1 -0
- package/dist/primitives/parse-svg-size.d.ts +18 -0
- package/dist/primitives/parse-svg-size.d.ts.map +1 -0
- package/dist/primitives/parse-svg-size.js +31 -0
- package/dist/primitives/parse-svg-size.js.map +1 -0
- package/dist/primitives/screw/screw-db.d.ts +86 -0
- package/dist/primitives/screw/screw-db.d.ts.map +1 -0
- package/dist/primitives/screw/screw-db.js +95 -0
- package/dist/primitives/screw/screw-db.js.map +1 -0
- package/dist/primitives/screw/screw.d.ts +13 -0
- package/dist/primitives/screw/screw.d.ts.map +1 -0
- package/dist/primitives/screw/screw.js +176 -0
- package/dist/primitives/screw/screw.js.map +1 -0
- package/dist/primitives/svg-extrude.d.ts +43 -0
- package/dist/primitives/svg-extrude.d.ts.map +1 -0
- package/dist/primitives/svg-extrude.js +78 -0
- package/dist/primitives/svg-extrude.js.map +1 -0
- package/dist/primitives/text/cjk.d.ts +61 -0
- package/dist/primitives/text/cjk.d.ts.map +1 -0
- package/dist/primitives/text/cjk.js +215 -0
- package/dist/primitives/text/cjk.js.map +1 -0
- package/dist/primitives/text-geometry.d.ts +47 -0
- package/dist/primitives/text-geometry.d.ts.map +1 -0
- package/dist/primitives/text-geometry.js +127 -0
- package/dist/primitives/text-geometry.js.map +1 -0
- package/dist/primitives/types.d.ts +56 -0
- package/dist/primitives/types.d.ts.map +1 -0
- package/dist/primitives/types.js +25 -0
- package/dist/primitives/types.js.map +1 -0
- package/dist/runtime-state.d.ts +303 -0
- package/dist/runtime-state.d.ts.map +1 -0
- package/dist/runtime-state.js +316 -0
- package/dist/runtime-state.js.map +1 -0
- package/dist/sdf/sdf-core.d.ts +67 -0
- package/dist/sdf/sdf-core.d.ts.map +1 -0
- package/dist/sdf/sdf-core.js +118 -0
- package/dist/sdf/sdf-core.js.map +1 -0
- package/dist/sdf/sdf-runner.d.ts +33 -0
- package/dist/sdf/sdf-runner.d.ts.map +1 -0
- package/dist/sdf/sdf-runner.js +45 -0
- package/dist/sdf/sdf-runner.js.map +1 -0
- package/dist/sdf/templates.d.ts +7 -0
- package/dist/sdf/templates.d.ts.map +1 -0
- package/dist/sdf/templates.js +282 -0
- package/dist/sdf/templates.js.map +1 -0
- package/dist/sdf/types.d.ts +114 -0
- package/dist/sdf/types.d.ts.map +1 -0
- package/dist/sdf/types.js +97 -0
- package/dist/sdf/types.js.map +1 -0
- package/dist/sdf.d.ts +12 -0
- package/dist/sdf.d.ts.map +1 -0
- package/dist/sdf.js +10 -0
- package/dist/sdf.js.map +1 -0
- package/dist/sdk.d.ts +30 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +34 -0
- package/dist/sdk.js.map +1 -0
- package/dist/shape.d.ts +121 -0
- package/dist/shape.d.ts.map +1 -0
- package/dist/shape.js +145 -0
- package/dist/shape.js.map +1 -0
- package/dist/test-helpers.d.ts +31 -0
- package/dist/test-helpers.d.ts.map +1 -0
- package/dist/test-helpers.js +55 -0
- package/dist/test-helpers.js.map +1 -0
- package/dist/topology/build-face-ids.d.ts +35 -0
- package/dist/topology/build-face-ids.d.ts.map +1 -0
- package/dist/topology/build-face-ids.js +70 -0
- package/dist/topology/build-face-ids.js.map +1 -0
- package/dist/topology/build-logical-points.d.ts +68 -0
- package/dist/topology/build-logical-points.d.ts.map +1 -0
- package/dist/topology/build-logical-points.js +169 -0
- package/dist/topology/build-logical-points.js.map +1 -0
- package/dist/topology/build-selector-runtime.d.ts +82 -0
- package/dist/topology/build-selector-runtime.d.ts.map +1 -0
- package/dist/topology/build-selector-runtime.js +601 -0
- package/dist/topology/build-selector-runtime.js.map +1 -0
- package/dist/topology/naming/build-naming.d.ts +89 -0
- package/dist/topology/naming/build-naming.d.ts.map +1 -0
- package/dist/topology/naming/build-naming.js +107 -0
- package/dist/topology/naming/build-naming.js.map +1 -0
- package/dist/topology/naming/capture-topo-ref.d.ts +22 -0
- package/dist/topology/naming/capture-topo-ref.d.ts.map +1 -0
- package/dist/topology/naming/capture-topo-ref.js +34 -0
- package/dist/topology/naming/capture-topo-ref.js.map +1 -0
- package/dist/topology/naming/geom-hint.d.ts +92 -0
- package/dist/topology/naming/geom-hint.d.ts.map +1 -0
- package/dist/topology/naming/geom-hint.js +254 -0
- package/dist/topology/naming/geom-hint.js.map +1 -0
- package/dist/topology/naming/index.d.ts +19 -0
- package/dist/topology/naming/index.d.ts.map +1 -0
- package/dist/topology/naming/index.js +19 -0
- package/dist/topology/naming/index.js.map +1 -0
- package/dist/topology/naming/ref-params.d.ts +49 -0
- package/dist/topology/naming/ref-params.d.ts.map +1 -0
- package/dist/topology/naming/ref-params.js +92 -0
- package/dist/topology/naming/ref-params.js.map +1 -0
- package/dist/topology/naming/resolve-derived.d.ts +23 -0
- package/dist/topology/naming/resolve-derived.d.ts.map +1 -0
- package/dist/topology/naming/resolve-derived.js +128 -0
- package/dist/topology/naming/resolve-derived.js.map +1 -0
- package/dist/topology/naming/resolve-edge.d.ts +36 -0
- package/dist/topology/naming/resolve-edge.d.ts.map +1 -0
- package/dist/topology/naming/resolve-edge.js +138 -0
- package/dist/topology/naming/resolve-edge.js.map +1 -0
- package/dist/topology/naming/resolve-face.d.ts +89 -0
- package/dist/topology/naming/resolve-face.d.ts.map +1 -0
- package/dist/topology/naming/resolve-face.js +107 -0
- package/dist/topology/naming/resolve-face.js.map +1 -0
- package/dist/topology/naming/resolve-vertex.d.ts +27 -0
- package/dist/topology/naming/resolve-vertex.d.ts.map +1 -0
- package/dist/topology/naming/resolve-vertex.js +115 -0
- package/dist/topology/naming/resolve-vertex.js.map +1 -0
- package/dist/topology/naming/resolver.d.ts +40 -0
- package/dist/topology/naming/resolver.d.ts.map +1 -0
- package/dist/topology/naming/resolver.js +71 -0
- package/dist/topology/naming/resolver.js.map +1 -0
- package/dist/topology/naming/roles.d.ts +111 -0
- package/dist/topology/naming/roles.d.ts.map +1 -0
- package/dist/topology/naming/roles.js +271 -0
- package/dist/topology/naming/roles.js.map +1 -0
- package/dist/topology/naming/score.d.ts +60 -0
- package/dist/topology/naming/score.d.ts.map +1 -0
- package/dist/topology/naming/score.js +121 -0
- package/dist/topology/naming/score.js.map +1 -0
- package/dist/topology/naming/types.d.ts +142 -0
- package/dist/topology/naming/types.d.ts.map +1 -0
- package/dist/topology/naming/types.js +27 -0
- package/dist/topology/naming/types.js.map +1 -0
- package/dist/topology/types.d.ts +225 -0
- package/dist/topology/types.d.ts.map +1 -0
- package/dist/topology/types.js +2 -0
- package/dist/topology/types.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts +106 -0
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js +341 -0
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts +185 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprint.js +361 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprint.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts +15 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js +28 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts +29 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js +86 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts +57 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js +92 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts +58 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js +346 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts +30 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js +45 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts +68 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprints.js +116 -0
- package/dist/vendored/brepjs/2d/blueprints/blueprints.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts +68 -0
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.js +362 -0
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts +34 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js +176 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts +55 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js +110 -0
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts +41 -0
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js +90 -0
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts +85 -0
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js +136 -0
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts +48 -0
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js +154 -0
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts +342 -0
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js +32 -0
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/index.d.ts +16 -0
- package/dist/vendored/brepjs/2d/blueprints/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/index.js +13 -0
- package/dist/vendored/brepjs/2d/blueprints/index.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts +18 -0
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js +230 -0
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/lib.d.ts +73 -0
- package/dist/vendored/brepjs/2d/blueprints/lib.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/lib.js +103 -0
- package/dist/vendored/brepjs/2d/blueprints/lib.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts +31 -0
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js +226 -0
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/svg.d.ts +22 -0
- package/dist/vendored/brepjs/2d/blueprints/svg.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/blueprints/svg.js +30 -0
- package/dist/vendored/brepjs/2d/blueprints/svg.js.map +1 -0
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts +124 -0
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.js +235 -0
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.js.map +1 -0
- package/dist/vendored/brepjs/2d/curves.d.ts +45 -0
- package/dist/vendored/brepjs/2d/curves.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/curves.js +139 -0
- package/dist/vendored/brepjs/2d/curves.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/approximations.d.ts +47 -0
- package/dist/vendored/brepjs/2d/lib/approximations.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/approximations.js +82 -0
- package/dist/vendored/brepjs/2d/lib/approximations.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts +39 -0
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.js +88 -0
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/curve2D.d.ts +82 -0
- package/dist/vendored/brepjs/2d/lib/curve2D.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/curve2D.js +258 -0
- package/dist/vendored/brepjs/2d/lib/curve2D.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts +53 -0
- package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/curve2dFns.js +69 -0
- package/dist/vendored/brepjs/2d/lib/curve2dFns.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/customCorners.d.ts +29 -0
- package/dist/vendored/brepjs/2d/lib/customCorners.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/customCorners.js +237 -0
- package/dist/vendored/brepjs/2d/lib/customCorners.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/definitions.d.ts +12 -0
- package/dist/vendored/brepjs/2d/lib/definitions.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/definitions.js +19 -0
- package/dist/vendored/brepjs/2d/lib/definitions.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts +21 -0
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js +71 -0
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/index.d.ts +14 -0
- package/dist/vendored/brepjs/2d/lib/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/index.js +14 -0
- package/dist/vendored/brepjs/2d/lib/index.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/intersections.d.ts +34 -0
- package/dist/vendored/brepjs/2d/lib/intersections.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/intersections.js +77 -0
- package/dist/vendored/brepjs/2d/lib/intersections.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts +63 -0
- package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/makeCurves.js +117 -0
- package/dist/vendored/brepjs/2d/lib/makeCurves.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/offset.d.ts +30 -0
- package/dist/vendored/brepjs/2d/lib/offset.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/offset.js +109 -0
- package/dist/vendored/brepjs/2d/lib/offset.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/precision.d.ts +12 -0
- package/dist/vendored/brepjs/2d/lib/precision.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/precision.js +12 -0
- package/dist/vendored/brepjs/2d/lib/precision.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/stitching.d.ts +15 -0
- package/dist/vendored/brepjs/2d/lib/stitching.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/stitching.js +67 -0
- package/dist/vendored/brepjs/2d/lib/stitching.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/svgPath.d.ts +4 -0
- package/dist/vendored/brepjs/2d/lib/svgPath.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/svgPath.js +114 -0
- package/dist/vendored/brepjs/2d/lib/svgPath.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/utils.d.ts +11 -0
- package/dist/vendored/brepjs/2d/lib/utils.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/utils.js +24 -0
- package/dist/vendored/brepjs/2d/lib/utils.js.map +1 -0
- package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts +19 -0
- package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d/lib/vectorOperations.js +26 -0
- package/dist/vendored/brepjs/2d/lib/vectorOperations.js.map +1 -0
- package/dist/vendored/brepjs/2d.d.ts +26 -0
- package/dist/vendored/brepjs/2d.d.ts.map +1 -0
- package/dist/vendored/brepjs/2d.js +33 -0
- package/dist/vendored/brepjs/2d.js.map +1 -0
- package/dist/vendored/brepjs/core/constants.d.ts +7 -0
- package/dist/vendored/brepjs/core/constants.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/constants.js +7 -0
- package/dist/vendored/brepjs/core/constants.js.map +1 -0
- package/dist/vendored/brepjs/core/curve2dHandle.d.ts +35 -0
- package/dist/vendored/brepjs/core/curve2dHandle.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/curve2dHandle.js +48 -0
- package/dist/vendored/brepjs/core/curve2dHandle.js.map +1 -0
- package/dist/vendored/brepjs/core/dimensionTypes.d.ts +61 -0
- package/dist/vendored/brepjs/core/dimensionTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/dimensionTypes.js +54 -0
- package/dist/vendored/brepjs/core/dimensionTypes.js.map +1 -0
- package/dist/vendored/brepjs/core/disposal.d.ts +136 -0
- package/dist/vendored/brepjs/core/disposal.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/disposal.js +441 -0
- package/dist/vendored/brepjs/core/disposal.js.map +1 -0
- package/dist/vendored/brepjs/core/errors.d.ts +191 -0
- package/dist/vendored/brepjs/core/errors.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/errors.js +238 -0
- package/dist/vendored/brepjs/core/errors.js.map +1 -0
- package/dist/vendored/brepjs/core/kernelBoundary.d.ts +40 -0
- package/dist/vendored/brepjs/core/kernelBoundary.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/kernelBoundary.js +99 -0
- package/dist/vendored/brepjs/core/kernelBoundary.js.map +1 -0
- package/dist/vendored/brepjs/core/kernelCall.d.ts +48 -0
- package/dist/vendored/brepjs/core/kernelCall.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/kernelCall.js +154 -0
- package/dist/vendored/brepjs/core/kernelCall.js.map +1 -0
- package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts +17 -0
- package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/kernelErrorTranslation.js +98 -0
- package/dist/vendored/brepjs/core/kernelErrorTranslation.js.map +1 -0
- package/dist/vendored/brepjs/core/kernelReentrancy.d.ts +41 -0
- package/dist/vendored/brepjs/core/kernelReentrancy.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/kernelReentrancy.js +68 -0
- package/dist/vendored/brepjs/core/kernelReentrancy.js.map +1 -0
- package/dist/vendored/brepjs/core/planeOps.d.ts +62 -0
- package/dist/vendored/brepjs/core/planeOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/planeOps.js +148 -0
- package/dist/vendored/brepjs/core/planeOps.js.map +1 -0
- package/dist/vendored/brepjs/core/planeTypes.d.ts +22 -0
- package/dist/vendored/brepjs/core/planeTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/planeTypes.js +6 -0
- package/dist/vendored/brepjs/core/planeTypes.js.map +1 -0
- package/dist/vendored/brepjs/core/result.d.ts +85 -0
- package/dist/vendored/brepjs/core/result.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/result.js +212 -0
- package/dist/vendored/brepjs/core/result.js.map +1 -0
- package/dist/vendored/brepjs/core/shapeTypeCache.d.ts +27 -0
- package/dist/vendored/brepjs/core/shapeTypeCache.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/shapeTypeCache.js +40 -0
- package/dist/vendored/brepjs/core/shapeTypeCache.js.map +1 -0
- package/dist/vendored/brepjs/core/shapeTypes.d.ts +199 -0
- package/dist/vendored/brepjs/core/shapeTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/shapeTypes.js +267 -0
- package/dist/vendored/brepjs/core/shapeTypes.js.map +1 -0
- package/dist/vendored/brepjs/core/typeDiscriminants.d.ts +25 -0
- package/dist/vendored/brepjs/core/typeDiscriminants.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/typeDiscriminants.js +50 -0
- package/dist/vendored/brepjs/core/typeDiscriminants.js.map +1 -0
- package/dist/vendored/brepjs/core/types.d.ts +51 -0
- package/dist/vendored/brepjs/core/types.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/types.js +35 -0
- package/dist/vendored/brepjs/core/types.js.map +1 -0
- package/dist/vendored/brepjs/core/validityTypes.d.ts +143 -0
- package/dist/vendored/brepjs/core/validityTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/validityTypes.js +174 -0
- package/dist/vendored/brepjs/core/validityTypes.js.map +1 -0
- package/dist/vendored/brepjs/core/vecOps.d.ts +53 -0
- package/dist/vendored/brepjs/core/vecOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/core/vecOps.js +131 -0
- package/dist/vendored/brepjs/core/vecOps.js.map +1 -0
- package/dist/vendored/brepjs/core.d.ts +17 -0
- package/dist/vendored/brepjs/core.d.ts.map +1 -0
- package/dist/vendored/brepjs/core.js +13 -0
- package/dist/vendored/brepjs/core.js.map +1 -0
- package/dist/vendored/brepjs/gear/gearFns.d.ts +148 -0
- package/dist/vendored/brepjs/gear/gearFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/gear/gearFns.js +479 -0
- package/dist/vendored/brepjs/gear/gearFns.js.map +1 -0
- package/dist/vendored/brepjs/gear/gearMath.d.ts +89 -0
- package/dist/vendored/brepjs/gear/gearMath.d.ts.map +1 -0
- package/dist/vendored/brepjs/gear/gearMath.js +195 -0
- package/dist/vendored/brepjs/gear/gearMath.js.map +1 -0
- package/dist/vendored/brepjs/gear/gearProfile.d.ts +17 -0
- package/dist/vendored/brepjs/gear/gearProfile.d.ts.map +1 -0
- package/dist/vendored/brepjs/gear/gearProfile.js +159 -0
- package/dist/vendored/brepjs/gear/gearProfile.js.map +1 -0
- package/dist/vendored/brepjs/gear/index.d.ts +4 -0
- package/dist/vendored/brepjs/gear/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/gear/index.js +4 -0
- package/dist/vendored/brepjs/gear/index.js.map +1 -0
- package/dist/vendored/brepjs/index.d.ts +152 -0
- package/dist/vendored/brepjs/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/index.js +195 -0
- package/dist/vendored/brepjs/index.js.map +1 -0
- package/dist/vendored/brepjs/io/dxfExportFns.d.ts +74 -0
- package/dist/vendored/brepjs/io/dxfExportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/dxfExportFns.js +134 -0
- package/dist/vendored/brepjs/io/dxfExportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/dxfImportFns.d.ts +20 -0
- package/dist/vendored/brepjs/io/dxfImportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/dxfImportFns.js +132 -0
- package/dist/vendored/brepjs/io/dxfImportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/gltfExportFns.d.ts +97 -0
- package/dist/vendored/brepjs/io/gltfExportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/gltfExportFns.js +460 -0
- package/dist/vendored/brepjs/io/gltfExportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/gltfImportFns.d.ts +21 -0
- package/dist/vendored/brepjs/io/gltfImportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/gltfImportFns.js +33 -0
- package/dist/vendored/brepjs/io/gltfImportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/importFns.d.ts +56 -0
- package/dist/vendored/brepjs/io/importFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/importFns.js +108 -0
- package/dist/vendored/brepjs/io/importFns.js.map +1 -0
- package/dist/vendored/brepjs/io/ioUtils.d.ts +22 -0
- package/dist/vendored/brepjs/io/ioUtils.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/ioUtils.js +56 -0
- package/dist/vendored/brepjs/io/ioUtils.js.map +1 -0
- package/dist/vendored/brepjs/io/objExportFns.d.ts +23 -0
- package/dist/vendored/brepjs/io/objExportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/objExportFns.js +67 -0
- package/dist/vendored/brepjs/io/objExportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/objImportFns.d.ts +26 -0
- package/dist/vendored/brepjs/io/objImportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/objImportFns.js +96 -0
- package/dist/vendored/brepjs/io/objImportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/stepConfigFns.d.ts +30 -0
- package/dist/vendored/brepjs/io/stepConfigFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/stepConfigFns.js +30 -0
- package/dist/vendored/brepjs/io/stepConfigFns.js.map +1 -0
- package/dist/vendored/brepjs/io/svgImportFns.d.ts +58 -0
- package/dist/vendored/brepjs/io/svgImportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/svgImportFns.js +394 -0
- package/dist/vendored/brepjs/io/svgImportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/threemfExportFns.d.ts +48 -0
- package/dist/vendored/brepjs/io/threemfExportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/threemfExportFns.js +345 -0
- package/dist/vendored/brepjs/io/threemfExportFns.js.map +1 -0
- package/dist/vendored/brepjs/io/threemfImportFns.d.ts +22 -0
- package/dist/vendored/brepjs/io/threemfImportFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/io/threemfImportFns.js +350 -0
- package/dist/vendored/brepjs/io/threemfImportFns.js.map +1 -0
- package/dist/vendored/brepjs/io.d.ts +17 -0
- package/dist/vendored/brepjs/io.d.ts.map +1 -0
- package/dist/vendored/brepjs/io.js +20 -0
- package/dist/vendored/brepjs/io.js.map +1 -0
- package/dist/vendored/brepjs/kernel/capabilities.d.ts +36 -0
- package/dist/vendored/brepjs/kernel/capabilities.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/capabilities.js +35 -0
- package/dist/vendored/brepjs/kernel/capabilities.js.map +1 -0
- package/dist/vendored/brepjs/kernel/geometry2d.d.ts +96 -0
- package/dist/vendored/brepjs/kernel/geometry2d.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/geometry2d.js +885 -0
- package/dist/vendored/brepjs/kernel/geometry2d.js.map +1 -0
- package/dist/vendored/brepjs/kernel/hullGeometry.d.ts +23 -0
- package/dist/vendored/brepjs/kernel/hullGeometry.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/hullGeometry.js +312 -0
- package/dist/vendored/brepjs/kernel/hullGeometry.js.map +1 -0
- package/dist/vendored/brepjs/kernel/index.d.ts +61 -0
- package/dist/vendored/brepjs/kernel/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/index.js +93 -0
- package/dist/vendored/brepjs/kernel/index.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts +44 -0
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js +11 -0
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts +67 -0
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.js +12 -0
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/core.d.ts +46 -0
- package/dist/vendored/brepjs/kernel/interfaces/core.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/core.js +11 -0
- package/dist/vendored/brepjs/kernel/interfaces/core.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts +53 -0
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.js +12 -0
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts +32 -0
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js +14 -0
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/index.d.ts +43 -0
- package/dist/vendored/brepjs/kernel/interfaces/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/index.js +12 -0
- package/dist/vendored/brepjs/kernel/interfaces/index.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts +65 -0
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.js +9 -0
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts +55 -0
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.js +9 -0
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts +25 -0
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.js +8 -0
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts +53 -0
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js +10 -0
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts +22 -0
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js +11 -0
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts +43 -0
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.js +9 -0
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts +72 -0
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js +13 -0
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts +73 -0
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js +11 -0
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts +62 -0
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js +9 -0
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts +80 -0
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.js +11 -0
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts +145 -0
- package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/kernel2dTypes.js +18 -0
- package/dist/vendored/brepjs/kernel/kernel2dTypes.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts +41 -0
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js +2 -0
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts +17 -0
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js +75 -0
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts +36 -0
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js +116 -0
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts +43 -0
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js +292 -0
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts +34 -0
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js +164 -0
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts +26 -0
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js +256 -0
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts +42 -0
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.js +146 -0
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts +17 -0
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js +55 -0
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts +58 -0
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js +303 -0
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts +113 -0
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js +731 -0
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts +62 -0
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js +338 -0
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts +12 -0
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js +120 -0
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts +20 -0
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js +187 -0
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts +513 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js +1016 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts +332 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js +10 -0
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts +16 -0
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js +64 -0
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts +16 -0
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js +38 -0
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts +56 -0
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js +247 -0
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts +56 -0
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js +235 -0
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts +25 -0
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js +127 -0
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts +40 -0
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js +275 -0
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js.map +1 -0
- package/dist/vendored/brepjs/kernel/quality.d.ts +28 -0
- package/dist/vendored/brepjs/kernel/quality.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/quality.js +40 -0
- package/dist/vendored/brepjs/kernel/quality.js.map +1 -0
- package/dist/vendored/brepjs/kernel/solverAdapter.d.ts +50 -0
- package/dist/vendored/brepjs/kernel/solverAdapter.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/solverAdapter.js +330 -0
- package/dist/vendored/brepjs/kernel/solverAdapter.js.map +1 -0
- package/dist/vendored/brepjs/kernel/stlBuilder.d.ts +21 -0
- package/dist/vendored/brepjs/kernel/stlBuilder.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/stlBuilder.js +106 -0
- package/dist/vendored/brepjs/kernel/stlBuilder.js.map +1 -0
- package/dist/vendored/brepjs/kernel/types.d.ts +214 -0
- package/dist/vendored/brepjs/kernel/types.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/types.js +22 -0
- package/dist/vendored/brepjs/kernel/types.js.map +1 -0
- package/dist/vendored/brepjs/kernel/unsupported.d.ts +15 -0
- package/dist/vendored/brepjs/kernel/unsupported.d.ts.map +1 -0
- package/dist/vendored/brepjs/kernel/unsupported.js +25 -0
- package/dist/vendored/brepjs/kernel/unsupported.js.map +1 -0
- package/dist/vendored/brepjs/measurement/interferenceFns.d.ts +68 -0
- package/dist/vendored/brepjs/measurement/interferenceFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/measurement/interferenceFns.js +102 -0
- package/dist/vendored/brepjs/measurement/interferenceFns.js.map +1 -0
- package/dist/vendored/brepjs/measurement/measureCache.d.ts +20 -0
- package/dist/vendored/brepjs/measurement/measureCache.d.ts.map +1 -0
- package/dist/vendored/brepjs/measurement/measureCache.js +28 -0
- package/dist/vendored/brepjs/measurement/measureCache.js.map +1 -0
- package/dist/vendored/brepjs/measurement/measureFns.d.ts +92 -0
- package/dist/vendored/brepjs/measurement/measureFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/measurement/measureFns.js +239 -0
- package/dist/vendored/brepjs/measurement/measureFns.js.map +1 -0
- package/dist/vendored/brepjs/measurement/measureTypes.d.ts +35 -0
- package/dist/vendored/brepjs/measurement/measureTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/measurement/measureTypes.js +7 -0
- package/dist/vendored/brepjs/measurement/measureTypes.js.map +1 -0
- package/dist/vendored/brepjs/measurement.d.ts +5 -0
- package/dist/vendored/brepjs/measurement.d.ts.map +1 -0
- package/dist/vendored/brepjs/measurement.js +5 -0
- package/dist/vendored/brepjs/measurement.js.map +1 -0
- package/dist/vendored/brepjs/ns/booleans.d.ts +11 -0
- package/dist/vendored/brepjs/ns/booleans.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/booleans.js +11 -0
- package/dist/vendored/brepjs/ns/booleans.js.map +1 -0
- package/dist/vendored/brepjs/ns/construction.d.ts +10 -0
- package/dist/vendored/brepjs/ns/construction.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/construction.js +10 -0
- package/dist/vendored/brepjs/ns/construction.js.map +1 -0
- package/dist/vendored/brepjs/ns/ioNs.d.ts +18 -0
- package/dist/vendored/brepjs/ns/ioNs.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/ioNs.js +20 -0
- package/dist/vendored/brepjs/ns/ioNs.js.map +1 -0
- package/dist/vendored/brepjs/ns/measurement.d.ts +6 -0
- package/dist/vendored/brepjs/ns/measurement.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/measurement.js +6 -0
- package/dist/vendored/brepjs/ns/measurement.js.map +1 -0
- package/dist/vendored/brepjs/ns/modifiers.d.ts +6 -0
- package/dist/vendored/brepjs/ns/modifiers.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/modifiers.js +6 -0
- package/dist/vendored/brepjs/ns/modifiers.js.map +1 -0
- package/dist/vendored/brepjs/ns/patterns.d.ts +5 -0
- package/dist/vendored/brepjs/ns/patterns.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/patterns.js +5 -0
- package/dist/vendored/brepjs/ns/patterns.js.map +1 -0
- package/dist/vendored/brepjs/ns/primitives.d.ts +7 -0
- package/dist/vendored/brepjs/ns/primitives.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/primitives.js +7 -0
- package/dist/vendored/brepjs/ns/primitives.js.map +1 -0
- package/dist/vendored/brepjs/ns/query.d.ts +6 -0
- package/dist/vendored/brepjs/ns/query.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/query.js +6 -0
- package/dist/vendored/brepjs/ns/query.js.map +1 -0
- package/dist/vendored/brepjs/ns/transforms.d.ts +5 -0
- package/dist/vendored/brepjs/ns/transforms.d.ts.map +1 -0
- package/dist/vendored/brepjs/ns/transforms.js +5 -0
- package/dist/vendored/brepjs/ns/transforms.js.map +1 -0
- package/dist/vendored/brepjs/operations/api.d.ts +39 -0
- package/dist/vendored/brepjs/operations/api.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/api.js +41 -0
- package/dist/vendored/brepjs/operations/api.js.map +1 -0
- package/dist/vendored/brepjs/operations/assemblyFns.d.ts +54 -0
- package/dist/vendored/brepjs/operations/assemblyFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/assemblyFns.js +91 -0
- package/dist/vendored/brepjs/operations/assemblyFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts +43 -0
- package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/compoundOpsFns.js +368 -0
- package/dist/vendored/brepjs/operations/compoundOpsFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/convexHullFns.d.ts +27 -0
- package/dist/vendored/brepjs/operations/convexHullFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/convexHullFns.js +50 -0
- package/dist/vendored/brepjs/operations/convexHullFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/dhFns.d.ts +47 -0
- package/dist/vendored/brepjs/operations/dhFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/dhFns.js +53 -0
- package/dist/vendored/brepjs/operations/dhFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/exporterFns.d.ts +47 -0
- package/dist/vendored/brepjs/operations/exporterFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/exporterFns.js +66 -0
- package/dist/vendored/brepjs/operations/exporterFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/exporterUtils.d.ts +6 -0
- package/dist/vendored/brepjs/operations/exporterUtils.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/exporterUtils.js +5 -0
- package/dist/vendored/brepjs/operations/exporterUtils.js.map +1 -0
- package/dist/vendored/brepjs/operations/exporters.d.ts +59 -0
- package/dist/vendored/brepjs/operations/exporters.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/exporters.js +74 -0
- package/dist/vendored/brepjs/operations/exporters.js.map +1 -0
- package/dist/vendored/brepjs/operations/extrudeFns.d.ts +47 -0
- package/dist/vendored/brepjs/operations/extrudeFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/extrudeFns.js +119 -0
- package/dist/vendored/brepjs/operations/extrudeFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/extrudeUtils.d.ts +63 -0
- package/dist/vendored/brepjs/operations/extrudeUtils.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/extrudeUtils.js +33 -0
- package/dist/vendored/brepjs/operations/extrudeUtils.js.map +1 -0
- package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts +6 -0
- package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/guidedSweepFns.js +6 -0
- package/dist/vendored/brepjs/operations/guidedSweepFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/historyFns.d.ts +83 -0
- package/dist/vendored/brepjs/operations/historyFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/historyFns.js +256 -0
- package/dist/vendored/brepjs/operations/historyFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/ikFns.d.ts +74 -0
- package/dist/vendored/brepjs/operations/ikFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/ikFns.js +320 -0
- package/dist/vendored/brepjs/operations/ikFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/instanceFns.d.ts +76 -0
- package/dist/vendored/brepjs/operations/instanceFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/instanceFns.js +128 -0
- package/dist/vendored/brepjs/operations/instanceFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/jointFns.d.ts +176 -0
- package/dist/vendored/brepjs/operations/jointFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/jointFns.js +298 -0
- package/dist/vendored/brepjs/operations/jointFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/loftFns.d.ts +60 -0
- package/dist/vendored/brepjs/operations/loftFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/loftFns.js +112 -0
- package/dist/vendored/brepjs/operations/loftFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/mateFns.d.ts +53 -0
- package/dist/vendored/brepjs/operations/mateFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/mateFns.js +142 -0
- package/dist/vendored/brepjs/operations/mateFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/multiSweepFns.d.ts +6 -0
- package/dist/vendored/brepjs/operations/multiSweepFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/multiSweepFns.js +6 -0
- package/dist/vendored/brepjs/operations/multiSweepFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/patternFns.d.ts +46 -0
- package/dist/vendored/brepjs/operations/patternFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/patternFns.js +126 -0
- package/dist/vendored/brepjs/operations/patternFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/roofFns.d.ts +25 -0
- package/dist/vendored/brepjs/operations/roofFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/roofFns.js +250 -0
- package/dist/vendored/brepjs/operations/roofFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/straightSkeleton.d.ts +29 -0
- package/dist/vendored/brepjs/operations/straightSkeleton.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/straightSkeleton.js +440 -0
- package/dist/vendored/brepjs/operations/straightSkeleton.js.map +1 -0
- package/dist/vendored/brepjs/operations/sweepFns.d.ts +121 -0
- package/dist/vendored/brepjs/operations/sweepFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/sweepFns.js +438 -0
- package/dist/vendored/brepjs/operations/sweepFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/threadFns.d.ts +57 -0
- package/dist/vendored/brepjs/operations/threadFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/threadFns.js +145 -0
- package/dist/vendored/brepjs/operations/threadFns.js.map +1 -0
- package/dist/vendored/brepjs/operations/urdfFns.d.ts +48 -0
- package/dist/vendored/brepjs/operations/urdfFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations/urdfFns.js +171 -0
- package/dist/vendored/brepjs/operations/urdfFns.js.map +1 -0
- package/dist/vendored/brepjs/operations.d.ts +20 -0
- package/dist/vendored/brepjs/operations.d.ts.map +1 -0
- package/dist/vendored/brepjs/operations.js +26 -0
- package/dist/vendored/brepjs/operations.js.map +1 -0
- package/dist/vendored/brepjs/projection/cameraFns.d.ts +63 -0
- package/dist/vendored/brepjs/projection/cameraFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/projection/cameraFns.js +89 -0
- package/dist/vendored/brepjs/projection/cameraFns.js.map +1 -0
- package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts +14 -0
- package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts.map +1 -0
- package/dist/vendored/brepjs/projection/makeProjectedEdges.js +111 -0
- package/dist/vendored/brepjs/projection/makeProjectedEdges.js.map +1 -0
- package/dist/vendored/brepjs/projection/projectionPlanes.d.ts +18 -0
- package/dist/vendored/brepjs/projection/projectionPlanes.d.ts.map +1 -0
- package/dist/vendored/brepjs/projection/projectionPlanes.js +23 -0
- package/dist/vendored/brepjs/projection/projectionPlanes.js.map +1 -0
- package/dist/vendored/brepjs/projection.d.ts +12 -0
- package/dist/vendored/brepjs/projection.d.ts.map +1 -0
- package/dist/vendored/brepjs/projection.js +12 -0
- package/dist/vendored/brepjs/projection.js.map +1 -0
- package/dist/vendored/brepjs/query/cornerFinder.d.ts +54 -0
- package/dist/vendored/brepjs/query/cornerFinder.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/cornerFinder.js +73 -0
- package/dist/vendored/brepjs/query/cornerFinder.js.map +1 -0
- package/dist/vendored/brepjs/query/directionUtils.d.ts +9 -0
- package/dist/vendored/brepjs/query/directionUtils.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/directionUtils.js +18 -0
- package/dist/vendored/brepjs/query/directionUtils.js.map +1 -0
- package/dist/vendored/brepjs/query/edgeFinder.d.ts +5 -0
- package/dist/vendored/brepjs/query/edgeFinder.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/edgeFinder.js +5 -0
- package/dist/vendored/brepjs/query/edgeFinder.js.map +1 -0
- package/dist/vendored/brepjs/query/faceFinder.d.ts +5 -0
- package/dist/vendored/brepjs/query/faceFinder.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/faceFinder.js +5 -0
- package/dist/vendored/brepjs/query/faceFinder.js.map +1 -0
- package/dist/vendored/brepjs/query/finderCore.d.ts +49 -0
- package/dist/vendored/brepjs/query/finderCore.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/finderCore.js +120 -0
- package/dist/vendored/brepjs/query/finderCore.js.map +1 -0
- package/dist/vendored/brepjs/query/finderFns.d.ts +25 -0
- package/dist/vendored/brepjs/query/finderFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/finderFns.js +25 -0
- package/dist/vendored/brepjs/query/finderFns.js.map +1 -0
- package/dist/vendored/brepjs/query/helpers.d.ts +11 -0
- package/dist/vendored/brepjs/query/helpers.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/helpers.js +17 -0
- package/dist/vendored/brepjs/query/helpers.js.map +1 -0
- package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts +15 -0
- package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/shapeDistanceFilter.js +21 -0
- package/dist/vendored/brepjs/query/shapeDistanceFilter.js.map +1 -0
- package/dist/vendored/brepjs/query/shapeFinders.d.ts +39 -0
- package/dist/vendored/brepjs/query/shapeFinders.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/shapeFinders.js +82 -0
- package/dist/vendored/brepjs/query/shapeFinders.js.map +1 -0
- package/dist/vendored/brepjs/query/vertexFinder.d.ts +19 -0
- package/dist/vendored/brepjs/query/vertexFinder.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/vertexFinder.js +73 -0
- package/dist/vendored/brepjs/query/vertexFinder.js.map +1 -0
- package/dist/vendored/brepjs/query/wireFinder.d.ts +5 -0
- package/dist/vendored/brepjs/query/wireFinder.d.ts.map +1 -0
- package/dist/vendored/brepjs/query/wireFinder.js +5 -0
- package/dist/vendored/brepjs/query/wireFinder.js.map +1 -0
- package/dist/vendored/brepjs/query.d.ts +6 -0
- package/dist/vendored/brepjs/query.d.ts.map +1 -0
- package/dist/vendored/brepjs/query.js +6 -0
- package/dist/vendored/brepjs/query.js.map +1 -0
- package/dist/vendored/brepjs/result.d.ts +7 -0
- package/dist/vendored/brepjs/result.d.ts.map +1 -0
- package/dist/vendored/brepjs/result.js +7 -0
- package/dist/vendored/brepjs/result.js.map +1 -0
- package/dist/vendored/brepjs/shapeRef.d.ts +13 -0
- package/dist/vendored/brepjs/shapeRef.d.ts.map +1 -0
- package/dist/vendored/brepjs/shapeRef.js +13 -0
- package/dist/vendored/brepjs/shapeRef.js.map +1 -0
- package/dist/vendored/brepjs/sketching/cannedSketches.d.ts +144 -0
- package/dist/vendored/brepjs/sketching/cannedSketches.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/cannedSketches.js +327 -0
- package/dist/vendored/brepjs/sketching/cannedSketches.js.map +1 -0
- package/dist/vendored/brepjs/sketching/compoundSketch.d.ts +70 -0
- package/dist/vendored/brepjs/sketching/compoundSketch.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/compoundSketch.js +87 -0
- package/dist/vendored/brepjs/sketching/compoundSketch.js.map +1 -0
- package/dist/vendored/brepjs/sketching/draw3d.d.ts +22 -0
- package/dist/vendored/brepjs/sketching/draw3d.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/draw3d.js +150 -0
- package/dist/vendored/brepjs/sketching/draw3d.js.map +1 -0
- package/dist/vendored/brepjs/sketching/drawFns.d.ts +122 -0
- package/dist/vendored/brepjs/sketching/drawFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/drawFns.js +129 -0
- package/dist/vendored/brepjs/sketching/drawFns.js.map +1 -0
- package/dist/vendored/brepjs/sketching/drawing.d.ts +128 -0
- package/dist/vendored/brepjs/sketching/drawing.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/drawing.js +275 -0
- package/dist/vendored/brepjs/sketching/drawing.js.map +1 -0
- package/dist/vendored/brepjs/sketching/drawingFactories.d.ts +95 -0
- package/dist/vendored/brepjs/sketching/drawingFactories.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/drawingFactories.js +125 -0
- package/dist/vendored/brepjs/sketching/drawingFactories.js.map +1 -0
- package/dist/vendored/brepjs/sketching/drawingPen.d.ts +35 -0
- package/dist/vendored/brepjs/sketching/drawingPen.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/drawingPen.js +57 -0
- package/dist/vendored/brepjs/sketching/drawingPen.js.map +1 -0
- package/dist/vendored/brepjs/sketching/faceSketcher.d.ts +53 -0
- package/dist/vendored/brepjs/sketching/faceSketcher.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/faceSketcher.js +167 -0
- package/dist/vendored/brepjs/sketching/faceSketcher.js.map +1 -0
- package/dist/vendored/brepjs/sketching/shortcuts.d.ts +16 -0
- package/dist/vendored/brepjs/sketching/shortcuts.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/shortcuts.js +24 -0
- package/dist/vendored/brepjs/sketching/shortcuts.js.map +1 -0
- package/dist/vendored/brepjs/sketching/sketch.d.ts +157 -0
- package/dist/vendored/brepjs/sketching/sketch.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/sketch.js +151 -0
- package/dist/vendored/brepjs/sketching/sketch.js.map +1 -0
- package/dist/vendored/brepjs/sketching/sketchFns.d.ts +89 -0
- package/dist/vendored/brepjs/sketching/sketchFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/sketchFns.js +266 -0
- package/dist/vendored/brepjs/sketching/sketchFns.js.map +1 -0
- package/dist/vendored/brepjs/sketching/sketcher.d.ts +70 -0
- package/dist/vendored/brepjs/sketching/sketcher.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/sketcher.js +181 -0
- package/dist/vendored/brepjs/sketching/sketcher.js.map +1 -0
- package/dist/vendored/brepjs/sketching/sketches.d.ts +70 -0
- package/dist/vendored/brepjs/sketching/sketches.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching/sketches.js +91 -0
- package/dist/vendored/brepjs/sketching/sketches.js.map +1 -0
- package/dist/vendored/brepjs/sketching.d.ts +28 -0
- package/dist/vendored/brepjs/sketching.d.ts.map +1 -0
- package/dist/vendored/brepjs/sketching.js +30 -0
- package/dist/vendored/brepjs/sketching.js.map +1 -0
- package/dist/vendored/brepjs/text/fontRegistry.d.ts +23 -0
- package/dist/vendored/brepjs/text/fontRegistry.d.ts.map +1 -0
- package/dist/vendored/brepjs/text/fontRegistry.js +61 -0
- package/dist/vendored/brepjs/text/fontRegistry.js.map +1 -0
- package/dist/vendored/brepjs/text/sketchText.d.ts +31 -0
- package/dist/vendored/brepjs/text/sketchText.d.ts.map +1 -0
- package/dist/vendored/brepjs/text/sketchText.js +30 -0
- package/dist/vendored/brepjs/text/sketchText.js.map +1 -0
- package/dist/vendored/brepjs/text/textBlueprints.d.ts +19 -0
- package/dist/vendored/brepjs/text/textBlueprints.d.ts.map +1 -0
- package/dist/vendored/brepjs/text/textBlueprints.js +61 -0
- package/dist/vendored/brepjs/text/textBlueprints.js.map +1 -0
- package/dist/vendored/brepjs/text/textMetrics.d.ts +40 -0
- package/dist/vendored/brepjs/text/textMetrics.d.ts.map +1 -0
- package/dist/vendored/brepjs/text/textMetrics.js +43 -0
- package/dist/vendored/brepjs/text/textMetrics.js.map +1 -0
- package/dist/vendored/brepjs/text.d.ts +13 -0
- package/dist/vendored/brepjs/text.d.ts.map +1 -0
- package/dist/vendored/brepjs/text.js +13 -0
- package/dist/vendored/brepjs/text.js.map +1 -0
- package/dist/vendored/brepjs/topology/adjacencyFns.d.ts +89 -0
- package/dist/vendored/brepjs/topology/adjacencyFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/adjacencyFns.js +411 -0
- package/dist/vendored/brepjs/topology/adjacencyFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/api.d.ts +145 -0
- package/dist/vendored/brepjs/topology/api.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/api.js +282 -0
- package/dist/vendored/brepjs/topology/api.js.map +1 -0
- package/dist/vendored/brepjs/topology/apiTypes.d.ts +135 -0
- package/dist/vendored/brepjs/topology/apiTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/apiTypes.js +24 -0
- package/dist/vendored/brepjs/topology/apiTypes.js.map +1 -0
- package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts +52 -0
- package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/booleanBatchFns.js +164 -0
- package/dist/vendored/brepjs/topology/booleanBatchFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts +21 -0
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js +23 -0
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/booleanFns.d.ts +155 -0
- package/dist/vendored/brepjs/topology/booleanFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/booleanFns.js +600 -0
- package/dist/vendored/brepjs/topology/booleanFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/cast.d.ts +48 -0
- package/dist/vendored/brepjs/topology/cast.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/cast.js +113 -0
- package/dist/vendored/brepjs/topology/cast.js.map +1 -0
- package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts +24 -0
- package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/chamferAngleFns.js +64 -0
- package/dist/vendored/brepjs/topology/chamferAngleFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts +6 -0
- package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/compoundOpsFns.js +6 -0
- package/dist/vendored/brepjs/topology/compoundOpsFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/curveBuilders.d.ts +90 -0
- package/dist/vendored/brepjs/topology/curveBuilders.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/curveBuilders.js +125 -0
- package/dist/vendored/brepjs/topology/curveBuilders.js.map +1 -0
- package/dist/vendored/brepjs/topology/curveFns.d.ts +96 -0
- package/dist/vendored/brepjs/topology/curveFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/curveFns.js +191 -0
- package/dist/vendored/brepjs/topology/curveFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/evolutionFns.d.ts +78 -0
- package/dist/vendored/brepjs/topology/evolutionFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/evolutionFns.js +271 -0
- package/dist/vendored/brepjs/topology/evolutionFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/faceFns.d.ts +86 -0
- package/dist/vendored/brepjs/topology/faceFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/faceFns.js +169 -0
- package/dist/vendored/brepjs/topology/faceFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/healingFns.d.ts +98 -0
- package/dist/vendored/brepjs/topology/healingFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/healingFns.js +338 -0
- package/dist/vendored/brepjs/topology/healingFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/hullFns.d.ts +21 -0
- package/dist/vendored/brepjs/topology/hullFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/hullFns.js +60 -0
- package/dist/vendored/brepjs/topology/hullFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/index.d.ts +14 -0
- package/dist/vendored/brepjs/topology/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/index.js +17 -0
- package/dist/vendored/brepjs/topology/index.js.map +1 -0
- package/dist/vendored/brepjs/topology/meshCache.d.ts +68 -0
- package/dist/vendored/brepjs/topology/meshCache.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/meshCache.js +117 -0
- package/dist/vendored/brepjs/topology/meshCache.js.map +1 -0
- package/dist/vendored/brepjs/topology/meshFns.d.ts +179 -0
- package/dist/vendored/brepjs/topology/meshFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/meshFns.js +393 -0
- package/dist/vendored/brepjs/topology/meshFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts +41 -0
- package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/colorFns.js +128 -0
- package/dist/vendored/brepjs/topology/metadata/colorFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts +44 -0
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.js +168 -0
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts +59 -0
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js +109 -0
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts +43 -0
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js +270 -0
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/minkowskiFns.d.ts +26 -0
- package/dist/vendored/brepjs/topology/minkowskiFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/minkowskiFns.js +136 -0
- package/dist/vendored/brepjs/topology/minkowskiFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/modifierFns.d.ts +87 -0
- package/dist/vendored/brepjs/topology/modifierFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/modifierFns.js +446 -0
- package/dist/vendored/brepjs/topology/modifierFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/nurbsFns.d.ts +13 -0
- package/dist/vendored/brepjs/topology/nurbsFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/nurbsFns.js +22 -0
- package/dist/vendored/brepjs/topology/nurbsFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/polyhedronFns.d.ts +11 -0
- package/dist/vendored/brepjs/topology/polyhedronFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/polyhedronFns.js +47 -0
- package/dist/vendored/brepjs/topology/polyhedronFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/positionFns.d.ts +18 -0
- package/dist/vendored/brepjs/topology/positionFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/positionFns.js +34 -0
- package/dist/vendored/brepjs/topology/positionFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/primitiveFns.d.ts +244 -0
- package/dist/vendored/brepjs/topology/primitiveFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/primitiveFns.js +361 -0
- package/dist/vendored/brepjs/topology/primitiveFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeBooleans.d.ts +14 -0
- package/dist/vendored/brepjs/topology/shapeBooleans.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeBooleans.js +24 -0
- package/dist/vendored/brepjs/topology/shapeBooleans.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeFns.d.ts +30 -0
- package/dist/vendored/brepjs/topology/shapeFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeFns.js +50 -0
- package/dist/vendored/brepjs/topology/shapeFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeHelpers.d.ts +9 -0
- package/dist/vendored/brepjs/topology/shapeHelpers.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeHelpers.js +14 -0
- package/dist/vendored/brepjs/topology/shapeHelpers.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeModifiers.d.ts +33 -0
- package/dist/vendored/brepjs/topology/shapeModifiers.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeModifiers.js +28 -0
- package/dist/vendored/brepjs/topology/shapeModifiers.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts +29 -0
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js +135 -0
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts +25 -0
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js +123 -0
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/index.d.ts +11 -0
- package/dist/vendored/brepjs/topology/shapeRef/index.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/index.js +10 -0
- package/dist/vendored/brepjs/topology/shapeRef/index.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts +66 -0
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js +128 -0
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts +18 -0
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js +51 -0
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts +20 -0
- package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/scoring.js +65 -0
- package/dist/vendored/brepjs/topology/shapeRef/scoring.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts +59 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js +266 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts +153 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js +6 -0
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts +24 -0
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js +128 -0
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/shapeUtils.d.ts +16 -0
- package/dist/vendored/brepjs/topology/shapeUtils.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/shapeUtils.js +28 -0
- package/dist/vendored/brepjs/topology/shapeUtils.js.map +1 -0
- package/dist/vendored/brepjs/topology/solidBuilders.d.ts +74 -0
- package/dist/vendored/brepjs/topology/solidBuilders.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/solidBuilders.js +173 -0
- package/dist/vendored/brepjs/topology/solidBuilders.js.map +1 -0
- package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts +47 -0
- package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/surfaceBuilders.js +162 -0
- package/dist/vendored/brepjs/topology/surfaceBuilders.js.map +1 -0
- package/dist/vendored/brepjs/topology/surfaceFns.d.ts +41 -0
- package/dist/vendored/brepjs/topology/surfaceFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/surfaceFns.js +178 -0
- package/dist/vendored/brepjs/topology/surfaceFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/threeHelpers.d.ts +124 -0
- package/dist/vendored/brepjs/topology/threeHelpers.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/threeHelpers.js +118 -0
- package/dist/vendored/brepjs/topology/threeHelpers.js.map +1 -0
- package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts +100 -0
- package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/topologyQueryFns.js +307 -0
- package/dist/vendored/brepjs/topology/topologyQueryFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/transformFns.d.ts +69 -0
- package/dist/vendored/brepjs/topology/transformFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/transformFns.js +235 -0
- package/dist/vendored/brepjs/topology/transformFns.js.map +1 -0
- package/dist/vendored/brepjs/topology/wrapperFns.d.ts +169 -0
- package/dist/vendored/brepjs/topology/wrapperFns.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology/wrapperFns.js +291 -0
- package/dist/vendored/brepjs/topology/wrapperFns.js.map +1 -0
- package/dist/vendored/brepjs/topology.d.ts +28 -0
- package/dist/vendored/brepjs/topology.d.ts.map +1 -0
- package/dist/vendored/brepjs/topology.js +39 -0
- package/dist/vendored/brepjs/topology.js.map +1 -0
- package/dist/vendored/brepjs/utils/arrayAccess.d.ts +12 -0
- package/dist/vendored/brepjs/utils/arrayAccess.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/arrayAccess.js +25 -0
- package/dist/vendored/brepjs/utils/arrayAccess.js.map +1 -0
- package/dist/vendored/brepjs/utils/bug.d.ts +15 -0
- package/dist/vendored/brepjs/utils/bug.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/bug.js +21 -0
- package/dist/vendored/brepjs/utils/bug.js.map +1 -0
- package/dist/vendored/brepjs/utils/ioFilename.d.ts +3 -0
- package/dist/vendored/brepjs/utils/ioFilename.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/ioFilename.js +7 -0
- package/dist/vendored/brepjs/utils/ioFilename.js.map +1 -0
- package/dist/vendored/brepjs/utils/precisionRound.d.ts +11 -0
- package/dist/vendored/brepjs/utils/precisionRound.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/precisionRound.js +19 -0
- package/dist/vendored/brepjs/utils/precisionRound.js.map +1 -0
- package/dist/vendored/brepjs/utils/quaternion.d.ts +18 -0
- package/dist/vendored/brepjs/utils/quaternion.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/quaternion.js +68 -0
- package/dist/vendored/brepjs/utils/quaternion.js.map +1 -0
- package/dist/vendored/brepjs/utils/range.d.ts +3 -0
- package/dist/vendored/brepjs/utils/range.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/range.js +5 -0
- package/dist/vendored/brepjs/utils/range.js.map +1 -0
- package/dist/vendored/brepjs/utils/uuid.d.ts +3 -0
- package/dist/vendored/brepjs/utils/uuid.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/uuid.js +7 -0
- package/dist/vendored/brepjs/utils/uuid.js.map +1 -0
- package/dist/vendored/brepjs/utils/vec2d.d.ts +62 -0
- package/dist/vendored/brepjs/utils/vec2d.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/vec2d.js +107 -0
- package/dist/vendored/brepjs/utils/vec2d.js.map +1 -0
- package/dist/vendored/brepjs/utils/vec3.d.ts +32 -0
- package/dist/vendored/brepjs/utils/vec3.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/vec3.js +35 -0
- package/dist/vendored/brepjs/utils/vec3.js.map +1 -0
- package/dist/vendored/brepjs/utils/zip.d.ts +5 -0
- package/dist/vendored/brepjs/utils/zip.d.ts.map +1 -0
- package/dist/vendored/brepjs/utils/zip.js +8 -0
- package/dist/vendored/brepjs/utils/zip.js.map +1 -0
- package/dist/vendored/brepjs/vectors.d.ts +11 -0
- package/dist/vendored/brepjs/vectors.d.ts.map +1 -0
- package/dist/vendored/brepjs/vectors.js +9 -0
- package/dist/vendored/brepjs/vectors.js.map +1 -0
- package/package.json +154 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-executor.js","sourceRoot":"","sources":["../../src/cad-runtime/direct-executor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * direct-executor — 无 IR 执行器(.fai.js 源码直通 JS VM)\n *\n * 方案:docs/plans/2026-09-06-no-ir-dual-channel-runtime.md §4.2(D1 / P2)\n *\n * 核心语义:源码文本按**执行单元**(顶层语句,行号即语句边界)直接交给 JS VM\n * 执行——没有语句模型、没有 deps、没有表达式折叠、没有 outputs 投影、没有 IR\n * 编译(不 import parser.ts / compile.ts)。共享 `ctx` 是唯一持久状态。\n *\n * 每单元的文本变换(机械、语义保持,非 IR 编译):\n * - `const/let x = <call>` / `x = <call>` → `__ctx.x = <call>`;实参里的裸标识符\n * (已声明变量/参数)→ `__ctx.<name>`;\n * - 调用前插 `await`(与 compile 发射对每个 ns 调用 await 的语义一致;同步 op\n * 被 await 是合法 JS);\n * - keep/keepHidden 尾随键剥离(行内 keep 由 MetadataExtractor 的 metadata.keep\n * 表另存,§4.4 消费判定用——执行侧不传);\n * - 顶层函数定义提升到 `__ctx.<name>`(函数体 cad 等经命名空间绑定注入);\n * - import 行不执行(库装载在 runtime 层;`ns.<binding>` 经命名空间对象访问)。\n *\n * 错误定位:单行单元失败记 failedAt({ index, callee, message } + lineNo)。\n *\n * 本文件是 P2 新增组件;ModuleExecutor 路径(旧)在 P6 门禁前保留双路径共存。\n */\n\nimport { parse as acornParse } from 'acorn'\nimport type { StdlibNamespace } from '../runtime-state'\nimport type { PartName } from '../identity'\nimport { asPartName } from '../identity'\nimport { ParseError } from '../lang/parse-error'\nimport { setCurrentStmt, setKeepSink, setName, nameOf, getBackends, takePendingAssemblyTransforms, takePendingAssemblyKinematics, type AssemblyKinematicsPose, type ExecutionAnchor } from '../runtime-state'\nimport { ExecutionLimitError } from './execution-limit-error'\nimport { assertSecure, type SecurityPolicy } from '../lang/security-scanner'\nimport { getSlot, ensureSlot, brepOf, isShape } from '../shape'\nimport { isMeshShape, type Shape } from '../mesh/types'\nimport type { BrepHandle } from '../brep/engine/types'\nimport type { BrepEngineApi } from '../brep/engine/primitives'\nimport { applyTransform } from '../mesh/rigid-transform'\nimport { applyTransformBrep } from '../brep/brep-ops'\nimport type { TransformedUnit, ExecBackend, ExecBackendChoice } from './exec-backend'\nimport { VmBackend } from './exec-backends/vm-backend'\nimport { InterpBackend } from './exec-backends/interp-backend'\n\ntype ASTNode = any\n\n/**\n * 几何值判定(isShape ∨ isMeshShape;与 define-op.isGeometryInput 同构)——\n * 裸调用原地写回(§3.7 规则 2)的运行时守卫:只有「返回值是几何 且 目标原值也是\n * 几何」才写回首参。projectView/volume 等返回纯数据的裸调用天然不写回。\n */\nfunction isGeomValue(v: unknown): boolean {\n return isShape(v) || isMeshShape(v)\n}\n\n/**\n * 执行后端解析(静态选定,无运行时回退)。\n */\nfunction resolveExecBackend(choice: ExecBackendChoice): ExecBackend {\n if (choice === 'interpreter') return new InterpBackend()\n return new VmBackend()\n}\n\n// ── Namespaces ──\n\n/**\n * 已装配的命名空间集合(标准库 `cad` + 宿主注册的库)。\n * DirectExecutor 经 ns.<binding>.<callee>() 调用——引擎不区分函数来自哪个库。\n */\nexport interface Namespaces {\n readonly cad: StdlibNamespace\n readonly [binding: string]: StdlibNamespace\n}\n\n// ── 结果类型 ──\n\n/** 执行单元失败信息(与现状 failedAt 三字段兼容 + 新增 lineNo + 原始错误)。 */\nexport interface DirectExecFailedAt {\n index: number\n callee: string\n message: string\n lineNo?: number\n /** 原始错误对象(runtime 层据类型决定重新抛出还是吞入 failedAt)。 */\n error?: unknown\n}\n\n/** 单轮执行产出:ctx 快照 + 失败信息 + 已执行行号 + 块产出登记 + changed。 */\nexport interface DirectExecOutcome {\n /** 语句执行后 ctx 全部键 */\n ctxKeys: string[]\n /** 失败信息(无失败为 undefined) */\n failedAt?: DirectExecFailedAt\n /** 本轮新执行的行号(append 增量边界回显) */\n executedLines: number[]\n /**\n * 块单元产出登记(T1/A-6):shape 名 → 块起始行号。\n * DirectExecutor 执行块单元前后对共享 ctx 做 diff,新增 shape 键\n * 登记于此——computeLiveShapes 用块起始行作 producerIdx 锚点\n * (块内产出不在 lines 里,无行级生产者)。\n */\n blockOutputs?: Map<string, number>\n /**\n * 变更登记(T2):语句写值前后比对的产出——与 module 路径 exec.changed\n * 同语义。值变化的写入键收集于此(execute 全量重跑时旧值全 undefined →\n * 所有写入键都进 changed,与 module 路径行为一致)。\n */\n changed?: string[]\n /**\n * 原地写回登记(P25 §3.7.4 规则 2):裸调用行 → 写回目标变量名。\n * 修改类裸调用(fai_drill(part0) 等)把结果写回首参——computeLiveShapes 用它\n * 做 producer 精确化(行号键,与 blockOutputs 同形态)。\n */\n inplaceWrites?: Map<number, string>\n}\n\n/** 单次执行的参数。 */\nexport interface DirectExecOpts {\n /** 参数表:执行前预置到 ctx(ExecuteOptions.params 同义;参数行不执行) */\n params?: Record<string, unknown>\n /** 单元序数起始(startIndex 语义:行号之前的单元不执行,产物假定已在 ctx) */\n startLine?: number\n /**\n * 多文件 import 预置(§4.5):顶层 import 行不执行,绑定值由 runtime 装载模块后\n * 预置进 ctx(shape 值 / 模块函数 / 命名空间对象)。先于 params 注入,参数可覆盖。\n */\n imports?: Record<string, unknown>\n /**\n * 单元执行前钩子(undo 逐单元快照;§4.10 E4):每执行一个单元触发一次。\n * 第一参数 = 单元 id(`'s'+行号`,与 StatementSummary.id 同构——宿主按 id\n * 定位 summaries 不破裂);第二参数 = 行号。append 只对新单元触发。\n */\n beforeStatement?: (stmtId: string, lineNo: number) => void\n /**\n * 整轮执行超时(§6.3 / D8,E_EXEC_LIMIT):单元循环内逐单元检查 deadline,\n * 超时抛 {@link ExecutionLimitError}。不传则无超时(现状行为不变)。\n */\n executionTimeoutMs?: number\n}\n\n/** 单元行区间(P0 增量用:unitRanges 返回值)。 */\nexport interface UnitRange { lineNo: number; endLine: number }\n\n/** 函数体 keep 登记(键 = 单元行号)。 */\nexport interface ExecKeepRecord {\n kept: Set<PartName>\n hidden: Map<PartName, boolean>\n}\n\n// ── DirectExecutor ──\n\n/** DirectExecutor 构造选项:执行期可访问的已装配命名空间集合。 */\nexport interface DirectExecutorOptions {\n /** 已装配命名空间(cad + registerLib 注册库);单元经 __ns.<binding> 访问 */\n namespaces: Namespaces\n /**\n * 身份槽 → PartName 键控缓存同步(T3;与 ModuleExecutor.setSolid 同语义)。\n * 语句执行后把 shape 身份槽里的 BREP solid 写入 runtime solidCache——\n * buildBrepTopology/directBrepSolids 依赖此缓存命中。\n */\n setSolid?: (partName: PartName, solid: BrepHandle) => void\n /** 身份槽 → faceEvolutionCache 同步(T3;与 ModuleExecutor.setFaceEvolution 同语义)。 */\n setFaceEvolution?: (partName: PartName, evo: unknown) => void\n /** 身份槽 → roleTableCache 同步(T3;与 ModuleExecutor.setRoleTable 同语义)。 */\n setRoleTable?: (partName: PartName, roleTable: unknown) => void\n /** 安全策略档位(A2 接入点:parseAndTransform 第一行过 Scanner;缺省 'strict') */\n security?: SecurityPolicy\n /**\n * 执行后端(静态选定,无运行时回退;缺省 'vm')。'interpreter' 在禁 eval\n * 环境(weapp / 严格 CSP)使用——见 docs/plans/2026-09-14-no-eval-interpreter-backend-design.md。\n */\n execBackend?: ExecBackendChoice\n}\n\n/**\n * DirectExecutor executes `.fai.js` source text directly in the JS VM. Each\n * top-level statement is transformed mechanically (ctx hoisting + await\n * insertion + keep stripping) and run in an async wrapper against a shared\n * persistent `ctx`. No statement model, no deps, no folding, no IR.\n */\nexport class DirectExecutor {\n /** 持久变量容器(跨 execute/append/update 存活;与 ModuleExecutor.ctx 同角色) */\n readonly ctx: Record<string, unknown> = {}\n private executedLines = new Set<number>()\n private namespaces: Namespaces\n /** 安全策略档位(A2 接入点用) */\n private readonly securityPolicy: SecurityPolicy\n /** T3:身份槽同步钩子(runtime 注入) */\n private readonly setSolidHook?: (partName: PartName, solid: BrepHandle) => void\n private readonly setFaceEvolutionHook?: (partName: PartName, evo: unknown) => void\n private readonly setRoleTableHook?: (partName: PartName, roleTable: unknown) => void\n /** 当前完整源码(append 拼接用) */\n private fullCode = ''\n /** 函数体 keep 登记(exec.keep/exec.keepHidden 执行期登记;键 = 单元行号) */\n private readonly keepByLine = new Map<number, ExecKeepRecord>()\n /** 当前正在执行的单元行号(keep 登记归属锚点) */\n private activeLine: number | undefined\n /** P3:装配运动副位姿(成员名 → pose),collectDirectResult 消费。 */\n private kinematicsOut = new Map<PartName, AssemblyKinematicsPose>()\n /** 执行后端(静态选定;缺省 vm) */\n private readonly execBackend: ExecBackend\n\n /** P3:读取装配运动副位姿快照(collectDirectResult 用;空 Map 表示无 joints)。 */\n get kinematicsSnapshot(): Map<PartName, AssemblyKinematicsPose> {\n return this.kinematicsOut\n }\n\n constructor(options: DirectExecutorOptions) {\n this.namespaces = options.namespaces\n this.setSolidHook = options.setSolid\n this.setFaceEvolutionHook = options.setFaceEvolution\n this.setRoleTableHook = options.setRoleTable\n this.securityPolicy = options.security ?? 'strict'\n this.execBackend = resolveExecBackend(options.execBackend ?? 'vm')\n }\n\n /**\n * 热更新命名空间集合(registerLib 后)。\n * @param namespaces - 新的命名空间集合(含 cad 与全部注册库绑定)。\n */\n setNamespaces(namespaces: Namespaces): void {\n this.namespaces = namespaces\n }\n\n /**\n * 函数体 keep 登记读(computeLiveShapes 的 KeepView.functionBody 输入;行号键)。\n * @param lineNo - 单元行号(exec.keep 执行期登记的归属锚点)。\n * @returns 该行号的函数体 keep 登记;无登记返回 undefined。\n */\n getKeepByLine(lineNo: number): ExecKeepRecord | undefined {\n return this.keepByLine.get(lineNo)\n }\n\n /**\n * 全部 keep 登记(调试/测试)。\n * @returns 已登记的行号列表(升序)。\n */\n listKeepLines(): number[] {\n return [...this.keepByLine.keys()].sort((a, b) => a - b)\n }\n\n /**\n * 读持久 ctx 变量。\n * @param name - 变量名。\n * @returns 当前值;未定义返回 undefined。\n */\n getCtxVar(name: string): unknown {\n return this.ctx[name]\n }\n\n /**\n * 写持久 ctx 变量(参数预置等)。\n * @param name - 变量名。\n * @param value - 待写入值。\n */\n setCtxVar(name: string, value: unknown): void {\n this.ctx[name] = value\n }\n\n /**\n * 持久 ctx 的全部键(append/执行结果组装扫描用)。\n * @returns 当前 ctx 键数组。\n */\n listCtxKeys(): string[] {\n return Object.keys(this.ctx)\n }\n\n /**\n * 已执行单元行号(append 增量边界回显)。\n * @returns 已执行行号升序数组。\n */\n get executedUnitLines(): number[] {\n return [...this.executedLines].sort((a, b) => a - b)\n }\n\n /**\n * 解析 code 的单元行区间与行偏移(P0 增量用:公共前缀扫描 → 单元行映射)。\n * 复用 `parseAndTransform` 的解析路径(含 `assertSecure`)。调用方据此\n * 将物理行号映射到单元起始行,再交给 `replayFrom`。\n * @param code - .fai.js 源码文本。\n * @returns `{ ranges, lineOffset }`:ranges = 每个单元的闭区间 `[lineNo, endLine]`;\n * lineOffset = parseBody 得到的行偏移(非标准解析基线时 ≠ 0)。\n */\n unitRanges(code: string): { ranges: UnitRange[]; lineOffset: number } {\n const { nodes, lineOffset, parseText } = this.parseBody(code)\n const declared = new Set<string>()\n const ranges: UnitRange[] = []\n for (const node of nodes) {\n if (node.type === 'ImportDeclaration') continue\n const rawLine = (node?.loc?.start?.line ?? 1) - lineOffset\n const unit = this.transformTopNode(node, parseText, declared, rawLine, lineOffset)\n if (unit) ranges.push({ lineNo: unit.lineNo, endLine: unit.endLine })\n }\n return { ranges, lineOffset }\n }\n\n /**\n * 解析 code 的全部单元(含 writes),供增量 replayKeys 计算(P0-5)。\n * 复用 `parseAndTransform` 的解析路径(含 `assertSecure`)。\n * @param code - .fai.js 源码文本。\n * @returns 每个单元的 `{ lineNo, endLine, writes }`。\n */\n unitRangesWithWrites(code: string): Array<{ lineNo: number; endLine: number; writes: string[] }> {\n const units = this.parseAndTransform(code)\n return units.map((u) => ({ lineNo: u.lineNo, endLine: u.endLine, writes: u.writes }))\n }\n\n /** 块单元产出登记(T1/A-6):shape 名 → 块起始行号;execute 前后 ctx diff 生成。 */\n private blockOutputs = new Map<string, number>()\n\n /** 原地写回登记(P25 §3.7.4 规则 2):裸调用行 → 写回目标变量名(行号键)。 */\n private readonly inplaceWrites = new Map<number, string>()\n\n /** 变更登记(T2):语句写值前后比对的产出——与 module 路径 exec.changed 同语义。 */\n private changedSet = new Set<string>()\n\n /** 本机函数形参表(local ABI,§3.4/§3.6):函数名 → 形参名序。transformFunction\n * 定义时登记;emitCall 对末尾纯对象实参按名解包(splitPositionalOptions 语义)。 */\n private fnParams = new Map<string, string[]>()\n\n /** 清空 ctx 与状态(execute 全量 / dispose 用)。函数体 keep 登记一并清——全量重跑\n * 后行号键表只应含本场景的登记;不清理会泄漏上一场景的同行号登记(对拍红线)。 */\n reset(): void {\n for (const key of Object.keys(this.ctx)) delete this.ctx[key]\n this.executedLines.clear()\n this.fullCode = ''\n this.keepByLine.clear()\n this.kinematicsOut.clear()\n this.blockOutputs.clear()\n this.changedSet.clear()\n this.fnParams.clear()\n this.inplaceWrites.clear()\n }\n\n /**\n * 全量执行(R3 update 语义同:清 ctx 重跑)。\n * @param code - .fai.js 源码文本(扁平 op 行 / 容器体)。\n * @param opts - 参数与起始行。\n * @returns 执行产出(ctx 键快照 / failedAt / 已执行行号)。\n */\n async execute(code: string, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n this.reset()\n this.fullCode = code\n return this.runCode(code, opts)\n }\n\n /**\n * append 增量执行:共享 ctx 只执行新单元(行号 > 旧行集合)。\n * 前置缺失(引用不在 ctx 的变量)由调用方校验(AppendPrefixError 语义保留在 runtime)。\n * @param code - 新增语句文本。\n * @param opts - 参数与起始行(可选)。\n * @returns 执行产出(ctx 键快照 / failedAt / 本轮新执行行号)。\n */\n async append(code: string, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n const fullCode = this.fullCode === '' ? code : `${this.fullCode}\\n${code}`\n this.fullCode = fullCode\n return this.runCode(fullCode, opts)\n }\n\n /**\n * update:参数/文本变更 → 全量重跑(R3;用户接受)。\n * @param _oldCode - 变更前文本(签名兼容保留;全量重跑不使用)。\n * @param newCode - 变更后文本。\n * @param opts - 参数与起始行(可选)。\n * @returns 执行产出(ctx 键快照 / failedAt / 已执行行号)。\n */\n async update(_oldCode: string, newCode: string, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n return this.execute(newCode, opts)\n }\n\n /**\n * 前缀重放(P0 增量核心):保留 `[1, startLine)` 的 ctx 与状态不变,\n * 从 `startLine` 开始重放到末尾。调用方需先用 `unitRanges` 做行映射\n * 并通过 G0 闸门(`lineOffset === 0`)。\n *\n * 步骤(§4.3):\n * 1. 解析全部单元(含安全扫描);\n * 2. `replayUnits = units.filter(u => u.lineNo >= startLine)`;\n * 3. 计算待清键 `replayKeys = suffixWrites − prefixWrites`(减去前缀写入键\n * 是正确性要求——重赋值链中前缀产出不能被删);\n * 4. 清理重放区间相关状态(executedLines / keepByLine / blockOutputs / changedSet /\n * kinematicsOut / ctx replayKeys / fullCode);\n * 5. `runCode(code, opts, units)`——传入已解析 units 避免重复解析与重复安全扫描。\n *\n * `ExecutionLimitError` / `ParseError` / 安全扫描异常一律原样上抛,\n * 不触发失败降级;只有 `outcome.failedAt` 才由调用方降级(§4.7)。\n * @param code - 变更后的完整 .fai.js 源码文本。\n * @param startLine - 重放起始单元行号(含)。\n * @param opts - 执行参数。\n * @returns 执行产出。\n */\n async replayFrom(code: string, startLine: number, opts?: DirectExecOpts): Promise<DirectExecOutcome> {\n // 1. 解析全部单元(安全扫描对全文执行一次)\n const units = this.parseAndTransform(code)\n\n // 2. 区分前缀/后缀单元\n const replayUnits = units.filter((u) => u.lineNo >= startLine)\n\n // 3. 计算待清键\n const suffixWrites = new Set<string>()\n for (const u of replayUnits) for (const w of u.writes) suffixWrites.add(w)\n const prefixWrites = new Set<string>()\n for (const u of units) {\n if (u.lineNo < startLine) for (const w of u.writes) prefixWrites.add(w)\n }\n const replayKeys: string[] = []\n for (const w of suffixWrites) {\n if (!prefixWrites.has(w)) replayKeys.push(w)\n }\n\n // 4. 清理重放区间相关状态\n // 4a. executedLines 删除 >= startLine 的行\n for (const line of [...this.executedLines]) {\n if (line >= startLine) this.executedLines.delete(line)\n }\n // 4b. keepByLine 删除 >= startLine 的登记\n for (const line of [...this.keepByLine.keys()]) {\n if (line >= startLine) this.keepByLine.delete(line)\n }\n // 4c. blockOutputs 删除值 >= startLine 的条目\n for (const [key, line] of [...this.blockOutputs]) {\n if (line >= startLine) this.blockOutputs.delete(key)\n }\n // 4d. clearRoundState: changedSet + kinematicsOut\n this.clearRoundState()\n // 4e. ctx 删除 replayKeys 中的键\n for (const key of replayKeys) {\n delete this.ctx[key]\n }\n // 4f. fullCode 更新\n this.fullCode = code\n\n // 5. runCode(传入已解析 units 避免重复解析)\n return this.runCode(code, opts, units)\n }\n\n /**\n * 清空轮次状态(P0 增量用):`changedSet` + `kinematicsOut`。\n * 在增量重放前调用,避免上一轮的 `changed` / kinematics 拗留被带入本轮结果。\n * 零变更路径(§4.6)也需调用——否则会把上一轮的 `changed` 原样带回。\n */\n clearRoundState(): void {\n this.changedSet.clear()\n this.kinematicsOut.clear()\n }\n\n // ── 主流程 ──\n\n private async runCode(code: string, opts?: DirectExecOpts, preParsedUnits?: TransformedUnit[]): Promise<DirectExecOutcome> {\n // import 预置(§4.5:顶层 import 行不执行,绑定值先入 ctx),随后参数预置可覆盖\n for (const [k, v] of Object.entries(opts?.imports ?? {})) this.ctx[k] = v\n // 参数预置(ExecuteOptions.params → ctx;参数行不执行,与现状语义一致)\n for (const [k, v] of Object.entries(opts?.params ?? {})) this.ctx[k] = v\n\n // keep 登记 sink(函数体 exec.keep / exec.keepHidden 执行期登记 → 行号键表;\n // 替代 ModuleExecutor.internalKeep 的 StmtId 键——DirectExecutor 无语句模型)\n setKeepSink((_stmtId, names, hidden) => this.registerKeepByLine(names, hidden))\n try {\n // params/imports 预置键作为安全扫描器的 knownNames(避免 SEC_FREE_IDENT 误杀)\n const extraKnown = [\n ...Object.keys(opts?.params ?? {}),\n ...Object.keys(opts?.imports ?? {}),\n ...Object.keys(this.ctx), // append 场景:已执行产出变量名\n ]\n const units = preParsedUnits ?? this.parseAndTransform(code, extraKnown)\n const executedLines: number[] = []\n let failedAt: DirectExecFailedAt | undefined\n\n // 整轮超时(§6.3 / D8,E_EXEC_LIMIT):单元循环内逐单元检查 deadline。\n // 自由 JS 块内部的单条死循环不在单元间插桩范围内 → 仍会卡死(R-7:v2 用\n // Worker 终止块内执行);本次交付覆盖\"逐单元执行\"路径的超时护栏。\n const timeoutMs = opts?.executionTimeoutMs\n const deadline = timeoutMs !== undefined && timeoutMs > 0 ? Date.now() + timeoutMs : undefined\n\n let order = 0\n for (const unit of units) {\n const idx = order++\n if (opts?.startLine !== undefined && unit.lineNo < opts.startLine) continue\n if (this.executedLines.has(unit.lineNo)) continue\n if (deadline !== undefined && Date.now() >= deadline) {\n throw new ExecutionLimitError(timeoutMs ?? 0)\n }\n opts?.beforeStatement?.(`s${unit.lineNo}`, unit.lineNo)\n try {\n this.activeLine = unit.lineNo\n // T2:changed 跟踪——执行前捕获写键旧值(与 module 路径 oldWrites 同语义)。\n const oldWrites = new Map<string, unknown>()\n for (const w of unit.writes) oldWrites.set(w, this.ctx[w])\n // 块单元:执行前后做 ctx diff,登记新增 shape 键 → blockOutputs\n // (块内产出不在 lines 里,computeLiveShapes 用块起始行作 producerIdx)。\n const ctxBefore = unit.isBlock ? new Set(Object.keys(this.ctx)) : null\n await this.runUnit(unit)\n // T2:changed 登记——执行后比对写键值变化(与 module 路径 exec.changed.add 同语义)。\n for (const [w, old] of oldWrites) {\n if (old !== this.ctx[w]) this.changedSet.add(w)\n }\n if (ctxBefore) {\n // 块产出登记:新增键 + 块内重写键(writes 收集了所有 __ctx.<name> = 赋值)\n for (const key of Object.keys(this.ctx)) {\n if (!ctxBefore.has(key)) {\n this.blockOutputs.set(key, unit.lineNo)\n this.changedSet.add(key)\n // T3:块产出的新键也需同步身份槽 → solidCache\n const bv = this.ctx[key]\n if (bv !== null && typeof bv === 'object') {\n setName(bv, asPartName(key))\n const bslot = getSlot(bv)\n if (bslot?.solid) this.setSolidHook?.(asPartName(key), bslot.solid as BrepHandle)\n if (bslot?.faceEvolution) this.setFaceEvolutionHook?.(asPartName(key), bslot.faceEvolution)\n if (bslot?.roleTable) this.setRoleTableHook?.(asPartName(key), bslot.roleTable)\n }\n }\n }\n for (const w of unit.writes) this.blockOutputs.set(w, unit.lineNo)\n }\n for (const w of unit.writes) {\n const v = this.ctx[w]\n if (v !== null && typeof v === 'object') {\n setName(v, asPartName(w))\n // T3:身份槽 → PartName 键控缓存同步(与 ModuleExecutor.afterStatement\n // 的 slot→solidCache/faceEvolutionCache/roleTableCache 同步同语义)。\n // buildBrepTopology/directBrepSolids/buildNamingInput 依赖此缓存命中。\n const slot = getSlot(v)\n if (slot?.solid) this.setSolidHook?.(asPartName(w), slot.solid as BrepHandle)\n if (slot?.faceEvolution) this.setFaceEvolutionHook?.(asPartName(w), slot.faceEvolution)\n if (slot?.roleTable) this.setRoleTableHook?.(asPartName(w), slot.roleTable)\n }\n }\n // T3/T4: Assembly transform propagation — same semantics as\n // ModuleExecutor.applyPendingAssemblyTransforms: take pending transforms\n // from runtime-state, apply to member shapes (mesh in-place + BREP slot +\n // solidCache), record changed. Direct path has no deps graph for\n // downstream recompute, but since execution is sequential, downstream\n // statements naturally re-read the already-transformed members.\n this.applyPendingAssemblyTransforms()\n\n this.executedLines.add(unit.lineNo)\n executedLines.push(unit.lineNo)\n } catch (err) {\n if (err instanceof ParseError) throw err\n // DirectExecutor swallows ALL execution errors into failedAt\n // (including TypeError for no_such_op). The runtime layer\n // (executeDirectText etc.) inspects failedAt.error to decide\n // whether to re-throw business errors (matching module path's\n // runWithFailureHandling: only OpError / BrepUnsupportedError /\n // MeshUnsupportedError stay in failedAt; others are re-thrown).\n failedAt = {\n index: idx,\n callee: unit.callee ?? '',\n message: err instanceof Error ? err.message : String(err),\n lineNo: unit.lineNo,\n error: err,\n }\n break\n } finally {\n this.activeLine = undefined\n }\n }\n return {\n ctxKeys: Object.keys(this.ctx),\n failedAt,\n executedLines,\n blockOutputs: this.blockOutputs,\n inplaceWrites: this.inplaceWrites,\n changed: this.changedSet.size > 0 ? [...this.changedSet] : undefined,\n }\n } finally {\n // 任何路径(含 ExecutionLimitError / ParseError 中断)都清 sink,防泄漏到下一执行\n setKeepSink(undefined)\n }\n }\n\n /**\n * Append 前缀校验(runtime 层 AppendPrefixError 语义保留,E2):把待 append 的\n * 新语句拼到 fullCode 后解析,对「尚未执行」的单元逐个校验 refs——引用必须已由\n * 持久 ctx(先前执行产出)或本批更早单元产出。缺引用\n * → 返回首个 {unitLine, varName}。\n * @param code - 待 append 的新语句文本(runtime 传新行)。\n * @returns 首个缺失引用;无缺失返回 undefined。\n */\n missingPrefixVar(code: string): { unitLine: number; varName: string } | undefined {\n const fullCode = this.fullCode === '' ? code : `${this.fullCode}\\n${code}`\n // 预检:跳过安全扫描(append 场景由 runtime 层先做 missingPrefixVar,再做 A1 安全扫描)。\n const units = this.parseAndTransform(fullCode, undefined, true)\n const available = new Set<string>(Object.keys(this.ctx))\n for (const unit of units) {\n if (!this.executedLines.has(unit.lineNo)) {\n for (const ref of unit.refs) {\n if (!available.has(ref)) return { unitLine: unit.lineNo, varName: ref }\n }\n }\n for (const w of unit.writes) available.add(w)\n }\n return undefined\n }\n\n /**\n * 应用待处理装配变换(R11②,P1):取走 takePendingAssemblyTransforms 的全部登记,\n * 对 compound 成员做 mesh 顶点烘焙 + BREP 刚体变换(p' = R·(p−pivot) + pivot + translation),\n * 差异:direct 模式无 DAG → 不做 computeDownstream 下游失效重算。\n * T3/T4:变换后同步身份槽 → solidCache(setSolidHook)并登记 changedSet。\n */\n private applyPendingAssemblyTransforms(): void {\n const pending = takePendingAssemblyTransforms()\n const pendingKin = takePendingAssemblyKinematics()\n if (pending.length === 0 && pendingKin.length === 0) return\n const kernel = getBackends().kernel.brep as BrepEngineApi | null\n for (const { compound, transforms } of pending) {\n const behavior = getSlot(compound)?.behavior as { memberNames?: string[] } | undefined\n if (!behavior?.memberNames) continue\n const children = (compound as { children?: Shape[] }).children ?? []\n const memberNames = behavior.memberNames\n for (const t of transforms) {\n const member = children[t.index]\n const name = memberNames[t.index]\n if (!member || typeof member !== 'object') continue\n // 变量名 = solidCache/faceEvolutionCache 的键(语句产出时 setName 登记,与\n // 逐单元 setSolid 同步同源)。装配 memberNames 是 CadQuery 风格的短名\n // (约束 DSL 引用用),不能当缓存键用——否则更新写空、变量名键仍指向\n // 已 release 的悬空句柄(导出阶段 buildBrepTopology → INVALID_SHAPE_ID)。\n const varName = nameOf(member) as string | undefined\n // mesh 原地变换(保留同一对象引用,ctx 与 compound.children 同步看到变更)\n Object.assign(member, applyTransform(member, t.quaternion, t.pivot, t.translation, t.rotationMatrix))\n // BREP 刚体变换(可选):新 solid 写身份槽 + solidCache(T3)\n const solid = brepOf(member) as BrepHandle | undefined\n if (kernel && solid) {\n const transformed = applyTransformBrep(kernel, solid, t.quaternion, t.pivot, t.translation)\n try { kernel.release(solid) } catch { /* 已释放 */ }\n ensureSlot(member).solid = transformed\n const cacheKey = varName ?? name\n if (cacheKey) this.setSolidHook?.(asPartName(cacheKey), transformed)\n }\n // changed 以变量名键登记(宿主按变量名刷新 statementCache/场景);成员名\n // 不同时也保留,兼容按成员名消费位姿的宿主(P3 kinematics 语义不变)。\n if (name) this.changedSet.add(name)\n if (varName && varName !== name) this.changedSet.add(varName)\n }\n }\n // P3:装配运动副位姿(joints 驱动)——成员名 → pose,collectDirectResult 消费。\n // 与 transforms 独立收集:全部成员恒等时 transforms 为空但 kinematics 非空。\n for (const { compound, kinematics } of pendingKin) {\n const behavior = getSlot(compound)?.behavior as { memberNames?: string[] } | undefined\n if (!behavior?.memberNames) continue\n const memberNames = behavior.memberNames\n for (const name of memberNames) {\n const pose = kinematics[name]\n if (pose) this.kinematicsOut.set(asPartName(name), pose)\n }\n }\n }\n\n /** 单单元执行:委托注入的执行后端(锚点/keep-sink 在调用前设置)。 */\n private async runUnit(unit: TransformedUnit): Promise<void> {\n // 执行锚点:库函数体 exec.keep / primitive 命名读 getCurrentStmt()?.outputs\n // ——用 ExecutionAnchor 轻量锚点(行号 + 写键)。\n const anchor: ExecutionAnchor = {\n id: `s${unit.lineNo}`,\n outputs: unit.writes.map((w) => w as PartName),\n hasAssignment: unit.writes.length > 0,\n }\n setCurrentStmt(anchor)\n try {\n await this.execBackend.runUnit(unit, {\n ctx: this.ctx,\n namespaces: this.namespaces,\n isGeom: isGeomValue,\n })\n } finally {\n setCurrentStmt(undefined)\n }\n }\n\n /** 行号 → 函数体 keep 登记(exec.keep/exec.keepHidden;与 live-shapes KeepView 对齐)。 */\n private registerKeepByLine(names: PartName[], hidden: boolean): void {\n if (this.activeLine === undefined) return\n let rec = this.keepByLine.get(this.activeLine)\n if (!rec) {\n rec = { kept: new Set(), hidden: new Map() }\n this.keepByLine.set(this.activeLine, rec)\n }\n for (const n of names) {\n rec.kept.add(n)\n rec.hidden.set(n, hidden)\n }\n }\n\n // ── 解析与变换 ──\n\n /**\n * 顶层 import/export 之外的容器体(扁平/容器归一):优先把源码整体按 ESM module\n * 解析——顶层 `import` 声明在模块作用域合法(多文件 §4.5:import 行不执行,绑定由\n * runtime 经 opts.imports 预置 ctx);无 export default 的扁平代码取顶层语句为单元。\n * 兼容回退:非容器旧文本(顶层 return/await 的 AI 手写体)按原封装\n * `export default async (...) => { ... }` 解析(函数作用域放行)。\n */\n private parseBody(code: string): { nodes: ASTNode[]; lineOffset: number; parseText: string } {\n const parseAs = (text: string): ASTNode => {\n return acornParse(text, { ecmaVersion: 'latest', sourceType: 'module', locations: true, ranges: true }) as unknown as ASTNode\n }\n let ast: ASTNode\n try {\n ast = parseAs(code)\n } catch (err) {\n const e = err as { message?: string; loc?: { line?: number } }\n // 容器体已在顶层 → 原样上抛;扁平旧文本走封装回退(函数作用域允许 return/await)\n if (!code.includes('export default')) {\n const parseCode = `export default async (__nsArg) => {\\n${code}\\n}`\n let wrappedAst: ASTNode\n try {\n wrappedAst = parseAs(parseCode)\n } catch {\n throw new ParseError(\n `SyntaxError: ${e.message ?? String(err)}`,\n (e.loc?.line ?? 1) - 1,\n 'E_SYNTAX',\n err,\n )\n }\n const decl = wrappedAst.body.find((n: ASTNode) => n.type === 'ExportDefaultDeclaration')\n const arrow = decl?.declaration\n if (arrow?.type === 'ArrowFunctionExpression' && arrow.body?.type === 'BlockStatement') {\n return { nodes: arrow.body.body as ASTNode[], lineOffset: 1, parseText: parseCode }\n }\n }\n throw new ParseError(`SyntaxError: ${e.message ?? String(err)}`, (e.loc?.line ?? 1), 'E_SYNTAX', err)\n }\n const exportDecl = ast.body.find((n: ASTNode) => n.type === 'ExportDefaultDeclaration')\n if (exportDecl) {\n const arrow = exportDecl.declaration\n if (arrow?.type !== 'ArrowFunctionExpression' || arrow.body?.type !== 'BlockStatement') {\n throw new ParseError('expected async arrow container body', 1, 'E_SYNTAX')\n }\n return { nodes: arrow.body.body as ASTNode[], lineOffset: 0, parseText: code }\n }\n // 扁平 ESM:顶层语句(含 import 声明,unit 生成时跳过)即单元边界。\n return { nodes: ast.body as ASTNode[], lineOffset: 0, parseText: code }\n }\n\n /** 解析并变换全部顶层单元。 */\n private parseAndTransform(code: string, extraKnownNames?: string[], skipSecurity = false): TransformedUnit[] {\n // A2:安全门禁前置——在 parseBody 之前对原始 code 扫描。\n // extraKnownNames = params/imports 预置键 + ctx 已有键(append 场景)。\n // skipSecurity = true 仅用于 missingPrefixVar 预检(append 场景:先 prefix 校验,再 A1 安全扫描)。\n if (!skipSecurity) {\n const nsNames = Object.keys(this.namespaces).filter((k) => k !== 'contractVersion')\n const knownNames = extraKnownNames ? [...nsNames, ...extraKnownNames] : nsNames\n assertSecure(code, {\n policy: this.securityPolicy,\n knownNames,\n // S7 只保护命名空间名,不保护 ctx 中的普通变量(如 let bp = ...)\n nsNames,\n defaultNs: 'cad',\n })\n }\n const { nodes, lineOffset, parseText } = this.parseBody(code)\n const declared = new Set<string>() // 累积:参数名 + outputs + 函数名\n const units: TransformedUnit[] = []\n for (const node of nodes) {\n if (node.type === 'ImportDeclaration') continue // import 行不执行\n const rawLine = (node?.loc?.start?.line ?? 1) - lineOffset\n const unit = this.transformTopNode(node, parseText, declared, rawLine, lineOffset)\n if (unit) units.push(unit)\n }\n return units\n }\n\n private transformTopNode(\n node: ASTNode,\n code: string,\n declared: Set<string>,\n lineNo: number,\n lineOffset: number,\n ): TransformedUnit | null {\n let unit: TransformedUnit | null\n switch (node.type) {\n case 'FunctionDeclaration':\n unit = this.transformFunction(node, code, declared, lineNo)\n break\n case 'VariableDeclaration':\n unit = this.transformVariable(node, code, declared, lineNo)\n break\n case 'ExpressionStatement':\n unit = this.transformExpressionStatement(node, code, declared, lineNo)\n break\n case 'ReturnStatement':\n // 容器/自由 JS 的顶层 return(AI 手写 .fai.js):return 只表达 UI meta /\n // 显式终端,不构成执行单元(几何产物都写在 ctx)。忽略执行。\n return null\n case 'IfStatement':\n case 'ForStatement':\n case 'ForInStatement':\n case 'ForOfStatement':\n case 'WhileStatement':\n case 'DoWhileStatement':\n case 'SwitchStatement':\n case 'TryStatement':\n case 'BlockStatement':\n case 'LabeledStatement':\n unit = this.transformBlock(node, code, declared, lineNo)\n break\n default:\n // 其余控制流/未知节点(ThrowStatement/BreakStatement/ContinueStatement 等)\n // 也按块单元处理——整段文本执行,不分析语义。\n unit = this.transformBlock(node, code, declared, lineNo)\n break\n }\n // 统一填充 endLine(闭区间)——AST node.loc.end.line 是物理行号,减去\n // lineOffset 归一化到与 lineNo 相同的基准。\n if (unit) {\n const endLine = (node.loc?.end?.line ?? lineNo) - lineOffset\n unit.endLine = endLine\n unit.node = node\n }\n return unit\n }\n\n /**\n * 控制流块单元(T1/A-6):for/if/while/do/switch/裸块等顶层块整块执行。\n * - 块起始行 = 单元行号;执行文本 = 原代码整段(node.start..node.end)。\n * - 块内**顶层**声明提升到 __ctx(`const p = cad.box(...)` → `__ctx.p = ...`);\n * 块内**嵌套块与函数体跳过**(局部作用域,不提升)。\n * - 对外部变量的词法引用按 hoistText 处理(已含 ctx 键)。\n * - 块产物通过执行前后 ctx diff 登记(runCode 里处理),writes 为空(无法静态确定)。\n */\n private transformBlock(\n node: ASTNode,\n code: string,\n declared: Set<string>,\n lineNo: number,\n ): TransformedUnit {\n const rawText = code.slice(node.start, node.end)\n const body = this.hoistBlockText(rawText, declared)\n // 收集块内所有 __ctx.<name> = 赋值的写入键(块产出 + 块内重写),\n // 供 runCode 登记 blockOutputs(块内重写的变量也用块起始行作 producerIdx)。\n const writes: string[] = []\n const re = /__ctx\\.(\\w+)\\s*=/g\n let m: RegExpExecArray | null\n while ((m = re.exec(body)) !== null) {\n if (!writes.includes(m[1])) writes.push(m[1])\n }\n return { lineNo, body, writes, refs: [], isBlock: true, endLine: 0 }\n }\n\n /**\n * 块文本提升(T1/v1):对块整段文本做词法级标识符提升——\n * - `const/let x = expr` → `__ctx.x = expr`(词边界替换关键字 + LHS);\n * - 自由标识符引用 → `__ctx.<name>`(已声明变量 + ctx 键)。\n *\n * v1 限制(R-5):不做嵌套作用域精确区分——嵌套块/函数体内的局部变量\n * 也会被提升到 `__ctx`,在功能上等价于\"块内所有变量都在 ctx 上\"(多写了一些\n * ctx 键,不会导致错误)。v2 可加 AST walk 精确跳过嵌套作用域。\n *\n * 实现策略:先收集块内所有声明名(acorn 扫描 VariableDeclarator + 函数名),\n * 再做两步文本替换:① 声明 LHS 提升写 __ctx 赋值;② 自由引用提升走 hoistText。\n */\n private hoistBlockText(text: string, declared: Set<string>): string {\n // 收集块内所有声明名(用于引用提升与声明改写)\n const names = new Set<string>(declared)\n for (const key of Object.keys(this.ctx)) names.add(key)\n\n // 排除命名空间名称(cad + registerLib 注册的库绑定)——它们在 __ns 上而非 __ctx\n const nsNames = new Set<string>(Object.keys(this.namespaces).filter((k) => k !== 'contractVersion'))\n\n let ast: ASTNode\n try {\n ast = acornParse(text, {\n ecmaVersion: 'latest',\n sourceType: 'module',\n locations: true,\n ranges: true,\n }) as unknown as ASTNode\n } catch {\n // 块文本不是合法 module(含 break/continue/return)→ 用函数体解析\n try {\n ast = acornParse(`(function(){ ${text} })`, {\n ecmaVersion: 'latest',\n sourceType: 'module',\n locations: true,\n ranges: true,\n }) as unknown as ASTNode\n } catch {\n // 解析失败 → 原样返回(执行时会自然报错)\n return text\n }\n }\n\n // 扫描全部 VariableDeclarator + FunctionDeclaration 名\n const walk = (n: ASTNode): void => {\n if (!n || typeof n !== 'object') return\n if (n.type === 'VariableDeclarator' && n.id?.type === 'Identifier') {\n names.add(n.id.name)\n }\n if (n.type === 'FunctionDeclaration' && n.id?.type === 'Identifier') {\n names.add(n.id.name)\n }\n for (const k of Object.keys(n)) {\n if (k === 'loc' || k === 'start' || k === 'end' || k === 'range' || k === 'parent' || k === 'type') continue\n const v = n[k]\n if (Array.isArray(v)) for (const item of v) walk(item)\n else if (v && typeof v === 'object') walk(v)\n }\n }\n walk(ast)\n\n // 从提升集合中移除命名空间名(cad 等留在 __ns)\n for (const nsName of nsNames) names.delete(nsName)\n\n // 声明 LHS 改写 + 自由引用提升(词法级,两步替换)\n let out = text\n // ⓪ for-of/in 头部声明:`for (const x of/in ...)` → `for (__ctx.x of/in ...)`。\n // 步骤①的 `\\w+\\s*=` 形态匹配不到 of/in 头部,若不先行改写,步骤②会把\n // 声明名提升为 `const __ctx.x` → SyntaxError。双前缀由下方修正兜底。\n out = out.replace(/\\bfor\\s*\\(\\s*(?:const|let)\\s+(\\w+)\\s+(of|in)\\b/g, 'for (__ctx.$1 $2 ')\n // ① const/let x = ... → __ctx.x = ...(去关键字 + LHS 加 __ctx.)\n out = out.replace(/\\b(?:const|let)\\s+(\\w+)\\s*=/g, '__ctx.$1 =')\n // ② 自由引用提升(与 hoistText 同逻辑,但含块内声明名;排除命名空间名)\n for (const name of names) {\n out = out.replace(new RegExp(`\\\\b${name}\\\\b`, 'g'), `__ctx.${name}`)\n }\n // ③ 命名空间名 → __ns.<name> + await 调用\n // 块内 cad.xxx(...) 调用需要 await(与扁平行式 emitCall 的 await 语义一致)。\n // 分两步:先替换调用形态 `<ns>.<member>(` → `await __ns.<ns>.<member>(`,\n // 再替换裸引用 `<ns>`(非成员访问)→ `__ns.<ns>`。\n for (const nsName of nsNames) {\n // 调用形态:`cad.box(` → `await __ns.cad.box(`\n out = out.replace(\n new RegExp(`(?<![.\\\\w])\\\\b${nsName}\\\\s*\\\\.\\\\s*(\\\\w+)\\\\s*\\\\(`, 'g'),\n `await __ns.${nsName}.$1(`,\n )\n // 裸成员访问(非调用):`cad.foo` → `__ns.cad.foo`(非调用不加 await)\n out = out.replace(\n new RegExp(`(?<![.\\\\w])\\\\b${nsName}\\\\s*\\\\.`, 'g'),\n `__ns.${nsName}.`,\n )\n }\n // __ctx.__ctx.x → __ctx.x(双前缀修正:LHS 改写后 name 又被提升替换)\n out = out.replace(/__ctx\\.__ctx\\./g, '__ctx.')\n // __ns.__ns.cad → __ns.cad(命名空间双前缀修正)\n out = out.replace(/__ns\\.__ns\\./g, '__ns.')\n // await await __ns → await __ns(双重 await 修正:块内已有 await 的调用)\n out = out.replace(/await\\s+await\\s+__ns\\./g, 'await __ns.')\n return out\n }\n\n /** 顶层函数提升:`__ctx.<name> = async function <name>(...) { 命名空间绑定; 体 }`。 */\n private transformFunction(node: ASTNode, code: string, declared: Set<string>, lineNo: number): TransformedUnit {\n const name = node.id?.name\n if (!name) throw new ParseError('function declaration must have a name', lineNo, 'E_STATEMENT')\n const params = (node.params ?? []).map((p: ASTNode) => p?.name).filter((x: unknown): x is string => typeof x === 'string')\n const bodyText = code.slice(node.body.start + 1, node.body.end - 1)\n const nsNames = Object.keys(this.namespaces).filter((k) => k !== 'contractVersion')\n const binds = nsNames.map((n) => ` const ${n} = __ns.${n}`).join('\\n')\n const body = [\n `__ctx.${name} = async function ${name}(${params.join(', ')}) {`,\n binds,\n bodyText,\n '}',\n ].join('\\n')\n // 本机函数体引用其它本机函数/变量走 __ctx(与顶层一致)\n declared.add(name)\n this.fnParams.set(name, params)\n return { lineNo, body, writes: [name], refs: [], callee: name, endLine: 0 }\n }\n\n /** const/let 行:参数(字面量)直接进 ctx;op 行变换调用;派生常量求值。 */\n private transformVariable(node: ASTNode, code: string, declared: Set<string>, lineNo: number): TransformedUnit {\n if (node.kind !== 'const' && node.kind !== 'let') {\n throw new ParseError(`only 'const' or 'let' declarations allowed, got '${node.kind}'`, lineNo, 'E_STATEMENT')\n }\n if (node.declarations.length !== 1) {\n throw new ParseError('multi-declarator const statements are not supported yet', lineNo, 'E_STATEMENT')\n }\n const d = node.declarations[0]\n const dLine = (d?.loc?.start?.line ?? lineNo)\n // 解构 op 行:const { front: a } = cad.fai_split(...)\n if (d?.id?.type === 'ObjectPattern') {\n const props = d.id.properties as ASTNode[]\n const keys: string[] = []\n const binds: string[] = []\n for (const prop of props) {\n if (prop.type !== 'Property') throw new ParseError('unsupported destructuring property', dLine, 'E_STATEMENT')\n keys.push(String(prop.key?.name ?? prop.key?.value))\n binds.push(String(prop.value?.name))\n }\n let init = d.init\n if (init?.type === 'AwaitExpression') init = init.argument\n const call = this.emitCall(init, code, declared, dLine)\n const writes = binds.map((b) => `__ctx.${b} = ${b}`)\n const pair = keys.map((k, i) => `${k}: ${binds[i]}`).join(', ')\n const body = [`const { ${pair} } = ${call}`, ...writes].join('\\n')\n for (const b of binds) declared.add(b)\n return { lineNo, body, writes: binds, refs: this.collectRefs(init), callee: this.calleeOf(init), endLine: 0 }\n }\n if (d?.id?.type !== 'Identifier') {\n throw new ParseError('expected identifier on left side of const declaration', dLine, 'E_STATEMENT')\n }\n const name = d.id.name\n let init = d.init\n if (init?.type === 'AwaitExpression') init = init.argument\n\n if (init?.type === 'CallExpression') {\n const call = this.emitCall(init, code, declared, dLine)\n declared.add(name)\n return { lineNo, body: `__ctx.${name} = ${call}`, writes: [name], refs: this.collectRefs(init), callee: this.calleeOf(init), endLine: 0 }\n }\n if (init) {\n // 参数行(字面量/数组/对象)或派生常量:求值后写入 ctx(引用走 __ctx 提升)\n const exprText = this.hoistText(code.slice(init.start, init.end), declared)\n declared.add(name)\n return { lineNo, body: `__ctx.${name} = ${exprText}`, writes: [name], refs: [], callee: undefined, endLine: 0 }\n }\n throw new ParseError('unsupported const declaration', dLine, 'E_STATEMENT')\n }\n\n /** 表达式语句:裸重赋值 / 命名空间裸调用 / 成员方法调用。 */\n private transformExpressionStatement(\n node: ASTNode,\n code: string,\n declared: Set<string>,\n lineNo: number,\n ): TransformedUnit {\n const expr = node.expression\n if (expr?.type === 'AssignmentExpression' && expr.operator === '=' && expr.left?.type === 'Identifier') {\n const varName = expr.left.name\n if (!declared.has(varName)) throw new ParseError(`unknown variable \"${varName}\" in re-assignment`, lineNo, 'E_REFERENCE')\n let init = expr.right\n if (init?.type === 'AwaitExpression') init = init.argument\n if (init?.type === 'CallExpression') {\n const call = this.emitCall(init, code, declared, lineNo)\n return { lineNo, body: `__ctx.${varName} = ${call}`, writes: [varName], refs: this.collectRefs(init), callee: this.calleeOf(init), endLine: 0 }\n }\n // 变量→变量重赋值 / 表达式重赋值(`bp = bp2` / `x = a + b`):合法 JS,\n // 直接提升自由标识符写回 ctx(A-15 最后写者语义)。\n const rhsText = this.hoistText(code.slice(init?.start ?? expr.right.start, expr.right.end), declared)\n return { lineNo, body: `__ctx.${varName} = ${rhsText}`, writes: [varName], refs: [], callee: undefined, endLine: 0 }\n }\n if (expr?.type === 'CallExpression') {\n const call = this.emitCall(expr, code, declared, lineNo)\n // P25 §3.7 规则 2(双语义):裸调用按返回值区分——只读查询(返回纯数据)\n // 放行不写回;修改类 op(返回几何 且 首位置实参/receiver 是几何变量)写回\n // 第一个 shape 位置实参(或成员 receiver)。静态选出候选写回目标,运行时\n // 双条件守卫兜底(__isGeom(__r) && __isGeom(__ctx.<target>))——projectView/\n // volume 等返回非几何的调用永不写回。\n const target = this.writebackTarget(expr, declared)\n if (target !== undefined) {\n const body =\n `const __r = await ${call}; ` +\n `if (__isGeom(__r) && __isGeom(__ctx.${target})) __ctx.${target} = __r`\n this.inplaceWrites.set(lineNo, target)\n return { lineNo, body, writes: [target], refs: this.collectRefs(expr), callee: this.calleeOf(expr), endLine: 0 }\n }\n // 命名空间裸调用 / 成员方法 / 本机函数副作用调用:都 await(无写入)\n return { lineNo, body: `await ${call}`, writes: [], refs: this.collectRefs(expr), callee: this.calleeOf(expr), endLine: 0 }\n }\n throw new ParseError('bare expression statements not allowed', lineNo, 'E_STATEMENT')\n }\n\n /** 调用发射:<ns>.<fn>(args) / <receiver>.<method>(args) / <localFn>(args) → await 形态。 */\n private emitCall(callNode: ASTNode, code: string, declared: Set<string>, lineNo: number): string { if (callNode?.type !== 'CallExpression') {\n throw new ParseError('expected call expression', lineNo, 'E_STATEMENT')\n }\n const callee = callNode.callee\n let head: string\n if (callee?.type === 'MemberExpression' && callee.object?.type === 'Identifier' && callee.property?.type === 'Identifier') {\n const objName = callee.object.name\n // 优先 __ctx:本机 shape/模块产物(含 import 预置的 shape 与模块命名空间)都是\n // ctx 键(isMemberOnCtx)或 declared;注册库绑定(cad/第三方 ns)不在 ctx → __ns。\n // 既非 declared/ctx 也非已装配命名空间的成员对象(如 Math)→ 保留裸全局调用,\n // 不误重写为 __ns.<name>(S4 白名单在 vm 包装内自然解析)。\n if (!declared.has(objName) && !this.ctxHas(objName) && !Object.hasOwn(this.namespaces, objName)) {\n const args = this.emitCallArgs(callNode, code, declared, lineNo)\n return `${code.slice(callee.start, callee.end)}(${args.join(', ')})`\n }\n head = declared.has(objName) || this.ctxHas(objName)\n ? `await __ctx.${objName}.${callee.property.name}`\n : `await __ns.${objName}.${callee.property.name}`\n } else if (callee?.type === 'Identifier') {\n if (declared.has(callee.name) || this.hasCtxFn(callee.name)) {\n head = `await __ctx.${callee.name}`\n } else {\n // 本机函数尚未在 declared(append 前缀场景由调用方校验)→ 仍按 ctx 函数调用\n head = `await __ctx.${callee.name}`\n }\n } else {\n throw new ParseError('expected <ns>.<op>(...) or local function call', lineNo, 'E_STATEMENT')\n }\n const args = this.emitCallArgs(callNode, code, declared, lineNo)\n return `${head}(${args.join(', ')})`\n }\n\n /**\n * 裸调用写回候选目标(P25 §3.7 规则 2 静态选择):\n * - 成员方法调用 `obj.method(...)`:receiver 是 ctx 对象(declared 或 ctx 键)→ 写回 receiver;\n * - 命名空间/本机函数调用 `cad.op(a0, ...)`:首位置实参是已声明/ctx 标识符 → 写回 a0\n * (多 shape 参数写回第一个——方案 §3.7.3);\n * - 其他(首参非简单标识符、receiver 是 __ns 命名空间)→ 无候选(放行不写回)。\n *\n * 静态选择只定「候选」,写回是否真正发生由运行时双条件守卫决定\n * (__isGeom(__r) && __isGeom(__ctx.<target>))——返回值非几何(projectView/volume)\n * 或目标原值非几何(模块命名空间 receiver)都不写回。\n *\n * @param callNode - 裸调用表达式。\n * @param declared - 已声明变量集(参数名 + 产出 + 函数名)。\n * @returns 写回目标变量名;无候选返回 undefined。\n */\n private writebackTarget(callNode: ASTNode, declared: Set<string>): string | undefined {\n if (callNode?.type !== 'CallExpression') return undefined\n const callee = callNode.callee\n if (callee?.type === 'MemberExpression' && callee.object?.type === 'Identifier') {\n const obj = callee.object.name\n // 成员方法调用(receiver 是 ctx/declared 对象)→ 写回 receiver;命名空间调用\n // (cad.op → __ns)走首位置实参候选(emitCall 同判定:ctx 对象走 __ctx,否则 __ns)。\n if (declared.has(obj) || this.ctxHas(obj)) return obj\n }\n const first = callNode.arguments?.[0]\n if (first?.type === 'Identifier') {\n const name = first.name\n return declared.has(name) || this.ctxHas(name) ? name : undefined\n }\n return undefined\n }\n\n /** 实参发射:本机函数调用(裸 Identifier 且已在 fnParams 登记)应用 §3.4/§3.6 的\n * 「位置 + 按名」ABI(splitPositionalOptions 语义:末尾纯对象实参的键按形参名映射剩余\n * 形参,位置实参占前 M 位);命名空间/成员调用保持对象实参原样传递。 */\n private emitCallArgs(callNode: ASTNode, code: string, declared: Set<string>, lineNo: number): string[] {\n const callee = callNode.callee\n const fnName = callee?.type === 'Identifier' ? callee.name : undefined\n if (fnName && this.fnParams.has(fnName)) {\n return this.emitLocalCallArgs(callNode, fnName, code, declared, lineNo)\n }\n return (callNode.arguments ?? []).map((a: ASTNode) => this.transformArg(a, code, declared, lineNo))\n }\n\n /** 本机函数调用 ABI 解包:位置实参原样占前 M 位;末尾纯对象(无 spread)的键按形参名\n * 补到剩余位,缺失形参补 undefined;多余位置实参原样保留(JS 宽松实参语义)。 */\n private emitLocalCallArgs(callNode: ASTNode, fnName: string, code: string, declared: Set<string>, lineNo: number): string[] {\n const params = this.fnParams.get(fnName) ?? []\n const rawArgs = callNode.arguments ?? []\n const last = rawArgs[rawArgs.length - 1]\n const canSplit = !!last && last.type === 'ObjectExpression'\n && (last.properties ?? []).every((p: ASTNode) => p.type === 'Property')\n const values = canSplit ? rawArgs.slice(0, -1) : rawArgs\n const named = new Map<string, ASTNode>()\n if (canSplit) {\n for (const prop of (last as { properties: ASTNode[] }).properties as ASTNode[]) {\n const key = prop.key?.type === 'Identifier' ? prop.key.name\n : prop.key?.type === 'Literal' ? String(prop.key.value)\n : null\n if (key === null) throw new ParseError('invalid object key', lineNo, 'E_VALUE')\n named.set(key, prop.shorthand ? { type: 'Identifier', name: key } as ASTNode : (prop as { value: ASTNode }).value)\n }\n }\n const out: string[] = values.map((v: ASTNode) => this.transformArg(v, code, declared, lineNo))\n for (let i = values.length; i < params.length; i++) {\n const p = params[i]\n const v = named.get(p)\n out.push(v !== undefined ? this.transformArg(v, code, declared, lineNo) : 'undefined')\n }\n return out\n }\n\n private hasCtxFn(name: string): boolean {\n return typeof this.ctx[name] === 'function'\n }\n\n private ctxHas(name: string): boolean {\n return Object.prototype.hasOwnProperty.call(this.ctx, name)\n }\n\n /** 实参变换:Literal → JSON;Identifier → __ctx.name;调用递归;对象/数组递归;\n * 表达式 → 自由标识符提升(文本级,词边界替换已声明名)。 */\n private transformArg(node: ASTNode, code: string, declared: Set<string>, lineNo: number): string {\n if (!node) return 'undefined'\n switch (node.type) {\n case 'Literal':\n return JSON.stringify(node.value)\n case 'Identifier':\n return `__ctx.${node.name}`\n case 'CallExpression':\n return this.emitCall(node, code, declared, lineNo)\n case 'ArrayExpression': {\n const items = (node.elements ?? []).map((el: ASTNode) =>\n el === null ? 'null' : el?.type === 'SpreadElement'\n ? `...${this.transformArg(el.argument, code, declared, lineNo)}`\n : this.transformArg(el, code, declared, lineNo))\n return `[${items.join(', ')}]`\n }\n case 'ObjectExpression': {\n const parts: string[] = []\n for (const prop of node.properties ?? []) {\n if (prop.type === 'SpreadElement') {\n parts.push(`...${this.transformArg(prop.argument, code, declared, lineNo)}`)\n continue\n }\n const key = prop.key?.type === 'Identifier' ? prop.key.name\n : prop.key?.type === 'Literal' ? JSON.stringify(String(prop.key.value))\n : null\n if (key === null) throw new ParseError('invalid object key', lineNo, 'E_VALUE')\n parts.push(prop.shorthand\n ? `${key}: __ctx.${key}`\n : `${key}: ${this.transformArg(prop.value, code, declared, lineNo)}`)\n }\n return `{ ${parts.join(', ')} }`\n }\n case 'UnaryExpression':\n return `${node.operator}(${this.transformArg(node.argument, code, declared, lineNo)})`\n case 'BinaryExpression':\n case 'LogicalExpression':\n // Parenthesize both operands: the AST emission drops the source's\n // parentheses, so without explicit parens JS operator precedence\n // reinterprets nested arithmetic (e.g. -((a+b)/2+c) → -a+b/2+c).\n return `(${this.transformArg(node.left, code, declared, lineNo)} ${node.operator} ${this.transformArg(node.right, code, declared, lineNo)})`\n case 'ConditionalExpression':\n return `(${this.transformArg(node.test, code, declared, lineNo)} ? ${this.transformArg(node.consequent, code, declared, lineNo)} : ${this.transformArg(node.alternate, code, declared, lineNo)})`\n case 'MemberExpression':\n return this.hoistText(code.slice(node.start, node.end), declared)\n default:\n return this.hoistText(code.slice(node.start, node.end), declared)\n }\n }\n\n /** 文本级自由标识符提升:把已声明变量名 + 当前 ctx 键(import 预置/先前执行产出)\n * 替换为 __ctx.<name>(词边界)。含 ctx 键 → append 跨文件引用(D6)与模块命名空间\n * 成员(cfg.OUTX)在实参文本中同样可解析。 */\n private hoistText(text: string, declared: Set<string>): string {\n let out = text\n const names = new Set<string>(declared)\n for (const key of Object.keys(this.ctx)) names.add(key)\n for (const name of names) {\n out = out.replace(new RegExp(`\\\\b${name}\\\\b`, 'g'), `__ctx.${name}`)\n }\n return out\n }\n\n private calleeOf(callNode: ASTNode | undefined): string | undefined {\n if (!callNode || callNode.type !== 'CallExpression') return undefined\n const c = callNode.callee\n if (c?.type === 'MemberExpression' && c.property?.type === 'Identifier') return c.property.name\n if (c?.type === 'Identifier') return c.name\n return undefined\n }\n\n /**\n * 返回块产出登记(T1):shape 名 → 块起始行号。\n * runtime 的 collectDirectResult 用此传给 computeLiveShapes 的 blockOutputs。\n * @returns 块产出登记的只读视图(Map 迭代序 = 插入序)。\n */\n getBlockOutputs(): Map<string, number> {\n return new Map(this.blockOutputs)\n }\n\n /**\n * 返回原地写回登记(P25 §3.7.4):裸调用行 → 写回目标变量名。\n * runtime 的 collectDirectResult 用此传给 computeLiveShapes 的 inplaceWrites\n * (producer 精确化)。\n * @returns 原地写回登记的只读视图。\n */\n getInplaceWrites(): Map<number, string> {\n return new Map(this.inplaceWrites)\n }\n\n /**\n * 返回变更登记(T2):写键值变化的产出。\n * runtime 的 collectDirectResult 用此填充 ExecutionResult.changed。\n * @returns 变更键名数组(undefined 表示无变更)。\n */\n getChanged(): string[] | undefined {\n return this.changedSet.size > 0 ? [...this.changedSet] : undefined\n }\n\n /** 收集调用实参里的裸标识符(append 前缀校验输入)。 */\n private collectRefs(callNode: ASTNode | undefined): string[] {\n const refs = new Set<string>()\n if (!callNode || callNode.type !== 'CallExpression') return []\n const walk = (n: ASTNode): void => {\n if (!n || typeof n !== 'object') return\n if (n.type === 'Identifier') {\n if (!['undefined', 'NaN', 'Infinity'].includes(n.name)) refs.add(n.name)\n return\n }\n if (n.type === 'MemberExpression') {\n walk(n.object)\n if (n.computed) walk(n.property)\n return\n }\n if (n.type === 'CallExpression') {\n // 嵌套调用内不视为本语句 input 引用(只读查询),与现状 collectStatementRefs 语义对齐——\n // 但 keep/依赖仍需要……现状是递归含 call args;这里保守按参数收集:\n for (const a of n.arguments ?? []) walk(a)\n return\n }\n if (n.type === 'Property') {\n walk(n.value)\n return\n }\n for (const k of Object.keys(n)) {\n if (k === 'loc' || k === 'start' || k === 'end' || k === 'range' || k === 'parent' || k === 'type') continue\n const v = n[k]\n if (Array.isArray(v)) for (const item of v) walk(item)\n else if (v && typeof v === 'object') walk(v)\n }\n }\n for (const a of callNode.arguments ?? []) walk(a)\n return [...refs]\n }\n}\n"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* exec-backend — execution backend seam for DirectExecutor units.
|
|
3
|
+
*
|
|
4
|
+
* Each transformed unit is executed by one of two backends:
|
|
5
|
+
* - VmBackend: wraps unit text into an async IIFE and compiles it with
|
|
6
|
+
* `new Function` (default; requires a JS VM with dynamic code eval).
|
|
7
|
+
* - InterpBackend: interprets the retained acorn AST directly (no eval /
|
|
8
|
+
* `new Function` / dynamic import — runs in restricted realms such as
|
|
9
|
+
* WeChat mini-program or strict CSP web).
|
|
10
|
+
*
|
|
11
|
+
* The backend is chosen statically at construction; there is no runtime
|
|
12
|
+
* fallback (same discipline as the BREP/mesh chain dispatch).
|
|
13
|
+
*
|
|
14
|
+
* This module intentionally imports nothing from direct-executor.ts (the
|
|
15
|
+
* executor imports FROM here) — keeps the package graph acyclic.
|
|
16
|
+
*/
|
|
17
|
+
/** Acorn AST node (loosely typed; backends treat the AST opaquely). */
|
|
18
|
+
export type ASTNode = any;
|
|
19
|
+
/**
|
|
20
|
+
* 变换后的执行单元(DirectExecutor 管线产出)。
|
|
21
|
+
* `body` 文本仅供 VmBackend;`node` AST 引用仅供 InterpBackend。
|
|
22
|
+
*/
|
|
23
|
+
export interface TransformedUnit {
|
|
24
|
+
lineNo: number;
|
|
25
|
+
/** 变换后的可执行语句文本(嵌入 async wrapper 的 body;VmBackend 专用) */
|
|
26
|
+
body: string;
|
|
27
|
+
/** 本单元写入的 ctx 键 */
|
|
28
|
+
writes: string[];
|
|
29
|
+
/** 本单元引用的变量名(append 前缀校验;来自实参裸标识符) */
|
|
30
|
+
refs: string[];
|
|
31
|
+
callee?: string;
|
|
32
|
+
/** 是否为控制流块单元(T1:for/if/while/do/switch/裸块等) */
|
|
33
|
+
isBlock?: boolean;
|
|
34
|
+
/** 单元结束行号(闭区间;transformTopNode 统一填充) */
|
|
35
|
+
endLine: number;
|
|
36
|
+
/** 顶层语句 AST 引用(InterpBackend 专用;VmBackend 忽略) */
|
|
37
|
+
node?: ASTNode;
|
|
38
|
+
}
|
|
39
|
+
/** 结构化命名空间视图(DirectExecutor `Namespaces` 的宽松投影,避免模块环)。 */
|
|
40
|
+
export interface ExecNamespaces {
|
|
41
|
+
readonly cad: unknown;
|
|
42
|
+
readonly [binding: string]: unknown;
|
|
43
|
+
}
|
|
44
|
+
/** 执行宿主:后端执行一个单元所需的全部运行期状态。 */
|
|
45
|
+
export interface ExecHost {
|
|
46
|
+
/** 持久变量容器(变量读写唯一持久层) */
|
|
47
|
+
ctx: Record<string, unknown>;
|
|
48
|
+
/** 命名空间绑定(cad + registerLib 注册库) */
|
|
49
|
+
namespaces: ExecNamespaces;
|
|
50
|
+
/** 几何值判定(裸调用原地写回双条件守卫,P25 §3.7 规则 2) */
|
|
51
|
+
isGeom: (v: unknown) => boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 执行后端:执行一个变换后的单元。
|
|
55
|
+
* 锚点(setCurrentStmt)与 keep-sink 由 DirectExecutor 在调用前设置,后端不负责。
|
|
56
|
+
*/
|
|
57
|
+
export interface ExecBackend {
|
|
58
|
+
runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
/** 执行后端选择(静态选定,无运行时回退)。 */
|
|
61
|
+
export type ExecBackendChoice = 'vm' | 'interpreter';
|
|
62
|
+
//# sourceMappingURL=exec-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec-backend.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/exec-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,MAAM,MAAM,OAAO,GAAG,GAAG,CAAA;AAEzB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB;IACnB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;CACpC;AAED,+BAA+B;AAC/B,MAAM,WAAW,QAAQ;IACvB,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,oCAAoC;IACpC,UAAU,EAAE,cAAc,CAAA;IAC1B,wCAAwC;IACxC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D;AAED,2BAA2B;AAC3B,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,aAAa,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* exec-backend — execution backend seam for DirectExecutor units.
|
|
3
|
+
*
|
|
4
|
+
* Each transformed unit is executed by one of two backends:
|
|
5
|
+
* - VmBackend: wraps unit text into an async IIFE and compiles it with
|
|
6
|
+
* `new Function` (default; requires a JS VM with dynamic code eval).
|
|
7
|
+
* - InterpBackend: interprets the retained acorn AST directly (no eval /
|
|
8
|
+
* `new Function` / dynamic import — runs in restricted realms such as
|
|
9
|
+
* WeChat mini-program or strict CSP web).
|
|
10
|
+
*
|
|
11
|
+
* The backend is chosen statically at construction; there is no runtime
|
|
12
|
+
* fallback (same discipline as the BREP/mesh chain dispatch).
|
|
13
|
+
*
|
|
14
|
+
* This module intentionally imports nothing from direct-executor.ts (the
|
|
15
|
+
* executor imports FROM here) — keeps the package graph acyclic.
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=exec-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec-backend.js","sourceRoot":"","sources":["../../src/cad-runtime/exec-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/**\n * exec-backend — execution backend seam for DirectExecutor units.\n *\n * Each transformed unit is executed by one of two backends:\n * - VmBackend: wraps unit text into an async IIFE and compiles it with\n * `new Function` (default; requires a JS VM with dynamic code eval).\n * - InterpBackend: interprets the retained acorn AST directly (no eval /\n * `new Function` / dynamic import — runs in restricted realms such as\n * WeChat mini-program or strict CSP web).\n *\n * The backend is chosen statically at construction; there is no runtime\n * fallback (same discipline as the BREP/mesh chain dispatch).\n *\n * This module intentionally imports nothing from direct-executor.ts (the\n * executor imports FROM here) — keeps the package graph acyclic.\n */\n\n/** Acorn AST node (loosely typed; backends treat the AST opaquely). */\nexport type ASTNode = any\n\n/**\n * 变换后的执行单元(DirectExecutor 管线产出)。\n * `body` 文本仅供 VmBackend;`node` AST 引用仅供 InterpBackend。\n */\nexport interface TransformedUnit {\n lineNo: number\n /** 变换后的可执行语句文本(嵌入 async wrapper 的 body;VmBackend 专用) */\n body: string\n /** 本单元写入的 ctx 键 */\n writes: string[]\n /** 本单元引用的变量名(append 前缀校验;来自实参裸标识符) */\n refs: string[]\n callee?: string\n /** 是否为控制流块单元(T1:for/if/while/do/switch/裸块等) */\n isBlock?: boolean\n /** 单元结束行号(闭区间;transformTopNode 统一填充) */\n endLine: number\n /** 顶层语句 AST 引用(InterpBackend 专用;VmBackend 忽略) */\n node?: ASTNode\n}\n\n/** 结构化命名空间视图(DirectExecutor `Namespaces` 的宽松投影,避免模块环)。 */\nexport interface ExecNamespaces {\n readonly cad: unknown\n readonly [binding: string]: unknown\n}\n\n/** 执行宿主:后端执行一个单元所需的全部运行期状态。 */\nexport interface ExecHost {\n /** 持久变量容器(变量读写唯一持久层) */\n ctx: Record<string, unknown>\n /** 命名空间绑定(cad + registerLib 注册库) */\n namespaces: ExecNamespaces\n /** 几何值判定(裸调用原地写回双条件守卫,P25 §3.7 规则 2) */\n isGeom: (v: unknown) => boolean\n}\n\n/**\n * 执行后端:执行一个变换后的单元。\n * 锚点(setCurrentStmt)与 keep-sink 由 DirectExecutor 在调用前设置,后端不负责。\n */\nexport interface ExecBackend {\n runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>\n}\n\n/** 执行后端选择(静态选定,无运行时回退)。 */\nexport type ExecBackendChoice = 'vm' | 'interpreter'\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* interp-backend — AST interpreter execution backend.
|
|
3
|
+
*
|
|
4
|
+
* Executes transformed units directly on the retained acorn AST: no `new
|
|
5
|
+
* Function`, no `eval`, no dynamic import — the only execution backend that
|
|
6
|
+
* runs in restricted realms (WeChat mini-program, strict CSP web).
|
|
7
|
+
*
|
|
8
|
+
* Contract with DirectExecutor (must stay observably identical to VmBackend):
|
|
9
|
+
* - the persistent ctx IS the variable container (root env, D1);
|
|
10
|
+
* - top-level function declarations were hoisted into ctx as async closures
|
|
11
|
+
* by transformFunction in the vm path — here the FunctionDeclaration unit
|
|
12
|
+
* creates an InterpClosure in ctx with the same name/params;
|
|
13
|
+
* - block units share the root env (R-5 v1, no nested scopes);
|
|
14
|
+
* - bare-call geometric writeback is performed by DirectExecutor's transform
|
|
15
|
+
* for the vm path; the interpreter mirrors it here (double condition on
|
|
16
|
+
* host.isGeom) using unit.writes[0] as the static candidate target.
|
|
17
|
+
*/
|
|
18
|
+
import type { ExecBackend, ExecHost, TransformedUnit } from '../exec-backend.js';
|
|
19
|
+
/**
|
|
20
|
+
* AST-interpreter execution backend: runs transformed units directly on the
|
|
21
|
+
* retained acorn AST. No `new Function`, no `eval`, no dynamic `import()` —
|
|
22
|
+
* the backend for restricted realms (WeChat mini-program / strict CSP).
|
|
23
|
+
* Semantics contract: observably identical to VmBackend (see the differential
|
|
24
|
+
* suite exec-backend-diff.test.ts).
|
|
25
|
+
*/
|
|
26
|
+
export declare class InterpBackend implements ExecBackend {
|
|
27
|
+
runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>;
|
|
28
|
+
/** Bare call with a static writeback candidate (P25 §3.7 rule 2): run the
|
|
29
|
+
* call, then apply the runtime double condition
|
|
30
|
+
* isGeom(result) && isGeom(ctx[target]) before writing back.
|
|
31
|
+
* Re-assignments (`x = call`) are NOT bare calls — they assign
|
|
32
|
+
* unconditionally through execStmt, matching the vm path. */
|
|
33
|
+
private isBareCallWithWriteback;
|
|
34
|
+
private runBareCallWriteback;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=interp-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interp-backend.d.ts","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/interp-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAW,MAAM,iBAAiB,CAAA;AAYtF;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,WAAW;IACzC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDnE;;;;kEAI8D;IAC9D,OAAO,CAAC,uBAAuB;YAQjB,oBAAoB;CAanC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { InterpEnv } from '../interp/env.js';
|
|
2
|
+
import { BreakSignal, ContinueSignal, isControlSignal } from '../interp/signals.js';
|
|
3
|
+
import { evalExpr } from '../interp/eval-expr.js';
|
|
4
|
+
import { execBody, execStmt } from '../interp/exec-stmt.js';
|
|
5
|
+
import { InterpClosure } from '../interp/closure.js';
|
|
6
|
+
/** Default closure recursion cap (matches the vm path's natural stack limit
|
|
7
|
+
* order of magnitude; tuned by the perf-budget test). */
|
|
8
|
+
const MAX_CLOSURE_DEPTH = 200;
|
|
9
|
+
/**
|
|
10
|
+
* AST-interpreter execution backend: runs transformed units directly on the
|
|
11
|
+
* retained acorn AST. No `new Function`, no `eval`, no dynamic `import()` —
|
|
12
|
+
* the backend for restricted realms (WeChat mini-program / strict CSP).
|
|
13
|
+
* Semantics contract: observably identical to VmBackend (see the differential
|
|
14
|
+
* suite exec-backend-diff.test.ts).
|
|
15
|
+
*/
|
|
16
|
+
export class InterpBackend {
|
|
17
|
+
async runUnit(unit, host) {
|
|
18
|
+
const node = unit.node;
|
|
19
|
+
if (!node) {
|
|
20
|
+
throw new Error('E_INTERNAL: interpreter backend requires the AST node on the transformed unit');
|
|
21
|
+
}
|
|
22
|
+
const state = {
|
|
23
|
+
host,
|
|
24
|
+
depth: 0,
|
|
25
|
+
maxDepth: MAX_CLOSURE_DEPTH,
|
|
26
|
+
evalExpr: (n, env) => evalExpr(n, env, state),
|
|
27
|
+
execBody: (body, env) => execBody(body, env, state),
|
|
28
|
+
};
|
|
29
|
+
const env = new InterpEnv('root', host.ctx, host.namespaces);
|
|
30
|
+
try {
|
|
31
|
+
switch (node.type) {
|
|
32
|
+
case 'FunctionDeclaration': {
|
|
33
|
+
const name = node.id?.name;
|
|
34
|
+
if (!name)
|
|
35
|
+
throw new Error('E_STATEMENT: function declaration must have a name');
|
|
36
|
+
host.ctx[name] = new InterpClosure(node, env);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
case 'VariableDeclaration':
|
|
40
|
+
case 'ExpressionStatement':
|
|
41
|
+
case 'BlockStatement':
|
|
42
|
+
case 'IfStatement':
|
|
43
|
+
case 'ForStatement':
|
|
44
|
+
case 'ForOfStatement':
|
|
45
|
+
case 'ForInStatement':
|
|
46
|
+
case 'WhileStatement':
|
|
47
|
+
case 'DoWhileStatement':
|
|
48
|
+
case 'SwitchStatement':
|
|
49
|
+
case 'TryStatement':
|
|
50
|
+
case 'ThrowStatement':
|
|
51
|
+
case 'LabeledStatement':
|
|
52
|
+
case 'EmptyStatement':
|
|
53
|
+
if (node.type === 'ExpressionStatement' && this.isBareCallWithWriteback(node, unit)) {
|
|
54
|
+
await this.runBareCallWriteback(node, unit, env, state, host);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
await execStmt(node, env, state);
|
|
58
|
+
return;
|
|
59
|
+
default:
|
|
60
|
+
throw new Error(`E_UNSUPPORTED_SYNTAX: top-level statement ${node.type} is not supported by the interpreter backend`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
// a control signal escaping a unit boundary is an interpreter bug, not a
|
|
65
|
+
// user-visible error — convert to a plain internal error
|
|
66
|
+
if (isControlSignal(e)) {
|
|
67
|
+
const kind = e instanceof BreakSignal ? 'break' : e instanceof ContinueSignal ? 'continue' : 'return';
|
|
68
|
+
throw new Error(`E_INTERNAL: ${kind} signal escaped unit boundary (line ${unit.lineNo})`, { cause: e });
|
|
69
|
+
}
|
|
70
|
+
throw e;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** Bare call with a static writeback candidate (P25 §3.7 rule 2): run the
|
|
74
|
+
* call, then apply the runtime double condition
|
|
75
|
+
* isGeom(result) && isGeom(ctx[target]) before writing back.
|
|
76
|
+
* Re-assignments (`x = call`) are NOT bare calls — they assign
|
|
77
|
+
* unconditionally through execStmt, matching the vm path. */
|
|
78
|
+
isBareCallWithWriteback(node, unit) {
|
|
79
|
+
return (node.expression?.type === 'CallExpression' &&
|
|
80
|
+
unit.callee !== undefined &&
|
|
81
|
+
(unit.writes?.length ?? 0) > 0);
|
|
82
|
+
}
|
|
83
|
+
async runBareCallWriteback(node, unit, env, state, host) {
|
|
84
|
+
const result = await evalExpr(node.expression, env, state);
|
|
85
|
+
const target = unit.writes[0];
|
|
86
|
+
if (host.isGeom(result) && host.isGeom(host.ctx[target])) {
|
|
87
|
+
host.ctx[target] = result;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=interp-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interp-backend.js","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/interp-backend.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * interp-backend — AST interpreter execution backend.\n *\n * Executes transformed units directly on the retained acorn AST: no `new\n * Function`, no `eval`, no dynamic import — the only execution backend that\n * runs in restricted realms (WeChat mini-program, strict CSP web).\n *\n * Contract with DirectExecutor (must stay observably identical to VmBackend):\n * - the persistent ctx IS the variable container (root env, D1);\n * - top-level function declarations were hoisted into ctx as async closures\n * by transformFunction in the vm path — here the FunctionDeclaration unit\n * creates an InterpClosure in ctx with the same name/params;\n * - block units share the root env (R-5 v1, no nested scopes);\n * - bare-call geometric writeback is performed by DirectExecutor's transform\n * for the vm path; the interpreter mirrors it here (double condition on\n * host.isGeom) using unit.writes[0] as the static candidate target.\n */\nimport type { ExecBackend, ExecHost, TransformedUnit, ASTNode } from '../exec-backend'\nimport { InterpEnv } from '../interp/env'\nimport type { InterpState } from '../interp/env'\nimport { BreakSignal, ContinueSignal, isControlSignal } from '../interp/signals'\nimport { evalExpr } from '../interp/eval-expr'\nimport { execBody, execStmt } from '../interp/exec-stmt'\nimport { InterpClosure } from '../interp/closure'\n\n/** Default closure recursion cap (matches the vm path's natural stack limit\n * order of magnitude; tuned by the perf-budget test). */\nconst MAX_CLOSURE_DEPTH = 200\n\n/**\n * AST-interpreter execution backend: runs transformed units directly on the\n * retained acorn AST. No `new Function`, no `eval`, no dynamic `import()` —\n * the backend for restricted realms (WeChat mini-program / strict CSP).\n * Semantics contract: observably identical to VmBackend (see the differential\n * suite exec-backend-diff.test.ts).\n */\nexport class InterpBackend implements ExecBackend {\n async runUnit(unit: TransformedUnit, host: ExecHost): Promise<void> {\n const node = unit.node as ASTNode | undefined\n if (!node) {\n throw new Error('E_INTERNAL: interpreter backend requires the AST node on the transformed unit')\n }\n const state: InterpState = {\n host,\n depth: 0,\n maxDepth: MAX_CLOSURE_DEPTH,\n evalExpr: (n: ASTNode, env: InterpEnv) => evalExpr(n, env, state),\n execBody: (body: ASTNode[], env: InterpEnv) => execBody(body, env, state),\n }\n const env = new InterpEnv('root', host.ctx, host.namespaces)\n\n try {\n switch (node.type) {\n case 'FunctionDeclaration': {\n const name = node.id?.name\n if (!name) throw new Error('E_STATEMENT: function declaration must have a name')\n host.ctx[name] = new InterpClosure(node, env)\n return\n }\n case 'VariableDeclaration':\n case 'ExpressionStatement':\n case 'BlockStatement':\n case 'IfStatement':\n case 'ForStatement':\n case 'ForOfStatement':\n case 'ForInStatement':\n case 'WhileStatement':\n case 'DoWhileStatement':\n case 'SwitchStatement':\n case 'TryStatement':\n case 'ThrowStatement':\n case 'LabeledStatement':\n case 'EmptyStatement':\n if (node.type === 'ExpressionStatement' && this.isBareCallWithWriteback(node, unit)) {\n await this.runBareCallWriteback(node, unit, env, state, host)\n return\n }\n await execStmt(node, env, state)\n return\n default:\n throw new Error(`E_UNSUPPORTED_SYNTAX: top-level statement ${node.type} is not supported by the interpreter backend`)\n }\n } catch (e) {\n // a control signal escaping a unit boundary is an interpreter bug, not a\n // user-visible error — convert to a plain internal error\n if (isControlSignal(e)) {\n const kind = e instanceof BreakSignal ? 'break' : e instanceof ContinueSignal ? 'continue' : 'return'\n throw new Error(`E_INTERNAL: ${kind} signal escaped unit boundary (line ${unit.lineNo})`, { cause: e })\n }\n throw e\n }\n }\n\n /** Bare call with a static writeback candidate (P25 §3.7 rule 2): run the\n * call, then apply the runtime double condition\n * isGeom(result) && isGeom(ctx[target]) before writing back.\n * Re-assignments (`x = call`) are NOT bare calls — they assign\n * unconditionally through execStmt, matching the vm path. */\n private isBareCallWithWriteback(node: ASTNode, unit: TransformedUnit): boolean {\n return (\n node.expression?.type === 'CallExpression' &&\n unit.callee !== undefined &&\n (unit.writes?.length ?? 0) > 0\n )\n }\n\n private async runBareCallWriteback(\n node: ASTNode,\n unit: TransformedUnit,\n env: InterpEnv,\n state: InterpState,\n host: ExecHost,\n ): Promise<void> {\n const result = await evalExpr(node.expression, env, state)\n const target = unit.writes[0]\n if (host.isGeom(result) && host.isGeom(host.ctx[target])) {\n host.ctx[target] = result\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vm-backend — default execution backend.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the transformed unit text into an async IIFE and compiles it with
|
|
5
|
+
* `new Function` against the shared ctx/namespaces. This file is the ONLY
|
|
6
|
+
* place in core where `new Function` is permitted (guard script, §6.4 of the
|
|
7
|
+
* no-eval backend design); SDF compilation is the other sanctioned site.
|
|
8
|
+
*/
|
|
9
|
+
import type { ExecBackend, ExecHost, TransformedUnit } from '../exec-backend.js';
|
|
10
|
+
/**
|
|
11
|
+
* VM execution backend: compiles the transformed unit text with `new Function`
|
|
12
|
+
* against the shared ctx/namespaces. The default backend for unrestricted
|
|
13
|
+
* realms; do NOT use in environments that forbid dynamic code generation
|
|
14
|
+
* (WeChat mini-program / strict CSP) — choose the interpreter backend there.
|
|
15
|
+
*/
|
|
16
|
+
export declare class VmBackend implements ExecBackend {
|
|
17
|
+
runUnit(unit: TransformedUnit, host: ExecHost): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=vm-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm-backend.d.ts","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/vm-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE7E;;;;;GAKG;AACH,qBAAa,SAAU,YAAW,WAAW;IACrC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAOpE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VM execution backend: compiles the transformed unit text with `new Function`
|
|
3
|
+
* against the shared ctx/namespaces. The default backend for unrestricted
|
|
4
|
+
* realms; do NOT use in environments that forbid dynamic code generation
|
|
5
|
+
* (WeChat mini-program / strict CSP) — choose the interpreter backend there.
|
|
6
|
+
*/
|
|
7
|
+
export class VmBackend {
|
|
8
|
+
async runUnit(unit, host) {
|
|
9
|
+
const src = `return (async () => {\n${unit.body}\n})()`;
|
|
10
|
+
// P25 §3.7 规则 2:第三参数 '__isGeom'(几何值守卫)——裸调用原地写回的
|
|
11
|
+
// 双条件运行时判定(返回值/原值都是几何才写回)。
|
|
12
|
+
const fn = new Function('__ctx', '__ns', '__isGeom', src);
|
|
13
|
+
await fn(host.ctx, host.namespaces, host.isGeom);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=vm-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm-backend.js","sourceRoot":"","sources":["../../../src/cad-runtime/exec-backends/vm-backend.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACpB,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,IAAc;QACjD,MAAM,GAAG,GAAG,0BAA0B,IAAI,CAAC,IAAI,QAAQ,CAAA;QACvD,iDAAiD;QACjD,2BAA2B;QAC3B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QACzD,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC;CACF","sourcesContent":["/**\n * vm-backend — default execution backend.\n *\n * Wraps the transformed unit text into an async IIFE and compiles it with\n * `new Function` against the shared ctx/namespaces. This file is the ONLY\n * place in core where `new Function` is permitted (guard script, §6.4 of the\n * no-eval backend design); SDF compilation is the other sanctioned site.\n */\nimport type { ExecBackend, ExecHost, TransformedUnit } from '../exec-backend'\n\n/**\n * VM execution backend: compiles the transformed unit text with `new Function`\n * against the shared ctx/namespaces. The default backend for unrestricted\n * realms; do NOT use in environments that forbid dynamic code generation\n * (WeChat mini-program / strict CSP) — choose the interpreter backend there.\n */\nexport class VmBackend implements ExecBackend {\n async runUnit(unit: TransformedUnit, host: ExecHost): Promise<void> {\n const src = `return (async () => {\\n${unit.body}\\n})()`\n // P25 §3.7 规则 2:第三参数 '__isGeom'(几何值守卫)——裸调用原地写回的\n // 双条件运行时判定(返回值/原值都是几何才写回)。\n const fn = new Function('__ctx', '__ns', '__isGeom', src)\n await fn(host.ctx, host.namespaces, host.isGeom)\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* execution-limit-error — 整轮执行超时错误(§6.3 / D8)
|
|
3
|
+
*
|
|
4
|
+
* 独立叶子文件:DirectExecutor(单元循环内检查)与 CadRuntime(module 路径
|
|
5
|
+
* runWithFailureHandling 的 Promise.race)共用,避免 runtime ↔ direct-executor
|
|
6
|
+
* 循环依赖。code = 'E_EXEC_LIMIT'(宿主可按 code 识别,区别于普通执行错误)。
|
|
7
|
+
*/
|
|
8
|
+
export declare class ExecutionLimitError extends Error {
|
|
9
|
+
/** 宿主可按 code 识别的错误码:'E_EXEC_LIMIT'。 */
|
|
10
|
+
readonly code = "E_EXEC_LIMIT";
|
|
11
|
+
constructor(timeoutMs: number);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=execution-limit-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-limit-error.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/execution-limit-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,uCAAuC;IACvC,QAAQ,CAAC,IAAI,kBAAiB;gBAClB,SAAS,EAAE,MAAM;CAI9B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* execution-limit-error — 整轮执行超时错误(§6.3 / D8)
|
|
3
|
+
*
|
|
4
|
+
* 独立叶子文件:DirectExecutor(单元循环内检查)与 CadRuntime(module 路径
|
|
5
|
+
* runWithFailureHandling 的 Promise.race)共用,避免 runtime ↔ direct-executor
|
|
6
|
+
* 循环依赖。code = 'E_EXEC_LIMIT'(宿主可按 code 识别,区别于普通执行错误)。
|
|
7
|
+
*/
|
|
8
|
+
export class ExecutionLimitError extends Error {
|
|
9
|
+
/** 宿主可按 code 识别的错误码:'E_EXEC_LIMIT'。 */
|
|
10
|
+
code = 'E_EXEC_LIMIT';
|
|
11
|
+
constructor(timeoutMs) {
|
|
12
|
+
super(`[faijs] execution timed out after ${timeoutMs}ms`);
|
|
13
|
+
this.name = 'ExecutionLimitError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=execution-limit-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-limit-error.js","sourceRoot":"","sources":["../../src/cad-runtime/execution-limit-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,uCAAuC;IAC9B,IAAI,GAAG,cAAc,CAAA;IAC9B,YAAY,SAAiB;QAC3B,KAAK,CAAC,qCAAqC,SAAS,IAAI,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF","sourcesContent":["/**\n * execution-limit-error — 整轮执行超时错误(§6.3 / D8)\n *\n * 独立叶子文件:DirectExecutor(单元循环内检查)与 CadRuntime(module 路径\n * runWithFailureHandling 的 Promise.race)共用,避免 runtime ↔ direct-executor\n * 循环依赖。code = 'E_EXEC_LIMIT'(宿主可按 code 识别,区别于普通执行错误)。\n */\nexport class ExecutionLimitError extends Error {\n /** 宿主可按 code 识别的错误码:'E_EXEC_LIMIT'。 */\n readonly code = 'E_EXEC_LIMIT'\n constructor(timeoutMs: number) {\n super(`[faijs] execution timed out after ${timeoutMs}ms`)\n this.name = 'ExecutionLimitError'\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cad-runtime — L2 编排层公开 API
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
export { CadRuntime, createRuntime, computeContentKey } from './runtime.js';
|
|
6
|
+
export { createPreviewExec } from './preview-exec.js';
|
|
7
|
+
export type { PreviewExec } from './preview-exec.js';
|
|
8
|
+
export type { ExecutionResult, ExecuteOptions, CheckResult, CheckError, } from './runtime.js';
|
|
9
|
+
export type { HostPorts, CsgBackend, SdfBackend, FontProvider, TextureSampler, AssetResolver, EventSink, ExecutionMode, MeshData, PlaneParams, SplitResult, DovetailGrooveParams, DowelSplitParams, StraightTenonSplitParams, } from './ports.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cad-runtime/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,YAAY,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,SAAS,CAAA"}
|