Compute (and cache) the axis-aligned bounding box of all curves.
Get the start point of the first curve.
Get the end point of the last curve.
Return a multi-line string representation for debugging.
Return a deep copy of this blueprint.
Release WASM resources held by the underlying curves and bounding box.
Test whether this blueprint's curves intersect with another blueprint's curves.
Check whether the first and last points coincide (the profile is closed).
Test whether a 2D point lies inside this closed blueprint.
Uses ray-casting (intersection counting) against a segment from the point to a location guaranteed to be outside the bounding box.
true if the point is strictly inside the blueprint.
Cut a prism-shaped hole through a solid along a face using this blueprint.
The solid to punch through.
The face on which the hole profile is placed.
Optional hole parameters.
OptionaldraftAngle?: numberTaper angle in degrees (0 = straight hole).
Optionalheight?: number | nullHole depth; null (default) cuts through the entire solid.
Optionalorigin?: PointInput | nullUV origin on the face for the blueprint placement.
The modified shape with the hole removed.
Map this 2D blueprint onto a 3D face's UV surface.
Sketch data containing the wire mapped onto the face.
Project this 2D blueprint onto a 3D plane, producing a wire and metadata.
OptionalinputPlane: Plane | PlaneNameNamed plane ("XY", "XZ", etc.) or a custom Plane.
Optionalorigin: number | PointInputOrigin offset; a number sets the offset along the plane normal.
Sketch data containing the projected wire and default orientation.
Create a face on a target face's surface defined by this blueprint's profile.
The face whose surface the sub-face lies on.
Optionalorigin: PointInput | nullOptional UV origin offset (defaults to the face center).
A new Face bounded by the blueprint's profile.
Render a complete SVG document string for this blueprint.
Extra padding around the bounding box in drawing units.
Wrap the SVG path data in a <path> element string.
Convert the blueprint to an SVG path d attribute string.
Return the SVG path d strings for this blueprint as an array.
Compute the SVG viewBox attribute for this blueprint.
Extra padding around the bounding box in drawing units.
Translate the blueprint by separate x/y distances or a vector.
A new translated Blueprint.
Represent a closed or open 2D profile as an ordered list of curves.
A Blueprint is the fundamental 2D drawing primitive: it stores an ordered sequence of Curve2D segments that together describe a planar profile. Blueprints can be transformed (translate, rotate, scale, mirror, stretch), projected onto 3D planes or faces, combined with boolean operations, and serialized to SVG.
Create instances via BlueprintSketcher rather than calling the constructor directly.
Example
See