@pixerate/editor 0.38.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { C as CanvasGradientDef, A as AffineMatrix, B as BezierPathInput, a as BezierPath, S as SvgGradientDef, b as StrokeJoin, c as StrokeCap, d as BezierSegment, P as PlanarMap, e as PathfinderOperation, f as PathfinderShape } from '../pathfinder-fLmmFOJw.js';
1
+ import { C as CanvasGradientDef, A as AffineMatrix, B as BezierPathInput, a as BezierPath, S as SvgGradientDef, b as StrokeJoin, c as StrokeCap, d as BezierSegment, P as PlanarMap, e as PathfinderOperation, f as PathfinderShape } from '../pathfinder-D98S2lV5.js';
2
2
  import { P as Point } from '../types-BFkYA4eF.js';
3
3
  import { H as HistoryManager } from '../HistoryManager-DWSLd6Tf.js';
4
4
  import { C as CommandSpec } from '../registry-DhVUZioj.js';
@@ -952,6 +952,21 @@ interface VectorStrokeSpot {
952
952
  left: Vec2;
953
953
  right: Vec2;
954
954
  }
955
+ /**
956
+ * The width point being edited numerically (double-click with the width tool): `index` is the
957
+ * point's, or null for a new point at `t` (a double-click on a stroke away from its points).
958
+ * `left` / `right` are side widths in document units (how far the stroke reaches on each side),
959
+ * `point` is where it sits on the path, in document space.
960
+ */
961
+ interface VectorWidthPointEdit {
962
+ nodeId: string;
963
+ subpath: number;
964
+ index: number | null;
965
+ t: number;
966
+ left: number;
967
+ right: number;
968
+ point: Vec2;
969
+ }
955
970
  /** A key press as the controller needs it. */
956
971
  interface VectorKeyInput extends VectorModifiers {
957
972
  /** `KeyboardEvent.key`. */
@@ -1028,7 +1043,7 @@ type VectorInteraction = {
1028
1043
  } | {
1029
1044
  type: 'width';
1030
1045
  ref: VectorWidthPointRef;
1031
- mode: 'width' | 'move';
1046
+ mode: 'width' | 'move' | 'copy';
1032
1047
  width: number;
1033
1048
  } | {
1034
1049
  type: 'pen';
@@ -1044,8 +1059,10 @@ interface VectorEditorState {
1044
1059
  selection: readonly string[];
1045
1060
  /** Selected anchors (direct tool). */
1046
1061
  selectedAnchors: readonly VectorAnchorRef[];
1047
- /** The selected width point (width tool); Delete removes it. */
1048
- selectedWidthPoint: VectorWidthPointRef | null;
1062
+ /** The selected width points (width tool, all on one path); Delete removes them. */
1063
+ selectedWidthPoints: readonly VectorWidthPointRef[];
1064
+ /** The width point open for numeric editing (double-click with the width tool), if any. */
1065
+ widthPointEdit: VectorWidthPointEdit | null;
1049
1066
  /** The path whose anchors are being edited, if any. */
1050
1067
  editingId: string | null;
1051
1068
  /** Axis-aligned bounds of the selected nodes in document units. */
@@ -1104,6 +1121,8 @@ interface VectorShapeBuilderResult {
1104
1121
  merged: string | null;
1105
1122
  faces: number;
1106
1123
  lines: number;
1124
+ /** Outline edges erased (cut out of the paths they lie on). */
1125
+ edges: number;
1107
1126
  }
1108
1127
  /** A face of the Shape Builder map (document units). */
1109
1128
  interface VectorShapeBuilderFace {
@@ -1209,7 +1228,7 @@ interface VectorWidthHandle {
1209
1228
  * vectorcraft `crates/tools/src/distort/width.rs` (MIT OR Apache-2.0, see
1210
1229
  * THIRD_PARTY_NOTICES.md), as are the `width` drag and hover below.
1211
1230
  */
1212
- declare function getVectorWidthHandles(state: Pick<VectorEditorState, 'document' | 'selection' | 'tool' | 'hover' | 'interaction' | 'selectedWidthPoint'>): VectorWidthHandle[];
1231
+ declare function getVectorWidthHandles(state: Pick<VectorEditorState, 'document' | 'selection' | 'tool' | 'hover' | 'interaction' | 'selectedWidthPoints'>): VectorWidthHandle[];
1213
1232
  /** Looks up an anchor (positions in its node's own space). */
1214
1233
  declare function getAnchor(doc: VectorDocument, ref: VectorAnchorRef): VectorAnchor | undefined;
1215
1234
  /** An anchor with its position and handles in document space (its node's transforms applied). */
@@ -1280,7 +1299,8 @@ declare class VectorEditorController {
1280
1299
  private doc;
1281
1300
  private selection;
1282
1301
  private anchors;
1283
- private widthPoint;
1302
+ private widthPoints;
1303
+ private widthEdit;
1284
1304
  private editingId;
1285
1305
  private pen;
1286
1306
  private tool;
@@ -1432,8 +1452,49 @@ declare class VectorEditorController {
1432
1452
  } | null, options?: {
1433
1453
  ids?: readonly string[];
1434
1454
  }): VectorActionResult;
1435
- /** Removes one width point of a path's profile (the width tool's Delete). */
1455
+ /** Removes one width point of a path's profile. */
1436
1456
  removeWidthPoint(ref: Pick<VectorWidthPointRef, 'nodeId' | 'index'>): VectorActionResult;
1457
+ /** Removes width points (default: the selected ones — the width tool's Delete), as one undo step. */
1458
+ removeWidthPoints(refs?: readonly Pick<VectorWidthPointRef, 'nodeId' | 'index'>[]): VectorActionResult;
1459
+ /** Selects width points (width tool); points on other paths than the first are dropped. */
1460
+ selectWidthPoints(refs: readonly VectorWidthPointRef[]): void;
1461
+ /**
1462
+ * Sets one width point numerically: `index` names an existing point of path `nodeId`, null
1463
+ * (or left out) adds one at `values.t`. `left` / `right` are side widths in document units
1464
+ * (how far the stroke reaches on each side of the path), `t` the position along each subpath
1465
+ * (0–1). A point moved onto another one's `t` makes a step there. Selects the point and
1466
+ * refreshes an open width-point editor; one undo step. Ported from ArtCraft vectorcraft's
1467
+ * Width Point Edit dialog (`crates/tools/src/distort/width.rs`, MIT OR Apache-2.0).
1468
+ */
1469
+ setWidthPoint(target: {
1470
+ nodeId: string;
1471
+ index?: number | null;
1472
+ }, values: {
1473
+ t?: number;
1474
+ left?: number;
1475
+ right?: number;
1476
+ }): VectorActionResult;
1477
+ /**
1478
+ * Opens the width-point editor (what a double-click with the width tool does) on a width
1479
+ * point, or on a spot of a stroke (`t` without `index`: applying it adds a point there).
1480
+ * Returns false when the path has no visible stroke.
1481
+ */
1482
+ openWidthPointEdit(target: {
1483
+ nodeId: string;
1484
+ subpath?: number;
1485
+ index?: number | null;
1486
+ t?: number;
1487
+ }): boolean;
1488
+ /** Closes the width-point editor without changing anything. */
1489
+ closeWidthPointEdit(): void;
1490
+ /** Applies `values` to the width point being edited (see `setWidthPoint`) and closes the editor. */
1491
+ commitWidthPointEdit(values: {
1492
+ t?: number;
1493
+ left?: number;
1494
+ right?: number;
1495
+ }): VectorActionResult;
1496
+ /** The editor's view of point `index` (or of the stroke at `t` when index is null) of `nodeId`. */
1497
+ private widthEditFor;
1437
1498
  /**
1438
1499
  * Sets the live corner radius (and optionally the kind) of anchors: `refs`, else the selected
1439
1500
  * anchors (direct tool), else every anchor of the `ids` / selected paths. Radius 0 makes the
@@ -1584,8 +1645,11 @@ declare class VectorEditorController {
1584
1645
  * Shape Builder gesture along `points` (document units; one point is a click) over the faces
1585
1646
  * the selected (or given) paths make. Merges the faces touched into one shape styled like the
1586
1647
  * top-most shape over the first face (the current fill for a face only outlines enclose);
1587
- * with `erase` deletes them, and the pieces of unfilled open paths within `tolerance`. Every
1588
- * shape covering a touched face loses that area. One undo step.
1648
+ * with `erase` deletes them, the pieces of unfilled open paths and the edges of other outlines
1649
+ * (cut where paths meet) within `tolerance`: a deleted edge opens a closed subpath there,
1650
+ * splits an open one or takes a subpath it runs all the way round, and edges bounding a face
1651
+ * deleted in the same gesture go with the face. Every shape covering a touched face loses
1652
+ * that area; paths keep their own transforms. One undo step.
1589
1653
  */
1590
1654
  shapeBuilder(points: readonly Vec2[], options?: {
1591
1655
  ids?: readonly string[];
@@ -1759,9 +1823,16 @@ declare class VectorEditorController {
1759
1823
  private widthView;
1760
1824
  /** The width point centre or side end under `screen` (width tool). */
1761
1825
  private hitWidthHandle;
1826
+ private hitWidthHandleIn;
1762
1827
  /** The nearest stroked, unlocked visible path whose stroke is under document point `p` (width tool). */
1763
1828
  private strokeSpotAt;
1764
1829
  private downWidth;
1830
+ /**
1831
+ * A width-tool slide to `t` on the dragged point's subpath lands exactly on another width
1832
+ * point (not `skip`) within the pick distance on screen: dropping a point onto another makes
1833
+ * a discontinuous point (two points at one `t`, the width steps there).
1834
+ */
1835
+ private snapWidthT;
1765
1836
  /** The nearest outline point of any visible, unlocked path within the pick distance of document point `p`. */
1766
1837
  private nearestOutline;
1767
1838
  private sameHover;
@@ -1786,7 +1857,10 @@ declare class VectorEditorController {
1786
1857
  pointerLeave(): void;
1787
1858
  /** Abandons the drag in progress (Escape, lost capture). */
1788
1859
  cancelDrag(): void;
1789
- /** Double click: select tool enters path editing, direct tool toggles an anchor or adds one. */
1860
+ /**
1861
+ * Double click: select tool enters path editing, direct tool toggles an anchor or adds one,
1862
+ * width tool opens the width-point editor (`widthPointEdit`).
1863
+ */
1790
1864
  doubleClick(screen: Vec2): void;
1791
1865
  /**
1792
1866
  * Handles editor shortcuts. Returns true when the key was used (call `preventDefault`).
@@ -1975,18 +2049,24 @@ interface VectorOverlayRenderData {
1975
2049
  } | null;
1976
2050
  /**
1977
2051
  * Shape Builder and paint bucket highlight (screen space): `faces` are filled paths (fill
1978
- * them translucent and outline them), `lines` are line pieces an erase deletes, `trail` is
1979
- * the drag's polyline. `mode` is `merge`, `erase` (Alt) or `fill` (paint bucket).
2052
+ * them translucent and outline them), `hatches` the 45° hatch lines over each face
2053
+ * (`hatchPath`, a few pixels apart; merge and erase only, empty strings for the paint
2054
+ * bucket: stroke them over the translucent fill), `lines` are the line pieces and outline
2055
+ * edges an erase deletes, `trail` is the drag's polyline. `mode` is `merge`, `erase` (Alt)
2056
+ * or `fill` (paint bucket).
1980
2057
  */
1981
2058
  builder: {
1982
2059
  mode: 'merge' | 'erase' | 'fill';
1983
2060
  faces: string[];
2061
+ hatches: string[];
1984
2062
  lines: string[];
1985
2063
  trail: string | null;
1986
2064
  } | null;
1987
2065
  /** A short status, e.g. "W 120 × H 80" or "45°". */
1988
2066
  status: string | null;
1989
2067
  }
2068
+ /** Distance between the Shape Builder's hatch lines over a face (screen pixels). */
2069
+ declare const VECTOR_BUILDER_HATCH_GAP = 6;
1990
2070
  /**
1991
2071
  * The document layer. Render the nodes inside `<g transform={transform}>` and `defs` in a
1992
2072
  * `<defs>` block. Pass a unique `idPrefix` when several editors share a page.
@@ -2017,6 +2097,8 @@ declare const VECTOR_OVERLAY_THEME: {
2017
2097
  /** Shape Builder faces and line pieces an Alt gesture deletes. */
2018
2098
  readonly builderErase: "#ef4444";
2019
2099
  readonly builderEraseFill: "rgba(239, 68, 68, 0.22)";
2100
+ /** Opacity of the hatch lines over Shape Builder faces (drawn in the face's outline colour). */
2101
+ readonly builderHatchOpacity: 0.6;
2020
2102
  };
2021
2103
  /** SVG path data of the diamond a width point is drawn with (screen pixels). */
2022
2104
  declare function vectorDiamondPath(x: number, y: number, r?: number): string;
@@ -2391,7 +2473,12 @@ declare function hasStrokeExtras(style: VectorStyle): boolean;
2391
2473
  * uniform width, the variable-width outline (`variableStrokeOutline`) for a profiled one.
2392
2474
  */
2393
2475
  declare function vectorStrokeLineArea(parts: Pick<VectorStrokeParts, 'line' | 'drawWidth'>, style: VectorStyle, tolerance?: number): BezierPath;
2394
- /** The weight of a head: the stroke width times its scale (at least 0.25). A head is 4 weights long and wide. */
2476
+ /**
2477
+ * The weight of a head: the stroke's width just before it times the head's scale (at least
2478
+ * 0.25). A head is 4 weights long and wide. On a variable-width stroke the width there is the
2479
+ * profile's (the mean of its two sides at that end), floored at the stroke width, so a stroke
2480
+ * that tapers to nothing still gets a full-size head and one that swells gets a bigger one.
2481
+ */
2395
2482
  declare function arrowheadWeight(style: VectorStyle, end: 'start' | 'end'): number;
2396
2483
  /** Distance from the tip where the stroke ends, for a stroke whose cap reaches `cap` past its end. */
2397
2484
  declare function arrowheadInset(kind: VectorArrowhead, hw: number, cap: number): number;
@@ -2521,11 +2608,16 @@ declare function vectorPathfinderShape(entry: VectorPathEntry, op: PathfinderOpe
2521
2608
  * in the paint of the area the edge bounds. Never carries the node's id, transform or geometry.
2522
2609
  */
2523
2610
  declare function vectorResultStyle(node: VectorPathNode, paint: VectorPathfinderPaint, edge?: boolean): Omit<VectorPathNode, 'id' | 'subpaths'>;
2524
- /** A piece of an unfilled open path between the points where other paths meet it. */
2611
+ /**
2612
+ * A run of a path between the points where other paths meet it (or it ends): a piece of an
2613
+ * unfilled open path, or an edge of another path's outline.
2614
+ */
2525
2615
  interface VectorBuilderLinePiece {
2526
2616
  path: BezierPath;
2527
2617
  segments: BezierSegment[];
2528
- /** Index of the entry it belongs to. */
2618
+ /** A loop with no junction on it (the whole subpath). */
2619
+ closed: boolean;
2620
+ /** Index of the entry it belongs to (the front-most where outlines coincide). */
2529
2621
  source: number;
2530
2622
  bounds: {
2531
2623
  minX: number;
@@ -2541,33 +2633,57 @@ interface VectorShapeBuilderMap {
2541
2633
  /** Entries with no closed subpath (cutting lines; their pieces can be erased). */
2542
2634
  lines: boolean[];
2543
2635
  pieces: VectorBuilderLinePiece[];
2636
+ /** The edges of the other entries' outlines, cut where paths meet (built on first use: erasing). */
2637
+ readonly edges: VectorBuilderLinePiece[];
2638
+ /** How far an edge may lie from the outline it came from (document units). */
2639
+ tolerance: number;
2544
2640
  }
2545
2641
  /** What a Shape Builder gesture touches at a point. */
2546
2642
  type VectorBuilderHit = {
2547
2643
  face: number;
2548
2644
  } | {
2549
2645
  line: number;
2646
+ } | {
2647
+ edge: number;
2550
2648
  };
2551
- /** The faces and line pieces a gesture touched, in the order touched. */
2649
+ /** The faces, line pieces and edges a gesture touched, in the order touched. */
2552
2650
  interface VectorBuilderTouched {
2553
2651
  faces: number[];
2554
2652
  lines: number[];
2653
+ edges: number[];
2555
2654
  }
2556
2655
  /**
2557
2656
  * The Shape Builder map of `entries` (bottom to top). Filled open subpaths that enclose an area
2558
2657
  * are closed. Null when nothing can be mapped.
2559
2658
  */
2560
2659
  declare function vectorShapeBuilderMap(entries: readonly VectorPathEntry[]): VectorShapeBuilderMap | null;
2561
- /** The face under `p`, or with `lineTolerance` (erasing) first the line piece that close. */
2660
+ /**
2661
+ * The face under `p`, or with `lineTolerance` (erasing) first the nearer of the line piece and
2662
+ * the outline edge that close.
2663
+ */
2562
2664
  declare function vectorShapeBuilderHit(m: VectorShapeBuilderMap, p: Vec2, lineTolerance?: number | null): VectorBuilderHit | null;
2563
2665
  /** Points along a polyline no more than `step` apart (the pointer's path through faces). */
2564
2666
  declare function samplePolyline(points: readonly Vec2[], step: number): Vec2[];
2565
2667
  /** Adds what a point hits to `touched` (each face or piece once). */
2566
2668
  declare function addBuilderHit(touched: VectorBuilderTouched, hit: VectorBuilderHit | null): boolean;
2567
- /** What becomes of one entry: unchanged (absent), removed (`null`), or new outlines (document space). */
2669
+ /**
2670
+ * The edges a gesture deletes: those it touched that bound none of the faces it touched (an edge
2671
+ * of a deleted or merged face goes with the face, so an erase drag that crosses an edge into a
2672
+ * face deletes the face).
2673
+ */
2674
+ declare function vectorBuilderErasedEdges(m: VectorShapeBuilderMap, touched: VectorBuilderTouched): number[];
2675
+ /**
2676
+ * What becomes of one entry: unchanged (absent), removed (`null`), or new outlines (document
2677
+ * space). `fill`: what is left of its area, filled non-zero (subpaths an erased edge opened stay
2678
+ * open); `outline`: its own outline with erased edges cut out, its fill rule kept; `pieces`: the
2679
+ * pieces of a cutting line that stay, each its own path.
2680
+ */
2568
2681
  type VectorBuilderReplacement = {
2569
2682
  kind: 'fill';
2570
2683
  path: BezierPath;
2684
+ } | {
2685
+ kind: 'outline';
2686
+ path: BezierPath;
2571
2687
  } | {
2572
2688
  kind: 'pieces';
2573
2689
  paths: BezierPath[];
@@ -2584,7 +2700,8 @@ interface VectorShapeBuilderPlan {
2584
2700
  /**
2585
2701
  * What a gesture does: merging (or with `erase`, deleting) the touched faces takes them away
2586
2702
  * from every shape covering them; line pieces touched (erasing) or lying between touched faces
2587
- * go; merging adds the union of the faces as a new shape styled like the top-most shape over the
2703
+ * go; erased edges (`vectorBuilderErasedEdges`) are cut out of every outline they lie on;
2704
+ * merging adds the union of the faces as a new shape styled like the top-most shape over the
2588
2705
  * first face touched (or, for a face only outlines enclose, the top-most shape with the current
2589
2706
  * fill).
2590
2707
  */
@@ -2595,4 +2712,4 @@ declare function planShapeBuilder(m: VectorShapeBuilderMap, touched: VectorBuild
2595
2712
  */
2596
2713
  declare function vectorFillMap(doc: VectorDocument, gap?: number): PlanarMap | null;
2597
2714
 
2598
- export { type AddVectorNodeOptions, AffineMatrix, DEFAULT_VECTOR_PATH_EDIT, DEFAULT_VECTOR_SNAP, IDENTITY_MATRIX, KAPPA, LazyMouse, type NearestSegment, type RecognizeInkOptions, SvgGradientDef, VECTOR_ARROWHEADS, VECTOR_ARROWHEAD_LABELS, VECTOR_CLIPBOARD_TYPE, VECTOR_CONSTRUCTION_ANGLES, VECTOR_CORNER_KINDS, VECTOR_CORNER_KIND_LABELS, VECTOR_CORNER_WIDGET_INSET, VECTOR_EDIT_TOGGLES, VECTOR_FILL_GAP, VECTOR_INK_MAX_CORNERS, VECTOR_OVERLAY_THEME, VECTOR_PATHFINDER_ACTIONS, VECTOR_PATHFINDER_LABELS, VECTOR_PATHFINDER_OPERATIONS, VECTOR_PATH_ACTIONS, VECTOR_PENCIL_STRING_PX, VECTOR_PRESSURE_NOMINAL, VECTOR_ROTATE_HANDLE_OFFSET, VECTOR_STROKE_ALIGN_LABELS, VECTOR_STYLE_KEYS, VECTOR_TOOLS, VECTOR_TOOL_GLYPHS, VECTOR_TOOL_SHORTCUTS, VECTOR_TRANSFORM_HANDLES, VECTOR_WIDTH_PRESETS, VECTOR_WIDTH_PRESET_IDS, VECTOR_WIDTH_PROFILE_MAX_POINTS, VECTOR_WIDTH_PROFILE_MAX_SCALE, VECTOR_WIDTH_SAME_T, type VariableStrokeOptions, type Vec2, type VectorActionResult, type VectorAlign, type VectorAnchor, type VectorAnchorRef, type VectorAnchorType, type VectorArrange, type VectorArrowAlign, type VectorArrowhead, type VectorArrowheadShape, type VectorAverageAxis, type VectorBooleanOperation, type VectorBounds, type VectorBuilderHit, type VectorBuilderLinePiece, type VectorBuilderPreview, type VectorBuilderReplacement, type VectorBuilderTouched, type VectorCommandOptions, type VectorCorner, type VectorCornerInfo, type VectorCornerKind, type VectorCornerWidget, type VectorDefaults, type VectorDistribute, type VectorDocument, VectorEditorController, type VectorEditorOptions, type VectorEditorState, type VectorFillRule, type VectorGroupNode, type VectorGuideKind, type VectorGuideLabel, type VectorGuideLine, type VectorHandleRef, type VectorHover, type VectorInkShape, type VectorInteraction, type VectorKeyInput, type VectorLineCap, type VectorLineJoin, type VectorMatrix, type VectorModifiers, type VectorNode, type VectorNodeListing, type VectorOverlayRenderData, type VectorPaint, type VectorPathAction, type VectorPathEditOptions, type VectorPathEntry, type VectorPathNode, type VectorPathfinderAction, type VectorPathfinderOperation, type VectorPathfinderPaint, type VectorPointSnap, type VectorPointerInput, type VectorRectSnap, type VectorRenderAnchor, type VectorRenderCornerWidget, type VectorRenderGroup, type VectorRenderGuideLabel, type VectorRenderGuideLine, type VectorRenderHandle, type VectorRenderNode, type VectorRenderPath, type VectorRenderStrokeParts, type VectorRenderWidthPoint, type VectorScaleSnap, type VectorSceneRenderData, type VectorSegmentRef, type VectorSelectionBoxGeometry, type VectorSelectionFrame, type VectorSelectionStyle, type VectorShapeBuilderFace, type VectorShapeBuilderMap, type VectorShapeBuilderPlan, type VectorShapeBuilderResult, type VectorShapeInput, type VectorSnapGuides, type VectorSnapKind, type VectorSnapLeave, type VectorSnapOptions, VectorSnapTargets, type VectorStrokeAlign, type VectorStrokeParts, type VectorStrokeSpot, type VectorStyle, type VectorSubpath, type VectorSvgExportOptions, type VectorSvgImportOptions, type VectorTaperOptions, type VectorTool, type VectorTransformHandle, type VectorViewport, type VectorWaveOptions, type VectorWidthHandle, type VectorWidthPoint, type VectorWidthPointRef, type VectorWidthPreset, type VectorWidthPresetInfo, addBuilderHit, applyMatrix, applyMatrixLinear, applyVectorCornersAttribute, arrowheadInset, arrowheadPath, arrowheadWeight, bendSegment, bezierToSubpaths, boundsFromPoints, boundsIntersect, cloneAnchor, cloneSubpath, cloneVectorDocument, cloneVectorNode, collectPathNodes, constrainToLeave, convertAnchor, cornerBisectorPoint, cornerRadiusChange, cornerSetback, createVectorCommands, curvatureMoveAnchor, cutSubpathAt, dashIntervals, decomposeRigid, effectiveStrokeAlign, ellipseSubpath, eraseFromFill, eraseFromOutline, eraserRegion, expandVectorCorners, expandVectorCornersOf, findVectorNode, fitCornerRadius, generateWidthProfile, getAnchor, getAnchorWorld, getEditablePathIds, getTransformHandlePositions, getVectorCornerWidgets, getVectorOverlayRenderData, getVectorSceneRenderData, getVectorSelectionBoxGeometry, getVectorSelectionFrame, getVectorSelectionStyle, getVectorWidthHandles, getVisibleAnchors, getVisibleHandles, hasPaint, hasStrokeExtras, hasVectorCorners, hitTestVectorNode, hitTestVectorNodes, hitTestVectorStroke, inferAnchorType, insertAnchor, insertWidthPoint, invertMatrix, isClosedBezierShape, isIdentityMatrix, isUniformWidthProfile, isVectorTextTarget, joinSubpaths, knifePath, lineSubpath, locateVectorNode, matrixRotation, mirrorWidthProfile, moveAnchorHandle, multiplyMatrices, nearestSegment, nearestStrokePosition, nextVectorCornerKind, nodeMatrix, parseSvgTransform, parseVectorSvg, planShapeBuilder, polygonSubpath, polylineBounds, pressureWidthProfile, recognizeInkShape, rectSubpath, removeAnchorKeepingShape, removeAnchors, removeAnchorsKeepingShape, removeRedundantPoints, removeWidthPoints, reverseSubpath, reverseWidthProfile, rotateMatrix, roundSubpaths, samplePolyline, sanitizeWidthProfile, scaleFor, scaleMatrix, setAnchorCorner, setSubpathCorners, setWidthPoint, simplifyPolyline, smoothSubpath, splitIntoFaces, splitSubpathAt, starSubpath, strokePositionPoint, strokeWidthProfileOf, subpathEnclosesArea, subpathPointAt, subpathSegment, subpathSegmentCount, subpathsToBezier, taperWaveFactor, toVectorKeyInput, toVectorModifiers, toVectorPointerInput, transformVectorNode, translateAnchor, translateMatrix, unionBounds, variableStrokeOutline, variableStrokeRings, vectorCornerAt, vectorCorners, vectorCornersAttribute, vectorDiamondPath, vectorDocumentToSvg, vectorFillMap, vectorInkShapeName, vectorNodeBounds, vectorNodeRotation, vectorNodeToBezier, vectorPaintToHex, vectorPaintToSvg, vectorParentMatrix, vectorPathData, vectorPathEntries, vectorPathWorldBezier, vectorPathfinderShape, vectorResizeCursor, vectorResultStyle, vectorShapeBuilderHit, vectorShapeBuilderMap, vectorStrokeLineArea, vectorStrokeOutline, vectorStrokeOutlinePath, vectorStrokeParts, vectorStrokeReach, vectorStrokeSvgParts, vectorStrokeWidthGeometry, vectorToolLabel, vectorWorldMatrix, walkVectorNodes, widthProfileAt, widthProfileFromAttribute, widthProfileMaxScale, widthProfilePreset, widthProfilePresetId, widthProfileToAttribute };
2715
+ export { type AddVectorNodeOptions, AffineMatrix, DEFAULT_VECTOR_PATH_EDIT, DEFAULT_VECTOR_SNAP, IDENTITY_MATRIX, KAPPA, LazyMouse, type NearestSegment, type RecognizeInkOptions, SvgGradientDef, VECTOR_ARROWHEADS, VECTOR_ARROWHEAD_LABELS, VECTOR_BUILDER_HATCH_GAP, VECTOR_CLIPBOARD_TYPE, VECTOR_CONSTRUCTION_ANGLES, VECTOR_CORNER_KINDS, VECTOR_CORNER_KIND_LABELS, VECTOR_CORNER_WIDGET_INSET, VECTOR_EDIT_TOGGLES, VECTOR_FILL_GAP, VECTOR_INK_MAX_CORNERS, VECTOR_OVERLAY_THEME, VECTOR_PATHFINDER_ACTIONS, VECTOR_PATHFINDER_LABELS, VECTOR_PATHFINDER_OPERATIONS, VECTOR_PATH_ACTIONS, VECTOR_PENCIL_STRING_PX, VECTOR_PRESSURE_NOMINAL, VECTOR_ROTATE_HANDLE_OFFSET, VECTOR_STROKE_ALIGN_LABELS, VECTOR_STYLE_KEYS, VECTOR_TOOLS, VECTOR_TOOL_GLYPHS, VECTOR_TOOL_SHORTCUTS, VECTOR_TRANSFORM_HANDLES, VECTOR_WIDTH_PRESETS, VECTOR_WIDTH_PRESET_IDS, VECTOR_WIDTH_PROFILE_MAX_POINTS, VECTOR_WIDTH_PROFILE_MAX_SCALE, VECTOR_WIDTH_SAME_T, type VariableStrokeOptions, type Vec2, type VectorActionResult, type VectorAlign, type VectorAnchor, type VectorAnchorRef, type VectorAnchorType, type VectorArrange, type VectorArrowAlign, type VectorArrowhead, type VectorArrowheadShape, type VectorAverageAxis, type VectorBooleanOperation, type VectorBounds, type VectorBuilderHit, type VectorBuilderLinePiece, type VectorBuilderPreview, type VectorBuilderReplacement, type VectorBuilderTouched, type VectorCommandOptions, type VectorCorner, type VectorCornerInfo, type VectorCornerKind, type VectorCornerWidget, type VectorDefaults, type VectorDistribute, type VectorDocument, VectorEditorController, type VectorEditorOptions, type VectorEditorState, type VectorFillRule, type VectorGroupNode, type VectorGuideKind, type VectorGuideLabel, type VectorGuideLine, type VectorHandleRef, type VectorHover, type VectorInkShape, type VectorInteraction, type VectorKeyInput, type VectorLineCap, type VectorLineJoin, type VectorMatrix, type VectorModifiers, type VectorNode, type VectorNodeListing, type VectorOverlayRenderData, type VectorPaint, type VectorPathAction, type VectorPathEditOptions, type VectorPathEntry, type VectorPathNode, type VectorPathfinderAction, type VectorPathfinderOperation, type VectorPathfinderPaint, type VectorPointSnap, type VectorPointerInput, type VectorRectSnap, type VectorRenderAnchor, type VectorRenderCornerWidget, type VectorRenderGroup, type VectorRenderGuideLabel, type VectorRenderGuideLine, type VectorRenderHandle, type VectorRenderNode, type VectorRenderPath, type VectorRenderStrokeParts, type VectorRenderWidthPoint, type VectorScaleSnap, type VectorSceneRenderData, type VectorSegmentRef, type VectorSelectionBoxGeometry, type VectorSelectionFrame, type VectorSelectionStyle, type VectorShapeBuilderFace, type VectorShapeBuilderMap, type VectorShapeBuilderPlan, type VectorShapeBuilderResult, type VectorShapeInput, type VectorSnapGuides, type VectorSnapKind, type VectorSnapLeave, type VectorSnapOptions, VectorSnapTargets, type VectorStrokeAlign, type VectorStrokeParts, type VectorStrokeSpot, type VectorStyle, type VectorSubpath, type VectorSvgExportOptions, type VectorSvgImportOptions, type VectorTaperOptions, type VectorTool, type VectorTransformHandle, type VectorViewport, type VectorWaveOptions, type VectorWidthHandle, type VectorWidthPoint, type VectorWidthPointEdit, type VectorWidthPointRef, type VectorWidthPreset, type VectorWidthPresetInfo, addBuilderHit, applyMatrix, applyMatrixLinear, applyVectorCornersAttribute, arrowheadInset, arrowheadPath, arrowheadWeight, bendSegment, bezierToSubpaths, boundsFromPoints, boundsIntersect, cloneAnchor, cloneSubpath, cloneVectorDocument, cloneVectorNode, collectPathNodes, constrainToLeave, convertAnchor, cornerBisectorPoint, cornerRadiusChange, cornerSetback, createVectorCommands, curvatureMoveAnchor, cutSubpathAt, dashIntervals, decomposeRigid, effectiveStrokeAlign, ellipseSubpath, eraseFromFill, eraseFromOutline, eraserRegion, expandVectorCorners, expandVectorCornersOf, findVectorNode, fitCornerRadius, generateWidthProfile, getAnchor, getAnchorWorld, getEditablePathIds, getTransformHandlePositions, getVectorCornerWidgets, getVectorOverlayRenderData, getVectorSceneRenderData, getVectorSelectionBoxGeometry, getVectorSelectionFrame, getVectorSelectionStyle, getVectorWidthHandles, getVisibleAnchors, getVisibleHandles, hasPaint, hasStrokeExtras, hasVectorCorners, hitTestVectorNode, hitTestVectorNodes, hitTestVectorStroke, inferAnchorType, insertAnchor, insertWidthPoint, invertMatrix, isClosedBezierShape, isIdentityMatrix, isUniformWidthProfile, isVectorTextTarget, joinSubpaths, knifePath, lineSubpath, locateVectorNode, matrixRotation, mirrorWidthProfile, moveAnchorHandle, multiplyMatrices, nearestSegment, nearestStrokePosition, nextVectorCornerKind, nodeMatrix, parseSvgTransform, parseVectorSvg, planShapeBuilder, polygonSubpath, polylineBounds, pressureWidthProfile, recognizeInkShape, rectSubpath, removeAnchorKeepingShape, removeAnchors, removeAnchorsKeepingShape, removeRedundantPoints, removeWidthPoints, reverseSubpath, reverseWidthProfile, rotateMatrix, roundSubpaths, samplePolyline, sanitizeWidthProfile, scaleFor, scaleMatrix, setAnchorCorner, setSubpathCorners, setWidthPoint, simplifyPolyline, smoothSubpath, splitIntoFaces, splitSubpathAt, starSubpath, strokePositionPoint, strokeWidthProfileOf, subpathEnclosesArea, subpathPointAt, subpathSegment, subpathSegmentCount, subpathsToBezier, taperWaveFactor, toVectorKeyInput, toVectorModifiers, toVectorPointerInput, transformVectorNode, translateAnchor, translateMatrix, unionBounds, variableStrokeOutline, variableStrokeRings, vectorBuilderErasedEdges, vectorCornerAt, vectorCorners, vectorCornersAttribute, vectorDiamondPath, vectorDocumentToSvg, vectorFillMap, vectorInkShapeName, vectorNodeBounds, vectorNodeRotation, vectorNodeToBezier, vectorPaintToHex, vectorPaintToSvg, vectorParentMatrix, vectorPathData, vectorPathEntries, vectorPathWorldBezier, vectorPathfinderShape, vectorResizeCursor, vectorResultStyle, vectorShapeBuilderHit, vectorShapeBuilderMap, vectorStrokeLineArea, vectorStrokeOutline, vectorStrokeOutlinePath, vectorStrokeParts, vectorStrokeReach, vectorStrokeSvgParts, vectorStrokeWidthGeometry, vectorToolLabel, vectorWorldMatrix, walkVectorNodes, widthProfileAt, widthProfileFromAttribute, widthProfileMaxScale, widthProfilePreset, widthProfilePresetId, widthProfileToAttribute };