@faicad/faijs 0.31.1 → 0.32.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/api-namespace.d.ts.map +1 -1
- package/dist/api/api-namespace.js +9 -3
- package/dist/api/api-namespace.js.map +1 -1
- package/dist/api/boolean-op/index.d.ts.map +1 -1
- package/dist/api/boolean-op/index.js +1 -0
- package/dist/api/boolean-op/index.js.map +1 -1
- package/dist/api/boolean.d.ts.map +1 -1
- package/dist/api/boolean.js +4 -0
- package/dist/api/boolean.js.map +1 -1
- package/dist/api/brep-operations/joinery-brep.js +10 -10
- package/dist/api/brep-operations/joinery-brep.js.map +1 -1
- package/dist/api/chamfer.d.ts.map +1 -1
- package/dist/api/chamfer.js +1 -0
- package/dist/api/chamfer.js.map +1 -1
- package/dist/api/curve-sketch/index.d.ts.map +1 -1
- package/dist/api/curve-sketch/index.js +3 -0
- package/dist/api/curve-sketch/index.js.map +1 -1
- package/dist/api/draft.d.ts.map +1 -1
- package/dist/api/draft.js +1 -0
- package/dist/api/draft.js.map +1 -1
- package/dist/api/engrave.d.ts.map +1 -1
- package/dist/api/engrave.js +1 -0
- package/dist/api/engrave.js.map +1 -1
- package/dist/api/extrude.d.ts.map +1 -1
- package/dist/api/extrude.js +18 -17
- package/dist/api/extrude.js.map +1 -1
- package/dist/api/feature-repair.d.ts.map +1 -1
- package/dist/api/feature-repair.js +6 -0
- package/dist/api/feature-repair.js.map +1 -1
- package/dist/api/fillet-variable.d.ts.map +1 -1
- package/dist/api/fillet-variable.js +1 -0
- package/dist/api/fillet-variable.js.map +1 -1
- package/dist/api/fillet.d.ts.map +1 -1
- package/dist/api/fillet.js +1 -0
- package/dist/api/fillet.js.map +1 -1
- package/dist/api/generated/operations.js +16 -16
- package/dist/api/generated/operations.js.map +1 -1
- package/dist/api/generated/sketching.js +1 -1
- package/dist/api/generated/sketching.js.map +1 -1
- package/dist/api/generated/topology.js +18 -18
- package/dist/api/generated/topology.js.map +1 -1
- package/dist/api/helix.d.ts.map +1 -1
- package/dist/api/helix.js +1 -0
- package/dist/api/helix.js.map +1 -1
- package/dist/api/import-brep.d.ts.map +1 -1
- package/dist/api/import-brep.js +1 -0
- package/dist/api/import-brep.js.map +1 -1
- package/dist/api/import-step.d.ts.map +1 -1
- package/dist/api/import-step.js +1 -0
- package/dist/api/import-step.js.map +1 -1
- package/dist/api/index.d.ts +5 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +3 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/loft-advanced.d.ts +66 -0
- package/dist/api/loft-advanced.d.ts.map +1 -0
- package/dist/api/loft-advanced.js +112 -0
- package/dist/api/loft-advanced.js.map +1 -0
- package/dist/api/loft.d.ts +16 -23
- package/dist/api/loft.d.ts.map +1 -1
- package/dist/api/loft.js +22 -40
- package/dist/api/loft.js.map +1 -1
- package/dist/api/measure-query/index.d.ts.map +1 -1
- package/dist/api/measure-query/index.js +2 -0
- package/dist/api/measure-query/index.js.map +1 -1
- package/dist/api/pattern.d.ts.map +1 -1
- package/dist/api/pattern.js +1 -0
- package/dist/api/pattern.js.map +1 -1
- package/dist/api/place.d.ts.map +1 -1
- package/dist/api/place.js +1 -0
- package/dist/api/place.js.map +1 -1
- package/dist/api/profile.d.ts.map +1 -1
- package/dist/api/profile.js +1 -0
- package/dist/api/profile.js.map +1 -1
- package/dist/api/punch-hole.d.ts.map +1 -1
- package/dist/api/punch-hole.js +1 -0
- package/dist/api/punch-hole.js.map +1 -1
- package/dist/api/replicate.d.ts.map +1 -1
- package/dist/api/replicate.js +6 -0
- package/dist/api/replicate.js.map +1 -1
- package/dist/api/revolve.d.ts.map +1 -1
- package/dist/api/revolve.js +1 -0
- package/dist/api/revolve.js.map +1 -1
- package/dist/api/screw.d.ts.map +1 -1
- package/dist/api/screw.js +1 -0
- package/dist/api/screw.js.map +1 -1
- package/dist/api/sdf.d.ts.map +1 -1
- package/dist/api/sdf.js +1 -0
- package/dist/api/sdf.js.map +1 -1
- package/dist/api/shell.d.ts.map +1 -1
- package/dist/api/shell.js +1 -0
- package/dist/api/shell.js.map +1 -1
- package/dist/api/sketch-on-face.d.ts +34 -30
- package/dist/api/sketch-on-face.d.ts.map +1 -1
- package/dist/api/sketch-on-face.js +41 -31
- package/dist/api/sketch-on-face.js.map +1 -1
- package/dist/api/sketch-on-plane.d.ts.map +1 -1
- package/dist/api/sketch-on-plane.js +1 -0
- package/dist/api/sketch-on-plane.js.map +1 -1
- package/dist/api/sketch-on-surface.d.ts +76 -0
- package/dist/api/sketch-on-surface.d.ts.map +1 -0
- package/dist/api/sketch-on-surface.js +99 -0
- package/dist/api/sketch-on-surface.js.map +1 -0
- package/dist/api/solid-offset/index.d.ts.map +1 -1
- package/dist/api/solid-offset/index.js +1 -0
- package/dist/api/solid-offset/index.js.map +1 -1
- package/dist/api/split.d.ts.map +1 -1
- package/dist/api/split.js +1 -0
- package/dist/api/split.js.map +1 -1
- package/dist/api/surface/arg-spec.d.ts +5 -4
- package/dist/api/surface/arg-spec.d.ts.map +1 -1
- package/dist/api/surface/arg-spec.js +2 -2
- package/dist/api/surface/arg-spec.js.map +1 -1
- package/dist/api/surface-face/index.d.ts.map +1 -1
- package/dist/api/surface-face/index.js +5 -0
- package/dist/api/surface-face/index.js.map +1 -1
- package/dist/api/surface.d.ts.map +1 -1
- package/dist/api/surface.js +1 -0
- package/dist/api/surface.js.map +1 -1
- package/dist/api/sweep-advanced.d.ts +117 -0
- package/dist/api/sweep-advanced.d.ts.map +1 -0
- package/dist/api/sweep-advanced.js +94 -0
- package/dist/api/sweep-advanced.js.map +1 -0
- package/dist/api/sweep.d.ts +18 -88
- package/dist/api/sweep.d.ts.map +1 -1
- package/dist/api/sweep.js +27 -30
- package/dist/api/sweep.js.map +1 -1
- package/dist/api/thicken.d.ts.map +1 -1
- package/dist/api/thicken.js +1 -0
- package/dist/api/thicken.js.map +1 -1
- package/dist/api/transform.d.ts.map +1 -1
- package/dist/api/transform.js +2 -0
- package/dist/api/transform.js.map +1 -1
- package/dist/api/wire.d.ts.map +1 -1
- package/dist/api/wire.js +1 -0
- package/dist/api/wire.js.map +1 -1
- package/dist/boolean/cross-section.d.ts +7 -6
- package/dist/boolean/cross-section.d.ts.map +1 -1
- package/dist/boolean/cross-section.js +38 -27
- package/dist/boolean/cross-section.js.map +1 -1
- package/dist/boolean/deriveNormals.d.ts +5 -5
- package/dist/boolean/deriveNormals.d.ts.map +1 -1
- package/dist/boolean/deriveNormals.js +18 -18
- package/dist/boolean/deriveNormals.js.map +1 -1
- package/dist/boolean/extrude-helpers.d.ts +6 -6
- package/dist/boolean/extrude-helpers.d.ts.map +1 -1
- package/dist/boolean/extrude-helpers.js +6 -6
- package/dist/boolean/extrude-helpers.js.map +1 -1
- package/dist/boolean/geo-convert.d.ts +11 -8
- package/dist/boolean/geo-convert.d.ts.map +1 -1
- package/dist/boolean/geo-convert.js +17 -73
- package/dist/boolean/geo-convert.js.map +1 -1
- package/dist/boolean/index.js.map +1 -1
- package/dist/brep/brep-ops.d.ts +5 -5
- package/dist/brep/brep-ops.d.ts.map +1 -1
- package/dist/brep/brep-ops.js +42 -42
- package/dist/brep/brep-ops.js.map +1 -1
- package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -1
- package/dist/brep/engine/adapters/brep-mock.js +24 -0
- package/dist/brep/engine/adapters/brep-mock.js.map +1 -1
- package/dist/brep/engine/primitives.d.ts +30 -0
- package/dist/brep/engine/primitives.d.ts.map +1 -1
- package/dist/brep/engine/primitives.js.map +1 -1
- package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -1
- package/dist/brepkit-kernel/brepkitKernel.js +138 -0
- package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
- package/dist/cad-runtime/runtime.d.ts.map +1 -1
- package/dist/cad-runtime/runtime.js +5 -2
- package/dist/cad-runtime/runtime.js.map +1 -1
- package/dist/define-op.d.ts +16 -7
- package/dist/define-op.d.ts.map +1 -1
- package/dist/define-op.js +2 -0
- package/dist/define-op.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lang/codegen.d.ts +14 -3
- package/dist/lang/codegen.d.ts.map +1 -1
- package/dist/lang/codegen.js +80 -5
- package/dist/lang/codegen.js.map +1 -1
- package/dist/lang/metadata-extractor.d.ts +10 -3
- package/dist/lang/metadata-extractor.d.ts.map +1 -1
- package/dist/lang/metadata-extractor.js +160 -65
- package/dist/lang/metadata-extractor.js.map +1 -1
- package/dist/lang/symbol-table.generated.d.ts +3 -0
- package/dist/lang/symbol-table.generated.d.ts.map +1 -1
- package/dist/lang/symbol-table.generated.js +3 -0
- package/dist/lang/symbol-table.generated.js.map +1 -1
- package/dist/math3d/Box3.d.ts +86 -0
- package/dist/math3d/Box3.d.ts.map +1 -0
- package/dist/math3d/Box3.js +149 -0
- package/dist/math3d/Box3.js.map +1 -0
- package/dist/math3d/Euler.d.ts +64 -0
- package/dist/math3d/Euler.d.ts.map +1 -0
- package/dist/math3d/Euler.js +94 -0
- package/dist/math3d/Euler.js.map +1 -0
- package/dist/math3d/Mat4.d.ts +196 -0
- package/dist/math3d/Mat4.d.ts.map +1 -0
- package/dist/math3d/Mat4.js +518 -0
- package/dist/math3d/Mat4.js.map +1 -0
- package/dist/math3d/Plane.d.ts +67 -0
- package/dist/math3d/Plane.d.ts.map +1 -0
- package/dist/math3d/Plane.js +90 -0
- package/dist/math3d/Plane.js.map +1 -0
- package/dist/math3d/Quat.d.ts +163 -0
- package/dist/math3d/Quat.d.ts.map +1 -0
- package/dist/math3d/Quat.js +408 -0
- package/dist/math3d/Quat.js.map +1 -0
- package/dist/math3d/Vec2.d.ts +185 -0
- package/dist/math3d/Vec2.d.ts.map +1 -0
- package/dist/math3d/Vec2.js +276 -0
- package/dist/math3d/Vec2.js.map +1 -0
- package/dist/math3d/Vec3.d.ts +326 -0
- package/dist/math3d/Vec3.d.ts.map +1 -0
- package/dist/math3d/Vec3.js +521 -0
- package/dist/math3d/Vec3.js.map +1 -0
- package/dist/math3d/index.d.ts +19 -0
- package/dist/math3d/index.d.ts.map +1 -0
- package/dist/math3d/index.js +19 -0
- package/dist/math3d/index.js.map +1 -0
- package/dist/mesh/decoration-provider.d.ts +2 -2
- package/dist/mesh/decoration-provider.d.ts.map +1 -1
- package/dist/mesh/decoration-provider.js.map +1 -1
- package/dist/mesh/engrave.d.ts.map +1 -1
- package/dist/mesh/engrave.js +36 -37
- package/dist/mesh/engrave.js.map +1 -1
- package/dist/mesh/io.d.ts.map +1 -1
- package/dist/mesh/io.js +6 -7
- package/dist/mesh/io.js.map +1 -1
- package/dist/mesh/knurl/KnurlGenerator.d.ts +8 -7
- package/dist/mesh/knurl/KnurlGenerator.d.ts.map +1 -1
- package/dist/mesh/knurl/KnurlGenerator.js +9 -9
- package/dist/mesh/knurl/KnurlGenerator.js.map +1 -1
- package/dist/mesh/knurl/displacement.d.ts +7 -6
- package/dist/mesh/knurl/displacement.d.ts.map +1 -1
- package/dist/mesh/knurl/displacement.js +29 -29
- package/dist/mesh/knurl/displacement.js.map +1 -1
- package/dist/mesh/knurl/subdivision.d.ts +3 -3
- package/dist/mesh/knurl/subdivision.d.ts.map +1 -1
- package/dist/mesh/knurl/subdivision.js +21 -15
- package/dist/mesh/knurl/subdivision.js.map +1 -1
- package/dist/mesh/knurl/textureLoader.d.ts +3 -3
- package/dist/mesh/knurl/textureLoader.d.ts.map +1 -1
- package/dist/mesh/knurl/textureLoader.js.map +1 -1
- package/dist/mesh/meshdata/index.d.ts +12 -0
- package/dist/mesh/meshdata/index.d.ts.map +1 -0
- package/dist/mesh/meshdata/index.js +12 -0
- package/dist/mesh/meshdata/index.js.map +1 -0
- package/dist/mesh/meshdata/ops.d.ts +62 -0
- package/dist/mesh/meshdata/ops.d.ts.map +1 -0
- package/dist/mesh/meshdata/ops.js +160 -0
- package/dist/mesh/meshdata/ops.js.map +1 -0
- package/dist/mesh/meshdata/parametric.d.ts +70 -0
- package/dist/mesh/meshdata/parametric.d.ts.map +1 -0
- package/dist/mesh/meshdata/parametric.js +213 -0
- package/dist/mesh/meshdata/parametric.js.map +1 -0
- package/dist/mesh/meshdata/weld.d.ts +21 -0
- package/dist/mesh/meshdata/weld.d.ts.map +1 -0
- package/dist/mesh/meshdata/weld.js +50 -0
- package/dist/mesh/meshdata/weld.js.map +1 -0
- package/dist/mesh/primitives.d.ts +1 -1
- package/dist/mesh/primitives.d.ts.map +1 -1
- package/dist/mesh/primitives.js +38 -39
- package/dist/mesh/primitives.js.map +1 -1
- package/dist/mesh/query.js +11 -11
- package/dist/mesh/query.js.map +1 -1
- package/dist/mesh/stl-loader.d.ts +7 -7
- package/dist/mesh/stl-loader.d.ts.map +1 -1
- package/dist/mesh/stl-loader.js +12 -24
- package/dist/mesh/stl-loader.js.map +1 -1
- package/dist/mesh/threemf-view.d.ts +11 -11
- package/dist/mesh/threemf-view.d.ts.map +1 -1
- package/dist/mesh/threemf-view.js +10 -10
- package/dist/mesh/threemf-view.js.map +1 -1
- package/dist/mesh/transform.d.ts +14 -8
- package/dist/mesh/transform.d.ts.map +1 -1
- package/dist/mesh/transform.js +18 -13
- package/dist/mesh/transform.js.map +1 -1
- package/dist/mesh/types.d.ts +2 -0
- package/dist/mesh/types.d.ts.map +1 -1
- package/dist/mesh/types.js.map +1 -1
- package/dist/occt-kernel/occt-primitives.d.ts.map +1 -1
- package/dist/occt-kernel/occt-primitives.js +20 -0
- package/dist/occt-kernel/occt-primitives.js.map +1 -1
- package/dist/primitives/brep-primitives.d.ts +8 -12
- package/dist/primitives/brep-primitives.d.ts.map +1 -1
- package/dist/primitives/brep-primitives.js +10 -28
- package/dist/primitives/brep-primitives.js.map +1 -1
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/mesh-primitives.d.ts +10 -10
- package/dist/primitives/mesh-primitives.d.ts.map +1 -1
- package/dist/primitives/mesh-primitives.js +29 -76
- package/dist/primitives/mesh-primitives.js.map +1 -1
- package/dist/primitives/screw/screw.d.ts +3 -3
- package/dist/primitives/screw/screw.d.ts.map +1 -1
- package/dist/primitives/screw/screw.js +10 -9
- package/dist/primitives/screw/screw.js.map +1 -1
- package/dist/sdf/index.js.map +1 -1
- package/dist/units.d.ts +40 -0
- package/dist/units.d.ts.map +1 -1
- package/dist/units.js.map +1 -1
- package/package.json +3 -5
- package/dist/api/brep-mirror/booleanFns.d.ts +0 -40
- package/dist/api/brep-mirror/booleanFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/booleanFns.js +0 -104
- package/dist/api/brep-mirror/booleanFns.js.map +0 -1
- package/dist/api/brep-mirror/brepHelpers.d.ts +0 -55
- package/dist/api/brep-mirror/brepHelpers.d.ts.map +0 -1
- package/dist/api/brep-mirror/brepHelpers.js +0 -131
- package/dist/api/brep-mirror/brepHelpers.js.map +0 -1
- package/dist/api/brep-mirror/compoundFns.d.ts +0 -47
- package/dist/api/brep-mirror/compoundFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/compoundFns.js +0 -300
- package/dist/api/brep-mirror/compoundFns.js.map +0 -1
- package/dist/api/brep-mirror/healingFns.d.ts +0 -78
- package/dist/api/brep-mirror/healingFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/healingFns.js +0 -294
- package/dist/api/brep-mirror/healingFns.js.map +0 -1
- package/dist/api/brep-mirror/hullFns.d.ts +0 -20
- package/dist/api/brep-mirror/hullFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/hullFns.js +0 -46
- package/dist/api/brep-mirror/hullFns.js.map +0 -1
- package/dist/api/brep-mirror/joinery-brep.d.ts +0 -172
- package/dist/api/brep-mirror/joinery-brep.d.ts.map +0 -1
- package/dist/api/brep-mirror/joinery-brep.js +0 -463
- package/dist/api/brep-mirror/joinery-brep.js.map +0 -1
- package/dist/api/brep-mirror/patternFns.d.ts +0 -43
- package/dist/api/brep-mirror/patternFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/patternFns.js +0 -178
- package/dist/api/brep-mirror/patternFns.js.map +0 -1
- package/dist/api/brep-mirror/primitiveFns.d.ts +0 -42
- package/dist/api/brep-mirror/primitiveFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/primitiveFns.js +0 -104
- package/dist/api/brep-mirror/primitiveFns.js.map +0 -1
- package/dist/api/brep-mirror/roofFns.d.ts +0 -24
- package/dist/api/brep-mirror/roofFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/roofFns.js +0 -229
- package/dist/api/brep-mirror/roofFns.js.map +0 -1
- package/dist/api/brep-mirror/straightSkeleton.d.ts +0 -36
- package/dist/api/brep-mirror/straightSkeleton.d.ts.map +0 -1
- package/dist/api/brep-mirror/straightSkeleton.js +0 -443
- package/dist/api/brep-mirror/straightSkeleton.js.map +0 -1
- package/dist/api/brep-mirror/sweepFns.d.ts +0 -55
- package/dist/api/brep-mirror/sweepFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/sweepFns.js +0 -200
- package/dist/api/brep-mirror/sweepFns.js.map +0 -1
- package/dist/api/brep-mirror/threadFns.d.ts +0 -83
- package/dist/api/brep-mirror/threadFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/threadFns.js +0 -138
- package/dist/api/brep-mirror/threadFns.js.map +0 -1
- package/dist/api/brep-mirror/topologyFns.d.ts +0 -74
- package/dist/api/brep-mirror/topologyFns.d.ts.map +0 -1
- package/dist/api/brep-mirror/topologyFns.js +0 -276
- package/dist/api/brep-mirror/topologyFns.js.map +0 -1
- package/dist/api/brepjs-compat/constants.d.ts +0 -11
- package/dist/api/brepjs-compat/constants.d.ts.map +0 -1
- package/dist/api/brepjs-compat/constants.js +0 -11
- package/dist/api/brepjs-compat/constants.js.map +0 -1
- package/dist/api/brepjs-compat/index.d.ts +0 -21
- package/dist/api/brepjs-compat/index.d.ts.map +0 -1
- package/dist/api/brepjs-compat/index.js +0 -22
- package/dist/api/brepjs-compat/index.js.map +0 -1
- package/dist/api/brepjs-compat/planeOps.d.ts +0 -98
- package/dist/api/brepjs-compat/planeOps.d.ts.map +0 -1
- package/dist/api/brepjs-compat/planeOps.js +0 -170
- package/dist/api/brepjs-compat/planeOps.js.map +0 -1
- package/dist/api/brepjs-compat/planeTypes.d.ts +0 -24
- package/dist/api/brepjs-compat/planeTypes.d.ts.map +0 -1
- package/dist/api/brepjs-compat/planeTypes.js +0 -8
- package/dist/api/brepjs-compat/planeTypes.js.map +0 -1
- package/dist/api/brepjs-compat/types.d.ts +0 -64
- package/dist/api/brepjs-compat/types.d.ts.map +0 -1
- package/dist/api/brepjs-compat/types.js +0 -48
- package/dist/api/brepjs-compat/types.js.map +0 -1
- package/dist/api/brepjs-compat/vecOps.d.ts +0 -124
- package/dist/api/brepjs-compat/vecOps.d.ts.map +0 -1
- package/dist/api/brepjs-compat/vecOps.js +0 -202
- package/dist/api/brepjs-compat/vecOps.js.map +0 -1
- package/dist/api/generated/brepjs/index.d.ts +0 -310
- package/dist/api/generated/brepjs/index.d.ts.map +0 -1
- package/dist/api/generated/brepjs/index.js +0 -195
- package/dist/api/generated/brepjs/index.js.map +0 -1
- package/dist/api/generated/cad/script-face.d.ts +0 -12
- package/dist/api/generated/cad/script-face.d.ts.map +0 -1
- package/dist/api/generated/cad/script-face.js +0 -146
- package/dist/api/generated/cad/script-face.js.map +0 -1
- package/dist/api/internal/compat-projection.d.ts +0 -55
- package/dist/api/internal/compat-projection.d.ts.map +0 -1
- package/dist/api/internal/compat-projection.js +0 -75
- package/dist/api/internal/compat-projection.js.map +0 -1
- package/dist/api/occt-kernel-bridge.d.ts +0 -118
- package/dist/api/occt-kernel-bridge.d.ts.map +0 -1
- package/dist/api/occt-kernel-bridge.js +0 -283
- package/dist/api/occt-kernel-bridge.js.map +0 -1
- package/dist/api/sketch.d.ts +0 -80
- package/dist/api/sketch.d.ts.map +0 -1
- package/dist/api/sketch.js +0 -155
- package/dist/api/sketch.js.map +0 -1
- package/dist/api/surface/projection-overrides.d.ts +0 -38
- package/dist/api/surface/projection-overrides.d.ts.map +0 -1
- package/dist/api/surface/projection-overrides.js +0 -169
- package/dist/api/surface/projection-overrides.js.map +0 -1
- package/dist/brepjs-compat.d.ts +0 -20
- package/dist/brepjs-compat.d.ts.map +0 -1
- package/dist/brepjs-compat.js +0 -20
- package/dist/brepjs-compat.js.map +0 -1
- package/dist/cad-runtime/createRuntimeWithCad.d.ts +0 -22
- package/dist/cad-runtime/createRuntimeWithCad.d.ts.map +0 -1
- package/dist/cad-runtime/createRuntimeWithCad.js +0 -29
- package/dist/cad-runtime/createRuntimeWithCad.js.map +0 -1
- package/dist/fcstd/attachment.d.ts +0 -72
- package/dist/fcstd/attachment.d.ts.map +0 -1
- package/dist/fcstd/attachment.js +0 -93
- package/dist/fcstd/attachment.js.map +0 -1
- package/dist/fcstd/build-fai-zip.d.ts +0 -40
- package/dist/fcstd/build-fai-zip.d.ts.map +0 -1
- package/dist/fcstd/build-fai-zip.js +0 -111
- package/dist/fcstd/build-fai-zip.js.map +0 -1
- package/dist/fcstd/cli.d.ts +0 -3
- package/dist/fcstd/cli.d.ts.map +0 -1
- package/dist/fcstd/cli.js +0 -37
- package/dist/fcstd/cli.js.map +0 -1
- package/dist/fcstd/codegen.d.ts +0 -79
- package/dist/fcstd/codegen.d.ts.map +0 -1
- package/dist/fcstd/codegen.js +0 -605
- package/dist/fcstd/codegen.js.map +0 -1
- package/dist/fcstd/container.d.ts +0 -75
- package/dist/fcstd/container.d.ts.map +0 -1
- package/dist/fcstd/container.js +0 -36
- package/dist/fcstd/container.js.map +0 -1
- package/dist/fcstd/contour.d.ts +0 -43
- package/dist/fcstd/contour.d.ts.map +0 -1
- package/dist/fcstd/contour.js +0 -96
- package/dist/fcstd/contour.js.map +0 -1
- package/dist/fcstd/convert.d.ts +0 -63
- package/dist/fcstd/convert.d.ts.map +0 -1
- package/dist/fcstd/convert.js +0 -274
- package/dist/fcstd/convert.js.map +0 -1
- package/dist/fcstd/document.d.ts +0 -48
- package/dist/fcstd/document.d.ts.map +0 -1
- package/dist/fcstd/document.js +0 -140
- package/dist/fcstd/document.js.map +0 -1
- package/dist/fcstd/expressions.d.ts +0 -74
- package/dist/fcstd/expressions.d.ts.map +0 -1
- package/dist/fcstd/expressions.js +0 -157
- package/dist/fcstd/expressions.js.map +0 -1
- package/dist/fcstd/external-geo.d.ts +0 -49
- package/dist/fcstd/external-geo.d.ts.map +0 -1
- package/dist/fcstd/external-geo.js +0 -140
- package/dist/fcstd/external-geo.js.map +0 -1
- package/dist/fcstd/feature-translate.d.ts +0 -189
- package/dist/fcstd/feature-translate.d.ts.map +0 -1
- package/dist/fcstd/feature-translate.js +0 -968
- package/dist/fcstd/feature-translate.js.map +0 -1
- package/dist/fcstd/index.d.ts +0 -23
- package/dist/fcstd/index.d.ts.map +0 -1
- package/dist/fcstd/index.js +0 -19
- package/dist/fcstd/index.js.map +0 -1
- package/dist/fcstd/placement.d.ts +0 -93
- package/dist/fcstd/placement.d.ts.map +0 -1
- package/dist/fcstd/placement.js +0 -117
- package/dist/fcstd/placement.js.map +0 -1
- package/dist/fcstd/planegcs-backend.d.ts +0 -34
- package/dist/fcstd/planegcs-backend.d.ts.map +0 -1
- package/dist/fcstd/planegcs-backend.js +0 -626
- package/dist/fcstd/planegcs-backend.js.map +0 -1
- package/dist/fcstd/sketch-parse.d.ts +0 -181
- package/dist/fcstd/sketch-parse.d.ts.map +0 -1
- package/dist/fcstd/sketch-parse.js +0 -227
- package/dist/fcstd/sketch-parse.js.map +0 -1
- package/dist/fcstd/sketch-solver.d.ts +0 -63
- package/dist/fcstd/sketch-solver.d.ts.map +0 -1
- package/dist/fcstd/sketch-solver.js +0 -28
- package/dist/fcstd/sketch-solver.js.map +0 -1
- package/dist/fcstd/sketch-verify.d.ts +0 -43
- package/dist/fcstd/sketch-verify.d.ts.map +0 -1
- package/dist/fcstd/sketch-verify.js +0 -62
- package/dist/fcstd/sketch-verify.js.map +0 -1
- package/dist/fcstd/structural-types.d.ts +0 -83
- package/dist/fcstd/structural-types.d.ts.map +0 -1
- package/dist/fcstd/structural-types.js +0 -121
- package/dist/fcstd/structural-types.js.map +0 -1
- package/dist/fcstd/unpack.d.ts +0 -44
- package/dist/fcstd/unpack.d.ts.map +0 -1
- package/dist/fcstd/unpack.js +0 -64
- package/dist/fcstd/unpack.js.map +0 -1
- package/dist/fcstd-convert.d.ts +0 -30
- package/dist/fcstd-convert.d.ts.map +0 -1
- package/dist/fcstd-convert.js +0 -27
- package/dist/fcstd-convert.js.map +0 -1
- package/dist/mesh/creased-normals.d.ts +0 -50
- package/dist/mesh/creased-normals.d.ts.map +0 -1
- package/dist/mesh/creased-normals.js +0 -114
- package/dist/mesh/creased-normals.js.map +0 -1
- package/dist/occt-kernel/generated/occtPlatform.generated.d.ts +0 -260
- package/dist/occt-kernel/generated/occtPlatform.generated.d.ts.map +0 -1
- package/dist/occt-kernel/generated/occtPlatform.generated.js +0 -875
- package/dist/occt-kernel/generated/occtPlatform.generated.js.map +0 -1
- package/dist/occt-kernel/stepMetaParser.d.ts +0 -44
- package/dist/occt-kernel/stepMetaParser.d.ts.map +0 -1
- package/dist/occt-kernel/stepMetaParser.js +0 -166
- package/dist/occt-kernel/stepMetaParser.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts +0 -106
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js +0 -341
- package/dist/vendored/brepjs/2d/blueprints/baseSketcher2d.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts +0 -185
- package/dist/vendored/brepjs/2d/blueprints/blueprint.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprint.js +0 -361
- package/dist/vendored/brepjs/2d/blueprints/blueprint.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts +0 -15
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js +0 -28
- package/dist/vendored/brepjs/2d/blueprints/blueprintApproximations.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts +0 -29
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js +0 -86
- package/dist/vendored/brepjs/2d/blueprints/blueprintCustomCorners.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts +0 -57
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js +0 -92
- package/dist/vendored/brepjs/2d/blueprints/blueprintFns.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts +0 -58
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js +0 -346
- package/dist/vendored/brepjs/2d/blueprints/blueprintOffset.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts +0 -30
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js +0 -45
- package/dist/vendored/brepjs/2d/blueprints/blueprintSketcher.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts +0 -68
- package/dist/vendored/brepjs/2d/blueprints/blueprints.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/blueprints.js +0 -116
- package/dist/vendored/brepjs/2d/blueprints/blueprints.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts +0 -68
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.js +0 -362
- package/dist/vendored/brepjs/2d/blueprints/boolean2D.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts +0 -34
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js +0 -176
- package/dist/vendored/brepjs/2d/blueprints/booleanHelpers.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts +0 -55
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js +0 -110
- package/dist/vendored/brepjs/2d/blueprints/booleanOperations.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts +0 -41
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js +0 -90
- package/dist/vendored/brepjs/2d/blueprints/cannedBlueprints.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts +0 -85
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js +0 -136
- package/dist/vendored/brepjs/2d/blueprints/compoundBlueprint.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts +0 -48
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js +0 -154
- package/dist/vendored/brepjs/2d/blueprints/ellipseUtils.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts +0 -342
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js +0 -32
- package/dist/vendored/brepjs/2d/blueprints/genericSketcher.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/index.d.ts +0 -16
- package/dist/vendored/brepjs/2d/blueprints/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/index.js +0 -13
- package/dist/vendored/brepjs/2d/blueprints/index.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts +0 -18
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js +0 -230
- package/dist/vendored/brepjs/2d/blueprints/intersectionSegments.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/lib.d.ts +0 -73
- package/dist/vendored/brepjs/2d/blueprints/lib.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/lib.js +0 -103
- package/dist/vendored/brepjs/2d/blueprints/lib.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts +0 -31
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js +0 -226
- package/dist/vendored/brepjs/2d/blueprints/segmentAssembly.js.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/svg.d.ts +0 -22
- package/dist/vendored/brepjs/2d/blueprints/svg.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/blueprints/svg.js +0 -30
- package/dist/vendored/brepjs/2d/blueprints/svg.js.map +0 -1
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts +0 -124
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.js +0 -235
- package/dist/vendored/brepjs/2d/curve2dGeometryFns.js.map +0 -1
- package/dist/vendored/brepjs/2d/curves.d.ts +0 -45
- package/dist/vendored/brepjs/2d/curves.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/curves.js +0 -139
- package/dist/vendored/brepjs/2d/curves.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/approximations.d.ts +0 -47
- package/dist/vendored/brepjs/2d/lib/approximations.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/approximations.js +0 -82
- package/dist/vendored/brepjs/2d/lib/approximations.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts +0 -39
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.js +0 -88
- package/dist/vendored/brepjs/2d/lib/boundingBox2d.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/curve2D.d.ts +0 -82
- package/dist/vendored/brepjs/2d/lib/curve2D.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/curve2D.js +0 -258
- package/dist/vendored/brepjs/2d/lib/curve2D.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts +0 -53
- package/dist/vendored/brepjs/2d/lib/curve2dFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/curve2dFns.js +0 -69
- package/dist/vendored/brepjs/2d/lib/curve2dFns.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/customCorners.d.ts +0 -29
- package/dist/vendored/brepjs/2d/lib/customCorners.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/customCorners.js +0 -237
- package/dist/vendored/brepjs/2d/lib/customCorners.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/definitions.d.ts +0 -12
- package/dist/vendored/brepjs/2d/lib/definitions.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/definitions.js +0 -19
- package/dist/vendored/brepjs/2d/lib/definitions.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts +0 -21
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js +0 -71
- package/dist/vendored/brepjs/2d/lib/ellipseArcFlags.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/index.d.ts +0 -14
- package/dist/vendored/brepjs/2d/lib/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/index.js +0 -14
- package/dist/vendored/brepjs/2d/lib/index.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/intersections.d.ts +0 -34
- package/dist/vendored/brepjs/2d/lib/intersections.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/intersections.js +0 -77
- package/dist/vendored/brepjs/2d/lib/intersections.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts +0 -63
- package/dist/vendored/brepjs/2d/lib/makeCurves.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/makeCurves.js +0 -117
- package/dist/vendored/brepjs/2d/lib/makeCurves.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/offset.d.ts +0 -30
- package/dist/vendored/brepjs/2d/lib/offset.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/offset.js +0 -109
- package/dist/vendored/brepjs/2d/lib/offset.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/precision.d.ts +0 -12
- package/dist/vendored/brepjs/2d/lib/precision.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/precision.js +0 -12
- package/dist/vendored/brepjs/2d/lib/precision.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/stitching.d.ts +0 -15
- package/dist/vendored/brepjs/2d/lib/stitching.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/stitching.js +0 -67
- package/dist/vendored/brepjs/2d/lib/stitching.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/svgPath.d.ts +0 -4
- package/dist/vendored/brepjs/2d/lib/svgPath.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/svgPath.js +0 -114
- package/dist/vendored/brepjs/2d/lib/svgPath.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/utils.d.ts +0 -11
- package/dist/vendored/brepjs/2d/lib/utils.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/utils.js +0 -24
- package/dist/vendored/brepjs/2d/lib/utils.js.map +0 -1
- package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts +0 -19
- package/dist/vendored/brepjs/2d/lib/vectorOperations.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d/lib/vectorOperations.js +0 -26
- package/dist/vendored/brepjs/2d/lib/vectorOperations.js.map +0 -1
- package/dist/vendored/brepjs/2d.d.ts +0 -26
- package/dist/vendored/brepjs/2d.d.ts.map +0 -1
- package/dist/vendored/brepjs/2d.js +0 -33
- package/dist/vendored/brepjs/2d.js.map +0 -1
- package/dist/vendored/brepjs/core/constants.d.ts +0 -7
- package/dist/vendored/brepjs/core/constants.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/constants.js +0 -7
- package/dist/vendored/brepjs/core/constants.js.map +0 -1
- package/dist/vendored/brepjs/core/curve2dHandle.d.ts +0 -35
- package/dist/vendored/brepjs/core/curve2dHandle.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/curve2dHandle.js +0 -48
- package/dist/vendored/brepjs/core/curve2dHandle.js.map +0 -1
- package/dist/vendored/brepjs/core/dimensionTypes.d.ts +0 -61
- package/dist/vendored/brepjs/core/dimensionTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/dimensionTypes.js +0 -54
- package/dist/vendored/brepjs/core/dimensionTypes.js.map +0 -1
- package/dist/vendored/brepjs/core/disposal.d.ts +0 -136
- package/dist/vendored/brepjs/core/disposal.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/disposal.js +0 -441
- package/dist/vendored/brepjs/core/disposal.js.map +0 -1
- package/dist/vendored/brepjs/core/errors.d.ts +0 -191
- package/dist/vendored/brepjs/core/errors.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/errors.js +0 -238
- package/dist/vendored/brepjs/core/errors.js.map +0 -1
- package/dist/vendored/brepjs/core/kernelBoundary.d.ts +0 -40
- package/dist/vendored/brepjs/core/kernelBoundary.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/kernelBoundary.js +0 -99
- package/dist/vendored/brepjs/core/kernelBoundary.js.map +0 -1
- package/dist/vendored/brepjs/core/kernelCall.d.ts +0 -48
- package/dist/vendored/brepjs/core/kernelCall.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/kernelCall.js +0 -154
- package/dist/vendored/brepjs/core/kernelCall.js.map +0 -1
- package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts +0 -17
- package/dist/vendored/brepjs/core/kernelErrorTranslation.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/kernelErrorTranslation.js +0 -98
- package/dist/vendored/brepjs/core/kernelErrorTranslation.js.map +0 -1
- package/dist/vendored/brepjs/core/planeOps.d.ts +0 -62
- package/dist/vendored/brepjs/core/planeOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/planeOps.js +0 -148
- package/dist/vendored/brepjs/core/planeOps.js.map +0 -1
- package/dist/vendored/brepjs/core/planeTypes.d.ts +0 -22
- package/dist/vendored/brepjs/core/planeTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/planeTypes.js +0 -6
- package/dist/vendored/brepjs/core/planeTypes.js.map +0 -1
- package/dist/vendored/brepjs/core/result.d.ts +0 -85
- package/dist/vendored/brepjs/core/result.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/result.js +0 -212
- package/dist/vendored/brepjs/core/result.js.map +0 -1
- package/dist/vendored/brepjs/core/shapeTypeCache.d.ts +0 -27
- package/dist/vendored/brepjs/core/shapeTypeCache.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/shapeTypeCache.js +0 -40
- package/dist/vendored/brepjs/core/shapeTypeCache.js.map +0 -1
- package/dist/vendored/brepjs/core/shapeTypes.d.ts +0 -199
- package/dist/vendored/brepjs/core/shapeTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/shapeTypes.js +0 -267
- package/dist/vendored/brepjs/core/shapeTypes.js.map +0 -1
- package/dist/vendored/brepjs/core/typeDiscriminants.d.ts +0 -25
- package/dist/vendored/brepjs/core/typeDiscriminants.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/typeDiscriminants.js +0 -50
- package/dist/vendored/brepjs/core/typeDiscriminants.js.map +0 -1
- package/dist/vendored/brepjs/core/types.d.ts +0 -51
- package/dist/vendored/brepjs/core/types.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/types.js +0 -35
- package/dist/vendored/brepjs/core/types.js.map +0 -1
- package/dist/vendored/brepjs/core/validityTypes.d.ts +0 -143
- package/dist/vendored/brepjs/core/validityTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/validityTypes.js +0 -174
- package/dist/vendored/brepjs/core/validityTypes.js.map +0 -1
- package/dist/vendored/brepjs/core/vecOps.d.ts +0 -53
- package/dist/vendored/brepjs/core/vecOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/core/vecOps.js +0 -131
- package/dist/vendored/brepjs/core/vecOps.js.map +0 -1
- package/dist/vendored/brepjs/core.d.ts +0 -17
- package/dist/vendored/brepjs/core.d.ts.map +0 -1
- package/dist/vendored/brepjs/core.js +0 -13
- package/dist/vendored/brepjs/core.js.map +0 -1
- package/dist/vendored/brepjs/gear/gearFns.d.ts +0 -148
- package/dist/vendored/brepjs/gear/gearFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/gear/gearFns.js +0 -479
- package/dist/vendored/brepjs/gear/gearFns.js.map +0 -1
- package/dist/vendored/brepjs/gear/gearMath.d.ts +0 -89
- package/dist/vendored/brepjs/gear/gearMath.d.ts.map +0 -1
- package/dist/vendored/brepjs/gear/gearMath.js +0 -195
- package/dist/vendored/brepjs/gear/gearMath.js.map +0 -1
- package/dist/vendored/brepjs/gear/gearProfile.d.ts +0 -17
- package/dist/vendored/brepjs/gear/gearProfile.d.ts.map +0 -1
- package/dist/vendored/brepjs/gear/gearProfile.js +0 -159
- package/dist/vendored/brepjs/gear/gearProfile.js.map +0 -1
- package/dist/vendored/brepjs/gear/index.d.ts +0 -4
- package/dist/vendored/brepjs/gear/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/gear/index.js +0 -4
- package/dist/vendored/brepjs/gear/index.js.map +0 -1
- package/dist/vendored/brepjs/index.d.ts +0 -152
- package/dist/vendored/brepjs/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/index.js +0 -195
- package/dist/vendored/brepjs/index.js.map +0 -1
- package/dist/vendored/brepjs/io/dxfExportFns.d.ts +0 -74
- package/dist/vendored/brepjs/io/dxfExportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/dxfExportFns.js +0 -134
- package/dist/vendored/brepjs/io/dxfExportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/dxfImportFns.d.ts +0 -20
- package/dist/vendored/brepjs/io/dxfImportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/dxfImportFns.js +0 -132
- package/dist/vendored/brepjs/io/dxfImportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/gltfExportFns.d.ts +0 -97
- package/dist/vendored/brepjs/io/gltfExportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/gltfExportFns.js +0 -460
- package/dist/vendored/brepjs/io/gltfExportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/gltfImportFns.d.ts +0 -21
- package/dist/vendored/brepjs/io/gltfImportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/gltfImportFns.js +0 -33
- package/dist/vendored/brepjs/io/gltfImportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/importFns.d.ts +0 -56
- package/dist/vendored/brepjs/io/importFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/importFns.js +0 -108
- package/dist/vendored/brepjs/io/importFns.js.map +0 -1
- package/dist/vendored/brepjs/io/ioUtils.d.ts +0 -22
- package/dist/vendored/brepjs/io/ioUtils.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/ioUtils.js +0 -56
- package/dist/vendored/brepjs/io/ioUtils.js.map +0 -1
- package/dist/vendored/brepjs/io/objExportFns.d.ts +0 -23
- package/dist/vendored/brepjs/io/objExportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/objExportFns.js +0 -67
- package/dist/vendored/brepjs/io/objExportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/objImportFns.d.ts +0 -26
- package/dist/vendored/brepjs/io/objImportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/objImportFns.js +0 -96
- package/dist/vendored/brepjs/io/objImportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/stepConfigFns.d.ts +0 -30
- package/dist/vendored/brepjs/io/stepConfigFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/stepConfigFns.js +0 -30
- package/dist/vendored/brepjs/io/stepConfigFns.js.map +0 -1
- package/dist/vendored/brepjs/io/svgImportFns.d.ts +0 -58
- package/dist/vendored/brepjs/io/svgImportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/svgImportFns.js +0 -394
- package/dist/vendored/brepjs/io/svgImportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/threemfExportFns.d.ts +0 -48
- package/dist/vendored/brepjs/io/threemfExportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/threemfExportFns.js +0 -345
- package/dist/vendored/brepjs/io/threemfExportFns.js.map +0 -1
- package/dist/vendored/brepjs/io/threemfImportFns.d.ts +0 -22
- package/dist/vendored/brepjs/io/threemfImportFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/io/threemfImportFns.js +0 -350
- package/dist/vendored/brepjs/io/threemfImportFns.js.map +0 -1
- package/dist/vendored/brepjs/io.d.ts +0 -17
- package/dist/vendored/brepjs/io.d.ts.map +0 -1
- package/dist/vendored/brepjs/io.js +0 -20
- package/dist/vendored/brepjs/io.js.map +0 -1
- package/dist/vendored/brepjs/kernel/capabilities.d.ts +0 -36
- package/dist/vendored/brepjs/kernel/capabilities.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/capabilities.js +0 -35
- package/dist/vendored/brepjs/kernel/capabilities.js.map +0 -1
- package/dist/vendored/brepjs/kernel/geometry2d.d.ts +0 -96
- package/dist/vendored/brepjs/kernel/geometry2d.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/geometry2d.js +0 -885
- package/dist/vendored/brepjs/kernel/geometry2d.js.map +0 -1
- package/dist/vendored/brepjs/kernel/hullGeometry.d.ts +0 -23
- package/dist/vendored/brepjs/kernel/hullGeometry.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/hullGeometry.js +0 -312
- package/dist/vendored/brepjs/kernel/hullGeometry.js.map +0 -1
- package/dist/vendored/brepjs/kernel/index.d.ts +0 -73
- package/dist/vendored/brepjs/kernel/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/index.js +0 -161
- package/dist/vendored/brepjs/kernel/index.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts +0 -44
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js +0 -11
- package/dist/vendored/brepjs/kernel/interfaces/booleanOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts +0 -67
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.js +0 -12
- package/dist/vendored/brepjs/kernel/interfaces/builderOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/core.d.ts +0 -46
- package/dist/vendored/brepjs/kernel/interfaces/core.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/core.js +0 -11
- package/dist/vendored/brepjs/kernel/interfaces/core.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts +0 -53
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.js +0 -12
- package/dist/vendored/brepjs/kernel/interfaces/curveOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts +0 -32
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js +0 -14
- package/dist/vendored/brepjs/kernel/interfaces/evolutionOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/index.d.ts +0 -43
- package/dist/vendored/brepjs/kernel/interfaces/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/index.js +0 -12
- package/dist/vendored/brepjs/kernel/interfaces/index.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts +0 -65
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.js +0 -9
- package/dist/vendored/brepjs/kernel/interfaces/ioOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts +0 -55
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.js +0 -9
- package/dist/vendored/brepjs/kernel/interfaces/measureOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts +0 -25
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.js +0 -8
- package/dist/vendored/brepjs/kernel/interfaces/meshOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts +0 -53
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js +0 -10
- package/dist/vendored/brepjs/kernel/interfaces/modifierOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts +0 -22
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js +0 -11
- package/dist/vendored/brepjs/kernel/interfaces/primitiveOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts +0 -43
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.js +0 -9
- package/dist/vendored/brepjs/kernel/interfaces/repairOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts +0 -72
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js +0 -13
- package/dist/vendored/brepjs/kernel/interfaces/surfaceOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts +0 -73
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js +0 -11
- package/dist/vendored/brepjs/kernel/interfaces/sweepOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts +0 -62
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js +0 -9
- package/dist/vendored/brepjs/kernel/interfaces/topologyOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts +0 -80
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.js +0 -11
- package/dist/vendored/brepjs/kernel/interfaces/transformOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts +0 -145
- package/dist/vendored/brepjs/kernel/kernel2dTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/kernel2dTypes.js +0 -18
- package/dist/vendored/brepjs/kernel/kernel2dTypes.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts +0 -41
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js +0 -2
- package/dist/vendored/brepjs/kernel/occt/wasmTypes/externals.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts +0 -17
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js +0 -75
- package/dist/vendored/brepjs/kernel/occtWasm/adapterShims.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts +0 -36
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js +0 -116
- package/dist/vendored/brepjs/kernel/occtWasm/booleanOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts +0 -43
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js +0 -292
- package/dist/vendored/brepjs/kernel/occtWasm/constructionOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts +0 -34
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js +0 -164
- package/dist/vendored/brepjs/kernel/occtWasm/curveOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts +0 -26
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js +0 -256
- package/dist/vendored/brepjs/kernel/occtWasm/evolutionOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts +0 -42
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.js +0 -146
- package/dist/vendored/brepjs/kernel/occtWasm/helpers.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts +0 -17
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js +0 -55
- package/dist/vendored/brepjs/kernel/occtWasm/hullOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts +0 -58
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js +0 -303
- package/dist/vendored/brepjs/kernel/occtWasm/ioOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts +0 -113
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js +0 -731
- package/dist/vendored/brepjs/kernel/occtWasm/kernel2dOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts +0 -62
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js +0 -338
- package/dist/vendored/brepjs/kernel/occtWasm/measureOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts +0 -12
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js +0 -120
- package/dist/vendored/brepjs/kernel/occtWasm/meshOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts +0 -20
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js +0 -187
- package/dist/vendored/brepjs/kernel/occtWasm/modifierOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts +0 -513
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js +0 -1016
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmAdapter.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts +0 -332
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js +0 -10
- package/dist/vendored/brepjs/kernel/occtWasm/occtWasmTypes.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts +0 -16
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js +0 -64
- package/dist/vendored/brepjs/kernel/occtWasm/primitiveOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts +0 -16
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js +0 -38
- package/dist/vendored/brepjs/kernel/occtWasm/repairOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts +0 -56
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js +0 -247
- package/dist/vendored/brepjs/kernel/occtWasm/surfaceOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts +0 -56
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js +0 -235
- package/dist/vendored/brepjs/kernel/occtWasm/sweepOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts +0 -25
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js +0 -127
- package/dist/vendored/brepjs/kernel/occtWasm/topologyOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts +0 -40
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js +0 -275
- package/dist/vendored/brepjs/kernel/occtWasm/transformOps.js.map +0 -1
- package/dist/vendored/brepjs/kernel/quality.d.ts +0 -28
- package/dist/vendored/brepjs/kernel/quality.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/quality.js +0 -40
- package/dist/vendored/brepjs/kernel/quality.js.map +0 -1
- package/dist/vendored/brepjs/kernel/solverAdapter.d.ts +0 -50
- package/dist/vendored/brepjs/kernel/solverAdapter.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/solverAdapter.js +0 -330
- package/dist/vendored/brepjs/kernel/solverAdapter.js.map +0 -1
- package/dist/vendored/brepjs/kernel/stlBuilder.d.ts +0 -21
- package/dist/vendored/brepjs/kernel/stlBuilder.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/stlBuilder.js +0 -106
- package/dist/vendored/brepjs/kernel/stlBuilder.js.map +0 -1
- package/dist/vendored/brepjs/kernel/types.d.ts +0 -214
- package/dist/vendored/brepjs/kernel/types.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/types.js +0 -22
- package/dist/vendored/brepjs/kernel/types.js.map +0 -1
- package/dist/vendored/brepjs/kernel/unsupported.d.ts +0 -15
- package/dist/vendored/brepjs/kernel/unsupported.d.ts.map +0 -1
- package/dist/vendored/brepjs/kernel/unsupported.js +0 -25
- package/dist/vendored/brepjs/kernel/unsupported.js.map +0 -1
- package/dist/vendored/brepjs/measurement/interferenceFns.d.ts +0 -68
- package/dist/vendored/brepjs/measurement/interferenceFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/measurement/interferenceFns.js +0 -102
- package/dist/vendored/brepjs/measurement/interferenceFns.js.map +0 -1
- package/dist/vendored/brepjs/measurement/measureCache.d.ts +0 -20
- package/dist/vendored/brepjs/measurement/measureCache.d.ts.map +0 -1
- package/dist/vendored/brepjs/measurement/measureCache.js +0 -28
- package/dist/vendored/brepjs/measurement/measureCache.js.map +0 -1
- package/dist/vendored/brepjs/measurement/measureFns.d.ts +0 -92
- package/dist/vendored/brepjs/measurement/measureFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/measurement/measureFns.js +0 -239
- package/dist/vendored/brepjs/measurement/measureFns.js.map +0 -1
- package/dist/vendored/brepjs/measurement/measureTypes.d.ts +0 -35
- package/dist/vendored/brepjs/measurement/measureTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/measurement/measureTypes.js +0 -7
- package/dist/vendored/brepjs/measurement/measureTypes.js.map +0 -1
- package/dist/vendored/brepjs/measurement.d.ts +0 -5
- package/dist/vendored/brepjs/measurement.d.ts.map +0 -1
- package/dist/vendored/brepjs/measurement.js +0 -5
- package/dist/vendored/brepjs/measurement.js.map +0 -1
- package/dist/vendored/brepjs/ns/booleans.d.ts +0 -11
- package/dist/vendored/brepjs/ns/booleans.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/booleans.js +0 -11
- package/dist/vendored/brepjs/ns/booleans.js.map +0 -1
- package/dist/vendored/brepjs/ns/construction.d.ts +0 -10
- package/dist/vendored/brepjs/ns/construction.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/construction.js +0 -10
- package/dist/vendored/brepjs/ns/construction.js.map +0 -1
- package/dist/vendored/brepjs/ns/ioNs.d.ts +0 -18
- package/dist/vendored/brepjs/ns/ioNs.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/ioNs.js +0 -20
- package/dist/vendored/brepjs/ns/ioNs.js.map +0 -1
- package/dist/vendored/brepjs/ns/measurement.d.ts +0 -6
- package/dist/vendored/brepjs/ns/measurement.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/measurement.js +0 -6
- package/dist/vendored/brepjs/ns/measurement.js.map +0 -1
- package/dist/vendored/brepjs/ns/modifiers.d.ts +0 -6
- package/dist/vendored/brepjs/ns/modifiers.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/modifiers.js +0 -6
- package/dist/vendored/brepjs/ns/modifiers.js.map +0 -1
- package/dist/vendored/brepjs/ns/patterns.d.ts +0 -5
- package/dist/vendored/brepjs/ns/patterns.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/patterns.js +0 -5
- package/dist/vendored/brepjs/ns/patterns.js.map +0 -1
- package/dist/vendored/brepjs/ns/primitives.d.ts +0 -7
- package/dist/vendored/brepjs/ns/primitives.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/primitives.js +0 -7
- package/dist/vendored/brepjs/ns/primitives.js.map +0 -1
- package/dist/vendored/brepjs/ns/query.d.ts +0 -6
- package/dist/vendored/brepjs/ns/query.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/query.js +0 -6
- package/dist/vendored/brepjs/ns/query.js.map +0 -1
- package/dist/vendored/brepjs/ns/transforms.d.ts +0 -5
- package/dist/vendored/brepjs/ns/transforms.d.ts.map +0 -1
- package/dist/vendored/brepjs/ns/transforms.js +0 -5
- package/dist/vendored/brepjs/ns/transforms.js.map +0 -1
- package/dist/vendored/brepjs/operations/api.d.ts +0 -39
- package/dist/vendored/brepjs/operations/api.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/api.js +0 -41
- package/dist/vendored/brepjs/operations/api.js.map +0 -1
- package/dist/vendored/brepjs/operations/assemblyFns.d.ts +0 -54
- package/dist/vendored/brepjs/operations/assemblyFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/assemblyFns.js +0 -91
- package/dist/vendored/brepjs/operations/assemblyFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts +0 -43
- package/dist/vendored/brepjs/operations/compoundOpsFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/compoundOpsFns.js +0 -368
- package/dist/vendored/brepjs/operations/compoundOpsFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/convexHullFns.d.ts +0 -27
- package/dist/vendored/brepjs/operations/convexHullFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/convexHullFns.js +0 -50
- package/dist/vendored/brepjs/operations/convexHullFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/dhFns.d.ts +0 -47
- package/dist/vendored/brepjs/operations/dhFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/dhFns.js +0 -53
- package/dist/vendored/brepjs/operations/dhFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/exporterFns.d.ts +0 -47
- package/dist/vendored/brepjs/operations/exporterFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/exporterFns.js +0 -66
- package/dist/vendored/brepjs/operations/exporterFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/exporterUtils.d.ts +0 -6
- package/dist/vendored/brepjs/operations/exporterUtils.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/exporterUtils.js +0 -5
- package/dist/vendored/brepjs/operations/exporterUtils.js.map +0 -1
- package/dist/vendored/brepjs/operations/exporters.d.ts +0 -59
- package/dist/vendored/brepjs/operations/exporters.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/exporters.js +0 -74
- package/dist/vendored/brepjs/operations/exporters.js.map +0 -1
- package/dist/vendored/brepjs/operations/extrudeFns.d.ts +0 -47
- package/dist/vendored/brepjs/operations/extrudeFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/extrudeFns.js +0 -119
- package/dist/vendored/brepjs/operations/extrudeFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/extrudeUtils.d.ts +0 -63
- package/dist/vendored/brepjs/operations/extrudeUtils.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/extrudeUtils.js +0 -33
- package/dist/vendored/brepjs/operations/extrudeUtils.js.map +0 -1
- package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts +0 -6
- package/dist/vendored/brepjs/operations/guidedSweepFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/guidedSweepFns.js +0 -6
- package/dist/vendored/brepjs/operations/guidedSweepFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/historyFns.d.ts +0 -83
- package/dist/vendored/brepjs/operations/historyFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/historyFns.js +0 -256
- package/dist/vendored/brepjs/operations/historyFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/ikFns.d.ts +0 -74
- package/dist/vendored/brepjs/operations/ikFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/ikFns.js +0 -320
- package/dist/vendored/brepjs/operations/ikFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/instanceFns.d.ts +0 -76
- package/dist/vendored/brepjs/operations/instanceFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/instanceFns.js +0 -128
- package/dist/vendored/brepjs/operations/instanceFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/jointFns.d.ts +0 -176
- package/dist/vendored/brepjs/operations/jointFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/jointFns.js +0 -298
- package/dist/vendored/brepjs/operations/jointFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/loftFns.d.ts +0 -60
- package/dist/vendored/brepjs/operations/loftFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/loftFns.js +0 -112
- package/dist/vendored/brepjs/operations/loftFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/mateFns.d.ts +0 -53
- package/dist/vendored/brepjs/operations/mateFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/mateFns.js +0 -142
- package/dist/vendored/brepjs/operations/mateFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/multiSweepFns.d.ts +0 -6
- package/dist/vendored/brepjs/operations/multiSweepFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/multiSweepFns.js +0 -6
- package/dist/vendored/brepjs/operations/multiSweepFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/patternFns.d.ts +0 -46
- package/dist/vendored/brepjs/operations/patternFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/patternFns.js +0 -126
- package/dist/vendored/brepjs/operations/patternFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/roofFns.d.ts +0 -25
- package/dist/vendored/brepjs/operations/roofFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/roofFns.js +0 -250
- package/dist/vendored/brepjs/operations/roofFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/straightSkeleton.d.ts +0 -29
- package/dist/vendored/brepjs/operations/straightSkeleton.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/straightSkeleton.js +0 -440
- package/dist/vendored/brepjs/operations/straightSkeleton.js.map +0 -1
- package/dist/vendored/brepjs/operations/sweepFns.d.ts +0 -121
- package/dist/vendored/brepjs/operations/sweepFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/sweepFns.js +0 -438
- package/dist/vendored/brepjs/operations/sweepFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/threadFns.d.ts +0 -57
- package/dist/vendored/brepjs/operations/threadFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/threadFns.js +0 -145
- package/dist/vendored/brepjs/operations/threadFns.js.map +0 -1
- package/dist/vendored/brepjs/operations/urdfFns.d.ts +0 -48
- package/dist/vendored/brepjs/operations/urdfFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations/urdfFns.js +0 -171
- package/dist/vendored/brepjs/operations/urdfFns.js.map +0 -1
- package/dist/vendored/brepjs/operations.d.ts +0 -20
- package/dist/vendored/brepjs/operations.d.ts.map +0 -1
- package/dist/vendored/brepjs/operations.js +0 -26
- package/dist/vendored/brepjs/operations.js.map +0 -1
- package/dist/vendored/brepjs/projection/cameraFns.d.ts +0 -63
- package/dist/vendored/brepjs/projection/cameraFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/projection/cameraFns.js +0 -89
- package/dist/vendored/brepjs/projection/cameraFns.js.map +0 -1
- package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts +0 -14
- package/dist/vendored/brepjs/projection/makeProjectedEdges.d.ts.map +0 -1
- package/dist/vendored/brepjs/projection/makeProjectedEdges.js +0 -111
- package/dist/vendored/brepjs/projection/makeProjectedEdges.js.map +0 -1
- package/dist/vendored/brepjs/projection/projectionPlanes.d.ts +0 -18
- package/dist/vendored/brepjs/projection/projectionPlanes.d.ts.map +0 -1
- package/dist/vendored/brepjs/projection/projectionPlanes.js +0 -23
- package/dist/vendored/brepjs/projection/projectionPlanes.js.map +0 -1
- package/dist/vendored/brepjs/projection.d.ts +0 -12
- package/dist/vendored/brepjs/projection.d.ts.map +0 -1
- package/dist/vendored/brepjs/projection.js +0 -12
- package/dist/vendored/brepjs/projection.js.map +0 -1
- package/dist/vendored/brepjs/query/cornerFinder.d.ts +0 -54
- package/dist/vendored/brepjs/query/cornerFinder.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/cornerFinder.js +0 -73
- package/dist/vendored/brepjs/query/cornerFinder.js.map +0 -1
- package/dist/vendored/brepjs/query/directionUtils.d.ts +0 -9
- package/dist/vendored/brepjs/query/directionUtils.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/directionUtils.js +0 -18
- package/dist/vendored/brepjs/query/directionUtils.js.map +0 -1
- package/dist/vendored/brepjs/query/edgeFinder.d.ts +0 -5
- package/dist/vendored/brepjs/query/edgeFinder.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/edgeFinder.js +0 -5
- package/dist/vendored/brepjs/query/edgeFinder.js.map +0 -1
- package/dist/vendored/brepjs/query/faceFinder.d.ts +0 -5
- package/dist/vendored/brepjs/query/faceFinder.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/faceFinder.js +0 -5
- package/dist/vendored/brepjs/query/faceFinder.js.map +0 -1
- package/dist/vendored/brepjs/query/finderCore.d.ts +0 -49
- package/dist/vendored/brepjs/query/finderCore.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/finderCore.js +0 -120
- package/dist/vendored/brepjs/query/finderCore.js.map +0 -1
- package/dist/vendored/brepjs/query/finderFns.d.ts +0 -25
- package/dist/vendored/brepjs/query/finderFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/finderFns.js +0 -25
- package/dist/vendored/brepjs/query/finderFns.js.map +0 -1
- package/dist/vendored/brepjs/query/helpers.d.ts +0 -11
- package/dist/vendored/brepjs/query/helpers.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/helpers.js +0 -17
- package/dist/vendored/brepjs/query/helpers.js.map +0 -1
- package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts +0 -15
- package/dist/vendored/brepjs/query/shapeDistanceFilter.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/shapeDistanceFilter.js +0 -21
- package/dist/vendored/brepjs/query/shapeDistanceFilter.js.map +0 -1
- package/dist/vendored/brepjs/query/shapeFinders.d.ts +0 -39
- package/dist/vendored/brepjs/query/shapeFinders.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/shapeFinders.js +0 -82
- package/dist/vendored/brepjs/query/shapeFinders.js.map +0 -1
- package/dist/vendored/brepjs/query/vertexFinder.d.ts +0 -19
- package/dist/vendored/brepjs/query/vertexFinder.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/vertexFinder.js +0 -73
- package/dist/vendored/brepjs/query/vertexFinder.js.map +0 -1
- package/dist/vendored/brepjs/query/wireFinder.d.ts +0 -5
- package/dist/vendored/brepjs/query/wireFinder.d.ts.map +0 -1
- package/dist/vendored/brepjs/query/wireFinder.js +0 -5
- package/dist/vendored/brepjs/query/wireFinder.js.map +0 -1
- package/dist/vendored/brepjs/query.d.ts +0 -6
- package/dist/vendored/brepjs/query.d.ts.map +0 -1
- package/dist/vendored/brepjs/query.js +0 -6
- package/dist/vendored/brepjs/query.js.map +0 -1
- package/dist/vendored/brepjs/result.d.ts +0 -7
- package/dist/vendored/brepjs/result.d.ts.map +0 -1
- package/dist/vendored/brepjs/result.js +0 -7
- package/dist/vendored/brepjs/result.js.map +0 -1
- package/dist/vendored/brepjs/shapeRef.d.ts +0 -13
- package/dist/vendored/brepjs/shapeRef.d.ts.map +0 -1
- package/dist/vendored/brepjs/shapeRef.js +0 -13
- package/dist/vendored/brepjs/shapeRef.js.map +0 -1
- package/dist/vendored/brepjs/sketching/cannedSketches.d.ts +0 -144
- package/dist/vendored/brepjs/sketching/cannedSketches.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/cannedSketches.js +0 -327
- package/dist/vendored/brepjs/sketching/cannedSketches.js.map +0 -1
- package/dist/vendored/brepjs/sketching/compoundSketch.d.ts +0 -70
- package/dist/vendored/brepjs/sketching/compoundSketch.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/compoundSketch.js +0 -87
- package/dist/vendored/brepjs/sketching/compoundSketch.js.map +0 -1
- package/dist/vendored/brepjs/sketching/draw3d.d.ts +0 -22
- package/dist/vendored/brepjs/sketching/draw3d.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/draw3d.js +0 -150
- package/dist/vendored/brepjs/sketching/draw3d.js.map +0 -1
- package/dist/vendored/brepjs/sketching/drawFns.d.ts +0 -122
- package/dist/vendored/brepjs/sketching/drawFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/drawFns.js +0 -129
- package/dist/vendored/brepjs/sketching/drawFns.js.map +0 -1
- package/dist/vendored/brepjs/sketching/drawing.d.ts +0 -128
- package/dist/vendored/brepjs/sketching/drawing.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/drawing.js +0 -275
- package/dist/vendored/brepjs/sketching/drawing.js.map +0 -1
- package/dist/vendored/brepjs/sketching/drawingFactories.d.ts +0 -95
- package/dist/vendored/brepjs/sketching/drawingFactories.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/drawingFactories.js +0 -125
- package/dist/vendored/brepjs/sketching/drawingFactories.js.map +0 -1
- package/dist/vendored/brepjs/sketching/drawingPen.d.ts +0 -35
- package/dist/vendored/brepjs/sketching/drawingPen.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/drawingPen.js +0 -57
- package/dist/vendored/brepjs/sketching/drawingPen.js.map +0 -1
- package/dist/vendored/brepjs/sketching/faceSketcher.d.ts +0 -53
- package/dist/vendored/brepjs/sketching/faceSketcher.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/faceSketcher.js +0 -167
- package/dist/vendored/brepjs/sketching/faceSketcher.js.map +0 -1
- package/dist/vendored/brepjs/sketching/shortcuts.d.ts +0 -16
- package/dist/vendored/brepjs/sketching/shortcuts.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/shortcuts.js +0 -24
- package/dist/vendored/brepjs/sketching/shortcuts.js.map +0 -1
- package/dist/vendored/brepjs/sketching/sketch.d.ts +0 -157
- package/dist/vendored/brepjs/sketching/sketch.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/sketch.js +0 -151
- package/dist/vendored/brepjs/sketching/sketch.js.map +0 -1
- package/dist/vendored/brepjs/sketching/sketchFns.d.ts +0 -89
- package/dist/vendored/brepjs/sketching/sketchFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/sketchFns.js +0 -266
- package/dist/vendored/brepjs/sketching/sketchFns.js.map +0 -1
- package/dist/vendored/brepjs/sketching/sketcher.d.ts +0 -70
- package/dist/vendored/brepjs/sketching/sketcher.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/sketcher.js +0 -181
- package/dist/vendored/brepjs/sketching/sketcher.js.map +0 -1
- package/dist/vendored/brepjs/sketching/sketches.d.ts +0 -70
- package/dist/vendored/brepjs/sketching/sketches.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching/sketches.js +0 -91
- package/dist/vendored/brepjs/sketching/sketches.js.map +0 -1
- package/dist/vendored/brepjs/sketching.d.ts +0 -28
- package/dist/vendored/brepjs/sketching.d.ts.map +0 -1
- package/dist/vendored/brepjs/sketching.js +0 -30
- package/dist/vendored/brepjs/sketching.js.map +0 -1
- package/dist/vendored/brepjs/text/fontRegistry.d.ts +0 -23
- package/dist/vendored/brepjs/text/fontRegistry.d.ts.map +0 -1
- package/dist/vendored/brepjs/text/fontRegistry.js +0 -61
- package/dist/vendored/brepjs/text/fontRegistry.js.map +0 -1
- package/dist/vendored/brepjs/text/sketchText.d.ts +0 -31
- package/dist/vendored/brepjs/text/sketchText.d.ts.map +0 -1
- package/dist/vendored/brepjs/text/sketchText.js +0 -30
- package/dist/vendored/brepjs/text/sketchText.js.map +0 -1
- package/dist/vendored/brepjs/text/textBlueprints.d.ts +0 -19
- package/dist/vendored/brepjs/text/textBlueprints.d.ts.map +0 -1
- package/dist/vendored/brepjs/text/textBlueprints.js +0 -61
- package/dist/vendored/brepjs/text/textBlueprints.js.map +0 -1
- package/dist/vendored/brepjs/text/textMetrics.d.ts +0 -40
- package/dist/vendored/brepjs/text/textMetrics.d.ts.map +0 -1
- package/dist/vendored/brepjs/text/textMetrics.js +0 -43
- package/dist/vendored/brepjs/text/textMetrics.js.map +0 -1
- package/dist/vendored/brepjs/text.d.ts +0 -13
- package/dist/vendored/brepjs/text.d.ts.map +0 -1
- package/dist/vendored/brepjs/text.js +0 -13
- package/dist/vendored/brepjs/text.js.map +0 -1
- package/dist/vendored/brepjs/topology/adjacencyFns.d.ts +0 -89
- package/dist/vendored/brepjs/topology/adjacencyFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/adjacencyFns.js +0 -411
- package/dist/vendored/brepjs/topology/adjacencyFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/api.d.ts +0 -145
- package/dist/vendored/brepjs/topology/api.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/api.js +0 -282
- package/dist/vendored/brepjs/topology/api.js.map +0 -1
- package/dist/vendored/brepjs/topology/apiTypes.d.ts +0 -135
- package/dist/vendored/brepjs/topology/apiTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/apiTypes.js +0 -24
- package/dist/vendored/brepjs/topology/apiTypes.js.map +0 -1
- package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts +0 -52
- package/dist/vendored/brepjs/topology/booleanBatchFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/booleanBatchFns.js +0 -164
- package/dist/vendored/brepjs/topology/booleanBatchFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts +0 -21
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js +0 -23
- package/dist/vendored/brepjs/topology/booleanDiagnosticFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/booleanFns.d.ts +0 -155
- package/dist/vendored/brepjs/topology/booleanFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/booleanFns.js +0 -600
- package/dist/vendored/brepjs/topology/booleanFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/cast.d.ts +0 -48
- package/dist/vendored/brepjs/topology/cast.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/cast.js +0 -113
- package/dist/vendored/brepjs/topology/cast.js.map +0 -1
- package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts +0 -24
- package/dist/vendored/brepjs/topology/chamferAngleFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/chamferAngleFns.js +0 -64
- package/dist/vendored/brepjs/topology/chamferAngleFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts +0 -6
- package/dist/vendored/brepjs/topology/compoundOpsFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/compoundOpsFns.js +0 -6
- package/dist/vendored/brepjs/topology/compoundOpsFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/curveBuilders.d.ts +0 -90
- package/dist/vendored/brepjs/topology/curveBuilders.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/curveBuilders.js +0 -125
- package/dist/vendored/brepjs/topology/curveBuilders.js.map +0 -1
- package/dist/vendored/brepjs/topology/curveFns.d.ts +0 -96
- package/dist/vendored/brepjs/topology/curveFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/curveFns.js +0 -191
- package/dist/vendored/brepjs/topology/curveFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/evolutionFns.d.ts +0 -78
- package/dist/vendored/brepjs/topology/evolutionFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/evolutionFns.js +0 -271
- package/dist/vendored/brepjs/topology/evolutionFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/faceFns.d.ts +0 -86
- package/dist/vendored/brepjs/topology/faceFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/faceFns.js +0 -169
- package/dist/vendored/brepjs/topology/faceFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/healingFns.d.ts +0 -98
- package/dist/vendored/brepjs/topology/healingFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/healingFns.js +0 -338
- package/dist/vendored/brepjs/topology/healingFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/hullFns.d.ts +0 -21
- package/dist/vendored/brepjs/topology/hullFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/hullFns.js +0 -60
- package/dist/vendored/brepjs/topology/hullFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/index.d.ts +0 -14
- package/dist/vendored/brepjs/topology/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/index.js +0 -17
- package/dist/vendored/brepjs/topology/index.js.map +0 -1
- package/dist/vendored/brepjs/topology/meshCache.d.ts +0 -68
- package/dist/vendored/brepjs/topology/meshCache.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/meshCache.js +0 -117
- package/dist/vendored/brepjs/topology/meshCache.js.map +0 -1
- package/dist/vendored/brepjs/topology/meshFns.d.ts +0 -179
- package/dist/vendored/brepjs/topology/meshFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/meshFns.js +0 -393
- package/dist/vendored/brepjs/topology/meshFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts +0 -41
- package/dist/vendored/brepjs/topology/metadata/colorFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/colorFns.js +0 -128
- package/dist/vendored/brepjs/topology/metadata/colorFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts +0 -44
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.js +0 -168
- package/dist/vendored/brepjs/topology/metadata/faceTagFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts +0 -59
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js +0 -109
- package/dist/vendored/brepjs/topology/metadata/metadataPropagation.js.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts +0 -43
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js +0 -270
- package/dist/vendored/brepjs/topology/metadata/originTrackingFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/minkowskiFns.d.ts +0 -26
- package/dist/vendored/brepjs/topology/minkowskiFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/minkowskiFns.js +0 -136
- package/dist/vendored/brepjs/topology/minkowskiFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/modifierFns.d.ts +0 -87
- package/dist/vendored/brepjs/topology/modifierFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/modifierFns.js +0 -446
- package/dist/vendored/brepjs/topology/modifierFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/nurbsFns.d.ts +0 -13
- package/dist/vendored/brepjs/topology/nurbsFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/nurbsFns.js +0 -22
- package/dist/vendored/brepjs/topology/nurbsFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/polyhedronFns.d.ts +0 -11
- package/dist/vendored/brepjs/topology/polyhedronFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/polyhedronFns.js +0 -47
- package/dist/vendored/brepjs/topology/polyhedronFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/positionFns.d.ts +0 -18
- package/dist/vendored/brepjs/topology/positionFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/positionFns.js +0 -34
- package/dist/vendored/brepjs/topology/positionFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/primitiveFns.d.ts +0 -244
- package/dist/vendored/brepjs/topology/primitiveFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/primitiveFns.js +0 -361
- package/dist/vendored/brepjs/topology/primitiveFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeBooleans.d.ts +0 -14
- package/dist/vendored/brepjs/topology/shapeBooleans.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeBooleans.js +0 -24
- package/dist/vendored/brepjs/topology/shapeBooleans.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeFns.d.ts +0 -30
- package/dist/vendored/brepjs/topology/shapeFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeFns.js +0 -50
- package/dist/vendored/brepjs/topology/shapeFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeHelpers.d.ts +0 -9
- package/dist/vendored/brepjs/topology/shapeHelpers.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeHelpers.js +0 -14
- package/dist/vendored/brepjs/topology/shapeHelpers.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeModifiers.d.ts +0 -33
- package/dist/vendored/brepjs/topology/shapeModifiers.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeModifiers.js +0 -28
- package/dist/vendored/brepjs/topology/shapeModifiers.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts +0 -29
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js +0 -135
- package/dist/vendored/brepjs/topology/shapeRef/derivedFaceRefFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts +0 -25
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js +0 -123
- package/dist/vendored/brepjs/topology/shapeRef/edgeRefFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/index.d.ts +0 -11
- package/dist/vendored/brepjs/topology/shapeRef/index.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/index.js +0 -10
- package/dist/vendored/brepjs/topology/shapeRef/index.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts +0 -66
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js +0 -128
- package/dist/vendored/brepjs/topology/shapeRef/refResolveFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts +0 -18
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js +0 -51
- package/dist/vendored/brepjs/topology/shapeRef/roleLookup.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts +0 -20
- package/dist/vendored/brepjs/topology/shapeRef/scoring.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/scoring.js +0 -65
- package/dist/vendored/brepjs/topology/shapeRef/scoring.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts +0 -59
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js +0 -266
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts +0 -153
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js +0 -6
- package/dist/vendored/brepjs/topology/shapeRef/shapeRefTypes.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts +0 -24
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js +0 -128
- package/dist/vendored/brepjs/topology/shapeRef/vertexRefFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/shapeUtils.d.ts +0 -16
- package/dist/vendored/brepjs/topology/shapeUtils.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/shapeUtils.js +0 -28
- package/dist/vendored/brepjs/topology/shapeUtils.js.map +0 -1
- package/dist/vendored/brepjs/topology/solidBuilders.d.ts +0 -74
- package/dist/vendored/brepjs/topology/solidBuilders.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/solidBuilders.js +0 -173
- package/dist/vendored/brepjs/topology/solidBuilders.js.map +0 -1
- package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts +0 -47
- package/dist/vendored/brepjs/topology/surfaceBuilders.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/surfaceBuilders.js +0 -162
- package/dist/vendored/brepjs/topology/surfaceBuilders.js.map +0 -1
- package/dist/vendored/brepjs/topology/surfaceFns.d.ts +0 -41
- package/dist/vendored/brepjs/topology/surfaceFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/surfaceFns.js +0 -178
- package/dist/vendored/brepjs/topology/surfaceFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/threeHelpers.d.ts +0 -124
- package/dist/vendored/brepjs/topology/threeHelpers.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/threeHelpers.js +0 -118
- package/dist/vendored/brepjs/topology/threeHelpers.js.map +0 -1
- package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts +0 -100
- package/dist/vendored/brepjs/topology/topologyQueryFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/topologyQueryFns.js +0 -307
- package/dist/vendored/brepjs/topology/topologyQueryFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/transformFns.d.ts +0 -69
- package/dist/vendored/brepjs/topology/transformFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/transformFns.js +0 -235
- package/dist/vendored/brepjs/topology/transformFns.js.map +0 -1
- package/dist/vendored/brepjs/topology/wrapperFns.d.ts +0 -169
- package/dist/vendored/brepjs/topology/wrapperFns.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology/wrapperFns.js +0 -291
- package/dist/vendored/brepjs/topology/wrapperFns.js.map +0 -1
- package/dist/vendored/brepjs/topology.d.ts +0 -28
- package/dist/vendored/brepjs/topology.d.ts.map +0 -1
- package/dist/vendored/brepjs/topology.js +0 -39
- package/dist/vendored/brepjs/topology.js.map +0 -1
- package/dist/vendored/brepjs/utils/arrayAccess.d.ts +0 -12
- package/dist/vendored/brepjs/utils/arrayAccess.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/arrayAccess.js +0 -25
- package/dist/vendored/brepjs/utils/arrayAccess.js.map +0 -1
- package/dist/vendored/brepjs/utils/bug.d.ts +0 -15
- package/dist/vendored/brepjs/utils/bug.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/bug.js +0 -21
- package/dist/vendored/brepjs/utils/bug.js.map +0 -1
- package/dist/vendored/brepjs/utils/ioFilename.d.ts +0 -3
- package/dist/vendored/brepjs/utils/ioFilename.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/ioFilename.js +0 -7
- package/dist/vendored/brepjs/utils/ioFilename.js.map +0 -1
- package/dist/vendored/brepjs/utils/precisionRound.d.ts +0 -11
- package/dist/vendored/brepjs/utils/precisionRound.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/precisionRound.js +0 -19
- package/dist/vendored/brepjs/utils/precisionRound.js.map +0 -1
- package/dist/vendored/brepjs/utils/quaternion.d.ts +0 -18
- package/dist/vendored/brepjs/utils/quaternion.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/quaternion.js +0 -68
- package/dist/vendored/brepjs/utils/quaternion.js.map +0 -1
- package/dist/vendored/brepjs/utils/range.d.ts +0 -3
- package/dist/vendored/brepjs/utils/range.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/range.js +0 -5
- package/dist/vendored/brepjs/utils/range.js.map +0 -1
- package/dist/vendored/brepjs/utils/uuid.d.ts +0 -3
- package/dist/vendored/brepjs/utils/uuid.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/uuid.js +0 -7
- package/dist/vendored/brepjs/utils/uuid.js.map +0 -1
- package/dist/vendored/brepjs/utils/vec2d.d.ts +0 -62
- package/dist/vendored/brepjs/utils/vec2d.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/vec2d.js +0 -107
- package/dist/vendored/brepjs/utils/vec2d.js.map +0 -1
- package/dist/vendored/brepjs/utils/vec3.d.ts +0 -32
- package/dist/vendored/brepjs/utils/vec3.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/vec3.js +0 -35
- package/dist/vendored/brepjs/utils/vec3.js.map +0 -1
- package/dist/vendored/brepjs/utils/zip.d.ts +0 -5
- package/dist/vendored/brepjs/utils/zip.d.ts.map +0 -1
- package/dist/vendored/brepjs/utils/zip.js +0 -8
- package/dist/vendored/brepjs/utils/zip.js.map +0 -1
- package/dist/vendored/brepjs/vectors.d.ts +0 -11
- package/dist/vendored/brepjs/vectors.d.ts.map +0 -1
- package/dist/vendored/brepjs/vectors.js +0 -9
- package/dist/vendored/brepjs/vectors.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"occt-primitives.js","sourceRoot":"","sources":["../../src/occt-kernel/occt-primitives.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * occt-kernel/occt-primitives — `createOcctPrimitives()`: the L1 contract\n * (`BrepEngineApi`) adapter over the raw occt-wasm `OcctKernel` singleton.\n *\n * Plan Phase 3.2:\n * explicit object literal, one method per L1 contract member — no monkey\n * patching, no cross-layer assertion lies, no unsupported() stubs. Every member\n * here is either a direct pass-through to the native kernel or an adapter-side\n * dialect digestion, both honestly implementing the contract.\n *\n * Occt-only capabilities (loft family, tool-entity section/split, *WithHistory\n * beyond the L1 trio, XCAF, SVG projection …) are deliberately NOT here —\n * platform code reaches them through the native face: `getOcctKernel()` (D3).\n */\nimport type {\n EdgeData,\n EvolutionData,\n Mesh,\n OcctKernel,\n ShapeHandle,\n Vec3,\n} from 'occt-wasm'\nimport { initOcctWasm } from './occtKernel'\nimport { hullFromPoints as hullFromPointsCore } from './hullOps'\nimport type { AssertSatisfiesBrepEngineApi, BrepEngineApi } from '../brep/engine/primitives'\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepUvBounds,\n BrepVec3,\n} from '../brep/engine/types'\n\nconst asHandle = (h: number | ShapeHandle): BrepHandle => h as BrepHandle\nconst asShape = (h: BrepHandle): ShapeHandle => h as unknown as ShapeHandle\nconst shapes = (hs: BrepHandle[]): ShapeHandle[] => hs.map(asShape)\nconst v3 = (v: Vec3): BrepVec3 => ({ x: v.x, y: v.y, z: v.z })\nconst rad = (deg: number): number => (deg * Math.PI) / 180\n\n/** Topology layer uses this upper bound for face hashes (HASH_CODE_MAX). */\nconst HASH_UPPER_BOUND = 2 ** 24\n\n/** occt-wasm native linearPattern/circularPattern return ONE compound handle\n * containing all replicas (the wasm d.ts type lies by claiming a plain handle).\n * The adapter captures the native methods, then splits the compound via\n * getSubShapes('solid') into the BrepHandle[] the L1 contract promises. */\ntype OcctPatternRaw = {\n linearPattern(shape: ShapeHandle, direction: Vec3, spacing: number, count: number): ShapeHandle\n circularPattern(shape: ShapeHandle, center: Vec3, axis: Vec3, angle: number, count: number): ShapeHandle\n}\n\n/**\n * Build a large planar face (boolean tool) through `point`, oriented by\n * `normal`. The face is constructed directly in the plane's own basis\n * (u ⊥ v ⊥ normal, through point) — no post-rotation needed, any normal\n * direction works (the Phase 1 probe only pinned +Z; this generalizes it).\n */\nfunction makePlanarFaceTool(k: OcctKernel, point: BrepVec3, normal: BrepVec3): ShapeHandle {\n const size = 500 // large enough to fully cut any reasonable solid\n // Pick the axis component with the smallest magnitude to build a stable\n // perpendicular basis (avoids degeneracy when normal is axis-aligned).\n const ax = Math.abs(normal.x)\n const ay = Math.abs(normal.y)\n const az = Math.abs(normal.z)\n let u: BrepVec3\n if (ax <= ay && ax <= az) u = { x: 0, y: -normal.z, z: normal.y }\n else if (ay <= az) u = { x: -normal.z, y: 0, z: normal.x }\n else u = { x: normal.y, y: -normal.x, z: 0 }\n const ul = Math.hypot(u.x, u.y, u.z)\n u = { x: u.x / ul, y: u.y / ul, z: u.z / ul }\n const v: BrepVec3 = {\n x: normal.y * u.z - normal.z * u.y,\n y: normal.z * u.x - normal.x * u.z,\n z: normal.x * u.y - normal.y * u.x,\n }\n const corner = (a: number, b: number): Vec3 => ({\n x: point.x + (u.x * a + v.x * b) * size,\n y: point.y + (u.y * a + v.y * b) * size,\n z: point.z + (u.z * a + v.z * b) * size,\n })\n const e1 = k.makeLineEdge(corner(-1, -1), corner(1, -1))\n const e2 = k.makeLineEdge(corner(1, -1), corner(1, 1))\n const e3 = k.makeLineEdge(corner(1, 1), corner(-1, 1))\n const e4 = k.makeLineEdge(corner(-1, 1), corner(-1, -1))\n const wire = k.makeWire([e1, e2, e3, e4])\n const face = k.makeFace(wire)\n k.release(wire)\n return face\n}\n\n/**\n * Create the occt implementation of the L1 engine contract. Idempotent-friendly:\n * the wasm kernel is a process-level singleton (see initOcctWasm), each call\n * returns a fresh adapter object over the same kernel.\n *\n * @returns a BrepEngineApi implementation backed by the occt wasm kernel.\n */\nexport async function createOcctPrimitives(): Promise<BrepEngineApi> {\n const k = await initOcctWasm()\n const raw = k as unknown as OcctPatternRaw\n // Capture native pattern methods BEFORE any wiring so gridPattern composes\n // on true native semantics (old adapter GOTCHA: after overwriting, calling\n // the property again recurses into the wrapper).\n const nativeLinearPattern = raw.linearPattern.bind(k)\n // 2026-09-25 core-decouple Phase 2(§5.1):hull 最小闭包已移植进 occt-kernel/\n // (hullGeometry + hullOps,occt-wasm 原生直调),此处不再经\n // OcctWasmAdapter——core 自有引擎对旧适配器的最后一处依赖已拔除。\n\n const splitCompoundToArray = (compound: ShapeHandle): BrepHandle[] => {\n const parts = k.getSubShapes(compound, 'solid').map(asHandle)\n k.release(compound)\n return parts\n }\n\n const toEvolution = (e: EvolutionData): BrepEvolutionData => ({\n // occt-wasm's EvolutionData already carries the segmented\n // [inHash, count, outHash…] encoding pinned by phase0-kernel-probes\n // (its own docs claim flat maps — docs are wrong, data is segmented).\n result: asHandle(e.result),\n modified: e.modified,\n generated: e.generated,\n deleted: e.deleted,\n })\n\n const primitives: BrepEngineApi = {\n // ── lifecycle ──\n release: (shape) => k.release(asShape(shape)),\n dispose: (shape) => {\n if (shape !== undefined) k.release(asShape(shape))\n },\n\n // ── solids ──\n makeBox: (dx, dy, dz) => asHandle(k.makeBox(dx, dy, dz)),\n makeBoxFromCorners: (c1, c2) => asHandle(k.makeBoxFromCorners(c1, c2)),\n makeCylinder: (radius, height) => asHandle(k.makeCylinder(radius, height)),\n makeSphere: (radius) => asHandle(k.makeSphere(radius)),\n makeCone: (r1, r2, height) => asHandle(k.makeCone(r1, r2, height)),\n makeRectangle: (w, h) => asHandle(k.makeRectangle(w, h)),\n makeEllipsoid: (rx, ry, rz) => asHandle(k.makeEllipsoid(rx, ry, rz)),\n makeTorus: (major, minor) => asHandle(k.makeTorus(major, minor)),\n makeVertex: (x, y, z) => asHandle(k.makeVertex(x, y, z)),\n\n // ── shaping ──\n extrude: (shape, dx, dy, dz) => asHandle(k.extrude(asShape(shape), dx, dy, dz)),\n revolveVec: (shape, center, direction, angleDeg) =>\n asHandle(k.revolve(asShape(shape), { point: center, direction }, rad(angleDeg))),\n sew: (list, tolerance) => asHandle(k.sew(shapes(list), tolerance)),\n sewAndSolidify: (faces, tolerance) => asHandle(k.sewAndSolidify(shapes(faces), tolerance)),\n shell: (solid, facesToRemove, thickness, tolerance) =>\n asHandle(k.shell(asShape(solid), shapes(facesToRemove), thickness, tolerance)),\n hullFromPoints: (points, tolerance) => hullFromPointsCore(k, points as never, tolerance),\n\n // ── booleans & splitting ──\n fuse: (a, b) => asHandle(k.fuse(asShape(a), asShape(b))),\n cut: (a, b) => asHandle(k.cut(asShape(a), asShape(b))),\n common: (a, b) => asHandle(k.common(asShape(a), asShape(b))),\n intersect: (a, b) => asHandle(k.intersect(asShape(a), asShape(b))),\n fuseAll: (list) => asHandle(k.fuseAll(shapes(list))),\n sectionByPlane: (shape, point, normal) => {\n // Phase 1 probe A (phase1-semantic-probes.test.ts): a planar face used as\n // the section tool yields the plane-section geometry. Downcast the result\n // compound into edge/wire handles; a non-compound result passes through.\n const tool = makePlanarFaceTool(k, point, normal)\n try {\n const result = k.section(asShape(shape), tool)\n if (k.isNull(result)) return []\n const out: BrepHandle[] = []\n for (const t of ['edge', 'wire'] as const) {\n for (const part of k.getSubShapes(result, t)) out.push(asHandle(k.downcast(part, t)))\n }\n if (out.length === 0) {\n // No intersection: native section still yields an (empty) compound —\n // release it and return an empty list so callers can detect the miss\n // instead of adopting an empty compound as a \"curve\".\n k.release(result)\n return []\n }\n k.release(result)\n return out\n } finally {\n k.release(tool)\n }\n },\n splitByPlane: (shape, point, normal) => {\n // Phase 1 probe A: splitter with a planar face tool yields exactly 2 solids.\n const tool = makePlanarFaceTool(k, point, normal)\n try {\n const result = k.split(asShape(shape), [tool])\n if (k.isNull(result)) throw new Error('splitByPlane: splitter produced no result')\n const solids = k.getSubShapes(result, 'solid').map(asHandle)\n k.release(result)\n if (solids.length !== 2) {\n throw new Error(`splitByPlane: expected 2 solids, got ${solids.length}`)\n }\n // Classify sides by centroid projection onto the plane normal.\n const originDot = point.x * normal.x + point.y * normal.y + point.z * normal.z\n const side = (h: BrepHandle): number => {\n const c = k.getCenterOfMass(asShape(h))\n return c.x * normal.x + c.y * normal.y + c.z * normal.z - originDot\n }\n const [a, b] = solids\n return side(a) >= side(b)\n ? { positive: a, negative: b }\n : { positive: b, negative: a }\n } finally {\n k.release(tool)\n }\n },\n\n // ── chamfer & fillet ──\n chamfer: (solid, edgesList, distance) =>\n asHandle(k.chamfer(asShape(solid), shapes(edgesList), distance)),\n chamferDistAngle: (solid, edgesList, distance, angleDeg) =>\n asHandle(k.chamferDistAngle(asShape(solid), shapes(edgesList), distance, angleDeg)),\n fillet: (solid, edgesList, radius) =>\n asHandle(k.fillet(asShape(solid), shapes(edgesList), radius)),\n filletVariable: (solid, edge, startRadius, endRadius) =>\n asHandle(k.filletVariable(asShape(solid), asShape(edge), startRadius, endRadius)),\n filletWithHistory: (solid, edgesList, radius, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.filletWithHistory(asShape(solid), shapes(edgesList), radius, inputFaceHashes, hashUpperBound)),\n\n // ── transforms (matrix convention: 3×4 row-major, 12 doubles) ──\n translate: (shape, dx, dy, dz) => asHandle(k.translate(asShape(shape), dx, dy, dz)),\n scale: (shape, center, factor) => asHandle(k.scale(asShape(shape), center, factor)),\n transform: (shape, matrix) => asHandle(k.transform(asShape(shape), matrix)),\n located: (shape, matrix) => asHandle(k.located(asShape(shape), matrix)),\n locate: (shape, matrix) => asHandle(k.located(asShape(shape), matrix)),\n generalTransform: (shape, matrix) => {\n // GOTCHA (2026-10-07, openscad example023 parity): the native `gp_GTrsf`\n // path returns a handle whose *stored triangulation* double-applies the\n // translated face's TopLoc. The exact geometry is right; only the\n // tessellation is wrong, so the defect only shows on an **already meshed**\n // shape — and every `cad.extrude`/boolean result is meshed for display\n // (`brep-ops.ts#solidToShape`). Measured on an extruded face-with-hole\n // prism: exact top cap 5.0, tessellated top cap 10.0 (non-uniform z×2.5:\n // 12.5 vs 17.5). `BRepBuilderAPI_Copy` yields a shape without the stale\n // triangulation, so the result re-tessellates correctly.\n //\n // Deliberately adapter-local, not in the engine-neutral dispatcher\n // (`brep/brep-ops.ts#applyAffineBrep`): the defect is **occt-only** —\n // brepkit's GTrsf path is clean (pinned by\n // test/brep/applymatrix-similarity-routing.test.ts). Making every engine\n // pay an extra handle allocation for an occt quirk also perturbed\n // brepkit's `cut` bbox in test/brep/engine/multi-engine-op-parity.test.ts.\n //\n // Safety: the copy is adapter-owned and released here; the returned handle\n // is independent of it (the native op does not consume its input).\n const copy = k.copy(asShape(shape))\n try {\n return asHandle(k.generalTransform(copy, matrix))\n } finally {\n k.release(copy)\n }\n },\n copy: (shape) => asHandle(k.copy(asShape(shape))),\n copyShape: (shape) => asHandle(k.copy(asShape(shape))),\n composeTransform: (m1, m2) => k.composeTransform(m1, m2),\n mirror: (shape, point, normal) => asHandle(k.mirror(asShape(shape), point, normal)),\n\n // ── patterns ──\n // GOTCHA: occt-wasm native linearPattern/circularPattern return ONE compound\n // handle (their d.ts type lies). Split it into per-replica handles here.\n linearPattern: (shape, direction, spacing, count) => {\n const compound = nativeLinearPattern(asShape(shape), direction, spacing, count)\n return splitCompoundToArray(compound)\n },\n circularPattern: (shape, center, axis, angleStep, count) => {\n // Empirically validated (old adapter + engine-switch-p2 parity): the wasm\n // layer takes the angle in DEGREES here (unlike revolve's angleRad).\n const compound = (k as unknown as OcctPatternRaw).circularPattern.call(\n k, asShape(shape), center, axis, angleStep, count,\n )\n return splitCompoundToArray(compound)\n },\n gridPattern: (shape, directionX, directionY, spacingX, spacingY, countX, countY) => {\n // Composed: native linearPattern along X per column, then along Y per row,\n // fuse all replicas. Must use the CAPTURED native linearPattern (returns\n // compound) — the adapter property above now returns arrays.\n const colCompound = nativeLinearPattern(asShape(shape), directionX, spacingX, countX)\n const cols = k.getSubShapes(colCompound, 'solid')\n k.release(colCompound)\n const all: ShapeHandle[] = []\n try {\n for (const c of cols) {\n const rowCompound = nativeLinearPattern(c, directionY, spacingY, countY)\n try {\n all.push(...k.getSubShapes(rowCompound, 'solid'))\n } finally {\n k.release(rowCompound)\n }\n }\n } finally {\n for (const c of cols) k.release(c)\n }\n return asHandle(k.fuseAll(all))\n },\n\n // ── curve construction ──\n makeLineEdge: (start, end) => asHandle(k.makeLineEdge(start, end)),\n makeArcEdge: (start, mid, end) => asHandle(k.makeArcEdge(start, mid, end)),\n makeBezierEdge: (controlPoints) => asHandle(k.makeBezierEdge(controlPoints)),\n makeBSplineEdge: (poles, weights, knots, multiplicities, degree, periodic) =>\n asHandle(k.makeBSplineEdge(poles, weights, knots, multiplicities, degree, periodic ?? false)),\n makeCircleEdge: (center, normal, radius) =>\n asHandle(k.makeCircleEdge(center, normal, radius)),\n\n // ── topology construction ──\n makeWire: (edgesList) => asHandle(k.makeWire(shapes(edgesList))),\n makeFace: (wire) => asHandle(k.makeFace(asShape(wire))),\n makeCompound: (list) => asHandle(k.makeCompound(shapes(list))),\n addHolesInFace: (face, holeWires) =>\n asHandle(k.addHolesInFace(asShape(face), shapes(holeWires))),\n buildTriFace: (a, b, c) => asHandle(k.buildTriFace(a, b, c)),\n\n // ── tessellation (the only BREP→mesh exit) ──\n meshShape: (shape, options): BrepMeshResult => {\n const m: Mesh = k.meshShape(asShape(shape), options)\n return {\n positions: m.positions,\n normals: m.normals,\n indices: m.indices,\n vertexCount: m.vertexCount,\n triangleCount: m.triangleCount,\n faceGroups: m.faceGroups,\n faceCount: m.faceCount,\n }\n },\n wireframe: (shape, deflection): BrepEdgeData => {\n const e: EdgeData = k.wireframe(asShape(shape), deflection)\n return {\n points: e.points,\n edgeGroups: e.edgeGroups,\n pointCount: e.pointCount,\n edgeCount: e.edgeCount,\n }\n },\n\n // ── topology queries ──\n getSubShapes: (shape, type) => k.getSubShapes(asShape(shape), type).map(asHandle),\n subShapeHashes: (shape, type, hashUpperBound) =>\n k.subShapeHashes(asShape(shape), type, hashUpperBound),\n hashCode: (shape, upperBound) => k.hashCode(asShape(shape), upperBound),\n isSame: (a, b) => k.isSame(asShape(a), asShape(b)),\n isSolid: (shape) => k.isSolid(asShape(shape)),\n shapeType: (shape) => k.getShapeType(asShape(shape)),\n shapeOrientation: (shape) => String(k.shapeOrientation(asShape(shape))),\n edgeToFaceMap: (shape) => k.edgeToFaceMap(asShape(shape), HASH_UPPER_BOUND),\n adjacentFaces: (shape, face) =>\n k.adjacentFaces(asShape(shape), asShape(face)).map(asHandle),\n sharedEdges: (a, b) => k.sharedEdges(asShape(a), asShape(b)).map(asHandle),\n\n // ── geometry evaluation ──\n curveType: (edge) => String(k.curveType(asShape(edge))),\n curvePointAtParam: (edge, param) => v3(k.curvePointAtParam(asShape(edge), param)),\n curveTangent: (edge, param) => v3(k.curveTangent(asShape(edge), param)),\n curveParameters: (edge): BrepCurveParameters => k.curveParameters(asShape(edge)),\n curveIsClosed: (edge) => k.curveIsClosed(asShape(edge)),\n curveLength: (edge) => k.curveLength(asShape(edge)),\n surfaceType: (face) => String(k.surfaceType(asShape(face))),\n surfaceNormal: (face, u, vv) => v3(k.surfaceNormal(asShape(face), u, vv)),\n pointOnSurface: (face, u, vv) => v3(k.pointOnSurface(asShape(face), u, vv)),\n uvBounds: (face): BrepUvBounds => k.uvBounds(asShape(face)),\n surfaceCenterOfMass: (face) => v3(k.getSurfaceCenterOfMass(asShape(face))),\n getFaceCylinderData: (face) => {\n const d = k.getFaceCylinderData(asShape(face))\n return d ? { radius: d.radius } : null\n },\n getNurbsCurveData: (edge) => {\n const d = k.getNurbsCurveData(asShape(edge))\n return d\n ? {\n degree: d.degree,\n rational: d.rational,\n periodic: d.periodic,\n knots: Array.from(d.knots),\n multiplicities: Array.from(d.multiplicities),\n poles: Array.from(d.poles),\n weights: Array.from(d.weights),\n }\n : null\n },\n curveSplit: (edge, param) => {\n const parts = k.curveSplit(asShape(edge), param)\n return [asHandle(parts[0]), asHandle(parts[1])]\n },\n interpolatePoints: (points, degree) => {\n // L1 contract takes an explicit degree; occt-wasm interpolates a cubic\n // (or periodic) spline and ignores degree — honor only degree 3 and\n // reject others loudly rather than silently producing wrong geometry.\n if (degree !== 3) {\n throw new Error(`occt interpolatePoints: only degree 3 supported, got ${degree}`)\n }\n return asHandle(k.interpolatePoints(points))\n },\n\n defeature: (shape, facesList) => asHandle(k.defeature(asShape(shape), shapes(facesList), 0)),\n draft: (shape, facesList, pull, neutral, angleDeg) => {\n // Native draft is single-face + radians, and has NO neutral-plane argument\n // (occt-wasm index.d.ts:156 `draft(shape, face, angleRad, direction)`).\n // Silently dropping a caller-supplied neutral plane would draft against the\n // wrong plane, so reject loudly (same rule as `interpolatePoints` below).\n // brepkit's L1 draft does consume the neutral point (brepkitKernel.ts:669).\n if (neutral && (neutral.x !== 0 || neutral.y !== 0 || neutral.z !== 0)) {\n throw new Error(\n 'occt draft: neutral plane is not supported by the native kernel ' +\n `(got neutral=(${neutral.x},${neutral.y},${neutral.z})); only the origin neutral is representable`,\n )\n }\n // Native draft is single-face; fold N faces sequentially.\n let current = asShape(shape)\n for (const f of facesList) {\n current = k.draft(current, asShape(f), rad(angleDeg), pull)\n }\n return asHandle(current)\n },\n removeHolesFromFace: (face) => {\n // Native takes hole indices; removing ALL holes = all wires except outer.\n const wires = k.getSubShapes(asShape(face), 'wire')\n const indices = wires.map((_, i) => i).filter((i) => i > 0)\n return asHandle(k.removeHolesFromFace(asShape(face), indices))\n },\n reverseShape: (shape) => asHandle(k.reverseShape(asShape(shape))),\n projectEdges: (shape, origin, direction, xAxis, _hiddenLines, _deflection) =>\n // Native projection has no hiddenLines/deflection flags in its signature —\n // pass through the projection result; callers treat it as opaque (unknown).\n k.projectEdges(asShape(shape), origin, direction, xAxis),\n\n // ── measurement ──\n getBoundingBox: (shape, useTriangulation): BrepBoundingBox =>\n k.getBoundingBox(asShape(shape), useTriangulation ?? false),\n getVolume: (shape) => k.getVolume(asShape(shape)),\n getCenterOfMass: (shape) => v3(k.getCenterOfMass(asShape(shape))),\n getSurfaceArea: (shape) => k.getSurfaceArea(asShape(shape)),\n // getLength:唯一 edge 弧长之和(与 brepkit 适配器同口径,D5)。\n // OCC 原生 LinearProperties 默认 SkipShared=false,按**面**遍历、把每条共享边按\n // 相邻面各计一次 ⇒ 实体得到的是「Σ 面周长」而非弧长(20×10×5 盒 → 280 = 2×140)。\n // 归一化为 TopExp 去重后的边逐条求和。checkpoint/releaseSince 是 occt-wasm 为\n // 「枚举子形状句柄后批量回收」提供的 arena 机制(index.d.ts:274-279, 498-511);\n // h 在 checkpoint 之前产生,不会被回收。\n getLength: (shape) => {\n const h = asShape(shape)\n const mark = k.checkpoint()\n try {\n let total = 0\n for (const e of k.getSubShapes(h, 'edge')) total += k.getLength(e)\n return total\n } finally {\n k.releaseSince(mark)\n }\n },\n\n // ── validation & repair ──\n isValid: (shape) => k.isValid(asShape(shape)),\n unifySameDomain: (shape) => asHandle(k.unifySameDomain(asShape(shape))),\n healSolid: (shape, tolerance) => asHandle(k.healSolid(asShape(shape), tolerance)),\n fixShape: (shape) => asHandle(k.fixShape(asShape(shape))),\n fixFaceOrientations: (shape) => asHandle(k.fixFaceOrientations(asShape(shape))),\n removeDegenerateEdges: (shape, _tolerance) =>\n // Native takes no tolerance parameter (kernel-fixed tolerance).\n asHandle(k.removeDegenerateEdges(asShape(shape))),\n\n // ── IO ──\n importStep: (data) => asHandle(k.importStep(data)),\n exportStep: (shape) => k.exportStep(asShape(shape)),\n importStl: (data) => asHandle(k.importStl(data)),\n fromBREP: (data) => asHandle(k.fromBREP(data)),\n\n // ── face evolution (L1 trio only) ──\n cutWithHistory: (a, b, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.cutWithHistory(asShape(a), asShape(b), inputFaceHashes, hashUpperBound)),\n fuseWithHistory: (a, b, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.fuseWithHistory(asShape(a), asShape(b), inputFaceHashes, hashUpperBound)),\n intersectWithHistory: (a, b, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.intersectWithHistory(asShape(a), asShape(b), inputFaceHashes, hashUpperBound)),\n }\n\n return primitives\n}\n\n/** The occt primitives type (BrepEngineApi implementation). */\nexport type OcctPrimitives = Awaited<ReturnType<typeof createOcctPrimitives>>\n\n// §7.8 compile-time guard: the explicit literal must satisfy the L1 contract\n// member-by-member (this now has real verification power — no `as` escape).\n/** Compile-time assertion that OcctPrimitives satisfies BrepEngineApi. */\nexport type _AssertOcctApi = AssertSatisfiesBrepEngineApi<OcctPrimitives>"]}
|
|
1
|
+
{"version":3,"file":"occt-primitives.js","sourceRoot":"","sources":["../../src/occt-kernel/occt-primitives.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAahE,MAAM,QAAQ,GAAG,CAAC,CAAuB,EAAc,EAAE,CAAC,CAAe,CAAA;AACzE,MAAM,OAAO,GAAG,CAAC,CAAa,EAAe,EAAE,CAAC,CAA2B,CAAA;AAC3E,MAAM,MAAM,GAAG,CAAC,EAAgB,EAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACnE,MAAM,EAAE,GAAG,CAAC,CAAO,EAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC9D,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;AAE1D,4EAA4E;AAC5E,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAAA;AAWhC;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,CAAa,EAAE,KAAe,EAAE,MAAgB;IAC1E,MAAM,IAAI,GAAG,GAAG,CAAA,CAAC,iDAAiD;IAClE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,CAAW,CAAA;IACf,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;SAC5D,IAAI,EAAE,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;;QACrD,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAA;IAC7C,MAAM,CAAC,GAAa;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACnC,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;QACvC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;QACvC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;KACxC,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtD,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtD,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,CAAC,GAAG,MAAM,YAAY,EAAE,CAAA;IAC9B,MAAM,GAAG,GAAG,CAA8B,CAAA;IAC1C,2EAA2E;IAC3E,2EAA2E;IAC3E,iDAAiD;IACjD,MAAM,mBAAmB,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrD,oEAAoE;IACpE,gDAAgD;IAChD,6CAA6C;IAE7C,MAAM,oBAAoB,GAAG,CAAC,QAAqB,EAAgB,EAAE;QACnE,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAqB,EAAE,CAAC,CAAC;QAC5D,0DAA0D;QAC1D,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAA;IAEF,MAAM,UAAU,GAAkB;QAChC,kBAAkB;QAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,KAAK,SAAS;gBAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QACpD,CAAC;QAED,eAAe;QACf,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1E,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAClE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAExD,gBAAgB;QAChB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CACjD,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,uEAAuE;QACvE,2DAA2D;QAC3D,oDAAoD;QACpD,yDAAyD;QACzD,uEAAuE;QACvE,4CAA4C;QAC5C,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrG,sEAAsE;QACtE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC9B,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;YACvE,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC5D,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAkB,EAAE,GAAG,CAAC,CAAC,CAAA;YAClF,CAAC;oBAAS,CAAC;gBACT,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QACD,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAClE,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1F,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CACpD,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAChF,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAe,EAAE,SAAS,CAAC;QAExF,6BAA6B;QAC7B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvC,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC9C,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBAAE,OAAO,EAAE,CAAA;gBAC/B,MAAM,GAAG,GAAiB,EAAE,CAAA;gBAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAU,EAAE,CAAC;oBAC1C,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;wBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvF,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrB,qEAAqE;oBACrE,qEAAqE;oBACrE,sDAAsD;oBACtD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACjB,OAAO,EAAE,CAAA;gBACX,CAAC;gBACD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACjB,OAAO,GAAG,CAAA;YACZ,CAAC;oBAAS,CAAC;gBACT,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,6EAA6E;YAC7E,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC9C,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;gBAClF,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACjB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC1E,CAAC;gBACD,+DAA+D;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;gBAC9E,MAAM,IAAI,GAAG,CAAC,CAAa,EAAU,EAAE;oBACrC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;oBACvC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;gBACrE,CAAC,CAAA;gBACD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAA;gBACrB,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACvB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;oBAC9B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;YAClC,CAAC;oBAAS,CAAC;gBACT,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CACtC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClE,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACzD,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrF,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CACnC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/D,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,CACtD,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACnF,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,CAC/E,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAE9G,kEAAkE;QAClE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnF,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnF,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACtE,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAClC,yEAAyE;YACzE,wEAAwE;YACxE,kEAAkE;YAClE,2EAA2E;YAC3E,uEAAuE;YACvE,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,yDAAyD;YACzD,EAAE;YACF,mEAAmE;YACnE,sEAAsE;YACtE,2CAA2C;YAC3C,yEAAyE;YACzE,kEAAkE;YAClE,2EAA2E;YAC3E,EAAE;YACF,2EAA2E;YAC3E,mEAAmE;YACnE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;YACnC,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;YACnD,CAAC;oBAAS,CAAC;gBACT,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC;QACxD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEnF,iBAAiB;QACjB,6EAA6E;QAC7E,yEAAyE;QACzE,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC/E,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QACvC,CAAC;QACD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACzD,0EAA0E;YAC1E,qEAAqE;YACrE,MAAM,QAAQ,GAAI,CAA+B,CAAC,eAAe,CAAC,IAAI,CACpE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAClD,CAAA;YACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QACvC,CAAC;QACD,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACjF,2EAA2E;YAC3E,yEAAyE;YACzE,6DAA6D;YAC7D,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACrF,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YACjD,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YACtB,MAAM,GAAG,GAAkB,EAAE,CAAA;YAC7B,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;oBACxE,IAAI,CAAC;wBACH,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;oBACnD,CAAC;4BAAS,CAAC;wBACT,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,KAAK,MAAM,CAAC,IAAI,IAAI;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,2BAA2B;QAC3B,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1E,cAAc,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC5E,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAC3E,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC;QAC/F,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CACzC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpD,8BAA8B;QAC9B,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAClC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5D,+CAA+C;QAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAkB,EAAE;YAC5C,MAAM,CAAC,GAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YACpD,OAAO;gBACL,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAA;QACH,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,EAAgB,EAAE;YAC7C,MAAM,CAAC,GAAa,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAA;YAC3D,OAAO;gBACL,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAA;QACH,CAAC;QAED,yBAAyB;QACzB,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjF,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAC9C,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC;QACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;QACvE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAC3E,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAC7B,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9D,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE1E,4BAA4B;QAC5B,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,iBAAiB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACjF,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACvE,eAAe,EAAE,CAAC,IAAI,EAAuB,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChF,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,QAAQ,EAAE,CAAC,IAAI,EAAgB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QACxC,CAAC;QACD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5C,OAAO,CAAC;gBACN,CAAC,CAAC;oBACE,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC1B,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;oBAC5C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC1B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC/B;gBACH,CAAC,CAAC,IAAI,CAAA;QACV,CAAC;QACD,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;YAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;QACD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACpC,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,EAAE,CAAC,CAAA;YACnF,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnD,2EAA2E;YAC3E,wEAAwE;YACxE,4EAA4E;YAC5E,0EAA0E;YAC1E,4EAA4E;YAC5E,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CACb,kEAAkE;oBAChE,iBAAiB,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,8CAA8C,CACrG,CAAA;YACH,CAAC;YACD,0DAA0D;YAC1D,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;YAC7D,CAAC;YACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC;QACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,0EAA0E;YAC1E,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;YACnD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QAChE,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;QAE1D,oBAAoB;QACpB,cAAc,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAmB,EAAE,CAC3D,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,gBAAgB,IAAI,KAAK,CAAC;QAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,+CAA+C;QAC/C,+DAA+D;QAC/D,wDAAwD;QACxD,8DAA8D;QAC9D,2DAA2D;QAC3D,6BAA6B;QAC7B,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YACxB,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAA;YAC3B,IAAI,CAAC;gBACH,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBAClE,OAAO,KAAK,CAAA;YACd,CAAC;oBAAS,CAAC;gBACT,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QACjF,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC3C,gEAAgE;QAChE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnD,WAAW;QACX,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE9C,sCAAsC;QACtC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,CACxD,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QACxF,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,CACzD,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QACzF,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,CAC9D,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;KAC/F,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC","sourcesContent":["/**\n * occt-kernel/occt-primitives — `createOcctPrimitives()`: the L1 contract\n * (`BrepEngineApi`) adapter over the raw occt-wasm `OcctKernel` singleton.\n *\n * Plan Phase 3.2:\n * explicit object literal, one method per L1 contract member — no monkey\n * patching, no cross-layer assertion lies, no unsupported() stubs. Every member\n * here is either a direct pass-through to the native kernel or an adapter-side\n * dialect digestion, both honestly implementing the contract.\n *\n * Occt-only capabilities (loft family, tool-entity section/split, *WithHistory\n * beyond the L1 trio, XCAF, SVG projection …) are deliberately NOT here —\n * platform code reaches them through the native face: `getOcctKernel()` (D3).\n */\nimport type {\n EdgeData,\n EvolutionData,\n Mesh,\n OcctKernel,\n ShapeHandle,\n Vec3,\n} from 'occt-wasm'\nimport { initOcctWasm } from './occtKernel'\nimport { hullFromPoints as hullFromPointsCore } from './hullOps'\nimport type { AssertSatisfiesBrepEngineApi, BrepEngineApi } from '../brep/engine/primitives'\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepUvBounds,\n BrepVec3,\n} from '../brep/engine/types'\n\nconst asHandle = (h: number | ShapeHandle): BrepHandle => h as BrepHandle\nconst asShape = (h: BrepHandle): ShapeHandle => h as unknown as ShapeHandle\nconst shapes = (hs: BrepHandle[]): ShapeHandle[] => hs.map(asShape)\nconst v3 = (v: Vec3): BrepVec3 => ({ x: v.x, y: v.y, z: v.z })\nconst rad = (deg: number): number => (deg * Math.PI) / 180\n\n/** Topology layer uses this upper bound for face hashes (HASH_CODE_MAX). */\nconst HASH_UPPER_BOUND = 2 ** 24\n\n/** occt-wasm native linearPattern/circularPattern return ONE compound handle\n * containing all replicas (the wasm d.ts type lies by claiming a plain handle).\n * The adapter captures the native methods, then splits the compound via\n * getSubShapes('solid') into the BrepHandle[] the L1 contract promises. */\ntype OcctPatternRaw = {\n linearPattern(shape: ShapeHandle, direction: Vec3, spacing: number, count: number): ShapeHandle\n circularPattern(shape: ShapeHandle, center: Vec3, axis: Vec3, angle: number, count: number): ShapeHandle\n}\n\n/**\n * Build a large planar face (boolean tool) through `point`, oriented by\n * `normal`. The face is constructed directly in the plane's own basis\n * (u ⊥ v ⊥ normal, through point) — no post-rotation needed, any normal\n * direction works (the Phase 1 probe only pinned +Z; this generalizes it).\n */\nfunction makePlanarFaceTool(k: OcctKernel, point: BrepVec3, normal: BrepVec3): ShapeHandle {\n const size = 500 // large enough to fully cut any reasonable solid\n // Pick the axis component with the smallest magnitude to build a stable\n // perpendicular basis (avoids degeneracy when normal is axis-aligned).\n const ax = Math.abs(normal.x)\n const ay = Math.abs(normal.y)\n const az = Math.abs(normal.z)\n let u: BrepVec3\n if (ax <= ay && ax <= az) u = { x: 0, y: -normal.z, z: normal.y }\n else if (ay <= az) u = { x: -normal.z, y: 0, z: normal.x }\n else u = { x: normal.y, y: -normal.x, z: 0 }\n const ul = Math.hypot(u.x, u.y, u.z)\n u = { x: u.x / ul, y: u.y / ul, z: u.z / ul }\n const v: BrepVec3 = {\n x: normal.y * u.z - normal.z * u.y,\n y: normal.z * u.x - normal.x * u.z,\n z: normal.x * u.y - normal.y * u.x,\n }\n const corner = (a: number, b: number): Vec3 => ({\n x: point.x + (u.x * a + v.x * b) * size,\n y: point.y + (u.y * a + v.y * b) * size,\n z: point.z + (u.z * a + v.z * b) * size,\n })\n const e1 = k.makeLineEdge(corner(-1, -1), corner(1, -1))\n const e2 = k.makeLineEdge(corner(1, -1), corner(1, 1))\n const e3 = k.makeLineEdge(corner(1, 1), corner(-1, 1))\n const e4 = k.makeLineEdge(corner(-1, 1), corner(-1, -1))\n const wire = k.makeWire([e1, e2, e3, e4])\n const face = k.makeFace(wire)\n k.release(wire)\n return face\n}\n\n/**\n * Create the occt implementation of the L1 engine contract. Idempotent-friendly:\n * the wasm kernel is a process-level singleton (see initOcctWasm), each call\n * returns a fresh adapter object over the same kernel.\n *\n * @returns a BrepEngineApi implementation backed by the occt wasm kernel.\n */\nexport async function createOcctPrimitives(): Promise<BrepEngineApi> {\n const k = await initOcctWasm()\n const raw = k as unknown as OcctPatternRaw\n // Capture native pattern methods BEFORE any wiring so gridPattern composes\n // on true native semantics (old adapter GOTCHA: after overwriting, calling\n // the property again recurses into the wrapper).\n const nativeLinearPattern = raw.linearPattern.bind(k)\n // 2026-09-25 core-decouple Phase 2(§5.1):hull 最小闭包已移植进 occt-kernel/\n // (hullGeometry + hullOps,occt-wasm 原生直调),此处不再经\n // OcctWasmAdapter——core 自有引擎对旧适配器的最后一处依赖已拔除。\n\n const splitCompoundToArray = (compound: ShapeHandle): BrepHandle[] => {\n const parts = k.getSubShapes(compound, 'solid').map(asHandle)\n k.release(compound)\n return parts\n }\n\n const toEvolution = (e: EvolutionData): BrepEvolutionData => ({\n // occt-wasm's EvolutionData already carries the segmented\n // [inHash, count, outHash…] encoding pinned by phase0-kernel-probes\n // (its own docs claim flat maps — docs are wrong, data is segmented).\n result: asHandle(e.result),\n modified: e.modified,\n generated: e.generated,\n deleted: e.deleted,\n })\n\n const primitives: BrepEngineApi = {\n // ── lifecycle ──\n release: (shape) => k.release(asShape(shape)),\n dispose: (shape) => {\n if (shape !== undefined) k.release(asShape(shape))\n },\n\n // ── solids ──\n makeBox: (dx, dy, dz) => asHandle(k.makeBox(dx, dy, dz)),\n makeBoxFromCorners: (c1, c2) => asHandle(k.makeBoxFromCorners(c1, c2)),\n makeCylinder: (radius, height) => asHandle(k.makeCylinder(radius, height)),\n makeSphere: (radius) => asHandle(k.makeSphere(radius)),\n makeCone: (r1, r2, height) => asHandle(k.makeCone(r1, r2, height)),\n makeRectangle: (w, h) => asHandle(k.makeRectangle(w, h)),\n makeEllipsoid: (rx, ry, rz) => asHandle(k.makeEllipsoid(rx, ry, rz)),\n makeTorus: (major, minor) => asHandle(k.makeTorus(major, minor)),\n makeVertex: (x, y, z) => asHandle(k.makeVertex(x, y, z)),\n\n // ── shaping ──\n extrude: (shape, dx, dy, dz) => asHandle(k.extrude(asShape(shape), dx, dy, dz)),\n revolveVec: (shape, center, direction, angleDeg) =>\n asHandle(k.revolve(asShape(shape), { point: center, direction }, rad(angleDeg))),\n // L1 中立 sweep:occt 侧 native sweepPipeShell 的 (profile, spine) 与 L1 同形,\n // 只补齐两个默认开关(freenet=false / smooth=false,与旧 sweepFns 的默认路径\n // 逐字节一致);brepkit 侧的 face/NURBS 适配在 brepkitKernel 内。\n // ⚠️ 不用 native `simplePipe`:实测它对本用例的 8×8 方截面沿 +Z 扫 50 产出\n // 体积 2133.33,而 sweepPipeShell 产出解析值 3200(`test/api/sweep-loft.test.ts`\n // 的「两个 2D 面截面」用例即为该真值)——基础 sweep 必须与既有行为一致。\n sweep: (profile, spine) => asHandle(k.sweepPipeShell(asShape(profile), asShape(spine), false, false)),\n // L1 中立 loft:occt 原生 loft 吃 wire,只作 endPoint → loftWithVertices 的退化解。\n loft: (sections, ruled, endPoint) => {\n const wires = shapes(sections)\n if (endPoint === undefined) return asHandle(k.loft(wires, true, ruled))\n const end = k.makeVertex(endPoint.x, endPoint.y, endPoint.z)\n try {\n return asHandle(k.loftWithVertices(wires, true, ruled, undefined as never, end))\n } finally {\n k.release(end)\n }\n },\n sew: (list, tolerance) => asHandle(k.sew(shapes(list), tolerance)),\n sewAndSolidify: (faces, tolerance) => asHandle(k.sewAndSolidify(shapes(faces), tolerance)),\n shell: (solid, facesToRemove, thickness, tolerance) =>\n asHandle(k.shell(asShape(solid), shapes(facesToRemove), thickness, tolerance)),\n hullFromPoints: (points, tolerance) => hullFromPointsCore(k, points as never, tolerance),\n\n // ── booleans & splitting ──\n fuse: (a, b) => asHandle(k.fuse(asShape(a), asShape(b))),\n cut: (a, b) => asHandle(k.cut(asShape(a), asShape(b))),\n common: (a, b) => asHandle(k.common(asShape(a), asShape(b))),\n intersect: (a, b) => asHandle(k.intersect(asShape(a), asShape(b))),\n fuseAll: (list) => asHandle(k.fuseAll(shapes(list))),\n sectionByPlane: (shape, point, normal) => {\n // Phase 1 probe A (phase1-semantic-probes.test.ts): a planar face used as\n // the section tool yields the plane-section geometry. Downcast the result\n // compound into edge/wire handles; a non-compound result passes through.\n const tool = makePlanarFaceTool(k, point, normal)\n try {\n const result = k.section(asShape(shape), tool)\n if (k.isNull(result)) return []\n const out: BrepHandle[] = []\n for (const t of ['edge', 'wire'] as const) {\n for (const part of k.getSubShapes(result, t)) out.push(asHandle(k.downcast(part, t)))\n }\n if (out.length === 0) {\n // No intersection: native section still yields an (empty) compound —\n // release it and return an empty list so callers can detect the miss\n // instead of adopting an empty compound as a \"curve\".\n k.release(result)\n return []\n }\n k.release(result)\n return out\n } finally {\n k.release(tool)\n }\n },\n splitByPlane: (shape, point, normal) => {\n // Phase 1 probe A: splitter with a planar face tool yields exactly 2 solids.\n const tool = makePlanarFaceTool(k, point, normal)\n try {\n const result = k.split(asShape(shape), [tool])\n if (k.isNull(result)) throw new Error('splitByPlane: splitter produced no result')\n const solids = k.getSubShapes(result, 'solid').map(asHandle)\n k.release(result)\n if (solids.length !== 2) {\n throw new Error(`splitByPlane: expected 2 solids, got ${solids.length}`)\n }\n // Classify sides by centroid projection onto the plane normal.\n const originDot = point.x * normal.x + point.y * normal.y + point.z * normal.z\n const side = (h: BrepHandle): number => {\n const c = k.getCenterOfMass(asShape(h))\n return c.x * normal.x + c.y * normal.y + c.z * normal.z - originDot\n }\n const [a, b] = solids\n return side(a) >= side(b)\n ? { positive: a, negative: b }\n : { positive: b, negative: a }\n } finally {\n k.release(tool)\n }\n },\n\n // ── chamfer & fillet ──\n chamfer: (solid, edgesList, distance) =>\n asHandle(k.chamfer(asShape(solid), shapes(edgesList), distance)),\n chamferDistAngle: (solid, edgesList, distance, angleDeg) =>\n asHandle(k.chamferDistAngle(asShape(solid), shapes(edgesList), distance, angleDeg)),\n fillet: (solid, edgesList, radius) =>\n asHandle(k.fillet(asShape(solid), shapes(edgesList), radius)),\n filletVariable: (solid, edge, startRadius, endRadius) =>\n asHandle(k.filletVariable(asShape(solid), asShape(edge), startRadius, endRadius)),\n filletWithHistory: (solid, edgesList, radius, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.filletWithHistory(asShape(solid), shapes(edgesList), radius, inputFaceHashes, hashUpperBound)),\n\n // ── transforms (matrix convention: 3×4 row-major, 12 doubles) ──\n translate: (shape, dx, dy, dz) => asHandle(k.translate(asShape(shape), dx, dy, dz)),\n scale: (shape, center, factor) => asHandle(k.scale(asShape(shape), center, factor)),\n transform: (shape, matrix) => asHandle(k.transform(asShape(shape), matrix)),\n located: (shape, matrix) => asHandle(k.located(asShape(shape), matrix)),\n locate: (shape, matrix) => asHandle(k.located(asShape(shape), matrix)),\n generalTransform: (shape, matrix) => {\n // GOTCHA (2026-10-07, openscad example023 parity): the native `gp_GTrsf`\n // path returns a handle whose *stored triangulation* double-applies the\n // translated face's TopLoc. The exact geometry is right; only the\n // tessellation is wrong, so the defect only shows on an **already meshed**\n // shape — and every `cad.extrude`/boolean result is meshed for display\n // (`brep-ops.ts#solidToShape`). Measured on an extruded face-with-hole\n // prism: exact top cap 5.0, tessellated top cap 10.0 (non-uniform z×2.5:\n // 12.5 vs 17.5). `BRepBuilderAPI_Copy` yields a shape without the stale\n // triangulation, so the result re-tessellates correctly.\n //\n // Deliberately adapter-local, not in the engine-neutral dispatcher\n // (`brep/brep-ops.ts#applyAffineBrep`): the defect is **occt-only** —\n // brepkit's GTrsf path is clean (pinned by\n // test/brep/applymatrix-similarity-routing.test.ts). Making every engine\n // pay an extra handle allocation for an occt quirk also perturbed\n // brepkit's `cut` bbox in test/brep/engine/multi-engine-op-parity.test.ts.\n //\n // Safety: the copy is adapter-owned and released here; the returned handle\n // is independent of it (the native op does not consume its input).\n const copy = k.copy(asShape(shape))\n try {\n return asHandle(k.generalTransform(copy, matrix))\n } finally {\n k.release(copy)\n }\n },\n copy: (shape) => asHandle(k.copy(asShape(shape))),\n copyShape: (shape) => asHandle(k.copy(asShape(shape))),\n composeTransform: (m1, m2) => k.composeTransform(m1, m2),\n mirror: (shape, point, normal) => asHandle(k.mirror(asShape(shape), point, normal)),\n\n // ── patterns ──\n // GOTCHA: occt-wasm native linearPattern/circularPattern return ONE compound\n // handle (their d.ts type lies). Split it into per-replica handles here.\n linearPattern: (shape, direction, spacing, count) => {\n const compound = nativeLinearPattern(asShape(shape), direction, spacing, count)\n return splitCompoundToArray(compound)\n },\n circularPattern: (shape, center, axis, angleStep, count) => {\n // Empirically validated (old adapter + engine-switch-p2 parity): the wasm\n // layer takes the angle in DEGREES here (unlike revolve's angleRad).\n const compound = (k as unknown as OcctPatternRaw).circularPattern.call(\n k, asShape(shape), center, axis, angleStep, count,\n )\n return splitCompoundToArray(compound)\n },\n gridPattern: (shape, directionX, directionY, spacingX, spacingY, countX, countY) => {\n // Composed: native linearPattern along X per column, then along Y per row,\n // fuse all replicas. Must use the CAPTURED native linearPattern (returns\n // compound) — the adapter property above now returns arrays.\n const colCompound = nativeLinearPattern(asShape(shape), directionX, spacingX, countX)\n const cols = k.getSubShapes(colCompound, 'solid')\n k.release(colCompound)\n const all: ShapeHandle[] = []\n try {\n for (const c of cols) {\n const rowCompound = nativeLinearPattern(c, directionY, spacingY, countY)\n try {\n all.push(...k.getSubShapes(rowCompound, 'solid'))\n } finally {\n k.release(rowCompound)\n }\n }\n } finally {\n for (const c of cols) k.release(c)\n }\n return asHandle(k.fuseAll(all))\n },\n\n // ── curve construction ──\n makeLineEdge: (start, end) => asHandle(k.makeLineEdge(start, end)),\n makeArcEdge: (start, mid, end) => asHandle(k.makeArcEdge(start, mid, end)),\n makeBezierEdge: (controlPoints) => asHandle(k.makeBezierEdge(controlPoints)),\n makeBSplineEdge: (poles, weights, knots, multiplicities, degree, periodic) =>\n asHandle(k.makeBSplineEdge(poles, weights, knots, multiplicities, degree, periodic ?? false)),\n makeCircleEdge: (center, normal, radius) =>\n asHandle(k.makeCircleEdge(center, normal, radius)),\n\n // ── topology construction ──\n makeWire: (edgesList) => asHandle(k.makeWire(shapes(edgesList))),\n makeFace: (wire) => asHandle(k.makeFace(asShape(wire))),\n makeCompound: (list) => asHandle(k.makeCompound(shapes(list))),\n addHolesInFace: (face, holeWires) =>\n asHandle(k.addHolesInFace(asShape(face), shapes(holeWires))),\n buildTriFace: (a, b, c) => asHandle(k.buildTriFace(a, b, c)),\n\n // ── tessellation (the only BREP→mesh exit) ──\n meshShape: (shape, options): BrepMeshResult => {\n const m: Mesh = k.meshShape(asShape(shape), options)\n return {\n positions: m.positions,\n normals: m.normals,\n indices: m.indices,\n vertexCount: m.vertexCount,\n triangleCount: m.triangleCount,\n faceGroups: m.faceGroups,\n faceCount: m.faceCount,\n }\n },\n wireframe: (shape, deflection): BrepEdgeData => {\n const e: EdgeData = k.wireframe(asShape(shape), deflection)\n return {\n points: e.points,\n edgeGroups: e.edgeGroups,\n pointCount: e.pointCount,\n edgeCount: e.edgeCount,\n }\n },\n\n // ── topology queries ──\n getSubShapes: (shape, type) => k.getSubShapes(asShape(shape), type).map(asHandle),\n subShapeHashes: (shape, type, hashUpperBound) =>\n k.subShapeHashes(asShape(shape), type, hashUpperBound),\n hashCode: (shape, upperBound) => k.hashCode(asShape(shape), upperBound),\n isSame: (a, b) => k.isSame(asShape(a), asShape(b)),\n isSolid: (shape) => k.isSolid(asShape(shape)),\n shapeType: (shape) => k.getShapeType(asShape(shape)),\n shapeOrientation: (shape) => String(k.shapeOrientation(asShape(shape))),\n edgeToFaceMap: (shape) => k.edgeToFaceMap(asShape(shape), HASH_UPPER_BOUND),\n adjacentFaces: (shape, face) =>\n k.adjacentFaces(asShape(shape), asShape(face)).map(asHandle),\n sharedEdges: (a, b) => k.sharedEdges(asShape(a), asShape(b)).map(asHandle),\n\n // ── geometry evaluation ──\n curveType: (edge) => String(k.curveType(asShape(edge))),\n curvePointAtParam: (edge, param) => v3(k.curvePointAtParam(asShape(edge), param)),\n curveTangent: (edge, param) => v3(k.curveTangent(asShape(edge), param)),\n curveParameters: (edge): BrepCurveParameters => k.curveParameters(asShape(edge)),\n curveIsClosed: (edge) => k.curveIsClosed(asShape(edge)),\n curveLength: (edge) => k.curveLength(asShape(edge)),\n surfaceType: (face) => String(k.surfaceType(asShape(face))),\n surfaceNormal: (face, u, vv) => v3(k.surfaceNormal(asShape(face), u, vv)),\n pointOnSurface: (face, u, vv) => v3(k.pointOnSurface(asShape(face), u, vv)),\n uvBounds: (face): BrepUvBounds => k.uvBounds(asShape(face)),\n surfaceCenterOfMass: (face) => v3(k.getSurfaceCenterOfMass(asShape(face))),\n getFaceCylinderData: (face) => {\n const d = k.getFaceCylinderData(asShape(face))\n return d ? { radius: d.radius } : null\n },\n getNurbsCurveData: (edge) => {\n const d = k.getNurbsCurveData(asShape(edge))\n return d\n ? {\n degree: d.degree,\n rational: d.rational,\n periodic: d.periodic,\n knots: Array.from(d.knots),\n multiplicities: Array.from(d.multiplicities),\n poles: Array.from(d.poles),\n weights: Array.from(d.weights),\n }\n : null\n },\n curveSplit: (edge, param) => {\n const parts = k.curveSplit(asShape(edge), param)\n return [asHandle(parts[0]), asHandle(parts[1])]\n },\n interpolatePoints: (points, degree) => {\n // L1 contract takes an explicit degree; occt-wasm interpolates a cubic\n // (or periodic) spline and ignores degree — honor only degree 3 and\n // reject others loudly rather than silently producing wrong geometry.\n if (degree !== 3) {\n throw new Error(`occt interpolatePoints: only degree 3 supported, got ${degree}`)\n }\n return asHandle(k.interpolatePoints(points))\n },\n\n defeature: (shape, facesList) => asHandle(k.defeature(asShape(shape), shapes(facesList), 0)),\n draft: (shape, facesList, pull, neutral, angleDeg) => {\n // Native draft is single-face + radians, and has NO neutral-plane argument\n // (occt-wasm index.d.ts:156 `draft(shape, face, angleRad, direction)`).\n // Silently dropping a caller-supplied neutral plane would draft against the\n // wrong plane, so reject loudly (same rule as `interpolatePoints` below).\n // brepkit's L1 draft does consume the neutral point (brepkitKernel.ts:669).\n if (neutral && (neutral.x !== 0 || neutral.y !== 0 || neutral.z !== 0)) {\n throw new Error(\n 'occt draft: neutral plane is not supported by the native kernel ' +\n `(got neutral=(${neutral.x},${neutral.y},${neutral.z})); only the origin neutral is representable`,\n )\n }\n // Native draft is single-face; fold N faces sequentially.\n let current = asShape(shape)\n for (const f of facesList) {\n current = k.draft(current, asShape(f), rad(angleDeg), pull)\n }\n return asHandle(current)\n },\n removeHolesFromFace: (face) => {\n // Native takes hole indices; removing ALL holes = all wires except outer.\n const wires = k.getSubShapes(asShape(face), 'wire')\n const indices = wires.map((_, i) => i).filter((i) => i > 0)\n return asHandle(k.removeHolesFromFace(asShape(face), indices))\n },\n reverseShape: (shape) => asHandle(k.reverseShape(asShape(shape))),\n projectEdges: (shape, origin, direction, xAxis, _hiddenLines, _deflection) =>\n // Native projection has no hiddenLines/deflection flags in its signature —\n // pass through the projection result; callers treat it as opaque (unknown).\n k.projectEdges(asShape(shape), origin, direction, xAxis),\n\n // ── measurement ──\n getBoundingBox: (shape, useTriangulation): BrepBoundingBox =>\n k.getBoundingBox(asShape(shape), useTriangulation ?? false),\n getVolume: (shape) => k.getVolume(asShape(shape)),\n getCenterOfMass: (shape) => v3(k.getCenterOfMass(asShape(shape))),\n getSurfaceArea: (shape) => k.getSurfaceArea(asShape(shape)),\n // getLength:唯一 edge 弧长之和(与 brepkit 适配器同口径,D5)。\n // OCC 原生 LinearProperties 默认 SkipShared=false,按**面**遍历、把每条共享边按\n // 相邻面各计一次 ⇒ 实体得到的是「Σ 面周长」而非弧长(20×10×5 盒 → 280 = 2×140)。\n // 归一化为 TopExp 去重后的边逐条求和。checkpoint/releaseSince 是 occt-wasm 为\n // 「枚举子形状句柄后批量回收」提供的 arena 机制(index.d.ts:274-279, 498-511);\n // h 在 checkpoint 之前产生,不会被回收。\n getLength: (shape) => {\n const h = asShape(shape)\n const mark = k.checkpoint()\n try {\n let total = 0\n for (const e of k.getSubShapes(h, 'edge')) total += k.getLength(e)\n return total\n } finally {\n k.releaseSince(mark)\n }\n },\n\n // ── validation & repair ──\n isValid: (shape) => k.isValid(asShape(shape)),\n unifySameDomain: (shape) => asHandle(k.unifySameDomain(asShape(shape))),\n healSolid: (shape, tolerance) => asHandle(k.healSolid(asShape(shape), tolerance)),\n fixShape: (shape) => asHandle(k.fixShape(asShape(shape))),\n fixFaceOrientations: (shape) => asHandle(k.fixFaceOrientations(asShape(shape))),\n removeDegenerateEdges: (shape, _tolerance) =>\n // Native takes no tolerance parameter (kernel-fixed tolerance).\n asHandle(k.removeDegenerateEdges(asShape(shape))),\n\n // ── IO ──\n importStep: (data) => asHandle(k.importStep(data)),\n exportStep: (shape) => k.exportStep(asShape(shape)),\n importStl: (data) => asHandle(k.importStl(data)),\n fromBREP: (data) => asHandle(k.fromBREP(data)),\n\n // ── face evolution (L1 trio only) ──\n cutWithHistory: (a, b, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.cutWithHistory(asShape(a), asShape(b), inputFaceHashes, hashUpperBound)),\n fuseWithHistory: (a, b, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.fuseWithHistory(asShape(a), asShape(b), inputFaceHashes, hashUpperBound)),\n intersectWithHistory: (a, b, inputFaceHashes, hashUpperBound) =>\n toEvolution(k.intersectWithHistory(asShape(a), asShape(b), inputFaceHashes, hashUpperBound)),\n }\n\n return primitives\n}\n\n/** The occt primitives type (BrepEngineApi implementation). */\nexport type OcctPrimitives = Awaited<ReturnType<typeof createOcctPrimitives>>\n\n// §7.8 compile-time guard: the explicit literal must satisfy the L1 contract\n// member-by-member (this now has real verification power — no `as` escape).\n/** Compile-time assertion that OcctPrimitives satisfies BrepEngineApi. */\nexport type _AssertOcctApi = AssertSatisfiesBrepEngineApi<OcctPrimitives>"]}
|
|
@@ -17,28 +17,24 @@
|
|
|
17
17
|
* 产出精确 BREP——平面是 PLANE,圆柱面是 CYLINDRICAL_SURFACE,等。
|
|
18
18
|
*
|
|
19
19
|
* 2. **Mesh 重建路径**(mesh path):
|
|
20
|
-
* 对于无 OCCT 直接对应的复杂形状(screw, text),从
|
|
20
|
+
* 对于无 OCCT 直接对应的复杂形状(screw, text),从 mesh Shape
|
|
21
21
|
* 提取三角网格,经 meshReconstruct.ts 的多阶段愈合管线重建为 Solid。
|
|
22
22
|
* 产出仍为 BREP,但曲面由多个小三角平面近似(faceted)。在本项目里,默认brep模型不包含此类近似的到的模型。
|
|
23
23
|
*
|
|
24
24
|
* 坐标系:本项目 primitive 为 Z-up(经过 ROT_Y_TO_Z 旋转),
|
|
25
25
|
* OCCT 默认也是 Z-up,因此直接对应,无需额外轴转换。
|
|
26
26
|
*/
|
|
27
|
-
import type * as THREE from 'three';
|
|
28
27
|
import type { BrepHandle } from '../brep/engine/types.js';
|
|
29
28
|
import type { BrepEngineApi } from '../brep/engine/primitives.js';
|
|
30
29
|
import type { PrimitiveType } from './types.js';
|
|
31
|
-
import type { BoxParams, SphereParams, CylinderParams, ConeParams, WedgeParams } from '../mesh/types.js';
|
|
30
|
+
import type { BoxParams, SphereParams, CylinderParams, ConeParams, WedgeParams, Shape } from '../mesh/types.js';
|
|
32
31
|
/**
|
|
33
|
-
* Extract positions + indices from a
|
|
32
|
+
* Extract positions + indices from a Shape for the mesh reconstruction path.
|
|
34
33
|
*
|
|
35
|
-
*
|
|
36
|
-
* Sequential indices are created automatically for non-indexed geometry.
|
|
37
|
-
*
|
|
38
|
-
* @param geo - the source THREE.BufferGeometry.
|
|
34
|
+
* @param shape - the source Shape.
|
|
39
35
|
* @returns the extracted positions and indices arrays.
|
|
40
36
|
*/
|
|
41
|
-
export declare function extractMeshData(
|
|
37
|
+
export declare function extractMeshData(shape: Shape): {
|
|
42
38
|
positions: Float32Array;
|
|
43
39
|
indices: Uint32Array;
|
|
44
40
|
};
|
|
@@ -68,16 +64,16 @@ export type PrimitiveParams = BoxParams | SphereParams | CylinderParams | ConePa
|
|
|
68
64
|
*/
|
|
69
65
|
export declare function primitiveToBrepSolid(kernel: BrepEngineApi, type: PrimitiveType | 'screw' | 'text', params?: PrimitiveParams | number): PrimitiveToBrepResult;
|
|
70
66
|
/**
|
|
71
|
-
* Create a CAD solid from a
|
|
67
|
+
* Create a CAD solid from a Shape via the mesh reconstruction path.
|
|
72
68
|
*
|
|
73
69
|
* Suitable for complex shapes that cannot be constructed directly
|
|
74
70
|
* (screw, text, SVG extrusion, etc.).
|
|
75
71
|
*
|
|
76
72
|
* @param kernel - the initialized OCCT kernel.
|
|
77
|
-
* @param
|
|
73
|
+
* @param shape - the mesh Shape.
|
|
78
74
|
* @returns the CAD solid plus path information.
|
|
79
75
|
*/
|
|
80
|
-
export declare function geometryToBrepSolid(kernel: BrepEngineApi,
|
|
76
|
+
export declare function geometryToBrepSolid(kernel: BrepEngineApi, shape: Shape): PrimitiveToBrepResult;
|
|
81
77
|
/**
|
|
82
78
|
* Export a CAD solid as a BREP-format STEP string.
|
|
83
79
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brep-primitives.d.ts","sourceRoot":"","sources":["../../src/primitives/brep-primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"brep-primitives.d.ts","sourceRoot":"","sources":["../../src/primitives/brep-primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,UAAU,EACV,WAAW,EACX,KAAK,EACN,MAAM,eAAe,CAAA;AAItB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG;IAC7C,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACrB,CAEA;AA6JD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,KAAK,EAAE,UAAU,CAAA;IACjB,kCAAkC;IAClC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;CACvC;AAED,qDAAqD;AACrD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAA;AA6BlG;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,EACtC,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,GAChC,qBAAqB,CAkCvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,GACX,qBAAqB,CAIvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAAE,CAQ9C"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* 产出精确 BREP——平面是 PLANE,圆柱面是 CYLINDRICAL_SURFACE,等。
|
|
18
18
|
*
|
|
19
19
|
* 2. **Mesh 重建路径**(mesh path):
|
|
20
|
-
* 对于无 OCCT 直接对应的复杂形状(screw, text),从
|
|
20
|
+
* 对于无 OCCT 直接对应的复杂形状(screw, text),从 mesh Shape
|
|
21
21
|
* 提取三角网格,经 meshReconstruct.ts 的多阶段愈合管线重建为 Solid。
|
|
22
22
|
* 产出仍为 BREP,但曲面由多个小三角平面近似(faceted)。在本项目里,默认brep模型不包含此类近似的到的模型。
|
|
23
23
|
*
|
|
@@ -25,33 +25,15 @@
|
|
|
25
25
|
* OCCT 默认也是 Z-up,因此直接对应,无需额外轴转换。
|
|
26
26
|
*/
|
|
27
27
|
import { reconstructSolidFromMesh } from '../occt-kernel/meshReconstruct.js';
|
|
28
|
-
// ─── 辅助:从
|
|
28
|
+
// ─── 辅助:从 Shape 提取网格数据 ───
|
|
29
29
|
/**
|
|
30
|
-
* Extract positions + indices from a
|
|
30
|
+
* Extract positions + indices from a Shape for the mesh reconstruction path.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
* Sequential indices are created automatically for non-indexed geometry.
|
|
34
|
-
*
|
|
35
|
-
* @param geo - the source THREE.BufferGeometry.
|
|
32
|
+
* @param shape - the source Shape.
|
|
36
33
|
* @returns the extracted positions and indices arrays.
|
|
37
34
|
*/
|
|
38
|
-
export function extractMeshData(
|
|
39
|
-
|
|
40
|
-
if (!posAttr)
|
|
41
|
-
throw new Error('Geometry has no position attribute');
|
|
42
|
-
const positions = new Float32Array(posAttr.array);
|
|
43
|
-
const idxAttr = geo.getIndex();
|
|
44
|
-
let indices;
|
|
45
|
-
if (idxAttr) {
|
|
46
|
-
indices = new Uint32Array(idxAttr.array);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
// Non-indexed: create sequential indices
|
|
50
|
-
indices = new Uint32Array(posAttr.count);
|
|
51
|
-
for (let i = 0; i < posAttr.count; i++)
|
|
52
|
-
indices[i] = i;
|
|
53
|
-
}
|
|
54
|
-
return { positions, indices };
|
|
35
|
+
export function extractMeshData(shape) {
|
|
36
|
+
return { positions: new Float32Array(shape.positions), indices: new Uint32Array(shape.indices) };
|
|
55
37
|
}
|
|
56
38
|
// ─── 直接构造路径 ───
|
|
57
39
|
/** 应用 center 偏移到 OCCT solid(如果有 center 参数)。 */
|
|
@@ -249,17 +231,17 @@ export function primitiveToBrepSolid(kernel, type, params) {
|
|
|
249
231
|
}
|
|
250
232
|
}
|
|
251
233
|
/**
|
|
252
|
-
* Create a CAD solid from a
|
|
234
|
+
* Create a CAD solid from a Shape via the mesh reconstruction path.
|
|
253
235
|
*
|
|
254
236
|
* Suitable for complex shapes that cannot be constructed directly
|
|
255
237
|
* (screw, text, SVG extrusion, etc.).
|
|
256
238
|
*
|
|
257
239
|
* @param kernel - the initialized OCCT kernel.
|
|
258
|
-
* @param
|
|
240
|
+
* @param shape - the mesh Shape.
|
|
259
241
|
* @returns the CAD solid plus path information.
|
|
260
242
|
*/
|
|
261
|
-
export function geometryToBrepSolid(kernel,
|
|
262
|
-
const { positions, indices } = extractMeshData(
|
|
243
|
+
export function geometryToBrepSolid(kernel, shape) {
|
|
244
|
+
const { positions, indices } = extractMeshData(shape);
|
|
263
245
|
const solid = reconstructSolidFromMesh(kernel, positions, indices);
|
|
264
246
|
return { solid, path: 'mesh', type: 'screw' };
|
|
265
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brep-primitives.js","sourceRoot":"","sources":["../../src/primitives/brep-primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AASzE,qCAAqC;AAErC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,GAAyB;IAIvD,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAA0B,CAAA;IACrE,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IAEnE,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;IAC9B,IAAI,OAAoB,CAAA;IACxB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;SAAM,CAAC;QACN,yCAAyC;QACzC,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAC/B,CAAC;AAED,iBAAiB;AAEjB,+CAA+C;AAC/C,SAAS,WAAW,CAAC,MAAqB,EAAE,KAAiB,EAAE,MAAiC;IAC9F,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrB,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAqB,EAAE,MAAiB;IAC9D,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAA;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAA;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;IACvB,4EAA4E;IAC5E,gCAAgC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,CAAC,EAAE;QACX,CAAC,CAAC,MAAM,CAAC,QAAQ;YACf,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAA8B;YACzC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAA8B,CAAA;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,CACrC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EACnC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CACjC,CAAA;IACD,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAqB,EAAE,MAAoB;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9C,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,MAAqB,EAAE,MAAsB;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxF,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAqB,EAAE,MAAkB;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACnF,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxF,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,eAAe,CAAC,MAAqB,EAAE,MAAmB;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA,CAAoB,YAAY;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA,CAAkB,WAAW;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAA,CAAiB,WAAW;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA,CAAkB,YAAY;IAC1D,MAAM,QAAQ,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;IAC3C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;IAEpB,4BAA4B;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IAElE,uDAAuD;IACvD,iDAAiD;IACjD,iDAAiD;IACjD,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,IAAI,YAAY,GAAG,KAAK,EAAE,CAAC;QACzB,4CAA4C;QAC5C,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAClE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAChF,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAChG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACnF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAClE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EACrE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACvE,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5D,aAAa;IACb,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE/D,SAAS;IACT,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAExB,OAAO,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACrD,CAAC;AAmBD;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,IAAsC,EAAE,IAAY;IACxE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACnD,KAAK,QAAQ;YACX,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,CAAA;QAC7B,KAAK,UAAU;YACb,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC3C,KAAK,MAAM;YACT,OAAO,EAAE,YAAY,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC/D,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACjE;YACE,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,uBAAuB,CAAC,CAAA;IACjG,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,IAAsC,EACtC,MAAiC;IAEjC,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;QACnE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC,MAAM,CAAA;IAEV,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,UAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;QAE5F,KAAK,QAAQ;YACX,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,UAA0B,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;QAEjG,KAAK,UAAU;YACb,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,UAA4B,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;QAErG,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,UAAwB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;QAE7F,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,UAAyB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;QAE/F,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,iCAAiC;YACjC,2CAA2C;YAC3C,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,6DAA6D,CACrE,CAAA;QACH,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,GAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAClE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,MAAqB,EAAE,KAAiB;IACtE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,IAAmB,EACnB,MAAiC;IAEjC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAClD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IACpC,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC","sourcesContent":["/**\n * Primitive → CAD 实体转换。\n *\n * @platform occt — 本文件 import occt-kernel(meshReconstruct):primitive 直接\n * 构造路径绑定 occt 构造函数(makeBox/makeSphere/...),平台原生面调用;\n * 守卫 R1 豁免、R2 无 defineOp 不适用。\n *\n * 将本项目的各种 primitive(cube, sphere, cylinder, cone, wedge, screw)\n * 转换为 OCCT CAD 实体(Solid),并支持导出为 BREP 格式的 STEP 文件。\n *\n * 两条路径:\n *\n * 1. **直接构造路径**(primitive path):\n * 对于有 OCCT 直接对应的基本体(cube, sphere, cylinder, cone, wedge),\n * 直接调用 OCCT 构造函数(makeBox, makeSphere, makeCylinder, makeCone)\n * 或用 extrude 从 2D 轮廓构造(wedge)。\n * 产出精确 BREP——平面是 PLANE,圆柱面是 CYLINDRICAL_SURFACE,等。\n *\n * 2. **Mesh 重建路径**(mesh path):\n * 对于无 OCCT 直接对应的复杂形状(screw, text),从 THREE.js BufferGeometry\n * 提取三角网格,经 meshReconstruct.ts 的多阶段愈合管线重建为 Solid。\n * 产出仍为 BREP,但曲面由多个小三角平面近似(faceted)。在本项目里,默认brep模型不包含此类近似的到的模型。\n *\n * 坐标系:本项目 primitive 为 Z-up(经过 ROT_Y_TO_Z 旋转),\n * OCCT 默认也是 Z-up,因此直接对应,无需额外轴转换。\n */\n\nimport type * as THREE from 'three'\nimport type { BrepHandle } from '../brep/engine/types'\nimport type { BrepEngineApi } from '../brep/engine/primitives'\nimport type { PrimitiveType } from './types'\nimport { reconstructSolidFromMesh } from '../occt-kernel/meshReconstruct'\nimport type {\n BoxParams,\n SphereParams,\n CylinderParams,\n ConeParams,\n WedgeParams,\n} from '../mesh/types'\n\n// ─── 辅助:从 BufferGeometry 提取网格数据 ───\n\n/**\n * Extract positions + indices from a THREE.BufferGeometry for the mesh reconstruction path.\n *\n * Handles both indexed and non-indexed geometry.\n * Sequential indices are created automatically for non-indexed geometry.\n *\n * @param geo - the source THREE.BufferGeometry.\n * @returns the extracted positions and indices arrays.\n */\nexport function extractMeshData(geo: THREE.BufferGeometry): {\n positions: Float32Array\n indices: Uint32Array\n} {\n const posAttr = geo.getAttribute('position') as THREE.BufferAttribute\n if (!posAttr) throw new Error('Geometry has no position attribute')\n\n const positions = new Float32Array(posAttr.array)\n\n const idxAttr = geo.getIndex()\n let indices: Uint32Array\n if (idxAttr) {\n indices = new Uint32Array(idxAttr.array)\n } else {\n // Non-indexed: create sequential indices\n indices = new Uint32Array(posAttr.count)\n for (let i = 0; i < posAttr.count; i++) indices[i] = i\n }\n\n return { positions, indices }\n}\n\n// ─── 直接构造路径 ───\n\n/** 应用 center 偏移到 OCCT solid(如果有 center 参数)。 */\nfunction applyCenter(kernel: BrepEngineApi, solid: BrepHandle, center?: [number, number, number]): BrepHandle {\n if (!center) return solid\n const translated = kernel.translate(solid, center[0], center[1], center[2])\n kernel.release(solid)\n return translated\n}\n\n/**\n * 用 OCCT 直接构造一个长方体 Solid(原 brepjs `box(width, depth, height,\n * {at?, centered?})` 契约,§4.1 A 决策;与 mesh 路径逐点对齐)。\n *\n * 几何语义与旧 `primitiveFns.box` 完全一致:\n * 默认 min 角点在原点;`centered:true`(无 at 时)居中到原点;`at` 为中心\n * 语义且优先于 `centered`。\n */\nfunction cubeToCadSolid(kernel: BrepEngineApi, params: BoxParams): BrepHandle {\n const w = params.width\n const d = params.depth\n const h = params.height\n // 原 brepjs box: center = at ?? (centered ? [0,0,0] : undefined);未给 center →\n // 构造角点实体不平移(这里统一中心构造 + 平移量,等价)。\n const center = params.at !== undefined\n ? params.at\n : params.centered\n ? ([0, 0, 0] as [number, number, number])\n : ([w / 2, d / 2, h / 2] as [number, number, number])\n const solid = kernel.makeBoxFromCorners(\n { x: -w / 2, y: -d / 2, z: -h / 2 },\n { x: w / 2, y: d / 2, z: h / 2 },\n )\n return applyCenter(kernel, solid, center)\n}\n\n/**\n * 用 OCCT 直接构造一个球体 Solid。\n *\n * 接收完整 SphereParams:radius 是球体半径,segments 不影响 BREP(仅影响 mesh 离散化)。\n */\nfunction sphereToCadSolid(kernel: BrepEngineApi, params: SphereParams): BrepHandle {\n const solid = kernel.makeSphere(params.radius)\n return applyCenter(kernel, solid, params.center)\n}\n\n/**\n * 用 OCCT 直接构造一个圆柱体 Solid(原 brepjs `cylinder(radius, height, {\n * at, centered })` 契约,§4.3 A 决策;与 mesh 路径逐点对齐)。\n *\n * 锚点同旧 `primitiveFns.cylinder`:`at` 是底面轴心(BASE)语义(默认\n * [0,0,0]),OCCT makeCylinder 原生从 z=0 沿 +Z 建高 → 无需重居中;`centered:true`\n * 指底面沿轴下移 −h/2(无 at 时居中到原点;与 `at` 同给时以 `at` 为中心)。\n */\nfunction cylinderToCadSolid(kernel: BrepEngineApi, params: CylinderParams): BrepHandle {\n const solid = kernel.makeCylinder(params.radius, params.height)\n const baseX = params.at?.[0] ?? 0\n const baseY = params.at?.[1] ?? 0\n const baseZ = (params.at?.[2] ?? 0) - (params.centered === true ? params.height / 2 : 0)\n if (baseX !== 0 || baseY !== 0 || baseZ !== 0) {\n const translated = kernel.translate(solid, baseX, baseY, baseZ)\n kernel.release(solid)\n return translated\n }\n return solid\n}\n\n/**\n * 用 OCCT 直接构造一个圆锥体 Solid(原 brepjs `cone(bottomRadius, topRadius,\n * height, { at, centered })` 契约,§4.1 P 决策;与 mesh 路径逐点对齐)。\n *\n * 锚点同旧 `primitiveFns.cone`:`at` 是底面轴心(BASE)语义(默认\n * [0,0,0]),OCCT makeCone 原生从 z=0 沿 +Z 建高 → 无需重居中;`centered:true`\n * 指底面沿轴下移 −h/2(无 at 时居中到原点;与 `at` 同给时以 `at` 为中心)。\n */\nfunction coneToCadSolid(kernel: BrepEngineApi, params: ConeParams): BrepHandle {\n const solid = kernel.makeCone(params.radiusBottom, params.radiusTop, params.height)\n const baseX = params.at?.[0] ?? 0\n const baseY = params.at?.[1] ?? 0\n const baseZ = (params.at?.[2] ?? 0) - (params.centered === true ? params.height / 2 : 0)\n if (baseX !== 0 || baseY !== 0 || baseZ !== 0) {\n const translated = kernel.translate(solid, baseX, baseY, baseZ)\n kernel.release(solid)\n return translated\n }\n return solid\n}\n\n/**\n * 用 OCCT 从 2D 梯形轮廓拉伸构造楔形体 Solid。\n *\n * 支持全参数(width/height/angle/length),向后兼容旧式 { size: number }。\n *\n * 参数(来自 WedgePanel.buildWedgeGeometry):\n * - 底边宽度 width(沿 Y)\n * - 高度 height(沿 Z)\n * - 底边与斜边的夹角 angleDeg\n * - 拉伸总长 length(沿 X,从 -length/2 到 +length/2)\n *\n * 构造步骤:\n * 1. 在 YZ 平面创建梯形 wire(4 个顶点,4 条边)\n * 2. 从 wire 创建 planar face\n * 3. 沿 X 轴拉伸\n * 4. 平移使 X 方向居中\n */\nfunction wedgeToCadSolid(kernel: BrepEngineApi, params: WedgeParams): BrepHandle {\n const width = params.width // 底边长度(沿 Y)\n const height = params.height // 梯形高(沿 Z)\n const angleDeg = params.angle // 底边与斜边的夹角\n const length = params.length // 拉伸总长(沿 X)\n const angleRad = (angleDeg * Math.PI) / 180\n const halfExtrude = length / 2\n const hw = width / 2\n\n // 上边半宽 = 底边半宽 - 高 / tan(角度)\n const halfTopWidth = Math.max(0, hw - height / Math.tan(angleRad))\n\n // 在 YZ 平面创建梯形 wire(X=0)。顶边塌缩(halfTopWidth≈0,斜坡已在宽度内到顶)\n // 时退化为三角棱柱——不能再保留零长顶边(两个重合顶点会让 OCCT makeLineEdge\n // 报 CONSTRUCTION_FAILED,即 P23 实测的 wedge 退化参数失败)。\n const edges: BrepHandle[] = []\n if (halfTopWidth > 1e-12) {\n // 梯形:底边 (±hw,0) + 上边 (±halfTopWidth,height)\n edges.push(\n kernel.makeLineEdge({ x: 0, y: -hw, z: 0 }, { x: 0, y: hw, z: 0 }),\n kernel.makeLineEdge({ x: 0, y: hw, z: 0 }, { x: 0, y: halfTopWidth, z: height }),\n kernel.makeLineEdge({ x: 0, y: halfTopWidth, z: height }, { x: 0, y: -halfTopWidth, z: height }),\n kernel.makeLineEdge({ x: 0, y: -halfTopWidth, z: height }, { x: 0, y: -hw, z: 0 }),\n )\n } else {\n // 三角棱柱:(−hw,0) → (hw,0) → (0,height)\n edges.push(\n kernel.makeLineEdge({ x: 0, y: -hw, z: 0 }, { x: 0, y: hw, z: 0 }),\n kernel.makeLineEdge({ x: 0, y: hw, z: 0 }, { x: 0, y: 0, z: height }),\n kernel.makeLineEdge({ x: 0, y: 0, z: height }, { x: 0, y: -hw, z: 0 }),\n )\n }\n\n const wire = kernel.makeWire(edges)\n const face = kernel.makeFace(wire)\n const extruded = kernel.extrude(face, 2 * halfExtrude, 0, 0)\n // 平移使 X 方向居中\n const centered = kernel.translate(extruded, -halfExtrude, 0, 0)\n\n // 释放中间句柄\n for (const e of edges) kernel.release(e)\n kernel.release(wire)\n kernel.release(face)\n kernel.release(extruded)\n\n return applyCenter(kernel, centered, params.center)\n}\n\n// ─── 统一入口 ───\n\n/**\n * Conversion result: the CAD solid handle and the construction path used.\n */\nexport interface PrimitiveToBrepResult {\n /** CAD solid handle (the caller is responsible for releasing it). */\n solid: BrepHandle\n /** The construction path used. */\n path: 'primitive' | 'mesh'\n /** The primitive type. */\n type: PrimitiveType | 'screw' | 'text'\n}\n\n/** Union type of the primitive parameter objects. */\nexport type PrimitiveParams = BoxParams | SphereParams | CylinderParams | ConeParams | WedgeParams\n\n/**\n * 将旧的 size 数字转换为对应类型的完整 params(向后兼容)。\n *\n * - cube: { size: size }\n * - wedge: { width: size, height: size/2, angle: 60, length: 50 }\n * - sphere: { radius: size / 2 }\n * - cylinder: { radius: size / 2, height: size }\n * - cone: { radiusBottom: size / 2, radiusTop: 0, height: size }\n */\nfunction sizeToParams(type: PrimitiveType | 'screw' | 'text', size: number): PrimitiveParams {\n switch (type) {\n case 'cube':\n case 'box':\n return { width: size, depth: size, height: size }\n case 'sphere':\n return { radius: size / 2 }\n case 'cylinder':\n return { radius: size / 2, height: size }\n case 'cone':\n return { radiusBottom: size / 2, radiusTop: 0, height: size }\n case 'wedge':\n return { width: size, height: size / 2, angle: 60, length: 50 }\n default:\n throw new Error(`sizeToParams does not support primitive type \"${type}\" (use geometry data)`)\n }\n}\n\n/**\n * Convert a project primitive to an OCCT CAD solid.\n *\n * - cube, sphere, cylinder, cone, wedge: constructed directly with OCCT (exact BREP)\n * - screw, text: use the mesh reconstruction path (faceted BREP)\n *\n * @param kernel - the initialized OCCT kernel.\n * @param type - the primitive type.\n * @param params - a full parameter object (BoxParams etc.), or a size number (backwards-compatible, default 20mm).\n * @returns the CAD solid plus path information.\n */\nexport function primitiveToBrepSolid(\n kernel: BrepEngineApi,\n type: PrimitiveType | 'screw' | 'text',\n params?: PrimitiveParams | number,\n): PrimitiveToBrepResult {\n const fullParams = typeof params === 'number' || params === undefined\n ? sizeToParams(type, params ?? 20)\n : params\n\n switch (type) {\n case 'cube':\n case 'box':\n return { solid: cubeToCadSolid(kernel, fullParams as BoxParams), path: 'primitive', type }\n\n case 'sphere':\n return { solid: sphereToCadSolid(kernel, fullParams as SphereParams), path: 'primitive', type }\n\n case 'cylinder':\n return { solid: cylinderToCadSolid(kernel, fullParams as CylinderParams), path: 'primitive', type }\n\n case 'cone':\n return { solid: coneToCadSolid(kernel, fullParams as ConeParams), path: 'primitive', type }\n\n case 'wedge':\n return { solid: wedgeToCadSolid(kernel, fullParams as WedgeParams), path: 'primitive', type }\n\n case 'screw':\n case 'text': {\n // Mesh 重建路径:从 THREE.js 几何体提取网格数据\n // 对于 screw/text,调用方应使用 geometryToBrepSolid\n throw new Error(\n `${type} requires geometry data — use geometryToBrepSolid() instead`,\n )\n }\n\n default:\n throw new Error(`Unsupported primitive type: ${type}`)\n }\n}\n\n/**\n * Create a CAD solid from a THREE.BufferGeometry via the mesh reconstruction path.\n *\n * Suitable for complex shapes that cannot be constructed directly\n * (screw, text, SVG extrusion, etc.).\n *\n * @param kernel - the initialized OCCT kernel.\n * @param geo - the THREE.js BufferGeometry.\n * @returns the CAD solid plus path information.\n */\nexport function geometryToBrepSolid(\n kernel: BrepEngineApi,\n geo: THREE.BufferGeometry,\n): PrimitiveToBrepResult {\n const { positions, indices } = extractMeshData(geo)\n const solid = reconstructSolidFromMesh(kernel, positions, indices)\n return { solid, path: 'mesh', type: 'screw' }\n}\n\n/**\n * Export a CAD solid as a BREP-format STEP string.\n *\n * OCCT's exportStep produces a standard ISO-10303-21 STEP file using\n * ADVANCED_FACE with exact surfaces (PLANE, CYLINDRICAL_SURFACE, etc.)\n * rather than a faceted representation (POLYGONAL_FACE).\n *\n * @param kernel - the initialized OCCT kernel.\n * @param solid - the CAD solid handle.\n * @returns the STEP file content as a string.\n */\nexport function brepSolidToStep(kernel: BrepEngineApi, solid: BrepHandle): string {\n return kernel.exportStep(solid)\n}\n\n/**\n * Convenience method: convert a primitive directly to a STEP string.\n *\n * Internally calls primitiveToBrepSolid + brepSolidToStep and manages the\n * handle lifecycle automatically.\n *\n * @param kernel - the initialized OCCT kernel.\n * @param type - the primitive type.\n * @param params - a full parameter object, or a size number (backwards-compatible, default 20mm).\n * @returns the STEP file content string plus the path used.\n */\nexport function primitiveToBrepStep(\n kernel: BrepEngineApi,\n type: PrimitiveType,\n params?: PrimitiveParams | number,\n): { step: string; path: 'primitive' | 'mesh' } {\n const result = primitiveToBrepSolid(kernel, type, params)\n try {\n const step = brepSolidToStep(kernel, result.solid)\n return { step, path: result.path }\n } finally {\n kernel.release(result.solid)\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"brep-primitives.js","sourceRoot":"","sources":["../../src/primitives/brep-primitives.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Primitive → CAD 实体转换。\n *\n * @platform occt — 本文件 import occt-kernel(meshReconstruct):primitive 直接\n * 构造路径绑定 occt 构造函数(makeBox/makeSphere/...),平台原生面调用;\n * 守卫 R1 豁免、R2 无 defineOp 不适用。\n *\n * 将本项目的各种 primitive(cube, sphere, cylinder, cone, wedge, screw)\n * 转换为 OCCT CAD 实体(Solid),并支持导出为 BREP 格式的 STEP 文件。\n *\n * 两条路径:\n *\n * 1. **直接构造路径**(primitive path):\n * 对于有 OCCT 直接对应的基本体(cube, sphere, cylinder, cone, wedge),\n * 直接调用 OCCT 构造函数(makeBox, makeSphere, makeCylinder, makeCone)\n * 或用 extrude 从 2D 轮廓构造(wedge)。\n * 产出精确 BREP——平面是 PLANE,圆柱面是 CYLINDRICAL_SURFACE,等。\n *\n * 2. **Mesh 重建路径**(mesh path):\n * 对于无 OCCT 直接对应的复杂形状(screw, text),从 mesh Shape\n * 提取三角网格,经 meshReconstruct.ts 的多阶段愈合管线重建为 Solid。\n * 产出仍为 BREP,但曲面由多个小三角平面近似(faceted)。在本项目里,默认brep模型不包含此类近似的到的模型。\n *\n * 坐标系:本项目 primitive 为 Z-up(经过 ROT_Y_TO_Z 旋转),\n * OCCT 默认也是 Z-up,因此直接对应,无需额外轴转换。\n */\n\n\nimport type { BrepHandle } from '../brep/engine/types'\nimport type { BrepEngineApi } from '../brep/engine/primitives'\nimport type { PrimitiveType } from './types'\nimport { reconstructSolidFromMesh } from '../occt-kernel/meshReconstruct'\nimport type {\n BoxParams,\n SphereParams,\n CylinderParams,\n ConeParams,\n WedgeParams,\n Shape,\n} from '../mesh/types'\n\n// ─── 辅助:从 Shape 提取网格数据 ───\n\n/**\n * Extract positions + indices from a Shape for the mesh reconstruction path.\n *\n * @param shape - the source Shape.\n * @returns the extracted positions and indices arrays.\n */\nexport function extractMeshData(shape: Shape): {\n positions: Float32Array\n indices: Uint32Array\n} {\n return { positions: new Float32Array(shape.positions), indices: new Uint32Array(shape.indices) }\n}\n\n// ─── 直接构造路径 ───\n\n/** 应用 center 偏移到 OCCT solid(如果有 center 参数)。 */\nfunction applyCenter(kernel: BrepEngineApi, solid: BrepHandle, center?: [number, number, number]): BrepHandle {\n if (!center) return solid\n const translated = kernel.translate(solid, center[0], center[1], center[2])\n kernel.release(solid)\n return translated\n}\n\n/**\n * 用 OCCT 直接构造一个长方体 Solid(原 brepjs `box(width, depth, height,\n * {at?, centered?})` 契约,§4.1 A 决策;与 mesh 路径逐点对齐)。\n *\n * 几何语义与旧 `primitiveFns.box` 完全一致:\n * 默认 min 角点在原点;`centered:true`(无 at 时)居中到原点;`at` 为中心\n * 语义且优先于 `centered`。\n */\nfunction cubeToCadSolid(kernel: BrepEngineApi, params: BoxParams): BrepHandle {\n const w = params.width\n const d = params.depth\n const h = params.height\n // 原 brepjs box: center = at ?? (centered ? [0,0,0] : undefined);未给 center →\n // 构造角点实体不平移(这里统一中心构造 + 平移量,等价)。\n const center = params.at !== undefined\n ? params.at\n : params.centered\n ? ([0, 0, 0] as [number, number, number])\n : ([w / 2, d / 2, h / 2] as [number, number, number])\n const solid = kernel.makeBoxFromCorners(\n { x: -w / 2, y: -d / 2, z: -h / 2 },\n { x: w / 2, y: d / 2, z: h / 2 },\n )\n return applyCenter(kernel, solid, center)\n}\n\n/**\n * 用 OCCT 直接构造一个球体 Solid。\n *\n * 接收完整 SphereParams:radius 是球体半径,segments 不影响 BREP(仅影响 mesh 离散化)。\n */\nfunction sphereToCadSolid(kernel: BrepEngineApi, params: SphereParams): BrepHandle {\n const solid = kernel.makeSphere(params.radius)\n return applyCenter(kernel, solid, params.center)\n}\n\n/**\n * 用 OCCT 直接构造一个圆柱体 Solid(原 brepjs `cylinder(radius, height, {\n * at, centered })` 契约,§4.3 A 决策;与 mesh 路径逐点对齐)。\n *\n * 锚点同旧 `primitiveFns.cylinder`:`at` 是底面轴心(BASE)语义(默认\n * [0,0,0]),OCCT makeCylinder 原生从 z=0 沿 +Z 建高 → 无需重居中;`centered:true`\n * 指底面沿轴下移 −h/2(无 at 时居中到原点;与 `at` 同给时以 `at` 为中心)。\n */\nfunction cylinderToCadSolid(kernel: BrepEngineApi, params: CylinderParams): BrepHandle {\n const solid = kernel.makeCylinder(params.radius, params.height)\n const baseX = params.at?.[0] ?? 0\n const baseY = params.at?.[1] ?? 0\n const baseZ = (params.at?.[2] ?? 0) - (params.centered === true ? params.height / 2 : 0)\n if (baseX !== 0 || baseY !== 0 || baseZ !== 0) {\n const translated = kernel.translate(solid, baseX, baseY, baseZ)\n kernel.release(solid)\n return translated\n }\n return solid\n}\n\n/**\n * 用 OCCT 直接构造一个圆锥体 Solid(原 brepjs `cone(bottomRadius, topRadius,\n * height, { at, centered })` 契约,§4.1 P 决策;与 mesh 路径逐点对齐)。\n *\n * 锚点同旧 `primitiveFns.cone`:`at` 是底面轴心(BASE)语义(默认\n * [0,0,0]),OCCT makeCone 原生从 z=0 沿 +Z 建高 → 无需重居中;`centered:true`\n * 指底面沿轴下移 −h/2(无 at 时居中到原点;与 `at` 同给时以 `at` 为中心)。\n */\nfunction coneToCadSolid(kernel: BrepEngineApi, params: ConeParams): BrepHandle {\n const solid = kernel.makeCone(params.radiusBottom, params.radiusTop, params.height)\n const baseX = params.at?.[0] ?? 0\n const baseY = params.at?.[1] ?? 0\n const baseZ = (params.at?.[2] ?? 0) - (params.centered === true ? params.height / 2 : 0)\n if (baseX !== 0 || baseY !== 0 || baseZ !== 0) {\n const translated = kernel.translate(solid, baseX, baseY, baseZ)\n kernel.release(solid)\n return translated\n }\n return solid\n}\n\n/**\n * 用 OCCT 从 2D 梯形轮廓拉伸构造楔形体 Solid。\n *\n * 支持全参数(width/height/angle/length),向后兼容旧式 { size: number }。\n *\n * 参数(来自 WedgePanel.buildWedgeGeometry):\n * - 底边宽度 width(沿 Y)\n * - 高度 height(沿 Z)\n * - 底边与斜边的夹角 angleDeg\n * - 拉伸总长 length(沿 X,从 -length/2 到 +length/2)\n *\n * 构造步骤:\n * 1. 在 YZ 平面创建梯形 wire(4 个顶点,4 条边)\n * 2. 从 wire 创建 planar face\n * 3. 沿 X 轴拉伸\n * 4. 平移使 X 方向居中\n */\nfunction wedgeToCadSolid(kernel: BrepEngineApi, params: WedgeParams): BrepHandle {\n const width = params.width // 底边长度(沿 Y)\n const height = params.height // 梯形高(沿 Z)\n const angleDeg = params.angle // 底边与斜边的夹角\n const length = params.length // 拉伸总长(沿 X)\n const angleRad = (angleDeg * Math.PI) / 180\n const halfExtrude = length / 2\n const hw = width / 2\n\n // 上边半宽 = 底边半宽 - 高 / tan(角度)\n const halfTopWidth = Math.max(0, hw - height / Math.tan(angleRad))\n\n // 在 YZ 平面创建梯形 wire(X=0)。顶边塌缩(halfTopWidth≈0,斜坡已在宽度内到顶)\n // 时退化为三角棱柱——不能再保留零长顶边(两个重合顶点会让 OCCT makeLineEdge\n // 报 CONSTRUCTION_FAILED,即 P23 实测的 wedge 退化参数失败)。\n const edges: BrepHandle[] = []\n if (halfTopWidth > 1e-12) {\n // 梯形:底边 (±hw,0) + 上边 (±halfTopWidth,height)\n edges.push(\n kernel.makeLineEdge({ x: 0, y: -hw, z: 0 }, { x: 0, y: hw, z: 0 }),\n kernel.makeLineEdge({ x: 0, y: hw, z: 0 }, { x: 0, y: halfTopWidth, z: height }),\n kernel.makeLineEdge({ x: 0, y: halfTopWidth, z: height }, { x: 0, y: -halfTopWidth, z: height }),\n kernel.makeLineEdge({ x: 0, y: -halfTopWidth, z: height }, { x: 0, y: -hw, z: 0 }),\n )\n } else {\n // 三角棱柱:(−hw,0) → (hw,0) → (0,height)\n edges.push(\n kernel.makeLineEdge({ x: 0, y: -hw, z: 0 }, { x: 0, y: hw, z: 0 }),\n kernel.makeLineEdge({ x: 0, y: hw, z: 0 }, { x: 0, y: 0, z: height }),\n kernel.makeLineEdge({ x: 0, y: 0, z: height }, { x: 0, y: -hw, z: 0 }),\n )\n }\n\n const wire = kernel.makeWire(edges)\n const face = kernel.makeFace(wire)\n const extruded = kernel.extrude(face, 2 * halfExtrude, 0, 0)\n // 平移使 X 方向居中\n const centered = kernel.translate(extruded, -halfExtrude, 0, 0)\n\n // 释放中间句柄\n for (const e of edges) kernel.release(e)\n kernel.release(wire)\n kernel.release(face)\n kernel.release(extruded)\n\n return applyCenter(kernel, centered, params.center)\n}\n\n// ─── 统一入口 ───\n\n/**\n * Conversion result: the CAD solid handle and the construction path used.\n */\nexport interface PrimitiveToBrepResult {\n /** CAD solid handle (the caller is responsible for releasing it). */\n solid: BrepHandle\n /** The construction path used. */\n path: 'primitive' | 'mesh'\n /** The primitive type. */\n type: PrimitiveType | 'screw' | 'text'\n}\n\n/** Union type of the primitive parameter objects. */\nexport type PrimitiveParams = BoxParams | SphereParams | CylinderParams | ConeParams | WedgeParams\n\n/**\n * 将旧的 size 数字转换为对应类型的完整 params(向后兼容)。\n *\n * - cube: { size: size }\n * - wedge: { width: size, height: size/2, angle: 60, length: 50 }\n * - sphere: { radius: size / 2 }\n * - cylinder: { radius: size / 2, height: size }\n * - cone: { radiusBottom: size / 2, radiusTop: 0, height: size }\n */\nfunction sizeToParams(type: PrimitiveType | 'screw' | 'text', size: number): PrimitiveParams {\n switch (type) {\n case 'cube':\n case 'box':\n return { width: size, depth: size, height: size }\n case 'sphere':\n return { radius: size / 2 }\n case 'cylinder':\n return { radius: size / 2, height: size }\n case 'cone':\n return { radiusBottom: size / 2, radiusTop: 0, height: size }\n case 'wedge':\n return { width: size, height: size / 2, angle: 60, length: 50 }\n default:\n throw new Error(`sizeToParams does not support primitive type \"${type}\" (use geometry data)`)\n }\n}\n\n/**\n * Convert a project primitive to an OCCT CAD solid.\n *\n * - cube, sphere, cylinder, cone, wedge: constructed directly with OCCT (exact BREP)\n * - screw, text: use the mesh reconstruction path (faceted BREP)\n *\n * @param kernel - the initialized OCCT kernel.\n * @param type - the primitive type.\n * @param params - a full parameter object (BoxParams etc.), or a size number (backwards-compatible, default 20mm).\n * @returns the CAD solid plus path information.\n */\nexport function primitiveToBrepSolid(\n kernel: BrepEngineApi,\n type: PrimitiveType | 'screw' | 'text',\n params?: PrimitiveParams | number,\n): PrimitiveToBrepResult {\n const fullParams = typeof params === 'number' || params === undefined\n ? sizeToParams(type, params ?? 20)\n : params\n\n switch (type) {\n case 'cube':\n case 'box':\n return { solid: cubeToCadSolid(kernel, fullParams as BoxParams), path: 'primitive', type }\n\n case 'sphere':\n return { solid: sphereToCadSolid(kernel, fullParams as SphereParams), path: 'primitive', type }\n\n case 'cylinder':\n return { solid: cylinderToCadSolid(kernel, fullParams as CylinderParams), path: 'primitive', type }\n\n case 'cone':\n return { solid: coneToCadSolid(kernel, fullParams as ConeParams), path: 'primitive', type }\n\n case 'wedge':\n return { solid: wedgeToCadSolid(kernel, fullParams as WedgeParams), path: 'primitive', type }\n\n case 'screw':\n case 'text': {\n // Mesh 重建路径:从 THREE.js 几何体提取网格数据\n // 对于 screw/text,调用方应使用 geometryToBrepSolid\n throw new Error(\n `${type} requires geometry data — use geometryToBrepSolid() instead`,\n )\n }\n\n default:\n throw new Error(`Unsupported primitive type: ${type}`)\n }\n}\n\n/**\n * Create a CAD solid from a Shape via the mesh reconstruction path.\n *\n * Suitable for complex shapes that cannot be constructed directly\n * (screw, text, SVG extrusion, etc.).\n *\n * @param kernel - the initialized OCCT kernel.\n * @param shape - the mesh Shape.\n * @returns the CAD solid plus path information.\n */\nexport function geometryToBrepSolid(\n kernel: BrepEngineApi,\n shape: Shape,\n): PrimitiveToBrepResult {\n const { positions, indices } = extractMeshData(shape)\n const solid = reconstructSolidFromMesh(kernel, positions, indices)\n return { solid, path: 'mesh', type: 'screw' }\n}\n\n/**\n * Export a CAD solid as a BREP-format STEP string.\n *\n * OCCT's exportStep produces a standard ISO-10303-21 STEP file using\n * ADVANCED_FACE with exact surfaces (PLANE, CYLINDRICAL_SURFACE, etc.)\n * rather than a faceted representation (POLYGONAL_FACE).\n *\n * @param kernel - the initialized OCCT kernel.\n * @param solid - the CAD solid handle.\n * @returns the STEP file content as a string.\n */\nexport function brepSolidToStep(kernel: BrepEngineApi, solid: BrepHandle): string {\n return kernel.exportStep(solid)\n}\n\n/**\n * Convenience method: convert a primitive directly to a STEP string.\n *\n * Internally calls primitiveToBrepSolid + brepSolidToStep and manages the\n * handle lifecycle automatically.\n *\n * @param kernel - the initialized OCCT kernel.\n * @param type - the primitive type.\n * @param params - a full parameter object, or a size number (backwards-compatible, default 20mm).\n * @returns the STEP file content string plus the path used.\n */\nexport function primitiveToBrepStep(\n kernel: BrepEngineApi,\n type: PrimitiveType,\n params?: PrimitiveParams | number,\n): { step: string; path: 'primitive' | 'mesh' } {\n const result = primitiveToBrepSolid(kernel, type, params)\n try {\n const step = brepSolidToStep(kernel, result.solid)\n return { step, path: result.path }\n } finally {\n kernel.release(result.solid)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/primitives/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE/G,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGhG,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,gFAAgF;AAChF,OAAO,EACL,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAC1D,eAAe,EAAE,mBAAmB,GACrC,MAAM,mBAAmB,CAAA;AAG1B,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA","sourcesContent":["/**\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/primitives/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE/G,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGhG,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,gFAAgF;AAChF,OAAO,EACL,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAC1D,eAAe,EAAE,mBAAmB,GACrC,MAAM,mBAAmB,CAAA;AAG1B,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA","sourcesContent":["/**\n * primitives — mesh geometry primitives, screw generators, and BREP bridges.\n *\n * Public API surface aggregated for umbrella `export *` consumption.\n * Internal-only symbols (GeneratorType, AnyPrimitiveType, PRIMITIVE_COLORS,\n * PrimitiveGeometryData, PrimitiveRecord, DEFAULT_SEGMENTS) are NOT re-exported.\n */\n\n// mesh-primitives\nexport { mergeBufferGeometries, makePrimitiveGeo, DEFAULT_SIZE, applyPrimitiveOffset } from './mesh-primitives'\n\n// screw\nexport { makeScrew } from './screw/screw'\n\n// screw-db\nexport { getScrewSpec, getScrewSpecs, threadToPitchMm, SCREW_HEAD_DIMS } from './screw/screw-db'\nexport type { ScrewParams, ScrewSpec, ScrewSystem } from './screw/screw-db'\n\n// parse-svg-size\nexport { parseSvgNaturalSize } from './parse-svg-size'\n\n// brep-primitives (PrimitiveParams from here is the union type, NOT types.ts's)\nexport {\n extractMeshData, primitiveToBrepSolid, geometryToBrepSolid,\n brepSolidToStep, primitiveToBrepStep,\n} from './brep-primitives'\nexport type { PrimitiveToBrepResult, PrimitiveParams } from './brep-primitives'\n\n// text/cjk-font\nexport { loadSystemCjkFont, containsCjk, isCjkChar } from './text/cjk-font'\nexport type { CjkFontResult } from './text/cjk-font'\n\n// types (note: PrimitiveParams is NOT re-exported from here to avoid clash\n// with brep-primitives' PrimitiveParams union type)\nexport type {\n PrimitiveType, PrimitiveParamsRecord, PrimitiveArgsRecord, PrimitiveMeta,\n} from './types'\nexport { nextPrimitiveColor } from './types'\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { Shape } from '../mesh/types.js';
|
|
2
2
|
import type { PrimitiveType } from './types.js';
|
|
3
3
|
/** Default size in mm used when no explicit size is given. */
|
|
4
4
|
export declare const DEFAULT_SIZE = 20;
|
|
@@ -7,16 +7,16 @@ export declare const DEFAULT_SEGMENTS = 32;
|
|
|
7
7
|
/**
|
|
8
8
|
* Build the base geometry for a primitive type, centred on the origin.
|
|
9
9
|
*
|
|
10
|
-
* Returns a
|
|
10
|
+
* Returns a Shape in Z-up coordinates. Cube/sphere/cylinder/cone
|
|
11
11
|
* geometry is rotated from Y-up to Z-up; the wedge is constructed directly
|
|
12
12
|
* in Z-up.
|
|
13
13
|
*
|
|
14
14
|
* @param type - the primitive type to build.
|
|
15
15
|
* @param size - nominal size in mm (defaults to DEFAULT_SIZE).
|
|
16
16
|
* @param segments - angular/height resolution for curved primitives (defaults to DEFAULT_SEGMENTS).
|
|
17
|
-
* @returns the primitive
|
|
17
|
+
* @returns the primitive Shape.
|
|
18
18
|
*/
|
|
19
|
-
export declare function makePrimitiveGeo(type: PrimitiveType, size?: number, segments?: number):
|
|
19
|
+
export declare function makePrimitiveGeo(type: PrimitiveType, size?: number, segments?: number): Shape;
|
|
20
20
|
/**
|
|
21
21
|
* Translate geometry to the given world coordinates.
|
|
22
22
|
* The geometry should already be centred on the origin (makePrimitiveGeo /
|
|
@@ -25,14 +25,14 @@ export declare function makePrimitiveGeo(type: PrimitiveType, size?: number, seg
|
|
|
25
25
|
* @param geo - the geometry to translate.
|
|
26
26
|
* @param x - the X offset in mm.
|
|
27
27
|
* @param y - the Y offset in mm.
|
|
28
|
+
* @returns a new translated Shape.
|
|
28
29
|
*/
|
|
29
|
-
export declare function applyPrimitiveOffset(geo:
|
|
30
|
+
export declare function applyPrimitiveOffset(geo: Shape, x: number, y: number): Shape;
|
|
30
31
|
/**
|
|
31
|
-
* Merge multiple
|
|
32
|
-
* Automatically handles a mix of indexed and non-indexed inputs.
|
|
32
|
+
* Merge multiple Shapes into a single indexed Shape.
|
|
33
33
|
*
|
|
34
|
-
* @param geometries - the
|
|
35
|
-
* @returns a new
|
|
34
|
+
* @param geometries - the shapes to merge.
|
|
35
|
+
* @returns a new Shape containing the combined vertices and triangles.
|
|
36
36
|
*/
|
|
37
|
-
export declare function mergeBufferGeometries(geometries:
|
|
37
|
+
export declare function mergeBufferGeometries(geometries: Shape[]): Shape;
|
|
38
38
|
//# sourceMappingURL=mesh-primitives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-primitives.d.ts","sourceRoot":"","sources":["../../src/primitives/mesh-primitives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mesh-primitives.d.ts","sourceRoot":"","sources":["../../src/primitives/mesh-primitives.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,8DAA8D;AAC9D,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAKlC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,KAAK,CA0EP;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,KAAK,EACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,KAAK,CAEP;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,CAEhE"}
|