@pixerate/editor 0.113.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.
Files changed (124) hide show
  1. package/THIRD_PARTY_NOTICES.md +5 -0
  2. package/dist/animation-editor/index.cjs +60 -54
  3. package/dist/animation-editor/index.cjs.map +1 -1
  4. package/dist/animation-editor/index.d.cts +3 -3
  5. package/dist/animation-editor/index.d.ts +3 -3
  6. package/dist/animation-editor/index.js +14 -8
  7. package/dist/animation-editor/index.js.map +1 -1
  8. package/dist/builtin-CY97ppKM.d.cts +354 -0
  9. package/dist/builtin-CY97ppKM.d.ts +354 -0
  10. package/dist/canvas/index.cjs +3 -3
  11. package/dist/canvas/index.cjs.map +1 -1
  12. package/dist/canvas/index.js +9 -9
  13. package/dist/chunk-26PGXHY7.cjs +753 -0
  14. package/dist/chunk-26PGXHY7.cjs.map +1 -0
  15. package/dist/chunk-2OJACTPR.cjs +929 -0
  16. package/dist/chunk-2OJACTPR.cjs.map +1 -0
  17. package/dist/chunk-3UFGNHSP.js +929 -0
  18. package/dist/chunk-3UFGNHSP.js.map +1 -0
  19. package/dist/{chunk-YGIMK4NX.cjs → chunk-5OVJHMZQ.cjs} +757 -825
  20. package/dist/chunk-5OVJHMZQ.cjs.map +1 -0
  21. package/dist/chunk-643B2HKC.cjs +534 -0
  22. package/dist/chunk-643B2HKC.cjs.map +1 -0
  23. package/dist/chunk-6FCKOS2B.js +534 -0
  24. package/dist/chunk-6FCKOS2B.js.map +1 -0
  25. package/dist/chunk-BRLYOPLT.js +2574 -0
  26. package/dist/chunk-BRLYOPLT.js.map +1 -0
  27. package/dist/{chunk-LQEEDHOP.js → chunk-C6C5PDKU.js} +759 -761
  28. package/dist/chunk-C6C5PDKU.js.map +1 -0
  29. package/dist/{chunk-4KLT7ZYS.cjs → chunk-DFQEX3AM.cjs} +29 -29
  30. package/dist/{chunk-4KLT7ZYS.cjs.map → chunk-DFQEX3AM.cjs.map} +1 -1
  31. package/dist/{chunk-CZOXTEMN.js → chunk-EUVSQ25B.js} +336 -404
  32. package/dist/chunk-EUVSQ25B.js.map +1 -0
  33. package/dist/chunk-G5NMLUVF.cjs +2574 -0
  34. package/dist/chunk-G5NMLUVF.cjs.map +1 -0
  35. package/dist/{chunk-LPYOIVLA.js → chunk-LKCYANMW.js} +3 -3
  36. package/dist/{chunk-W3GXSUSQ.cjs → chunk-LPLCWZTM.cjs} +5087 -1283
  37. package/dist/chunk-LPLCWZTM.cjs.map +1 -0
  38. package/dist/chunk-MMVHBKMM.js +753 -0
  39. package/dist/chunk-MMVHBKMM.js.map +1 -0
  40. package/dist/{chunk-POGBUYWE.cjs → chunk-ST7E3NEE.cjs} +857 -859
  41. package/dist/chunk-ST7E3NEE.cjs.map +1 -0
  42. package/dist/{chunk-7VOHOPLW.cjs → chunk-TCKIXI46.cjs} +59 -59
  43. package/dist/{chunk-7VOHOPLW.cjs.map → chunk-TCKIXI46.cjs.map} +1 -1
  44. package/dist/{chunk-XIOMMGPD.cjs → chunk-TFOPHZ3U.cjs} +1 -1
  45. package/dist/chunk-TFOPHZ3U.cjs.map +1 -0
  46. package/dist/{chunk-Z4BC6M74.js → chunk-UBIXVXPR.js} +2 -2
  47. package/dist/{chunk-BLWCAQCW.js → chunk-VXR7XWMF.js} +4574 -770
  48. package/dist/chunk-VXR7XWMF.js.map +1 -0
  49. package/dist/{chunk-HNS7UHCM.js → chunk-XK5LZKBD.js} +1 -1
  50. package/dist/chunk-XK5LZKBD.js.map +1 -0
  51. package/dist/cms/index.cjs +146 -0
  52. package/dist/cms/index.cjs.map +1 -0
  53. package/dist/cms/index.d.cts +51 -0
  54. package/dist/cms/index.d.ts +51 -0
  55. package/dist/cms/index.js +146 -0
  56. package/dist/cms/index.js.map +1 -0
  57. package/dist/{export-DIkoK8-r.d.ts → export-_1dUKwpF.d.ts} +217 -191
  58. package/dist/{export-CEXEzqBf.d.cts → export-b6NjCZ5-.d.cts} +217 -191
  59. package/dist/image-editor/index.cjs +1779 -1280
  60. package/dist/image-editor/index.cjs.map +1 -1
  61. package/dist/image-editor/index.d.cts +77 -93
  62. package/dist/image-editor/index.d.ts +77 -93
  63. package/dist/image-editor/index.js +740 -241
  64. package/dist/image-editor/index.js.map +1 -1
  65. package/dist/opentype-BZEOSOX3.d.ts +188 -0
  66. package/dist/opentype-Dpe75vL5.d.cts +188 -0
  67. package/dist/paint/index.cjs +4 -4
  68. package/dist/paint/index.d.cts +2 -2
  69. package/dist/paint/index.d.ts +2 -2
  70. package/dist/paint/index.js +3 -3
  71. package/dist/paint-editor/index.cjs +146 -145
  72. package/dist/paint-editor/index.cjs.map +1 -1
  73. package/dist/paint-editor/index.d.cts +9 -8
  74. package/dist/paint-editor/index.d.ts +9 -8
  75. package/dist/paint-editor/index.js +6 -5
  76. package/dist/paint-editor/index.js.map +1 -1
  77. package/dist/raster/index.cjs +53 -3
  78. package/dist/raster/index.cjs.map +1 -1
  79. package/dist/raster/index.d.cts +62 -91
  80. package/dist/raster/index.d.ts +62 -91
  81. package/dist/raster/index.js +59 -9
  82. package/dist/{render-BEriFuqK.d.cts → render-B1K_OoLy.d.cts} +87 -2
  83. package/dist/{render-tjzKaik-.d.ts → render-CrmHOgpo.d.ts} +87 -2
  84. package/dist/{retouch-CEIKR22W.d.cts → retouch-Bxkuc0KH.d.cts} +1 -1
  85. package/dist/{retouch-BXmeSCaB.d.ts → retouch-Do6tBs2H.d.ts} +1 -1
  86. package/dist/{surface-C8RRg_Bh.d.cts → surface-Cn30xIV6.d.cts} +6 -1
  87. package/dist/{surface-C8RRg_Bh.d.ts → surface-Cn30xIV6.d.ts} +6 -1
  88. package/dist/{svg-D_cfkhlB.d.cts → svg-BnRj0q8i.d.cts} +16 -4
  89. package/dist/{svg-wIaKLrU0.d.ts → svg-CmmBFfGT.d.ts} +16 -4
  90. package/dist/{types-DtL_qLFz.d.ts → types-1SUQKDAw.d.ts} +273 -4
  91. package/dist/{types-DyQq-WPY.d.cts → types-yINF17Ta.d.cts} +273 -4
  92. package/dist/vector/index.cjs +12170 -7343
  93. package/dist/vector/index.cjs.map +1 -1
  94. package/dist/vector/index.d.cts +1579 -16
  95. package/dist/vector/index.d.ts +1579 -16
  96. package/dist/vector/index.js +6303 -1476
  97. package/dist/vector/index.js.map +1 -1
  98. package/dist/warp-B39VsOtd.d.cts +348 -0
  99. package/dist/warp-DMN30aY6.d.ts +348 -0
  100. package/dist/zlib-dxQdgHyN.d.cts +95 -0
  101. package/dist/zlib-dxQdgHyN.d.ts +95 -0
  102. package/package.json +6 -1
  103. package/skills/pixerate-image-editor/SKILL.md +12 -36
  104. package/skills/pixerate-image-editor/references/color-management.md +37 -0
  105. package/skills/pixerate-image-editor/references/photoshop-files.md +39 -0
  106. package/skills/pixerate-vector/SKILL.md +54 -2
  107. package/dist/chunk-BLWCAQCW.js.map +0 -1
  108. package/dist/chunk-CZOXTEMN.js.map +0 -1
  109. package/dist/chunk-HNS7UHCM.js.map +0 -1
  110. package/dist/chunk-JLYX4V57.cjs +0 -2001
  111. package/dist/chunk-JLYX4V57.cjs.map +0 -1
  112. package/dist/chunk-KB2YBCVS.js +0 -2001
  113. package/dist/chunk-KB2YBCVS.js.map +0 -1
  114. package/dist/chunk-LQEEDHOP.js.map +0 -1
  115. package/dist/chunk-POGBUYWE.cjs.map +0 -1
  116. package/dist/chunk-W3GXSUSQ.cjs.map +0 -1
  117. package/dist/chunk-XIOMMGPD.cjs.map +0 -1
  118. package/dist/chunk-YGIMK4NX.cjs.map +0 -1
  119. package/dist/homography-CZ-tFjay.d.cts +0 -50
  120. package/dist/homography-Ctfjoc1b.d.ts +0 -50
  121. package/dist/warp-CWHZzE3x.d.ts +0 -118
  122. package/dist/warp-D5jz_tN7.d.cts +0 -118
  123. /package/dist/{chunk-LPYOIVLA.js.map → chunk-LKCYANMW.js.map} +0 -0
  124. /package/dist/{chunk-Z4BC6M74.js.map → chunk-UBIXVXPR.js.map} +0 -0
@@ -1,7 +1,9 @@
1
1
  import {
2
+ BIT_DEPTHS,
2
3
  CURVE_LUT_SIZE,
3
4
  DEFAULT_GLOBAL_LIGHT,
4
5
  DIRECT_GAUSSIAN_MAX_SIGMA,
6
+ DeepCompositor,
5
7
  INTERPOLATIONS,
6
8
  LAYER_EFFECT_KINDS,
7
9
  LayerEffectError,
@@ -12,9 +14,7 @@ import {
12
14
  RasterCompositor,
13
15
  STROKE_CHAMFER_MAX,
14
16
  TransformTooLargeError,
15
- ZlibError,
16
17
  activeEffectItems,
17
- adler32,
18
18
  base64ToBytes,
19
19
  blendTile,
20
20
  buildEffectMaps,
@@ -25,12 +25,14 @@ import {
25
25
  compositeLayerEffects,
26
26
  compositeSurfaceOver,
27
27
  contourLut,
28
+ convertSurfaceDepth,
28
29
  curveLut,
29
30
  decodePng,
31
+ deepBytes,
32
+ deepTile,
30
33
  defaultEffectGradient,
31
34
  defaultLayerEffect,
32
- deflate,
33
- deflateRaw,
35
+ depthOf,
34
36
  effectColorHex,
35
37
  effectFillColors,
36
38
  effectReach,
@@ -45,9 +47,8 @@ import {
45
47
  gradientT,
46
48
  hasActiveEffects,
47
49
  hashNoise,
48
- inflate,
49
- inflateRaw,
50
50
  insertLayer,
51
+ isBitDepth,
51
52
  isInterpolation,
52
53
  isLayerEffectKind,
53
54
  isLayerLocked,
@@ -63,16 +64,33 @@ import {
63
64
  parseEffectColor,
64
65
  patchEffectMaps,
65
66
  pngDataUrl,
67
+ proxyOf,
68
+ readDeepRegion,
66
69
  reduceSurface,
67
70
  renderLayerEffects,
68
71
  scaleLayerEffect,
72
+ srgbDecode,
73
+ srgbEncode,
74
+ surfaceDepth,
75
+ surfaceFromDeepPixels,
76
+ tileSamples,
77
+ tileSamples16,
78
+ tileSamples32,
79
+ to16From32,
80
+ to16From8,
81
+ to32From16,
82
+ to32From8,
83
+ to8From16,
84
+ to8From32,
69
85
  transformSurface,
70
86
  transformedBounds,
71
87
  validateEffectGradient,
72
88
  validateLayerEffect,
73
89
  validateLayerEffects,
74
- warpSurface
75
- } from "../chunk-LQEEDHOP.js";
90
+ warpSurface,
91
+ workingToSamples,
92
+ writeDeepRegion
93
+ } from "../chunk-C6C5PDKU.js";
76
94
  import "../chunk-GX332W2C.js";
77
95
  import {
78
96
  BLEND_MODES,
@@ -116,12 +134,22 @@ import {
116
134
  translateSurface,
117
135
  uniformTile,
118
136
  writeRegion
119
- } from "../chunk-HNS7UHCM.js";
137
+ } from "../chunk-XK5LZKBD.js";
138
+ import {
139
+ ZlibError,
140
+ adler32,
141
+ deflate,
142
+ deflateRaw,
143
+ inflate,
144
+ inflateRaw
145
+ } from "../chunk-6FCKOS2B.js";
120
146
  export {
147
+ BIT_DEPTHS,
121
148
  BLEND_MODES,
122
149
  CURVE_LUT_SIZE,
123
150
  DEFAULT_GLOBAL_LIGHT,
124
151
  DIRECT_GAUSSIAN_MAX_SIGMA,
152
+ DeepCompositor,
125
153
  INTERPOLATIONS,
126
154
  LAYER_EFFECT_KINDS,
127
155
  LayerEffectError,
@@ -159,12 +187,16 @@ export {
159
187
  compositeSurfaceOver,
160
188
  contentBounds,
161
189
  contourLut,
190
+ convertSurfaceDepth,
162
191
  curveLut,
163
192
  decodePng,
193
+ deepBytes,
194
+ deepTile,
164
195
  defaultEffectGradient,
165
196
  defaultLayerEffect,
166
197
  deflate,
167
198
  deflateRaw,
199
+ depthOf,
168
200
  effectColorHex,
169
201
  effectFillColors,
170
202
  effectReach,
@@ -185,6 +217,7 @@ export {
185
217
  inflate,
186
218
  inflateRaw,
187
219
  insertLayer,
220
+ isBitDepth,
188
221
  isBlendMode,
189
222
  isInterpolation,
190
223
  isLayerEffectKind,
@@ -208,6 +241,8 @@ export {
208
241
  patchEffectMaps,
209
242
  pigment8,
210
243
  pngDataUrl,
244
+ proxyOf,
245
+ readDeepRegion,
211
246
  readPixel,
212
247
  readRegion,
213
248
  reduceSurface,
@@ -215,14 +250,27 @@ export {
215
250
  scaleLayerEffect,
216
251
  setLum,
217
252
  solidSurface,
253
+ srgbDecode,
254
+ srgbEncode,
218
255
  standardBlendMode,
219
256
  surfaceBytes,
257
+ surfaceDepth,
258
+ surfaceFromDeepPixels,
220
259
  surfaceFromPixels,
221
260
  surfacesEqual,
222
261
  tileCoord,
223
262
  tileKey,
224
263
  tileRect,
264
+ tileSamples,
265
+ tileSamples16,
266
+ tileSamples32,
225
267
  tilesInRect,
268
+ to16From32,
269
+ to16From8,
270
+ to32From16,
271
+ to32From8,
272
+ to8From16,
273
+ to8From32,
226
274
  transformSurface,
227
275
  transformedBounds,
228
276
  translateSurface,
@@ -231,6 +279,8 @@ export {
231
279
  validateLayerEffect,
232
280
  validateLayerEffects,
233
281
  warpSurface,
282
+ workingToSamples,
283
+ writeDeepRegion,
234
284
  writeRegion
235
285
  };
236
286
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { B as BlendMode, R as RasterRect, a as TiledSurface, M as MaskSurface, b as PixelSurface, T as TileKey } from './surface-C8RRg_Bh.cjs';
1
+ import { a as BlendMode, R as RasterRect, j as TiledSurface, M as MaskSurface, c as PixelSurface, i as TileKey, h as Tile } from './surface-Cn30xIV6.cjs';
2
2
  import { H as Homography, V as Vec2 } from './types-CwMPoRMU.cjs';
3
3
 
4
4
  /**
@@ -832,6 +832,91 @@ declare class RasterCompositor<L extends CompositorLayer = CompositorLayer, S ex
832
832
  /** Tiles that differ between two surfaces (by tile identity), as tile keys. */
833
833
  declare function changedTiles(a: TiledSurface, b: TiledSurface): TileKey[];
834
834
 
835
+ /**
836
+ * High bit depth tiles: 16-bit and 32-bit float samples alongside the 8-bit tile data.
837
+ *
838
+ * A tile may carry `deep` samples next to its `data`:
839
+ *
840
+ * - `Uint16Array`: 16 bits per channel, 0..65535, the same sRGB encoding and straight alpha as
841
+ * the 8-bit data (`data = round(deep / 257)`).
842
+ * - `Float32Array`: 32-bit float per channel in **linear light** (sRGB primaries), straight
843
+ * alpha, as Photoshop's 32-bit mode; colour may exceed 1 (`data` is the clamped sRGB encoding).
844
+ *
845
+ * `data` is always the 8-bit rendering of `deep`, so every 8-bit consumer (the compositor, the
846
+ * viewport, brushes, filters, the paint editor) keeps working unchanged and at full speed: it
847
+ * simply sees the 8-bit picture. A tile without `deep` holds 8-bit pixels; read at a higher depth
848
+ * (`tileSamples16` / `tileSamples32`) they are converted exactly as a bit-depth conversion would.
849
+ * Writers that only produce 8-bit data drop `deep` for the tiles they rewrite (those tiles become
850
+ * 8-bit precise), and writers that understand depth build tiles with `deepTile`.
851
+ *
852
+ * Masks (one channel) are coverage, not colour: their float samples are never linearised.
853
+ */
854
+
855
+ /** Bits per channel: 8, 16 or 32 (float). */
856
+ type BitDepth = 8 | 16 | 32;
857
+ declare const BIT_DEPTHS: readonly BitDepth[];
858
+ declare const isBitDepth: (v: unknown) => v is BitDepth;
859
+ /** Deep samples of a tile: 16-bit encoded, or 32-bit linear float. */
860
+ type DeepSamples = Uint16Array | Float32Array;
861
+ /** sRGB-encoded 0..1 to linear light. */
862
+ declare function srgbDecode(v: number): number;
863
+ /** Linear light to sRGB-encoded (values above 1 extend the curve; below 0 clamp to 0). */
864
+ declare function srgbEncode(v: number): number;
865
+ /** 8-bit samples to 16-bit (`v × 257`, exact both ways). */
866
+ declare function to16From8(data: ArrayLike<number>, out?: Uint16Array<ArrayBuffer>): Uint16Array;
867
+ /** 8-bit samples to 32-bit float (colour linearised; alpha and masks as is). */
868
+ declare function to32From8(data: ArrayLike<number>, channels: 1 | 4, out?: Float32Array<ArrayBuffer>): Float32Array;
869
+ /** 16-bit samples to 32-bit float. */
870
+ declare function to32From16(data: ArrayLike<number>, channels: 1 | 4, out?: Float32Array<ArrayBuffer>): Float32Array;
871
+ /** 32-bit float samples to 16-bit (colour encoded and clamped to 0..1). */
872
+ declare function to16From32(data: ArrayLike<number>, channels: 1 | 4, out?: Uint16Array<ArrayBuffer>): Uint16Array;
873
+ /** 16-bit samples to 8-bit (rounded). */
874
+ declare function to8From16(data: ArrayLike<number>, out?: Uint8ClampedArray<ArrayBuffer>): Uint8ClampedArray;
875
+ /** 32-bit float samples to 8-bit (colour encoded and clamped). */
876
+ declare function to8From32(data: ArrayLike<number>, channels: 1 | 4, out?: Uint8ClampedArray<ArrayBuffer>): Uint8ClampedArray;
877
+ /** The 8-bit rendering of deep samples. */
878
+ declare function proxyOf(deep: DeepSamples, channels: 1 | 4, out?: Uint8ClampedArray<ArrayBuffer>): Uint8ClampedArray;
879
+ /** The bit depth deep samples hold. */
880
+ declare const depthOf: (deep: DeepSamples) => 16 | 32;
881
+ /**
882
+ * A stored tile from deep samples (`TILE × TILE × channels`): `null` when it renders as the
883
+ * surface default and holds nothing finer, an 8-bit tile when 8 bits hold it exactly (16-bit
884
+ * samples that are multiples of 257), else a tile with `deep` and its 8-bit rendering.
885
+ */
886
+ declare function deepTile(deep: DeepSamples, channels: 1 | 4, defaultValue?: number): Tile | null;
887
+ /** 16-bit samples of a tile (`undefined`: the default tile), converting 8-bit or float data. */
888
+ declare function tileSamples16(tile: Tile | undefined, channels: 1 | 4, defaultValue?: number): Uint16Array;
889
+ /** 32-bit float samples of a tile (`undefined`: the default tile), converting 8- or 16-bit data. */
890
+ declare function tileSamples32(tile: Tile | undefined, channels: 1 | 4, defaultValue?: number): Float32Array;
891
+ /** Deep samples of a tile at `depth` (16 or 32). */
892
+ declare function tileSamples(tile: Tile | undefined, channels: 1 | 4, depth: 16 | 32, defaultValue?: number): DeepSamples;
893
+ /** The deepest samples any tile of a surface holds: 8, 16 or 32. */
894
+ declare function surfaceDepth(surface: TiledSurface): BitDepth;
895
+ /** Copies `rect` of a surface at `depth` into a new buffer (`rect.width × rect.height × channels`). */
896
+ declare function readDeepRegion(surface: TiledSurface, rect: RasterRect, depth: 16): Uint16Array;
897
+ declare function readDeepRegion(surface: TiledSurface, rect: RasterRect, depth: 32): Float32Array;
898
+ declare function readDeepRegion(surface: TiledSurface, rect: RasterRect, depth: 16 | 32): DeepSamples;
899
+ /**
900
+ * Writes `rect.width × rect.height` interleaved deep samples at `rect` and returns the new
901
+ * surface. Partly covered tiles keep their other pixels, converted to the samples' depth.
902
+ */
903
+ declare function writeDeepRegion(surface: TiledSurface, rect: RasterRect, samples: DeepSamples): TiledSurface;
904
+ /** A surface holding `width × height` deep samples placed at (`x`, `y`). */
905
+ declare function surfaceFromDeepPixels(pixels: {
906
+ width: number;
907
+ height: number;
908
+ data: DeepSamples;
909
+ }, channels?: 1 | 4, x?: number, y?: number, defaultValue?: number): TiledSurface;
910
+ /**
911
+ * The surface converted to `depth`: 8 drops every tile's deep samples (keeping their 8-bit
912
+ * rendering); 16 or 32 converts the deep samples tiles already hold. Tiles without deep samples
913
+ * are left alone (they read at any depth by conversion), so going up from 8 bits costs nothing.
914
+ * Returns the same surface when nothing changes.
915
+ */
916
+ declare function convertSurfaceDepth(surface: TiledSurface, depth: BitDepth): TiledSurface;
917
+ /** Bytes held by deep samples (in addition to `surfaceBytes`). */
918
+ declare function deepBytes(surface: TiledSurface): number;
919
+
835
920
  /**
836
921
  * CPU renderer for layer effects.
837
922
  *
@@ -966,4 +1051,4 @@ declare function renderLayerEffects(effects: LayerEffects, layer: {
966
1051
  fillOpacity?: number;
967
1052
  }, backdrop: Uint8ClampedArray, canvas: EffectRect, ctx: EffectContext): void;
968
1053
 
969
- export { type StrokeEffect as $, type EffectRect as A, type BevelContour as B, type CompositorLayer as C, DEFAULT_GLOBAL_LIGHT as D, type EffectFill as E, type GlowTechnique as F, type GroupBlendMode as G, type GradientColorStop as H, type Interpolation as I, type GradientOpacityStop as J, type GradientOverlayEffect as K, type LayerLocks as L, type GradientStyle as M, INTERPOLATIONS as N, type InnerGlowEffect as O, type InnerShadowEffect as P, LAYER_EFFECT_KINDS as Q, type RasterLayer as R, LayerEffectError as S, MAX_EFFECT_REACH as T, MAX_TRANSFORM_PIXELS as U, type OuterGlowEffect as V, type PatternOverlayEffect as W, PatternPlacement as X, PatternTile as Y, type ResampleOptions as Z, type SatinEffect as _, type RasterGroupLayer as a, type StrokePosition as a0, TransformTooLargeError as a1, blendTile as a2, builtinPattern as a3, builtinPatternIds as a4, changedTiles as a5, compositeSurfaceOver as a6, defaultEffectGradient as a7, defaultLayerEffect as a8, effectColorHex as a9, validateLayerEffect as aA, validateLayerEffects as aB, warpSurface as aC, type CompositorProfile as aD, type EffectCompositeInput as aE, type EffectMaps as aF, type GroupIn as aG, type PixelFilterSpec as aH, type RasterNode as aI, STROKE_CHAMFER_MAX as aJ, activeEffectItems as aK, buildEffectMaps as aL, compositeLayerEffects as aM, contourLut as aN, effectFillColors as aO, effectsAreLocal as aP, gradientT as aQ, patchEffectMaps as aR, effectReach as aa, effectsFingerprint as ab, effectsMargin as ac, effectsScale as ad, findLayer as ae, flattenLayers as af, hasActiveEffects as ag, hashNoise as ah, insertLayer as ai, isInterpolation as aj, isLayerEffectKind as ak, isLayerLocked as al, keysWeight as am, layerEffectFields as an, layerEffectLabel as ao, mapLayer as ap, mergeLayerEffect as aq, newEffectId as ar, normalizeLayerEffects as as, parseEffectColor as at, reduceSurface as au, renderLayerEffects as av, scaleLayerEffect as aw, transformSurface as ax, transformedBounds as ay, validateEffectGradient as az, type RasterPixelLayer as b, RasterCompositor as c, type RasterSources as d, type RasterLayerBase as e, type RasterMask as f, type GlobalLight as g, type EffectPattern as h, type LayerLocation as i, type LayerEffect as j, type LayerEffects as k, type CompositorOptions as l, type LayerEffectKind as m, type EffectContext as n, type BevelEmbossEffect as o, type BevelStyle as p, type BevelTechnique as q, type BevelTexture as r, type ColorOverlayEffect as s, type CompositeCallOptions as t, type CompositeStats as u, type ContourPoint as v, type DropShadowEffect as w, type EffectContour as x, type EffectGradient as y, type EffectPatternRef as z };
1054
+ export { type PixelFilterSpec as $, type GradientOverlayEffect as A, BIT_DEPTHS as B, type CompositorLayer as C, DEFAULT_GLOBAL_LIGHT as D, type EffectCompositeInput as E, type GradientStyle as F, type GlobalLight as G, type GroupBlendMode as H, type GroupIn as I, INTERPOLATIONS as J, type InnerGlowEffect as K, type InnerShadowEffect as L, type Interpolation as M, LAYER_EFFECT_KINDS as N, type LayerEffect as O, LayerEffectError as P, type LayerEffectKind as Q, type RasterSources as R, type LayerEffects as S, type LayerLocation as T, type LayerLocks as U, MAX_EFFECT_REACH as V, MAX_TRANSFORM_PIXELS as W, type OuterGlowEffect as X, type PatternOverlayEffect as Y, PatternPlacement as Z, PatternTile as _, RasterCompositor as a, tileSamples16 as a$, type RasterGroupLayer as a0, type RasterLayer as a1, type RasterLayerBase as a2, type RasterMask as a3, type RasterNode as a4, type RasterPixelLayer as a5, type ResampleOptions as a6, STROKE_CHAMFER_MAX as a7, type SatinEffect as a8, type StrokeEffect as a9, gradientT as aA, hasActiveEffects as aB, hashNoise as aC, insertLayer as aD, isBitDepth as aE, isInterpolation as aF, isLayerEffectKind as aG, isLayerLocked as aH, keysWeight as aI, layerEffectFields as aJ, layerEffectLabel as aK, mapLayer as aL, mergeLayerEffect as aM, newEffectId as aN, normalizeLayerEffects as aO, parseEffectColor as aP, patchEffectMaps as aQ, proxyOf as aR, readDeepRegion as aS, reduceSurface as aT, renderLayerEffects as aU, scaleLayerEffect as aV, srgbDecode as aW, srgbEncode as aX, surfaceDepth as aY, surfaceFromDeepPixels as aZ, tileSamples as a_, type StrokePosition as aa, TransformTooLargeError as ab, activeEffectItems as ac, blendTile as ad, buildEffectMaps as ae, builtinPattern as af, builtinPatternIds as ag, changedTiles as ah, compositeLayerEffects as ai, compositeSurfaceOver as aj, contourLut as ak, convertSurfaceDepth as al, deepBytes as am, deepTile as an, defaultEffectGradient as ao, defaultLayerEffect as ap, depthOf as aq, effectColorHex as ar, effectFillColors as as, effectReach as at, effectsAreLocal as au, effectsFingerprint as av, effectsMargin as aw, effectsScale as ax, findLayer as ay, flattenLayers as az, type CompositorProfile as b, tileSamples32 as b0, to16From32 as b1, to16From8 as b2, to32From16 as b3, to32From8 as b4, to8From16 as b5, to8From32 as b6, transformSurface as b7, transformedBounds as b8, validateEffectGradient as b9, validateLayerEffect as ba, validateLayerEffects as bb, warpSurface as bc, writeDeepRegion as bd, type BevelContour as c, type BevelEmbossEffect as d, type BevelStyle as e, type BevelTechnique as f, type BevelTexture as g, type BitDepth as h, type ColorOverlayEffect as i, type CompositeCallOptions as j, type CompositeStats as k, type CompositorOptions as l, type ContourPoint as m, type DeepSamples as n, type DropShadowEffect as o, type EffectContext as p, type EffectContour as q, type EffectFill as r, type EffectGradient as s, type EffectMaps as t, type EffectPattern as u, type EffectPatternRef as v, type EffectRect as w, type GlowTechnique as x, type GradientColorStop as y, type GradientOpacityStop as z };
@@ -1,4 +1,4 @@
1
- import { B as BlendMode, R as RasterRect, a as TiledSurface, M as MaskSurface, b as PixelSurface, T as TileKey } from './surface-C8RRg_Bh.js';
1
+ import { a as BlendMode, R as RasterRect, j as TiledSurface, M as MaskSurface, c as PixelSurface, i as TileKey, h as Tile } from './surface-Cn30xIV6.js';
2
2
  import { H as Homography, V as Vec2 } from './types-CwMPoRMU.js';
3
3
 
4
4
  /**
@@ -832,6 +832,91 @@ declare class RasterCompositor<L extends CompositorLayer = CompositorLayer, S ex
832
832
  /** Tiles that differ between two surfaces (by tile identity), as tile keys. */
833
833
  declare function changedTiles(a: TiledSurface, b: TiledSurface): TileKey[];
834
834
 
835
+ /**
836
+ * High bit depth tiles: 16-bit and 32-bit float samples alongside the 8-bit tile data.
837
+ *
838
+ * A tile may carry `deep` samples next to its `data`:
839
+ *
840
+ * - `Uint16Array`: 16 bits per channel, 0..65535, the same sRGB encoding and straight alpha as
841
+ * the 8-bit data (`data = round(deep / 257)`).
842
+ * - `Float32Array`: 32-bit float per channel in **linear light** (sRGB primaries), straight
843
+ * alpha, as Photoshop's 32-bit mode; colour may exceed 1 (`data` is the clamped sRGB encoding).
844
+ *
845
+ * `data` is always the 8-bit rendering of `deep`, so every 8-bit consumer (the compositor, the
846
+ * viewport, brushes, filters, the paint editor) keeps working unchanged and at full speed: it
847
+ * simply sees the 8-bit picture. A tile without `deep` holds 8-bit pixels; read at a higher depth
848
+ * (`tileSamples16` / `tileSamples32`) they are converted exactly as a bit-depth conversion would.
849
+ * Writers that only produce 8-bit data drop `deep` for the tiles they rewrite (those tiles become
850
+ * 8-bit precise), and writers that understand depth build tiles with `deepTile`.
851
+ *
852
+ * Masks (one channel) are coverage, not colour: their float samples are never linearised.
853
+ */
854
+
855
+ /** Bits per channel: 8, 16 or 32 (float). */
856
+ type BitDepth = 8 | 16 | 32;
857
+ declare const BIT_DEPTHS: readonly BitDepth[];
858
+ declare const isBitDepth: (v: unknown) => v is BitDepth;
859
+ /** Deep samples of a tile: 16-bit encoded, or 32-bit linear float. */
860
+ type DeepSamples = Uint16Array | Float32Array;
861
+ /** sRGB-encoded 0..1 to linear light. */
862
+ declare function srgbDecode(v: number): number;
863
+ /** Linear light to sRGB-encoded (values above 1 extend the curve; below 0 clamp to 0). */
864
+ declare function srgbEncode(v: number): number;
865
+ /** 8-bit samples to 16-bit (`v × 257`, exact both ways). */
866
+ declare function to16From8(data: ArrayLike<number>, out?: Uint16Array<ArrayBuffer>): Uint16Array;
867
+ /** 8-bit samples to 32-bit float (colour linearised; alpha and masks as is). */
868
+ declare function to32From8(data: ArrayLike<number>, channels: 1 | 4, out?: Float32Array<ArrayBuffer>): Float32Array;
869
+ /** 16-bit samples to 32-bit float. */
870
+ declare function to32From16(data: ArrayLike<number>, channels: 1 | 4, out?: Float32Array<ArrayBuffer>): Float32Array;
871
+ /** 32-bit float samples to 16-bit (colour encoded and clamped to 0..1). */
872
+ declare function to16From32(data: ArrayLike<number>, channels: 1 | 4, out?: Uint16Array<ArrayBuffer>): Uint16Array;
873
+ /** 16-bit samples to 8-bit (rounded). */
874
+ declare function to8From16(data: ArrayLike<number>, out?: Uint8ClampedArray<ArrayBuffer>): Uint8ClampedArray;
875
+ /** 32-bit float samples to 8-bit (colour encoded and clamped). */
876
+ declare function to8From32(data: ArrayLike<number>, channels: 1 | 4, out?: Uint8ClampedArray<ArrayBuffer>): Uint8ClampedArray;
877
+ /** The 8-bit rendering of deep samples. */
878
+ declare function proxyOf(deep: DeepSamples, channels: 1 | 4, out?: Uint8ClampedArray<ArrayBuffer>): Uint8ClampedArray;
879
+ /** The bit depth deep samples hold. */
880
+ declare const depthOf: (deep: DeepSamples) => 16 | 32;
881
+ /**
882
+ * A stored tile from deep samples (`TILE × TILE × channels`): `null` when it renders as the
883
+ * surface default and holds nothing finer, an 8-bit tile when 8 bits hold it exactly (16-bit
884
+ * samples that are multiples of 257), else a tile with `deep` and its 8-bit rendering.
885
+ */
886
+ declare function deepTile(deep: DeepSamples, channels: 1 | 4, defaultValue?: number): Tile | null;
887
+ /** 16-bit samples of a tile (`undefined`: the default tile), converting 8-bit or float data. */
888
+ declare function tileSamples16(tile: Tile | undefined, channels: 1 | 4, defaultValue?: number): Uint16Array;
889
+ /** 32-bit float samples of a tile (`undefined`: the default tile), converting 8- or 16-bit data. */
890
+ declare function tileSamples32(tile: Tile | undefined, channels: 1 | 4, defaultValue?: number): Float32Array;
891
+ /** Deep samples of a tile at `depth` (16 or 32). */
892
+ declare function tileSamples(tile: Tile | undefined, channels: 1 | 4, depth: 16 | 32, defaultValue?: number): DeepSamples;
893
+ /** The deepest samples any tile of a surface holds: 8, 16 or 32. */
894
+ declare function surfaceDepth(surface: TiledSurface): BitDepth;
895
+ /** Copies `rect` of a surface at `depth` into a new buffer (`rect.width × rect.height × channels`). */
896
+ declare function readDeepRegion(surface: TiledSurface, rect: RasterRect, depth: 16): Uint16Array;
897
+ declare function readDeepRegion(surface: TiledSurface, rect: RasterRect, depth: 32): Float32Array;
898
+ declare function readDeepRegion(surface: TiledSurface, rect: RasterRect, depth: 16 | 32): DeepSamples;
899
+ /**
900
+ * Writes `rect.width × rect.height` interleaved deep samples at `rect` and returns the new
901
+ * surface. Partly covered tiles keep their other pixels, converted to the samples' depth.
902
+ */
903
+ declare function writeDeepRegion(surface: TiledSurface, rect: RasterRect, samples: DeepSamples): TiledSurface;
904
+ /** A surface holding `width × height` deep samples placed at (`x`, `y`). */
905
+ declare function surfaceFromDeepPixels(pixels: {
906
+ width: number;
907
+ height: number;
908
+ data: DeepSamples;
909
+ }, channels?: 1 | 4, x?: number, y?: number, defaultValue?: number): TiledSurface;
910
+ /**
911
+ * The surface converted to `depth`: 8 drops every tile's deep samples (keeping their 8-bit
912
+ * rendering); 16 or 32 converts the deep samples tiles already hold. Tiles without deep samples
913
+ * are left alone (they read at any depth by conversion), so going up from 8 bits costs nothing.
914
+ * Returns the same surface when nothing changes.
915
+ */
916
+ declare function convertSurfaceDepth(surface: TiledSurface, depth: BitDepth): TiledSurface;
917
+ /** Bytes held by deep samples (in addition to `surfaceBytes`). */
918
+ declare function deepBytes(surface: TiledSurface): number;
919
+
835
920
  /**
836
921
  * CPU renderer for layer effects.
837
922
  *
@@ -966,4 +1051,4 @@ declare function renderLayerEffects(effects: LayerEffects, layer: {
966
1051
  fillOpacity?: number;
967
1052
  }, backdrop: Uint8ClampedArray, canvas: EffectRect, ctx: EffectContext): void;
968
1053
 
969
- export { type StrokeEffect as $, type EffectRect as A, type BevelContour as B, type CompositorLayer as C, DEFAULT_GLOBAL_LIGHT as D, type EffectFill as E, type GlowTechnique as F, type GroupBlendMode as G, type GradientColorStop as H, type Interpolation as I, type GradientOpacityStop as J, type GradientOverlayEffect as K, type LayerLocks as L, type GradientStyle as M, INTERPOLATIONS as N, type InnerGlowEffect as O, type InnerShadowEffect as P, LAYER_EFFECT_KINDS as Q, type RasterLayer as R, LayerEffectError as S, MAX_EFFECT_REACH as T, MAX_TRANSFORM_PIXELS as U, type OuterGlowEffect as V, type PatternOverlayEffect as W, PatternPlacement as X, PatternTile as Y, type ResampleOptions as Z, type SatinEffect as _, type RasterGroupLayer as a, type StrokePosition as a0, TransformTooLargeError as a1, blendTile as a2, builtinPattern as a3, builtinPatternIds as a4, changedTiles as a5, compositeSurfaceOver as a6, defaultEffectGradient as a7, defaultLayerEffect as a8, effectColorHex as a9, validateLayerEffect as aA, validateLayerEffects as aB, warpSurface as aC, type CompositorProfile as aD, type EffectCompositeInput as aE, type EffectMaps as aF, type GroupIn as aG, type PixelFilterSpec as aH, type RasterNode as aI, STROKE_CHAMFER_MAX as aJ, activeEffectItems as aK, buildEffectMaps as aL, compositeLayerEffects as aM, contourLut as aN, effectFillColors as aO, effectsAreLocal as aP, gradientT as aQ, patchEffectMaps as aR, effectReach as aa, effectsFingerprint as ab, effectsMargin as ac, effectsScale as ad, findLayer as ae, flattenLayers as af, hasActiveEffects as ag, hashNoise as ah, insertLayer as ai, isInterpolation as aj, isLayerEffectKind as ak, isLayerLocked as al, keysWeight as am, layerEffectFields as an, layerEffectLabel as ao, mapLayer as ap, mergeLayerEffect as aq, newEffectId as ar, normalizeLayerEffects as as, parseEffectColor as at, reduceSurface as au, renderLayerEffects as av, scaleLayerEffect as aw, transformSurface as ax, transformedBounds as ay, validateEffectGradient as az, type RasterPixelLayer as b, RasterCompositor as c, type RasterSources as d, type RasterLayerBase as e, type RasterMask as f, type GlobalLight as g, type EffectPattern as h, type LayerLocation as i, type LayerEffect as j, type LayerEffects as k, type CompositorOptions as l, type LayerEffectKind as m, type EffectContext as n, type BevelEmbossEffect as o, type BevelStyle as p, type BevelTechnique as q, type BevelTexture as r, type ColorOverlayEffect as s, type CompositeCallOptions as t, type CompositeStats as u, type ContourPoint as v, type DropShadowEffect as w, type EffectContour as x, type EffectGradient as y, type EffectPatternRef as z };
1054
+ export { type PixelFilterSpec as $, type GradientOverlayEffect as A, BIT_DEPTHS as B, type CompositorLayer as C, DEFAULT_GLOBAL_LIGHT as D, type EffectCompositeInput as E, type GradientStyle as F, type GlobalLight as G, type GroupBlendMode as H, type GroupIn as I, INTERPOLATIONS as J, type InnerGlowEffect as K, type InnerShadowEffect as L, type Interpolation as M, LAYER_EFFECT_KINDS as N, type LayerEffect as O, LayerEffectError as P, type LayerEffectKind as Q, type RasterSources as R, type LayerEffects as S, type LayerLocation as T, type LayerLocks as U, MAX_EFFECT_REACH as V, MAX_TRANSFORM_PIXELS as W, type OuterGlowEffect as X, type PatternOverlayEffect as Y, PatternPlacement as Z, PatternTile as _, RasterCompositor as a, tileSamples16 as a$, type RasterGroupLayer as a0, type RasterLayer as a1, type RasterLayerBase as a2, type RasterMask as a3, type RasterNode as a4, type RasterPixelLayer as a5, type ResampleOptions as a6, STROKE_CHAMFER_MAX as a7, type SatinEffect as a8, type StrokeEffect as a9, gradientT as aA, hasActiveEffects as aB, hashNoise as aC, insertLayer as aD, isBitDepth as aE, isInterpolation as aF, isLayerEffectKind as aG, isLayerLocked as aH, keysWeight as aI, layerEffectFields as aJ, layerEffectLabel as aK, mapLayer as aL, mergeLayerEffect as aM, newEffectId as aN, normalizeLayerEffects as aO, parseEffectColor as aP, patchEffectMaps as aQ, proxyOf as aR, readDeepRegion as aS, reduceSurface as aT, renderLayerEffects as aU, scaleLayerEffect as aV, srgbDecode as aW, srgbEncode as aX, surfaceDepth as aY, surfaceFromDeepPixels as aZ, tileSamples as a_, type StrokePosition as aa, TransformTooLargeError as ab, activeEffectItems as ac, blendTile as ad, buildEffectMaps as ae, builtinPattern as af, builtinPatternIds as ag, changedTiles as ah, compositeLayerEffects as ai, compositeSurfaceOver as aj, contourLut as ak, convertSurfaceDepth as al, deepBytes as am, deepTile as an, defaultEffectGradient as ao, defaultLayerEffect as ap, depthOf as aq, effectColorHex as ar, effectFillColors as as, effectReach as at, effectsAreLocal as au, effectsFingerprint as av, effectsMargin as aw, effectsScale as ax, findLayer as ay, flattenLayers as az, type CompositorProfile as b, tileSamples32 as b0, to16From32 as b1, to16From8 as b2, to32From16 as b3, to32From8 as b4, to8From16 as b5, to8From32 as b6, transformSurface as b7, transformedBounds as b8, validateEffectGradient as b9, validateLayerEffect as ba, validateLayerEffects as bb, warpSurface as bc, writeDeepRegion as bd, type BevelContour as c, type BevelEmbossEffect as d, type BevelStyle as e, type BevelTechnique as f, type BevelTexture as g, type BitDepth as h, type ColorOverlayEffect as i, type CompositeCallOptions as j, type CompositeStats as k, type CompositorOptions as l, type ContourPoint as m, type DeepSamples as n, type DropShadowEffect as o, type EffectContext as p, type EffectContour as q, type EffectFill as r, type EffectGradient as s, type EffectMaps as t, type EffectPattern as u, type EffectPatternRef as v, type EffectRect as w, type GlowTechnique as x, type GradientColorStop as y, type GradientOpacityStop as z };
@@ -1,4 +1,4 @@
1
- import { B as BlendMode, R as RasterRect, T as TileKey, P as Pigment } from './surface-C8RRg_Bh.cjs';
1
+ import { a as BlendMode, R as RasterRect, i as TileKey, Y as Pigment } from './surface-Cn30xIV6.cjs';
2
2
 
3
3
  /**
4
4
  * The brush engine (a subset of photocraft's `crates/paint`): a computed round tip with size,
@@ -1,4 +1,4 @@
1
- import { B as BlendMode, R as RasterRect, T as TileKey, P as Pigment } from './surface-C8RRg_Bh.js';
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,
@@ -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 { solidSurface as $, collectTiles as A, type BlendMode as B, contentBounds as C, createPigment as D, emptySurface as E, fillRect as F, finishTile as G, isSeparableBlendMode as H, lerpPigment as I, lerpPigmentInto as J, mixPigment8 as K, mixPigmentRgb as L, type MaskSurface as M, mixPigments as N, normalizeBlendMode as O, type Pigment as P, packRgba as Q, type RasterRect as R, SHADOW_AMBIENT as S, type TileKey as T, pigment8 as U, readPixel as V, readRegion as W, reflectanceToRgb as X, rgbToReflectance as Y, setLum as Z, setPigmentColor as _, TiledSurface as a, surfaceBytes as a0, surfaceFromPixels as a1, surfacesEqual as a2, tileCoord as a3, tileKey as a4, tileRect as a5, tilesInRect as a6, translateSurface as a7, uniformTile as a8, writeRegion as a9, type PixelSurface as b, type BlendModeInfo as c, BLEND_MODES as d, PAINTERLY_BLEND_MODES as e, type Tile as f, isPainterlyBlendMode as g, PIGMENT_BANDS as h, isBlendMode as i, PIGMENT_LAMBDA_MIN as j, PIGMENT_LAMBDA_STEP as k, PIGMENT_WAVELENGTHS as l, type PigmentOptions as m, type PigmentRgb as n, type Rgb as o, type Rgba as p, SurfaceDraft as q, TILE as r, standardBlendMode as s, TILE_SHIFT as t, blendChannel as u, blendImageData as v, blendLum as w, blendPixel as x, blendRgb as y, canvasCompositeOperation as z };
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 { solidSurface as $, collectTiles as A, type BlendMode as B, contentBounds as C, createPigment as D, emptySurface as E, fillRect as F, finishTile as G, isSeparableBlendMode as H, lerpPigment as I, lerpPigmentInto as J, mixPigment8 as K, mixPigmentRgb as L, type MaskSurface as M, mixPigments as N, normalizeBlendMode as O, type Pigment as P, packRgba as Q, type RasterRect as R, SHADOW_AMBIENT as S, type TileKey as T, pigment8 as U, readPixel as V, readRegion as W, reflectanceToRgb as X, rgbToReflectance as Y, setLum as Z, setPigmentColor as _, TiledSurface as a, surfaceBytes as a0, surfaceFromPixels as a1, surfacesEqual as a2, tileCoord as a3, tileKey as a4, tileRect as a5, tilesInRect as a6, translateSurface as a7, uniformTile as a8, writeRegion as a9, type PixelSurface as b, type BlendModeInfo as c, BLEND_MODES as d, PAINTERLY_BLEND_MODES as e, type Tile as f, isPainterlyBlendMode as g, PIGMENT_BANDS as h, isBlendMode as i, PIGMENT_LAMBDA_MIN as j, PIGMENT_LAMBDA_STEP as k, PIGMENT_WAVELENGTHS as l, type PigmentOptions as m, type PigmentRgb as n, type Rgb as o, type Rgba as p, SurfaceDraft as q, TILE as r, standardBlendMode as s, TILE_SHIFT as t, blendChannel as u, blendImageData as v, blendLum as w, blendPixel as x, blendRgb as y, canvasCompositeOperation as z };
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 VectorFilterType, k as VectorFilterParamsMap, l as VectorFilter, m as VectorGradient, n as Vec2, o as VectorGradientUnits, p as VectorGradientSpread, q as VectorGradientType, r as VectorPaint, s as VectorMatrix, t as VectorGradientStop, u as VectorStrokeAlign, v as VectorSubpath, w as VectorDocument, x as VectorWidthPoint } from './types-DyQq-WPY.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 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
- /** Whether the node itself draws differently from its stored geometry (effects or a live boolean). */
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): 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, vectorOperandOperation 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, vectorLiveBooleanSteps as aX, vectorNodeEnvelope as aY, vectorNodeFilterSvg as aZ, vectorNodeLocalPaintBounds 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, vectorPaintToSvg as b0, vectorPathLocalBounds as b1, vectorStrokeSvgParts as b2, widthProfileFromAttribute as b3, widthProfileToAttribute as b4, 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 };
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 VectorFilterType, k as VectorFilterParamsMap, l as VectorFilter, m as VectorGradient, n as Vec2, o as VectorGradientUnits, p as VectorGradientSpread, q as VectorGradientType, r as VectorPaint, s as VectorMatrix, t as VectorGradientStop, u as VectorStrokeAlign, v as VectorSubpath, w as VectorDocument, x as VectorWidthPoint } from './types-DtL_qLFz.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 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
- /** Whether the node itself draws differently from its stored geometry (effects or a live boolean). */
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): 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, vectorOperandOperation 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, vectorLiveBooleanSteps as aX, vectorNodeEnvelope as aY, vectorNodeFilterSvg as aZ, vectorNodeLocalPaintBounds 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, vectorPaintToSvg as b0, vectorPathLocalBounds as b1, vectorStrokeSvgParts as b2, widthProfileFromAttribute as b3, widthProfileToAttribute as b4, 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 };
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 };