@pixerate/editor 0.107.0 → 0.109.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.
Files changed (78) hide show
  1. package/THIRD_PARTY_NOTICES.md +4 -0
  2. package/dist/animation/index.cjs +5 -5
  3. package/dist/animation/index.cjs.map +1 -1
  4. package/dist/animation/index.js +9 -9
  5. package/dist/animation-editor/index.cjs +59 -59
  6. package/dist/animation-editor/index.cjs.map +1 -1
  7. package/dist/animation-editor/index.d.cts +2 -1
  8. package/dist/animation-editor/index.d.ts +2 -1
  9. package/dist/animation-editor/index.js +29 -29
  10. package/dist/canvas/index.cjs +27 -27
  11. package/dist/canvas/index.cjs.map +1 -1
  12. package/dist/canvas/index.js +11 -11
  13. package/dist/{chunk-2FGRTYJN.cjs → chunk-477UVMNR.cjs} +3 -3
  14. package/dist/{chunk-2FGRTYJN.cjs.map → chunk-477UVMNR.cjs.map} +1 -1
  15. package/dist/{chunk-T3QZ6S47.cjs → chunk-AZTZRLDI.cjs} +40 -2
  16. package/dist/chunk-AZTZRLDI.cjs.map +1 -0
  17. package/dist/{chunk-63EFQCT5.js → chunk-BLWCAQCW.js} +2879 -3362
  18. package/dist/chunk-BLWCAQCW.js.map +1 -0
  19. package/dist/{chunk-G4BIYE6R.js → chunk-CFMWALBM.js} +39 -1
  20. package/dist/chunk-CFMWALBM.js.map +1 -0
  21. package/dist/{chunk-FRD3FUXI.cjs → chunk-D37BX2ZA.cjs} +2081 -460
  22. package/dist/chunk-D37BX2ZA.cjs.map +1 -0
  23. package/dist/chunk-JLYX4V57.cjs +2001 -0
  24. package/dist/chunk-JLYX4V57.cjs.map +1 -0
  25. package/dist/chunk-KB2YBCVS.js +2001 -0
  26. package/dist/chunk-KB2YBCVS.js.map +1 -0
  27. package/dist/{chunk-SOROZ2BF.js → chunk-RE77QYUF.js} +1938 -317
  28. package/dist/chunk-RE77QYUF.js.map +1 -0
  29. package/dist/{chunk-KANRAHTL.cjs → chunk-W3GXSUSQ.cjs} +2830 -3313
  30. package/dist/chunk-W3GXSUSQ.cjs.map +1 -0
  31. package/dist/{chunk-JK6M6V7G.js → chunk-Z3YWVUWT.js} +4 -4
  32. package/dist/{export-a9bnF7Cl.d.ts → export-BLPLaE6Z.d.ts} +417 -16
  33. package/dist/{export-JGWQEPJn.d.cts → export-DSUc4fQD.d.cts} +417 -16
  34. package/dist/image-editor/index.cjs +1527 -1001
  35. package/dist/image-editor/index.cjs.map +1 -1
  36. package/dist/image-editor/index.d.cts +73 -9
  37. package/dist/image-editor/index.d.ts +73 -9
  38. package/dist/image-editor/index.js +814 -288
  39. package/dist/image-editor/index.js.map +1 -1
  40. package/dist/paint-editor/index.cjs +252 -64
  41. package/dist/paint-editor/index.cjs.map +1 -1
  42. package/dist/paint-editor/index.d.cts +101 -4
  43. package/dist/paint-editor/index.d.ts +101 -4
  44. package/dist/paint-editor/index.js +196 -8
  45. package/dist/paint-editor/index.js.map +1 -1
  46. package/dist/raster/index.cjs +4 -2
  47. package/dist/raster/index.cjs.map +1 -1
  48. package/dist/raster/index.d.cts +3 -129
  49. package/dist/raster/index.d.ts +3 -129
  50. package/dist/raster/index.js +3 -1
  51. package/dist/{compositor-D92URMlm.d.cts → render-C-fO_mes.d.cts} +135 -1
  52. package/dist/{compositor-Kt_M4ruo.d.ts → render-OLIMk_v0.d.ts} +135 -1
  53. package/dist/{svg-vme0PLNo.d.ts → svg-D_cfkhlB.d.cts} +6 -608
  54. package/dist/{svg-Bj1MQFh6.d.cts → svg-wIaKLrU0.d.ts} +6 -608
  55. package/dist/types-DtL_qLFz.d.ts +630 -0
  56. package/dist/types-DyQq-WPY.d.cts +630 -0
  57. package/dist/vector/index.cjs +1080 -1051
  58. package/dist/vector/index.cjs.map +1 -1
  59. package/dist/vector/index.d.cts +268 -7
  60. package/dist/vector/index.d.ts +268 -7
  61. package/dist/vector/index.js +495 -466
  62. package/dist/vector/index.js.map +1 -1
  63. package/dist/video-editor/index.cjs +3 -3
  64. package/dist/video-editor/index.js +2 -2
  65. package/package.json +1 -1
  66. package/skills/pixerate-image-editor/SKILL.md +50 -7
  67. package/skills/pixerate-vector/SKILL.md +35 -5
  68. package/dist/chunk-63EFQCT5.js.map +0 -1
  69. package/dist/chunk-DWGZUSES.cjs +0 -694
  70. package/dist/chunk-DWGZUSES.cjs.map +0 -1
  71. package/dist/chunk-FRD3FUXI.cjs.map +0 -1
  72. package/dist/chunk-G4BIYE6R.js.map +0 -1
  73. package/dist/chunk-KANRAHTL.cjs.map +0 -1
  74. package/dist/chunk-KKREERP2.js +0 -694
  75. package/dist/chunk-KKREERP2.js.map +0 -1
  76. package/dist/chunk-SOROZ2BF.js.map +0 -1
  77. package/dist/chunk-T3QZ6S47.cjs.map +0 -1
  78. /package/dist/{chunk-JK6M6V7G.js.map → chunk-Z3YWVUWT.js.map} +0 -0
@@ -1,8 +1,10 @@
1
- import { d as Vec2$1, e as VectorSubpath, b as VectorBounds, f as VectorAnchor, V as VectorDocument, a as VectorNode, g as VectorPathNode, h as VectorAnchorType, i as VectorPaint, j as VectorGroupNode, k as VectorCornerKind, l as VectorWidthPoint, m as VectorGradientHandle, n as VectorGradient, o as VectorGradientStop, p as VectorViewport, q as VectorTransformHandle, r as VectorAnchorRef, s as VectorPathfinderOperation, t as VectorTool, u as VectorDefaults, v as VectorStyle, w as VectorHandleRef, x as VectorSegmentRef, y as VectorBlendOptions, z as VectorModifiers, c as VectorSvgExportOptions, A as VectorGradientPatch, B as VectorBlendMode, C as VectorFilterType, D as VectorEffectType, E as VectorEnvelopeParams, F as VectorAlign, G as VectorDistribute, H as VectorArrange, I as VectorBooleanOperation, J as VectorAverageAxis, K as VectorWarpMesh, L as VectorArrowhead, M as VectorBlendSpacing, N as VectorGradientInterpolation, O as VectorGradientSpread, P as VectorGradientType, Q as VectorStrokeAlign, R as VectorStrokeGradientMode, S as VectorFilterParamSpec, T as VectorEffectParamSpec, U as VectorRenderStrokeParts, W as VectorPaintDef, X as VectorRenderFilter, Y as VectorArrowAlign, Z as VectorEffect, _ as VectorPaintLayer, $ as VectorStrokeLayer, a0 as VectorFilter, a1 as VectorBlend, a2 as VectorMergeMode, a3 as VectorLineJoin, a4 as VectorEffectParamsMap, a5 as VectorStrokeSettings } from '../svg-vme0PLNo.js';
2
- export { a6 as VECTOR_ARROWHEADS, a7 as VECTOR_BLEND_MODES, a8 as VECTOR_BLEND_SPACINGS, a9 as VECTOR_CORNER_KINDS, aa as VECTOR_EFFECT_DEFAULTS, ab as VECTOR_EFFECT_LABELS, ac as VECTOR_EFFECT_PARAM_SPECS, ad as VECTOR_EFFECT_TYPES, ae as VECTOR_FILTER_DEFAULTS, af as VECTOR_FILTER_LABELS, ag as VECTOR_FILTER_MENU, ah as VECTOR_FILTER_PARAM_SPECS, ai as VECTOR_FILTER_TYPES, aj as VECTOR_GRADIENT_INTERPOLATIONS, ak as VECTOR_GRADIENT_MAX_PERIODS, al as VECTOR_GRADIENT_MIN_STOPS, am as VECTOR_GRADIENT_SPREADS, an as VECTOR_GRADIENT_TYPES, ao as VECTOR_MERGE_MODES, ap as VECTOR_PATHFINDER_OPERATIONS, aq as VECTOR_STROKE_GRADIENT_MODES, ar as VECTOR_TOOLS, as as VECTOR_TRANSFORM_HANDLES, at as VectorAppearanceShape, au as VectorBooleanOperand, av as VectorCorner, aw as VectorFillRule, ax as VectorFilterParamsMap, ay as VectorFilterPrimitive, az as VectorGradientPoints, aA as VectorGradientRamp, aB as VectorGradientSvgOptions, aC as VectorGradientUnits, aD as VectorLineCap, aE as VectorMatrix, aF as VectorPaintSvgOptions, aG as VectorRgba, aH as VectorStrokeLayerKind, aI as VectorSvgImportOptions, aJ as VectorSvgPatternDef, aK as VectorSvgWrapper, aL as VectorWarpStyle, aM as activeVectorEffects, aN as activeVectorFilters, aO as applyVectorCornersAttribute, aP as applyVectorEffects, aQ as applyVectorGradientPatch, aR as applyVectorGradientSpread, aS as clearVectorLiveBooleanCache, aT as convertVectorGradient, aU as createVectorEffect, aV as createVectorFilter, aW as defaultVectorGradient, aX as expandVectorAppearance, aY as expandVectorAppearances, aZ as expandVectorGradientSpread, a_ as expandVectorGradientStops, a$ as explicitVectorGradient, b0 as foldVectorBooleanOperands, b1 as gradientMidpointRemap, b2 as hasExplicitGradientGeometry, b3 as hasOwnVectorAppearance, b4 as hasVectorAppearance, b5 as insertVectorGradientStop, b6 as isCentredVectorGradient, b7 as isVectorFilterType, b8 as isVectorGradient, b9 as isVectorLiveBoolean, ba as mapVectorGradient, bb as mapVectorPaint, bc as moveVectorGradientHandle, bd as moveVectorGradientStop, be as normalizeVectorEffectParams, bf as normalizeVectorFilterParams, bg as parseSvgTransform, bh as parseVectorColor, bi as parseVectorSvg, bj as patternAttrs, bk as periodicVectorGradientStops, bl as pinVectorGradient, bm as removeVectorGradientStop, bn as reverseVectorGradient, bo as samplePlainStops, bp as sampleVectorGradient, bq as sampleVectorGradientAt, br as sampleVectorPaintDefAt, bs as sanitizeVectorEffects, bt as sanitizeVectorFilters, bu as sanitizeVectorGradient, bv as setVectorGradientVector, bw as sortedVectorGradientStops, bx as spanVectorGradientStops, by as transformVectorEffects, bz as transformVectorGradient, bA as transformVectorPaint, bB as vectorAppearanceNodes, bC as vectorAppearanceOutline, bD as vectorAppearanceShapes, bE as vectorBoxMatrix, bF as vectorCornersAttribute, bG as vectorDocumentToSvg, bH as vectorEffectInputBounds, bI as vectorEffectInputPaths, bJ as vectorEnteredGroups, bK as vectorEnvelopeFrame, bL as vectorEnvelopeMap, bM as vectorEnvelopeMesh, bN as vectorFilterMarkup, bO as vectorFilterParamKeys, bP as vectorFilterReach, bQ as vectorFilterSvg, bR as vectorGradientArea, bS as vectorGradientAspect, bT as vectorGradientFocalParam, bU as vectorGradientHandles, bV as vectorGradientMatrix, bW as vectorGradientMidpointFromPosition, bX as vectorGradientMidpointPosition, bY as vectorGradientNeedsExpansion, bZ as vectorGradientParam, b_ as vectorGradientPoints, b$ as vectorGradientRamp, c0 as vectorGradientSvgDefs, c1 as vectorGradientTAt, c2 as vectorGradientUnitsMatrix, c3 as vectorLiveBooleanSteps, c4 as vectorNodeEnvelope, c5 as vectorNodeFilterSvg, c6 as vectorNodeLocalPaintBounds, c7 as vectorOperandOperation, c8 as vectorPaintToSvg, c9 as vectorPathLocalBounds, ca as vectorStrokeSvgParts, cb as widthProfileFromAttribute, cc as widthProfileToAttribute } from '../svg-vme0PLNo.js';
1
+ import { n as Vec2$1, v as VectorSubpath, h as VectorBounds, y as VectorAnchor, w as VectorDocument, e as VectorNode, b as VectorPathNode, z as VectorAnchorType, r as VectorPaint, g as VectorGroupNode, A as VectorCornerKind, x as VectorWidthPoint, m as VectorGradient, t as VectorGradientStop, B as VectorViewport, C as VectorTransformHandle, D as VectorAnchorRef, E as VectorPathfinderOperation, F as VectorTool, G as VectorDefaults, H as VectorStyle, I as VectorHandleRef, J as VectorSegmentRef, K as VectorBlendOptions, L as VectorModifiers, M as VectorBlendMode, j as VectorFilterType, V as VectorEffectType, N as VectorAlign, O as VectorDistribute, P as VectorArrange, d as VectorBooleanOperation, Q as VectorMaskType, R as VectorMask, S as VectorAverageAxis, i as VectorWarpMesh, c as VectorFillRule, T as VectorArrowhead, U as VectorBlendSpacing, W as VectorGradientInterpolation, p as VectorGradientSpread, q as VectorGradientType, u as VectorStrokeAlign, X as VectorStrokeGradientMode, Y as VectorArrowAlign, f as VectorEffect, Z as VectorPaintLayer, _ as VectorStrokeLayer, l as VectorFilter, $ as VectorBlend, a0 as VectorMergeMode, a1 as VectorLineJoin, a as VectorEffectParamsMap, a2 as VectorStrokeSettings } from '../types-DtL_qLFz.js';
2
+ export { a3 as VECTOR_ARROWHEADS, a4 as VECTOR_BLEND_MODES, a5 as VECTOR_BLEND_SPACINGS, a6 as VECTOR_CORNER_KINDS, a7 as VECTOR_EFFECT_TYPES, a8 as VECTOR_FILTER_TYPES, a9 as VECTOR_GRADIENT_INTERPOLATIONS, aa as VECTOR_GRADIENT_SPREADS, ab as VECTOR_GRADIENT_TYPES, ac as VECTOR_MASK_TYPES, ad as VECTOR_MERGE_MODES, ae as VECTOR_PATHFINDER_OPERATIONS, af as VECTOR_STROKE_GRADIENT_MODES, ag as VECTOR_TOOLS, ah as VECTOR_TRANSFORM_HANDLES, ai as VectorCorner, k as VectorFilterParamsMap, o as VectorGradientUnits, aj as VectorLineCap, s as VectorMatrix, ak as VectorStrokeLayerKind, al as VectorWarpStyle } from '../types-DtL_qLFz.js';
3
3
  import { P as Point } from '../types-BFkYA4eF.js';
4
4
  import { a as BezierPathInput, A as AffineMatrix$1, B as BezierPath, c as BezierSegment } from '../bezier-DYBvLgUH.js';
5
5
  export { S as SvgGradientDef } from '../bezier-DYBvLgUH.js';
6
+ import { a as VectorGradientHandle, V as VectorSvgExportOptions, b as VectorGradientPatch, c as VectorEnvelopeParams, d as VectorRenderFilter, e as VectorAppearanceShape, f as VectorFilterParamSpec, g as VectorEffectParamSpec, h as VectorRenderStrokeParts, i as VectorPaintDef } from '../svg-wIaKLrU0.js';
7
+ export { j as VECTOR_EFFECT_DEFAULTS, k as VECTOR_EFFECT_LABELS, l as VECTOR_EFFECT_PARAM_SPECS, m as VECTOR_FILTER_DEFAULTS, n as VECTOR_FILTER_LABELS, o as VECTOR_FILTER_MENU, p as VECTOR_FILTER_PARAM_SPECS, q as VECTOR_GRADIENT_MAX_PERIODS, r as VECTOR_GRADIENT_MIN_STOPS, s as VectorBooleanOperand, t as VectorFilterPrimitive, u as VectorGradientPoints, v as VectorGradientRamp, w as VectorGradientSvgOptions, x as VectorPaintSvgOptions, y as VectorRgba, z as VectorSvgImportOptions, A as VectorSvgPatternDef, B as VectorSvgWrapper, C as activeVectorEffects, D as activeVectorFilters, E as applyVectorCornersAttribute, F as applyVectorEffects, G as applyVectorGradientPatch, H as applyVectorGradientSpread, I as clearVectorLiveBooleanCache, J as convertVectorGradient, K as createVectorEffect, L as createVectorFilter, M as defaultVectorGradient, N as expandVectorAppearance, O as expandVectorAppearances, P as expandVectorGradientSpread, Q as expandVectorGradientStops, R as explicitVectorGradient, S as foldVectorBooleanOperands, T as gradientMidpointRemap, U as hasExplicitGradientGeometry, W as hasOwnVectorAppearance, X as hasVectorAppearance, Y as insertVectorGradientStop, Z as isCentredVectorGradient, _ as isVectorFilterType, $ as isVectorGradient, a0 as isVectorLiveBoolean, a1 as mapVectorGradient, a2 as mapVectorPaint, a3 as moveVectorGradientHandle, a4 as moveVectorGradientStop, a5 as normalizeVectorEffectParams, a6 as normalizeVectorFilterParams, a7 as parseSvgTransform, a8 as parseVectorColor, a9 as parseVectorSvg, aa as patternAttrs, ab as periodicVectorGradientStops, ac as pinVectorGradient, ad as removeVectorGradientStop, ae as reverseVectorGradient, af as samplePlainStops, ag as sampleVectorGradient, ah as sampleVectorGradientAt, ai as sampleVectorPaintDefAt, aj as sanitizeVectorEffects, ak as sanitizeVectorFilters, al as sanitizeVectorGradient, am as setVectorGradientVector, an as sortedVectorGradientStops, ao as spanVectorGradientStops, ap as transformVectorEffects, aq as transformVectorGradient, ar as transformVectorPaint, as as vectorAppearanceNodes, at as vectorAppearanceOutline, au as vectorAppearanceShapes, av as vectorBoxMatrix, aw as vectorChildAppearanceShapes, ax as vectorCornersAttribute, ay as vectorDocumentToSvg, az as vectorEffectInputBounds, aA as vectorEffectInputPaths, aB as vectorEnteredGroups, aC as vectorEnvelopeFrame, aD as vectorEnvelopeMap, aE as vectorEnvelopeMesh, aF as vectorFilterMarkup, aG as vectorFilterParamKeys, aH as vectorFilterReach, aI as vectorFilterSvg, aJ as vectorGradientArea, aK as vectorGradientAspect, aL as vectorGradientFocalParam, aM as vectorGradientHandles, aN as vectorGradientMatrix, aO as vectorGradientMidpointFromPosition, aP as vectorGradientMidpointPosition, aQ as vectorGradientNeedsExpansion, aR as vectorGradientParam, aS as vectorGradientPoints, aT as vectorGradientRamp, aU as vectorGradientSvgDefs, aV as vectorGradientTAt, aW as vectorGradientUnitsMatrix, aX as vectorLiveBooleanSteps, aY as vectorNodeEnvelope, aZ as vectorNodeFilterSvg, a_ as vectorNodeLocalPaintBounds, a$ as vectorOperandOperation, b0 as vectorPaintToSvg, b1 as vectorPathLocalBounds, b2 as vectorStrokeSvgParts, b3 as widthProfileFromAttribute, b4 as widthProfileToAttribute } from '../svg-wIaKLrU0.js';
6
8
  import { H as HistoryManager } from '../HistoryManager-DWSLd6Tf.js';
7
9
  import { C as CommandSpec } from '../registry-rVtFJjRM.js';
8
10
  import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-CNtsbCRK.js';
@@ -102,7 +104,7 @@ declare function vectorPathWorldBezier(node: VectorPathNode, parent?: AffineMatr
102
104
  /**
103
105
  * Geometric bounds of a node (stroke width not included) in the space `parent` maps to —
104
106
  * by default the node's parent space, which for top-level nodes is the document. Null when
105
- * the node has no points.
107
+ * the node has no points. A mask group is bounded by its masked result.
106
108
  */
107
109
  declare function vectorNodeBounds(node: VectorNode, parent?: AffineMatrix$1): VectorBounds | null;
108
110
  /** The smallest box around all non-null boxes, or null. */
@@ -122,7 +124,9 @@ interface VectorHitTestOptions {
122
124
  /**
123
125
  * Whether `p` hits a node as drawn (path effects and live booleans applied): inside its fill
124
126
  * (when it has one), on its stroke (its alignment and arrowheads respected) or within
125
- * `tolerance` of either. A group is hit when any visible child is.
127
+ * `tolerance` of either. A group is hit when any visible child is; a mask group when a child
128
+ * above the mask is, where the mask lets it through. An entered mask group is hit by its children
129
+ * as stored, the mask by its outline when it clips.
126
130
  */
127
131
  declare function hitTestVectorNode(node: VectorNode, p: Vec2$1, tolerance?: number, parent?: AffineMatrix$1, options?: VectorHitTestOptions): boolean;
128
132
  /**
@@ -1008,6 +1012,14 @@ type VectorActionResult = {
1008
1012
  ok: false;
1009
1013
  message: string;
1010
1014
  };
1015
+ /** What Make Clipping Mask / Make Opacity Mask return: the new group's id, or why not. */
1016
+ type VectorMaskResult = {
1017
+ ok: true;
1018
+ id: string;
1019
+ } | {
1020
+ ok: false;
1021
+ message: string;
1022
+ };
1011
1023
  /** The shape the Blend tool blends from (its first click). */
1012
1024
  interface VectorBlendStart {
1013
1025
  nodeId: string;
@@ -1830,6 +1842,51 @@ declare class VectorEditorController {
1830
1842
  * the blend group's id, or null.
1831
1843
  */
1832
1844
  blend(input?: VectorBlendInput): string | null;
1845
+ /**
1846
+ * Make Clipping Mask (`clip`) / Make Opacity Mask (`alpha`, `luminance`): groups the selected (or
1847
+ * given) objects into a mask group whose mask is the topmost of them (or `maskId`), moved to the
1848
+ * bottom of the group. They must be two or more, unlocked, with one parent. One undo step.
1849
+ * Returns the group's id, or why it could not.
1850
+ */
1851
+ makeMask(type: VectorMaskType, options?: {
1852
+ ids?: readonly string[];
1853
+ maskId?: string;
1854
+ invert?: boolean;
1855
+ name?: string;
1856
+ }): VectorMaskResult;
1857
+ /** Mask groups among `ids` (default: the selection), or holding one of them directly. */
1858
+ private maskTargets;
1859
+ /**
1860
+ * Release: the selected (or given) mask groups stop masking. The mask goes back on top of the
1861
+ * contents, drawn as itself again. A group with appearance of its own (filters, a blend mode,
1862
+ * path effects) stays a plain group; otherwise it is replaced by its children. One undo step.
1863
+ * Returns the released nodes' ids (the mask last).
1864
+ */
1865
+ releaseMask(options?: {
1866
+ ids?: readonly string[];
1867
+ }): string[];
1868
+ /**
1869
+ * Changes the type or inversion of the selected (or given) mask groups, or turns their masks off
1870
+ * (`enabled: false` hides the mask, so the contents draw whole) and on. One undo step.
1871
+ */
1872
+ setMaskOptions(patch: Partial<VectorMask> & {
1873
+ enabled?: boolean;
1874
+ }, options?: {
1875
+ ids?: readonly string[];
1876
+ }): VectorActionResult;
1877
+ /**
1878
+ * Edit Mask: selects the mask of the selected (or given) mask group, or of the group holding the
1879
+ * selection. A path mask opens in the direct tool for anchor editing (`editPath: false` keeps the
1880
+ * tool). Returns the mask's id, or null.
1881
+ */
1882
+ editMask(options?: {
1883
+ id?: string;
1884
+ editPath?: boolean;
1885
+ }): string | null;
1886
+ /** Edit Contents: selects what the selected (or given) mask group masks. Returns their ids. */
1887
+ editMaskContents(options?: {
1888
+ id?: string;
1889
+ }): string[];
1833
1890
  /** Sets the options new blends get (spacing, steps, distance, orientation, morph). */
1834
1891
  setBlendDefaults(patch: Partial<VectorBlendOptions>): void;
1835
1892
  /**
@@ -2107,6 +2164,150 @@ declare function scaleFor(handle: VectorTransformHandle, b: VectorBounds, p: Vec
2107
2164
  origin: Vec2$1;
2108
2165
  };
2109
2166
 
2167
+ /**
2168
+ * Masks and clipping. A group with `mask` set is a mask group: its first (bottom) child is the
2169
+ * mask and the children above it (the contents) show only where the mask lets them.
2170
+ *
2171
+ * - `clip`: a clipping mask, by the mask's outline (every path inside it, filled by its own fill
2172
+ * rule, whatever its paint; the mask's paint is not drawn). Drawn as an SVG `<clipPath>`.
2173
+ * - `alpha` / `luminance`: an opacity mask, by the mask's drawn alpha or its brightness (times its
2174
+ * alpha). Drawn as an SVG `<mask>` holding the mask as drawn (`mask-type="alpha"` for alpha).
2175
+ * - `invert` swaps what shows and what hides. An inverted clip is the even-odd clip of a large
2176
+ * rectangle with the mask's outline (its boolean union) cut out of it, as pdfcraft's redaction
2177
+ * clips content out of a region; an inverted opacity mask draws the mask through a colour
2178
+ * matrix filter that turns its alpha (or brightness) upside down.
2179
+ *
2180
+ * Geometry uses the masked result: the contents' shapes clipped by the mask's region (its outline
2181
+ * for clips, its painted area for opacity masks) with our booleans, open paths cut where they
2182
+ * cross it. Bounds, hit-testing, snapping, outlines, booleans and the Pathfinder all read it
2183
+ * through `vectorAppearanceShapes`. An opacity mask is hit and bounded by where it paints at all,
2184
+ * not by how strongly: a dark luminance mask still counts.
2185
+ *
2186
+ * A hidden mask child turns the mask off and the contents draw whole (figcraft
2187
+ * `crates/doc/src/geometry.rs`: a hidden mask doesn't clip). The group's own opacity, blend mode
2188
+ * and filters apply after masking (its drop shadow follows the masked silhouette), and its path
2189
+ * effects act on the contents only, not on the mask.
2190
+ *
2191
+ * Extension point for lens objects: a lens is a shape that changes what is beneath it (blur,
2192
+ * magnify, recolour). It will reuse this module's pieces rather than the mask group model: the
2193
+ * region of a shape (`vectorMaskRegionShapes` with the lens as the source) clips a filtered copy
2194
+ * of the backdrop the way `vectorMaskRenderData` clips the contents, and hit-testing and bounds
2195
+ * stay those of the lens shape itself. See `VectorMaskRenderData` for where a renderer draws it.
2196
+ *
2197
+ * The mask model (`is_mask`, `MaskType`: alpha, vector, luminance; hidden masks off) follows
2198
+ * figcraft `crates/doc/src/node.rs` and `geometry.rs`; clipping a node's drawing to a shape layer
2199
+ * by layer follows designcraft `crates/render/src/fx.rs` (`push_clip_layer` around each body); the
2200
+ * inverted clip follows pdfcraft `crates/redact/src/interp.rs` (`clip_out`). Ported from ArtCraft
2201
+ * (MIT OR Apache-2.0, © ArtCraft Team and contributors; see THIRD_PARTY_NOTICES.md).
2202
+ */
2203
+
2204
+ /** A group whose `mask` takes effect (not a blend or live boolean, with a child to be the mask). */
2205
+ type VectorMaskGroup = VectorGroupNode & {
2206
+ mask: VectorMask;
2207
+ };
2208
+ /** Whether `value` is a mask type. */
2209
+ declare function isVectorMaskType(value: unknown): value is VectorMaskType;
2210
+ /** Reads mask settings from untrusted data (JSON, agent input, SVG data attributes); null when invalid. */
2211
+ declare function sanitizeVectorMask(value: unknown): VectorMask | null;
2212
+ /** Whether a node is a mask group: a group with `mask`, at least one child, and not a blend or live boolean. */
2213
+ declare function isVectorMaskGroup(node: VectorNode | null | undefined): node is VectorMaskGroup;
2214
+ /** Whether a mask group's mask is on: its mask child is visible. */
2215
+ declare function isVectorMaskActive(node: VectorNode | null | undefined): node is VectorMaskGroup;
2216
+ /** A mask group's mask (its first child), or null. */
2217
+ declare function vectorMaskSource(node: VectorNode | null | undefined): VectorNode | null;
2218
+ /** The children a mask group masks (all but the first); a plain group's children. */
2219
+ declare function vectorMaskContents(group: VectorGroupNode): VectorNode[];
2220
+ /** The mask group whose mask is `id`, or null. */
2221
+ declare function vectorMaskOwner(nodes: readonly VectorNode[], id: string): VectorMaskGroup | null;
2222
+ /** What agents and panels read about a mask group. */
2223
+ interface VectorMaskSummary {
2224
+ type: VectorMaskType;
2225
+ invert: boolean;
2226
+ /** Id of the mask (the group's first child). */
2227
+ maskId: string;
2228
+ /** Ids of the masked contents, bottom to top. */
2229
+ contents: string[];
2230
+ /** False while the mask child is hidden (the contents draw whole). */
2231
+ enabled: boolean;
2232
+ }
2233
+ /** A mask group's settings, mask and contents, or null for any other node. */
2234
+ declare function vectorMaskSummary(node: VectorNode | null | undefined): VectorMaskSummary | null;
2235
+ /** One shape of a mask's region: a path (in the mask group's own space) and the rule that fills it. */
2236
+ interface VectorMaskRegionShape {
2237
+ path: BezierPath;
2238
+ fillRule: VectorFillRule;
2239
+ }
2240
+ /**
2241
+ * The area `node` covers as a mask of `type`, in the space `parent` maps it to: for a clip, the
2242
+ * outline of every visible path inside it (effects applied), whatever its paint; for an opacity
2243
+ * mask, where it paints (drawn fills, and drawn strokes as their outlines). A nested mask group
2244
+ * covers its masked result. `self` counts the node even when hidden (the mask itself).
2245
+ */
2246
+ declare function vectorMaskRegionShapes(node: VectorNode, type: VectorMaskType, parent?: AffineMatrix$1, self?: boolean): VectorMaskRegionShape[];
2247
+ /** The region of a mask group's mask in the group's own space (not inverted). Cached per group object. */
2248
+ declare function vectorMaskRegion(group: VectorMaskGroup): VectorMaskRegionShape[];
2249
+ /** The mask's region as one clean path (a boolean union, read nonzero or even-odd alike). Cached per group object. */
2250
+ declare function vectorMaskRegionPath(group: VectorMaskGroup): BezierPath;
2251
+ /**
2252
+ * Whether a mask group's mask lets point `p` (the group's own space) through: inside its region,
2253
+ * or outside it when inverted. `tolerance` widens what counts as through (its edge, either way).
2254
+ * Always true while the mask is off.
2255
+ */
2256
+ declare function vectorMaskContains(group: VectorMaskGroup, p: Vec2$1, tolerance?: number): boolean;
2257
+ /**
2258
+ * What a mask group draws as shapes in its own space: its contents' shapes (their own effects
2259
+ * applied, then the group's), each clipped by the mask's region. The appearance code calls this
2260
+ * for mask groups (`vectorAppearanceShapes`), so use that instead (it caches).
2261
+ */
2262
+ declare function vectorMaskedShapes(group: VectorMaskGroup): VectorAppearanceShape[];
2263
+ /**
2264
+ * The node with every working mask group inside it replaced by a plain group of its masked shapes
2265
+ * (ids `<group id>~fx<n>`, placement kept): the geometry booleans, the Pathfinder, the Shape
2266
+ * Builder and the paint bucket work with. The node itself when it holds no mask.
2267
+ */
2268
+ declare function vectorMaskedGeometry(node: VectorNode): VectorNode;
2269
+ /** Bounds of a mask group's masked result in its own space (stroke widths not included), or null. */
2270
+ declare function vectorMaskedLocalBounds(group: VectorMaskGroup): VectorBounds | null;
2271
+ /**
2272
+ * The box a mask group's contents can draw over, in its own space (strokes and filters included,
2273
+ * with a margin): the `<mask>` region, the filter region of an inverted opacity mask and the
2274
+ * rectangle an inverted clip cuts the mask out of. Null without contents.
2275
+ */
2276
+ declare function vectorMaskContentBounds(group: VectorMaskGroup): VectorBounds | null;
2277
+ /** One path of a clipping mask's `<clipPath>` (group space). */
2278
+ interface VectorMaskClipShape {
2279
+ d: string;
2280
+ clipRule: VectorFillRule;
2281
+ }
2282
+ /**
2283
+ * How to draw a mask group's mask, in the group's own space. Draw the group's own `<g>` (transform,
2284
+ * opacity, blend mode, filter) holding an inner `<g>` with the contents, referencing:
2285
+ * - `clip`: a `<clipPath id>` holding each of `clip` as `<path d clip-rule>`;
2286
+ * - `alpha` / `luminance`: a `<mask id maskUnits="userSpaceOnUse" x y width height>` over
2287
+ * `bounds` (with `mask-type="alpha"` for alpha) holding the mask node as drawn, wrapped in
2288
+ * `<g filter={filter}>` when `filter` is set (an inverted mask).
2289
+ */
2290
+ interface VectorMaskRenderData {
2291
+ type: VectorMaskType;
2292
+ invert: boolean;
2293
+ /** Id of the `<clipPath>` or `<mask>` element. */
2294
+ id: string;
2295
+ /** Clip shapes (clipping masks). An inverted clip is one even-odd shape: a rectangle with the mask's outline cut out. */
2296
+ clip?: VectorMaskClipShape[];
2297
+ /** Region of the `<mask>` (opacity masks). */
2298
+ bounds?: VectorBounds;
2299
+ /** `url(#id)` of the inverting filter (inverted opacity masks; in `filters`). */
2300
+ filter?: string;
2301
+ /** The inverting filter itself (inverted opacity masks). */
2302
+ invertFilter?: VectorRenderFilter;
2303
+ }
2304
+ /**
2305
+ * A mask group's mask as render data with element id `id` (and `filterId` for an inverting
2306
+ * filter), or null when the mask is off or the group has no contents. Shared by the canvases and
2307
+ * SVG export.
2308
+ */
2309
+ declare function vectorMaskRenderData(group: VectorMaskGroup, id: string, filterId: string, precision?: number): VectorMaskRenderData | null;
2310
+
2110
2311
  interface VectorRenderPath {
2111
2312
  kind: 'path';
2112
2313
  id: string;
@@ -2171,8 +2372,20 @@ interface VectorRenderGroup {
2171
2372
  blendMode?: string;
2172
2373
  /** `url(#id)` of the group's filter in `filters`. */
2173
2374
  filter?: string;
2375
+ /**
2376
+ * Set on a mask group whose mask is on: `children` are then the masked contents only. Draw them
2377
+ * in an inner `<g>` with `clip-path` / `mask` referencing the `<clipPath>` / `<mask>` that
2378
+ * `mask` describes (`mask.nodes`: the mask drawn into a `<mask>`). The group's own transform,
2379
+ * opacity, blend mode and filter stay on the outer `<g>`, so they apply to the masked result.
2380
+ */
2381
+ mask?: VectorRenderMask;
2174
2382
  children: VectorRenderNode[];
2175
2383
  }
2384
+ /** A mask group's mask as render data (see `VectorMaskRenderData`), with the mask drawn as nodes for opacity masks. */
2385
+ interface VectorRenderMask extends Omit<VectorMaskRenderData, 'invertFilter'> {
2386
+ /** The mask as drawn, for the `<mask>` of an opacity mask (in the group's own space). */
2387
+ nodes?: VectorRenderNode[];
2388
+ }
2176
2389
  type VectorRenderNode = VectorRenderPath | VectorRenderGroup;
2177
2390
  interface VectorSceneRenderData {
2178
2391
  /** SVG `transform` for the document layer: `translate(x y) scale(zoom)`. */
@@ -2395,6 +2608,20 @@ interface VectorOverlayRenderData {
2395
2608
  };
2396
2609
  /** The gradient tool's annotator over the selection's gradient (screen space), or null. */
2397
2610
  gradient: VectorRenderGradientAnnotator | null;
2611
+ /**
2612
+ * Mask indicators (screen space): the outline of the mask of each mask group that is selected
2613
+ * or holds the selection (`d`, draw it dashed), with its type, whether it is inverted, and
2614
+ * whether the mask itself is selected (`editing`).
2615
+ */
2616
+ masks: {
2617
+ id: string;
2618
+ maskId: string;
2619
+ d: string;
2620
+ type: VectorMaskType;
2621
+ invert: boolean;
2622
+ enabled: boolean;
2623
+ editing: boolean;
2624
+ }[];
2398
2625
  /** A short status, e.g. "W 120 × H 80" or "45°". */
2399
2626
  status: string | null;
2400
2627
  }
@@ -2532,6 +2759,9 @@ declare const VECTOR_OVERLAY_THEME: {
2532
2759
  readonly builderEraseFill: "rgba(239, 68, 68, 0.22)";
2533
2760
  /** Opacity of the hatch lines over Shape Builder faces (drawn in the face's outline colour). */
2534
2761
  readonly builderHatchOpacity: 0.6;
2762
+ /** Mask indicators: the outline of a selected mask group's mask (dashed; solid while the mask is selected). */
2763
+ readonly mask: "#8b5cf6";
2764
+ readonly maskDash: "5 3";
2535
2765
  };
2536
2766
  /** SVG path data of the diamond a width point is drawn with (screen pixels). */
2537
2767
  declare function vectorDiamondPath(x: number, y: number, r?: number): string;
@@ -2773,6 +3003,31 @@ declare const VECTOR_BLEND_MODE_MENU: readonly {
2773
3003
  mode: VectorBlendMode;
2774
3004
  label: string;
2775
3005
  }[];
3006
+ declare const VECTOR_MASK_TYPE_LABELS: Readonly<Record<VectorMaskType, string>>;
3007
+ /** Mask types for a menu, with a hint each. */
3008
+ declare const VECTOR_MASK_TYPE_OPTIONS: readonly {
3009
+ value: VectorMaskType;
3010
+ label: string;
3011
+ title: string;
3012
+ }[];
3013
+ /** What the mask panel shows for the selection. */
3014
+ interface VectorMaskPanelData {
3015
+ /** Make Clipping Mask / Make Opacity Mask would work: two or more unlocked objects sharing a parent. */
3016
+ canMake: boolean;
3017
+ /** Why the make actions are off, for a tooltip (null when they are on). */
3018
+ makeHint: string | null;
3019
+ /**
3020
+ * The mask group the selection is or is directly inside, with its settings and what of it is
3021
+ * selected (`group` itself, its `mask` or its `contents`); null otherwise.
3022
+ */
3023
+ group: (VectorMaskSummary & {
3024
+ id: string;
3025
+ name?: string;
3026
+ editing: 'group' | 'mask' | 'contents';
3027
+ }) | null;
3028
+ }
3029
+ /** The mask panel's data for the selection, or null with nothing selected. */
3030
+ declare function getVectorMaskPanel(state: Pick<VectorEditorState, 'document' | 'selection'>): VectorMaskPanelData | null;
2776
3031
 
2777
3032
  interface VectorCommandOptions {
2778
3033
  /** Id prefix (default `vector.`); use one per editor when several are registered. */
@@ -2832,6 +3087,8 @@ interface VectorNodeListing {
2832
3087
  blendMode?: VectorBlendMode;
2833
3088
  /** The node's visual filters (shadows, glows, blurs, feather). */
2834
3089
  filters?: VectorFilter[];
3090
+ /** A mask group's mask: type, inversion, the mask's id (its first child) and the masked contents. */
3091
+ mask?: VectorMaskSummary;
2835
3092
  }
2836
3093
  /**
2837
3094
  * Palette and agent commands for a vector editor: list, select, add shapes and paths, style,
@@ -2939,9 +3196,13 @@ declare function eraseFromFill(path: BezierPathInput, fillRule: FillRule, region
2939
3196
  /**
2940
3197
  * The parts of a subpath's outline outside `region`, as open subpaths that keep the original
2941
3198
  * curves exactly; null when the outline does not enter the region. A closed subpath's last
2942
- * and first parts join at its first anchor.
3199
+ * and first parts join at its first anchor. With `keep: 'inside'` the parts inside the region are
3200
+ * kept instead (null when the outline never leaves it), as a clipping mask clips an open path.
2943
3201
  */
2944
- declare function eraseFromOutline(sp: VectorSubpath, region: BezierPathInput): VectorSubpath[] | null;
3202
+ declare function eraseFromOutline(sp: VectorSubpath, region: BezierPathInput, options?: {
3203
+ keep?: 'outside' | 'inside';
3204
+ fillRule?: FillRule;
3205
+ }): VectorSubpath[] | null;
2945
3206
  /** Bounds of a point list (for picking the paths a knife or eraser stroke can reach). */
2946
3207
  declare function polylineBounds(points: readonly Point[], pad?: number): {
2947
3208
  x: number;
@@ -3747,4 +4008,4 @@ declare function vectorTargetPaint(style: VectorStyle, target: 'fill' | 'stroke'
3747
4008
  /** The node with `paint` in the place `vectorTargetPaint` reads (stored canonically). */
3748
4009
  declare function withVectorTargetPaint<T extends VectorStyle>(node: T, target: 'fill' | 'stroke', layer: number | null, paint: VectorPaint): T;
3749
4010
 
3750
- export { type AddVectorNodeOptions, AffineMatrix$1 as AffineMatrix, DEFAULT_VECTOR_BLEND_DISTANCE, DEFAULT_VECTOR_BLEND_STEPS, DEFAULT_VECTOR_PATH_EDIT, DEFAULT_VECTOR_SNAP, IDENTITY_MATRIX, KAPPA, LazyMouse, type MapVectorSubpathsOptions, type NearestSegment, type RecognizeInkOptions, VECTOR_ARROWHEAD_LABELS, VECTOR_BLEND_MAX_SMOOTH_STEPS, VECTOR_BLEND_MAX_STEPS, VECTOR_BLEND_MODE_LABELS, VECTOR_BLEND_MODE_MENU, VECTOR_BLEND_SPACING_LABELS, VECTOR_BUILDER_HATCH_GAP, VECTOR_CLIPBOARD_TYPE, VECTOR_CONSTRUCTION_ANGLES, VECTOR_CORNER_KIND_LABELS, VECTOR_CORNER_WIDGET_INSET, VECTOR_DISTORT_TOLERANCE, VECTOR_EDIT_TOGGLES, VECTOR_EFFECT_MENU, VECTOR_ENVELOPE_STYLE_OPTIONS, VECTOR_FILL_GAP, VECTOR_GRADIENT_INTERPOLATION_LABELS, VECTOR_GRADIENT_MIDPOINT_GAP, VECTOR_GRADIENT_OFF_BAR, VECTOR_GRADIENT_SPREAD_LABELS, VECTOR_GRADIENT_STOP_GAP, VECTOR_GRADIENT_TYPE_LABELS, VECTOR_INK_MAX_CORNERS, VECTOR_OVERLAY_THEME, VECTOR_PATHFINDER_ACTIONS, VECTOR_PATHFINDER_LABELS, VECTOR_PATH_ACTIONS, VECTOR_PENCIL_STRING_PX, VECTOR_PRESSURE_NOMINAL, VECTOR_ROTATE_HANDLE_OFFSET, VECTOR_STROKE_ALIGN_LABELS, VECTOR_STROKE_GRADIENT_MODE_LABELS, VECTOR_STROKE_SETTING_KEYS, VECTOR_STYLE_KEYS, VECTOR_TOOL_GLYPHS, VECTOR_TOOL_SHORTCUTS, VECTOR_WIDTH_PRESETS, VECTOR_WIDTH_PRESET_IDS, VECTOR_WIDTH_PROFILE_MAX_POINTS, VECTOR_WIDTH_PROFILE_MAX_SCALE, VECTOR_WIDTH_SAME_T, type VariableStrokeOptions, Vec2$1 as Vec2, type VectorActionResult, VectorAlign, VectorAnchor, VectorAnchorRef, VectorAnchorType, type VectorAppearancePanelData, type VectorAppearancePanelLayer, VectorArrange, VectorArrowAlign, VectorArrowhead, type VectorArrowheadShape, VectorAverageAxis, VectorBlend, type VectorBlendControls, type VectorBlendInput, VectorBlendMode, VectorBlendOptions, type VectorBlendRail, VectorBlendSpacing, type VectorBlendStart, VectorBooleanOperation, VectorBounds, type VectorBuilderHit, type VectorBuilderLinePiece, type VectorBuilderPreview, type VectorBuilderReplacement, type VectorBuilderTouched, type VectorCommandOptions, type VectorCornerInfo, VectorCornerKind, type VectorCornerWidget, VectorDefaults, type VectorDistortMode, VectorDistribute, VectorDocument, VectorEditorController, type VectorEditorOptions, type VectorEditorState, VectorEffect, VectorEffectParamSpec, VectorEffectParamsMap, VectorEffectType, type VectorEffectsPanelData, type VectorEffectsPanelItem, type VectorEnvelopePanelData, VectorEnvelopeParams, VectorFilter, VectorFilterParamSpec, VectorFilterType, type VectorFiltersPanelItem, VectorGradient, type VectorGradientAnnotator, type VectorGradientEditorData, VectorGradientHandle, VectorGradientInterpolation, type VectorGradientPart, VectorGradientPatch, VectorGradientSpread, VectorGradientStop, type VectorGradientTarget, VectorGradientType, VectorGroupNode, type VectorGuideKind, type VectorGuideLabel, type VectorGuideLine, VectorHandleRef, type VectorHitTestOptions, type VectorHover, type VectorInkShape, type VectorInteraction, type VectorKeyInput, VectorLineJoin, VectorMergeMode, VectorModifiers, type VectorMorph, type VectorMorphContour, type VectorMorphCorrespondence, type VectorMorphOptions, VectorNode, type VectorNodeListing, type VectorOverlayRenderData, VectorPaint, VectorPaintDef, VectorPaintLayer, type VectorPaintLayerHit, type VectorPaintLayerNode, type VectorPathAction, type VectorPathEditOptions, type VectorPathEntry, type VectorPathKeyframe, VectorPathNode, type VectorPathfinderAction, VectorPathfinderOperation, type VectorPathfinderPaint, type VectorPointMap, type VectorPointSnap, type VectorPointerInput, type VectorRectSnap, type VectorRenderAnchor, type VectorRenderCornerWidget, VectorRenderFilter, type VectorRenderGradientAnnotator, type VectorRenderGroup, type VectorRenderGuideLabel, type VectorRenderGuideLine, type VectorRenderHandle, type VectorRenderNode, type VectorRenderPaintLayer, type VectorRenderPath, VectorRenderStrokeParts, type VectorRenderWidthPoint, type VectorRepeaterCopy, type VectorScaleSnap, type VectorSceneRenderData, 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, VectorStrokeAlign, VectorStrokeGradientMode, VectorStrokeLayer, type VectorStrokeParts, VectorStrokeSettings, type VectorStrokeSpot, VectorStyle, VectorSubpath, VectorSvgExportOptions, type VectorTaperOptions, VectorTool, VectorTransformHandle, VectorViewport, VectorWarpMesh, type VectorWaveOptions, type VectorWidthHandle, VectorWidthPoint, type VectorWidthPointEdit, type VectorWidthPointRef, type VectorWidthPreset, type VectorWidthPresetInfo, addBuilderHit, applyMatrix, applyMatrixLinear, applyVectorBlendOptions, arrowheadInset, arrowheadPath, arrowheadWeight, bendSegment, bezierToSubpaths, boundsFromPoints, boundsIntersect, cloneAnchor, cloneSubpath, cloneVectorDocument, cloneVectorNode, collectPathNodes, constrainToLeave, convertAnchor, cornerBisectorPoint, cornerRadiusChange, cornerSetback, correspondMorphContours, createVectorCommands, createVectorMorph, curvatureMoveAnchor, cutSubpathAt, dashIntervals, decomposeRigid, distortVectorNode, effectPathLength, effectPathVertexCount, effectiveStrokeAlign, ellipseSubpath, eraseFromFill, eraseFromOutline, eraserRegion, evaluateVectorPathKeyframes, expandVectorBlend, expandVectorCorners, expandVectorCornersOf, findVectorNode, fitCornerRadius, generateVectorBlendChildren, generateWidthProfile, getAnchor, getAnchorWorld, getEditablePathIds, getTransformHandlePositions, getVectorAppearancePanel, getVectorBlendControls, getVectorCornerWidgets, getVectorEffectsPanel, getVectorEnteredGroups, getVectorEnvelopePanel, getVectorEnvelopeTarget, getVectorGradientAnnotator, getVectorGradientEditor, getVectorOverlayRenderData, getVectorSceneRenderData, getVectorSelectionBoxGeometry, getVectorSelectionFrame, getVectorSelectionStyle, getVectorWidthHandles, getVisibleAnchors, getVisibleHandles, hasPaint, hasStrokeExtras, hasVectorCorners, hasVectorPaintStacks, hitTestVectorNode, hitTestVectorNodes, hitTestVectorPaintLayer, hitTestVectorPaintStack, hitTestVectorStroke, hitVectorGradientAnnotator, inferAnchorType, insertAnchor, insertWidthPoint, interpolateMorphContours, interpolateRigidMatrix, interpolateVectorColor, interpolateVectorPaint, interpolateVectorPaths, interpolateVectorStyle, interpolateWidthProfiles, invertMatrix, isClosedBezierShape, isDrawnVectorPaintLayer, isIdentityMatrix, isPlainVectorPaintLayer, isUniformWidthProfile, isVectorBlendGroup, isVectorBlendMode, isVectorTextTarget, joinSubpaths, knifePath, lineSubpath, locateVectorNode, mapBezierPath, mapVectorPoints, mapVectorSubpaths, matrixRotation, mergePaths, mirrorWidthProfile, morphContourToSubpath, morphPathsCross, moveAnchorHandle, multiplyMatrices, nearestSegment, nearestStrokePosition, needsVectorPaintLayers, newVectorStrokeLayer, nextVectorCornerKind, nodeMatrix, normalizeVectorPaintStacks, offsetPaths, pathsCenter, planShapeBuilder, polygonSubpath, polylineBounds, pressureWidthProfile, puckerBloatPaths, recognizeInkShape, rectSubpath, refineMorphContour, refreshVectorBlends, releaseVectorBlend, removeAnchorKeepingShape, removeAnchors, removeAnchorsKeepingShape, removeRedundantPoints, removeWidthPoints, repeatPaths, resampleGradientStops, resolveVectorBlendOptions, reverseMorphContour, reverseSubpath, reverseWidthProfile, rotateMatrix, roundCornerPaths, roundSubpaths, samplePolyline, sanitizeVectorFills, sanitizeVectorStrokeSettings, sanitizeVectorStrokes, sanitizeWidthProfile, scaleFor, scaleMatrix, setAnchorCorner, setSubpathCorners, setWidthPoint, simplifyPolyline, smoothSubpath, splitIntoFaces, splitSubpathAt, starSubpath, strokePositionPoint, strokeWidthProfileOf, subpathEnclosesArea, subpathPointAt, subpathSegment, subpathSegmentCount, subpathToMorphContour, subpathsToBezier, taperWaveFactor, toVectorKeyInput, toVectorModifiers, toVectorPointerInput, transformVectorNode, translateAnchor, translateMatrix, trimIntervals, trimPaths, trimPathsIndividually, turnMorphContour, twistPaths, unionBounds, variableStrokeOutline, variableStrokeRings, vectorBlendColorDistance, vectorBlendKeyTargets, vectorBlendKeys, vectorBlendModeCss, vectorBlendModeFromCss, vectorBlendRail, vectorBlendRailAt, vectorBlendSpine, vectorBlendStepCount, vectorBoxCorners, vectorBuilderErasedEdges, vectorCornerAt, vectorCorners, vectorDiamondPath, vectorDistortQuad, vectorFillMap, vectorFills, vectorGradientBarPosition, vectorGradientTargetPath, vectorInkShapeName, vectorMeshFromOutline, vectorMeshOutline, vectorNodeBounds, vectorNodeRotation, vectorNodeToBezier, vectorPaintLayerNodes, vectorPaintSwatch, vectorPaintToHex, vectorParentMatrix, vectorPathData, vectorPathEntries, vectorPathWorldBezier, vectorPathfinderShape, vectorRepeaterCopies, vectorResizeCursor, vectorResultStyle, vectorShapeBuilderHit, vectorShapeBuilderMap, vectorShearForSide, vectorSkewMatrix, vectorStacksHaveGradient, vectorStrokeGradientDefs, vectorStrokeLineArea, vectorStrokeOutline, vectorStrokeOutlinePath, vectorStrokeParts, vectorStrokeReach, vectorStrokeSettings, vectorStrokeStackReach, vectorStrokeWidthGeometry, vectorStrokes, vectorTargetPaint, vectorToolLabel, vectorWorldMatrix, walkVectorNodes, widthProfileAt, widthProfileMaxScale, widthProfilePreset, widthProfilePresetId, wigglePaths, withVectorFills, withVectorStrokes, withVectorTargetPaint, zigzagPaths };
4011
+ export { type AddVectorNodeOptions, AffineMatrix$1 as AffineMatrix, DEFAULT_VECTOR_BLEND_DISTANCE, DEFAULT_VECTOR_BLEND_STEPS, DEFAULT_VECTOR_PATH_EDIT, DEFAULT_VECTOR_SNAP, IDENTITY_MATRIX, KAPPA, LazyMouse, type MapVectorSubpathsOptions, type NearestSegment, type RecognizeInkOptions, VECTOR_ARROWHEAD_LABELS, VECTOR_BLEND_MAX_SMOOTH_STEPS, VECTOR_BLEND_MAX_STEPS, VECTOR_BLEND_MODE_LABELS, VECTOR_BLEND_MODE_MENU, VECTOR_BLEND_SPACING_LABELS, VECTOR_BUILDER_HATCH_GAP, VECTOR_CLIPBOARD_TYPE, VECTOR_CONSTRUCTION_ANGLES, VECTOR_CORNER_KIND_LABELS, VECTOR_CORNER_WIDGET_INSET, VECTOR_DISTORT_TOLERANCE, VECTOR_EDIT_TOGGLES, VECTOR_EFFECT_MENU, VECTOR_ENVELOPE_STYLE_OPTIONS, VECTOR_FILL_GAP, VECTOR_GRADIENT_INTERPOLATION_LABELS, VECTOR_GRADIENT_MIDPOINT_GAP, VECTOR_GRADIENT_OFF_BAR, VECTOR_GRADIENT_SPREAD_LABELS, VECTOR_GRADIENT_STOP_GAP, VECTOR_GRADIENT_TYPE_LABELS, VECTOR_INK_MAX_CORNERS, VECTOR_MASK_TYPE_LABELS, VECTOR_MASK_TYPE_OPTIONS, VECTOR_OVERLAY_THEME, VECTOR_PATHFINDER_ACTIONS, VECTOR_PATHFINDER_LABELS, VECTOR_PATH_ACTIONS, VECTOR_PENCIL_STRING_PX, VECTOR_PRESSURE_NOMINAL, VECTOR_ROTATE_HANDLE_OFFSET, VECTOR_STROKE_ALIGN_LABELS, VECTOR_STROKE_GRADIENT_MODE_LABELS, VECTOR_STROKE_SETTING_KEYS, VECTOR_STYLE_KEYS, VECTOR_TOOL_GLYPHS, VECTOR_TOOL_SHORTCUTS, VECTOR_WIDTH_PRESETS, VECTOR_WIDTH_PRESET_IDS, VECTOR_WIDTH_PROFILE_MAX_POINTS, VECTOR_WIDTH_PROFILE_MAX_SCALE, VECTOR_WIDTH_SAME_T, type VariableStrokeOptions, Vec2$1 as Vec2, type VectorActionResult, VectorAlign, VectorAnchor, VectorAnchorRef, VectorAnchorType, type VectorAppearancePanelData, type VectorAppearancePanelLayer, VectorAppearanceShape, VectorArrange, VectorArrowAlign, VectorArrowhead, type VectorArrowheadShape, VectorAverageAxis, VectorBlend, type VectorBlendControls, type VectorBlendInput, VectorBlendMode, VectorBlendOptions, type VectorBlendRail, VectorBlendSpacing, type VectorBlendStart, VectorBooleanOperation, VectorBounds, type VectorBuilderHit, type VectorBuilderLinePiece, type VectorBuilderPreview, type VectorBuilderReplacement, type VectorBuilderTouched, type VectorCommandOptions, type VectorCornerInfo, VectorCornerKind, type VectorCornerWidget, VectorDefaults, type VectorDistortMode, VectorDistribute, VectorDocument, VectorEditorController, type VectorEditorOptions, type VectorEditorState, VectorEffect, VectorEffectParamSpec, VectorEffectParamsMap, VectorEffectType, type VectorEffectsPanelData, type VectorEffectsPanelItem, type VectorEnvelopePanelData, VectorEnvelopeParams, VectorFillRule, VectorFilter, VectorFilterParamSpec, VectorFilterType, type VectorFiltersPanelItem, VectorGradient, type VectorGradientAnnotator, type VectorGradientEditorData, VectorGradientHandle, VectorGradientInterpolation, type VectorGradientPart, VectorGradientPatch, VectorGradientSpread, VectorGradientStop, type VectorGradientTarget, VectorGradientType, VectorGroupNode, type VectorGuideKind, type VectorGuideLabel, type VectorGuideLine, VectorHandleRef, type VectorHitTestOptions, type VectorHover, type VectorInkShape, type VectorInteraction, type VectorKeyInput, VectorLineJoin, VectorMask, type VectorMaskClipShape, type VectorMaskGroup, type VectorMaskPanelData, type VectorMaskRegionShape, type VectorMaskRenderData, type VectorMaskResult, type VectorMaskSummary, VectorMaskType, VectorMergeMode, VectorModifiers, type VectorMorph, type VectorMorphContour, type VectorMorphCorrespondence, type VectorMorphOptions, VectorNode, type VectorNodeListing, type VectorOverlayRenderData, VectorPaint, VectorPaintDef, VectorPaintLayer, type VectorPaintLayerHit, type VectorPaintLayerNode, type VectorPathAction, type VectorPathEditOptions, type VectorPathEntry, type VectorPathKeyframe, VectorPathNode, type VectorPathfinderAction, VectorPathfinderOperation, type VectorPathfinderPaint, type VectorPointMap, type VectorPointSnap, type VectorPointerInput, type VectorRectSnap, type VectorRenderAnchor, type VectorRenderCornerWidget, VectorRenderFilter, type VectorRenderGradientAnnotator, type VectorRenderGroup, type VectorRenderGuideLabel, type VectorRenderGuideLine, type VectorRenderHandle, type VectorRenderMask, type VectorRenderNode, type VectorRenderPaintLayer, type VectorRenderPath, VectorRenderStrokeParts, type VectorRenderWidthPoint, type VectorRepeaterCopy, type VectorScaleSnap, type VectorSceneRenderData, 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, VectorStrokeAlign, VectorStrokeGradientMode, VectorStrokeLayer, type VectorStrokeParts, VectorStrokeSettings, type VectorStrokeSpot, VectorStyle, VectorSubpath, VectorSvgExportOptions, type VectorTaperOptions, VectorTool, VectorTransformHandle, VectorViewport, VectorWarpMesh, type VectorWaveOptions, type VectorWidthHandle, VectorWidthPoint, type VectorWidthPointEdit, type VectorWidthPointRef, type VectorWidthPreset, type VectorWidthPresetInfo, addBuilderHit, applyMatrix, applyMatrixLinear, applyVectorBlendOptions, arrowheadInset, arrowheadPath, arrowheadWeight, bendSegment, bezierToSubpaths, boundsFromPoints, boundsIntersect, cloneAnchor, cloneSubpath, cloneVectorDocument, cloneVectorNode, collectPathNodes, constrainToLeave, convertAnchor, cornerBisectorPoint, cornerRadiusChange, cornerSetback, correspondMorphContours, createVectorCommands, createVectorMorph, curvatureMoveAnchor, cutSubpathAt, dashIntervals, decomposeRigid, distortVectorNode, effectPathLength, effectPathVertexCount, effectiveStrokeAlign, ellipseSubpath, eraseFromFill, eraseFromOutline, eraserRegion, evaluateVectorPathKeyframes, expandVectorBlend, expandVectorCorners, expandVectorCornersOf, findVectorNode, fitCornerRadius, generateVectorBlendChildren, generateWidthProfile, getAnchor, getAnchorWorld, getEditablePathIds, getTransformHandlePositions, getVectorAppearancePanel, getVectorBlendControls, getVectorCornerWidgets, getVectorEffectsPanel, getVectorEnteredGroups, getVectorEnvelopePanel, getVectorEnvelopeTarget, getVectorGradientAnnotator, getVectorGradientEditor, getVectorMaskPanel, getVectorOverlayRenderData, getVectorSceneRenderData, getVectorSelectionBoxGeometry, getVectorSelectionFrame, getVectorSelectionStyle, getVectorWidthHandles, getVisibleAnchors, getVisibleHandles, hasPaint, hasStrokeExtras, hasVectorCorners, hasVectorPaintStacks, hitTestVectorNode, hitTestVectorNodes, hitTestVectorPaintLayer, hitTestVectorPaintStack, hitTestVectorStroke, hitVectorGradientAnnotator, inferAnchorType, insertAnchor, insertWidthPoint, interpolateMorphContours, interpolateRigidMatrix, interpolateVectorColor, interpolateVectorPaint, interpolateVectorPaths, interpolateVectorStyle, interpolateWidthProfiles, invertMatrix, isClosedBezierShape, isDrawnVectorPaintLayer, isIdentityMatrix, isPlainVectorPaintLayer, isUniformWidthProfile, isVectorBlendGroup, isVectorBlendMode, isVectorMaskActive, isVectorMaskGroup, isVectorMaskType, isVectorTextTarget, joinSubpaths, knifePath, lineSubpath, locateVectorNode, mapBezierPath, mapVectorPoints, mapVectorSubpaths, matrixRotation, mergePaths, mirrorWidthProfile, morphContourToSubpath, morphPathsCross, moveAnchorHandle, multiplyMatrices, nearestSegment, nearestStrokePosition, needsVectorPaintLayers, newVectorStrokeLayer, nextVectorCornerKind, nodeMatrix, normalizeVectorPaintStacks, offsetPaths, pathsCenter, planShapeBuilder, polygonSubpath, polylineBounds, pressureWidthProfile, puckerBloatPaths, recognizeInkShape, rectSubpath, refineMorphContour, refreshVectorBlends, releaseVectorBlend, removeAnchorKeepingShape, removeAnchors, removeAnchorsKeepingShape, removeRedundantPoints, removeWidthPoints, repeatPaths, resampleGradientStops, resolveVectorBlendOptions, reverseMorphContour, reverseSubpath, reverseWidthProfile, rotateMatrix, roundCornerPaths, roundSubpaths, samplePolyline, sanitizeVectorFills, sanitizeVectorMask, sanitizeVectorStrokeSettings, sanitizeVectorStrokes, sanitizeWidthProfile, scaleFor, scaleMatrix, setAnchorCorner, setSubpathCorners, setWidthPoint, simplifyPolyline, smoothSubpath, splitIntoFaces, splitSubpathAt, starSubpath, strokePositionPoint, strokeWidthProfileOf, subpathEnclosesArea, subpathPointAt, subpathSegment, subpathSegmentCount, subpathToMorphContour, subpathsToBezier, taperWaveFactor, toVectorKeyInput, toVectorModifiers, toVectorPointerInput, transformVectorNode, translateAnchor, translateMatrix, trimIntervals, trimPaths, trimPathsIndividually, turnMorphContour, twistPaths, unionBounds, variableStrokeOutline, variableStrokeRings, vectorBlendColorDistance, vectorBlendKeyTargets, vectorBlendKeys, vectorBlendModeCss, vectorBlendModeFromCss, vectorBlendRail, vectorBlendRailAt, vectorBlendSpine, vectorBlendStepCount, vectorBoxCorners, vectorBuilderErasedEdges, vectorCornerAt, vectorCorners, vectorDiamondPath, vectorDistortQuad, vectorFillMap, vectorFills, vectorGradientBarPosition, vectorGradientTargetPath, vectorInkShapeName, vectorMaskContains, vectorMaskContentBounds, vectorMaskContents, vectorMaskOwner, vectorMaskRegion, vectorMaskRegionPath, vectorMaskRegionShapes, vectorMaskRenderData, vectorMaskSource, vectorMaskSummary, vectorMaskedGeometry, vectorMaskedLocalBounds, vectorMaskedShapes, vectorMeshFromOutline, vectorMeshOutline, vectorNodeBounds, vectorNodeRotation, vectorNodeToBezier, vectorPaintLayerNodes, vectorPaintSwatch, vectorPaintToHex, vectorParentMatrix, vectorPathData, vectorPathEntries, vectorPathWorldBezier, vectorPathfinderShape, vectorRepeaterCopies, vectorResizeCursor, vectorResultStyle, vectorShapeBuilderHit, vectorShapeBuilderMap, vectorShearForSide, vectorSkewMatrix, vectorStacksHaveGradient, vectorStrokeGradientDefs, vectorStrokeLineArea, vectorStrokeOutline, vectorStrokeOutlinePath, vectorStrokeParts, vectorStrokeReach, vectorStrokeSettings, vectorStrokeStackReach, vectorStrokeWidthGeometry, vectorStrokes, vectorTargetPaint, vectorToolLabel, vectorWorldMatrix, walkVectorNodes, widthProfileAt, widthProfileMaxScale, widthProfilePreset, widthProfilePresetId, wigglePaths, withVectorFills, withVectorStrokes, withVectorTargetPaint, zigzagPaths };