@yft-design/psd-lib 1.0.1
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/README.md +45 -0
- package/dist/abr.d.ts +143 -0
- package/dist/abr.js +300 -0
- package/dist/additionalInfo.d.ts +26 -0
- package/dist/additionalInfo.js +3891 -0
- package/dist/csh.d.ts +10 -0
- package/dist/csh.js +32 -0
- package/dist/descriptor.d.ts +566 -0
- package/dist/descriptor.js +1958 -0
- package/dist/effectsHelpers.d.ts +5 -0
- package/dist/effectsHelpers.js +280 -0
- package/dist/engineData.d.ts +2 -0
- package/dist/engineData.js +330 -0
- package/dist/engineData2.d.ts +2 -0
- package/dist/engineData2.js +405 -0
- package/dist/helpers.d.ts +89 -0
- package/dist/helpers.js +300 -0
- package/dist/imageResources.d.ts +17 -0
- package/dist/imageResources.js +1070 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +30 -0
- package/dist/initializeCanvas.d.ts +1 -0
- package/dist/initializeCanvas.js +21 -0
- package/dist/jpeg.d.ts +1 -0
- package/dist/jpeg.js +1017 -0
- package/dist/psd.d.ts +1822 -0
- package/dist/psd.js +7 -0
- package/dist/psdReader.d.ts +46 -0
- package/dist/psdReader.js +1188 -0
- package/dist/psdWriter.d.ts +33 -0
- package/dist/psdWriter.js +733 -0
- package/dist/text.d.ts +179 -0
- package/dist/text.js +556 -0
- package/dist/utf8.d.ts +4 -0
- package/dist/utf8.js +150 -0
- package/package.json +46 -0
package/dist/psd.d.ts
ADDED
|
@@ -0,0 +1,1822 @@
|
|
|
1
|
+
export type BlendMode = 'pass through' | 'normal' | 'dissolve' | 'darken' | 'multiply' | 'color burn' | 'linear burn' | 'darker color' | 'lighten' | 'screen' | 'color dodge' | 'linear dodge' | 'lighter color' | 'overlay' | 'soft light' | 'hard light' | 'vivid light' | 'linear light' | 'pin light' | 'hard mix' | 'difference' | 'exclusion' | 'subtract' | 'divide' | 'hue' | 'saturation' | 'color' | 'luminosity';
|
|
2
|
+
export declare const enum ColorMode {
|
|
3
|
+
Bitmap = 0,
|
|
4
|
+
Grayscale = 1,
|
|
5
|
+
Indexed = 2,
|
|
6
|
+
RGB = 3,
|
|
7
|
+
CMYK = 4,
|
|
8
|
+
Multichannel = 7,
|
|
9
|
+
Duotone = 8,
|
|
10
|
+
Lab = 9
|
|
11
|
+
}
|
|
12
|
+
export declare const enum SectionDividerType {
|
|
13
|
+
Other = 0,
|
|
14
|
+
OpenFolder = 1,
|
|
15
|
+
ClosedFolder = 2,
|
|
16
|
+
BoundingSectionDivider = 3
|
|
17
|
+
}
|
|
18
|
+
export type RGBA = {
|
|
19
|
+
r: number;
|
|
20
|
+
g: number;
|
|
21
|
+
b: number;
|
|
22
|
+
a: number;
|
|
23
|
+
};
|
|
24
|
+
export type RGB = {
|
|
25
|
+
r: number;
|
|
26
|
+
g: number;
|
|
27
|
+
b: number;
|
|
28
|
+
};
|
|
29
|
+
export type FRGB = {
|
|
30
|
+
fr: number;
|
|
31
|
+
fg: number;
|
|
32
|
+
fb: number;
|
|
33
|
+
};
|
|
34
|
+
export type HSB = {
|
|
35
|
+
h: number;
|
|
36
|
+
s: number;
|
|
37
|
+
b: number;
|
|
38
|
+
};
|
|
39
|
+
export type CMYK = {
|
|
40
|
+
c: number;
|
|
41
|
+
m: number;
|
|
42
|
+
y: number;
|
|
43
|
+
k: number;
|
|
44
|
+
};
|
|
45
|
+
export type LAB = {
|
|
46
|
+
l: number;
|
|
47
|
+
a: number;
|
|
48
|
+
b: number;
|
|
49
|
+
};
|
|
50
|
+
export type Grayscale = {
|
|
51
|
+
k: number;
|
|
52
|
+
};
|
|
53
|
+
export type Color = RGBA | RGB | FRGB | HSB | CMYK | LAB | Grayscale;
|
|
54
|
+
export interface EffectContour {
|
|
55
|
+
name: string;
|
|
56
|
+
curve: {
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
}[];
|
|
60
|
+
}
|
|
61
|
+
export interface EffectPattern {
|
|
62
|
+
name: string;
|
|
63
|
+
id: string;
|
|
64
|
+
}
|
|
65
|
+
export interface LayerEffectShadow {
|
|
66
|
+
present?: boolean;
|
|
67
|
+
showInDialog?: boolean;
|
|
68
|
+
enabled?: boolean;
|
|
69
|
+
size?: UnitsValue;
|
|
70
|
+
angle?: number;
|
|
71
|
+
distance?: UnitsValue;
|
|
72
|
+
color?: Color;
|
|
73
|
+
blendMode?: BlendMode;
|
|
74
|
+
opacity?: number;
|
|
75
|
+
useGlobalLight?: boolean;
|
|
76
|
+
antialiased?: boolean;
|
|
77
|
+
contour?: EffectContour;
|
|
78
|
+
choke?: UnitsValue;
|
|
79
|
+
layerConceals?: boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface LayerEffectsOuterGlow {
|
|
82
|
+
present?: boolean;
|
|
83
|
+
showInDialog?: boolean;
|
|
84
|
+
enabled?: boolean;
|
|
85
|
+
size?: UnitsValue;
|
|
86
|
+
color?: Color;
|
|
87
|
+
blendMode?: BlendMode;
|
|
88
|
+
opacity?: number;
|
|
89
|
+
source?: GlowSource;
|
|
90
|
+
antialiased?: boolean;
|
|
91
|
+
noise?: number;
|
|
92
|
+
range?: number;
|
|
93
|
+
choke?: UnitsValue;
|
|
94
|
+
jitter?: number;
|
|
95
|
+
contour?: EffectContour;
|
|
96
|
+
}
|
|
97
|
+
export interface LayerEffectInnerGlow {
|
|
98
|
+
present?: boolean;
|
|
99
|
+
showInDialog?: boolean;
|
|
100
|
+
enabled?: boolean;
|
|
101
|
+
size?: UnitsValue;
|
|
102
|
+
color?: Color;
|
|
103
|
+
blendMode?: BlendMode;
|
|
104
|
+
opacity?: number;
|
|
105
|
+
source?: GlowSource;
|
|
106
|
+
technique?: GlowTechnique;
|
|
107
|
+
antialiased?: boolean;
|
|
108
|
+
noise?: number;
|
|
109
|
+
range?: number;
|
|
110
|
+
choke?: UnitsValue;
|
|
111
|
+
jitter?: number;
|
|
112
|
+
contour?: EffectContour;
|
|
113
|
+
}
|
|
114
|
+
export interface LayerEffectBevel {
|
|
115
|
+
present?: boolean;
|
|
116
|
+
showInDialog?: boolean;
|
|
117
|
+
enabled?: boolean;
|
|
118
|
+
size?: UnitsValue;
|
|
119
|
+
angle?: number;
|
|
120
|
+
strength?: number;
|
|
121
|
+
highlightBlendMode?: BlendMode;
|
|
122
|
+
shadowBlendMode?: BlendMode;
|
|
123
|
+
highlightColor?: Color;
|
|
124
|
+
shadowColor?: Color;
|
|
125
|
+
style?: BevelStyle;
|
|
126
|
+
highlightOpacity?: number;
|
|
127
|
+
shadowOpacity?: number;
|
|
128
|
+
soften?: UnitsValue;
|
|
129
|
+
useGlobalLight?: boolean;
|
|
130
|
+
altitude?: number;
|
|
131
|
+
technique?: BevelTechnique;
|
|
132
|
+
direction?: BevelDirection;
|
|
133
|
+
useTexture?: boolean;
|
|
134
|
+
useShape?: boolean;
|
|
135
|
+
antialiasGloss?: boolean;
|
|
136
|
+
contour?: EffectContour;
|
|
137
|
+
}
|
|
138
|
+
export interface LayerEffectSolidFill {
|
|
139
|
+
present?: boolean;
|
|
140
|
+
showInDialog?: boolean;
|
|
141
|
+
enabled?: boolean;
|
|
142
|
+
blendMode?: BlendMode;
|
|
143
|
+
color?: Color;
|
|
144
|
+
opacity?: number;
|
|
145
|
+
}
|
|
146
|
+
export interface LayerEffectStroke {
|
|
147
|
+
present?: boolean;
|
|
148
|
+
showInDialog?: boolean;
|
|
149
|
+
enabled?: boolean;
|
|
150
|
+
overprint?: boolean;
|
|
151
|
+
size?: UnitsValue;
|
|
152
|
+
position?: 'inside' | 'center' | 'outside';
|
|
153
|
+
fillType?: 'color' | 'gradient' | 'pattern';
|
|
154
|
+
blendMode?: BlendMode;
|
|
155
|
+
opacity?: number;
|
|
156
|
+
color?: Color;
|
|
157
|
+
gradient?: (EffectSolidGradient | EffectNoiseGradient) & ExtraGradientInfo;
|
|
158
|
+
pattern?: EffectPattern & {};
|
|
159
|
+
}
|
|
160
|
+
export interface LayerEffectSatin {
|
|
161
|
+
present?: boolean;
|
|
162
|
+
showInDialog?: boolean;
|
|
163
|
+
enabled?: boolean;
|
|
164
|
+
size?: UnitsValue;
|
|
165
|
+
blendMode?: BlendMode;
|
|
166
|
+
color?: Color;
|
|
167
|
+
antialiased?: boolean;
|
|
168
|
+
opacity?: number;
|
|
169
|
+
distance?: UnitsValue;
|
|
170
|
+
invert?: boolean;
|
|
171
|
+
angle?: number;
|
|
172
|
+
contour?: EffectContour;
|
|
173
|
+
}
|
|
174
|
+
export interface LayerEffectPatternOverlay {
|
|
175
|
+
present?: boolean;
|
|
176
|
+
showInDialog?: boolean;
|
|
177
|
+
enabled?: boolean;
|
|
178
|
+
blendMode?: BlendMode;
|
|
179
|
+
opacity?: number;
|
|
180
|
+
scale?: number;
|
|
181
|
+
pattern?: EffectPattern;
|
|
182
|
+
phase?: {
|
|
183
|
+
x: number;
|
|
184
|
+
y: number;
|
|
185
|
+
};
|
|
186
|
+
align?: boolean;
|
|
187
|
+
}
|
|
188
|
+
export interface EffectSolidGradient {
|
|
189
|
+
name: string;
|
|
190
|
+
type: 'solid';
|
|
191
|
+
smoothness?: number;
|
|
192
|
+
colorStops: ColorStop[];
|
|
193
|
+
opacityStops: OpacityStop[];
|
|
194
|
+
}
|
|
195
|
+
export interface EffectNoiseGradient {
|
|
196
|
+
name: string;
|
|
197
|
+
type: 'noise';
|
|
198
|
+
roughness?: number;
|
|
199
|
+
colorModel?: 'rgb' | 'hsb' | 'lab';
|
|
200
|
+
randomSeed?: number;
|
|
201
|
+
restrictColors?: boolean;
|
|
202
|
+
addTransparency?: boolean;
|
|
203
|
+
min: number[];
|
|
204
|
+
max: number[];
|
|
205
|
+
}
|
|
206
|
+
export interface LayerEffectGradientOverlay {
|
|
207
|
+
present?: boolean;
|
|
208
|
+
showInDialog?: boolean;
|
|
209
|
+
enabled?: boolean;
|
|
210
|
+
blendMode?: string;
|
|
211
|
+
opacity?: number;
|
|
212
|
+
align?: boolean;
|
|
213
|
+
scale?: number;
|
|
214
|
+
dither?: boolean;
|
|
215
|
+
reverse?: boolean;
|
|
216
|
+
type?: GradientStyle;
|
|
217
|
+
offset?: {
|
|
218
|
+
x: number;
|
|
219
|
+
y: number;
|
|
220
|
+
};
|
|
221
|
+
gradient?: EffectSolidGradient | EffectNoiseGradient;
|
|
222
|
+
interpolationMethod?: InterpolationMethod;
|
|
223
|
+
angle?: number;
|
|
224
|
+
}
|
|
225
|
+
export interface LayerEffectsInfo {
|
|
226
|
+
disabled?: boolean;
|
|
227
|
+
scale?: number;
|
|
228
|
+
dropShadow?: LayerEffectShadow[];
|
|
229
|
+
innerShadow?: LayerEffectShadow[];
|
|
230
|
+
outerGlow?: LayerEffectsOuterGlow;
|
|
231
|
+
innerGlow?: LayerEffectInnerGlow;
|
|
232
|
+
bevel?: LayerEffectBevel;
|
|
233
|
+
solidFill?: LayerEffectSolidFill[];
|
|
234
|
+
satin?: LayerEffectSatin;
|
|
235
|
+
stroke?: LayerEffectStroke[];
|
|
236
|
+
gradientOverlay?: LayerEffectGradientOverlay[];
|
|
237
|
+
patternOverlay?: LayerEffectPatternOverlay;
|
|
238
|
+
}
|
|
239
|
+
export type PixelArray = Uint8ClampedArray | Uint8Array | Uint16Array | Float32Array;
|
|
240
|
+
export interface PixelData {
|
|
241
|
+
data: PixelArray;
|
|
242
|
+
width: number;
|
|
243
|
+
height: number;
|
|
244
|
+
}
|
|
245
|
+
export interface LayerMaskData {
|
|
246
|
+
top?: number;
|
|
247
|
+
left?: number;
|
|
248
|
+
bottom?: number;
|
|
249
|
+
right?: number;
|
|
250
|
+
defaultColor?: number;
|
|
251
|
+
disabled?: boolean;
|
|
252
|
+
positionRelativeToLayer?: boolean;
|
|
253
|
+
fromVectorData?: boolean;
|
|
254
|
+
userMaskDensity?: number;
|
|
255
|
+
userMaskFeather?: number;
|
|
256
|
+
vectorMaskDensity?: number;
|
|
257
|
+
vectorMaskFeather?: number;
|
|
258
|
+
canvas?: HTMLCanvasElement;
|
|
259
|
+
imageData?: PixelData;
|
|
260
|
+
}
|
|
261
|
+
export type TextGridding = 'none' | 'round';
|
|
262
|
+
export type Orientation = 'horizontal' | 'vertical';
|
|
263
|
+
export type AntiAlias = 'none' | 'sharp' | 'crisp' | 'strong' | 'smooth' | 'platform' | 'platformLCD';
|
|
264
|
+
export type WarpStyle = 'none' | 'arc' | 'arcLower' | 'arcUpper' | 'arch' | 'bulge' | 'shellLower' | 'shellUpper' | 'flag' | 'wave' | 'fish' | 'rise' | 'fisheye' | 'inflate' | 'squeeze' | 'twist' | 'custom' | 'cylinder';
|
|
265
|
+
export type BevelStyle = 'outer bevel' | 'inner bevel' | 'emboss' | 'pillow emboss' | 'stroke emboss';
|
|
266
|
+
export type BevelTechnique = 'smooth' | 'chisel hard' | 'chisel soft';
|
|
267
|
+
export type BevelDirection = 'up' | 'down';
|
|
268
|
+
export type GlowTechnique = 'softer' | 'precise';
|
|
269
|
+
export type GlowSource = 'edge' | 'center';
|
|
270
|
+
export type GradientStyle = 'linear' | 'radial' | 'angle' | 'reflected' | 'diamond';
|
|
271
|
+
export type Justification = 'left' | 'right' | 'center' | 'justify-left' | 'justify-right' | 'justify-center' | 'justify-all';
|
|
272
|
+
export type LineCapType = 'butt' | 'round' | 'square';
|
|
273
|
+
export type LineJoinType = 'miter' | 'round' | 'bevel';
|
|
274
|
+
export type LineAlignment = 'inside' | 'center' | 'outside';
|
|
275
|
+
export type InterpolationMethod = 'classic' | 'perceptual' | 'linear' | 'smooth';
|
|
276
|
+
export interface Warp {
|
|
277
|
+
style?: WarpStyle;
|
|
278
|
+
value?: number;
|
|
279
|
+
values?: number[];
|
|
280
|
+
perspective?: number;
|
|
281
|
+
perspectiveOther?: number;
|
|
282
|
+
rotate?: Orientation;
|
|
283
|
+
bounds?: {
|
|
284
|
+
top: UnitsValue;
|
|
285
|
+
left: UnitsValue;
|
|
286
|
+
bottom: UnitsValue;
|
|
287
|
+
right: UnitsValue;
|
|
288
|
+
};
|
|
289
|
+
uOrder?: number;
|
|
290
|
+
vOrder?: number;
|
|
291
|
+
deformNumRows?: number;
|
|
292
|
+
deformNumCols?: number;
|
|
293
|
+
customEnvelopeWarp?: {
|
|
294
|
+
quiltSliceX?: number[];
|
|
295
|
+
quiltSliceY?: number[];
|
|
296
|
+
meshPoints: {
|
|
297
|
+
x: number;
|
|
298
|
+
y: number;
|
|
299
|
+
}[];
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
export interface Animations {
|
|
303
|
+
frames: {
|
|
304
|
+
id: number;
|
|
305
|
+
delay: number;
|
|
306
|
+
dispose?: 'auto' | 'none' | 'dispose';
|
|
307
|
+
}[];
|
|
308
|
+
animations: {
|
|
309
|
+
id: number;
|
|
310
|
+
frames: number[];
|
|
311
|
+
repeats?: number;
|
|
312
|
+
activeFrame?: number;
|
|
313
|
+
}[];
|
|
314
|
+
}
|
|
315
|
+
export interface Font {
|
|
316
|
+
name: string;
|
|
317
|
+
script?: number;
|
|
318
|
+
type?: number;
|
|
319
|
+
synthetic?: number;
|
|
320
|
+
}
|
|
321
|
+
export interface ParagraphStyle {
|
|
322
|
+
justification?: Justification;
|
|
323
|
+
firstLineIndent?: number;
|
|
324
|
+
startIndent?: number;
|
|
325
|
+
endIndent?: number;
|
|
326
|
+
spaceBefore?: number;
|
|
327
|
+
spaceAfter?: number;
|
|
328
|
+
autoHyphenate?: boolean;
|
|
329
|
+
hyphenatedWordSize?: number;
|
|
330
|
+
preHyphen?: number;
|
|
331
|
+
postHyphen?: number;
|
|
332
|
+
consecutiveHyphens?: number;
|
|
333
|
+
zone?: number;
|
|
334
|
+
wordSpacing?: number[];
|
|
335
|
+
letterSpacing?: number[];
|
|
336
|
+
glyphSpacing?: number[];
|
|
337
|
+
autoLeading?: number;
|
|
338
|
+
leadingType?: number;
|
|
339
|
+
hanging?: boolean;
|
|
340
|
+
burasagari?: boolean;
|
|
341
|
+
kinsokuOrder?: number;
|
|
342
|
+
everyLineComposer?: boolean;
|
|
343
|
+
}
|
|
344
|
+
export interface ParagraphStyleRun {
|
|
345
|
+
length: number;
|
|
346
|
+
style: ParagraphStyle;
|
|
347
|
+
}
|
|
348
|
+
export interface TextStyle {
|
|
349
|
+
font?: Font;
|
|
350
|
+
fontSize?: number;
|
|
351
|
+
fauxBold?: boolean;
|
|
352
|
+
fauxItalic?: boolean;
|
|
353
|
+
autoLeading?: boolean;
|
|
354
|
+
leading?: number;
|
|
355
|
+
horizontalScale?: number;
|
|
356
|
+
verticalScale?: number;
|
|
357
|
+
tracking?: number;
|
|
358
|
+
autoKerning?: boolean;
|
|
359
|
+
kerning?: number;
|
|
360
|
+
baselineShift?: number;
|
|
361
|
+
fontCaps?: number;
|
|
362
|
+
fontBaseline?: number;
|
|
363
|
+
underline?: boolean;
|
|
364
|
+
strikethrough?: boolean;
|
|
365
|
+
ligatures?: boolean;
|
|
366
|
+
dLigatures?: boolean;
|
|
367
|
+
baselineDirection?: number;
|
|
368
|
+
tsume?: number;
|
|
369
|
+
styleRunAlignment?: number;
|
|
370
|
+
language?: number;
|
|
371
|
+
noBreak?: boolean;
|
|
372
|
+
fillColor?: Color;
|
|
373
|
+
strokeColor?: Color;
|
|
374
|
+
fillFlag?: boolean;
|
|
375
|
+
strokeFlag?: boolean;
|
|
376
|
+
fillFirst?: boolean;
|
|
377
|
+
yUnderline?: number;
|
|
378
|
+
outlineWidth?: number;
|
|
379
|
+
characterDirection?: number;
|
|
380
|
+
hindiNumbers?: boolean;
|
|
381
|
+
kashida?: number;
|
|
382
|
+
diacriticPos?: number;
|
|
383
|
+
}
|
|
384
|
+
export interface TextStyleRun {
|
|
385
|
+
length: number;
|
|
386
|
+
style: TextStyle;
|
|
387
|
+
}
|
|
388
|
+
export interface TextGridInfo {
|
|
389
|
+
isOn?: boolean;
|
|
390
|
+
show?: boolean;
|
|
391
|
+
size?: number;
|
|
392
|
+
leading?: number;
|
|
393
|
+
color?: Color;
|
|
394
|
+
leadingFillColor?: Color;
|
|
395
|
+
alignLineHeightToGridFlags?: boolean;
|
|
396
|
+
}
|
|
397
|
+
export interface UnitsBounds {
|
|
398
|
+
top: UnitsValue;
|
|
399
|
+
left: UnitsValue;
|
|
400
|
+
right: UnitsValue;
|
|
401
|
+
bottom: UnitsValue;
|
|
402
|
+
}
|
|
403
|
+
export interface TextPath {
|
|
404
|
+
name?: number[];
|
|
405
|
+
bezierCurve?: {
|
|
406
|
+
controlPoints: number[];
|
|
407
|
+
};
|
|
408
|
+
data: {
|
|
409
|
+
type?: number;
|
|
410
|
+
orientation?: number;
|
|
411
|
+
frameMatrix: number[];
|
|
412
|
+
textRange: number[];
|
|
413
|
+
rowGutter?: number;
|
|
414
|
+
columnGutter?: number;
|
|
415
|
+
BaselineAlignment?: {
|
|
416
|
+
flag?: number;
|
|
417
|
+
min?: number;
|
|
418
|
+
};
|
|
419
|
+
pathData: {
|
|
420
|
+
reversed?: boolean;
|
|
421
|
+
spacing?: number;
|
|
422
|
+
};
|
|
423
|
+
};
|
|
424
|
+
uuid?: string;
|
|
425
|
+
}
|
|
426
|
+
export interface LayerTextData {
|
|
427
|
+
text: string;
|
|
428
|
+
transform?: number[];
|
|
429
|
+
antiAlias?: AntiAlias;
|
|
430
|
+
gridding?: TextGridding;
|
|
431
|
+
orientation?: Orientation;
|
|
432
|
+
index?: number;
|
|
433
|
+
warp?: Warp;
|
|
434
|
+
top?: number;
|
|
435
|
+
left?: number;
|
|
436
|
+
bottom?: number;
|
|
437
|
+
right?: number;
|
|
438
|
+
gridInfo?: TextGridInfo;
|
|
439
|
+
useFractionalGlyphWidths?: boolean;
|
|
440
|
+
style?: TextStyle;
|
|
441
|
+
styleRuns?: TextStyleRun[];
|
|
442
|
+
paragraphStyle?: ParagraphStyle;
|
|
443
|
+
paragraphStyleRuns?: ParagraphStyleRun[];
|
|
444
|
+
superscriptSize?: number;
|
|
445
|
+
superscriptPosition?: number;
|
|
446
|
+
subscriptSize?: number;
|
|
447
|
+
subscriptPosition?: number;
|
|
448
|
+
smallCapSize?: number;
|
|
449
|
+
shapeType?: 'point' | 'box';
|
|
450
|
+
pointBase?: number[];
|
|
451
|
+
boxBounds?: number[];
|
|
452
|
+
bounds?: UnitsBounds;
|
|
453
|
+
boundingBox?: UnitsBounds;
|
|
454
|
+
/** This is read-only field, any changes will not be saved */
|
|
455
|
+
textPath?: TextPath;
|
|
456
|
+
}
|
|
457
|
+
export interface PatternInfo {
|
|
458
|
+
name: string;
|
|
459
|
+
id: string;
|
|
460
|
+
x: number;
|
|
461
|
+
y: number;
|
|
462
|
+
bounds: {
|
|
463
|
+
x: number;
|
|
464
|
+
y: number;
|
|
465
|
+
w: number;
|
|
466
|
+
h: number;
|
|
467
|
+
};
|
|
468
|
+
data: Uint8Array;
|
|
469
|
+
}
|
|
470
|
+
export interface BezierKnot {
|
|
471
|
+
linked: boolean;
|
|
472
|
+
points: number[];
|
|
473
|
+
}
|
|
474
|
+
export type BooleanOperation = 'exclude' | 'combine' | 'subtract' | 'intersect';
|
|
475
|
+
export interface BezierPath {
|
|
476
|
+
open: boolean;
|
|
477
|
+
operation?: BooleanOperation;
|
|
478
|
+
knots: BezierKnot[];
|
|
479
|
+
fillRule: 'even-odd' | 'non-zero';
|
|
480
|
+
}
|
|
481
|
+
export interface ExtraGradientInfo {
|
|
482
|
+
style?: GradientStyle;
|
|
483
|
+
scale?: number;
|
|
484
|
+
angle?: number;
|
|
485
|
+
dither?: boolean;
|
|
486
|
+
interpolationMethod?: InterpolationMethod;
|
|
487
|
+
reverse?: boolean;
|
|
488
|
+
align?: boolean;
|
|
489
|
+
offset?: {
|
|
490
|
+
x: number;
|
|
491
|
+
y: number;
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
export interface ExtraPatternInfo {
|
|
495
|
+
linked?: boolean;
|
|
496
|
+
phase?: {
|
|
497
|
+
x: number;
|
|
498
|
+
y: number;
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
export type VectorContent = {
|
|
502
|
+
type: 'color';
|
|
503
|
+
color: Color;
|
|
504
|
+
} | (EffectSolidGradient & ExtraGradientInfo) | (EffectNoiseGradient & ExtraGradientInfo) | (EffectPattern & {
|
|
505
|
+
type: 'pattern';
|
|
506
|
+
} & ExtraPatternInfo);
|
|
507
|
+
export type RenderingIntent = 'perceptual' | 'saturation' | 'relative colorimetric' | 'absolute colorimetric';
|
|
508
|
+
export type Units = 'Pixels' | 'Points' | 'Picas' | 'Millimeters' | 'Centimeters' | 'Inches' | 'None' | 'Density';
|
|
509
|
+
export interface UnitsValue {
|
|
510
|
+
units: Units;
|
|
511
|
+
value: number;
|
|
512
|
+
}
|
|
513
|
+
export interface BrightnessAdjustment {
|
|
514
|
+
type: 'brightness/contrast';
|
|
515
|
+
brightness?: number;
|
|
516
|
+
contrast?: number;
|
|
517
|
+
meanValue?: number;
|
|
518
|
+
useLegacy?: boolean;
|
|
519
|
+
labColorOnly?: boolean;
|
|
520
|
+
auto?: boolean;
|
|
521
|
+
}
|
|
522
|
+
export interface LevelsAdjustmentChannel {
|
|
523
|
+
shadowInput: number;
|
|
524
|
+
highlightInput: number;
|
|
525
|
+
shadowOutput: number;
|
|
526
|
+
highlightOutput: number;
|
|
527
|
+
midtoneInput: number;
|
|
528
|
+
}
|
|
529
|
+
export interface PresetInfo {
|
|
530
|
+
presetKind?: number;
|
|
531
|
+
presetFileName?: string;
|
|
532
|
+
}
|
|
533
|
+
export interface LevelsAdjustment extends PresetInfo {
|
|
534
|
+
type: 'levels';
|
|
535
|
+
rgb?: LevelsAdjustmentChannel;
|
|
536
|
+
red?: LevelsAdjustmentChannel;
|
|
537
|
+
green?: LevelsAdjustmentChannel;
|
|
538
|
+
blue?: LevelsAdjustmentChannel;
|
|
539
|
+
}
|
|
540
|
+
export type CurvesAdjustmentChannel = {
|
|
541
|
+
input: number;
|
|
542
|
+
output: number;
|
|
543
|
+
}[];
|
|
544
|
+
export interface CurvesAdjustment extends PresetInfo {
|
|
545
|
+
type: 'curves';
|
|
546
|
+
rgb?: CurvesAdjustmentChannel;
|
|
547
|
+
red?: CurvesAdjustmentChannel;
|
|
548
|
+
green?: CurvesAdjustmentChannel;
|
|
549
|
+
blue?: CurvesAdjustmentChannel;
|
|
550
|
+
}
|
|
551
|
+
export interface ExposureAdjustment extends PresetInfo {
|
|
552
|
+
type: 'exposure';
|
|
553
|
+
exposure?: number;
|
|
554
|
+
offset?: number;
|
|
555
|
+
gamma?: number;
|
|
556
|
+
}
|
|
557
|
+
export interface VibranceAdjustment {
|
|
558
|
+
type: 'vibrance';
|
|
559
|
+
vibrance?: number;
|
|
560
|
+
saturation?: number;
|
|
561
|
+
}
|
|
562
|
+
export interface HueSaturationAdjustmentChannel {
|
|
563
|
+
a: number;
|
|
564
|
+
b: number;
|
|
565
|
+
c: number;
|
|
566
|
+
d: number;
|
|
567
|
+
hue: number;
|
|
568
|
+
saturation: number;
|
|
569
|
+
lightness: number;
|
|
570
|
+
}
|
|
571
|
+
export interface HueSaturationAdjustment extends PresetInfo {
|
|
572
|
+
type: 'hue/saturation';
|
|
573
|
+
master?: HueSaturationAdjustmentChannel;
|
|
574
|
+
reds?: HueSaturationAdjustmentChannel;
|
|
575
|
+
yellows?: HueSaturationAdjustmentChannel;
|
|
576
|
+
greens?: HueSaturationAdjustmentChannel;
|
|
577
|
+
cyans?: HueSaturationAdjustmentChannel;
|
|
578
|
+
blues?: HueSaturationAdjustmentChannel;
|
|
579
|
+
magentas?: HueSaturationAdjustmentChannel;
|
|
580
|
+
}
|
|
581
|
+
export interface ColorBalanceValues {
|
|
582
|
+
cyanRed: number;
|
|
583
|
+
magentaGreen: number;
|
|
584
|
+
yellowBlue: number;
|
|
585
|
+
}
|
|
586
|
+
export interface ColorBalanceAdjustment {
|
|
587
|
+
type: 'color balance';
|
|
588
|
+
shadows?: ColorBalanceValues;
|
|
589
|
+
midtones?: ColorBalanceValues;
|
|
590
|
+
highlights?: ColorBalanceValues;
|
|
591
|
+
preserveLuminosity?: boolean;
|
|
592
|
+
}
|
|
593
|
+
export interface BlackAndWhiteAdjustment extends PresetInfo {
|
|
594
|
+
type: 'black & white';
|
|
595
|
+
reds?: number;
|
|
596
|
+
yellows?: number;
|
|
597
|
+
greens?: number;
|
|
598
|
+
cyans?: number;
|
|
599
|
+
blues?: number;
|
|
600
|
+
magentas?: number;
|
|
601
|
+
useTint?: boolean;
|
|
602
|
+
tintColor?: Color;
|
|
603
|
+
}
|
|
604
|
+
export interface PhotoFilterAdjustment {
|
|
605
|
+
type: 'photo filter';
|
|
606
|
+
color?: Color;
|
|
607
|
+
density?: number;
|
|
608
|
+
preserveLuminosity?: boolean;
|
|
609
|
+
}
|
|
610
|
+
export interface ChannelMixerChannel {
|
|
611
|
+
red: number;
|
|
612
|
+
green: number;
|
|
613
|
+
blue: number;
|
|
614
|
+
constant: number;
|
|
615
|
+
}
|
|
616
|
+
export interface ChannelMixerAdjustment extends PresetInfo {
|
|
617
|
+
type: 'channel mixer';
|
|
618
|
+
monochrome?: boolean;
|
|
619
|
+
red?: ChannelMixerChannel;
|
|
620
|
+
green?: ChannelMixerChannel;
|
|
621
|
+
blue?: ChannelMixerChannel;
|
|
622
|
+
gray?: ChannelMixerChannel;
|
|
623
|
+
}
|
|
624
|
+
export interface ColorLookupAdjustment {
|
|
625
|
+
type: 'color lookup';
|
|
626
|
+
lookupType?: '3dlut' | 'abstractProfile' | 'deviceLinkProfile';
|
|
627
|
+
name?: string;
|
|
628
|
+
dither?: boolean;
|
|
629
|
+
profile?: Uint8Array;
|
|
630
|
+
lutFormat?: 'look' | 'cube' | '3dl';
|
|
631
|
+
dataOrder?: 'rgb' | 'bgr';
|
|
632
|
+
tableOrder?: 'rgb' | 'bgr';
|
|
633
|
+
lut3DFileData?: Uint8Array;
|
|
634
|
+
lut3DFileName?: string;
|
|
635
|
+
}
|
|
636
|
+
export interface InvertAdjustment {
|
|
637
|
+
type: 'invert';
|
|
638
|
+
}
|
|
639
|
+
export interface PosterizeAdjustment {
|
|
640
|
+
type: 'posterize';
|
|
641
|
+
levels?: number;
|
|
642
|
+
}
|
|
643
|
+
export interface ThresholdAdjustment {
|
|
644
|
+
type: 'threshold';
|
|
645
|
+
level?: number;
|
|
646
|
+
}
|
|
647
|
+
export interface ColorStop {
|
|
648
|
+
color: Color;
|
|
649
|
+
location: number;
|
|
650
|
+
midpoint: number;
|
|
651
|
+
}
|
|
652
|
+
export interface OpacityStop {
|
|
653
|
+
opacity: number;
|
|
654
|
+
location: number;
|
|
655
|
+
midpoint: number;
|
|
656
|
+
}
|
|
657
|
+
export interface GradientMapAdjustment {
|
|
658
|
+
type: 'gradient map';
|
|
659
|
+
name?: string;
|
|
660
|
+
gradientType: 'solid' | 'noise';
|
|
661
|
+
dither?: boolean;
|
|
662
|
+
reverse?: boolean;
|
|
663
|
+
method?: InterpolationMethod;
|
|
664
|
+
smoothness?: number;
|
|
665
|
+
colorStops?: ColorStop[];
|
|
666
|
+
opacityStops?: OpacityStop[];
|
|
667
|
+
roughness?: number;
|
|
668
|
+
colorModel?: 'rgb' | 'hsb' | 'lab';
|
|
669
|
+
randomSeed?: number;
|
|
670
|
+
restrictColors?: boolean;
|
|
671
|
+
addTransparency?: boolean;
|
|
672
|
+
min?: number[];
|
|
673
|
+
max?: number[];
|
|
674
|
+
}
|
|
675
|
+
export interface SelectiveColorAdjustment {
|
|
676
|
+
type: 'selective color';
|
|
677
|
+
mode?: 'relative' | 'absolute';
|
|
678
|
+
reds?: CMYK;
|
|
679
|
+
yellows?: CMYK;
|
|
680
|
+
greens?: CMYK;
|
|
681
|
+
cyans?: CMYK;
|
|
682
|
+
blues?: CMYK;
|
|
683
|
+
magentas?: CMYK;
|
|
684
|
+
whites?: CMYK;
|
|
685
|
+
neutrals?: CMYK;
|
|
686
|
+
blacks?: CMYK;
|
|
687
|
+
}
|
|
688
|
+
export type LinkedFile = {
|
|
689
|
+
id: string;
|
|
690
|
+
name: string;
|
|
691
|
+
type?: string;
|
|
692
|
+
creator?: string;
|
|
693
|
+
data?: Uint8Array;
|
|
694
|
+
time?: string;
|
|
695
|
+
descriptor?: {
|
|
696
|
+
compInfo: {
|
|
697
|
+
compID: number;
|
|
698
|
+
originalCompID: number;
|
|
699
|
+
};
|
|
700
|
+
};
|
|
701
|
+
childDocumentID?: string;
|
|
702
|
+
assetModTime?: number;
|
|
703
|
+
assetLockedState?: number;
|
|
704
|
+
linkedFile?: {
|
|
705
|
+
fileSize: number;
|
|
706
|
+
name: string;
|
|
707
|
+
fullPath: string;
|
|
708
|
+
originalPath: string;
|
|
709
|
+
relativePath: string;
|
|
710
|
+
};
|
|
711
|
+
};
|
|
712
|
+
type FilterVariant = {
|
|
713
|
+
type: 'average' | 'blur' | 'blur more';
|
|
714
|
+
} | {
|
|
715
|
+
type: 'box blur';
|
|
716
|
+
filter: {
|
|
717
|
+
radius: UnitsValue;
|
|
718
|
+
};
|
|
719
|
+
} | {
|
|
720
|
+
type: 'gaussian blur';
|
|
721
|
+
filter: {
|
|
722
|
+
radius: UnitsValue;
|
|
723
|
+
};
|
|
724
|
+
} | {
|
|
725
|
+
type: 'motion blur';
|
|
726
|
+
filter: {
|
|
727
|
+
angle: number;
|
|
728
|
+
distance: UnitsValue;
|
|
729
|
+
};
|
|
730
|
+
} | {
|
|
731
|
+
type: 'radial blur';
|
|
732
|
+
filter: {
|
|
733
|
+
amount: number;
|
|
734
|
+
method: 'spin' | 'zoom';
|
|
735
|
+
quality: 'draft' | 'good' | 'best';
|
|
736
|
+
};
|
|
737
|
+
} | {
|
|
738
|
+
type: 'shape blur';
|
|
739
|
+
filter: {
|
|
740
|
+
radius: UnitsValue;
|
|
741
|
+
customShape: {
|
|
742
|
+
name: string;
|
|
743
|
+
id: string;
|
|
744
|
+
};
|
|
745
|
+
};
|
|
746
|
+
} | {
|
|
747
|
+
type: 'smart blur';
|
|
748
|
+
filter: {
|
|
749
|
+
radius: number;
|
|
750
|
+
threshold: number;
|
|
751
|
+
quality: 'low' | 'medium' | 'high';
|
|
752
|
+
mode: 'normal' | 'edge only' | 'overlay edge';
|
|
753
|
+
};
|
|
754
|
+
} | {
|
|
755
|
+
type: 'surface blur';
|
|
756
|
+
filter: {
|
|
757
|
+
radius: UnitsValue;
|
|
758
|
+
threshold: number;
|
|
759
|
+
};
|
|
760
|
+
} | {
|
|
761
|
+
type: 'displace';
|
|
762
|
+
filter: {
|
|
763
|
+
horizontalScale: number;
|
|
764
|
+
verticalScale: number;
|
|
765
|
+
displacementMap: 'stretch to fit' | 'tile';
|
|
766
|
+
undefinedAreas: 'wrap around' | 'repeat edge pixels';
|
|
767
|
+
displacementFile: {
|
|
768
|
+
signature: string;
|
|
769
|
+
path: string;
|
|
770
|
+
};
|
|
771
|
+
};
|
|
772
|
+
} | {
|
|
773
|
+
type: 'pinch';
|
|
774
|
+
filter: {
|
|
775
|
+
amount: number;
|
|
776
|
+
};
|
|
777
|
+
} | {
|
|
778
|
+
type: 'polar coordinates';
|
|
779
|
+
filter: {
|
|
780
|
+
conversion: 'rectangular to polar' | 'polar to rectangular';
|
|
781
|
+
};
|
|
782
|
+
} | {
|
|
783
|
+
type: 'ripple';
|
|
784
|
+
filter: {
|
|
785
|
+
amount: number;
|
|
786
|
+
size: 'small' | 'medium' | 'large';
|
|
787
|
+
};
|
|
788
|
+
} | {
|
|
789
|
+
type: 'shear';
|
|
790
|
+
filter: {
|
|
791
|
+
shearPoints: {
|
|
792
|
+
x: number;
|
|
793
|
+
y: number;
|
|
794
|
+
}[];
|
|
795
|
+
shearStart: number;
|
|
796
|
+
shearEnd: number;
|
|
797
|
+
undefinedAreas: 'wrap around' | 'repeat edge pixels';
|
|
798
|
+
};
|
|
799
|
+
} | {
|
|
800
|
+
type: 'spherize';
|
|
801
|
+
filter: {
|
|
802
|
+
amount: number;
|
|
803
|
+
mode: 'normal' | 'horizontal only' | 'vertical only';
|
|
804
|
+
};
|
|
805
|
+
} | {
|
|
806
|
+
type: 'twirl';
|
|
807
|
+
filter: {
|
|
808
|
+
angle: number;
|
|
809
|
+
};
|
|
810
|
+
} | {
|
|
811
|
+
type: 'wave';
|
|
812
|
+
filter: {
|
|
813
|
+
numberOfGenerators: number;
|
|
814
|
+
type: 'sine' | 'triangle' | 'square';
|
|
815
|
+
wavelength: {
|
|
816
|
+
min: number;
|
|
817
|
+
max: number;
|
|
818
|
+
};
|
|
819
|
+
amplitude: {
|
|
820
|
+
min: number;
|
|
821
|
+
max: number;
|
|
822
|
+
};
|
|
823
|
+
scale: {
|
|
824
|
+
x: number;
|
|
825
|
+
y: number;
|
|
826
|
+
};
|
|
827
|
+
randomSeed: number;
|
|
828
|
+
undefinedAreas: 'wrap around' | 'repeat edge pixels';
|
|
829
|
+
};
|
|
830
|
+
} | {
|
|
831
|
+
type: 'zigzag';
|
|
832
|
+
filter: {
|
|
833
|
+
amount: number;
|
|
834
|
+
ridges: number;
|
|
835
|
+
style: 'around center' | 'out from center' | 'pond ripples';
|
|
836
|
+
};
|
|
837
|
+
} | {
|
|
838
|
+
type: 'add noise';
|
|
839
|
+
filter: {
|
|
840
|
+
amount: number;
|
|
841
|
+
distribution: 'uniform' | 'gaussian';
|
|
842
|
+
monochromatic: boolean;
|
|
843
|
+
randomSeed: number;
|
|
844
|
+
};
|
|
845
|
+
} | {
|
|
846
|
+
type: 'despeckle';
|
|
847
|
+
} | {
|
|
848
|
+
type: 'dust and scratches';
|
|
849
|
+
filter: {
|
|
850
|
+
radius: number;
|
|
851
|
+
threshold: number;
|
|
852
|
+
};
|
|
853
|
+
} | {
|
|
854
|
+
type: 'median';
|
|
855
|
+
filter: {
|
|
856
|
+
radius: UnitsValue;
|
|
857
|
+
};
|
|
858
|
+
} | {
|
|
859
|
+
type: 'reduce noise';
|
|
860
|
+
filter: {
|
|
861
|
+
preset: string;
|
|
862
|
+
removeJpegArtifact: boolean;
|
|
863
|
+
reduceColorNoise: number;
|
|
864
|
+
sharpenDetails: number;
|
|
865
|
+
channelDenoise: {
|
|
866
|
+
channels: ('red' | 'green' | 'blue' | 'composite')[];
|
|
867
|
+
amount: number;
|
|
868
|
+
preserveDetails?: number;
|
|
869
|
+
}[];
|
|
870
|
+
};
|
|
871
|
+
} | {
|
|
872
|
+
type: 'color halftone';
|
|
873
|
+
filter: {
|
|
874
|
+
radius: number;
|
|
875
|
+
angle1: number;
|
|
876
|
+
angle2: number;
|
|
877
|
+
angle3: number;
|
|
878
|
+
angle4: number;
|
|
879
|
+
};
|
|
880
|
+
} | {
|
|
881
|
+
type: 'crystallize';
|
|
882
|
+
filter: {
|
|
883
|
+
cellSize: number;
|
|
884
|
+
randomSeed: number;
|
|
885
|
+
};
|
|
886
|
+
} | {
|
|
887
|
+
type: 'facet' | 'fragment';
|
|
888
|
+
} | {
|
|
889
|
+
type: 'mezzotint';
|
|
890
|
+
filter: {
|
|
891
|
+
type: 'fine dots' | 'medium dots' | 'grainy dots' | 'coarse dots' | 'short lines' | 'medium lines' | 'long lines' | 'short strokes' | 'medium strokes' | 'long strokes';
|
|
892
|
+
randomSeed: number;
|
|
893
|
+
};
|
|
894
|
+
} | {
|
|
895
|
+
type: 'mosaic';
|
|
896
|
+
filter: {
|
|
897
|
+
cellSize: UnitsValue;
|
|
898
|
+
};
|
|
899
|
+
} | {
|
|
900
|
+
type: 'pointillize';
|
|
901
|
+
filter: {
|
|
902
|
+
cellSize: number;
|
|
903
|
+
randomSeed: number;
|
|
904
|
+
};
|
|
905
|
+
} | {
|
|
906
|
+
type: 'clouds';
|
|
907
|
+
filter: {
|
|
908
|
+
randomSeed: number;
|
|
909
|
+
};
|
|
910
|
+
} | {
|
|
911
|
+
type: 'difference clouds';
|
|
912
|
+
filter: {
|
|
913
|
+
randomSeed: number;
|
|
914
|
+
};
|
|
915
|
+
} | {
|
|
916
|
+
type: 'fibers';
|
|
917
|
+
filter: {
|
|
918
|
+
variance: number;
|
|
919
|
+
strength: number;
|
|
920
|
+
randomSeed: number;
|
|
921
|
+
};
|
|
922
|
+
} | {
|
|
923
|
+
type: 'lens flare';
|
|
924
|
+
filter: {
|
|
925
|
+
brightness: number;
|
|
926
|
+
position: {
|
|
927
|
+
x: number;
|
|
928
|
+
y: number;
|
|
929
|
+
};
|
|
930
|
+
lensType: '50-300mm zoom' | '32mm prime' | '105mm prime' | 'movie prime';
|
|
931
|
+
};
|
|
932
|
+
} | {
|
|
933
|
+
type: 'sharpen' | 'sharpen edges' | 'sharpen more';
|
|
934
|
+
} | {
|
|
935
|
+
type: 'smart sharpen';
|
|
936
|
+
filter: {
|
|
937
|
+
amount: number;
|
|
938
|
+
radius: UnitsValue;
|
|
939
|
+
threshold: number;
|
|
940
|
+
angle: number;
|
|
941
|
+
moreAccurate: boolean;
|
|
942
|
+
blur: 'gaussian blur' | 'lens blur' | 'motion blur';
|
|
943
|
+
preset: string;
|
|
944
|
+
shadow: {
|
|
945
|
+
fadeAmount: number;
|
|
946
|
+
tonalWidth: number;
|
|
947
|
+
radius: number;
|
|
948
|
+
};
|
|
949
|
+
highlight: {
|
|
950
|
+
fadeAmount: number;
|
|
951
|
+
tonalWidth: number;
|
|
952
|
+
radius: number;
|
|
953
|
+
};
|
|
954
|
+
};
|
|
955
|
+
} | {
|
|
956
|
+
type: 'unsharp mask';
|
|
957
|
+
filter: {
|
|
958
|
+
amount: number;
|
|
959
|
+
radius: UnitsValue;
|
|
960
|
+
threshold: number;
|
|
961
|
+
};
|
|
962
|
+
} | {
|
|
963
|
+
type: 'diffuse';
|
|
964
|
+
filter: {
|
|
965
|
+
mode: 'normal' | 'darken only' | 'lighten only' | 'anisotropic';
|
|
966
|
+
randomSeed: number;
|
|
967
|
+
};
|
|
968
|
+
} | {
|
|
969
|
+
type: 'emboss';
|
|
970
|
+
filter: {
|
|
971
|
+
angle: number;
|
|
972
|
+
height: number;
|
|
973
|
+
amount: number;
|
|
974
|
+
};
|
|
975
|
+
} | {
|
|
976
|
+
type: 'extrude';
|
|
977
|
+
filter: {
|
|
978
|
+
type: 'blocks' | 'pyramids';
|
|
979
|
+
size: number;
|
|
980
|
+
depth: number;
|
|
981
|
+
depthMode: 'random' | 'level-based';
|
|
982
|
+
randomSeed: number;
|
|
983
|
+
solidFrontFaces: boolean;
|
|
984
|
+
maskIncompleteBlocks: boolean;
|
|
985
|
+
};
|
|
986
|
+
} | {
|
|
987
|
+
type: 'find edges' | 'solarize';
|
|
988
|
+
} | {
|
|
989
|
+
type: 'tiles';
|
|
990
|
+
filter: {
|
|
991
|
+
numberOfTiles: number;
|
|
992
|
+
maximumOffset: number;
|
|
993
|
+
fillEmptyAreaWith: 'background color' | 'foreground color' | 'inverse image' | 'unaltered image';
|
|
994
|
+
randomSeed: number;
|
|
995
|
+
};
|
|
996
|
+
} | {
|
|
997
|
+
type: 'trace contour';
|
|
998
|
+
filter: {
|
|
999
|
+
level: number;
|
|
1000
|
+
edge: 'lower' | 'upper';
|
|
1001
|
+
};
|
|
1002
|
+
} | {
|
|
1003
|
+
type: 'wind';
|
|
1004
|
+
filter: {
|
|
1005
|
+
method: 'wind' | 'blast' | 'stagger';
|
|
1006
|
+
direction: 'left' | 'right';
|
|
1007
|
+
};
|
|
1008
|
+
} | {
|
|
1009
|
+
type: 'de-interlace';
|
|
1010
|
+
filter: {
|
|
1011
|
+
eliminate: 'odd lines' | 'even lines';
|
|
1012
|
+
newFieldsBy: 'duplication' | 'interpolation';
|
|
1013
|
+
};
|
|
1014
|
+
} | {
|
|
1015
|
+
type: 'ntsc colors';
|
|
1016
|
+
} | {
|
|
1017
|
+
type: 'custom';
|
|
1018
|
+
filter: {
|
|
1019
|
+
scale: number;
|
|
1020
|
+
offset: number;
|
|
1021
|
+
matrix: number[];
|
|
1022
|
+
};
|
|
1023
|
+
} | {
|
|
1024
|
+
type: 'high pass' | 'maximum' | 'minimum';
|
|
1025
|
+
filter: {
|
|
1026
|
+
radius: UnitsValue;
|
|
1027
|
+
};
|
|
1028
|
+
} | {
|
|
1029
|
+
type: 'offset';
|
|
1030
|
+
filter: {
|
|
1031
|
+
horizontal: number;
|
|
1032
|
+
vertical: number;
|
|
1033
|
+
undefinedAreas: 'set to transparent' | 'repeat edge pixels' | 'wrap around';
|
|
1034
|
+
};
|
|
1035
|
+
} | {
|
|
1036
|
+
type: 'puppet';
|
|
1037
|
+
filter: {
|
|
1038
|
+
rigidType: boolean;
|
|
1039
|
+
bounds: {
|
|
1040
|
+
x: number;
|
|
1041
|
+
y: number;
|
|
1042
|
+
}[];
|
|
1043
|
+
puppetShapeList: {
|
|
1044
|
+
rigidType: boolean;
|
|
1045
|
+
originalVertexArray: {
|
|
1046
|
+
x: number;
|
|
1047
|
+
y: number;
|
|
1048
|
+
}[];
|
|
1049
|
+
deformedVertexArray: {
|
|
1050
|
+
x: number;
|
|
1051
|
+
y: number;
|
|
1052
|
+
}[];
|
|
1053
|
+
indexArray: number[];
|
|
1054
|
+
pinOffsets: {
|
|
1055
|
+
x: number;
|
|
1056
|
+
y: number;
|
|
1057
|
+
}[];
|
|
1058
|
+
posFinalPins: {
|
|
1059
|
+
x: number;
|
|
1060
|
+
y: number;
|
|
1061
|
+
}[];
|
|
1062
|
+
pinVertexIndices: number[];
|
|
1063
|
+
selectedPin: number[];
|
|
1064
|
+
pinPosition: {
|
|
1065
|
+
x: number;
|
|
1066
|
+
y: number;
|
|
1067
|
+
}[];
|
|
1068
|
+
pinRotation: number[];
|
|
1069
|
+
pinOverlay: boolean[];
|
|
1070
|
+
pinDepth: number[];
|
|
1071
|
+
meshQuality: number;
|
|
1072
|
+
meshExpansion: number;
|
|
1073
|
+
meshRigidity: number;
|
|
1074
|
+
imageResolution: number;
|
|
1075
|
+
meshBoundaryPath: {
|
|
1076
|
+
pathComponents: {
|
|
1077
|
+
shapeOperation: string;
|
|
1078
|
+
paths: {
|
|
1079
|
+
closed: boolean;
|
|
1080
|
+
points: {
|
|
1081
|
+
anchor: {
|
|
1082
|
+
x: UnitsValue;
|
|
1083
|
+
y: UnitsValue;
|
|
1084
|
+
};
|
|
1085
|
+
forward: {
|
|
1086
|
+
x: UnitsValue;
|
|
1087
|
+
y: UnitsValue;
|
|
1088
|
+
};
|
|
1089
|
+
backward: {
|
|
1090
|
+
x: UnitsValue;
|
|
1091
|
+
y: UnitsValue;
|
|
1092
|
+
};
|
|
1093
|
+
smooth: boolean;
|
|
1094
|
+
}[];
|
|
1095
|
+
}[];
|
|
1096
|
+
}[];
|
|
1097
|
+
};
|
|
1098
|
+
}[];
|
|
1099
|
+
};
|
|
1100
|
+
} | {
|
|
1101
|
+
type: 'oil paint plugin';
|
|
1102
|
+
filter: {
|
|
1103
|
+
name: string;
|
|
1104
|
+
gpu: boolean;
|
|
1105
|
+
lighting: boolean;
|
|
1106
|
+
parameters: {
|
|
1107
|
+
name: string;
|
|
1108
|
+
value: number;
|
|
1109
|
+
}[];
|
|
1110
|
+
};
|
|
1111
|
+
} | {
|
|
1112
|
+
type: 'hsb/hsl';
|
|
1113
|
+
filter: {
|
|
1114
|
+
inputMode: 'rgb' | 'hsb' | 'hsl';
|
|
1115
|
+
rowOrder: 'rgb' | 'hsb' | 'hsl';
|
|
1116
|
+
};
|
|
1117
|
+
} | {
|
|
1118
|
+
type: 'oil paint';
|
|
1119
|
+
filter: {
|
|
1120
|
+
lightingOn: boolean;
|
|
1121
|
+
stylization: number;
|
|
1122
|
+
cleanliness: number;
|
|
1123
|
+
brushScale: number;
|
|
1124
|
+
microBrush: number;
|
|
1125
|
+
lightDirection: number;
|
|
1126
|
+
specularity: number;
|
|
1127
|
+
};
|
|
1128
|
+
} | {
|
|
1129
|
+
type: 'liquify';
|
|
1130
|
+
filter: {
|
|
1131
|
+
liquifyMesh: Uint8Array;
|
|
1132
|
+
};
|
|
1133
|
+
} | {
|
|
1134
|
+
type: 'perspective warp';
|
|
1135
|
+
filter: {
|
|
1136
|
+
quads: number[][];
|
|
1137
|
+
vertices: {
|
|
1138
|
+
x: UnitsValue;
|
|
1139
|
+
y: UnitsValue;
|
|
1140
|
+
}[];
|
|
1141
|
+
warpedVertices: {
|
|
1142
|
+
x: UnitsValue;
|
|
1143
|
+
y: UnitsValue;
|
|
1144
|
+
}[];
|
|
1145
|
+
};
|
|
1146
|
+
} | {
|
|
1147
|
+
type: 'curves';
|
|
1148
|
+
filter: {
|
|
1149
|
+
presetKind: 'custom' | 'default';
|
|
1150
|
+
adjustments?: ({
|
|
1151
|
+
channels: ('composite' | 'red' | 'green' | 'blue')[];
|
|
1152
|
+
curve: {
|
|
1153
|
+
x: number;
|
|
1154
|
+
y: number;
|
|
1155
|
+
curved?: boolean;
|
|
1156
|
+
}[];
|
|
1157
|
+
} | {
|
|
1158
|
+
channels: ('composite' | 'red' | 'green' | 'blue')[];
|
|
1159
|
+
values: number[];
|
|
1160
|
+
})[];
|
|
1161
|
+
};
|
|
1162
|
+
} | {
|
|
1163
|
+
type: 'invert';
|
|
1164
|
+
} | {
|
|
1165
|
+
type: 'brightness/contrast';
|
|
1166
|
+
filter: {
|
|
1167
|
+
brightness: number;
|
|
1168
|
+
contrast: number;
|
|
1169
|
+
useLegacy: boolean;
|
|
1170
|
+
};
|
|
1171
|
+
};
|
|
1172
|
+
export type Filter = FilterVariant & {
|
|
1173
|
+
name: string;
|
|
1174
|
+
opacity: number;
|
|
1175
|
+
blendMode: BlendMode;
|
|
1176
|
+
enabled: boolean;
|
|
1177
|
+
hasOptions: boolean;
|
|
1178
|
+
foregroundColor: Color;
|
|
1179
|
+
backgroundColor: Color;
|
|
1180
|
+
};
|
|
1181
|
+
export interface PlacedLayerFilter {
|
|
1182
|
+
enabled: boolean;
|
|
1183
|
+
validAtPosition: boolean;
|
|
1184
|
+
maskEnabled: boolean;
|
|
1185
|
+
maskLinked: boolean;
|
|
1186
|
+
maskExtendWithWhite: boolean;
|
|
1187
|
+
list: Filter[];
|
|
1188
|
+
}
|
|
1189
|
+
export type PlacedLayerType = 'unknown' | 'vector' | 'raster' | 'image stack';
|
|
1190
|
+
export interface PlacedLayer {
|
|
1191
|
+
id: string;
|
|
1192
|
+
placed?: string;
|
|
1193
|
+
type: PlacedLayerType;
|
|
1194
|
+
pageNumber?: number;
|
|
1195
|
+
totalPages?: number;
|
|
1196
|
+
frameStep?: {
|
|
1197
|
+
numerator: number;
|
|
1198
|
+
denominator: number;
|
|
1199
|
+
};
|
|
1200
|
+
duration?: {
|
|
1201
|
+
numerator: number;
|
|
1202
|
+
denominator: number;
|
|
1203
|
+
};
|
|
1204
|
+
frameCount?: number;
|
|
1205
|
+
transform: number[];
|
|
1206
|
+
nonAffineTransform?: number[];
|
|
1207
|
+
width?: number;
|
|
1208
|
+
height?: number;
|
|
1209
|
+
resolution?: UnitsValue;
|
|
1210
|
+
warp?: Warp;
|
|
1211
|
+
crop?: number;
|
|
1212
|
+
comp?: number;
|
|
1213
|
+
compInfo?: {
|
|
1214
|
+
compID: number;
|
|
1215
|
+
originalCompID: number;
|
|
1216
|
+
};
|
|
1217
|
+
filter?: PlacedLayerFilter;
|
|
1218
|
+
}
|
|
1219
|
+
export type AdjustmentLayer = BrightnessAdjustment | LevelsAdjustment | CurvesAdjustment | ExposureAdjustment | VibranceAdjustment | HueSaturationAdjustment | ColorBalanceAdjustment | BlackAndWhiteAdjustment | PhotoFilterAdjustment | ChannelMixerAdjustment | ColorLookupAdjustment | InvertAdjustment | PosterizeAdjustment | ThresholdAdjustment | GradientMapAdjustment | SelectiveColorAdjustment;
|
|
1220
|
+
export type LayerColor = 'none' | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'violet' | 'gray';
|
|
1221
|
+
export interface KeyDescriptorItem {
|
|
1222
|
+
keyShapeInvalidated?: boolean;
|
|
1223
|
+
keyOriginType?: number;
|
|
1224
|
+
keyOriginResolution?: number;
|
|
1225
|
+
keyOriginRRectRadii?: {
|
|
1226
|
+
topRight: UnitsValue;
|
|
1227
|
+
topLeft: UnitsValue;
|
|
1228
|
+
bottomLeft: UnitsValue;
|
|
1229
|
+
bottomRight: UnitsValue;
|
|
1230
|
+
};
|
|
1231
|
+
keyOriginShapeBoundingBox?: {
|
|
1232
|
+
top: UnitsValue;
|
|
1233
|
+
left: UnitsValue;
|
|
1234
|
+
bottom: UnitsValue;
|
|
1235
|
+
right: UnitsValue;
|
|
1236
|
+
};
|
|
1237
|
+
keyOriginBoxCorners?: {
|
|
1238
|
+
x: number;
|
|
1239
|
+
y: number;
|
|
1240
|
+
}[];
|
|
1241
|
+
transform?: number[];
|
|
1242
|
+
}
|
|
1243
|
+
export interface LayerVectorMask {
|
|
1244
|
+
invert?: boolean;
|
|
1245
|
+
notLink?: boolean;
|
|
1246
|
+
disable?: boolean;
|
|
1247
|
+
fillStartsWithAllPixels?: boolean;
|
|
1248
|
+
clipboard?: {
|
|
1249
|
+
top: number;
|
|
1250
|
+
left: number;
|
|
1251
|
+
bottom: number;
|
|
1252
|
+
right: number;
|
|
1253
|
+
resolution: number;
|
|
1254
|
+
};
|
|
1255
|
+
paths: BezierPath[];
|
|
1256
|
+
}
|
|
1257
|
+
export interface AnimationFrame {
|
|
1258
|
+
frames: number[];
|
|
1259
|
+
enable?: boolean;
|
|
1260
|
+
offset?: {
|
|
1261
|
+
x: number;
|
|
1262
|
+
y: number;
|
|
1263
|
+
};
|
|
1264
|
+
referencePoint?: {
|
|
1265
|
+
x: number;
|
|
1266
|
+
y: number;
|
|
1267
|
+
};
|
|
1268
|
+
opacity?: number;
|
|
1269
|
+
effects?: LayerEffectsInfo;
|
|
1270
|
+
}
|
|
1271
|
+
export interface Fraction {
|
|
1272
|
+
numerator: number;
|
|
1273
|
+
denominator: number;
|
|
1274
|
+
}
|
|
1275
|
+
export type TimelineKeyInterpolation = 'linear' | 'hold';
|
|
1276
|
+
export type TimelineKey = {
|
|
1277
|
+
interpolation: TimelineKeyInterpolation;
|
|
1278
|
+
time: Fraction;
|
|
1279
|
+
selected?: boolean;
|
|
1280
|
+
} & ({
|
|
1281
|
+
type: 'opacity';
|
|
1282
|
+
value: number;
|
|
1283
|
+
} | {
|
|
1284
|
+
type: 'position';
|
|
1285
|
+
x: number;
|
|
1286
|
+
y: number;
|
|
1287
|
+
} | {
|
|
1288
|
+
type: 'transform';
|
|
1289
|
+
scale: {
|
|
1290
|
+
x: number;
|
|
1291
|
+
y: number;
|
|
1292
|
+
};
|
|
1293
|
+
skew: {
|
|
1294
|
+
x: number;
|
|
1295
|
+
y: number;
|
|
1296
|
+
};
|
|
1297
|
+
rotation: number;
|
|
1298
|
+
translation: {
|
|
1299
|
+
x: number;
|
|
1300
|
+
y: number;
|
|
1301
|
+
};
|
|
1302
|
+
} | {
|
|
1303
|
+
type: 'style';
|
|
1304
|
+
style?: LayerEffectsInfo;
|
|
1305
|
+
} | {
|
|
1306
|
+
type: 'globalLighting';
|
|
1307
|
+
globalAngle: number;
|
|
1308
|
+
globalAltitude: number;
|
|
1309
|
+
});
|
|
1310
|
+
export type TimelineTrackType = 'opacity' | 'style' | 'sheetTransform' | 'sheetPosition' | 'globalLighting';
|
|
1311
|
+
export interface TimelineTrack {
|
|
1312
|
+
type: TimelineTrackType;
|
|
1313
|
+
enabled?: boolean;
|
|
1314
|
+
effectParams?: {
|
|
1315
|
+
keys: TimelineKey[];
|
|
1316
|
+
fillCanvas: boolean;
|
|
1317
|
+
zoomOrigin: number;
|
|
1318
|
+
};
|
|
1319
|
+
keys: TimelineKey[];
|
|
1320
|
+
}
|
|
1321
|
+
export interface Timeline {
|
|
1322
|
+
start: Fraction;
|
|
1323
|
+
duration: Fraction;
|
|
1324
|
+
inTime: Fraction;
|
|
1325
|
+
outTime: Fraction;
|
|
1326
|
+
autoScope: boolean;
|
|
1327
|
+
audioLevel: number;
|
|
1328
|
+
tracks?: TimelineTrack[];
|
|
1329
|
+
}
|
|
1330
|
+
export interface LayerAdditionalInfo {
|
|
1331
|
+
name?: string;
|
|
1332
|
+
nameSource?: string;
|
|
1333
|
+
id?: number;
|
|
1334
|
+
version?: number;
|
|
1335
|
+
mask?: LayerMaskData;
|
|
1336
|
+
realMask?: LayerMaskData;
|
|
1337
|
+
blendClippendElements?: boolean;
|
|
1338
|
+
blendInteriorElements?: boolean;
|
|
1339
|
+
knockout?: boolean;
|
|
1340
|
+
layerMaskAsGlobalMask?: boolean;
|
|
1341
|
+
protected?: {
|
|
1342
|
+
transparency?: boolean;
|
|
1343
|
+
composite?: boolean;
|
|
1344
|
+
position?: boolean;
|
|
1345
|
+
artboards?: boolean;
|
|
1346
|
+
};
|
|
1347
|
+
layerColor?: LayerColor;
|
|
1348
|
+
referencePoint?: {
|
|
1349
|
+
x: number;
|
|
1350
|
+
y: number;
|
|
1351
|
+
};
|
|
1352
|
+
sectionDivider?: {
|
|
1353
|
+
type: SectionDividerType;
|
|
1354
|
+
key?: string;
|
|
1355
|
+
subType?: number;
|
|
1356
|
+
};
|
|
1357
|
+
filterMask?: {
|
|
1358
|
+
colorSpace: Color;
|
|
1359
|
+
opacity: number;
|
|
1360
|
+
};
|
|
1361
|
+
effects?: LayerEffectsInfo;
|
|
1362
|
+
text?: LayerTextData;
|
|
1363
|
+
patterns?: PatternInfo[];
|
|
1364
|
+
vectorFill?: VectorContent;
|
|
1365
|
+
vectorStroke?: {
|
|
1366
|
+
strokeEnabled?: boolean;
|
|
1367
|
+
fillEnabled?: boolean;
|
|
1368
|
+
lineWidth?: UnitsValue;
|
|
1369
|
+
lineDashOffset?: UnitsValue;
|
|
1370
|
+
miterLimit?: number;
|
|
1371
|
+
lineCapType?: LineCapType;
|
|
1372
|
+
lineJoinType?: LineJoinType;
|
|
1373
|
+
lineAlignment?: LineAlignment;
|
|
1374
|
+
scaleLock?: boolean;
|
|
1375
|
+
strokeAdjust?: boolean;
|
|
1376
|
+
lineDashSet?: UnitsValue[];
|
|
1377
|
+
blendMode?: BlendMode;
|
|
1378
|
+
opacity?: number;
|
|
1379
|
+
content?: VectorContent;
|
|
1380
|
+
resolution?: number;
|
|
1381
|
+
};
|
|
1382
|
+
vectorMask?: LayerVectorMask;
|
|
1383
|
+
usingAlignedRendering?: boolean;
|
|
1384
|
+
timestamp?: number;
|
|
1385
|
+
pathList?: {}[];
|
|
1386
|
+
adjustment?: AdjustmentLayer;
|
|
1387
|
+
placedLayer?: PlacedLayer;
|
|
1388
|
+
vectorOrigination?: {
|
|
1389
|
+
keyDescriptorList: KeyDescriptorItem[];
|
|
1390
|
+
};
|
|
1391
|
+
compositorUsed?: {
|
|
1392
|
+
version?: {
|
|
1393
|
+
major: number;
|
|
1394
|
+
minor: number;
|
|
1395
|
+
fix: number;
|
|
1396
|
+
};
|
|
1397
|
+
photoshopVersion?: {
|
|
1398
|
+
major: number;
|
|
1399
|
+
minor: number;
|
|
1400
|
+
fix: number;
|
|
1401
|
+
};
|
|
1402
|
+
description: string;
|
|
1403
|
+
reason: string;
|
|
1404
|
+
engine: string;
|
|
1405
|
+
enableCompCore?: string;
|
|
1406
|
+
enableCompCoreGPU?: string;
|
|
1407
|
+
enableCompCoreThreads?: string;
|
|
1408
|
+
compCoreSupport?: string;
|
|
1409
|
+
compCoreGPUSupport?: string;
|
|
1410
|
+
};
|
|
1411
|
+
artboard?: {
|
|
1412
|
+
rect: {
|
|
1413
|
+
top: number;
|
|
1414
|
+
left: number;
|
|
1415
|
+
bottom: number;
|
|
1416
|
+
right: number;
|
|
1417
|
+
};
|
|
1418
|
+
guideIndices?: any[];
|
|
1419
|
+
presetName?: string;
|
|
1420
|
+
color?: Color;
|
|
1421
|
+
backgroundType?: number;
|
|
1422
|
+
};
|
|
1423
|
+
fillOpacity?: number;
|
|
1424
|
+
transparencyShapesLayer?: boolean;
|
|
1425
|
+
channelBlendingRestrictions?: number[];
|
|
1426
|
+
animationFrames?: AnimationFrame[];
|
|
1427
|
+
animationFrameFlags?: {
|
|
1428
|
+
propagateFrameOne?: boolean;
|
|
1429
|
+
unifyLayerPosition?: boolean;
|
|
1430
|
+
unifyLayerStyle?: boolean;
|
|
1431
|
+
unifyLayerVisibility?: boolean;
|
|
1432
|
+
};
|
|
1433
|
+
timeline?: Timeline;
|
|
1434
|
+
filterEffectsMasks?: {
|
|
1435
|
+
id: string;
|
|
1436
|
+
top: number;
|
|
1437
|
+
left: number;
|
|
1438
|
+
bottom: number;
|
|
1439
|
+
right: number;
|
|
1440
|
+
depth: number;
|
|
1441
|
+
channels: ({
|
|
1442
|
+
compressionMode: number;
|
|
1443
|
+
data: Uint8Array;
|
|
1444
|
+
} | undefined)[];
|
|
1445
|
+
extra?: {
|
|
1446
|
+
top: number;
|
|
1447
|
+
left: number;
|
|
1448
|
+
bottom: number;
|
|
1449
|
+
right: number;
|
|
1450
|
+
compressionMode: number;
|
|
1451
|
+
data: Uint8Array;
|
|
1452
|
+
};
|
|
1453
|
+
}[];
|
|
1454
|
+
comps?: {
|
|
1455
|
+
originalEffectsReferencePoint?: {
|
|
1456
|
+
x: number;
|
|
1457
|
+
y: number;
|
|
1458
|
+
};
|
|
1459
|
+
settings: {
|
|
1460
|
+
enabled?: boolean;
|
|
1461
|
+
compList: number[];
|
|
1462
|
+
offset?: {
|
|
1463
|
+
x: number;
|
|
1464
|
+
y: number;
|
|
1465
|
+
};
|
|
1466
|
+
effectsReferencePoint?: {
|
|
1467
|
+
x: number;
|
|
1468
|
+
y: number;
|
|
1469
|
+
};
|
|
1470
|
+
}[];
|
|
1471
|
+
};
|
|
1472
|
+
userMask?: {
|
|
1473
|
+
colorSpace: Color;
|
|
1474
|
+
opacity: number;
|
|
1475
|
+
};
|
|
1476
|
+
blendingRanges?: {
|
|
1477
|
+
compositeGrayBlendSource: number[];
|
|
1478
|
+
compositeGraphBlendDestinationRange: number[];
|
|
1479
|
+
ranges: {
|
|
1480
|
+
sourceRange: number[];
|
|
1481
|
+
destRange: number[];
|
|
1482
|
+
}[];
|
|
1483
|
+
};
|
|
1484
|
+
vowv?: number;
|
|
1485
|
+
engineData?: string;
|
|
1486
|
+
}
|
|
1487
|
+
export declare enum LayerCompCapturedInfo {
|
|
1488
|
+
None = 0,
|
|
1489
|
+
Visibility = 1,
|
|
1490
|
+
Position = 2,
|
|
1491
|
+
Appearance = 4
|
|
1492
|
+
}
|
|
1493
|
+
export interface ImageResources {
|
|
1494
|
+
layerState?: number;
|
|
1495
|
+
layerSelectionIds?: number[];
|
|
1496
|
+
versionInfo?: {
|
|
1497
|
+
hasRealMergedData: boolean;
|
|
1498
|
+
writerName: string;
|
|
1499
|
+
readerName: string;
|
|
1500
|
+
fileVersion: number;
|
|
1501
|
+
};
|
|
1502
|
+
alphaIdentifiers?: number[];
|
|
1503
|
+
alphaChannelNames?: string[];
|
|
1504
|
+
globalAngle?: number;
|
|
1505
|
+
globalAltitude?: number;
|
|
1506
|
+
pixelAspectRatio?: {
|
|
1507
|
+
aspect: number;
|
|
1508
|
+
};
|
|
1509
|
+
urlsList?: {
|
|
1510
|
+
id: number;
|
|
1511
|
+
ref: 'slice';
|
|
1512
|
+
url: string;
|
|
1513
|
+
}[];
|
|
1514
|
+
gridAndGuidesInformation?: {
|
|
1515
|
+
grid?: {
|
|
1516
|
+
horizontal: number;
|
|
1517
|
+
vertical: number;
|
|
1518
|
+
};
|
|
1519
|
+
guides?: {
|
|
1520
|
+
location: number;
|
|
1521
|
+
direction: 'horizontal' | 'vertical';
|
|
1522
|
+
}[];
|
|
1523
|
+
};
|
|
1524
|
+
resolutionInfo?: {
|
|
1525
|
+
horizontalResolution: number;
|
|
1526
|
+
horizontalResolutionUnit: 'PPI' | 'PPCM';
|
|
1527
|
+
widthUnit: 'Inches' | 'Centimeters' | 'Points' | 'Picas' | 'Columns';
|
|
1528
|
+
verticalResolution: number;
|
|
1529
|
+
verticalResolutionUnit: 'PPI' | 'PPCM';
|
|
1530
|
+
heightUnit: 'Inches' | 'Centimeters' | 'Points' | 'Picas' | 'Columns';
|
|
1531
|
+
};
|
|
1532
|
+
thumbnail?: HTMLCanvasElement;
|
|
1533
|
+
thumbnailRaw?: {
|
|
1534
|
+
width: number;
|
|
1535
|
+
height: number;
|
|
1536
|
+
data: Uint8Array;
|
|
1537
|
+
};
|
|
1538
|
+
captionDigest?: string;
|
|
1539
|
+
xmpMetadata?: string;
|
|
1540
|
+
printScale?: {
|
|
1541
|
+
style?: 'centered' | 'size to fit' | 'user defined';
|
|
1542
|
+
x?: number;
|
|
1543
|
+
y?: number;
|
|
1544
|
+
scale?: number;
|
|
1545
|
+
};
|
|
1546
|
+
printInformation?: {
|
|
1547
|
+
printerManagesColors?: boolean;
|
|
1548
|
+
printerName?: string;
|
|
1549
|
+
printerProfile?: string;
|
|
1550
|
+
printSixteenBit?: boolean;
|
|
1551
|
+
renderingIntent?: RenderingIntent;
|
|
1552
|
+
hardProof?: boolean;
|
|
1553
|
+
blackPointCompensation?: boolean;
|
|
1554
|
+
proofSetup?: {
|
|
1555
|
+
builtin: string;
|
|
1556
|
+
} | {
|
|
1557
|
+
profile: string;
|
|
1558
|
+
renderingIntent?: RenderingIntent;
|
|
1559
|
+
blackPointCompensation?: boolean;
|
|
1560
|
+
paperWhite?: boolean;
|
|
1561
|
+
};
|
|
1562
|
+
};
|
|
1563
|
+
backgroundColor?: Color;
|
|
1564
|
+
idsSeedNumber?: number;
|
|
1565
|
+
printFlags?: {
|
|
1566
|
+
labels?: boolean;
|
|
1567
|
+
cropMarks?: boolean;
|
|
1568
|
+
colorBars?: boolean;
|
|
1569
|
+
registrationMarks?: boolean;
|
|
1570
|
+
negative?: boolean;
|
|
1571
|
+
flip?: boolean;
|
|
1572
|
+
interpolate?: boolean;
|
|
1573
|
+
caption?: boolean;
|
|
1574
|
+
printFlags?: boolean;
|
|
1575
|
+
};
|
|
1576
|
+
iccUntaggedProfile?: boolean;
|
|
1577
|
+
pathSelectionState?: string[];
|
|
1578
|
+
imageReadyVariables?: string;
|
|
1579
|
+
imageReadyDataSets?: string;
|
|
1580
|
+
animations?: Animations;
|
|
1581
|
+
onionSkins?: {
|
|
1582
|
+
enabled: boolean;
|
|
1583
|
+
framesBefore: number;
|
|
1584
|
+
framesAfter: number;
|
|
1585
|
+
frameSpacing: number;
|
|
1586
|
+
minOpacity: number;
|
|
1587
|
+
maxOpacity: number;
|
|
1588
|
+
blendMode: BlendMode;
|
|
1589
|
+
};
|
|
1590
|
+
timelineInformation?: {
|
|
1591
|
+
enabled: boolean;
|
|
1592
|
+
frameStep: Fraction;
|
|
1593
|
+
frameRate: number;
|
|
1594
|
+
time: Fraction;
|
|
1595
|
+
duration: Fraction;
|
|
1596
|
+
workInTime: Fraction;
|
|
1597
|
+
workOutTime: Fraction;
|
|
1598
|
+
repeats: number;
|
|
1599
|
+
hasMotion: boolean;
|
|
1600
|
+
globalTracks: TimelineTrack[];
|
|
1601
|
+
audioClipGroups?: {
|
|
1602
|
+
id: string;
|
|
1603
|
+
muted: boolean;
|
|
1604
|
+
audioClips: {
|
|
1605
|
+
id: string;
|
|
1606
|
+
start: Fraction;
|
|
1607
|
+
duration: Fraction;
|
|
1608
|
+
inTime: Fraction;
|
|
1609
|
+
outTime: Fraction;
|
|
1610
|
+
muted: boolean;
|
|
1611
|
+
audioLevel: number;
|
|
1612
|
+
frameReader: {
|
|
1613
|
+
type: number;
|
|
1614
|
+
mediaDescriptor: string;
|
|
1615
|
+
link: {
|
|
1616
|
+
name: string;
|
|
1617
|
+
fullPath: string;
|
|
1618
|
+
relativePath: string;
|
|
1619
|
+
};
|
|
1620
|
+
};
|
|
1621
|
+
}[];
|
|
1622
|
+
}[];
|
|
1623
|
+
};
|
|
1624
|
+
sheetDisclosure?: {
|
|
1625
|
+
sheetTimelineOptions?: {
|
|
1626
|
+
sheetID: number;
|
|
1627
|
+
sheetDisclosed: boolean;
|
|
1628
|
+
lightsDisclosed: boolean;
|
|
1629
|
+
meshesDisclosed: boolean;
|
|
1630
|
+
materialsDisclosed: boolean;
|
|
1631
|
+
}[];
|
|
1632
|
+
};
|
|
1633
|
+
countInformation?: {
|
|
1634
|
+
color: RGB;
|
|
1635
|
+
name: string;
|
|
1636
|
+
size: number;
|
|
1637
|
+
fontSize: number;
|
|
1638
|
+
visible: boolean;
|
|
1639
|
+
points: {
|
|
1640
|
+
x: number;
|
|
1641
|
+
y: number;
|
|
1642
|
+
}[];
|
|
1643
|
+
}[];
|
|
1644
|
+
slices?: {
|
|
1645
|
+
bounds: {
|
|
1646
|
+
left: number;
|
|
1647
|
+
top: number;
|
|
1648
|
+
right: number;
|
|
1649
|
+
bottom: number;
|
|
1650
|
+
};
|
|
1651
|
+
groupName: string;
|
|
1652
|
+
slices: {
|
|
1653
|
+
id: number;
|
|
1654
|
+
groupId: number;
|
|
1655
|
+
origin: 'userGenerated' | 'autoGenerated' | 'layer';
|
|
1656
|
+
associatedLayerId: number;
|
|
1657
|
+
name?: string;
|
|
1658
|
+
type: 'image' | 'noImage';
|
|
1659
|
+
bounds: {
|
|
1660
|
+
left: number;
|
|
1661
|
+
top: number;
|
|
1662
|
+
right: number;
|
|
1663
|
+
bottom: number;
|
|
1664
|
+
};
|
|
1665
|
+
url: string;
|
|
1666
|
+
target: string;
|
|
1667
|
+
message: string;
|
|
1668
|
+
altTag: string;
|
|
1669
|
+
cellTextIsHTML: boolean;
|
|
1670
|
+
cellText: string;
|
|
1671
|
+
horizontalAlignment: 'default';
|
|
1672
|
+
verticalAlignment: 'default';
|
|
1673
|
+
backgroundColorType: 'none' | 'matte' | 'color';
|
|
1674
|
+
backgroundColor: RGBA;
|
|
1675
|
+
topOutset?: number;
|
|
1676
|
+
leftOutset?: number;
|
|
1677
|
+
bottomOutset?: number;
|
|
1678
|
+
rightOutset?: number;
|
|
1679
|
+
}[];
|
|
1680
|
+
}[];
|
|
1681
|
+
layerComps?: {
|
|
1682
|
+
list: {
|
|
1683
|
+
id: number;
|
|
1684
|
+
name: string;
|
|
1685
|
+
comment?: string;
|
|
1686
|
+
capturedInfo: LayerCompCapturedInfo;
|
|
1687
|
+
}[];
|
|
1688
|
+
lastApplied?: number;
|
|
1689
|
+
};
|
|
1690
|
+
copyrighted?: boolean;
|
|
1691
|
+
url?: string;
|
|
1692
|
+
}
|
|
1693
|
+
export interface GlobalLayerMaskInfo {
|
|
1694
|
+
overlayColorSpace: number;
|
|
1695
|
+
colorSpace1: number;
|
|
1696
|
+
colorSpace2: number;
|
|
1697
|
+
colorSpace3: number;
|
|
1698
|
+
colorSpace4: number;
|
|
1699
|
+
opacity: number;
|
|
1700
|
+
kind: number;
|
|
1701
|
+
}
|
|
1702
|
+
export interface Annotation {
|
|
1703
|
+
type: 'text' | 'sound';
|
|
1704
|
+
open: boolean;
|
|
1705
|
+
iconLocation: {
|
|
1706
|
+
left: number;
|
|
1707
|
+
top: number;
|
|
1708
|
+
right: number;
|
|
1709
|
+
bottom: number;
|
|
1710
|
+
};
|
|
1711
|
+
popupLocation: {
|
|
1712
|
+
left: number;
|
|
1713
|
+
top: number;
|
|
1714
|
+
right: number;
|
|
1715
|
+
bottom: number;
|
|
1716
|
+
};
|
|
1717
|
+
color: Color;
|
|
1718
|
+
author: string;
|
|
1719
|
+
name: string;
|
|
1720
|
+
date: string;
|
|
1721
|
+
data: string | Uint8Array;
|
|
1722
|
+
}
|
|
1723
|
+
export interface Layer extends LayerAdditionalInfo {
|
|
1724
|
+
top?: number;
|
|
1725
|
+
left?: number;
|
|
1726
|
+
bottom?: number;
|
|
1727
|
+
right?: number;
|
|
1728
|
+
blendMode?: BlendMode;
|
|
1729
|
+
opacity?: number;
|
|
1730
|
+
transparencyProtected?: boolean;
|
|
1731
|
+
effectsOpen?: boolean;
|
|
1732
|
+
hidden?: boolean;
|
|
1733
|
+
clipping?: boolean;
|
|
1734
|
+
canvas?: HTMLCanvasElement;
|
|
1735
|
+
imageData?: PixelData;
|
|
1736
|
+
children?: Layer[];
|
|
1737
|
+
/** Applies only for layer groups. */
|
|
1738
|
+
opened?: boolean;
|
|
1739
|
+
linkGroup?: number;
|
|
1740
|
+
linkGroupEnabled?: boolean;
|
|
1741
|
+
}
|
|
1742
|
+
export interface Psd extends LayerAdditionalInfo {
|
|
1743
|
+
width: number;
|
|
1744
|
+
height: number;
|
|
1745
|
+
channels?: number;
|
|
1746
|
+
bitsPerChannel?: number;
|
|
1747
|
+
colorMode?: ColorMode;
|
|
1748
|
+
palette?: RGB[];
|
|
1749
|
+
children?: Layer[];
|
|
1750
|
+
canvas?: HTMLCanvasElement;
|
|
1751
|
+
imageData?: PixelData;
|
|
1752
|
+
imageResources?: ImageResources;
|
|
1753
|
+
linkedFiles?: LinkedFile[];
|
|
1754
|
+
artboards?: {
|
|
1755
|
+
count: number;
|
|
1756
|
+
autoExpandOffset?: {
|
|
1757
|
+
horizontal: number;
|
|
1758
|
+
vertical: number;
|
|
1759
|
+
};
|
|
1760
|
+
origin?: {
|
|
1761
|
+
horizontal: number;
|
|
1762
|
+
vertical: number;
|
|
1763
|
+
};
|
|
1764
|
+
autoExpandEnabled?: boolean;
|
|
1765
|
+
autoNestEnabled?: boolean;
|
|
1766
|
+
autoPositionEnabled?: boolean;
|
|
1767
|
+
shrinkwrapOnSaveEnabled?: boolean;
|
|
1768
|
+
docDefaultNewArtboardBackgroundColor?: Color;
|
|
1769
|
+
docDefaultNewArtboardBackgroundType?: number;
|
|
1770
|
+
};
|
|
1771
|
+
globalLayerMaskInfo?: GlobalLayerMaskInfo;
|
|
1772
|
+
annotations?: Annotation[];
|
|
1773
|
+
}
|
|
1774
|
+
export interface ReadOptions {
|
|
1775
|
+
/** Does not load layer image data. */
|
|
1776
|
+
skipLayerImageData?: boolean;
|
|
1777
|
+
/** Does not load composite image data. */
|
|
1778
|
+
skipCompositeImageData?: boolean;
|
|
1779
|
+
/** Does not load thumbnail. */
|
|
1780
|
+
skipThumbnail?: boolean;
|
|
1781
|
+
/** Does not load linked files (used in smart-objects). */
|
|
1782
|
+
skipLinkedFilesData?: boolean;
|
|
1783
|
+
/** Throws exception if features are missing. */
|
|
1784
|
+
throwForMissingFeatures?: boolean;
|
|
1785
|
+
/** Logs if features are missing. */
|
|
1786
|
+
logMissingFeatures?: boolean;
|
|
1787
|
+
/** Keep image data as byte array instead of canvas.
|
|
1788
|
+
* (image data will appear in `imageData` fields instead of `canvas` fields)
|
|
1789
|
+
* This avoids issues with canvas premultiplied alpha corrupting image data. */
|
|
1790
|
+
useImageData?: boolean;
|
|
1791
|
+
/** Loads thumbnail raw data instead of decoding it's content into canvas.
|
|
1792
|
+
* `thumnailRaw` field is used instead. */
|
|
1793
|
+
useRawThumbnail?: boolean;
|
|
1794
|
+
/** Used only for development. */
|
|
1795
|
+
logDevFeatures?: boolean;
|
|
1796
|
+
/** Used only for development. */
|
|
1797
|
+
strict?: boolean;
|
|
1798
|
+
/** Used only for development. */
|
|
1799
|
+
debug?: boolean;
|
|
1800
|
+
/** Used only for development. */
|
|
1801
|
+
log?: (...args: any[]) => void;
|
|
1802
|
+
}
|
|
1803
|
+
export interface WriteOptions {
|
|
1804
|
+
/** Automatically generates thumbnail from composite image. */
|
|
1805
|
+
generateThumbnail?: boolean;
|
|
1806
|
+
/** Trims transparent pixels from layer image data. */
|
|
1807
|
+
trimImageData?: boolean;
|
|
1808
|
+
/** Invalidates text layer data, forcing Photoshop to redraw them on load.
|
|
1809
|
+
* Use this option if you're updating loaded text layer properties. */
|
|
1810
|
+
invalidateTextLayers?: boolean;
|
|
1811
|
+
/** Logs if features are missing. */
|
|
1812
|
+
logMissingFeatures?: boolean;
|
|
1813
|
+
/** Forces bottom layer to be treated as layer and not background even when it's missing any transparency
|
|
1814
|
+
* (by default Photoshop treats bottom layer as background it it doesn't have any transparent pixels). */
|
|
1815
|
+
noBackground?: boolean;
|
|
1816
|
+
/** Saves document as PSB (Large Document Format) file. */
|
|
1817
|
+
psb?: boolean;
|
|
1818
|
+
/** Uses zip compression when writing PSD file, will result in smaller file size but may be incompatible
|
|
1819
|
+
* with some software. It may also be significantly slower. */
|
|
1820
|
+
compress?: boolean;
|
|
1821
|
+
}
|
|
1822
|
+
export {};
|