@pixerate/editor 0.112.0 → 0.114.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/THIRD_PARTY_NOTICES.md +11 -0
- package/dist/animation-editor/index.cjs +60 -54
- package/dist/animation-editor/index.cjs.map +1 -1
- package/dist/animation-editor/index.d.cts +3 -3
- package/dist/animation-editor/index.d.ts +3 -3
- package/dist/animation-editor/index.js +14 -8
- package/dist/animation-editor/index.js.map +1 -1
- package/dist/builtin-CY97ppKM.d.cts +354 -0
- package/dist/builtin-CY97ppKM.d.ts +354 -0
- package/dist/canvas/index.cjs +3 -3
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.js +9 -9
- package/dist/chunk-26PGXHY7.cjs +753 -0
- package/dist/chunk-26PGXHY7.cjs.map +1 -0
- package/dist/chunk-2OJACTPR.cjs +929 -0
- package/dist/chunk-2OJACTPR.cjs.map +1 -0
- package/dist/chunk-3UFGNHSP.js +929 -0
- package/dist/chunk-3UFGNHSP.js.map +1 -0
- package/dist/{chunk-YGIMK4NX.cjs → chunk-5OVJHMZQ.cjs} +757 -825
- package/dist/chunk-5OVJHMZQ.cjs.map +1 -0
- package/dist/chunk-643B2HKC.cjs +534 -0
- package/dist/chunk-643B2HKC.cjs.map +1 -0
- package/dist/chunk-6FCKOS2B.js +534 -0
- package/dist/chunk-6FCKOS2B.js.map +1 -0
- package/dist/chunk-BRLYOPLT.js +2574 -0
- package/dist/chunk-BRLYOPLT.js.map +1 -0
- package/dist/{chunk-LQEEDHOP.js → chunk-C6C5PDKU.js} +759 -761
- package/dist/chunk-C6C5PDKU.js.map +1 -0
- package/dist/chunk-DFQEX3AM.cjs +781 -0
- package/dist/chunk-DFQEX3AM.cjs.map +1 -0
- package/dist/{chunk-CZOXTEMN.js → chunk-EUVSQ25B.js} +336 -404
- package/dist/chunk-EUVSQ25B.js.map +1 -0
- package/dist/chunk-G5NMLUVF.cjs +2574 -0
- package/dist/chunk-G5NMLUVF.cjs.map +1 -0
- package/dist/chunk-LKCYANMW.js +781 -0
- package/dist/chunk-LKCYANMW.js.map +1 -0
- package/dist/{chunk-W3GXSUSQ.cjs → chunk-LPLCWZTM.cjs} +5087 -1283
- package/dist/chunk-LPLCWZTM.cjs.map +1 -0
- package/dist/chunk-MMVHBKMM.js +753 -0
- package/dist/chunk-MMVHBKMM.js.map +1 -0
- package/dist/{chunk-POGBUYWE.cjs → chunk-ST7E3NEE.cjs} +857 -859
- package/dist/chunk-ST7E3NEE.cjs.map +1 -0
- package/dist/{chunk-7VOHOPLW.cjs → chunk-TCKIXI46.cjs} +59 -59
- package/dist/{chunk-7VOHOPLW.cjs.map → chunk-TCKIXI46.cjs.map} +1 -1
- package/dist/{chunk-XIOMMGPD.cjs → chunk-TFOPHZ3U.cjs} +1 -1
- package/dist/chunk-TFOPHZ3U.cjs.map +1 -0
- package/dist/{chunk-Z4BC6M74.js → chunk-UBIXVXPR.js} +2 -2
- package/dist/{chunk-BLWCAQCW.js → chunk-VXR7XWMF.js} +4574 -770
- package/dist/chunk-VXR7XWMF.js.map +1 -0
- package/dist/{chunk-HNS7UHCM.js → chunk-XK5LZKBD.js} +1 -1
- package/dist/chunk-XK5LZKBD.js.map +1 -0
- package/dist/cms/index.cjs +146 -0
- package/dist/cms/index.cjs.map +1 -0
- package/dist/cms/index.d.cts +51 -0
- package/dist/cms/index.d.ts +51 -0
- package/dist/cms/index.js +146 -0
- package/dist/{export-DNu_Jr8p.d.ts → export-_1dUKwpF.d.ts} +326 -195
- package/dist/{export-DBba-buV.d.cts → export-b6NjCZ5-.d.cts} +326 -195
- package/dist/image-editor/index.cjs +2377 -1291
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +149 -97
- package/dist/image-editor/index.d.ts +149 -97
- package/dist/image-editor/index.js +1343 -257
- package/dist/image-editor/index.js.map +1 -1
- package/dist/opentype-BZEOSOX3.d.ts +188 -0
- package/dist/opentype-Dpe75vL5.d.cts +188 -0
- package/dist/paint/index.cjs +63 -4
- package/dist/paint/index.cjs.map +1 -1
- package/dist/paint/index.d.cts +30 -3
- package/dist/paint/index.d.ts +30 -3
- package/dist/paint/index.js +62 -3
- package/dist/paint-editor/index.cjs +146 -145
- package/dist/paint-editor/index.cjs.map +1 -1
- package/dist/paint-editor/index.d.cts +9 -8
- package/dist/paint-editor/index.d.ts +9 -8
- package/dist/paint-editor/index.js +6 -5
- package/dist/paint-editor/index.js.map +1 -1
- package/dist/raster/index.cjs +53 -3
- package/dist/raster/index.cjs.map +1 -1
- package/dist/raster/index.d.cts +62 -91
- package/dist/raster/index.d.ts +62 -91
- package/dist/raster/index.js +59 -9
- package/dist/{render-BEriFuqK.d.cts → render-B1K_OoLy.d.cts} +87 -2
- package/dist/{render-tjzKaik-.d.ts → render-CrmHOgpo.d.ts} +87 -2
- package/dist/{blending-aOE6Y3UE.d.cts → retouch-Bxkuc0KH.d.cts} +219 -2
- package/dist/{blending-DXl06NSx.d.ts → retouch-Do6tBs2H.d.ts} +219 -2
- package/dist/{surface-C8RRg_Bh.d.ts → surface-Cn30xIV6.d.cts} +6 -1
- package/dist/{surface-C8RRg_Bh.d.cts → surface-Cn30xIV6.d.ts} +6 -1
- package/dist/{svg-D_cfkhlB.d.cts → svg-BnRj0q8i.d.cts} +16 -4
- package/dist/{svg-wIaKLrU0.d.ts → svg-CmmBFfGT.d.ts} +16 -4
- package/dist/{types-DtL_qLFz.d.ts → types-1SUQKDAw.d.ts} +273 -4
- package/dist/{types-DyQq-WPY.d.cts → types-yINF17Ta.d.cts} +273 -4
- package/dist/vector/index.cjs +12170 -7343
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.cts +1579 -16
- package/dist/vector/index.d.ts +1579 -16
- package/dist/vector/index.js +6303 -1476
- package/dist/vector/index.js.map +1 -1
- package/dist/warp-B39VsOtd.d.cts +348 -0
- package/dist/warp-DMN30aY6.d.ts +348 -0
- package/dist/zlib-dxQdgHyN.d.cts +95 -0
- package/dist/zlib-dxQdgHyN.d.ts +95 -0
- package/package.json +6 -1
- package/skills/pixerate-image-editor/SKILL.md +34 -34
- package/skills/pixerate-image-editor/references/color-management.md +37 -0
- package/skills/pixerate-image-editor/references/photoshop-files.md +39 -0
- package/skills/pixerate-image-editor/references/retouching.md +36 -0
- package/skills/pixerate-vector/SKILL.md +154 -5
- package/dist/chunk-BLWCAQCW.js.map +0 -1
- package/dist/chunk-CZOXTEMN.js.map +0 -1
- package/dist/chunk-FTBZPI77.cjs +0 -1
- package/dist/chunk-FTBZPI77.cjs.map +0 -1
- package/dist/chunk-HNS7UHCM.js.map +0 -1
- package/dist/chunk-JLYX4V57.cjs +0 -2001
- package/dist/chunk-JLYX4V57.cjs.map +0 -1
- package/dist/chunk-KB2YBCVS.js +0 -2001
- package/dist/chunk-KB2YBCVS.js.map +0 -1
- package/dist/chunk-LQEEDHOP.js.map +0 -1
- package/dist/chunk-POGBUYWE.cjs.map +0 -1
- package/dist/chunk-VKK5VS2T.js +0 -1
- package/dist/chunk-W3GXSUSQ.cjs.map +0 -1
- package/dist/chunk-XIOMMGPD.cjs.map +0 -1
- package/dist/chunk-YGIMK4NX.cjs.map +0 -1
- package/dist/homography-CZ-tFjay.d.cts +0 -50
- package/dist/homography-Ctfjoc1b.d.ts +0 -50
- package/dist/warp-CWHZzE3x.d.ts +0 -118
- package/dist/warp-D5jz_tN7.d.cts +0 -118
- /package/dist/{chunk-Z4BC6M74.js.map → chunk-UBIXVXPR.js.map} +0 -0
- /package/dist/{chunk-VKK5VS2T.js.map → cms/index.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as BlendMode, R as RasterRect, i as TileKey, Y as Pigment } from './surface-Cn30xIV6.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* The brush engine (a subset of photocraft's `crates/paint`): a computed round tip with size,
|
|
@@ -483,4 +483,221 @@ declare class SmudgeTip {
|
|
|
483
483
|
dab(medium: TileMedium, d: SmudgeDab, rect: RasterRect, cov: ArrayLike<number>): void;
|
|
484
484
|
}
|
|
485
485
|
|
|
486
|
-
|
|
486
|
+
/**
|
|
487
|
+
* The retouching tools on the shared brush engine: Clone Stamp, Healing Brush, Spot Healing
|
|
488
|
+
* Brush, Smudge, Dodge, Burn and Sponge. Two stroke shapes cover them all:
|
|
489
|
+
*
|
|
490
|
+
* - **Accumulate, then composite** (Clone Stamp, Dodge, Burn; the Healing tools' result): the
|
|
491
|
+
* stroke's dabs build up one `CoverageMap` (flow builds towards the dab's opacity ceiling), and
|
|
492
|
+
* per-pixel paint taken from the pre-stroke state (a cloned source, a toned copy of the pixel,
|
|
493
|
+
* a healed patch) is composited through it with `applyRetouchToTile`. Pixels painted earlier in
|
|
494
|
+
* the stroke are never sampled again, and overlapping dabs never exceed the stroke's opacity.
|
|
495
|
+
* - **Sequential dabs** (Smudge, Sponge): `RetouchDabStroke` runs each dab in order over live
|
|
496
|
+
* tiles, so dab n sees what dab n − 1 did.
|
|
497
|
+
*
|
|
498
|
+
* The Healing Brush clones while it is drawn and, when the stroke ends, replaces the clone with a
|
|
499
|
+
* seamless clone (`healPixels`, Poisson blending): the source's texture with the colour and light
|
|
500
|
+
* of the pixels around the stroke. The Spot Healing Brush finds its own source (`spotHealPixels`).
|
|
501
|
+
*
|
|
502
|
+
* Tone curves (`dodgeBurnCurve`, `dodgeBurn`, `sponge`) are photocraft's, made to behave like
|
|
503
|
+
* Photoshop's tools: the chosen range moves most, black and white stay put for midtones, and
|
|
504
|
+
* Protect Tones works on luma so hue and saturation are kept. Data in, pixels out; no DOM.
|
|
505
|
+
*/
|
|
506
|
+
|
|
507
|
+
/** The tonal range Dodge and Burn work on most. */
|
|
508
|
+
type ToneRange = 'shadows' | 'midtones' | 'highlights';
|
|
509
|
+
declare const TONE_RANGES: readonly ToneRange[];
|
|
510
|
+
/** Rec. 601 luma of straight RGB (0..1). */
|
|
511
|
+
declare function luma(r: number, g: number, b: number): number;
|
|
512
|
+
/** The dodge (or burn) transfer of one value `v` (0..1) at exposure `e` (0..1). */
|
|
513
|
+
declare function dodgeBurnCurve(v: number, e: number, range: ToneRange, burn: boolean): number;
|
|
514
|
+
/**
|
|
515
|
+
* Dodge (or burn) straight RGB `c` (0..1, written in place) at exposure `e`. With `protectTones`
|
|
516
|
+
* the curve moves luma and the colour is scaled to it (hue and saturation kept); otherwise each
|
|
517
|
+
* channel goes through the curve.
|
|
518
|
+
*/
|
|
519
|
+
declare function dodgeBurn(c: number[], e: number, range: ToneRange, burn: boolean, protectTones: boolean): number[];
|
|
520
|
+
/** HSV saturation (chroma / max) of straight RGB. */
|
|
521
|
+
declare function saturationOf(r: number, g: number, b: number): number;
|
|
522
|
+
/**
|
|
523
|
+
* Sponge: moves straight RGB `c` (written in place) away from (`saturate`) or towards its luma
|
|
524
|
+
* grey by `amount` (0..1). `vibrance` damps it where it would clip: saturating touches already
|
|
525
|
+
* saturated colours less, desaturating touches near-greys less. Gamut-compressed, never clipped.
|
|
526
|
+
*/
|
|
527
|
+
declare function sponge(c: number[], amount: number, saturate: boolean, vibrance: boolean): number[];
|
|
528
|
+
/** Per-dab strength so that one pass over a point totals about `e`, whatever the spacing. */
|
|
529
|
+
declare function perDabStrength(e: number, spacing: number): number;
|
|
530
|
+
/** Which pixels the Clone Stamp and the Healing tools sample. */
|
|
531
|
+
type RetouchSample = 'current' | 'current-below' | 'all';
|
|
532
|
+
declare const RETOUCH_SAMPLES: readonly RetouchSample[];
|
|
533
|
+
/** How the Spot Healing Brush finds its source. */
|
|
534
|
+
type SpotHealType = 'proximity-match' | 'smooth';
|
|
535
|
+
declare const SPOT_HEAL_TYPES: readonly SpotHealType[];
|
|
536
|
+
/** The retouching tools' options. */
|
|
537
|
+
interface RetouchSettings {
|
|
538
|
+
/** Clone / heal: keep the source offset from stroke to stroke (default true); off, every stroke starts at the source point. */
|
|
539
|
+
aligned: boolean;
|
|
540
|
+
/** Clone / heal / spot heal: what is sampled (default `current`: the target layer). */
|
|
541
|
+
sample: RetouchSample;
|
|
542
|
+
/** Spot heal: `proximity-match` (default: the best matching patch nearby) or `smooth` (a smooth fill from the edges). */
|
|
543
|
+
spotType: SpotHealType;
|
|
544
|
+
/** Dodge / burn: the tonal range (default `midtones`). */
|
|
545
|
+
range: ToneRange;
|
|
546
|
+
/** Dodge / burn: exposure 0..1 (default 0.5). */
|
|
547
|
+
exposure: number;
|
|
548
|
+
/** Dodge / burn: tone luma only, keeping hue and saturation (default true). */
|
|
549
|
+
protectTones: boolean;
|
|
550
|
+
/** Sponge: `desaturate` (default) or `saturate`. */
|
|
551
|
+
spongeMode: 'desaturate' | 'saturate';
|
|
552
|
+
/** Sponge: damp the change where colours would clip (default true). */
|
|
553
|
+
vibrance: boolean;
|
|
554
|
+
/** Smudge: how strongly the finger carries and lays paint, 0..1 (default 0.5). */
|
|
555
|
+
strength: number;
|
|
556
|
+
}
|
|
557
|
+
declare const DEFAULT_RETOUCH: Readonly<RetouchSettings>;
|
|
558
|
+
/** Retouch settings with every field valid (missing or invalid fields from `base`). */
|
|
559
|
+
declare function normalizeRetouch(raw?: Partial<RetouchSettings>, base?: RetouchSettings): RetouchSettings;
|
|
560
|
+
/** Pixels a retouching stroke samples, by document pixel. */
|
|
561
|
+
interface PixelSource {
|
|
562
|
+
/** Straight RGBA 0..255 of document pixel (x, y) into `out`; false (and `out` zeroed) where there is nothing. */
|
|
563
|
+
sample(x: number, y: number, out: number[]): boolean;
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* A source over raster tiles (layer pixels, a mask, or composite tiles): `readTile` gives tile
|
|
567
|
+
* (tx, ty) in source space or `null` when it is empty; source pixel = document pixel − `offset`.
|
|
568
|
+
* One-channel tiles read as grey (alpha 255). Tiles are cached, so make one per stroke.
|
|
569
|
+
*/
|
|
570
|
+
declare class TilePixelSource implements PixelSource {
|
|
571
|
+
private readonly readTile;
|
|
572
|
+
readonly channels: 1 | 4;
|
|
573
|
+
readonly offset: {
|
|
574
|
+
x: number;
|
|
575
|
+
y: number;
|
|
576
|
+
};
|
|
577
|
+
private readonly cache;
|
|
578
|
+
private lastKey;
|
|
579
|
+
private last;
|
|
580
|
+
constructor(readTile: (tx: number, ty: number) => Uint8ClampedArray | null, channels: 1 | 4, offset?: {
|
|
581
|
+
x: number;
|
|
582
|
+
y: number;
|
|
583
|
+
});
|
|
584
|
+
sample(x: number, y: number, out: number[]): boolean;
|
|
585
|
+
}
|
|
586
|
+
/** A source over a region of float RGBA pixels (0..255), e.g. a healed patch. */
|
|
587
|
+
declare class RegionPixelSource implements PixelSource {
|
|
588
|
+
readonly rect: RasterRect;
|
|
589
|
+
readonly data: Float32Array;
|
|
590
|
+
constructor(rect: RasterRect, data: Float32Array);
|
|
591
|
+
sample(x: number, y: number, out: number[]): boolean;
|
|
592
|
+
}
|
|
593
|
+
/** `rect` of a source, shifted by (dx, dy), as float RGBA 0..255 (`rect.width × rect.height × 4`). */
|
|
594
|
+
declare function readSourceRegion(source: PixelSource, rect: RasterRect, dx?: number, dy?: number): Float32Array;
|
|
595
|
+
/** What a coverage-based retouching stroke lays through its coverage. */
|
|
596
|
+
type RetouchPaint =
|
|
597
|
+
/** Source pixels at document pixel + (dx, dy) (Clone Stamp, a healed patch). */
|
|
598
|
+
{
|
|
599
|
+
kind: 'source';
|
|
600
|
+
source: PixelSource;
|
|
601
|
+
dx: number;
|
|
602
|
+
dy: number;
|
|
603
|
+
}
|
|
604
|
+
/** The target pixel itself, toned (Dodge, Burn): `tone` edits straight RGB 0..1 in place. */
|
|
605
|
+
| {
|
|
606
|
+
kind: 'tone';
|
|
607
|
+
tone: (rgb: number[]) => void;
|
|
608
|
+
}
|
|
609
|
+
/** A flat colour (the Spot Healing Brush's trail while it is drawn), RGBA 0..255. */
|
|
610
|
+
| {
|
|
611
|
+
kind: 'color';
|
|
612
|
+
color: readonly [number, number, number, number];
|
|
613
|
+
};
|
|
614
|
+
/** How a coverage-based retouching stroke composites. */
|
|
615
|
+
interface RetouchApply {
|
|
616
|
+
/** Stroke opacity 0..1. */
|
|
617
|
+
opacity: number;
|
|
618
|
+
/** Blend mode for source paint (default normal). */
|
|
619
|
+
blend?: BlendMode;
|
|
620
|
+
lockTransparency: boolean;
|
|
621
|
+
/** Selection coverage (document space, canvas-sized), or `null`. */
|
|
622
|
+
selection: {
|
|
623
|
+
width: number;
|
|
624
|
+
height: number;
|
|
625
|
+
data: ArrayLike<number>;
|
|
626
|
+
} | null;
|
|
627
|
+
/** Layer offset (target pixels are in layer space). */
|
|
628
|
+
offset: {
|
|
629
|
+
x: number;
|
|
630
|
+
y: number;
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Composites `paint` through the stroke's coverage over `tileData` (target tile (tx, ty) as it was
|
|
635
|
+
* before the stroke, layer space; RGBA, or one byte per pixel for masks) and returns the new tile.
|
|
636
|
+
* With `into` (the previous result) and `region` (document space), only `region` is recomputed.
|
|
637
|
+
* Tone paint keeps alpha; source and colour paint composite with `blend` (source-over by
|
|
638
|
+
* default), keeping alpha on a locked layer.
|
|
639
|
+
*/
|
|
640
|
+
declare function applyRetouchToTile(coverage: CoverageMap, tileData: Uint8ClampedArray, channels: 1 | 4, tx: number, ty: number, paint: RetouchPaint, s: RetouchApply, options?: {
|
|
641
|
+
into?: Uint8ClampedArray;
|
|
642
|
+
region?: RasterRect;
|
|
643
|
+
}): Uint8ClampedArray;
|
|
644
|
+
/** The tone function of a Dodge or Burn stroke. */
|
|
645
|
+
declare function toneOf(tool: 'dodge' | 'burn', settings: Pick<RetouchSettings, 'exposure' | 'range' | 'protectTones'>): (rgb: number[]) => void;
|
|
646
|
+
/**
|
|
647
|
+
* Heals `src` into `dst` over `mask` (all `w × h`, RGBA floats 0..255): a seamless clone solved
|
|
648
|
+
* only over the mask's bounds plus a one-pixel fixed ring; elsewhere the result is `dst`.
|
|
649
|
+
*/
|
|
650
|
+
declare function healPixels(w: number, h: number, src: Float32Array, dst: Float32Array, mask: ArrayLike<boolean | number>): Float32Array;
|
|
651
|
+
/**
|
|
652
|
+
* Spot healing: fills `hole` (`w × h`) of `img` (RGBA floats 0..255) with no given source, then
|
|
653
|
+
* heals the fill into its surroundings. `proximity-match` copies the best matching nearby patch
|
|
654
|
+
* (falling back to `smooth` when none fits); `smooth` interpolates the edges inwards. `size` is
|
|
655
|
+
* the brush diameter in pixels. Returns the healed pixels over the whole grid.
|
|
656
|
+
*/
|
|
657
|
+
declare function spotHealPixels(w: number, h: number, img: Float32Array, hole: ArrayLike<boolean | number>, size: number, type: SpotHealType,
|
|
658
|
+
/** Told the patch offset it copied (`null`: a smooth fill). */
|
|
659
|
+
onOffset?: (offset: [number, number] | null) => void): Float32Array;
|
|
660
|
+
/** The window a Spot Healing stroke over `bounds` looks for texture in: the bounds grown by their size, on the canvas. */
|
|
661
|
+
declare function spotHealWindow(bounds: RasterRect, canvas: {
|
|
662
|
+
width: number;
|
|
663
|
+
height: number;
|
|
664
|
+
}): RasterRect;
|
|
665
|
+
/**
|
|
666
|
+
* One dab of a sequential retouching stroke: `cov` is the tip's pure coverage over `rect`
|
|
667
|
+
* (document space, 0..1); `d.alpha` is the flow and `d.opacity` the pressure opacity.
|
|
668
|
+
*/
|
|
669
|
+
type RetouchDabEffect = (medium: TileMedium, d: Dab, rect: RasterRect, cov: Float32Array) => void;
|
|
670
|
+
/**
|
|
671
|
+
* A stroke whose dabs edit live tiles in order (Smudge, Sponge). Feed points with `push` (any
|
|
672
|
+
* chunks give the same dabs), end with `finish`; each returns the document rectangles it touched.
|
|
673
|
+
*/
|
|
674
|
+
declare class RetouchDabStroke {
|
|
675
|
+
readonly brush: BrushSettings;
|
|
676
|
+
private readonly effect;
|
|
677
|
+
dabCount: number;
|
|
678
|
+
bounds: RasterRect | null;
|
|
679
|
+
private readonly walker;
|
|
680
|
+
private readonly medium;
|
|
681
|
+
private smoothPos;
|
|
682
|
+
private buf;
|
|
683
|
+
constructor(brush: BrushSettings, target: PaintTileTarget, effect: RetouchDabEffect);
|
|
684
|
+
push(points: readonly StrokePoint[]): RasterRect[];
|
|
685
|
+
finish(last?: StrokePoint): RasterRect[];
|
|
686
|
+
private smooth;
|
|
687
|
+
private paint;
|
|
688
|
+
}
|
|
689
|
+
/** The Smudge's per-dab effect: a `SmudgeTip` whose strength carries and lays the paint. */
|
|
690
|
+
declare function smudgeEffect(brush: BrushSettings, strength: number, mixing?: SmudgeSettings['mixing']): RetouchDabEffect;
|
|
691
|
+
/** The Sponge's per-dab effect: each dab moves saturation by about half its flow, compounding over passes. */
|
|
692
|
+
declare function spongeEffect(brush: BrushSettings, saturate: boolean, vibrance: boolean): RetouchDabEffect;
|
|
693
|
+
/**
|
|
694
|
+
* An RGBA view of one-channel tiles (masks), for the sequential-dab tools: reads expand grey to
|
|
695
|
+
* opaque RGB, writes land in RGBA copies, and `flush` writes their red channel back through
|
|
696
|
+
* `target.writeTile`. Alpha is locked, so a mask's values are all a dab changes.
|
|
697
|
+
*/
|
|
698
|
+
declare function rgbaViewOfGrey(target: PaintTileTarget): {
|
|
699
|
+
target: PaintTileTarget;
|
|
700
|
+
flush(): void;
|
|
701
|
+
};
|
|
702
|
+
|
|
703
|
+
export { cleanMixer as $, type PixelSource as A, type BrushSettings as B, CoverageMap as C, type Dab as D, EMPTY_MIXER_LOAD as E, RETOUCH_SAMPLES as F, RegionPixelSource as G, type RetouchDabEffect as H, RetouchDabStroke as I, type RetouchSample as J, SPOT_HEAL_TYPES as K, type SmudgeDab as L, type MixerSettings as M, SmudgeTip as N, type SpotHealType as O, type PaintTileTarget as P, TileMedium as Q, type RgbTriple as R, type SmudgeSettings as S, TONE_RANGES as T, type TileMediumOptions as U, TilePixelSource as V, type ToneRange as W, applyRetouchToTile as X, applyStrokeToTile as Y, blendRadius as Z, blenderDab as _, type MixingModel as a, coverageTileCoord as a0, createBlenderScratch as a1, dabCoverage as a2, dabRect as a3, dodgeBurn as a4, dodgeBurnCurve as a5, exchangeRates as a6, healPixels as a7, loadMixer as a8, luma as a9, mixerRates as aa, normalizeBlender as ab, normalizeBrush as ac, normalizeMixer as ad, normalizeRetouch as ae, normalizeSmudge as af, perDabStrength as ag, rasterizeDab as ah, readSourceRegion as ai, rgbaViewOfGrey as aj, saturationOf as ak, smoothPoints as al, smudgeEffect as am, sponge as an, spongeEffect as ao, spotHealPixels as ap, spotHealWindow as aq, tipFalloff as ar, tipReach as as, tipShape as at, toneOf as au, walkDabs as av, type BlenderSettings as b, type StrokePoint as c, type MixerLoad as d, MAX_BRUSH_SIZE as e, type RetouchSettings as f, StrokeCoverage as g, type MixerTarget as h, MixerStroke as i, type RetouchApply as j, type RetouchPaint as k, type StrokeApply as l, type BlenderScratch as m, DEFAULT_BLENDER as n, DEFAULT_BRUSH as o, DEFAULT_MIXER as p, DEFAULT_RETOUCH as q, DEFAULT_SMUDGE as r, DabWalker as s, type ExchangeRates as t, MIXER_DRAIN as u, MIXER_PICKUP_RATE as v, MIXING_MODELS as w, PaintExchange as x, type PaintMedium as y, type PaintSample as z };
|
|
@@ -223,6 +223,11 @@ interface Tile {
|
|
|
223
223
|
readonly data: Uint8ClampedArray;
|
|
224
224
|
/** The packed value of every pixel when the tile is uniform, else `null`. */
|
|
225
225
|
readonly uniform: number | null;
|
|
226
|
+
/**
|
|
227
|
+
* High bit depth samples (see `./deep`): 16-bit sRGB-encoded or 32-bit linear float, of which
|
|
228
|
+
* `data` is the 8-bit rendering. Missing: the tile is 8-bit.
|
|
229
|
+
*/
|
|
230
|
+
readonly deep?: Uint16Array | Float32Array;
|
|
226
231
|
}
|
|
227
232
|
/**
|
|
228
233
|
* An immutable tiled surface. `channels` is 4 (RGBA) for layers and 1 for masks. Missing tiles
|
|
@@ -316,4 +321,4 @@ declare function collectTiles(surface: TiledSurface, into: Set<Tile>): void;
|
|
|
316
321
|
/** True when two surfaces hold the same pixels (cheap when they share tiles). */
|
|
317
322
|
declare function surfacesEqual(a: TiledSurface, b: TiledSurface): boolean;
|
|
318
323
|
|
|
319
|
-
export {
|
|
324
|
+
export { PIGMENT_LAMBDA_STEP as $, normalizeBlendMode as A, BLEND_MODES as B, packRgba as C, pigment8 as D, readPixel as E, readRegion as F, setLum as G, solidSurface as H, standardBlendMode as I, surfaceBytes as J, surfaceFromPixels as K, surfacesEqual as L, type MaskSurface as M, tileCoord as N, tileKey as O, PAINTERLY_BLEND_MODES as P, tileRect as Q, type RasterRect as R, SHADOW_AMBIENT as S, TILE as T, tilesInRect as U, translateSurface as V, uniformTile as W, writeRegion as X, type Pigment as Y, PIGMENT_BANDS as Z, PIGMENT_LAMBDA_MIN as _, type BlendMode as a, PIGMENT_WAVELENGTHS as a0, type PigmentOptions as a1, type PigmentRgb as a2, createPigment as a3, lerpPigment as a4, lerpPigmentInto as a5, mixPigments as a6, reflectanceToRgb as a7, rgbToReflectance as a8, setPigmentColor as a9, type BlendModeInfo as b, type PixelSurface as c, type Rgb as d, type Rgba as e, SurfaceDraft as f, TILE_SHIFT as g, type Tile as h, type TileKey as i, TiledSurface as j, blendChannel as k, blendImageData as l, blendLum as m, blendPixel as n, blendRgb as o, canvasCompositeOperation as p, collectTiles as q, contentBounds as r, emptySurface as s, fillRect as t, finishTile as u, isBlendMode as v, isPainterlyBlendMode as w, isSeparableBlendMode as x, mixPigment8 as y, mixPigmentRgb as z };
|
|
@@ -223,6 +223,11 @@ interface Tile {
|
|
|
223
223
|
readonly data: Uint8ClampedArray;
|
|
224
224
|
/** The packed value of every pixel when the tile is uniform, else `null`. */
|
|
225
225
|
readonly uniform: number | null;
|
|
226
|
+
/**
|
|
227
|
+
* High bit depth samples (see `./deep`): 16-bit sRGB-encoded or 32-bit linear float, of which
|
|
228
|
+
* `data` is the 8-bit rendering. Missing: the tile is 8-bit.
|
|
229
|
+
*/
|
|
230
|
+
readonly deep?: Uint16Array | Float32Array;
|
|
226
231
|
}
|
|
227
232
|
/**
|
|
228
233
|
* An immutable tiled surface. `channels` is 4 (RGBA) for layers and 1 for masks. Missing tiles
|
|
@@ -316,4 +321,4 @@ declare function collectTiles(surface: TiledSurface, into: Set<Tile>): void;
|
|
|
316
321
|
/** True when two surfaces hold the same pixels (cheap when they share tiles). */
|
|
317
322
|
declare function surfacesEqual(a: TiledSurface, b: TiledSurface): boolean;
|
|
318
323
|
|
|
319
|
-
export {
|
|
324
|
+
export { PIGMENT_LAMBDA_STEP as $, normalizeBlendMode as A, BLEND_MODES as B, packRgba as C, pigment8 as D, readPixel as E, readRegion as F, setLum as G, solidSurface as H, standardBlendMode as I, surfaceBytes as J, surfaceFromPixels as K, surfacesEqual as L, type MaskSurface as M, tileCoord as N, tileKey as O, PAINTERLY_BLEND_MODES as P, tileRect as Q, type RasterRect as R, SHADOW_AMBIENT as S, TILE as T, tilesInRect as U, translateSurface as V, uniformTile as W, writeRegion as X, type Pigment as Y, PIGMENT_BANDS as Z, PIGMENT_LAMBDA_MIN as _, type BlendMode as a, PIGMENT_WAVELENGTHS as a0, type PigmentOptions as a1, type PigmentRgb as a2, createPigment as a3, lerpPigment as a4, lerpPigmentInto as a5, mixPigments as a6, reflectanceToRgb as a7, rgbToReflectance as a8, setPigmentColor as a9, type BlendModeInfo as b, type PixelSurface as c, type Rgb as d, type Rgba as e, SurfaceDraft as f, TILE_SHIFT as g, type Tile as h, type TileKey as i, TiledSurface as j, blendChannel as k, blendImageData as l, blendLum as m, blendPixel as n, blendRgb as o, canvasCompositeOperation as p, collectTiles as q, contentBounds as r, emptySurface as s, fillRect as t, finishTile as u, isBlendMode as v, isPainterlyBlendMode as w, isSeparableBlendMode as x, mixPigment8 as y, mixPigmentRgb as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { B as BezierPath, A as AffineMatrix, S as SvgGradientDef } from './bezier-BfwIbVTl.cjs';
|
|
2
|
-
import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as
|
|
2
|
+
import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as VectorInstanceNode, k as VectorFilterType, l as VectorFilterParamsMap, m as VectorFilter, n as VectorGradient, o as Vec2, p as VectorGradientUnits, q as VectorGradientSpread, r as VectorGradientType, s as VectorPaint, t as VectorMatrix, u as VectorGradientStop, v as VectorStrokeAlign, w as VectorSubpath, x as VectorDocument, y as VectorWidthPoint } from './types-yINF17Ta.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Live appearance: path effect stacks and live boolean groups, evaluated on demand while the
|
|
@@ -99,7 +99,10 @@ declare function createVectorEffect<K extends VectorEffectType>(type: K, id: str
|
|
|
99
99
|
}> | null;
|
|
100
100
|
/** The node's effects that take part (enabled, of a known type). */
|
|
101
101
|
declare function activeVectorEffects(node: VectorNode): VectorEffect[];
|
|
102
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Whether the node itself draws differently from its stored geometry (effects or a live boolean).
|
|
104
|
+
* Text always does: it draws as its glyphs.
|
|
105
|
+
*/
|
|
103
106
|
declare function hasOwnVectorAppearance(node: VectorNode): boolean;
|
|
104
107
|
/** Whether the node or anything inside it has a live appearance. */
|
|
105
108
|
declare function hasVectorAppearance(node: VectorNode): boolean;
|
|
@@ -126,6 +129,8 @@ interface VectorBooleanOperand {
|
|
|
126
129
|
declare function foldVectorBooleanOperands(operands: readonly VectorBooleanOperand[]): BezierPath;
|
|
127
130
|
/** Applies an effect stack to shapes, top to bottom (disabled effects skipped). */
|
|
128
131
|
declare function applyVectorEffects(shapes: readonly VectorAppearanceShape[], effects: readonly VectorEffect[] | null | undefined): VectorAppearanceShape[];
|
|
132
|
+
/** What an instance draws as a plain group (cached per instance object; see `vectorInstanceGroup`). */
|
|
133
|
+
declare function vectorInstanceDrawn(node: VectorInstanceNode): VectorGroupNode;
|
|
129
134
|
/** The shapes of a child in its parent's space (hidden children have none), ordered by its index. */
|
|
130
135
|
declare function vectorChildAppearanceShapes(child: VectorNode, index: number): VectorAppearanceShape[];
|
|
131
136
|
/** The paths entering effect `effectId` of the node's stack (those above it applied), in the node's own space. */
|
|
@@ -161,7 +166,7 @@ declare function vectorAppearanceNodes(node: VectorNode): VectorPathNode[];
|
|
|
161
166
|
* otherwise, like any live group, it becomes a group with that id holding one path per shape
|
|
162
167
|
* (ids `<id>~fx<n>`). Groups without effects of their own keep their structure. Cached per node.
|
|
163
168
|
*/
|
|
164
|
-
declare function expandVectorAppearance(node: VectorNode):
|
|
169
|
+
declare function expandVectorAppearance(node: VectorNode): VectorPathNode | VectorGroupNode;
|
|
165
170
|
/** Every node of a list expanded (the same array when nothing in it is live). */
|
|
166
171
|
declare function expandVectorAppearances(nodes: readonly VectorNode[]): VectorNode[];
|
|
167
172
|
/**
|
|
@@ -559,6 +564,13 @@ interface VectorSvgExportOptions {
|
|
|
559
564
|
* or clip it (the animation editor's reveals and its Flair export use this).
|
|
560
565
|
*/
|
|
561
566
|
wrap?: Readonly<Record<string, readonly VectorSvgWrapper[]>>;
|
|
567
|
+
/**
|
|
568
|
+
* How text is written: `text` (default) as SVG `<text>` placed character by character, or
|
|
569
|
+
* `outlines` as its glyph outlines (needs an outline shaper; otherwise text stays text). Text with
|
|
570
|
+
* path effects is always written as outlines when it has them. Either way the text is kept for
|
|
571
|
+
* import.
|
|
572
|
+
*/
|
|
573
|
+
text?: 'text' | 'outlines';
|
|
562
574
|
}
|
|
563
575
|
/** A group written round a node (see `VectorSvgExportOptions.wrap`). */
|
|
564
576
|
interface VectorSvgWrapper {
|
|
@@ -653,4 +665,4 @@ declare function parseSvgTransform(value: string | undefined): AffineMatrix;
|
|
|
653
665
|
/** Parses SVG markup into a vector document. Throws when there is no `<svg>` element. */
|
|
654
666
|
declare function parseVectorSvg(svg: string, options?: VectorSvgImportOptions): VectorDocument;
|
|
655
667
|
|
|
656
|
-
export { isVectorGradient as $, type VectorSvgPatternDef as A, type VectorSvgWrapper as B, activeVectorEffects as C, activeVectorFilters as D, applyVectorCornersAttribute as E, applyVectorEffects as F, applyVectorGradientPatch as G, applyVectorGradientSpread as H, clearVectorLiveBooleanCache as I, convertVectorGradient as J, createVectorEffect as K, createVectorFilter as L, defaultVectorGradient as M, expandVectorAppearance as N, expandVectorAppearances as O, expandVectorGradientSpread as P, expandVectorGradientStops as Q, explicitVectorGradient as R, foldVectorBooleanOperands as S, gradientMidpointRemap as T, hasExplicitGradientGeometry as U, type VectorSvgExportOptions as V, hasOwnVectorAppearance as W, hasVectorAppearance as X, insertVectorGradientStop as Y, isCentredVectorGradient as Z, isVectorFilterType as _, type VectorGradientHandle as a,
|
|
668
|
+
export { isVectorGradient as $, type VectorSvgPatternDef as A, type VectorSvgWrapper as B, activeVectorEffects as C, activeVectorFilters as D, applyVectorCornersAttribute as E, applyVectorEffects as F, applyVectorGradientPatch as G, applyVectorGradientSpread as H, clearVectorLiveBooleanCache as I, convertVectorGradient as J, createVectorEffect as K, createVectorFilter as L, defaultVectorGradient as M, expandVectorAppearance as N, expandVectorAppearances as O, expandVectorGradientSpread as P, expandVectorGradientStops as Q, explicitVectorGradient as R, foldVectorBooleanOperands as S, gradientMidpointRemap as T, hasExplicitGradientGeometry as U, type VectorSvgExportOptions as V, hasOwnVectorAppearance as W, hasVectorAppearance as X, insertVectorGradientStop as Y, isCentredVectorGradient as Z, isVectorFilterType as _, type VectorGradientHandle as a, vectorNodeLocalPaintBounds as a$, isVectorLiveBoolean as a0, mapVectorGradient as a1, mapVectorPaint as a2, moveVectorGradientHandle as a3, moveVectorGradientStop as a4, normalizeVectorEffectParams as a5, normalizeVectorFilterParams as a6, parseSvgTransform as a7, parseVectorColor as a8, parseVectorSvg as a9, vectorEffectInputPaths as aA, vectorEnteredGroups as aB, vectorEnvelopeFrame as aC, vectorEnvelopeMap as aD, vectorEnvelopeMesh as aE, vectorFilterMarkup as aF, vectorFilterParamKeys as aG, vectorFilterReach as aH, vectorFilterSvg as aI, vectorGradientArea as aJ, vectorGradientAspect as aK, vectorGradientFocalParam as aL, vectorGradientHandles as aM, vectorGradientMatrix as aN, vectorGradientMidpointFromPosition as aO, vectorGradientMidpointPosition as aP, vectorGradientNeedsExpansion as aQ, vectorGradientParam as aR, vectorGradientPoints as aS, vectorGradientRamp as aT, vectorGradientSvgDefs as aU, vectorGradientTAt as aV, vectorGradientUnitsMatrix as aW, vectorInstanceDrawn as aX, vectorLiveBooleanSteps as aY, vectorNodeEnvelope as aZ, vectorNodeFilterSvg as a_, patternAttrs as aa, periodicVectorGradientStops as ab, pinVectorGradient as ac, removeVectorGradientStop as ad, reverseVectorGradient as ae, samplePlainStops as af, sampleVectorGradient as ag, sampleVectorGradientAt as ah, sampleVectorPaintDefAt as ai, sanitizeVectorEffects as aj, sanitizeVectorFilters as ak, sanitizeVectorGradient as al, setVectorGradientVector as am, sortedVectorGradientStops as an, spanVectorGradientStops as ao, transformVectorEffects as ap, transformVectorGradient as aq, transformVectorPaint as ar, vectorAppearanceNodes as as, vectorAppearanceOutline as at, vectorAppearanceShapes as au, vectorBoxMatrix as av, vectorChildAppearanceShapes as aw, vectorCornersAttribute as ax, vectorDocumentToSvg as ay, vectorEffectInputBounds as az, type VectorGradientPatch as b, vectorOperandOperation as b0, vectorPaintToSvg as b1, vectorPathLocalBounds as b2, vectorStrokeSvgParts as b3, widthProfileFromAttribute as b4, widthProfileToAttribute as b5, type VectorEnvelopeParams as c, type VectorRenderFilter as d, type VectorAppearanceShape as e, type VectorFilterParamSpec as f, type VectorEffectParamSpec as g, type VectorRenderStrokeParts as h, type VectorPaintDef as i, VECTOR_EFFECT_DEFAULTS as j, VECTOR_EFFECT_LABELS as k, VECTOR_EFFECT_PARAM_SPECS as l, VECTOR_FILTER_DEFAULTS as m, VECTOR_FILTER_LABELS as n, VECTOR_FILTER_MENU as o, VECTOR_FILTER_PARAM_SPECS as p, VECTOR_GRADIENT_MAX_PERIODS as q, VECTOR_GRADIENT_MIN_STOPS as r, type VectorBooleanOperand as s, type VectorFilterPrimitive as t, type VectorGradientPoints as u, type VectorGradientRamp as v, type VectorGradientSvgOptions as w, type VectorPaintSvgOptions as x, type VectorRgba as y, type VectorSvgImportOptions as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { B as BezierPath, A as AffineMatrix, S as SvgGradientDef } from './bezier-DYBvLgUH.js';
|
|
2
|
-
import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as
|
|
2
|
+
import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as VectorInstanceNode, k as VectorFilterType, l as VectorFilterParamsMap, m as VectorFilter, n as VectorGradient, o as Vec2, p as VectorGradientUnits, q as VectorGradientSpread, r as VectorGradientType, s as VectorPaint, t as VectorMatrix, u as VectorGradientStop, v as VectorStrokeAlign, w as VectorSubpath, x as VectorDocument, y as VectorWidthPoint } from './types-1SUQKDAw.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Live appearance: path effect stacks and live boolean groups, evaluated on demand while the
|
|
@@ -99,7 +99,10 @@ declare function createVectorEffect<K extends VectorEffectType>(type: K, id: str
|
|
|
99
99
|
}> | null;
|
|
100
100
|
/** The node's effects that take part (enabled, of a known type). */
|
|
101
101
|
declare function activeVectorEffects(node: VectorNode): VectorEffect[];
|
|
102
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Whether the node itself draws differently from its stored geometry (effects or a live boolean).
|
|
104
|
+
* Text always does: it draws as its glyphs.
|
|
105
|
+
*/
|
|
103
106
|
declare function hasOwnVectorAppearance(node: VectorNode): boolean;
|
|
104
107
|
/** Whether the node or anything inside it has a live appearance. */
|
|
105
108
|
declare function hasVectorAppearance(node: VectorNode): boolean;
|
|
@@ -126,6 +129,8 @@ interface VectorBooleanOperand {
|
|
|
126
129
|
declare function foldVectorBooleanOperands(operands: readonly VectorBooleanOperand[]): BezierPath;
|
|
127
130
|
/** Applies an effect stack to shapes, top to bottom (disabled effects skipped). */
|
|
128
131
|
declare function applyVectorEffects(shapes: readonly VectorAppearanceShape[], effects: readonly VectorEffect[] | null | undefined): VectorAppearanceShape[];
|
|
132
|
+
/** What an instance draws as a plain group (cached per instance object; see `vectorInstanceGroup`). */
|
|
133
|
+
declare function vectorInstanceDrawn(node: VectorInstanceNode): VectorGroupNode;
|
|
129
134
|
/** The shapes of a child in its parent's space (hidden children have none), ordered by its index. */
|
|
130
135
|
declare function vectorChildAppearanceShapes(child: VectorNode, index: number): VectorAppearanceShape[];
|
|
131
136
|
/** The paths entering effect `effectId` of the node's stack (those above it applied), in the node's own space. */
|
|
@@ -161,7 +166,7 @@ declare function vectorAppearanceNodes(node: VectorNode): VectorPathNode[];
|
|
|
161
166
|
* otherwise, like any live group, it becomes a group with that id holding one path per shape
|
|
162
167
|
* (ids `<id>~fx<n>`). Groups without effects of their own keep their structure. Cached per node.
|
|
163
168
|
*/
|
|
164
|
-
declare function expandVectorAppearance(node: VectorNode):
|
|
169
|
+
declare function expandVectorAppearance(node: VectorNode): VectorPathNode | VectorGroupNode;
|
|
165
170
|
/** Every node of a list expanded (the same array when nothing in it is live). */
|
|
166
171
|
declare function expandVectorAppearances(nodes: readonly VectorNode[]): VectorNode[];
|
|
167
172
|
/**
|
|
@@ -559,6 +564,13 @@ interface VectorSvgExportOptions {
|
|
|
559
564
|
* or clip it (the animation editor's reveals and its Flair export use this).
|
|
560
565
|
*/
|
|
561
566
|
wrap?: Readonly<Record<string, readonly VectorSvgWrapper[]>>;
|
|
567
|
+
/**
|
|
568
|
+
* How text is written: `text` (default) as SVG `<text>` placed character by character, or
|
|
569
|
+
* `outlines` as its glyph outlines (needs an outline shaper; otherwise text stays text). Text with
|
|
570
|
+
* path effects is always written as outlines when it has them. Either way the text is kept for
|
|
571
|
+
* import.
|
|
572
|
+
*/
|
|
573
|
+
text?: 'text' | 'outlines';
|
|
562
574
|
}
|
|
563
575
|
/** A group written round a node (see `VectorSvgExportOptions.wrap`). */
|
|
564
576
|
interface VectorSvgWrapper {
|
|
@@ -653,4 +665,4 @@ declare function parseSvgTransform(value: string | undefined): AffineMatrix;
|
|
|
653
665
|
/** Parses SVG markup into a vector document. Throws when there is no `<svg>` element. */
|
|
654
666
|
declare function parseVectorSvg(svg: string, options?: VectorSvgImportOptions): VectorDocument;
|
|
655
667
|
|
|
656
|
-
export { isVectorGradient as $, type VectorSvgPatternDef as A, type VectorSvgWrapper as B, activeVectorEffects as C, activeVectorFilters as D, applyVectorCornersAttribute as E, applyVectorEffects as F, applyVectorGradientPatch as G, applyVectorGradientSpread as H, clearVectorLiveBooleanCache as I, convertVectorGradient as J, createVectorEffect as K, createVectorFilter as L, defaultVectorGradient as M, expandVectorAppearance as N, expandVectorAppearances as O, expandVectorGradientSpread as P, expandVectorGradientStops as Q, explicitVectorGradient as R, foldVectorBooleanOperands as S, gradientMidpointRemap as T, hasExplicitGradientGeometry as U, type VectorSvgExportOptions as V, hasOwnVectorAppearance as W, hasVectorAppearance as X, insertVectorGradientStop as Y, isCentredVectorGradient as Z, isVectorFilterType as _, type VectorGradientHandle as a,
|
|
668
|
+
export { isVectorGradient as $, type VectorSvgPatternDef as A, type VectorSvgWrapper as B, activeVectorEffects as C, activeVectorFilters as D, applyVectorCornersAttribute as E, applyVectorEffects as F, applyVectorGradientPatch as G, applyVectorGradientSpread as H, clearVectorLiveBooleanCache as I, convertVectorGradient as J, createVectorEffect as K, createVectorFilter as L, defaultVectorGradient as M, expandVectorAppearance as N, expandVectorAppearances as O, expandVectorGradientSpread as P, expandVectorGradientStops as Q, explicitVectorGradient as R, foldVectorBooleanOperands as S, gradientMidpointRemap as T, hasExplicitGradientGeometry as U, type VectorSvgExportOptions as V, hasOwnVectorAppearance as W, hasVectorAppearance as X, insertVectorGradientStop as Y, isCentredVectorGradient as Z, isVectorFilterType as _, type VectorGradientHandle as a, vectorNodeLocalPaintBounds as a$, isVectorLiveBoolean as a0, mapVectorGradient as a1, mapVectorPaint as a2, moveVectorGradientHandle as a3, moveVectorGradientStop as a4, normalizeVectorEffectParams as a5, normalizeVectorFilterParams as a6, parseSvgTransform as a7, parseVectorColor as a8, parseVectorSvg as a9, vectorEffectInputPaths as aA, vectorEnteredGroups as aB, vectorEnvelopeFrame as aC, vectorEnvelopeMap as aD, vectorEnvelopeMesh as aE, vectorFilterMarkup as aF, vectorFilterParamKeys as aG, vectorFilterReach as aH, vectorFilterSvg as aI, vectorGradientArea as aJ, vectorGradientAspect as aK, vectorGradientFocalParam as aL, vectorGradientHandles as aM, vectorGradientMatrix as aN, vectorGradientMidpointFromPosition as aO, vectorGradientMidpointPosition as aP, vectorGradientNeedsExpansion as aQ, vectorGradientParam as aR, vectorGradientPoints as aS, vectorGradientRamp as aT, vectorGradientSvgDefs as aU, vectorGradientTAt as aV, vectorGradientUnitsMatrix as aW, vectorInstanceDrawn as aX, vectorLiveBooleanSteps as aY, vectorNodeEnvelope as aZ, vectorNodeFilterSvg as a_, patternAttrs as aa, periodicVectorGradientStops as ab, pinVectorGradient as ac, removeVectorGradientStop as ad, reverseVectorGradient as ae, samplePlainStops as af, sampleVectorGradient as ag, sampleVectorGradientAt as ah, sampleVectorPaintDefAt as ai, sanitizeVectorEffects as aj, sanitizeVectorFilters as ak, sanitizeVectorGradient as al, setVectorGradientVector as am, sortedVectorGradientStops as an, spanVectorGradientStops as ao, transformVectorEffects as ap, transformVectorGradient as aq, transformVectorPaint as ar, vectorAppearanceNodes as as, vectorAppearanceOutline as at, vectorAppearanceShapes as au, vectorBoxMatrix as av, vectorChildAppearanceShapes as aw, vectorCornersAttribute as ax, vectorDocumentToSvg as ay, vectorEffectInputBounds as az, type VectorGradientPatch as b, vectorOperandOperation as b0, vectorPaintToSvg as b1, vectorPathLocalBounds as b2, vectorStrokeSvgParts as b3, widthProfileFromAttribute as b4, widthProfileToAttribute as b5, type VectorEnvelopeParams as c, type VectorRenderFilter as d, type VectorAppearanceShape as e, type VectorFilterParamSpec as f, type VectorEffectParamSpec as g, type VectorRenderStrokeParts as h, type VectorPaintDef as i, VECTOR_EFFECT_DEFAULTS as j, VECTOR_EFFECT_LABELS as k, VECTOR_EFFECT_PARAM_SPECS as l, VECTOR_FILTER_DEFAULTS as m, VECTOR_FILTER_LABELS as n, VECTOR_FILTER_MENU as o, VECTOR_FILTER_PARAM_SPECS as p, VECTOR_GRADIENT_MAX_PERIODS as q, VECTOR_GRADIENT_MIN_STOPS as r, type VectorBooleanOperand as s, type VectorFilterPrimitive as t, type VectorGradientPoints as u, type VectorGradientRamp as v, type VectorGradientSvgOptions as w, type VectorPaintSvgOptions as x, type VectorRgba as y, type VectorSvgImportOptions as z };
|