ag-psd 23.0.0 → 23.1.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.
@@ -2,12 +2,12 @@
2
2
  import { Psd, ReadOptions, WriteOptions } from './psd';
3
3
  import { PsdWriter } from './psdWriter';
4
4
  import { PsdReader } from './psdReader';
5
+ import { fromByteArray } from 'base64-js';
5
6
  export * from './abr';
6
7
  export * from './csh';
7
8
  export { initializeCanvas } from './helpers';
8
9
  export * from './psd';
9
- import { fromByteArray } from 'base64-js';
10
- export { PsdReader, PsdWriter };
10
+ export type { PsdReader, PsdWriter };
11
11
  interface BufferLike {
12
12
  buffer: ArrayBuffer;
13
13
  byteOffset: number;
package/dist-es/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { writePsd as writePsdInternal, getWriterBuffer, createWriter, getWriterBufferNoCopy } from './psdWriter';
2
2
  import { readPsd as readPsdInternal, createReader } from './psdReader';
3
+ import { fromByteArray } from 'base64-js';
3
4
  export * from './abr';
4
5
  export * from './csh';
5
6
  export { initializeCanvas } from './helpers';
6
7
  export * from './psd';
7
- import { fromByteArray } from 'base64-js';
8
8
  export var byteArrayToBase64 = fromByteArray;
9
9
  export function readPsd(buffer, options) {
10
10
  var reader = 'buffer' in buffer ?
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,IAAI,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5H,OAAO,EAAa,OAAO,IAAI,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClF,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAS1C,MAAM,CAAC,IAAM,iBAAiB,GAAG,aAAa,CAAC;AAE/C,MAAM,UAAU,OAAO,CAAC,MAAgC,EAAE,OAAqB;IAC9E,IAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC;QAClC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAQ,EAAE,OAAsB;IACxD,IAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,OAAsB;IAClE,IAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAQ,EAAE,OAAsB;IAC9D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KACzD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,IAAI,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5H,OAAO,EAAa,OAAO,IAAI,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,OAAO,CAAC;AAStB,MAAM,CAAC,IAAM,iBAAiB,GAAG,aAAa,CAAC;AAE/C,MAAM,UAAU,OAAO,CAAC,MAAgC,EAAE,OAAqB;IAC9E,IAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC;QAClC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAQ,EAAE,OAAsB;IACxD,IAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,OAAsB;IAClE,IAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAQ,EAAE,OAAsB;IAC9D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KACzD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC"}
package/dist-es/psd.d.ts CHANGED
@@ -1103,6 +1103,19 @@ type FilterVariant = {
1103
1103
  filter: {
1104
1104
  liquifyMesh: Uint8Array;
1105
1105
  };
1106
+ } | {
1107
+ type: 'perspective warp';
1108
+ filter: {
1109
+ quads: number[][];
1110
+ vertices: {
1111
+ x: UnitsValue;
1112
+ y: UnitsValue;
1113
+ }[];
1114
+ warpedVertices: {
1115
+ x: UnitsValue;
1116
+ y: UnitsValue;
1117
+ }[];
1118
+ };
1106
1119
  };
1107
1120
  export type Filter = FilterVariant & {
1108
1121
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"psd.js","sourceRoot":"../src/","sources":["psd.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAkB,SASjB;AATD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,+CAAW,CAAA;IACX,uCAAO,CAAA;IACP,yCAAQ,CAAA;IACR,yDAAgB,CAAA;IAChB,+CAAW,CAAA;IACX,uCAAO,CAAA;AACR,CAAC,EATiB,SAAS,KAAT,SAAS,QAS1B;AAED,MAAM,CAAN,IAAkB,kBAKjB;AALD,WAAkB,kBAAkB;IACnC,6DAAS,CAAA;IACT,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,+FAA0B,CAAA;AAC3B,CAAC,EALiB,kBAAkB,KAAlB,kBAAkB,QAKnC;AAy3CD,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAChC,iEAAQ,CAAA;IACR,6EAAc,CAAA;IACd,yEAAY,CAAA;IACZ,6EAAc,CAAA;AACf,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC"}
1
+ {"version":3,"file":"psd.js","sourceRoot":"../src/","sources":["psd.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAkB,SASjB;AATD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,+CAAW,CAAA;IACX,uCAAO,CAAA;IACP,yCAAQ,CAAA;IACR,yDAAgB,CAAA;IAChB,+CAAW,CAAA;IACX,uCAAO,CAAA;AACR,CAAC,EATiB,SAAS,KAAT,SAAS,QAS1B;AAED,MAAM,CAAN,IAAkB,kBAKjB;AALD,WAAkB,kBAAkB;IACnC,6DAAS,CAAA;IACT,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,+FAA0B,CAAA;AAC3B,CAAC,EALiB,kBAAkB,KAAlB,kBAAkB,QAKnC;AAg4CD,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAChC,iEAAQ,CAAA;IACR,6EAAc,CAAA;IACd,yEAAY,CAAA;IACZ,6EAAc,CAAA;AACf,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ag-psd",
3
- "version": "23.0.0",
3
+ "version": "23.1.0",
4
4
  "description": "Library for reading and writing PSD files",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist-es/index.js",
@@ -1893,6 +1893,15 @@ type SoLdDescriptorFilterItem = {
1893
1893
  _classID: 'LqFy',
1894
1894
  LqMe: Uint8Array;
1895
1895
  };
1896
+ } | {
1897
+ filterID: 442;
1898
+ Fltr: {
1899
+ _name: 'Perspective Warp';
1900
+ _classID: 'perspectiveWarpTransform';
1901
+ quads: { indices: number[] }[];
1902
+ vertices: HrznVrtcDescriptor[];
1903
+ warpedVertices: HrznVrtcDescriptor[];
1904
+ }
1896
1905
  });
1897
1906
 
1898
1907
  interface SoLdDescriptorFilter {
@@ -2474,7 +2483,18 @@ function parseFilterFXItem(f: SoLdDescriptorFilterItem, options: ReadOptions): F
2474
2483
  liquifyMesh: f.Fltr.LqMe,
2475
2484
  },
2476
2485
  };
2477
- }
2486
+ };
2487
+ case 'perspectiveWarpTransform': {
2488
+ return {
2489
+ ...base,
2490
+ type: 'perspective warp',
2491
+ filter: {
2492
+ vertices: f.Fltr.vertices.map(hrznVrtcToPoint),
2493
+ warpedVertices: f.Fltr.warpedVertices.map(hrznVrtcToPoint),
2494
+ quads: f.Fltr.quads.map(q => q.indices),
2495
+ },
2496
+ };
2497
+ };
2478
2498
  default:
2479
2499
  if (options.throwForMissingFeatures) {
2480
2500
  throw new Error(`Unknown filter classId: ${(f as any).Fltr._classID}`);
@@ -3154,6 +3174,17 @@ function serializeFilterFXItem(f: Filter): SoLdDescriptorFilterItem {
3154
3174
  },
3155
3175
  filterID: 1282492025,
3156
3176
  };
3177
+ case 'perspective warp': return {
3178
+ ...base,
3179
+ Fltr: {
3180
+ _name: 'Perspective Warp',
3181
+ _classID: 'perspectiveWarpTransform',
3182
+ vertices: f.filter.vertices.map(pointToHrznVrtc),
3183
+ warpedVertices: f.filter.warpedVertices.map(pointToHrznVrtc),
3184
+ quads: f.filter.quads.map(indices => ({ indices })),
3185
+ },
3186
+ filterID: 442,
3187
+ };
3157
3188
  default: throw new Error(`Unknow filter type: ${(f as any).type}`);
3158
3189
  }
3159
3190
  }
package/src/index.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import { Psd, ReadOptions, WriteOptions } from './psd';
2
2
  import { PsdWriter, writePsd as writePsdInternal, getWriterBuffer, createWriter, getWriterBufferNoCopy } from './psdWriter';
3
3
  import { PsdReader, readPsd as readPsdInternal, createReader } from './psdReader';
4
+ import { fromByteArray } from 'base64-js';
5
+
4
6
  export * from './abr';
5
7
  export * from './csh';
6
8
  export { initializeCanvas } from './helpers';
7
9
  export * from './psd';
8
- import { fromByteArray } from 'base64-js';
9
- export { PsdReader, PsdWriter };
10
+ export type { PsdReader, PsdWriter };
10
11
 
11
12
  interface BufferLike {
12
13
  buffer: ArrayBuffer;
package/src/psd.ts CHANGED
@@ -1119,6 +1119,13 @@ type FilterVariant = {
1119
1119
  filter: {
1120
1120
  liquifyMesh: Uint8Array;
1121
1121
  };
1122
+ } | {
1123
+ type: 'perspective warp';
1124
+ filter: {
1125
+ quads: number[][]; // quad indices
1126
+ vertices: { x: UnitsValue; y: UnitsValue; }[];
1127
+ warpedVertices: { x: UnitsValue; y: UnitsValue; }[];
1128
+ }
1122
1129
  };
1123
1130
 
1124
1131
  /*