@pixerate/editor 0.106.0 → 0.108.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 (70) hide show
  1. package/THIRD_PARTY_NOTICES.md +4 -0
  2. package/dist/animation-editor/index.cjs +39 -39
  3. package/dist/animation-editor/index.d.cts +1 -1
  4. package/dist/animation-editor/index.d.ts +1 -1
  5. package/dist/animation-editor/index.js +1 -1
  6. package/dist/{chunk-DS7KDKPX.js → chunk-3PHA3UKI.js} +2 -2
  7. package/dist/{chunk-ZID226ZG.cjs → chunk-FRD3FUXI.cjs} +172 -172
  8. package/dist/{chunk-ZID226ZG.cjs.map → chunk-FRD3FUXI.cjs.map} +1 -1
  9. package/dist/{chunk-67FRIOPZ.js → chunk-G4BIYE6R.js} +2 -2
  10. package/dist/{chunk-PV42JITT.cjs → chunk-HUFQD4CB.cjs} +44 -44
  11. package/dist/{chunk-PV42JITT.cjs.map → chunk-HUFQD4CB.cjs.map} +1 -1
  12. package/dist/{chunk-63EFQCT5.js → chunk-HUQ7EHVI.js} +1140 -371
  13. package/dist/chunk-HUQ7EHVI.js.map +1 -0
  14. package/dist/{chunk-4X5MIVCE.js → chunk-SOROZ2BF.js} +3 -3
  15. package/dist/{chunk-CRMAXIUV.cjs → chunk-SZ6KMZNM.cjs} +157 -8
  16. package/dist/chunk-SZ6KMZNM.cjs.map +1 -0
  17. package/dist/{chunk-WSTEXEKD.cjs → chunk-T3QZ6S47.cjs} +92 -92
  18. package/dist/{chunk-WSTEXEKD.cjs.map → chunk-T3QZ6S47.cjs.map} +1 -1
  19. package/dist/{chunk-KANRAHTL.cjs → chunk-UTEVPQTS.cjs} +1353 -584
  20. package/dist/chunk-UTEVPQTS.cjs.map +1 -0
  21. package/dist/{chunk-HEW6KDNI.js → chunk-WMBIJCHA.js} +155 -6
  22. package/dist/chunk-WMBIJCHA.js.map +1 -0
  23. package/dist/{compositor-Bc3PNP3C.d.cts → compositor-D92URMlm.d.cts} +1 -1
  24. package/dist/{compositor-BsYYllvR.d.ts → compositor-Kt_M4ruo.d.ts} +1 -1
  25. package/dist/{export-_m3Es4ru.d.cts → export-JGWQEPJn.d.cts} +3 -3
  26. package/dist/{export-iMrop3Jm.d.ts → export-a9bnF7Cl.d.ts} +3 -3
  27. package/dist/image-editor/index.cjs +627 -619
  28. package/dist/image-editor/index.cjs.map +1 -1
  29. package/dist/image-editor/index.d.cts +8 -8
  30. package/dist/image-editor/index.d.ts +8 -8
  31. package/dist/image-editor/index.js +12 -4
  32. package/dist/image-editor/index.js.map +1 -1
  33. package/dist/{mixer-C1M1Nua_.d.cts → mixer-5ziHU8OS.d.cts} +1 -1
  34. package/dist/{mixer-Cu5a9Bzd.d.ts → mixer-DNqiYXYQ.d.ts} +1 -1
  35. package/dist/paint/index.cjs +3 -3
  36. package/dist/paint/index.d.cts +2 -2
  37. package/dist/paint/index.d.ts +2 -2
  38. package/dist/paint/index.js +2 -2
  39. package/dist/paint-editor/index.cjs +365 -132
  40. package/dist/paint-editor/index.cjs.map +1 -1
  41. package/dist/paint-editor/index.d.cts +113 -8
  42. package/dist/paint-editor/index.d.ts +113 -8
  43. package/dist/paint-editor/index.js +249 -16
  44. package/dist/paint-editor/index.js.map +1 -1
  45. package/dist/raster/index.cjs +11 -3
  46. package/dist/raster/index.cjs.map +1 -1
  47. package/dist/raster/index.d.cts +4 -4
  48. package/dist/raster/index.d.ts +4 -4
  49. package/dist/raster/index.js +10 -2
  50. package/dist/{surface-BBJN9wxg.d.ts → surface-CkKOHGPm.d.cts} +20 -2
  51. package/dist/{surface-BBJN9wxg.d.cts → surface-CkKOHGPm.d.ts} +20 -2
  52. package/dist/{svg-Bj1MQFh6.d.cts → svg-ClVIG4T7.d.cts} +26 -2
  53. package/dist/{svg-vme0PLNo.d.ts → svg-SseJTIrA.d.ts} +26 -2
  54. package/dist/vector/index.cjs +977 -948
  55. package/dist/vector/index.cjs.map +1 -1
  56. package/dist/vector/index.d.cts +266 -7
  57. package/dist/vector/index.d.ts +266 -7
  58. package/dist/vector/index.js +427 -398
  59. package/dist/vector/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/skills/pixerate-image-editor/SKILL.md +50 -7
  62. package/skills/pixerate-paint-editor/SKILL.md +21 -1
  63. package/skills/pixerate-vector/SKILL.md +35 -5
  64. package/dist/chunk-63EFQCT5.js.map +0 -1
  65. package/dist/chunk-CRMAXIUV.cjs.map +0 -1
  66. package/dist/chunk-HEW6KDNI.js.map +0 -1
  67. package/dist/chunk-KANRAHTL.cjs.map +0 -1
  68. /package/dist/{chunk-DS7KDKPX.js.map → chunk-3PHA3UKI.js.map} +0 -0
  69. /package/dist/{chunk-67FRIOPZ.js.map → chunk-G4BIYE6R.js.map} +0 -0
  70. /package/dist/{chunk-4X5MIVCE.js.map → chunk-SOROZ2BF.js.map} +0 -0
@@ -1,5 +1,5 @@
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 { 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 VectorMaskType, K as VectorMask, L as VectorAverageAxis, M as VectorWarpMesh, N as VectorFillRule, O as VectorRenderFilter, P as VectorAppearanceShape, Q as VectorArrowhead, R as VectorBlendSpacing, S as VectorGradientInterpolation, T as VectorGradientSpread, U as VectorGradientType, W as VectorStrokeAlign, X as VectorStrokeGradientMode, Y as VectorFilterParamSpec, Z as VectorEffectParamSpec, _ as VectorRenderStrokeParts, $ as VectorPaintDef, a0 as VectorArrowAlign, a1 as VectorEffect, a2 as VectorPaintLayer, a3 as VectorStrokeLayer, a4 as VectorFilter, a5 as VectorBlend, a6 as VectorMergeMode, a7 as VectorLineJoin, a8 as VectorEffectParamsMap, a9 as VectorStrokeSettings } from '../svg-SseJTIrA.js';
2
+ export { aa as VECTOR_ARROWHEADS, ab as VECTOR_BLEND_MODES, ac as VECTOR_BLEND_SPACINGS, ad as VECTOR_CORNER_KINDS, ae as VECTOR_EFFECT_DEFAULTS, af as VECTOR_EFFECT_LABELS, ag as VECTOR_EFFECT_PARAM_SPECS, ah as VECTOR_EFFECT_TYPES, ai as VECTOR_FILTER_DEFAULTS, aj as VECTOR_FILTER_LABELS, ak as VECTOR_FILTER_MENU, al as VECTOR_FILTER_PARAM_SPECS, am as VECTOR_FILTER_TYPES, an as VECTOR_GRADIENT_INTERPOLATIONS, ao as VECTOR_GRADIENT_MAX_PERIODS, ap as VECTOR_GRADIENT_MIN_STOPS, aq as VECTOR_GRADIENT_SPREADS, ar as VECTOR_GRADIENT_TYPES, as as VECTOR_MASK_TYPES, at as VECTOR_MERGE_MODES, au as VECTOR_PATHFINDER_OPERATIONS, av as VECTOR_STROKE_GRADIENT_MODES, aw as VECTOR_TOOLS, ax as VECTOR_TRANSFORM_HANDLES, ay as VectorBooleanOperand, az as VectorCorner, aA as VectorFilterParamsMap, aB as VectorFilterPrimitive, aC as VectorGradientPoints, aD as VectorGradientRamp, aE as VectorGradientSvgOptions, aF as VectorGradientUnits, aG as VectorLineCap, aH as VectorMatrix, aI as VectorPaintSvgOptions, aJ as VectorRgba, aK as VectorStrokeLayerKind, aL as VectorSvgImportOptions, aM as VectorSvgPatternDef, aN as VectorSvgWrapper, aO as VectorWarpStyle, aP as activeVectorEffects, aQ as activeVectorFilters, aR as applyVectorCornersAttribute, aS as applyVectorEffects, aT as applyVectorGradientPatch, aU as applyVectorGradientSpread, aV as clearVectorLiveBooleanCache, aW as convertVectorGradient, aX as createVectorEffect, aY as createVectorFilter, aZ as defaultVectorGradient, a_ as expandVectorAppearance, a$ as expandVectorAppearances, b0 as expandVectorGradientSpread, b1 as expandVectorGradientStops, b2 as explicitVectorGradient, b3 as foldVectorBooleanOperands, b4 as gradientMidpointRemap, b5 as hasExplicitGradientGeometry, b6 as hasOwnVectorAppearance, b7 as hasVectorAppearance, b8 as insertVectorGradientStop, b9 as isCentredVectorGradient, ba as isVectorFilterType, bb as isVectorGradient, bc as isVectorLiveBoolean, bd as mapVectorGradient, be as mapVectorPaint, bf as moveVectorGradientHandle, bg as moveVectorGradientStop, bh as normalizeVectorEffectParams, bi as normalizeVectorFilterParams, bj as parseSvgTransform, bk as parseVectorColor, bl as parseVectorSvg, bm as patternAttrs, bn as periodicVectorGradientStops, bo as pinVectorGradient, bp as removeVectorGradientStop, bq as reverseVectorGradient, br as samplePlainStops, bs as sampleVectorGradient, bt as sampleVectorGradientAt, bu as sampleVectorPaintDefAt, bv as sanitizeVectorEffects, bw as sanitizeVectorFilters, bx as sanitizeVectorGradient, by as setVectorGradientVector, bz as sortedVectorGradientStops, bA as spanVectorGradientStops, bB as transformVectorEffects, bC as transformVectorGradient, bD as transformVectorPaint, bE as vectorAppearanceNodes, bF as vectorAppearanceOutline, bG as vectorAppearanceShapes, bH as vectorBoxMatrix, bI as vectorChildAppearanceShapes, bJ as vectorCornersAttribute, bK as vectorDocumentToSvg, bL as vectorEffectInputBounds, bM as vectorEffectInputPaths, bN as vectorEnteredGroups, bO as vectorEnvelopeFrame, bP as vectorEnvelopeMap, bQ as vectorEnvelopeMesh, bR as vectorFilterMarkup, bS as vectorFilterParamKeys, bT as vectorFilterReach, bU as vectorFilterSvg, bV as vectorGradientArea, bW as vectorGradientAspect, bX as vectorGradientFocalParam, bY as vectorGradientHandles, bZ as vectorGradientMatrix, b_ as vectorGradientMidpointFromPosition, b$ as vectorGradientMidpointPosition, c0 as vectorGradientNeedsExpansion, c1 as vectorGradientParam, c2 as vectorGradientPoints, c3 as vectorGradientRamp, c4 as vectorGradientSvgDefs, c5 as vectorGradientTAt, c6 as vectorGradientUnitsMatrix, c7 as vectorLiveBooleanSteps, c8 as vectorNodeEnvelope, c9 as vectorNodeFilterSvg, ca as vectorNodeLocalPaintBounds, cb as vectorOperandOperation, cc as vectorPaintToSvg, cd as vectorPathLocalBounds, ce as vectorStrokeSvgParts, cf as widthProfileFromAttribute, cg as widthProfileToAttribute } from '../svg-SseJTIrA.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';
@@ -102,7 +102,7 @@ declare function vectorPathWorldBezier(node: VectorPathNode, parent?: AffineMatr
102
102
  /**
103
103
  * Geometric bounds of a node (stroke width not included) in the space `parent` maps to —
104
104
  * by default the node's parent space, which for top-level nodes is the document. Null when
105
- * the node has no points.
105
+ * the node has no points. A mask group is bounded by its masked result.
106
106
  */
107
107
  declare function vectorNodeBounds(node: VectorNode, parent?: AffineMatrix$1): VectorBounds | null;
108
108
  /** The smallest box around all non-null boxes, or null. */
@@ -122,7 +122,9 @@ interface VectorHitTestOptions {
122
122
  /**
123
123
  * Whether `p` hits a node as drawn (path effects and live booleans applied): inside its fill
124
124
  * (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.
125
+ * `tolerance` of either. A group is hit when any visible child is; a mask group when a child
126
+ * above the mask is, where the mask lets it through. An entered mask group is hit by its children
127
+ * as stored, the mask by its outline when it clips.
126
128
  */
127
129
  declare function hitTestVectorNode(node: VectorNode, p: Vec2$1, tolerance?: number, parent?: AffineMatrix$1, options?: VectorHitTestOptions): boolean;
128
130
  /**
@@ -1008,6 +1010,14 @@ type VectorActionResult = {
1008
1010
  ok: false;
1009
1011
  message: string;
1010
1012
  };
1013
+ /** What Make Clipping Mask / Make Opacity Mask return: the new group's id, or why not. */
1014
+ type VectorMaskResult = {
1015
+ ok: true;
1016
+ id: string;
1017
+ } | {
1018
+ ok: false;
1019
+ message: string;
1020
+ };
1011
1021
  /** The shape the Blend tool blends from (its first click). */
1012
1022
  interface VectorBlendStart {
1013
1023
  nodeId: string;
@@ -1830,6 +1840,51 @@ declare class VectorEditorController {
1830
1840
  * the blend group's id, or null.
1831
1841
  */
1832
1842
  blend(input?: VectorBlendInput): string | null;
1843
+ /**
1844
+ * Make Clipping Mask (`clip`) / Make Opacity Mask (`alpha`, `luminance`): groups the selected (or
1845
+ * given) objects into a mask group whose mask is the topmost of them (or `maskId`), moved to the
1846
+ * bottom of the group. They must be two or more, unlocked, with one parent. One undo step.
1847
+ * Returns the group's id, or why it could not.
1848
+ */
1849
+ makeMask(type: VectorMaskType, options?: {
1850
+ ids?: readonly string[];
1851
+ maskId?: string;
1852
+ invert?: boolean;
1853
+ name?: string;
1854
+ }): VectorMaskResult;
1855
+ /** Mask groups among `ids` (default: the selection), or holding one of them directly. */
1856
+ private maskTargets;
1857
+ /**
1858
+ * Release: the selected (or given) mask groups stop masking. The mask goes back on top of the
1859
+ * contents, drawn as itself again. A group with appearance of its own (filters, a blend mode,
1860
+ * path effects) stays a plain group; otherwise it is replaced by its children. One undo step.
1861
+ * Returns the released nodes' ids (the mask last).
1862
+ */
1863
+ releaseMask(options?: {
1864
+ ids?: readonly string[];
1865
+ }): string[];
1866
+ /**
1867
+ * Changes the type or inversion of the selected (or given) mask groups, or turns their masks off
1868
+ * (`enabled: false` hides the mask, so the contents draw whole) and on. One undo step.
1869
+ */
1870
+ setMaskOptions(patch: Partial<VectorMask> & {
1871
+ enabled?: boolean;
1872
+ }, options?: {
1873
+ ids?: readonly string[];
1874
+ }): VectorActionResult;
1875
+ /**
1876
+ * Edit Mask: selects the mask of the selected (or given) mask group, or of the group holding the
1877
+ * selection. A path mask opens in the direct tool for anchor editing (`editPath: false` keeps the
1878
+ * tool). Returns the mask's id, or null.
1879
+ */
1880
+ editMask(options?: {
1881
+ id?: string;
1882
+ editPath?: boolean;
1883
+ }): string | null;
1884
+ /** Edit Contents: selects what the selected (or given) mask group masks. Returns their ids. */
1885
+ editMaskContents(options?: {
1886
+ id?: string;
1887
+ }): string[];
1833
1888
  /** Sets the options new blends get (spacing, steps, distance, orientation, morph). */
1834
1889
  setBlendDefaults(patch: Partial<VectorBlendOptions>): void;
1835
1890
  /**
@@ -2107,6 +2162,150 @@ declare function scaleFor(handle: VectorTransformHandle, b: VectorBounds, p: Vec
2107
2162
  origin: Vec2$1;
2108
2163
  };
2109
2164
 
2165
+ /**
2166
+ * Masks and clipping. A group with `mask` set is a mask group: its first (bottom) child is the
2167
+ * mask and the children above it (the contents) show only where the mask lets them.
2168
+ *
2169
+ * - `clip`: a clipping mask, by the mask's outline (every path inside it, filled by its own fill
2170
+ * rule, whatever its paint; the mask's paint is not drawn). Drawn as an SVG `<clipPath>`.
2171
+ * - `alpha` / `luminance`: an opacity mask, by the mask's drawn alpha or its brightness (times its
2172
+ * alpha). Drawn as an SVG `<mask>` holding the mask as drawn (`mask-type="alpha"` for alpha).
2173
+ * - `invert` swaps what shows and what hides. An inverted clip is the even-odd clip of a large
2174
+ * rectangle with the mask's outline (its boolean union) cut out of it, as pdfcraft's redaction
2175
+ * clips content out of a region; an inverted opacity mask draws the mask through a colour
2176
+ * matrix filter that turns its alpha (or brightness) upside down.
2177
+ *
2178
+ * Geometry uses the masked result: the contents' shapes clipped by the mask's region (its outline
2179
+ * for clips, its painted area for opacity masks) with our booleans, open paths cut where they
2180
+ * cross it. Bounds, hit-testing, snapping, outlines, booleans and the Pathfinder all read it
2181
+ * through `vectorAppearanceShapes`. An opacity mask is hit and bounded by where it paints at all,
2182
+ * not by how strongly: a dark luminance mask still counts.
2183
+ *
2184
+ * A hidden mask child turns the mask off and the contents draw whole (figcraft
2185
+ * `crates/doc/src/geometry.rs`: a hidden mask doesn't clip). The group's own opacity, blend mode
2186
+ * and filters apply after masking (its drop shadow follows the masked silhouette), and its path
2187
+ * effects act on the contents only, not on the mask.
2188
+ *
2189
+ * Extension point for lens objects: a lens is a shape that changes what is beneath it (blur,
2190
+ * magnify, recolour). It will reuse this module's pieces rather than the mask group model: the
2191
+ * region of a shape (`vectorMaskRegionShapes` with the lens as the source) clips a filtered copy
2192
+ * of the backdrop the way `vectorMaskRenderData` clips the contents, and hit-testing and bounds
2193
+ * stay those of the lens shape itself. See `VectorMaskRenderData` for where a renderer draws it.
2194
+ *
2195
+ * The mask model (`is_mask`, `MaskType`: alpha, vector, luminance; hidden masks off) follows
2196
+ * figcraft `crates/doc/src/node.rs` and `geometry.rs`; clipping a node's drawing to a shape layer
2197
+ * by layer follows designcraft `crates/render/src/fx.rs` (`push_clip_layer` around each body); the
2198
+ * inverted clip follows pdfcraft `crates/redact/src/interp.rs` (`clip_out`). Ported from ArtCraft
2199
+ * (MIT OR Apache-2.0, © ArtCraft Team and contributors; see THIRD_PARTY_NOTICES.md).
2200
+ */
2201
+
2202
+ /** A group whose `mask` takes effect (not a blend or live boolean, with a child to be the mask). */
2203
+ type VectorMaskGroup = VectorGroupNode & {
2204
+ mask: VectorMask;
2205
+ };
2206
+ /** Whether `value` is a mask type. */
2207
+ declare function isVectorMaskType(value: unknown): value is VectorMaskType;
2208
+ /** Reads mask settings from untrusted data (JSON, agent input, SVG data attributes); null when invalid. */
2209
+ declare function sanitizeVectorMask(value: unknown): VectorMask | null;
2210
+ /** Whether a node is a mask group: a group with `mask`, at least one child, and not a blend or live boolean. */
2211
+ declare function isVectorMaskGroup(node: VectorNode | null | undefined): node is VectorMaskGroup;
2212
+ /** Whether a mask group's mask is on: its mask child is visible. */
2213
+ declare function isVectorMaskActive(node: VectorNode | null | undefined): node is VectorMaskGroup;
2214
+ /** A mask group's mask (its first child), or null. */
2215
+ declare function vectorMaskSource(node: VectorNode | null | undefined): VectorNode | null;
2216
+ /** The children a mask group masks (all but the first); a plain group's children. */
2217
+ declare function vectorMaskContents(group: VectorGroupNode): VectorNode[];
2218
+ /** The mask group whose mask is `id`, or null. */
2219
+ declare function vectorMaskOwner(nodes: readonly VectorNode[], id: string): VectorMaskGroup | null;
2220
+ /** What agents and panels read about a mask group. */
2221
+ interface VectorMaskSummary {
2222
+ type: VectorMaskType;
2223
+ invert: boolean;
2224
+ /** Id of the mask (the group's first child). */
2225
+ maskId: string;
2226
+ /** Ids of the masked contents, bottom to top. */
2227
+ contents: string[];
2228
+ /** False while the mask child is hidden (the contents draw whole). */
2229
+ enabled: boolean;
2230
+ }
2231
+ /** A mask group's settings, mask and contents, or null for any other node. */
2232
+ declare function vectorMaskSummary(node: VectorNode | null | undefined): VectorMaskSummary | null;
2233
+ /** One shape of a mask's region: a path (in the mask group's own space) and the rule that fills it. */
2234
+ interface VectorMaskRegionShape {
2235
+ path: BezierPath;
2236
+ fillRule: VectorFillRule;
2237
+ }
2238
+ /**
2239
+ * The area `node` covers as a mask of `type`, in the space `parent` maps it to: for a clip, the
2240
+ * outline of every visible path inside it (effects applied), whatever its paint; for an opacity
2241
+ * mask, where it paints (drawn fills, and drawn strokes as their outlines). A nested mask group
2242
+ * covers its masked result. `self` counts the node even when hidden (the mask itself).
2243
+ */
2244
+ declare function vectorMaskRegionShapes(node: VectorNode, type: VectorMaskType, parent?: AffineMatrix$1, self?: boolean): VectorMaskRegionShape[];
2245
+ /** The region of a mask group's mask in the group's own space (not inverted). Cached per group object. */
2246
+ declare function vectorMaskRegion(group: VectorMaskGroup): VectorMaskRegionShape[];
2247
+ /** The mask's region as one clean path (a boolean union, read nonzero or even-odd alike). Cached per group object. */
2248
+ declare function vectorMaskRegionPath(group: VectorMaskGroup): BezierPath;
2249
+ /**
2250
+ * Whether a mask group's mask lets point `p` (the group's own space) through: inside its region,
2251
+ * or outside it when inverted. `tolerance` widens what counts as through (its edge, either way).
2252
+ * Always true while the mask is off.
2253
+ */
2254
+ declare function vectorMaskContains(group: VectorMaskGroup, p: Vec2$1, tolerance?: number): boolean;
2255
+ /**
2256
+ * What a mask group draws as shapes in its own space: its contents' shapes (their own effects
2257
+ * applied, then the group's), each clipped by the mask's region. The appearance code calls this
2258
+ * for mask groups (`vectorAppearanceShapes`), so use that instead (it caches).
2259
+ */
2260
+ declare function vectorMaskedShapes(group: VectorMaskGroup): VectorAppearanceShape[];
2261
+ /**
2262
+ * The node with every working mask group inside it replaced by a plain group of its masked shapes
2263
+ * (ids `<group id>~fx<n>`, placement kept): the geometry booleans, the Pathfinder, the Shape
2264
+ * Builder and the paint bucket work with. The node itself when it holds no mask.
2265
+ */
2266
+ declare function vectorMaskedGeometry(node: VectorNode): VectorNode;
2267
+ /** Bounds of a mask group's masked result in its own space (stroke widths not included), or null. */
2268
+ declare function vectorMaskedLocalBounds(group: VectorMaskGroup): VectorBounds | null;
2269
+ /**
2270
+ * The box a mask group's contents can draw over, in its own space (strokes and filters included,
2271
+ * with a margin): the `<mask>` region, the filter region of an inverted opacity mask and the
2272
+ * rectangle an inverted clip cuts the mask out of. Null without contents.
2273
+ */
2274
+ declare function vectorMaskContentBounds(group: VectorMaskGroup): VectorBounds | null;
2275
+ /** One path of a clipping mask's `<clipPath>` (group space). */
2276
+ interface VectorMaskClipShape {
2277
+ d: string;
2278
+ clipRule: VectorFillRule;
2279
+ }
2280
+ /**
2281
+ * How to draw a mask group's mask, in the group's own space. Draw the group's own `<g>` (transform,
2282
+ * opacity, blend mode, filter) holding an inner `<g>` with the contents, referencing:
2283
+ * - `clip`: a `<clipPath id>` holding each of `clip` as `<path d clip-rule>`;
2284
+ * - `alpha` / `luminance`: a `<mask id maskUnits="userSpaceOnUse" x y width height>` over
2285
+ * `bounds` (with `mask-type="alpha"` for alpha) holding the mask node as drawn, wrapped in
2286
+ * `<g filter={filter}>` when `filter` is set (an inverted mask).
2287
+ */
2288
+ interface VectorMaskRenderData {
2289
+ type: VectorMaskType;
2290
+ invert: boolean;
2291
+ /** Id of the `<clipPath>` or `<mask>` element. */
2292
+ id: string;
2293
+ /** Clip shapes (clipping masks). An inverted clip is one even-odd shape: a rectangle with the mask's outline cut out. */
2294
+ clip?: VectorMaskClipShape[];
2295
+ /** Region of the `<mask>` (opacity masks). */
2296
+ bounds?: VectorBounds;
2297
+ /** `url(#id)` of the inverting filter (inverted opacity masks; in `filters`). */
2298
+ filter?: string;
2299
+ /** The inverting filter itself (inverted opacity masks). */
2300
+ invertFilter?: VectorRenderFilter;
2301
+ }
2302
+ /**
2303
+ * A mask group's mask as render data with element id `id` (and `filterId` for an inverting
2304
+ * filter), or null when the mask is off or the group has no contents. Shared by the canvases and
2305
+ * SVG export.
2306
+ */
2307
+ declare function vectorMaskRenderData(group: VectorMaskGroup, id: string, filterId: string, precision?: number): VectorMaskRenderData | null;
2308
+
2110
2309
  interface VectorRenderPath {
2111
2310
  kind: 'path';
2112
2311
  id: string;
@@ -2171,8 +2370,20 @@ interface VectorRenderGroup {
2171
2370
  blendMode?: string;
2172
2371
  /** `url(#id)` of the group's filter in `filters`. */
2173
2372
  filter?: string;
2373
+ /**
2374
+ * Set on a mask group whose mask is on: `children` are then the masked contents only. Draw them
2375
+ * in an inner `<g>` with `clip-path` / `mask` referencing the `<clipPath>` / `<mask>` that
2376
+ * `mask` describes (`mask.nodes`: the mask drawn into a `<mask>`). The group's own transform,
2377
+ * opacity, blend mode and filter stay on the outer `<g>`, so they apply to the masked result.
2378
+ */
2379
+ mask?: VectorRenderMask;
2174
2380
  children: VectorRenderNode[];
2175
2381
  }
2382
+ /** A mask group's mask as render data (see `VectorMaskRenderData`), with the mask drawn as nodes for opacity masks. */
2383
+ interface VectorRenderMask extends Omit<VectorMaskRenderData, 'invertFilter'> {
2384
+ /** The mask as drawn, for the `<mask>` of an opacity mask (in the group's own space). */
2385
+ nodes?: VectorRenderNode[];
2386
+ }
2176
2387
  type VectorRenderNode = VectorRenderPath | VectorRenderGroup;
2177
2388
  interface VectorSceneRenderData {
2178
2389
  /** SVG `transform` for the document layer: `translate(x y) scale(zoom)`. */
@@ -2395,6 +2606,20 @@ interface VectorOverlayRenderData {
2395
2606
  };
2396
2607
  /** The gradient tool's annotator over the selection's gradient (screen space), or null. */
2397
2608
  gradient: VectorRenderGradientAnnotator | null;
2609
+ /**
2610
+ * Mask indicators (screen space): the outline of the mask of each mask group that is selected
2611
+ * or holds the selection (`d`, draw it dashed), with its type, whether it is inverted, and
2612
+ * whether the mask itself is selected (`editing`).
2613
+ */
2614
+ masks: {
2615
+ id: string;
2616
+ maskId: string;
2617
+ d: string;
2618
+ type: VectorMaskType;
2619
+ invert: boolean;
2620
+ enabled: boolean;
2621
+ editing: boolean;
2622
+ }[];
2398
2623
  /** A short status, e.g. "W 120 × H 80" or "45°". */
2399
2624
  status: string | null;
2400
2625
  }
@@ -2532,6 +2757,9 @@ declare const VECTOR_OVERLAY_THEME: {
2532
2757
  readonly builderEraseFill: "rgba(239, 68, 68, 0.22)";
2533
2758
  /** Opacity of the hatch lines over Shape Builder faces (drawn in the face's outline colour). */
2534
2759
  readonly builderHatchOpacity: 0.6;
2760
+ /** Mask indicators: the outline of a selected mask group's mask (dashed; solid while the mask is selected). */
2761
+ readonly mask: "#8b5cf6";
2762
+ readonly maskDash: "5 3";
2535
2763
  };
2536
2764
  /** SVG path data of the diamond a width point is drawn with (screen pixels). */
2537
2765
  declare function vectorDiamondPath(x: number, y: number, r?: number): string;
@@ -2773,6 +3001,31 @@ declare const VECTOR_BLEND_MODE_MENU: readonly {
2773
3001
  mode: VectorBlendMode;
2774
3002
  label: string;
2775
3003
  }[];
3004
+ declare const VECTOR_MASK_TYPE_LABELS: Readonly<Record<VectorMaskType, string>>;
3005
+ /** Mask types for a menu, with a hint each. */
3006
+ declare const VECTOR_MASK_TYPE_OPTIONS: readonly {
3007
+ value: VectorMaskType;
3008
+ label: string;
3009
+ title: string;
3010
+ }[];
3011
+ /** What the mask panel shows for the selection. */
3012
+ interface VectorMaskPanelData {
3013
+ /** Make Clipping Mask / Make Opacity Mask would work: two or more unlocked objects sharing a parent. */
3014
+ canMake: boolean;
3015
+ /** Why the make actions are off, for a tooltip (null when they are on). */
3016
+ makeHint: string | null;
3017
+ /**
3018
+ * The mask group the selection is or is directly inside, with its settings and what of it is
3019
+ * selected (`group` itself, its `mask` or its `contents`); null otherwise.
3020
+ */
3021
+ group: (VectorMaskSummary & {
3022
+ id: string;
3023
+ name?: string;
3024
+ editing: 'group' | 'mask' | 'contents';
3025
+ }) | null;
3026
+ }
3027
+ /** The mask panel's data for the selection, or null with nothing selected. */
3028
+ declare function getVectorMaskPanel(state: Pick<VectorEditorState, 'document' | 'selection'>): VectorMaskPanelData | null;
2776
3029
 
2777
3030
  interface VectorCommandOptions {
2778
3031
  /** Id prefix (default `vector.`); use one per editor when several are registered. */
@@ -2832,6 +3085,8 @@ interface VectorNodeListing {
2832
3085
  blendMode?: VectorBlendMode;
2833
3086
  /** The node's visual filters (shadows, glows, blurs, feather). */
2834
3087
  filters?: VectorFilter[];
3088
+ /** A mask group's mask: type, inversion, the mask's id (its first child) and the masked contents. */
3089
+ mask?: VectorMaskSummary;
2835
3090
  }
2836
3091
  /**
2837
3092
  * Palette and agent commands for a vector editor: list, select, add shapes and paths, style,
@@ -2939,9 +3194,13 @@ declare function eraseFromFill(path: BezierPathInput, fillRule: FillRule, region
2939
3194
  /**
2940
3195
  * The parts of a subpath's outline outside `region`, as open subpaths that keep the original
2941
3196
  * 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.
3197
+ * and first parts join at its first anchor. With `keep: 'inside'` the parts inside the region are
3198
+ * kept instead (null when the outline never leaves it), as a clipping mask clips an open path.
2943
3199
  */
2944
- declare function eraseFromOutline(sp: VectorSubpath, region: BezierPathInput): VectorSubpath[] | null;
3200
+ declare function eraseFromOutline(sp: VectorSubpath, region: BezierPathInput, options?: {
3201
+ keep?: 'outside' | 'inside';
3202
+ fillRule?: FillRule;
3203
+ }): VectorSubpath[] | null;
2945
3204
  /** Bounds of a point list (for picking the paths a knife or eraser stroke can reach). */
2946
3205
  declare function polylineBounds(points: readonly Point[], pad?: number): {
2947
3206
  x: number;
@@ -3747,4 +4006,4 @@ declare function vectorTargetPaint(style: VectorStyle, target: 'fill' | 'stroke'
3747
4006
  /** The node with `paint` in the place `vectorTargetPaint` reads (stored canonically). */
3748
4007
  declare function withVectorTargetPaint<T extends VectorStyle>(node: T, target: 'fill' | 'stroke', layer: number | null, paint: VectorPaint): T;
3749
4008
 
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 };
4009
+ 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 };