ag-psd 19.0.0 → 20.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README_PSD.md +6 -0
  3. package/TODO +5 -0
  4. package/dist/abr.js +4 -4
  5. package/dist/abr.js.map +1 -1
  6. package/dist/additionalInfo.d.ts +3 -3
  7. package/dist/additionalInfo.js +99 -10
  8. package/dist/additionalInfo.js.map +1 -1
  9. package/dist/bundle.js +408 -151
  10. package/dist/descriptor.js +21 -16
  11. package/dist/descriptor.js.map +1 -1
  12. package/dist/helpers.d.ts +2 -7
  13. package/dist/helpers.js +33 -10
  14. package/dist/helpers.js.map +1 -1
  15. package/dist/imageResources.js +37 -0
  16. package/dist/imageResources.js.map +1 -1
  17. package/dist/psd.d.ts +46 -3
  18. package/dist/psd.js +8 -1
  19. package/dist/psd.js.map +1 -1
  20. package/dist/psdReader.d.ts +11 -5
  21. package/dist/psdReader.js +179 -97
  22. package/dist/psdReader.js.map +1 -1
  23. package/dist/psdWriter.js +27 -13
  24. package/dist/psdWriter.js.map +1 -1
  25. package/dist-es/abr.js +4 -4
  26. package/dist-es/abr.js.map +1 -1
  27. package/dist-es/additionalInfo.d.ts +3 -3
  28. package/dist-es/additionalInfo.js +102 -13
  29. package/dist-es/additionalInfo.js.map +1 -1
  30. package/dist-es/descriptor.js +21 -16
  31. package/dist-es/descriptor.js.map +1 -1
  32. package/dist-es/helpers.d.ts +2 -7
  33. package/dist-es/helpers.js +31 -9
  34. package/dist-es/helpers.js.map +1 -1
  35. package/dist-es/imageResources.js +37 -0
  36. package/dist-es/imageResources.js.map +1 -1
  37. package/dist-es/psd.d.ts +46 -3
  38. package/dist-es/psd.js +7 -0
  39. package/dist-es/psd.js.map +1 -1
  40. package/dist-es/psdReader.d.ts +11 -5
  41. package/dist-es/psdReader.js +178 -99
  42. package/dist-es/psdReader.js.map +1 -1
  43. package/dist-es/psdWriter.js +28 -14
  44. package/dist-es/psdWriter.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/abr.ts +4 -4
  47. package/src/additionalInfo.ts +142 -49
  48. package/src/descriptor.ts +14 -9
  49. package/src/helpers.ts +35 -18
  50. package/src/imageResources.ts +53 -0
  51. package/src/psd.ts +41 -5
  52. package/src/psdReader.ts +170 -126
  53. package/src/psdWriter.ts +36 -23
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## v20.0.0
4
+ - Added support for reading 16bit image data, when reading PSD width default settings 16bit data will be converted to regular 8bit canvases, when `useImageData: true` is passed in read options the image data will be of type `Uint16Array` for 16bit images. Because of that type of `layer.imageData` and `psd.imageData` and `layer.mask.imageData` can be of different types depending on PSD file bitDepth.
5
+ - Added support for reading image data compressed with zip with prediction mode.
6
+ - Added support for layer comps (`psd.imageResources.layerComps` and `layer.comps` fields)
7
+
8
+ ## v19.0.1
9
+ - Fixed incorrect layer trimming when using `layer.imageData` property instead of `layer.canvas`
10
+
3
11
  ## v19.0.0
4
12
  - Added brush type to ABR
5
13
  - Fixed importing smudge and mixer brushes from ABR
package/README_PSD.md CHANGED
@@ -105,6 +105,12 @@ const psd: Psd = {
105
105
 
106
106
  - `filterMask` don't really know what this is, it can be ommited when writing.
107
107
 
108
+ ## Bitmaps and image data
109
+
110
+ Image data can be accessed from `psd.canvas` or `layer.canvas` fields by default. These fields store regular HTMLCanvasElement (or node-canvas object when running in node.js). If `useImageData` option is set to true in read options then the image data will be available in `psd.imageData` and `layer.imageData` fields instead. Using image data option gives you direct access to pixel data without having to go through the canvas object, which bypasses alpha premultiplication and convertion from 16/32bit image data to 8bit canvas data.
111
+
112
+ For 16/32bit documents `imageData` fields will contain pixel data as `Uint16Array` or `Uint32Array` respectfully.
113
+
108
114
  ## Layers and Groups
109
115
 
110
116
  Psd document object has `children` property that contains all root level layers and groups in order from top to bottom as they appear in Photoshop (take note that if you want to draw the layer images to generate document image then you need to draw them in reverse order). The `children` property will contain both regular layers and groups. Each group will have `children` property, containing all the layers and groups that are inside that group. So the document will have a tree structure like this:
package/TODO CHANGED
@@ -1,8 +1,13 @@
1
+ 'pths'
2
+ - cleanup errors from tests (make list of drawings that should ignore those errors)
3
+
4
+
1
5
  - can we remove sectionDivider property ?
2
6
  - can we remove nameSource property ?
3
7
 
4
8
  - improve vector fill / stroke help sections
5
9
 
10
+ check: https://github.com/psd-tools/psd-tools
6
11
  check: https://github.com/TheNicker/libpsd
7
12
 
8
13
  - zip with prediction: https://github.com/TheNicker/libpsd/blob/master/src/psd_zip.c
package/dist/abr.js CHANGED
@@ -74,21 +74,21 @@ function readAbr(buffer, options) {
74
74
  var w = (0, psdReader_1.readInt32)(reader) - x;
75
75
  if (w <= 0 || h <= 0)
76
76
  throw new Error('Invalid bounds');
77
- var depth = (0, psdReader_1.readInt16)(reader);
77
+ var bithDepth = (0, psdReader_1.readInt16)(reader);
78
78
  var compression = (0, psdReader_1.readUint8)(reader); // 0 - raw, 1 - RLE
79
79
  var alpha = new Uint8Array(w * h);
80
- if (depth === 8) {
80
+ if (bithDepth === 8) {
81
81
  if (compression === 0) {
82
82
  alpha.set((0, psdReader_1.readBytes)(reader, alpha.byteLength));
83
83
  }
84
84
  else if (compression === 1) {
85
- (0, psdReader_1.readDataRLE)(reader, { width: w, height: h, data: alpha }, w, h, 1, [0], false);
85
+ (0, psdReader_1.readDataRLE)(reader, { width: w, height: h, data: alpha }, w, h, bithDepth, 1, [0], false);
86
86
  }
87
87
  else {
88
88
  throw new Error('Invalid compression');
89
89
  }
90
90
  }
91
- else if (depth === 16) {
91
+ else if (bithDepth === 16) {
92
92
  if (compression === 0) {
93
93
  for (var i = 0; i < alpha.byteLength; i++) {
94
94
  alpha[i] = (0, psdReader_1.readUint16)(reader) >> 8; // convert to 8bit values
package/dist/abr.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abr.js","sourceRoot":"../src/","sources":["abr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abr.js","sourceRoot":"../src/","sources":["abr.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { LayerAdditionalInfo, BezierPath, Psd, ReadOptions, WriteOptions, BooleanOperation, LayerEffectsInfo, LayerVectorMask } from './psd';
2
- import { PsdReader } from './psdReader';
1
+ import { LayerAdditionalInfo, BezierPath, Psd, WriteOptions, BooleanOperation, LayerEffectsInfo, LayerVectorMask } from './psd';
2
+ import { PsdReader, ReadOptionsExt } from './psdReader';
3
3
  import { PsdWriter } from './psdWriter';
4
4
  export interface ExtendedWriteOptions extends WriteOptions {
5
5
  layerIds: Set<number>;
6
6
  layerToId: Map<any, number>;
7
7
  }
8
8
  type HasMethod = (target: LayerAdditionalInfo) => boolean;
9
- type ReadMethod = (reader: PsdReader, target: LayerAdditionalInfo, left: () => number, psd: Psd, options: ReadOptions) => void;
9
+ type ReadMethod = (reader: PsdReader, target: LayerAdditionalInfo, left: () => number, psd: Psd, options: ReadOptionsExt) => void;
10
10
  type WriteMethod = (writer: PsdWriter, target: LayerAdditionalInfo, psd: Psd, options: ExtendedWriteOptions) => void;
11
11
  export interface InfoHandler {
12
12
  key: string;
@@ -52,9 +52,11 @@ addHandler('TySh', hasKey('text'), function (reader, target, leftBytes) {
52
52
  if ((0, psdReader_1.readInt16)(reader) !== 50)
53
53
  throw new Error("Invalid TySh text version");
54
54
  var text = (0, descriptor_1.readVersionAndDescriptor)(reader);
55
+ // console.log(require('util').inspect(text, false, 99, false), 'utf8');
55
56
  if ((0, psdReader_1.readInt16)(reader) !== 1)
56
57
  throw new Error("Invalid TySh warp version");
57
58
  var warp = (0, descriptor_1.readVersionAndDescriptor)(reader);
59
+ // console.log(require('util').inspect(warp, false, 99, false), 'utf8');
58
60
  target.text = {
59
61
  transform: transform,
60
62
  left: (0, psdReader_1.readFloat32)(reader),
@@ -81,6 +83,7 @@ addHandler('TySh', hasKey('text'), function (reader, target, leftBytes) {
81
83
  if (text.EngineData) {
82
84
  var engineData = (0, engineData_1.parseEngineData)(text.EngineData);
83
85
  var textData = (0, text_1.decodeEngineData)(engineData);
86
+ // console.log(require('util').inspect(engineData, false, 99, false), 'utf8');
84
87
  // require('fs').writeFileSync(`layer-${target.name}.txt`, require('util').inspect(engineData, false, 99, false), 'utf8');
85
88
  // const before = parseEngineData(text.EngineData);
86
89
  // const after = encodeEngineData(engineData);
@@ -498,7 +501,7 @@ addHandler('lclr', hasKey('layerColor'), function (reader, target) {
498
501
  (0, psdWriter_1.writeZeros)(writer, 6);
499
502
  });
500
503
  addHandler('shmd', function (target) { return target.timestamp !== undefined || target.animationFrames !== undefined ||
501
- target.animationFrameFlags !== undefined || target.timeline !== undefined; }, function (reader, target, left, _, options) {
504
+ target.animationFrameFlags !== undefined || target.timeline !== undefined || target.comps !== undefined; }, function (reader, target, left, _, options) {
502
505
  var count = (0, psdReader_1.readUint32)(reader);
503
506
  var _loop_1 = function (i) {
504
507
  (0, psdReader_1.checkSignature)(reader, '8BIM');
@@ -562,8 +565,28 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
562
565
  target.timeline = timeline;
563
566
  // console.log('tmln:result', target.name, target.id, require('util').inspect(timeline, false, 99, true));
564
567
  }
568
+ else if (key === 'cmls') {
569
+ var desc = (0, descriptor_1.readVersionAndDescriptor)(reader);
570
+ // console.log('cmls', require('util').inspect(desc, false, 99, true));
571
+ target.comps = {
572
+ settings: [],
573
+ };
574
+ if (desc.origFXRefPoint)
575
+ target.comps.originalEffectsReferencePoint = { x: desc.origFXRefPoint.Hrzn, y: desc.origFXRefPoint.Vrtc };
576
+ for (var _i = 0, _a = desc.layerSettings; _i < _a.length; _i++) {
577
+ var item = _a[_i];
578
+ target.comps.settings.push({ compList: item.compList });
579
+ var t = target.comps.settings[target.comps.settings.length - 1];
580
+ if ('enab' in item)
581
+ t.enabled = item.enab;
582
+ if (item.Ofst)
583
+ t.offset = { x: item.Ofst.Hrzn, y: item.Ofst.Vrtc };
584
+ if (item.FXRefPoint)
585
+ t.effectsReferencePoint = { x: item.FXRefPoint.Hrzn, y: item.FXRefPoint.Vrtc };
586
+ }
587
+ }
565
588
  else {
566
- options.logDevFeatures && console.log('Unhandled "shmd" section key', key);
589
+ options.logMissingFeatures && console.log('Unhandled "shmd" section key', key);
567
590
  }
568
591
  (0, psdReader_1.skipBytes)(reader, left());
569
592
  });
@@ -573,7 +596,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
573
596
  }
574
597
  (0, psdReader_1.skipBytes)(reader, left());
575
598
  }, function (writer, target, _, options) {
576
- var animationFrames = target.animationFrames, animationFrameFlags = target.animationFrameFlags, timestamp = target.timestamp, timeline = target.timeline;
599
+ var animationFrames = target.animationFrames, animationFrameFlags = target.animationFrameFlags, timestamp = target.timestamp, timeline = target.timeline, comps = target.comps;
577
600
  var count = 0;
578
601
  if (animationFrames)
579
602
  count++;
@@ -583,6 +606,8 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
583
606
  count++;
584
607
  if (timestamp !== undefined)
585
608
  count++;
609
+ if (comps)
610
+ count++;
586
611
  (0, psdWriter_1.writeUint32)(writer, count);
587
612
  if (animationFrames) {
588
613
  (0, psdWriter_1.writeSignature)(writer, '8BIM');
@@ -648,7 +673,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
648
673
  if (timeline.tracks) {
649
674
  desc.trackList = (0, descriptor_1.serializeTrackList)(timeline.tracks);
650
675
  }
651
- var id = options.layerToId.get(target) || target.id || 0;
676
+ var id = options.layerToId.get(target) || target.id;
652
677
  if (!id)
653
678
  throw new Error('You need to provide layer.id value whan writing document with animations');
654
679
  desc.LyrI = id;
@@ -668,6 +693,37 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
668
693
  (0, descriptor_1.writeVersionAndDescriptor)(writer, '', 'metadata', desc);
669
694
  }, true);
670
695
  }
696
+ if (comps) {
697
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
698
+ (0, psdWriter_1.writeSignature)(writer, 'cmls');
699
+ (0, psdWriter_1.writeUint8)(writer, 0); // copy (always false)
700
+ (0, psdWriter_1.writeZeros)(writer, 3);
701
+ (0, psdWriter_1.writeSection)(writer, 2, function () {
702
+ var id = options.layerToId.get(target) || target.id;
703
+ if (!id)
704
+ throw new Error('You need to provide layer.id value whan writing document with layer comps');
705
+ var desc = {};
706
+ if (comps.originalEffectsReferencePoint) {
707
+ desc.origFXRefPoint = { Hrzn: comps.originalEffectsReferencePoint.x, Vrtc: comps.originalEffectsReferencePoint.y };
708
+ }
709
+ desc.LyrI = id;
710
+ desc.layerSettings = [];
711
+ for (var _i = 0, _a = comps.settings; _i < _a.length; _i++) {
712
+ var item = _a[_i];
713
+ var t = {};
714
+ if (item.enabled !== undefined)
715
+ t.enab = item.enabled;
716
+ if (item.offset)
717
+ t.Ofst = { Hrzn: item.offset.x, Vrtc: item.offset.y };
718
+ if (item.effectsReferencePoint)
719
+ t.FXRefPoint = { Hrzn: item.effectsReferencePoint.x, Vrtc: item.effectsReferencePoint.y };
720
+ t.compList = item.compList;
721
+ desc.layerSettings.push(t);
722
+ }
723
+ // console.log('cmls', require('util').inspect(desc, false, 99, true));
724
+ (0, descriptor_1.writeVersionAndDescriptor)(writer, '', 'null', desc);
725
+ }, true);
726
+ }
671
727
  });
672
728
  addHandler('vstk', hasKey('vectorStroke'), function (reader, target, left) {
673
729
  var desc = (0, descriptor_1.readVersionAndDescriptor)(reader);
@@ -1844,6 +1900,38 @@ addHandler('fxrp', hasKey('referencePoint'), function (reader, target) {
1844
1900
  (0, psdWriter_1.writeFloat64)(writer, target.referencePoint.x);
1845
1901
  (0, psdWriter_1.writeFloat64)(writer, target.referencePoint.y);
1846
1902
  });
1903
+ addHandler('Lr16', function () { return false; }, function (reader, _target, _left, psd, options) {
1904
+ (0, psdReader_1.readLayerInfo)(reader, psd, options);
1905
+ }, function (_writer, _target) {
1906
+ });
1907
+ addHandler('LMsk', hasKey('userMask'), function (reader, target) {
1908
+ target.userMask = {
1909
+ colorSpace: (0, psdReader_1.readColor)(reader),
1910
+ opacity: (0, psdReader_1.readUint16)(reader) / 0xff,
1911
+ };
1912
+ var flag = (0, psdReader_1.readUint8)(reader);
1913
+ if (flag !== 128)
1914
+ throw new Error('Invalid flag value');
1915
+ (0, psdReader_1.skipBytes)(reader, 1);
1916
+ }, function (writer, target) {
1917
+ var userMask = target.userMask;
1918
+ (0, psdWriter_1.writeColor)(writer, userMask.colorSpace);
1919
+ (0, psdWriter_1.writeUint16)(writer, (0, helpers_1.clamp)(userMask.opacity, 0, 1) * 0xff);
1920
+ (0, psdWriter_1.writeUint8)(writer, 128);
1921
+ (0, psdWriter_1.writeZeros)(writer, 1);
1922
+ });
1923
+ if (helpers_1.MOCK_HANDLERS) {
1924
+ addHandler('vowv', // appears with Lr16 section ?
1925
+ function (// appears with Lr16 section ?
1926
+ _) { return false; }, function (reader, target, left) {
1927
+ var value = (0, psdReader_1.readUint32)(reader); // 2 ????
1928
+ reader;
1929
+ target;
1930
+ console.log('vowv', { value: value }, left());
1931
+ }, function (_writer, _target) {
1932
+ // TODO: write
1933
+ });
1934
+ }
1847
1935
  if (helpers_1.MOCK_HANDLERS) {
1848
1936
  addHandler('Patt', function (target) { return target._Patt !== undefined; }, function (reader, target, left) {
1849
1937
  // console.log('additional info: Patt');
@@ -2136,15 +2224,16 @@ addHandlerAlias('lnkD', 'lnk2');
2136
2224
  addHandlerAlias('lnk3', 'lnk2');
2137
2225
  addHandlerAlias('lnkE', 'lnk2');
2138
2226
  addHandler('pths', hasKey('pathList'), function (reader, target) {
2139
- var descriptor = (0, descriptor_1.readVersionAndDescriptor)(reader);
2140
- target.pathList = []; // TODO: read paths (find example with non-empty list)
2141
- descriptor;
2142
- // console.log('pths', descriptor); // TODO: remove this
2227
+ var desc = (0, descriptor_1.readVersionAndDescriptor)(reader, true);
2228
+ // console.log(require('util').inspect(desc, false, 99, true));
2229
+ // if (options.throwForMissingFeatures && desc?.pathList?.length) throw new Error('non-empty pathList in `pths`');
2230
+ desc;
2231
+ target.pathList = []; // TODO: read paths
2143
2232
  }, function (writer, _target) {
2144
- var descriptor = {
2233
+ var desc = {
2145
2234
  pathList: [], // TODO: write paths
2146
2235
  };
2147
- (0, descriptor_1.writeVersionAndDescriptor)(writer, '', 'pathsDataClass', descriptor);
2236
+ (0, descriptor_1.writeVersionAndDescriptor)(writer, '', 'pathsDataClass', desc);
2148
2237
  });
2149
2238
  addHandler('lyvr', hasKey('version'), function (reader, target) { return target.version = (0, psdReader_1.readUint32)(reader); }, function (writer, target) { return (0, psdWriter_1.writeUint32)(writer, target.version); });
2150
2239
  function adjustmentType(type) {