@pixerate/editor 0.54.0 → 0.56.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.
- package/dist/agent/index.cjs +24 -23
- package/dist/agent/index.cjs.map +1 -1
- package/dist/agent/index.js +9 -8
- package/dist/agent/index.js.map +1 -1
- package/dist/animation/index.cjs +1 -1
- package/dist/animation/index.cjs.map +1 -1
- package/dist/animation/index.d.cts +2 -1
- package/dist/animation/index.d.ts +2 -1
- package/dist/animation/index.js +1 -1
- package/dist/animation-editor/index.cjs +2221 -0
- package/dist/animation-editor/index.cjs.map +1 -0
- package/dist/animation-editor/index.d.cts +1117 -0
- package/dist/animation-editor/index.d.ts +1117 -0
- package/dist/animation-editor/index.js +2221 -0
- package/dist/animation-editor/index.js.map +1 -0
- package/dist/bezier-BfwIbVTl.d.cts +548 -0
- package/dist/bezier-DYBvLgUH.d.ts +548 -0
- package/dist/canvas/index.cjs +2740 -580
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.d.cts +402 -6
- package/dist/canvas/index.d.ts +402 -6
- package/dist/canvas/index.js +2735 -575
- package/dist/canvas/index.js.map +1 -1
- package/dist/chart/index.cjs +33 -31
- package/dist/chart/index.cjs.map +1 -1
- package/dist/chart/index.d.cts +4 -2
- package/dist/chart/index.d.ts +4 -2
- package/dist/chart/index.js +21 -19
- package/dist/chart/index.js.map +1 -1
- package/dist/{chunk-C3JHII3M.cjs → chunk-3I6V7PI4.cjs} +45 -45
- package/dist/{chunk-C3JHII3M.cjs.map → chunk-3I6V7PI4.cjs.map} +1 -1
- package/dist/{chunk-P43HUQRX.cjs → chunk-AHCENCU4.cjs} +12 -10
- package/dist/chunk-AHCENCU4.cjs.map +1 -0
- package/dist/{chunk-TO22LX34.js → chunk-GTMJ4Y3S.js} +2208 -2920
- package/dist/chunk-GTMJ4Y3S.js.map +1 -0
- package/dist/chunk-II77MLHN.cjs +11106 -0
- package/dist/chunk-II77MLHN.cjs.map +1 -0
- package/dist/{chunk-OIKYP7XC.js → chunk-LMUDHBWR.js} +2 -2
- package/dist/chunk-MLREO6J3.cjs +737 -0
- package/dist/chunk-MLREO6J3.cjs.map +1 -0
- package/dist/chunk-NONDTTH7.js +5979 -0
- package/dist/chunk-NONDTTH7.js.map +1 -0
- package/dist/{chunk-YNSK4MGT.cjs → chunk-O2UH7LZE.cjs} +1549 -2261
- package/dist/chunk-O2UH7LZE.cjs.map +1 -0
- package/dist/{chunk-VODBAO32.js → chunk-OEFCLWZ3.js} +4 -1425
- package/dist/chunk-OEFCLWZ3.js.map +1 -0
- package/dist/{chunk-NK3WL5TJ.cjs → chunk-P2CTDJNF.cjs} +27 -1448
- package/dist/chunk-P2CTDJNF.cjs.map +1 -0
- package/dist/chunk-TKPPIVW7.cjs +1443 -0
- package/dist/chunk-TKPPIVW7.cjs.map +1 -0
- package/dist/chunk-VWZB6BCY.js +737 -0
- package/dist/chunk-VWZB6BCY.js.map +1 -0
- package/dist/chunk-WJSCGBJ2.js +11106 -0
- package/dist/chunk-WJSCGBJ2.js.map +1 -0
- package/dist/{chunk-RIXTW3C4.js → chunk-WLVZ235X.js} +5 -3
- package/dist/{chunk-RIXTW3C4.js.map → chunk-WLVZ235X.js.map} +1 -1
- package/dist/chunk-XCXQDPID.cjs +5979 -0
- package/dist/chunk-XCXQDPID.cjs.map +1 -0
- package/dist/chunk-ZOH6X3VR.js +1443 -0
- package/dist/chunk-ZOH6X3VR.js.map +1 -0
- package/dist/color-E9pwm--w.d.cts +33 -0
- package/dist/color-E9pwm--w.d.ts +33 -0
- package/dist/commands/index.cjs +2 -2
- package/dist/commands/index.cjs.map +1 -1
- package/dist/commands/index.js +3 -3
- package/dist/{controller-DscWQbjO.d.ts → controller-D2rj5umx.d.ts} +2 -362
- package/dist/{controller-CX0QfSv0.d.cts → controller-R2biKk_E.d.cts} +2 -362
- package/dist/diagram/index.cjs +1481 -50
- package/dist/diagram/index.cjs.map +1 -1
- package/dist/diagram/index.d.cts +1757 -15
- package/dist/diagram/index.d.ts +1757 -15
- package/dist/diagram/index.js +1469 -38
- package/dist/diagram/index.js.map +1 -1
- package/dist/extensions/index.cjs +5 -4
- package/dist/extensions/index.cjs.map +1 -1
- package/dist/extensions/index.d.cts +4 -3
- package/dist/extensions/index.d.ts +4 -3
- package/dist/extensions/index.js +4 -3
- package/dist/{index-DIWB6xMf.d.cts → index-BcHyG0Wq.d.cts} +2 -1
- package/dist/{index-CALDD35B.d.ts → index-CTCc3m3C.d.ts} +2 -1
- package/dist/index.cjs +10 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/pathfinder-BZL8aSu0.d.cts +469 -0
- package/dist/pathfinder-CNtsbCRK.d.ts +469 -0
- package/dist/{player-DSMjdgQ9.d.cts → player-Dg0FT0UI.d.cts} +1 -33
- package/dist/{player-DdfVrKWq.d.ts → player-W-5DX3Go.d.ts} +1 -33
- package/dist/svg-CLg2zqZA.d.cts +847 -0
- package/dist/svg-CPK82TtU.d.ts +847 -0
- package/dist/types-BRp-6zkY.d.cts +362 -0
- package/dist/types-BRp-6zkY.d.ts +362 -0
- package/dist/{types-BULrFyuQ.d.cts → types-DYkjhzdz.d.cts} +1 -1
- package/dist/{types-BULrFyuQ.d.ts → types-DYkjhzdz.d.ts} +1 -1
- package/dist/vector/index.cjs +1328 -6752
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.cts +6 -846
- package/dist/vector/index.d.ts +6 -846
- package/dist/vector/index.js +645 -6069
- package/dist/vector/index.js.map +1 -1
- package/package.json +6 -1
- package/dist/chunk-H5K77C7Y.cjs +0 -3848
- package/dist/chunk-H5K77C7Y.cjs.map +0 -1
- package/dist/chunk-NK3WL5TJ.cjs.map +0 -1
- package/dist/chunk-P43HUQRX.cjs.map +0 -1
- package/dist/chunk-TO22LX34.js.map +0 -1
- package/dist/chunk-VODBAO32.js.map +0 -1
- package/dist/chunk-WWJNC7SX.js +0 -3848
- package/dist/chunk-WWJNC7SX.js.map +0 -1
- package/dist/chunk-YNSK4MGT.cjs.map +0 -1
- package/dist/pathfinder-B9xh_pCZ.d.ts +0 -1013
- package/dist/pathfinder-QdG70sr9.d.cts +0 -1013
- /package/dist/{chunk-OIKYP7XC.js.map → chunk-LMUDHBWR.js.map} +0 -0
package/dist/vector/index.d.cts
CHANGED
|
@@ -1,514 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { d as Vec2, 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 VectorEffectType, r as VectorEffectParamsMap, s as VectorFillRule, t as VectorBooleanOperation, u as VectorEffect, v as VectorWarpMesh, w as VectorTransformHandle, x as VectorAnchorRef, y as VectorPathfinderOperation, z as VectorTool, A as VectorDefaults, B as VectorStyle, C as VectorHandleRef, D as VectorSegmentRef, E as VectorBlendOptions, F as VectorModifiers, c as VectorSvgExportOptions, G as VectorGradientPatch, H as VectorAlign, I as VectorDistribute, J as VectorArrange, K as VectorAverageAxis, L as VectorArrowhead, M as VectorBlendSpacing, N as VectorGradientInterpolation, O as VectorGradientSpread, P as VectorGradientType, Q as VectorStrokeAlign, R as VectorStrokeGradientMode, S as VectorRenderStrokeParts, T as VectorPaintDef, U as VectorArrowAlign, W as VectorBlend, X as VectorMergeMode, Y as VectorLineJoin, Z as VectorWarpStyle } from '../svg-CLg2zqZA.cjs';
|
|
2
|
+
export { _ as VECTOR_ARROWHEADS, $ as VECTOR_BLEND_SPACINGS, a0 as VECTOR_CORNER_KINDS, a1 as VECTOR_EFFECT_TYPES, a2 as VECTOR_GRADIENT_INTERPOLATIONS, a3 as VECTOR_GRADIENT_MAX_PERIODS, a4 as VECTOR_GRADIENT_MIN_STOPS, a5 as VECTOR_GRADIENT_SPREADS, a6 as VECTOR_GRADIENT_TYPES, a7 as VECTOR_MERGE_MODES, a8 as VECTOR_PATHFINDER_OPERATIONS, a9 as VECTOR_STROKE_GRADIENT_MODES, aa as VECTOR_TOOLS, ab as VECTOR_TRANSFORM_HANDLES, ac as VectorCorner, ad as VectorGradientPoints, ae as VectorGradientRamp, af as VectorGradientSvgOptions, ag as VectorGradientUnits, ah as VectorLineCap, ai as VectorMatrix, aj as VectorPaintSvgOptions, ak as VectorRgba, al as VectorSvgImportOptions, am as VectorSvgPatternDef, an as applyVectorCornersAttribute, ao as applyVectorGradientPatch, ap as applyVectorGradientSpread, aq as convertVectorGradient, ar as defaultVectorGradient, as as expandVectorGradientSpread, at as expandVectorGradientStops, au as explicitVectorGradient, av as gradientMidpointRemap, aw as hasExplicitGradientGeometry, ax as insertVectorGradientStop, ay as isCentredVectorGradient, az as isVectorGradient, aA as mapVectorGradient, aB as mapVectorPaint, aC as moveVectorGradientHandle, aD as moveVectorGradientStop, aE as parseSvgTransform, aF as parseVectorColor, aG as parseVectorSvg, aH as patternAttrs, aI as periodicVectorGradientStops, aJ as pinVectorGradient, aK as removeVectorGradientStop, aL as reverseVectorGradient, aM as samplePlainStops, aN as sampleVectorGradient, aO as sampleVectorGradientAt, aP as sampleVectorPaintDefAt, aQ as sanitizeVectorGradient, aR as setVectorGradientVector, aS as sortedVectorGradientStops, aT as spanVectorGradientStops, aU as transformVectorGradient, aV as transformVectorPaint, aW as vectorBoxMatrix, aX as vectorCornersAttribute, aY as vectorDocumentToSvg, aZ as vectorGradientArea, a_ as vectorGradientAspect, a$ as vectorGradientFocalParam, b0 as vectorGradientHandles, b1 as vectorGradientMatrix, b2 as vectorGradientMidpointFromPosition, b3 as vectorGradientMidpointPosition, b4 as vectorGradientNeedsExpansion, b5 as vectorGradientParam, b6 as vectorGradientPoints, b7 as vectorGradientRamp, b8 as vectorGradientSvgDefs, b9 as vectorGradientTAt, ba as vectorGradientUnitsMatrix, bb as vectorPaintToSvg, bc as vectorPathLocalBounds, bd as vectorStrokeSvgParts, be as widthProfileFromAttribute, bf as widthProfileToAttribute } from '../svg-CLg2zqZA.cjs';
|
|
2
3
|
import { P as Point } from '../types-BFkYA4eF.cjs';
|
|
4
|
+
import { A as AffineMatrix, a as BezierPathInput, B as BezierPath, c as BezierSegment } from '../bezier-BfwIbVTl.cjs';
|
|
5
|
+
export { S as SvgGradientDef } from '../bezier-BfwIbVTl.cjs';
|
|
3
6
|
import { H as HistoryManager } from '../HistoryManager-DeQQMBCj.cjs';
|
|
4
7
|
import { C as CommandSpec } from '../registry-CaR7LC6W.cjs';
|
|
8
|
+
import { S as StrokeJoin, a as StrokeCap, P as PlanarMap, b as PathfinderOperation, c as PathfinderShape } from '../pathfinder-BZL8aSu0.cjs';
|
|
5
9
|
import { b as AnimationEasing } from '../easing-CNGk-W6d.cjs';
|
|
6
10
|
import '../types-DsiXGmjo.cjs';
|
|
7
11
|
import '../schema-Di0CS6Pe.cjs';
|
|
8
12
|
|
|
9
|
-
/** An affine matrix `[a, b, c, d, e, f]`: `x' = a·x + c·y + e`, `y' = b·x + d·y + f` (SVG order). */
|
|
10
|
-
type VectorMatrix = readonly [number, number, number, number, number, number];
|
|
11
|
-
/** A point in document coordinates. */
|
|
12
|
-
interface Vec2 {
|
|
13
|
-
x: number;
|
|
14
|
-
y: number;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* How an anchor's handles relate:
|
|
18
|
-
* - `corner`: handles move independently (or are absent).
|
|
19
|
-
* - `smooth`: handles stay on one line through the anchor, lengths independent.
|
|
20
|
-
* - `symmetric`: handles stay on one line with equal lengths.
|
|
21
|
-
*/
|
|
22
|
-
type VectorAnchorType = 'corner' | 'smooth' | 'symmetric';
|
|
23
|
-
/**
|
|
24
|
-
* Live corner shapes: `round` (an arc tangent to both sides), `inverted` (an arc centred on
|
|
25
|
-
* the corner, cut into the shape) and `chamfer` (a straight bevel).
|
|
26
|
-
*/
|
|
27
|
-
type VectorCornerKind = 'round' | 'inverted' | 'chamfer';
|
|
28
|
-
declare const VECTOR_CORNER_KINDS: readonly VectorCornerKind[];
|
|
29
|
-
/**
|
|
30
|
-
* A live corner: drawn rounded (or cut) at render, hit-test, bounds, boolean, outline and export
|
|
31
|
-
* time while the stored anchor stays sharp. The radius shrinks to fit when the sides are short:
|
|
32
|
-
* the cut reaches at most halfway along each side.
|
|
33
|
-
*/
|
|
34
|
-
interface VectorCorner {
|
|
35
|
-
radius: number;
|
|
36
|
-
/** Default `round`. */
|
|
37
|
-
kind?: VectorCornerKind;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* One anchor of a subpath. Handles are absolute document positions; a missing (or `null`)
|
|
41
|
-
* handle sits on the anchor, so a segment with no handles at either end is a straight line.
|
|
42
|
-
*/
|
|
43
|
-
interface VectorAnchor {
|
|
44
|
-
x: number;
|
|
45
|
-
y: number;
|
|
46
|
-
/** Control point of the segment arriving at this anchor. */
|
|
47
|
-
in?: Vec2 | null;
|
|
48
|
-
/** Control point of the segment leaving this anchor. */
|
|
49
|
-
out?: Vec2 | null;
|
|
50
|
-
/** Default `corner`. */
|
|
51
|
-
type?: VectorAnchorType;
|
|
52
|
-
/** Live corner radius. Ignored on smooth / symmetric anchors and the ends of open subpaths. */
|
|
53
|
-
corner?: VectorCorner | null;
|
|
54
|
-
}
|
|
55
|
-
/** A chain of anchors joined by line or cubic Bézier segments. */
|
|
56
|
-
interface VectorSubpath {
|
|
57
|
-
anchors: VectorAnchor[];
|
|
58
|
-
/** Joins the last anchor back to the first. */
|
|
59
|
-
closed: boolean;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Gradient styles: `linear` (start → end), `radial` (centred on the start, reaching the end;
|
|
63
|
-
* focal point and aspect), `conic` (an angle sweep around the start, from the end's direction
|
|
64
|
-
* towards the aspect handle's: clockwise on screen), `reflected` (linear mirrored about the
|
|
65
|
-
* start) and `diamond` (`|u| + |v|` in the gradient's frame: a rhombus through the end and the
|
|
66
|
-
* aspect handle).
|
|
67
|
-
*/
|
|
68
|
-
type VectorGradientType = 'linear' | 'radial' | 'conic' | 'reflected' | 'diamond';
|
|
69
|
-
declare const VECTOR_GRADIENT_TYPES: readonly VectorGradientType[];
|
|
70
|
-
/** What a gradient paints past its ends: the end colours, mirrored periods or repeated periods. */
|
|
71
|
-
type VectorGradientSpread = 'pad' | 'reflect' | 'repeat';
|
|
72
|
-
declare const VECTOR_GRADIENT_SPREADS: readonly VectorGradientSpread[];
|
|
73
|
-
/** Where colours mix between stops: sRGB (SVG's own), linear light or Oklab. */
|
|
74
|
-
type VectorGradientInterpolation = 'srgb' | 'linear' | 'oklab';
|
|
75
|
-
declare const VECTOR_GRADIENT_INTERPOLATIONS: readonly VectorGradientInterpolation[];
|
|
76
|
-
/**
|
|
77
|
-
* The space a gradient's points are in: fractions of the shape's bounding box (SVG's
|
|
78
|
-
* `objectBoundingBox`, the default) or the node's own coordinates (`userSpaceOnUse`).
|
|
79
|
-
*/
|
|
80
|
-
type VectorGradientUnits = 'objectBoundingBox' | 'userSpaceOnUse';
|
|
81
|
-
/**
|
|
82
|
-
* How a gradient lies on a stroke: `within` (laid over the stroke's area like a fill), `along`
|
|
83
|
-
* (t runs from 0 at the start of each subpath to 1 at its end) or `across` (from the stroke's
|
|
84
|
-
* left edge to its right edge, looking along the path).
|
|
85
|
-
*/
|
|
86
|
-
type VectorStrokeGradientMode = 'within' | 'along' | 'across';
|
|
87
|
-
declare const VECTOR_STROKE_GRADIENT_MODES: readonly VectorStrokeGradientMode[];
|
|
88
|
-
/** A colour stop. `opacity` multiplies the colour's own alpha. */
|
|
89
|
-
interface VectorGradientStop {
|
|
90
|
-
/** 0–1. */
|
|
91
|
-
offset: number;
|
|
92
|
-
color: string;
|
|
93
|
-
/** 0–1, default 1. */
|
|
94
|
-
opacity?: number;
|
|
95
|
-
/**
|
|
96
|
-
* Where, between this stop and the next (0–1 of the way), the colour is half-way between
|
|
97
|
-
* them. Default 0.5 (an even mix).
|
|
98
|
-
*/
|
|
99
|
-
midpoint?: number;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* A gradient paint. `CanvasGradientDef` (the canvas package's linear `angle` / radial
|
|
103
|
-
* `cx, cy, r` gradients) is a valid value: those fields are the shorthand form. Explicit
|
|
104
|
-
* geometry (`start` / `end`, in `units`) wins over the shorthand.
|
|
105
|
-
*/
|
|
106
|
-
interface VectorGradient {
|
|
107
|
-
type: VectorGradientType;
|
|
108
|
-
stops: VectorGradientStop[];
|
|
109
|
-
/**
|
|
110
|
-
* Shorthand direction in degrees, CSS style (0 points up, clockwise): a linear or reflected
|
|
111
|
-
* gradient's direction across the box (default 180), a conic gradient's start angle or a
|
|
112
|
-
* diamond's turn (default 90).
|
|
113
|
-
*/
|
|
114
|
-
angle?: number;
|
|
115
|
-
/** Shorthand centre and radius of radial, conic and diamond gradients (fractions of the box, default 0.5). */
|
|
116
|
-
cx?: number;
|
|
117
|
-
cy?: number;
|
|
118
|
-
r?: number;
|
|
119
|
-
/** Where t = 0: a linear gradient's start, the centre of the other styles. */
|
|
120
|
-
start?: Vec2;
|
|
121
|
-
/** Where t = 1 along the gradient's main axis (a radial gradient's radius). */
|
|
122
|
-
end?: Vec2;
|
|
123
|
-
/**
|
|
124
|
-
* The end of the secondary axis (radial, conic and diamond): its distance from `start` over
|
|
125
|
-
* the main axis' length is the aspect ratio. Absent: square to the main axis, as long.
|
|
126
|
-
*/
|
|
127
|
-
width?: Vec2 | null;
|
|
128
|
-
/** A radial gradient's focal point (where t = 0); absent: the centre. */
|
|
129
|
-
focal?: Vec2 | null;
|
|
130
|
-
/** Radius of the focal circle as a fraction of the radius (SVG `fr`, default 0). */
|
|
131
|
-
focalRadius?: number;
|
|
132
|
-
/** Space of `start`, `end`, `width` and `focal` (default `objectBoundingBox`). */
|
|
133
|
-
units?: VectorGradientUnits;
|
|
134
|
-
/** Default `pad`. */
|
|
135
|
-
spread?: VectorGradientSpread;
|
|
136
|
-
/** Default `srgb`. */
|
|
137
|
-
interpolation?: VectorGradientInterpolation;
|
|
138
|
-
/**
|
|
139
|
-
* 0–1: how far the colours follow a smooth spline through the stops instead of straight
|
|
140
|
-
* lines (Photoshop's Smoothness). Default 0.
|
|
141
|
-
*/
|
|
142
|
-
smoothness?: number;
|
|
143
|
-
/** On a stroke: how the gradient lies on it (default `within`). Ignored on fills. */
|
|
144
|
-
strokeMode?: VectorStrokeGradientMode;
|
|
145
|
-
}
|
|
146
|
-
/** A fill or stroke: any CSS colour, a gradient, or `null` / `'none'` for no paint. */
|
|
147
|
-
type VectorPaint = string | VectorGradient | CanvasGradientDef | null;
|
|
148
|
-
type VectorFillRule = 'nonzero' | 'evenodd';
|
|
149
|
-
type VectorLineCap = 'butt' | 'round' | 'square';
|
|
150
|
-
type VectorLineJoin = 'miter' | 'round' | 'bevel';
|
|
151
|
-
/**
|
|
152
|
-
* Where the stroke sits on the outline: centred on it, inside the shape or outside it. Only
|
|
153
|
-
* shapes whose subpaths are all closed have an inside; open paths always stroke centred.
|
|
154
|
-
*/
|
|
155
|
-
type VectorStrokeAlign = 'center' | 'inside' | 'outside';
|
|
156
|
-
/** Arrowheads and end markers for the ends of open paths. */
|
|
157
|
-
type VectorArrowhead = 'triangle' | 'arrow' | 'open' | 'circle' | 'square' | 'bar';
|
|
158
|
-
declare const VECTOR_ARROWHEADS: readonly VectorArrowhead[];
|
|
159
|
-
/**
|
|
160
|
-
* `extend`: the head's tip sits past the end point and the path keeps its length; `tip`: the
|
|
161
|
-
* tip sits on the end point and the stroke is shortened under the head.
|
|
162
|
-
*/
|
|
163
|
-
type VectorArrowAlign = 'extend' | 'tip';
|
|
164
|
-
/**
|
|
165
|
-
* One point of a variable-width stroke profile. `t` is the position along the subpath by
|
|
166
|
-
* length (0 at its start, 1 at its end); `left` and `right` are how far the stroke reaches on
|
|
167
|
-
* each side, as multiples of half the stroke width (looking along the path on screen, y down).
|
|
168
|
-
* A uniform stroke has 1 on both sides. Two points at the same `t` make a step.
|
|
169
|
-
*/
|
|
170
|
-
interface VectorWidthPoint {
|
|
171
|
-
t: number;
|
|
172
|
-
left: number;
|
|
173
|
-
right: number;
|
|
174
|
-
}
|
|
175
|
-
/** Paint and stroke settings of a path. */
|
|
176
|
-
interface VectorStyle {
|
|
177
|
-
fill?: VectorPaint;
|
|
178
|
-
stroke?: VectorPaint;
|
|
179
|
-
/** Default 1. */
|
|
180
|
-
strokeWidth?: number;
|
|
181
|
-
strokeLinecap?: VectorLineCap;
|
|
182
|
-
strokeLinejoin?: VectorLineJoin;
|
|
183
|
-
strokeDasharray?: number[];
|
|
184
|
-
/** Default `nonzero`. */
|
|
185
|
-
fillRule?: VectorFillRule;
|
|
186
|
-
/** Default `center`. */
|
|
187
|
-
strokeAlign?: VectorStrokeAlign;
|
|
188
|
-
/** Head at the start of the first subpath when it is open, or none. */
|
|
189
|
-
startArrow?: VectorArrowhead | null;
|
|
190
|
-
/** Head at the end of the last subpath when it is open, or none. */
|
|
191
|
-
endArrow?: VectorArrowhead | null;
|
|
192
|
-
/** Default `extend`. */
|
|
193
|
-
arrowAlign?: VectorArrowAlign;
|
|
194
|
-
/** Size of the start head as a multiple of the stroke width (default 1: a head 4 widths long). */
|
|
195
|
-
startArrowScale?: number;
|
|
196
|
-
/** Size of the end head (default 1). */
|
|
197
|
-
endArrowScale?: number;
|
|
198
|
-
/**
|
|
199
|
-
* Variable width: side scales along each subpath, interpolated with a monotone cubic (see
|
|
200
|
-
* `widthProfileAt`). Absent, empty or `null` strokes at a uniform width. A profiled stroke is
|
|
201
|
-
* drawn as its filled outline.
|
|
202
|
-
*/
|
|
203
|
-
strokeWidthProfile?: VectorWidthPoint[] | null;
|
|
204
|
-
}
|
|
205
|
-
interface VectorNodeBase {
|
|
206
|
-
id: string;
|
|
207
|
-
name?: string;
|
|
208
|
-
/** Default true. */
|
|
209
|
-
visible?: boolean;
|
|
210
|
-
/** Locked nodes are drawn but cannot be picked or edited on the canvas. */
|
|
211
|
-
locked?: boolean;
|
|
212
|
-
/** 0–1, default 1. */
|
|
213
|
-
opacity?: number;
|
|
214
|
-
/**
|
|
215
|
-
* Placement in the parent's space: a rigid matrix (rotation + translation). Anchors and
|
|
216
|
-
* children are in the node's own space. Omitted for unrotated nodes, whose positions are
|
|
217
|
-
* stored directly. Scale and skew are never stored here — `transformVectorNode` bakes
|
|
218
|
-
* them into the geometry, so stroke widths and the rotated selection box stay exact.
|
|
219
|
-
*/
|
|
220
|
-
transform?: VectorMatrix;
|
|
221
|
-
/**
|
|
222
|
-
* An in-between a blend group generated from its keys. Steps are rebuilt whenever a key or
|
|
223
|
-
* the blend options change, and are locked (clicks select the blend group).
|
|
224
|
-
*/
|
|
225
|
-
blendStep?: boolean;
|
|
226
|
-
/**
|
|
227
|
-
* Live path effects, applied top to bottom: each acts on every path above it (the node's own
|
|
228
|
-
* outline, or a group's children, then the result of the effects before it), and effects after a
|
|
229
|
-
* repeater act on its copies. The stored anchors and children never change.
|
|
230
|
-
*/
|
|
231
|
-
effects?: VectorEffect[] | null;
|
|
232
|
-
/**
|
|
233
|
-
* As an operand of a live boolean group: how it combines with the result of the operands below
|
|
234
|
-
* it. Absent: the group's `liveBoolean` operation.
|
|
235
|
-
*/
|
|
236
|
-
booleanOperation?: VectorBooleanOperation | null;
|
|
237
|
-
}
|
|
238
|
-
/** A shape made of one or more subpaths (holes and compound shapes included). */
|
|
239
|
-
interface VectorPathNode extends VectorNodeBase, VectorStyle {
|
|
240
|
-
type: 'path';
|
|
241
|
-
subpaths: VectorSubpath[];
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* How a blend spaces its in-betweens: a number of `steps` between each pair of keys, a fixed
|
|
245
|
-
* `distance` between steps along the spine, or `smoothColor` (as many steps as the colours
|
|
246
|
-
* need for a smooth ramp; by distance when the colours match).
|
|
247
|
-
*/
|
|
248
|
-
type VectorBlendSpacing = 'steps' | 'distance' | 'smoothColor';
|
|
249
|
-
declare const VECTOR_BLEND_SPACINGS: readonly VectorBlendSpacing[];
|
|
250
|
-
/** Settings of a blend. */
|
|
251
|
-
interface VectorBlendOptions {
|
|
252
|
-
/** Default `steps`. */
|
|
253
|
-
spacing?: VectorBlendSpacing;
|
|
254
|
-
/** Steps between each pair of keys with `steps` spacing (default 5). */
|
|
255
|
-
steps?: number;
|
|
256
|
-
/** Distance between steps along the spine with `distance` spacing (default 20). */
|
|
257
|
-
distance?: number;
|
|
258
|
-
/** Turn the steps with the spine's direction (default `false`: they keep the keys' orientation). */
|
|
259
|
-
orientToSpine?: boolean;
|
|
260
|
-
/** Move anchors in straight lines instead of the rotation-aware morph (default `false`). */
|
|
261
|
-
linear?: boolean;
|
|
262
|
-
}
|
|
263
|
-
/** A live blend: the group's keys plus how the in-betweens are made and laid out. */
|
|
264
|
-
interface VectorBlend extends VectorBlendOptions {
|
|
265
|
-
/**
|
|
266
|
-
* A replaced spine in the group's space: the steps follow it instead of the straight lines
|
|
267
|
-
* between the keys' centres (the keys sit along it, spread evenly by arc length).
|
|
268
|
-
*/
|
|
269
|
-
spine?: VectorSubpath | null;
|
|
270
|
-
/** The anchor of each key's first subpath its blend starts from, by key id (the Blend tool's clicks). */
|
|
271
|
-
starts?: Record<string, number>;
|
|
272
|
-
}
|
|
273
|
-
/** A group of nodes that select and transform together. */
|
|
274
|
-
interface VectorGroupNode extends VectorNodeBase {
|
|
275
|
-
type: 'group';
|
|
276
|
-
children: VectorNode[];
|
|
277
|
-
/**
|
|
278
|
-
* Makes the group a live blend: its children that are not `blendStep`s are the keys, in
|
|
279
|
-
* stacking order, and the steps between them are regenerated whenever a key changes.
|
|
280
|
-
*/
|
|
281
|
-
blend?: VectorBlend | null;
|
|
282
|
-
/**
|
|
283
|
-
* Makes the group a live boolean: its children stay editable operands, folded bottom to top
|
|
284
|
-
* (each by its own `booleanOperation` or this one), and the group draws as the result in the
|
|
285
|
-
* bottom operand's style.
|
|
286
|
-
*/
|
|
287
|
-
liveBoolean?: VectorBooleanOperation | null;
|
|
288
|
-
}
|
|
289
|
-
type VectorNode = VectorPathNode | VectorGroupNode;
|
|
290
|
-
/** A vector drawing: an artboard and its nodes, bottom to top. */
|
|
291
|
-
interface VectorDocument {
|
|
292
|
-
width: number;
|
|
293
|
-
height: number;
|
|
294
|
-
/** Artboard colour (default: transparent). */
|
|
295
|
-
background?: string;
|
|
296
|
-
nodes: VectorNode[];
|
|
297
|
-
}
|
|
298
|
-
/** An axis-aligned rectangle. */
|
|
299
|
-
interface VectorBounds {
|
|
300
|
-
x: number;
|
|
301
|
-
y: number;
|
|
302
|
-
width: number;
|
|
303
|
-
height: number;
|
|
304
|
-
}
|
|
305
|
-
/** Identifies one anchor of a path node. */
|
|
306
|
-
interface VectorAnchorRef {
|
|
307
|
-
nodeId: string;
|
|
308
|
-
subpath: number;
|
|
309
|
-
index: number;
|
|
310
|
-
}
|
|
311
|
-
/** Identifies one handle of an anchor. */
|
|
312
|
-
interface VectorHandleRef extends VectorAnchorRef {
|
|
313
|
-
handle: 'in' | 'out';
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Canvas tools. `direct` edits anchors, handles and segments; the shape tools drag out a new
|
|
317
|
-
* shape; `scissors` cuts a path at a point, `knife` cuts filled shapes along a freehand stroke,
|
|
318
|
-
* `eraser` rubs out the area under one and `width` drags a stroke's width at a point.
|
|
319
|
-
* `shapeBuilder` merges (Alt: deletes) the faces the selected shapes make, and `paintBucket`
|
|
320
|
-
* fills the region the visible outlines enclose around a click with a new shape. `blend`
|
|
321
|
-
* blends the shape clicked first into the one clicked next (clicking an anchor of a closed path
|
|
322
|
-
* starts the blend there). `envelope` edits the mesh of the selection's envelope: drag its
|
|
323
|
-
* anchors and handles, or inside a patch to pull the surface.
|
|
324
|
-
*/
|
|
325
|
-
type VectorTool = 'select' | 'direct' | 'pen' | 'pencil' | 'rect' | 'ellipse' | 'polygon' | 'star' | 'line' | 'scissors' | 'knife' | 'eraser' | 'width' | 'shapeBuilder' | 'paintBucket' | 'blend' | 'gradient' | 'envelope';
|
|
326
|
-
declare const VECTOR_TOOLS: readonly VectorTool[];
|
|
327
|
-
/** Keyboard modifiers held during a pointer event. */
|
|
328
|
-
interface VectorModifiers {
|
|
329
|
-
shift?: boolean;
|
|
330
|
-
alt?: boolean;
|
|
331
|
-
/** Cmd on macOS, Ctrl elsewhere. */
|
|
332
|
-
mod?: boolean;
|
|
333
|
-
}
|
|
334
|
-
/** The eight resize handles of a selection box and the rotation handle. */
|
|
335
|
-
type VectorTransformHandle = 'nw' | 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'rotate';
|
|
336
|
-
declare const VECTOR_TRANSFORM_HANDLES: readonly VectorTransformHandle[];
|
|
337
|
-
/** Pan and zoom of the canvas: `screen = document × zoom + (x, y)`. */
|
|
338
|
-
interface VectorViewport {
|
|
339
|
-
/** Screen position of the document origin, in screen pixels. */
|
|
340
|
-
x: number;
|
|
341
|
-
y: number;
|
|
342
|
-
zoom: number;
|
|
343
|
-
}
|
|
344
|
-
/** What the next shape and pen path are drawn with. */
|
|
345
|
-
interface VectorDefaults extends VectorStyle {
|
|
346
|
-
/** Sides of the polygon tool (default 6). */
|
|
347
|
-
polygonSides?: number;
|
|
348
|
-
/** Points of the star tool (default 5). */
|
|
349
|
-
starPoints?: number;
|
|
350
|
-
/** Inner radius of the star tool as a fraction of the outer one (default 0.5). */
|
|
351
|
-
starInnerRatio?: number;
|
|
352
|
-
/** Live corner radius the rectangle, polygon and star tools give their corners (default 0). */
|
|
353
|
-
cornerRadius?: number;
|
|
354
|
-
/** Corner kind of those tools (default `round`). */
|
|
355
|
-
cornerKind?: VectorCornerKind;
|
|
356
|
-
}
|
|
357
|
-
type VectorAlign = 'left' | 'center' | 'right' | 'top' | 'middle' | 'bottom';
|
|
358
|
-
type VectorDistribute = 'horizontal' | 'vertical';
|
|
359
|
-
type VectorBooleanOperation = 'union' | 'subtract' | 'intersect' | 'exclude';
|
|
360
|
-
/**
|
|
361
|
-
* Pathfinder operations: `divide` (every face its own shape), `trim` (hidden parts removed),
|
|
362
|
-
* `merge` (Trim, then touching parts of one fill joined), `crop` (the top shape crops the others),
|
|
363
|
-
* `outline` (outlines cut into open strokes where they meet) and `minusBack` (the top shape minus
|
|
364
|
-
* everything below it).
|
|
365
|
-
*/
|
|
366
|
-
type VectorPathfinderOperation = 'divide' | 'trim' | 'merge' | 'crop' | 'outline' | 'minusBack';
|
|
367
|
-
declare const VECTOR_PATHFINDER_OPERATIONS: readonly VectorPathfinderOperation[];
|
|
368
|
-
type VectorArrange = 'front' | 'forward' | 'backward' | 'back';
|
|
369
|
-
/** Average: line anchors up on a horizontal line (same y), a vertical one (same x), or both. */
|
|
370
|
-
type VectorAverageAxis = 'horizontal' | 'vertical' | 'both';
|
|
371
|
-
/**
|
|
372
|
-
* Live path effects (After Effects' path operators): `trim` (Trim Paths), `roundCorners`,
|
|
373
|
-
* `puckerBloat`, `twist`, `zigzag`, `wiggle` (Wiggle Paths), `offset` (Offset Paths), `merge`
|
|
374
|
-
* (Merge Paths), `repeater` and `envelope` (an envelope distortion: a warp preset or a mesh).
|
|
375
|
-
*/
|
|
376
|
-
type VectorEffectType = 'trim' | 'roundCorners' | 'puckerBloat' | 'twist' | 'zigzag' | 'wiggle' | 'offset' | 'merge' | 'repeater' | 'envelope';
|
|
377
|
-
declare const VECTOR_EFFECT_TYPES: readonly VectorEffectType[];
|
|
378
|
-
/** Warp presets (Photoshop's fifteen, in menu order). */
|
|
379
|
-
type VectorWarpStyle = 'arc' | 'arcLower' | 'arcUpper' | 'arch' | 'bulge' | 'shellLower' | 'shellUpper' | 'flag' | 'wave' | 'fish' | 'rise' | 'fisheye' | 'inflate' | 'squeeze' | 'twist';
|
|
380
|
-
/**
|
|
381
|
-
* A grid of bicubic Bézier patches mapping a source box onto the plane. `us` / `vs` are the patch
|
|
382
|
-
* boundaries as fractions of the box (increasing, first 0, last 1); `points` is the
|
|
383
|
-
* `(3·(us.length − 1) + 1) × (3·(vs.length − 1) + 1)` control grid, row by row, in the node's own
|
|
384
|
-
* space. Neighbouring patches share their edge row: anchors sit where both indices are multiples
|
|
385
|
-
* of 3, handles where one is.
|
|
386
|
-
*/
|
|
387
|
-
interface VectorWarpMesh {
|
|
388
|
-
us: number[];
|
|
389
|
-
vs: number[];
|
|
390
|
-
points: Vec2[];
|
|
391
|
-
}
|
|
392
|
-
/** Merge Paths modes: a compound path (no boolean), union, the first minus the others, intersection or exclusion. */
|
|
393
|
-
type VectorMergeMode = 'merge' | 'add' | 'subtract' | 'intersect' | 'exclude';
|
|
394
|
-
declare const VECTOR_MERGE_MODES: readonly VectorMergeMode[];
|
|
395
|
-
/** Parameters of each effect type. Lengths are in the node's own units, angles in degrees, percentages 0–100. */
|
|
396
|
-
interface VectorEffectParamsMap {
|
|
397
|
-
trim: {
|
|
398
|
-
/** Start and end of the kept part, percent of the length (swapped when start > end). */
|
|
399
|
-
start: number;
|
|
400
|
-
end: number;
|
|
401
|
-
/** Shifts both, in degrees (360° = once round). */
|
|
402
|
-
offset: number;
|
|
403
|
-
/**
|
|
404
|
-
* `simultaneous`: every path trimmed by the same fractions of its own length;
|
|
405
|
-
* `individual`: the paths laid end to end in stacking order and trimmed as one length.
|
|
406
|
-
*/
|
|
407
|
-
mode: 'simultaneous' | 'individual';
|
|
408
|
-
};
|
|
409
|
-
roundCorners: {
|
|
410
|
-
radius: number;
|
|
411
|
-
};
|
|
412
|
-
/** Percent, −100 (pucker: spiky) to 100 (bloat: bulging). */
|
|
413
|
-
puckerBloat: {
|
|
414
|
-
amount: number;
|
|
415
|
-
};
|
|
416
|
-
twist: {
|
|
417
|
-
/** Turn at the farthest point from the centre (none at the centre). */
|
|
418
|
-
angle: number;
|
|
419
|
-
/** The centre as an offset from the middle of the paths' bounds. */
|
|
420
|
-
center: Vec2;
|
|
421
|
-
};
|
|
422
|
-
zigzag: {
|
|
423
|
-
/** How far the points move to either side. */
|
|
424
|
-
size: number;
|
|
425
|
-
/** Ridges per segment. */
|
|
426
|
-
ridges: number;
|
|
427
|
-
/** Rounded waves instead of sharp zig zags. */
|
|
428
|
-
smooth: boolean;
|
|
429
|
-
};
|
|
430
|
-
wiggle: {
|
|
431
|
-
/** Largest displacement. */
|
|
432
|
-
size: number;
|
|
433
|
-
/** Points added per segment. */
|
|
434
|
-
detail: number;
|
|
435
|
-
smooth: boolean;
|
|
436
|
-
/** Wiggles per second. */
|
|
437
|
-
speed: number;
|
|
438
|
-
/** Percent: how much neighbouring points move together. */
|
|
439
|
-
correlation: number;
|
|
440
|
-
/** Degrees (360° = one wiggle). */
|
|
441
|
-
phase: number;
|
|
442
|
-
/** The same seed (and time) always gives the same wiggle. */
|
|
443
|
-
seed: number;
|
|
444
|
-
/** Seconds: where along the wiggle's motion it is drawn. */
|
|
445
|
-
time: number;
|
|
446
|
-
};
|
|
447
|
-
offset: {
|
|
448
|
-
/** Grows (positive) or shrinks (negative) the shapes. */
|
|
449
|
-
amount: number;
|
|
450
|
-
join: VectorLineJoin;
|
|
451
|
-
miterLimit: number;
|
|
452
|
-
/** Copies, copy i offset by `amount · (i + 1 + copyOffset)`. */
|
|
453
|
-
copies: number;
|
|
454
|
-
copyOffset: number;
|
|
455
|
-
};
|
|
456
|
-
merge: {
|
|
457
|
-
mode: VectorMergeMode;
|
|
458
|
-
};
|
|
459
|
-
repeater: {
|
|
460
|
-
/** Copies, the original included; a fraction fades the last copy. */
|
|
461
|
-
copies: number;
|
|
462
|
-
/** Shifts the copies along: copy i is transformed `i + offset` times. */
|
|
463
|
-
offset: number;
|
|
464
|
-
/** Each step: move, about `anchor` turn by `rotation` and scale by `scale` percent. */
|
|
465
|
-
position: Vec2;
|
|
466
|
-
/** Offset from the middle of the paths' bounds. */
|
|
467
|
-
anchor: Vec2;
|
|
468
|
-
rotation: number;
|
|
469
|
-
scale: Vec2;
|
|
470
|
-
/** Percent opacity of the first and last copies (in between interpolated). */
|
|
471
|
-
startOpacity: number;
|
|
472
|
-
endOpacity: number;
|
|
473
|
-
/** `below`: each copy draws under the one before it; `above`: over it. */
|
|
474
|
-
composite: 'below' | 'above';
|
|
475
|
-
};
|
|
476
|
-
/**
|
|
477
|
-
* Envelope distortion: the paths above it are mapped from their combined bounds through a warp
|
|
478
|
-
* preset (bend and horizontal / vertical distortion in percent) or, with style `mesh`, through
|
|
479
|
-
* `mesh` (null: the flat mesh of `columns × rows` patches over the bounds). The bounds are
|
|
480
|
-
* taken afresh each time, so editing the contents keeps the envelope.
|
|
481
|
-
*/
|
|
482
|
-
envelope: {
|
|
483
|
-
style: VectorWarpStyle | 'mesh';
|
|
484
|
-
bend: number;
|
|
485
|
-
horizontal: number;
|
|
486
|
-
vertical: number;
|
|
487
|
-
orientation: 'horizontal' | 'vertical';
|
|
488
|
-
/** Patches of the mesh (a preset turns into a mesh of this size when it is edited). */
|
|
489
|
-
rows: number;
|
|
490
|
-
columns: number;
|
|
491
|
-
mesh: VectorWarpMesh | null;
|
|
492
|
-
};
|
|
493
|
-
}
|
|
494
|
-
/** One entry of an effect stack. */
|
|
495
|
-
type VectorEffect = {
|
|
496
|
-
[K in VectorEffectType]: {
|
|
497
|
-
/** Unique within the node. */
|
|
498
|
-
id: string;
|
|
499
|
-
type: K;
|
|
500
|
-
/** Disabled effects are skipped. Default true. */
|
|
501
|
-
enabled?: boolean;
|
|
502
|
-
params: VectorEffectParamsMap[K];
|
|
503
|
-
};
|
|
504
|
-
}[VectorEffectType];
|
|
505
|
-
/** Identifies one segment of a path node: from anchor `segment` to the next. */
|
|
506
|
-
interface VectorSegmentRef {
|
|
507
|
-
nodeId: string;
|
|
508
|
-
subpath: number;
|
|
509
|
-
segment: number;
|
|
510
|
-
}
|
|
511
|
-
|
|
512
13
|
declare const cloneAnchor: (a: VectorAnchor) => VectorAnchor;
|
|
513
14
|
declare const cloneSubpath: (s: VectorSubpath) => VectorSubpath;
|
|
514
15
|
/** A deep copy of a node (ids kept). */
|
|
@@ -689,347 +190,6 @@ declare function lineSubpath(a: Vec2, b: Vec2): VectorSubpath;
|
|
|
689
190
|
/** Rounds every coordinate to `precision` decimals (stable JSON and SVG output). */
|
|
690
191
|
declare function roundSubpaths(subpaths: readonly VectorSubpath[], precision?: number): VectorSubpath[];
|
|
691
192
|
|
|
692
|
-
/** True when `paint` is a gradient (any style). */
|
|
693
|
-
declare function isVectorGradient(paint: VectorPaint | undefined): paint is VectorGradient;
|
|
694
|
-
/** Straight-alpha sRGB channels, 0–1. */
|
|
695
|
-
type VectorRgba = [number, number, number, number];
|
|
696
|
-
/** A CSS colour as 0–1 channels (hex, `rgb()`, `transparent`, `black`, `white`), or null. */
|
|
697
|
-
declare function parseVectorColor(color: string): VectorRgba | null;
|
|
698
|
-
/** Fewest stops a gradient keeps when one is removed. */
|
|
699
|
-
declare const VECTOR_GRADIENT_MIN_STOPS = 2;
|
|
700
|
-
/**
|
|
701
|
-
* Where relative position `u` of a segment lands once its midpoint is `m` (0.5 = unchanged): the
|
|
702
|
-
* colour is half-way at `m`, linear on either side (photocraft `midpoint_remap`).
|
|
703
|
-
*/
|
|
704
|
-
declare function gradientMidpointRemap(u: number, m: number): number;
|
|
705
|
-
/** The stops sorted by offset (stable), offsets clamped to 0–1, unreadable offsets dropped. */
|
|
706
|
-
declare function sortedVectorGradientStops(g: Pick<VectorGradient, 'stops'>): VectorGradientStop[];
|
|
707
|
-
/** Does the gradient need extra stops to look the same in SVG (midpoints, smoothness or a non-sRGB space)? */
|
|
708
|
-
declare function vectorGradientNeedsExpansion(g: VectorGradient): boolean;
|
|
709
|
-
/** A gradient's colour ramp, prepared for sampling. */
|
|
710
|
-
interface VectorGradientRamp {
|
|
711
|
-
/** Straight-alpha sRGB at `t` (clamped to 0–1). */
|
|
712
|
-
sample(t: number): VectorRgba;
|
|
713
|
-
}
|
|
714
|
-
/**
|
|
715
|
-
* The colour ramp of a gradient (midpoints, smoothness and interpolation space applied), or null
|
|
716
|
-
* when a stop colour is not one `parseVectorColor` reads.
|
|
717
|
-
*/
|
|
718
|
-
declare function vectorGradientRamp(g: Pick<VectorGradient, 'stops' | 'interpolation' | 'smoothness'>): VectorGradientRamp | null;
|
|
719
|
-
/** What the gradient paints at `t` (0–1 along its stops): `#rrggbb` and opacity. */
|
|
720
|
-
declare function sampleVectorGradient(g: VectorGradient, t: number): {
|
|
721
|
-
color: string;
|
|
722
|
-
opacity: number;
|
|
723
|
-
};
|
|
724
|
-
/**
|
|
725
|
-
* Plain stops (no midpoints) that SVG's sRGB interpolation turns into the gradient's colours:
|
|
726
|
-
* the stops as they are when nothing needs expanding; one extra stop per off-centre midpoint for
|
|
727
|
-
* sRGB without smoothness (exact: the midpoint makes each half linear); otherwise stops placed
|
|
728
|
-
* adaptively until linear interpolation between them is within `tolerance` (0–1 per channel,
|
|
729
|
-
* default half a level) of the true curve everywhere they were checked.
|
|
730
|
-
*/
|
|
731
|
-
declare function expandVectorGradientStops(g: VectorGradient, options?: {
|
|
732
|
-
tolerance?: number;
|
|
733
|
-
}): VectorGradientStop[];
|
|
734
|
-
/** Linear interpolation between plain stops (what SVG draws from them), straight alpha. */
|
|
735
|
-
declare function samplePlainStops(stops: readonly VectorGradientStop[], t: number): VectorRgba;
|
|
736
|
-
/** The gradient with its stops reversed, each midpoint measured from the other side (vectorcraft `reverse`). */
|
|
737
|
-
declare function reverseVectorGradient<T extends Pick<VectorGradient, 'stops'>>(g: T): T;
|
|
738
|
-
/** A stop added at `offset` painting what the gradient paints there; returns the stops and its index. */
|
|
739
|
-
declare function insertVectorGradientStop(g: VectorGradient, offset: number): {
|
|
740
|
-
stops: VectorGradientStop[];
|
|
741
|
-
index: number;
|
|
742
|
-
};
|
|
743
|
-
/** Stop `index` moved to `offset` (re-sorted); returns the stops and its new index. */
|
|
744
|
-
declare function moveVectorGradientStop(stops: readonly VectorGradientStop[], index: number, offset: number): {
|
|
745
|
-
stops: VectorGradientStop[];
|
|
746
|
-
index: number;
|
|
747
|
-
};
|
|
748
|
-
/** The stops without stop `index`, or null when that would leave fewer than two. */
|
|
749
|
-
declare function removeVectorGradientStop(stops: readonly VectorGradientStop[], index: number): VectorGradientStop[] | null;
|
|
750
|
-
/** Where (0–1 along the gradient) the midpoint after stop `index` sits, or null for the last stop. */
|
|
751
|
-
declare function vectorGradientMidpointPosition(stops: readonly VectorGradientStop[], index: number): number | null;
|
|
752
|
-
/** The midpoint of stop `index` that puts it at position `pos` (clamped to 0.05–0.95), or null. */
|
|
753
|
-
declare function vectorGradientMidpointFromPosition(stops: readonly VectorGradientStop[], index: number, pos: number): number | null;
|
|
754
|
-
/**
|
|
755
|
-
* The part of the gradient from `from` to `to` (0–1, either order) as plain stops over 0–1
|
|
756
|
-
* (vectorcraft `span`): the colours at both ends plus the expanded stops between them.
|
|
757
|
-
*/
|
|
758
|
-
declare function spanVectorGradientStops(g: VectorGradient, from: number, to: number, expanded?: VectorGradientStop[]): VectorGradientStop[];
|
|
759
|
-
/** A gradient's frame points, in its units (see `VectorGradient`). */
|
|
760
|
-
interface VectorGradientPoints {
|
|
761
|
-
start: Vec2;
|
|
762
|
-
end: Vec2;
|
|
763
|
-
width: Vec2;
|
|
764
|
-
focal: Vec2 | null;
|
|
765
|
-
focalRadius: number;
|
|
766
|
-
units: VectorGradientUnits;
|
|
767
|
-
}
|
|
768
|
-
/** Whether the gradient carries its own points (rather than the angle / centre shorthand). */
|
|
769
|
-
declare const hasExplicitGradientGeometry: (g: VectorGradient) => boolean;
|
|
770
|
-
/** The gradient's frame points in its units, the shorthand resolved (it is always in the box). */
|
|
771
|
-
declare function vectorGradientPoints(g: VectorGradient): VectorGradientPoints;
|
|
772
|
-
/**
|
|
773
|
-
* The unit box → `bounds` matrix of `objectBoundingBox` gradients. A side with no extent (a
|
|
774
|
-
* horizontal or vertical line) takes the other side's, centred, so the gradient still paints
|
|
775
|
-
* (SVG paints nothing there).
|
|
776
|
-
*/
|
|
777
|
-
declare function vectorBoxMatrix(bounds: VectorBounds | null | undefined): VectorMatrix;
|
|
778
|
-
/** The gradient's units → node space (the box matrix for `objectBoundingBox`, else the identity). */
|
|
779
|
-
declare function vectorGradientUnitsMatrix(g: VectorGradient, bounds: VectorBounds | null | undefined): VectorMatrix;
|
|
780
|
-
/** The gradient's unit frame → node space: u = 1 at the end, v = 1 at the width point. */
|
|
781
|
-
declare function vectorGradientMatrix(g: VectorGradient, bounds: VectorBounds | null | undefined): VectorMatrix;
|
|
782
|
-
/**
|
|
783
|
-
* t of a radial gradient at unit-frame point `q` with the focal circle centred on `f` with radius
|
|
784
|
-
* `fr` and the end circle the unit circle (SVG's two-point conical gradient). With `fr = 0` this
|
|
785
|
-
* is the focal ray: t is the distance from the focal point to `q` over the distance from it to
|
|
786
|
-
* the circle along the same ray (effectcraft `GradientRamp::t`, vectorcraft `param_at`).
|
|
787
|
-
*/
|
|
788
|
-
declare function vectorGradientFocalParam(q: Vec2, f?: Vec2, fr?: number): number;
|
|
789
|
-
/**
|
|
790
|
-
* The raw gradient parameter (before the spread) of a style at unit-frame point `q`: linear `u`,
|
|
791
|
-
* reflected `|u|`, diamond `|u| + |v|`, conic the turn from the u axis towards the v axis (0–1),
|
|
792
|
-
* radial the distance through the focal circle (photocraft `gradient_t`).
|
|
793
|
-
*/
|
|
794
|
-
declare function vectorGradientParam(type: VectorGradientType, q: Vec2, focal?: {
|
|
795
|
-
f: Vec2;
|
|
796
|
-
fr: number;
|
|
797
|
-
} | null): number;
|
|
798
|
-
/** `t` folded into 0–1 by a spread mode. */
|
|
799
|
-
declare function applyVectorGradientSpread(t: number, spread?: VectorGradientSpread): number;
|
|
800
|
-
/** The gradient's t (spread applied) at node-space point `p` of a shape with box `bounds`. */
|
|
801
|
-
declare function vectorGradientTAt(g: VectorGradient, bounds: VectorBounds | null | undefined, p: Vec2): number;
|
|
802
|
-
/** What the gradient paints at node-space point `p` (straight-alpha sRGB, 0–1). */
|
|
803
|
-
declare function sampleVectorGradientAt(g: VectorGradient, bounds: VectorBounds | null | undefined, p: Vec2): VectorRgba;
|
|
804
|
-
/** The main axis length over the secondary's: |width − start| / |end − start| (signed by side). */
|
|
805
|
-
declare function vectorGradientAspect(g: VectorGradient): number;
|
|
806
|
-
/** The gradient with explicit points (in its units) replacing the shorthand. */
|
|
807
|
-
declare function explicitVectorGradient(g: VectorGradient): VectorGradient;
|
|
808
|
-
/**
|
|
809
|
-
* The gradient in the node's own space (`userSpaceOnUse`), painting what it paints on a shape
|
|
810
|
-
* with box `bounds` (vectorcraft `GradientPaint::pin`): its points mapped through the box.
|
|
811
|
-
*/
|
|
812
|
-
declare function pinVectorGradient(g: VectorGradient, bounds: VectorBounds | null | undefined): VectorGradient;
|
|
813
|
-
/**
|
|
814
|
-
* The gradient after the node's geometry is mapped by `m`: a `userSpaceOnUse` gradient's points
|
|
815
|
-
* are mapped too (any affine map keeps every style's t, since t is measured in the frame the
|
|
816
|
-
* three points span); a box gradient follows the box and is unchanged.
|
|
817
|
-
*/
|
|
818
|
-
declare function transformVectorGradient(g: VectorGradient, m: VectorMatrix): VectorGradient;
|
|
819
|
-
/**
|
|
820
|
-
* A gradient after its node's geometry goes through a non-affine map `f` (Free Distort, an
|
|
821
|
-
* envelope): handles in the node's own space (`userSpaceOnUse`) are mapped point by point, which
|
|
822
|
-
* keeps the gradient's frame where the shape went; bounding-box gradients are left alone, as they
|
|
823
|
-
* already follow the shape's new bounds.
|
|
824
|
-
*/
|
|
825
|
-
declare function mapVectorGradient(g: VectorGradient, f: (p: Vec2) => Vec2): VectorGradient;
|
|
826
|
-
/** A paint after its node's geometry goes through a non-affine map `f` (see `mapVectorGradient`). */
|
|
827
|
-
declare function mapVectorPaint<T extends VectorPaint | undefined>(paint: T, f: (p: Vec2) => Vec2): T;
|
|
828
|
-
/** A paint after its node's geometry is mapped by `m` (colours unchanged). */
|
|
829
|
-
declare function transformVectorPaint<T extends VectorPaint | undefined>(paint: T, m: VectorMatrix): T;
|
|
830
|
-
/**
|
|
831
|
-
* An on-canvas handle of a gradient: `start` (a radial, conic or diamond gradient's centre),
|
|
832
|
-
* `end` (a linear or reflected gradient's end), `radius` (the end of the others), `aspect` (the
|
|
833
|
-
* secondary axis' end) and `focal` (radial).
|
|
834
|
-
*/
|
|
835
|
-
type VectorGradientHandle = 'start' | 'end' | 'radius' | 'aspect' | 'focal';
|
|
836
|
-
/** Whether the style has a centre with a radius (rather than a start and an end). */
|
|
837
|
-
declare const isCentredVectorGradient: (type: VectorGradientType) => type is "radial" | "conic" | "diamond";
|
|
838
|
-
/** The handles of a gradient in the space `toWorld` maps the node's space to (the document, the screen). */
|
|
839
|
-
declare function vectorGradientHandles(g: VectorGradient, bounds: VectorBounds | null | undefined, toWorld?: VectorMatrix): {
|
|
840
|
-
start: Vec2;
|
|
841
|
-
end: Vec2;
|
|
842
|
-
aspect: Vec2 | null;
|
|
843
|
-
focal: Vec2 | null;
|
|
844
|
-
};
|
|
845
|
-
/**
|
|
846
|
-
* The gradient (pinned to the node's space) with a handle dragged to node-space point `to`.
|
|
847
|
-
* `start` moves the whole gradient by `to − from`; `end` / `radius` move the end, the secondary
|
|
848
|
-
* axis and focal point following; `aspect` sets the secondary axis' length square to the main
|
|
849
|
-
* one; `focal` sets the focal point (pulled inside the circle; null centres it).
|
|
850
|
-
*/
|
|
851
|
-
declare function moveVectorGradientHandle(g: VectorGradient, bounds: VectorBounds | null | undefined, handle: VectorGradientHandle, to: Vec2, from?: Vec2): VectorGradient;
|
|
852
|
-
/** The gradient set to run from `start` to `end` (node space), its secondary axis square to it with its aspect kept. */
|
|
853
|
-
declare function setVectorGradientVector(g: VectorGradient, bounds: VectorBounds | null | undefined, start: Vec2, end: Vec2): VectorGradient;
|
|
854
|
-
/** Most periods a spread is expanded to (vectorcraft `MAX_PERIODS`). */
|
|
855
|
-
declare const VECTOR_GRADIENT_MAX_PERIODS = 64;
|
|
856
|
-
/**
|
|
857
|
-
* Stops repeating the gradient's plain stops over periods `lo` … `hi` (integers, at most
|
|
858
|
-
* `VECTOR_GRADIENT_MAX_PERIODS`), period `k` mirrored when `mirrored(k)`; offsets over 0–1 span
|
|
859
|
-
* the whole range (vectorcraft `spread::expand`, which emulates `reflect` and `repeat` this way).
|
|
860
|
-
*/
|
|
861
|
-
declare function periodicVectorGradientStops(stops: readonly VectorGradientStop[], lo: number, hi: number, mirrored: (k: number) => boolean): VectorGradientStop[];
|
|
862
|
-
/**
|
|
863
|
-
* A linear or reflected gradient's spread as stop periods over `area` (node space), for
|
|
864
|
-
* renderers (and combinations) without the spread mode: vectorcraft's SVG import emulates
|
|
865
|
-
* `reflect` and `repeat` this way. Returns where the periods start and end and their stops, or
|
|
866
|
-
* null when a linear gradient pads (nothing to repeat). Reflected gradients always get at least
|
|
867
|
-
* the period either side of the start (the one before it mirrored). `from` / `to` are the
|
|
868
|
-
* periods' ends along the frame's u axis (`matrix` maps the frame to node space).
|
|
869
|
-
*/
|
|
870
|
-
declare function expandVectorGradientSpread(g: VectorGradient, bounds: VectorBounds | null | undefined, area: VectorBounds): {
|
|
871
|
-
start: Vec2;
|
|
872
|
-
end: Vec2;
|
|
873
|
-
from: number;
|
|
874
|
-
to: number;
|
|
875
|
-
matrix: VectorMatrix;
|
|
876
|
-
stops: VectorGradientStop[];
|
|
877
|
-
capped: boolean;
|
|
878
|
-
} | null;
|
|
879
|
-
/**
|
|
880
|
-
* A `<pattern>` paint server in user space: draw `gradients` (inside it or in `<defs>`) and then
|
|
881
|
-
* each tile (`d` filled with `fill`) in order, all in the painted element's user space (the
|
|
882
|
-
* `viewBox` in `attrs` matches the tile, so keep it). Conic and diamond gradients, and gradients along
|
|
883
|
-
* or across a stroke, take this form.
|
|
884
|
-
*/
|
|
885
|
-
interface VectorSvgPatternDef {
|
|
886
|
-
id: string;
|
|
887
|
-
type: 'pattern';
|
|
888
|
-
/** `x`, `y`, `width`, `height`, `patternUnits="userSpaceOnUse"` and the matching `viewBox`. */
|
|
889
|
-
attrs: Record<string, string | number>;
|
|
890
|
-
gradients: SvgGradientDef[];
|
|
891
|
-
tiles: {
|
|
892
|
-
d: string;
|
|
893
|
-
fill: string;
|
|
894
|
-
}[];
|
|
895
|
-
}
|
|
896
|
-
/** A paint server for `fill` / `stroke`: a gradient element or a pattern of gradient tiles. */
|
|
897
|
-
type VectorPaintDef = SvgGradientDef | VectorSvgPatternDef;
|
|
898
|
-
interface VectorGradientSvgOptions {
|
|
899
|
-
/** The shape's box in its own space (for `objectBoundingBox` gradients). */
|
|
900
|
-
bounds?: VectorBounds | null;
|
|
901
|
-
/** The area the paint must cover (pattern tiles, spread periods); default `bounds` padded by 1. */
|
|
902
|
-
area?: VectorBounds | null;
|
|
903
|
-
/** Wedges of a conic gradient (default 72: 5° each). */
|
|
904
|
-
wedges?: number;
|
|
905
|
-
precision?: number;
|
|
906
|
-
}
|
|
907
|
-
/** The area a gradient on a shape with box `bounds` paints (the box padded by 1). */
|
|
908
|
-
declare const vectorGradientArea: (bounds: VectorBounds | null | undefined) => VectorBounds;
|
|
909
|
-
/**
|
|
910
|
-
* A user-space pattern tile over `area`. Without a `viewBox` SVG puts the content's origin at the
|
|
911
|
-
* tile's corner; the matching `viewBox` keeps the content in the painted element's user space.
|
|
912
|
-
*/
|
|
913
|
-
declare function patternAttrs(area: VectorBounds): Record<string, string>;
|
|
914
|
-
/**
|
|
915
|
-
* The SVG paint servers of a gradient on a shape: the first def's id is `id` (reference it as
|
|
916
|
-
* `url(#id)`), any others are what it uses. All are in the user space of the element painted
|
|
917
|
-
* (the node's own space).
|
|
918
|
-
*/
|
|
919
|
-
declare function vectorGradientSvgDefs(g: VectorGradient, id: string, options?: VectorGradientSvgOptions): VectorPaintDef[];
|
|
920
|
-
/**
|
|
921
|
-
* What a `userSpaceOnUse` paint server from `vectorGradientSvgDefs` paints at point `p` (straight
|
|
922
|
-
* alpha, 0–1) the way an SVG renderer would: a gradient's stops interpolated in sRGB, a pattern's
|
|
923
|
-
* topmost tile containing `p`. Null for a point no tile covers.
|
|
924
|
-
*/
|
|
925
|
-
declare function sampleVectorPaintDefAt(defs: readonly VectorPaintDef[], id: string, p: Vec2): VectorRgba | null;
|
|
926
|
-
/**
|
|
927
|
-
* A gradient from untrusted input (agent commands, SVG data attributes), or null when it is not
|
|
928
|
-
* one: unknown fields dropped, numbers clamped, at least one stop.
|
|
929
|
-
*/
|
|
930
|
-
declare function sanitizeVectorGradient(input: unknown): VectorGradient | null;
|
|
931
|
-
/**
|
|
932
|
-
* A gradient changed to style `type`, keeping its stops, colour settings and placement: explicit
|
|
933
|
-
* points stay where they are (a linear end becomes a radius), shorthand is redone for the style.
|
|
934
|
-
*/
|
|
935
|
-
declare function convertVectorGradient(g: VectorGradient, type: VectorGradientType): VectorGradient;
|
|
936
|
-
/** A default gradient for a paint that was a colour (or nothing): the colour fading to white. */
|
|
937
|
-
declare function defaultVectorGradient(type?: VectorGradientType, from?: VectorPaint): VectorGradient;
|
|
938
|
-
/**
|
|
939
|
-
* Changes to a gradient (`vector.setGradient`, the gradient editor): any gradient field, plus
|
|
940
|
-
* `aspect` (the secondary axis' length over the main one, square to it) and `reverse`. `focal` or
|
|
941
|
-
* `width` set to null removes them.
|
|
942
|
-
*/
|
|
943
|
-
interface VectorGradientPatch extends Partial<Omit<VectorGradient, 'focal' | 'width'>> {
|
|
944
|
-
focal?: Vec2 | null;
|
|
945
|
-
width?: Vec2 | null;
|
|
946
|
-
aspect?: number;
|
|
947
|
-
reverse?: boolean;
|
|
948
|
-
}
|
|
949
|
-
/** `g` with `patch` applied (a style change converts it first), or null when the result is not a gradient. */
|
|
950
|
-
declare function applyVectorGradientPatch(g: VectorGradient, patch: VectorGradientPatch): VectorGradient | null;
|
|
951
|
-
|
|
952
|
-
interface VectorSvgExportOptions {
|
|
953
|
-
/** Decimal places for coordinates (default 3). */
|
|
954
|
-
precision?: number;
|
|
955
|
-
/** Draw `document.background` as a full-size rect (default true). */
|
|
956
|
-
background?: boolean;
|
|
957
|
-
/** Include hidden nodes with `display="none"` instead of leaving them out (default false). */
|
|
958
|
-
includeHidden?: boolean;
|
|
959
|
-
/** Prefix for gradient ids (default `vg-`), to keep ids unique when several SVGs share a page. */
|
|
960
|
-
idPrefix?: string;
|
|
961
|
-
/** Indent nested elements (default true). */
|
|
962
|
-
pretty?: boolean;
|
|
963
|
-
/**
|
|
964
|
-
* How strokes with an inside / outside alignment or arrowheads are written: `clip` (default)
|
|
965
|
-
* as a double-width stroke clipped or masked by the shape plus filled heads, `outline` as
|
|
966
|
-
* one filled path of the area the stroke paints.
|
|
967
|
-
*/
|
|
968
|
-
strokes?: 'clip' | 'outline';
|
|
969
|
-
}
|
|
970
|
-
/** `data-vector-corners`: the live corners of subpaths as `subpath.index:radius[:kind]`, space separated. */
|
|
971
|
-
declare function vectorCornersAttribute(subpaths: readonly VectorSubpath[], precision?: number): string;
|
|
972
|
-
/** Puts `data-vector-corners` back on subpaths (malformed entries are ignored). */
|
|
973
|
-
declare function applyVectorCornersAttribute(subpaths: VectorSubpath[], value: string): VectorSubpath[];
|
|
974
|
-
/** Where a paint goes: what `vectorPaintToSvg` needs to place a gradient on a shape. */
|
|
975
|
-
interface VectorPaintSvgOptions {
|
|
976
|
-
/** The path painted (its box places `objectBoundingBox` gradients; strokes need its geometry). */
|
|
977
|
-
node?: VectorPathNode;
|
|
978
|
-
/** `stroke` lays `along` / `across` gradients on the stroke and covers its reach (default `fill`). */
|
|
979
|
-
role?: 'fill' | 'stroke';
|
|
980
|
-
precision?: number;
|
|
981
|
-
}
|
|
982
|
-
/** The box of a path's drawn outline in its own space (null when it has no points). */
|
|
983
|
-
declare function vectorPathLocalBounds(node: VectorPathNode): VectorBounds | null;
|
|
984
|
-
/**
|
|
985
|
-
* A paint as an SVG attribute value plus the paint servers it needs (`url(#id)` refers to the
|
|
986
|
-
* first). Gradients sit in the painted element's user space (the node's own space).
|
|
987
|
-
*/
|
|
988
|
-
declare function vectorPaintToSvg(paint: VectorPaint | undefined, gradientId: string, options?: VectorPaintSvgOptions): {
|
|
989
|
-
value: string;
|
|
990
|
-
defs: VectorPaintDef[];
|
|
991
|
-
};
|
|
992
|
-
/** The parts of an aligned or arrowed stroke (see `VectorRenderPath.strokeParts`). */
|
|
993
|
-
interface VectorRenderStrokeParts {
|
|
994
|
-
align: VectorStrokeAlign;
|
|
995
|
-
/** The line the stroke follows (shortened under `tip`-aligned heads). */
|
|
996
|
-
d: string;
|
|
997
|
-
/** Width to draw it with: twice the stroke width when aligned, half of it being clipped away. */
|
|
998
|
-
width: number;
|
|
999
|
-
/**
|
|
1000
|
-
* A variable-width stroke: the area to fill with `stroke` (nonzero) instead of stroking `d`,
|
|
1001
|
-
* clipped or masked like the stroke would be.
|
|
1002
|
-
*/
|
|
1003
|
-
outline?: string;
|
|
1004
|
-
/**
|
|
1005
|
-
* Inside: a `<clipPath id>` holding the shape (`d`, `clip-rule` = `fillRule`). Outside: a
|
|
1006
|
-
* `<mask id>` in user space over `bounds`, white with the shape (`d`) in black.
|
|
1007
|
-
*/
|
|
1008
|
-
clip: {
|
|
1009
|
-
kind: 'clip' | 'mask';
|
|
1010
|
-
id: string;
|
|
1011
|
-
bounds: VectorBounds;
|
|
1012
|
-
} | null;
|
|
1013
|
-
/** Arrowhead outlines (fill with `stroke`, nonzero). */
|
|
1014
|
-
heads: string[];
|
|
1015
|
-
}
|
|
1016
|
-
/** The stroke parts of a path whose stroke needs more than one element, in its own space (undefined otherwise). */
|
|
1017
|
-
declare function vectorStrokeSvgParts(node: VectorPathNode, clipId: string, precision?: number): VectorRenderStrokeParts | undefined;
|
|
1018
|
-
/** A width profile as a data attribute: `t,left,right` points separated by `;`. */
|
|
1019
|
-
declare function widthProfileToAttribute(points: readonly VectorWidthPoint[], precision?: number): string;
|
|
1020
|
-
/** Reads `widthProfileToAttribute` output (invalid points are dropped). */
|
|
1021
|
-
declare function widthProfileFromAttribute(value: string | undefined): VectorWidthPoint[];
|
|
1022
|
-
/** Serializes a vector document as a standalone SVG string. */
|
|
1023
|
-
declare function vectorDocumentToSvg(doc: VectorDocument, options?: VectorSvgExportOptions): string;
|
|
1024
|
-
interface VectorSvgImportOptions {
|
|
1025
|
-
/** Makes ids for elements without a usable `id` (default `node-1`, `node-2`, …). */
|
|
1026
|
-
createId?: () => string;
|
|
1027
|
-
}
|
|
1028
|
-
/** Parses an SVG `transform` attribute into one matrix. */
|
|
1029
|
-
declare function parseSvgTransform(value: string | undefined): AffineMatrix;
|
|
1030
|
-
/** Parses SVG markup into a vector document. Throws when there is no `<svg>` element. */
|
|
1031
|
-
declare function parseVectorSvg(svg: string, options?: VectorSvgImportOptions): VectorDocument;
|
|
1032
|
-
|
|
1033
193
|
/**
|
|
1034
194
|
* A corner a live radius can cut: an anchor that is not smooth, where two sides (straight or
|
|
1035
195
|
* curved) meet at an angle. Positions are in the path node's own space.
|
|
@@ -4619,4 +3779,4 @@ declare function vectorMeshEditPoints(m: VectorWarpMesh): {
|
|
|
4619
3779
|
/** The mesh's grid lines (patch borders) as cubics `[p0, p1, p2, p3]`. */
|
|
4620
3780
|
declare function vectorMeshGridCurves(m: VectorWarpMesh): Vec2[][];
|
|
4621
3781
|
|
|
4622
|
-
export { type AddVectorNodeOptions, 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, SvgGradientDef, VECTOR_ARROWHEADS, VECTOR_ARROWHEAD_LABELS, VECTOR_BLEND_MAX_SMOOTH_STEPS, VECTOR_BLEND_MAX_STEPS, VECTOR_BLEND_SPACINGS, VECTOR_BLEND_SPACING_LABELS, VECTOR_BUILDER_HATCH_GAP, VECTOR_CLIPBOARD_TYPE, VECTOR_CONSTRUCTION_ANGLES, VECTOR_CORNER_KINDS, VECTOR_CORNER_KIND_LABELS, VECTOR_CORNER_WIDGET_INSET, VECTOR_DISTORT_TOLERANCE, VECTOR_EDIT_TOGGLES, VECTOR_EFFECT_DEFAULTS, VECTOR_EFFECT_LABELS, VECTOR_EFFECT_MENU, VECTOR_EFFECT_PARAM_SPECS, VECTOR_EFFECT_TYPES, VECTOR_ENVELOPE_STYLE_OPTIONS, VECTOR_FILL_GAP, VECTOR_GRADIENT_INTERPOLATIONS, VECTOR_GRADIENT_INTERPOLATION_LABELS, VECTOR_GRADIENT_MAX_PERIODS, VECTOR_GRADIENT_MIDPOINT_GAP, VECTOR_GRADIENT_MIN_STOPS, VECTOR_GRADIENT_OFF_BAR, VECTOR_GRADIENT_SPREADS, VECTOR_GRADIENT_SPREAD_LABELS, VECTOR_GRADIENT_STOP_GAP, VECTOR_GRADIENT_TYPES, VECTOR_GRADIENT_TYPE_LABELS, VECTOR_INK_MAX_CORNERS, VECTOR_MERGE_MODES, VECTOR_OVERLAY_THEME, VECTOR_PATHFINDER_ACTIONS, VECTOR_PATHFINDER_LABELS, VECTOR_PATHFINDER_OPERATIONS, VECTOR_PATH_ACTIONS, VECTOR_PENCIL_STRING_PX, VECTOR_PRESSURE_NOMINAL, VECTOR_ROTATE_HANDLE_OFFSET, VECTOR_STROKE_ALIGN_LABELS, VECTOR_STROKE_GRADIENT_MODES, VECTOR_STROKE_GRADIENT_MODE_LABELS, VECTOR_STYLE_KEYS, VECTOR_TOOLS, VECTOR_TOOL_GLYPHS, VECTOR_TOOL_SHORTCUTS, VECTOR_TRANSFORM_HANDLES, VECTOR_WARP_STYLES, VECTOR_WARP_STYLE_LABELS, VECTOR_WIDTH_PRESETS, VECTOR_WIDTH_PRESET_IDS, VECTOR_WIDTH_PROFILE_MAX_POINTS, VECTOR_WIDTH_PROFILE_MAX_SCALE, VECTOR_WIDTH_SAME_T, type VariableStrokeOptions, type Vec2, type VectorActionResult, type VectorAlign, type VectorAnchor, type VectorAnchorRef, type VectorAnchorType, type VectorAppearanceShape, type VectorArrange, type VectorArrowAlign, type VectorArrowhead, type VectorArrowheadShape, type VectorAverageAxis, type VectorBlend, type VectorBlendControls, type VectorBlendInput, type VectorBlendOptions, type VectorBlendRail, type VectorBlendSpacing, type VectorBlendStart, type VectorBooleanOperand, type VectorBooleanOperation, type VectorBounds, type VectorBuilderHit, type VectorBuilderLinePiece, type VectorBuilderPreview, type VectorBuilderReplacement, type VectorBuilderTouched, type VectorCommandOptions, type VectorCorner, type VectorCornerInfo, type VectorCornerKind, type VectorCornerWidget, type VectorDefaults, type VectorDistortMode, type VectorDistribute, type VectorDocument, VectorEditorController, type VectorEditorOptions, type VectorEditorState, type VectorEffect, type VectorEffectParamSpec, type VectorEffectParamsMap, type VectorEffectType, type VectorEffectsPanelData, type VectorEffectsPanelItem, type VectorEnvelopePanelData, type VectorEnvelopeParams, type VectorFillRule, type VectorGradient, type VectorGradientAnnotator, type VectorGradientEditorData, type VectorGradientHandle, type VectorGradientInterpolation, type VectorGradientPart, type VectorGradientPatch, type VectorGradientPoints, type VectorGradientRamp, type VectorGradientSpread, type VectorGradientStop, type VectorGradientSvgOptions, type VectorGradientTarget, type VectorGradientType, type VectorGradientUnits, type VectorGroupNode, type VectorGuideKind, type VectorGuideLabel, type VectorGuideLine, type VectorHandleRef, type VectorHitTestOptions, type VectorHomography, type VectorHover, type VectorInkShape, type VectorInteraction, type VectorKeyInput, type VectorLineCap, type VectorLineJoin, type VectorMatrix, type VectorMergeMode, type VectorModifiers, type VectorMorph, type VectorMorphContour, type VectorMorphCorrespondence, type VectorMorphOptions, type VectorNode, type VectorNodeListing, type VectorOverlayRenderData, type VectorPaint, type VectorPaintDef, type VectorPaintSvgOptions, type VectorPathAction, type VectorPathEditOptions, type VectorPathEntry, type VectorPathKeyframe, type VectorPathNode, type VectorPathfinderAction, type VectorPathfinderOperation, type VectorPathfinderPaint, type VectorPointMap, type VectorPointSnap, type VectorPointerInput, type VectorRectSnap, type VectorRenderAnchor, type VectorRenderCornerWidget, type VectorRenderGradientAnnotator, type VectorRenderGroup, type VectorRenderGuideLabel, type VectorRenderGuideLine, type VectorRenderHandle, type VectorRenderNode, type VectorRenderPath, type VectorRenderStrokeParts, type VectorRenderWidthPoint, type VectorRepeaterCopy, type VectorRgba, type VectorScaleSnap, type VectorSceneRenderData, type VectorSegmentRef, type VectorSelectionBoxGeometry, type VectorSelectionFrame, type VectorSelectionStyle, type VectorShapeBuilderFace, type VectorShapeBuilderMap, type VectorShapeBuilderPlan, type VectorShapeBuilderResult, type VectorShapeInput, type VectorSnapGuides, type VectorSnapKind, type VectorSnapLeave, type VectorSnapOptions, VectorSnapTargets, type VectorStrokeAlign, type VectorStrokeGradientMode, type VectorStrokeParts, type VectorStrokeSpot, type VectorStyle, type VectorSubpath, type VectorSvgExportOptions, type VectorSvgImportOptions, type VectorSvgPatternDef, type VectorTaperOptions, type VectorTool, type VectorTransformHandle, type VectorViewport, type VectorWarpMesh, type VectorWarpPreset, type VectorWarpStyle, type VectorWaveOptions, type VectorWidthHandle, type VectorWidthPoint, type VectorWidthPointEdit, type VectorWidthPointRef, type VectorWidthPreset, type VectorWidthPresetInfo, activeVectorEffects, addBuilderHit, applyMatrix, applyMatrixLinear, applyVectorBlendOptions, applyVectorCornersAttribute, applyVectorEffects, applyVectorGradientPatch, applyVectorGradientSpread, applyVectorHomography, arrowheadInset, arrowheadPath, arrowheadWeight, bendSegment, bezierToSubpaths, boundsFromPoints, boundsIntersect, clearVectorLiveBooleanCache, cloneAnchor, cloneSubpath, cloneVectorDocument, cloneVectorNode, collectPathNodes, constrainToLeave, convertAnchor, convertVectorGradient, cornerBisectorPoint, cornerRadiusChange, cornerSetback, correspondMorphContours, createVectorCommands, createVectorEffect, createVectorMorph, curvatureMoveAnchor, cutSubpathAt, dashIntervals, decomposeRigid, defaultVectorGradient, distortVectorNode, dragVectorMeshPoint, effectPathLength, effectPathVertexCount, effectiveStrokeAlign, ellipseSubpath, eraseFromFill, eraseFromOutline, eraserRegion, evalVectorMesh, evaluateVectorPathKeyframes, expandVectorAppearance, expandVectorAppearances, expandVectorBlend, expandVectorCorners, expandVectorCornersOf, expandVectorGradientSpread, expandVectorGradientStops, explicitVectorGradient, findVectorNode, fitCornerRadius, fitVectorMesh, foldVectorBooleanOperands, generateVectorBlendChildren, generateWidthProfile, getAnchor, getAnchorWorld, getEditablePathIds, getTransformHandlePositions, getVectorBlendControls, getVectorCornerWidgets, getVectorEffectsPanel, getVectorEnteredGroups, getVectorEnvelopePanel, getVectorEnvelopeTarget, getVectorGradientAnnotator, getVectorGradientEditor, getVectorOverlayRenderData, getVectorSceneRenderData, getVectorSelectionBoxGeometry, getVectorSelectionFrame, getVectorSelectionStyle, getVectorWidthHandles, getVisibleAnchors, getVisibleHandles, gradientMidpointRemap, hasExplicitGradientGeometry, hasOwnVectorAppearance, hasPaint, hasStrokeExtras, hasVectorAppearance, hasVectorCorners, hitTestVectorNode, hitTestVectorNodes, hitTestVectorStroke, hitVectorGradientAnnotator, inferAnchorType, insertAnchor, insertVectorGradientStop, insertWidthPoint, interpolateMorphContours, interpolateRigidMatrix, interpolateVectorColor, interpolateVectorPaint, interpolateVectorPaths, interpolateVectorStyle, interpolateWidthProfiles, invertMatrix, isCentredVectorGradient, isClosedBezierShape, isIdentityMatrix, isUniformWidthProfile, isValidVectorMesh, isVectorBlendGroup, isVectorGradient, isVectorLiveBoolean, isVectorTextTarget, joinSubpaths, knifePath, lineSubpath, locateVectorNode, mapBezierPath, mapVectorGradient, mapVectorMeshPoints, mapVectorPaint, mapVectorPoints, mapVectorSubpaths, matrixRotation, mergePaths, mirrorWidthProfile, morphContourToSubpath, morphPathsCross, moveAnchorHandle, moveVectorGradientHandle, moveVectorGradientStop, multiplyMatrices, nearestSegment, nearestStrokePosition, nextVectorCornerKind, nodeMatrix, normalizeVectorEffectParams, offsetPaths, orderVectorQuad, parseSvgTransform, parseVectorColor, parseVectorSvg, pathsCenter, patternAttrs, periodicVectorGradientStops, pinVectorGradient, planShapeBuilder, polygonSubpath, polylineBounds, pressureWidthProfile, puckerBloatPaths, pullVectorMesh, recognizeInkShape, rectSubpath, refineMorphContour, refreshVectorBlends, releaseVectorBlend, removeAnchorKeepingShape, removeAnchors, removeAnchorsKeepingShape, removeRedundantPoints, removeVectorGradientStop, removeVectorMeshSplitU, removeVectorMeshSplitV, removeWidthPoints, repeatPaths, resampleGradientStops, resizeVectorMesh, resolveVectorBlendOptions, reverseMorphContour, reverseSubpath, reverseVectorGradient, reverseWidthProfile, rotateMatrix, roundCornerPaths, roundSubpaths, samplePlainStops, samplePolyline, sampleVectorGradient, sampleVectorGradientAt, sampleVectorPaintDefAt, sanitizeVectorEffects, sanitizeVectorGradient, sanitizeWidthProfile, scaleFor, scaleMatrix, setAnchorCorner, setSubpathCorners, setVectorGradientVector, setWidthPoint, simplifyPolyline, smoothSubpath, solve8, sortedVectorGradientStops, spanVectorGradientStops, splitIntoFaces, splitSubpathAt, splitVectorMeshU, splitVectorMeshV, starSubpath, strokePositionPoint, strokeWidthProfileOf, subpathEnclosesArea, subpathPointAt, subpathSegment, subpathSegmentCount, subpathToMorphContour, subpathsToBezier, taperWaveFactor, toVectorKeyInput, toVectorModifiers, toVectorPointerInput, transformVectorEffects, transformVectorGradient, transformVectorNode, transformVectorPaint, translateAnchor, translateMatrix, trimIntervals, trimPaths, trimPathsIndividually, turnMorphContour, twistPaths, unionBounds, variableStrokeOutline, variableStrokeRings, vectorAppearanceNodes, vectorAppearanceOutline, vectorAppearanceShapes, vectorBlendColorDistance, vectorBlendKeyTargets, vectorBlendKeys, vectorBlendRail, vectorBlendRailAt, vectorBlendSpine, vectorBlendStepCount, vectorBoxCorners, vectorBoxMatrix, vectorBuilderErasedEdges, vectorCornerAt, vectorCorners, vectorCornersAttribute, vectorDiamondPath, vectorDistortQuad, vectorDocumentToSvg, vectorEffectInputBounds, vectorEffectInputPaths, vectorEnteredGroups, vectorEnvelopeFrame, vectorEnvelopeMap, vectorEnvelopeMesh, vectorFillMap, vectorGradientArea, vectorGradientAspect, vectorGradientBarPosition, vectorGradientFocalParam, vectorGradientHandles, vectorGradientMatrix, vectorGradientMidpointFromPosition, vectorGradientMidpointPosition, vectorGradientNeedsExpansion, vectorGradientParam, vectorGradientPoints, vectorGradientRamp, vectorGradientSvgDefs, vectorGradientTAt, vectorGradientTargetPath, vectorGradientUnitsMatrix, vectorHomography, vectorHomographyKeepsQuad, vectorIdentityMesh, vectorInkShapeName, vectorLiveBooleanSteps, vectorMeshColumns, vectorMeshControlBounds, vectorMeshEditPoints, vectorMeshFromOutline, vectorMeshGridCurves, vectorMeshOutline, vectorMeshParamAt, vectorMeshRows, vectorNodeBounds, vectorNodeEnvelope, vectorNodeRotation, vectorNodeToBezier, vectorOperandOperation, vectorPaintToHex, vectorPaintToSvg, vectorParentMatrix, vectorPathData, vectorPathEntries, vectorPathLocalBounds, vectorPathWorldBezier, vectorPathfinderShape, vectorRepeaterCopies, vectorResizeCursor, vectorResultStyle, vectorShapeBuilderHit, vectorShapeBuilderMap, vectorShearForSide, vectorSkewMatrix, vectorStrokeGradientDefs, vectorStrokeLineArea, vectorStrokeOutline, vectorStrokeOutlinePath, vectorStrokeParts, vectorStrokeReach, vectorStrokeSvgParts, vectorStrokeWidthGeometry, vectorToolLabel, vectorWarpPresetGrid, vectorWarpPresetMesh, vectorWorldMatrix, walkVectorNodes, widthProfileAt, widthProfileFromAttribute, widthProfileMaxScale, widthProfilePreset, widthProfilePresetId, widthProfileToAttribute, wigglePaths, zigzagPaths };
|
|
3782
|
+
export { type AddVectorNodeOptions, 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_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_DEFAULTS, VECTOR_EFFECT_LABELS, VECTOR_EFFECT_MENU, VECTOR_EFFECT_PARAM_SPECS, 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_STYLE_KEYS, VECTOR_TOOL_GLYPHS, VECTOR_TOOL_SHORTCUTS, VECTOR_WARP_STYLES, VECTOR_WARP_STYLE_LABELS, VECTOR_WIDTH_PRESETS, VECTOR_WIDTH_PRESET_IDS, VECTOR_WIDTH_PROFILE_MAX_POINTS, VECTOR_WIDTH_PROFILE_MAX_SCALE, VECTOR_WIDTH_SAME_T, type VariableStrokeOptions, Vec2, type VectorActionResult, VectorAlign, VectorAnchor, VectorAnchorRef, VectorAnchorType, type VectorAppearanceShape, VectorArrange, VectorArrowAlign, VectorArrowhead, type VectorArrowheadShape, VectorAverageAxis, VectorBlend, type VectorBlendControls, type VectorBlendInput, VectorBlendOptions, type VectorBlendRail, VectorBlendSpacing, type VectorBlendStart, type VectorBooleanOperand, 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, type VectorEffectParamSpec, VectorEffectParamsMap, VectorEffectType, type VectorEffectsPanelData, type VectorEffectsPanelItem, type VectorEnvelopePanelData, type VectorEnvelopeParams, VectorFillRule, 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 VectorHomography, 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, 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, type VectorRenderGradientAnnotator, type VectorRenderGroup, type VectorRenderGuideLabel, type VectorRenderGuideLine, type VectorRenderHandle, type VectorRenderNode, 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, type VectorStrokeParts, type VectorStrokeSpot, VectorStyle, VectorSubpath, VectorSvgExportOptions, type VectorTaperOptions, VectorTool, VectorTransformHandle, VectorViewport, VectorWarpMesh, type VectorWarpPreset, VectorWarpStyle, type VectorWaveOptions, type VectorWidthHandle, VectorWidthPoint, type VectorWidthPointEdit, type VectorWidthPointRef, type VectorWidthPreset, type VectorWidthPresetInfo, activeVectorEffects, addBuilderHit, applyMatrix, applyMatrixLinear, applyVectorBlendOptions, applyVectorEffects, applyVectorHomography, arrowheadInset, arrowheadPath, arrowheadWeight, bendSegment, bezierToSubpaths, boundsFromPoints, boundsIntersect, clearVectorLiveBooleanCache, cloneAnchor, cloneSubpath, cloneVectorDocument, cloneVectorNode, collectPathNodes, constrainToLeave, convertAnchor, cornerBisectorPoint, cornerRadiusChange, cornerSetback, correspondMorphContours, createVectorCommands, createVectorEffect, createVectorMorph, curvatureMoveAnchor, cutSubpathAt, dashIntervals, decomposeRigid, distortVectorNode, dragVectorMeshPoint, effectPathLength, effectPathVertexCount, effectiveStrokeAlign, ellipseSubpath, eraseFromFill, eraseFromOutline, eraserRegion, evalVectorMesh, evaluateVectorPathKeyframes, expandVectorAppearance, expandVectorAppearances, expandVectorBlend, expandVectorCorners, expandVectorCornersOf, findVectorNode, fitCornerRadius, fitVectorMesh, foldVectorBooleanOperands, generateVectorBlendChildren, generateWidthProfile, getAnchor, getAnchorWorld, getEditablePathIds, getTransformHandlePositions, getVectorBlendControls, getVectorCornerWidgets, getVectorEffectsPanel, getVectorEnteredGroups, getVectorEnvelopePanel, getVectorEnvelopeTarget, getVectorGradientAnnotator, getVectorGradientEditor, getVectorOverlayRenderData, getVectorSceneRenderData, getVectorSelectionBoxGeometry, getVectorSelectionFrame, getVectorSelectionStyle, getVectorWidthHandles, getVisibleAnchors, getVisibleHandles, hasOwnVectorAppearance, hasPaint, hasStrokeExtras, hasVectorAppearance, hasVectorCorners, hitTestVectorNode, hitTestVectorNodes, hitTestVectorStroke, hitVectorGradientAnnotator, inferAnchorType, insertAnchor, insertWidthPoint, interpolateMorphContours, interpolateRigidMatrix, interpolateVectorColor, interpolateVectorPaint, interpolateVectorPaths, interpolateVectorStyle, interpolateWidthProfiles, invertMatrix, isClosedBezierShape, isIdentityMatrix, isUniformWidthProfile, isValidVectorMesh, isVectorBlendGroup, isVectorLiveBoolean, isVectorTextTarget, joinSubpaths, knifePath, lineSubpath, locateVectorNode, mapBezierPath, mapVectorMeshPoints, mapVectorPoints, mapVectorSubpaths, matrixRotation, mergePaths, mirrorWidthProfile, morphContourToSubpath, morphPathsCross, moveAnchorHandle, multiplyMatrices, nearestSegment, nearestStrokePosition, nextVectorCornerKind, nodeMatrix, normalizeVectorEffectParams, offsetPaths, orderVectorQuad, pathsCenter, planShapeBuilder, polygonSubpath, polylineBounds, pressureWidthProfile, puckerBloatPaths, pullVectorMesh, recognizeInkShape, rectSubpath, refineMorphContour, refreshVectorBlends, releaseVectorBlend, removeAnchorKeepingShape, removeAnchors, removeAnchorsKeepingShape, removeRedundantPoints, removeVectorMeshSplitU, removeVectorMeshSplitV, removeWidthPoints, repeatPaths, resampleGradientStops, resizeVectorMesh, resolveVectorBlendOptions, reverseMorphContour, reverseSubpath, reverseWidthProfile, rotateMatrix, roundCornerPaths, roundSubpaths, samplePolyline, sanitizeVectorEffects, sanitizeWidthProfile, scaleFor, scaleMatrix, setAnchorCorner, setSubpathCorners, setWidthPoint, simplifyPolyline, smoothSubpath, solve8, splitIntoFaces, splitSubpathAt, splitVectorMeshU, splitVectorMeshV, starSubpath, strokePositionPoint, strokeWidthProfileOf, subpathEnclosesArea, subpathPointAt, subpathSegment, subpathSegmentCount, subpathToMorphContour, subpathsToBezier, taperWaveFactor, toVectorKeyInput, toVectorModifiers, toVectorPointerInput, transformVectorEffects, transformVectorNode, translateAnchor, translateMatrix, trimIntervals, trimPaths, trimPathsIndividually, turnMorphContour, twistPaths, unionBounds, variableStrokeOutline, variableStrokeRings, vectorAppearanceNodes, vectorAppearanceOutline, vectorAppearanceShapes, vectorBlendColorDistance, vectorBlendKeyTargets, vectorBlendKeys, vectorBlendRail, vectorBlendRailAt, vectorBlendSpine, vectorBlendStepCount, vectorBoxCorners, vectorBuilderErasedEdges, vectorCornerAt, vectorCorners, vectorDiamondPath, vectorDistortQuad, vectorEffectInputBounds, vectorEffectInputPaths, vectorEnteredGroups, vectorEnvelopeFrame, vectorEnvelopeMap, vectorEnvelopeMesh, vectorFillMap, vectorGradientBarPosition, vectorGradientTargetPath, vectorHomography, vectorHomographyKeepsQuad, vectorIdentityMesh, vectorInkShapeName, vectorLiveBooleanSteps, vectorMeshColumns, vectorMeshControlBounds, vectorMeshEditPoints, vectorMeshFromOutline, vectorMeshGridCurves, vectorMeshOutline, vectorMeshParamAt, vectorMeshRows, vectorNodeBounds, vectorNodeEnvelope, vectorNodeRotation, vectorNodeToBezier, vectorOperandOperation, vectorPaintToHex, vectorParentMatrix, vectorPathData, vectorPathEntries, vectorPathWorldBezier, vectorPathfinderShape, vectorRepeaterCopies, vectorResizeCursor, vectorResultStyle, vectorShapeBuilderHit, vectorShapeBuilderMap, vectorShearForSide, vectorSkewMatrix, vectorStrokeGradientDefs, vectorStrokeLineArea, vectorStrokeOutline, vectorStrokeOutlinePath, vectorStrokeParts, vectorStrokeReach, vectorStrokeWidthGeometry, vectorToolLabel, vectorWarpPresetGrid, vectorWarpPresetMesh, vectorWorldMatrix, walkVectorNodes, widthProfileAt, widthProfileMaxScale, widthProfilePreset, widthProfilePresetId, wigglePaths, zigzagPaths };
|