ag-psd 15.3.1 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -1159,7 +1159,7 @@ function pointsToArray(points) {
1159
1159
  }
1160
1160
  return array;
1161
1161
  }
1162
- function uin8ToPoints(array) {
1162
+ function uint8ToPoints(array) {
1163
1163
  return arrayToPoints(uint8ToFloat32(array));
1164
1164
  }
1165
1165
  function hrznVrtcToPoint(desc) {
@@ -1174,6 +1174,56 @@ function pointToHrznVrtc(point) {
1174
1174
  Vrtc: (0, descriptor_1.unitsValue)(point.y, 'y'),
1175
1175
  };
1176
1176
  }
1177
+ function parseFilterFXFilter(Fltr) {
1178
+ if ('puppetShapeList' in Fltr) {
1179
+ return {
1180
+ rigidType: Fltr.rigidType,
1181
+ bounds: [
1182
+ { x: Fltr.PuX0, y: Fltr.PuY0, },
1183
+ { x: Fltr.PuX1, y: Fltr.PuY1, },
1184
+ { x: Fltr.PuX2, y: Fltr.PuY2, },
1185
+ { x: Fltr.PuX3, y: Fltr.PuY3, },
1186
+ ],
1187
+ puppetShapeList: Fltr.puppetShapeList.map(function (p) { return ({
1188
+ rigidType: p.rigidType,
1189
+ // TODO: VrsM
1190
+ // TODO: VrsN
1191
+ originalVertexArray: uint8ToPoints(p.originalVertexArray),
1192
+ deformedVertexArray: uint8ToPoints(p.deformedVertexArray),
1193
+ indexArray: Array.from(uint8ToUint32(p.indexArray)),
1194
+ pinOffsets: arrayToPoints(p.pinOffsets),
1195
+ posFinalPins: arrayToPoints(p.posFinalPins),
1196
+ pinVertexIndices: p.pinVertexIndices,
1197
+ selectedPin: p.selectedPin,
1198
+ pinPosition: arrayToPoints(p.PinP),
1199
+ pinRotation: p.PnRt,
1200
+ pinOverlay: p.PnOv,
1201
+ pinDepth: p.PnDp,
1202
+ meshQuality: p.meshQuality,
1203
+ meshExpansion: p.meshExpansion,
1204
+ meshRigidity: p.meshRigidity,
1205
+ imageResolution: p.imageResolution,
1206
+ meshBoundaryPath: {
1207
+ pathComponents: p.meshBoundaryPath.pathComponents.map(function (c) { return ({
1208
+ shapeOperation: c.shapeOperation.split('.')[1],
1209
+ paths: c.SbpL.map(function (t) { return ({
1210
+ closed: t.Clsp,
1211
+ points: t['Pts '].map(function (pt) { return ({
1212
+ anchor: hrznVrtcToPoint(pt.Anch),
1213
+ forward: hrznVrtcToPoint(pt['Fwd ']),
1214
+ backward: hrznVrtcToPoint(pt['Bwd ']),
1215
+ smooth: pt.Smoo,
1216
+ }); }),
1217
+ }); }),
1218
+ }); }),
1219
+ },
1220
+ }); }),
1221
+ };
1222
+ }
1223
+ else {
1224
+ return {};
1225
+ }
1226
+ }
1177
1227
  function parseFilterFX(desc) {
1178
1228
  return {
1179
1229
  enabled: desc.enab,
@@ -1190,52 +1240,65 @@ function parseFilterFX(desc) {
1190
1240
  hasOptions: f.hasoptions,
1191
1241
  foregroundColor: (0, descriptor_1.parseColor)(f.FrgC),
1192
1242
  backgroundColor: (0, descriptor_1.parseColor)(f.BckC),
1193
- filter: {
1194
- rigidType: f.Fltr.rigidType,
1195
- bounds: [
1196
- { x: f.Fltr.PuX0, y: f.Fltr.PuY0, },
1197
- { x: f.Fltr.PuX1, y: f.Fltr.PuY1, },
1198
- { x: f.Fltr.PuX2, y: f.Fltr.PuY2, },
1199
- { x: f.Fltr.PuX3, y: f.Fltr.PuY3, },
1200
- ],
1201
- puppetShapeList: f.Fltr.puppetShapeList.map(function (p) { return ({
1202
- rigidType: p.rigidType,
1203
- // TODO: VrsM
1204
- // TODO: VrsN
1205
- originalVertexArray: uin8ToPoints(p.originalVertexArray),
1206
- deformedVertexArray: uin8ToPoints(p.deformedVertexArray),
1207
- indexArray: Array.from(uint8ToUint32(p.indexArray)),
1208
- pinOffsets: arrayToPoints(p.pinOffsets),
1209
- posFinalPins: arrayToPoints(p.posFinalPins),
1210
- pinVertexIndices: p.pinVertexIndices,
1211
- selectedPin: p.selectedPin,
1212
- pinPosition: arrayToPoints(p.PinP),
1213
- pinRotation: p.PnRt,
1214
- pinOverlay: p.PnOv,
1215
- pinDepth: p.PnDp,
1216
- meshQuality: p.meshQuality,
1217
- meshExpansion: p.meshExpansion,
1218
- meshRigidity: p.meshRigidity,
1219
- imageResolution: p.imageResolution,
1220
- meshBoundaryPath: {
1221
- pathComponents: p.meshBoundaryPath.pathComponents.map(function (c) { return ({
1222
- shapeOperation: c.shapeOperation.split('.')[1],
1223
- paths: c.SbpL.map(function (t) { return ({
1224
- closed: t.Clsp,
1225
- points: t['Pts '].map(function (pt) { return ({
1226
- anchor: hrznVrtcToPoint(pt.Anch),
1227
- forward: hrznVrtcToPoint(pt['Fwd ']),
1228
- backward: hrznVrtcToPoint(pt['Bwd ']),
1229
- smooth: pt.Smoo,
1230
- }); }),
1231
- }); }),
1232
- }); }),
1233
- },
1234
- }); }),
1235
- },
1243
+ filter: parseFilterFXFilter(f.Fltr),
1236
1244
  }); }),
1237
1245
  };
1238
1246
  }
1247
+ function serializeFltr(filter) {
1248
+ if ('puppetShapeList' in filter) {
1249
+ return {
1250
+ 'null': ['Ordn.Trgt'],
1251
+ rigidType: filter.rigidType,
1252
+ puppetShapeList: filter.puppetShapeList.map(function (p) { return ({
1253
+ rigidType: p.rigidType,
1254
+ VrsM: 1,
1255
+ VrsN: 0,
1256
+ originalVertexArray: toUint8(new Float32Array(pointsToArray(p.originalVertexArray))),
1257
+ deformedVertexArray: toUint8(new Float32Array(pointsToArray(p.deformedVertexArray))),
1258
+ indexArray: toUint8(new Uint32Array(p.indexArray)),
1259
+ pinOffsets: pointsToArray(p.pinOffsets),
1260
+ posFinalPins: pointsToArray(p.posFinalPins),
1261
+ selectedPin: p.selectedPin,
1262
+ pinVertexIndices: p.pinVertexIndices,
1263
+ PinP: pointsToArray(p.pinPosition),
1264
+ PnRt: p.pinRotation,
1265
+ PnOv: p.pinOverlay,
1266
+ PnDp: p.pinDepth,
1267
+ meshQuality: p.meshQuality,
1268
+ meshExpansion: p.meshExpansion,
1269
+ meshRigidity: p.meshRigidity,
1270
+ imageResolution: p.imageResolution,
1271
+ meshBoundaryPath: {
1272
+ pathComponents: (p.meshBoundaryPath.pathComponents || []).map(function (c) { return ({
1273
+ shapeOperation: "shapeOperation.".concat(c.shapeOperation),
1274
+ SbpL: (c.paths || []).map(function (path) { return ({
1275
+ Clsp: path.closed,
1276
+ 'Pts ': (path.points || []).map(function (pt) { return ({
1277
+ Anch: pointToHrznVrtc(pt.anchor),
1278
+ 'Fwd ': pointToHrznVrtc(pt.forward),
1279
+ 'Bwd ': pointToHrznVrtc(pt.backward),
1280
+ Smoo: pt.smooth,
1281
+ }); }),
1282
+ }); }),
1283
+ }); }),
1284
+ },
1285
+ }); }),
1286
+ PuX0: filter.bounds[0].x,
1287
+ PuX1: filter.bounds[1].x,
1288
+ PuX2: filter.bounds[2].x,
1289
+ PuX3: filter.bounds[3].x,
1290
+ PuY0: filter.bounds[0].y,
1291
+ PuY1: filter.bounds[1].y,
1292
+ PuY2: filter.bounds[2].y,
1293
+ PuY3: filter.bounds[3].y,
1294
+ };
1295
+ }
1296
+ else {
1297
+ return {
1298
+ LqMe: new Uint8Array(),
1299
+ };
1300
+ }
1301
+ }
1239
1302
  function serializeFilterFX(filter) {
1240
1303
  return {
1241
1304
  enab: filter.enabled,
@@ -1253,52 +1316,7 @@ function serializeFilterFX(filter) {
1253
1316
  hasoptions: f.hasOptions,
1254
1317
  FrgC: (0, descriptor_1.serializeColor)(f.foregroundColor),
1255
1318
  BckC: (0, descriptor_1.serializeColor)(f.backgroundColor),
1256
- Fltr: {
1257
- 'null': ['Ordn.Trgt'],
1258
- rigidType: f.filter.rigidType,
1259
- puppetShapeList: (f.filter.puppetShapeList || []).map(function (p) { return ({
1260
- rigidType: p.rigidType,
1261
- VrsM: 1,
1262
- VrsN: 0,
1263
- originalVertexArray: toUint8(new Float32Array(pointsToArray(p.originalVertexArray))),
1264
- deformedVertexArray: toUint8(new Float32Array(pointsToArray(p.deformedVertexArray))),
1265
- indexArray: toUint8(new Uint32Array(p.indexArray)),
1266
- pinOffsets: pointsToArray(p.pinOffsets),
1267
- posFinalPins: pointsToArray(p.posFinalPins),
1268
- selectedPin: p.selectedPin,
1269
- pinVertexIndices: p.pinVertexIndices,
1270
- PinP: pointsToArray(p.pinPosition),
1271
- PnRt: p.pinRotation,
1272
- PnOv: p.pinOverlay,
1273
- PnDp: p.pinDepth,
1274
- meshQuality: p.meshQuality,
1275
- meshExpansion: p.meshExpansion,
1276
- meshRigidity: p.meshRigidity,
1277
- imageResolution: p.imageResolution,
1278
- meshBoundaryPath: {
1279
- pathComponents: (p.meshBoundaryPath.pathComponents || []).map(function (c) { return ({
1280
- shapeOperation: "shapeOperation.".concat(c.shapeOperation),
1281
- SbpL: (c.paths || []).map(function (path) { return ({
1282
- Clsp: path.closed,
1283
- 'Pts ': (path.points || []).map(function (pt) { return ({
1284
- Anch: pointToHrznVrtc(pt.anchor),
1285
- 'Fwd ': pointToHrznVrtc(pt.forward),
1286
- 'Bwd ': pointToHrznVrtc(pt.backward),
1287
- Smoo: pt.smooth,
1288
- }); }),
1289
- }); }),
1290
- }); }),
1291
- },
1292
- }); }),
1293
- PuX0: f.filter.bounds[0].x,
1294
- PuX1: f.filter.bounds[1].x,
1295
- PuX2: f.filter.bounds[2].x,
1296
- PuX3: f.filter.bounds[3].x,
1297
- PuY0: f.filter.bounds[0].y,
1298
- PuY1: f.filter.bounds[1].y,
1299
- PuY2: f.filter.bounds[2].y,
1300
- PuY3: f.filter.bounds[3].y,
1301
- },
1319
+ Fltr: serializeFltr(f.filter),
1302
1320
  filterID: f.id,
1303
1321
  }); }),
1304
1322
  };
@@ -8200,23 +8218,34 @@ var styleKeys = [
8200
8218
  var antialias = ['none', 'crisp', 'strong', 'smooth', 'sharp'];
8201
8219
  var justification = ['left', 'right', 'center'];
8202
8220
  function upperFirst(value) {
8203
- return value.substr(0, 1).toUpperCase() + value.substr(1);
8221
+ return value.substring(0, 1).toUpperCase() + value.substring(1);
8204
8222
  }
8205
8223
  function decodeColor(color) {
8206
8224
  var c = color.Values;
8207
- if (color.Type === 0) { // grayscale
8208
- return { r: c[1] * 255, g: c[1] * 255, b: c[1] * 255 }; // , c[0] * 255];
8209
- }
8210
- else { // rgb
8211
- return { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] }; // , c[0] * 255];
8225
+ switch (color.Type) {
8226
+ case 0: return { k: c[1] * 255 }; // grayscale (alpha?)
8227
+ case 1: return c[0] === 1 ?
8228
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255 } : // rgb
8229
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] * 255 }; // rgba
8230
+ case 2: return { c: c[1] * 255, m: c[2] * 255, y: c[3] * 255, k: c[4] * 255 }; // cmyk (alpha?)
8231
+ default: throw new Error('Unknown color type in text layer');
8212
8232
  }
8213
8233
  }
8214
8234
  function encodeColor(color) {
8215
- if (color && 'r' in color) {
8216
- return ['a' in color ? color.a : 1, color.r / 255, color.g / 255, color.b / 255];
8235
+ if (!color) {
8236
+ return { Type: 1, Values: [0, 0, 0, 0] };
8237
+ }
8238
+ else if ('r' in color) {
8239
+ return { Type: 1, Values: ['a' in color ? color.a / 255 : 1, color.r / 255, color.g / 255, color.b / 255] };
8240
+ }
8241
+ else if ('c' in color) {
8242
+ return { Type: 2, Values: [1, color.c / 255, color.m / 255, color.y / 255, color.k / 255] };
8243
+ }
8244
+ else if ('k' in color) {
8245
+ return { Type: 0, Values: [1, color.k / 255] };
8217
8246
  }
8218
8247
  else {
8219
- return [0, 0, 0, 0];
8248
+ throw new Error('Invalid color type in text layer');
8220
8249
  }
8221
8250
  }
8222
8251
  function arraysEqual(a, b) {
@@ -8289,7 +8318,7 @@ function encodeObject(obj, keys, fonts) {
8289
8318
  result[Key] = findOrAddFont(fonts, obj[key]);
8290
8319
  }
8291
8320
  else if (key === 'fillColor' || key === 'strokeColor') {
8292
- result[Key] = { Type: 1, Values: encodeColor(obj[key]) };
8321
+ result[Key] = encodeColor(obj[key]);
8293
8322
  }
8294
8323
  else {
8295
8324
  result[Key] = obj[key];
@@ -8625,8 +8654,8 @@ function encodeEngineData(data) {
8625
8654
  ShowGrid: !!gridInfo.show,
8626
8655
  GridSize: (_j = gridInfo.size) !== null && _j !== void 0 ? _j : 18,
8627
8656
  GridLeading: (_k = gridInfo.leading) !== null && _k !== void 0 ? _k : 22,
8628
- GridColor: { Type: 1, Values: encodeColor(gridInfo.color) },
8629
- GridLeadingFillColor: { Type: 1, Values: encodeColor(gridInfo.color) },
8657
+ GridColor: encodeColor(gridInfo.color),
8658
+ GridLeadingFillColor: encodeColor(gridInfo.color),
8630
8659
  AlignLineHeightToGridFlags: !!gridInfo.alignLineHeightToGridFlags,
8631
8660
  },
8632
8661
  AntiAlias: antialias.indexOf((_l = data.antiAlias) !== null && _l !== void 0 ? _l : 'sharp'),
package/dist/psd.d.ts CHANGED
@@ -659,6 +659,69 @@ export interface LinkedFile {
659
659
  assetModTime?: number;
660
660
  assetLockedState?: number;
661
661
  }
662
+ export interface PlacedLayerPuppetFilter {
663
+ rigidType: boolean;
664
+ bounds: {
665
+ x: number;
666
+ y: number;
667
+ }[];
668
+ puppetShapeList: {
669
+ rigidType: boolean;
670
+ originalVertexArray: {
671
+ x: number;
672
+ y: number;
673
+ }[];
674
+ deformedVertexArray: {
675
+ x: number;
676
+ y: number;
677
+ }[];
678
+ indexArray: number[];
679
+ pinOffsets: {
680
+ x: number;
681
+ y: number;
682
+ }[];
683
+ posFinalPins: {
684
+ x: number;
685
+ y: number;
686
+ }[];
687
+ pinVertexIndices: number[];
688
+ selectedPin: number[];
689
+ pinPosition: {
690
+ x: number;
691
+ y: number;
692
+ }[];
693
+ pinRotation: number[];
694
+ pinOverlay: boolean[];
695
+ pinDepth: number[];
696
+ meshQuality: number;
697
+ meshExpansion: number;
698
+ meshRigidity: number;
699
+ imageResolution: number;
700
+ meshBoundaryPath: {
701
+ pathComponents: {
702
+ shapeOperation: string;
703
+ paths: {
704
+ closed: boolean;
705
+ points: {
706
+ anchor: {
707
+ x: UnitsValue;
708
+ y: UnitsValue;
709
+ };
710
+ forward: {
711
+ x: UnitsValue;
712
+ y: UnitsValue;
713
+ };
714
+ backward: {
715
+ x: UnitsValue;
716
+ y: UnitsValue;
717
+ };
718
+ smooth: boolean;
719
+ }[];
720
+ }[];
721
+ }[];
722
+ };
723
+ }[];
724
+ }
662
725
  export interface PlacedLayerFilter {
663
726
  enabled: boolean;
664
727
  validAtPosition: boolean;
@@ -674,69 +737,7 @@ export interface PlacedLayerFilter {
674
737
  hasOptions: boolean;
675
738
  foregroundColor: Color;
676
739
  backgroundColor: Color;
677
- filter: {
678
- rigidType: boolean;
679
- bounds: {
680
- x: number;
681
- y: number;
682
- }[];
683
- puppetShapeList: {
684
- rigidType: boolean;
685
- originalVertexArray: {
686
- x: number;
687
- y: number;
688
- }[];
689
- deformedVertexArray: {
690
- x: number;
691
- y: number;
692
- }[];
693
- indexArray: number[];
694
- pinOffsets: {
695
- x: number;
696
- y: number;
697
- }[];
698
- posFinalPins: {
699
- x: number;
700
- y: number;
701
- }[];
702
- pinVertexIndices: number[];
703
- selectedPin: number[];
704
- pinPosition: {
705
- x: number;
706
- y: number;
707
- }[];
708
- pinRotation: number[];
709
- pinOverlay: boolean[];
710
- pinDepth: number[];
711
- meshQuality: number;
712
- meshExpansion: number;
713
- meshRigidity: number;
714
- imageResolution: number;
715
- meshBoundaryPath: {
716
- pathComponents: {
717
- shapeOperation: string;
718
- paths: {
719
- closed: boolean;
720
- points: {
721
- anchor: {
722
- x: UnitsValue;
723
- y: UnitsValue;
724
- };
725
- forward: {
726
- x: UnitsValue;
727
- y: UnitsValue;
728
- };
729
- backward: {
730
- x: UnitsValue;
731
- y: UnitsValue;
732
- };
733
- smooth: boolean;
734
- }[];
735
- }[];
736
- }[];
737
- };
738
- }[];
739
- };
740
+ filter: PlacedLayerPuppetFilter | {};
740
741
  }[];
741
742
  }
742
743
  export type PlacedLayerType = 'unknown' | 'vector' | 'raster' | 'image stack';
package/dist/text.js CHANGED
@@ -103,23 +103,34 @@ var styleKeys = [
103
103
  var antialias = ['none', 'crisp', 'strong', 'smooth', 'sharp'];
104
104
  var justification = ['left', 'right', 'center'];
105
105
  function upperFirst(value) {
106
- return value.substr(0, 1).toUpperCase() + value.substr(1);
106
+ return value.substring(0, 1).toUpperCase() + value.substring(1);
107
107
  }
108
108
  function decodeColor(color) {
109
109
  var c = color.Values;
110
- if (color.Type === 0) { // grayscale
111
- return { r: c[1] * 255, g: c[1] * 255, b: c[1] * 255 }; // , c[0] * 255];
112
- }
113
- else { // rgb
114
- return { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] }; // , c[0] * 255];
110
+ switch (color.Type) {
111
+ case 0: return { k: c[1] * 255 }; // grayscale (alpha?)
112
+ case 1: return c[0] === 1 ?
113
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255 } : // rgb
114
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] * 255 }; // rgba
115
+ case 2: return { c: c[1] * 255, m: c[2] * 255, y: c[3] * 255, k: c[4] * 255 }; // cmyk (alpha?)
116
+ default: throw new Error('Unknown color type in text layer');
115
117
  }
116
118
  }
117
119
  function encodeColor(color) {
118
- if (color && 'r' in color) {
119
- return ['a' in color ? color.a : 1, color.r / 255, color.g / 255, color.b / 255];
120
+ if (!color) {
121
+ return { Type: 1, Values: [0, 0, 0, 0] };
122
+ }
123
+ else if ('r' in color) {
124
+ return { Type: 1, Values: ['a' in color ? color.a / 255 : 1, color.r / 255, color.g / 255, color.b / 255] };
125
+ }
126
+ else if ('c' in color) {
127
+ return { Type: 2, Values: [1, color.c / 255, color.m / 255, color.y / 255, color.k / 255] };
128
+ }
129
+ else if ('k' in color) {
130
+ return { Type: 0, Values: [1, color.k / 255] };
120
131
  }
121
132
  else {
122
- return [0, 0, 0, 0];
133
+ throw new Error('Invalid color type in text layer');
123
134
  }
124
135
  }
125
136
  function arraysEqual(a, b) {
@@ -192,7 +203,7 @@ function encodeObject(obj, keys, fonts) {
192
203
  result[Key] = findOrAddFont(fonts, obj[key]);
193
204
  }
194
205
  else if (key === 'fillColor' || key === 'strokeColor') {
195
- result[Key] = { Type: 1, Values: encodeColor(obj[key]) };
206
+ result[Key] = encodeColor(obj[key]);
196
207
  }
197
208
  else {
198
209
  result[Key] = obj[key];
@@ -528,8 +539,8 @@ function encodeEngineData(data) {
528
539
  ShowGrid: !!gridInfo.show,
529
540
  GridSize: (_j = gridInfo.size) !== null && _j !== void 0 ? _j : 18,
530
541
  GridLeading: (_k = gridInfo.leading) !== null && _k !== void 0 ? _k : 22,
531
- GridColor: { Type: 1, Values: encodeColor(gridInfo.color) },
532
- GridLeadingFillColor: { Type: 1, Values: encodeColor(gridInfo.color) },
542
+ GridColor: encodeColor(gridInfo.color),
543
+ GridLeadingFillColor: encodeColor(gridInfo.color),
533
544
  AlignLineHeightToGridFlags: !!gridInfo.alignLineHeightToGridFlags,
534
545
  },
535
546
  AntiAlias: antialias.indexOf((_l = data.antiAlias) !== null && _l !== void 0 ? _l : 'sharp'),
package/dist/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"../src/","sources":["text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"../src/","sources":["text.ts"],"names":[],"mappings":"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"}