Dylan M. Taylor and yoriswind
54b8aa8fb3
craft-psd: whole .atn libraries with several sets, and their byte spans ( #1047 )
...
A version-16 .atn file can hold several sets after one version header.
- `atn::parse_sets` / `parse_sets_with_encoding` read every set to the end
of the file (a malformed later set fails the whole result);
`write_sets` writes them with one header. Archive-wide limits:
`MAX_SETS`, `MAX_TOTAL_ACTIONS`, `MAX_TOTAL_ITEMS`, on top of the
per-set and per-action ones.
- `parse_sets_with_spans` returns, for each set, action and step, the
byte ranges of its header fields and descriptor in the input, so a
library can edit one field and keep every other byte as it was.
- `parse` and `write` (one set) are unchanged.
Ported from storytold/photocraft#11021 (its crates/psd part).
Co-authored-by: yoriswind <yoriswind@yahoo.com >
2026-11-11 21:06:29 -05:00
..
2026-11-11 18:52:44 -05:00
2026-11-11 19:01:12 -05:00
2026-11-11 17:42:11 -05:00
2026-10-23 11:17:51 -04:00
2026-11-11 18:08:00 -05:00
2026-10-21 22:59:44 -07:00
2026-11-11 19:25:58 -05:00
2026-11-11 20:16:34 -05:00
2026-11-11 12:49:55 -05:00
2026-11-11 19:19:03 -05:00
2026-11-11 20:17:35 -05:00
2026-11-11 20:19:00 -05:00
2026-11-01 12:03:49 -05:00
2026-11-11 18:07:00 -05:00
2026-11-11 20:51:12 -05:00
2026-10-28 16:49:37 -04:00
2026-11-07 15:48:07 +01:00
2026-11-02 21:52:51 -05:00
2026-11-11 20:31:40 -05:00
2026-11-11 18:38:46 -05:00
2026-11-11 20:56:32 -05:00
2026-11-11 20:50:47 -05:00
2026-11-03 05:56:54 -08:00
2026-11-11 18:39:42 -05:00
2026-11-11 20:07:35 -05:00
2026-11-11 19:46:19 -05:00
2026-11-11 20:25:48 -05:00
2026-11-11 20:15:28 -05:00
2026-11-11 20:05:20 -05:00
2026-11-11 20:41:34 -05:00
2026-11-11 19:20:26 -05:00
2026-10-27 09:21:01 -04:00
2026-11-07 01:58:39 -08:00
2026-11-11 15:47:59 -05:00
2026-11-11 17:07:37 -05:00
2026-11-11 17:29:14 -05:00
2026-11-11 20:43:12 -05:00
2026-11-11 18:41:32 -05:00
2026-11-11 15:22:02 -05:00
2026-11-11 18:54:48 -05:00
2026-11-11 06:17:52 -05:00
2026-11-11 19:30:23 -05:00
2026-11-11 20:35:11 -05:00
2026-11-11 19:45:03 -05:00
2026-11-11 07:37:06 -05:00
2026-10-31 21:02:31 -07:00
2026-11-11 17:46:14 -05:00
2026-11-11 19:48:05 -05:00
2026-11-11 20:58:36 -05:00
2026-11-11 18:47:08 -05:00
2026-11-11 20:46:15 -05:00
2026-11-11 20:58:36 -05:00
2026-11-11 20:55:53 -05:00
2026-11-11 19:46:48 -05:00
2026-11-03 23:06:04 -05:00
2026-11-11 18:40:11 -05:00
2026-11-11 21:06:06 -05:00
2026-11-11 15:26:10 -05:00
2026-11-11 16:41:11 -05:00
2026-11-11 20:17:35 -05:00
2026-11-11 19:48:05 -05:00
2026-11-11 20:16:51 -05:00
2026-11-11 18:43:46 -05:00
2026-11-11 21:01:51 -05:00
2026-11-11 19:48:05 -05:00
2026-11-07 15:44:13 +01:00
2026-11-11 20:48:55 -05:00
2026-11-11 19:30:55 -05:00
2026-11-11 20:59:00 -05:00
2026-11-11 16:12:06 -05:00
2026-10-22 20:49:41 +02:00
2026-11-11 17:29:14 -05:00
2026-11-11 21:04:26 -05:00
2026-11-11 18:55:20 -05:00
2026-11-11 15:48:26 -05:00
2026-11-11 19:19:57 -05:00
2026-11-04 18:11:37 +01:00
2026-11-11 21:06:29 -05:00
2026-11-11 18:43:21 -05:00
2026-10-25 21:59:22 -04:00
2026-11-11 18:37:51 -05:00
2026-11-11 20:48:30 -05:00
2026-11-11 20:17:35 -05:00
2026-11-02 22:48:25 -05:00
2026-11-11 19:24:39 -05:00
2026-11-11 06:40:49 -05:00
2026-11-11 20:30:38 -05:00
2026-11-11 20:41:56 -05:00
2026-11-11 18:46:38 -05:00
2026-11-11 16:40:42 -05:00
2026-11-11 19:19:30 -05:00
2026-11-11 18:39:14 -05:00
2026-11-11 19:43:41 -05:00
2026-11-11 20:52:52 -05:00
2026-11-11 07:31:25 +01:00
2026-11-11 20:09:55 -05:00
2026-11-11 18:50:38 -05:00
2026-11-07 15:43:45 +01:00
2026-11-11 16:23:23 -05:00
2026-11-11 20:30:12 -05:00
2026-11-06 16:54:07 +01:00
2026-11-05 10:29:52 +01:00
2026-11-11 20:43:12 -05:00
2026-10-31 16:20:44 +01:00
2026-11-11 19:43:08 -05:00
2026-11-11 19:25:01 -05:00
2026-11-11 20:54:41 -05:00
2026-11-11 21:01:51 -05:00
2026-11-11 20:46:37 -05:00
2026-11-11 18:44:44 -05:00
2026-11-11 19:48:05 -05:00