From cdea4ff593ce3e6ae6ae904ab41deffa8b8704ff Mon Sep 17 00:00:00 2001 From: callmeBalloch <12576795+callmeBalloch@users.noreply.github.com> Date: Fri, 9 Oct 2026 08:02:33 +0000 Subject: [PATCH] AF.3: say which sample set the Affinity semantics were fitted on The README said 176 public documents in its provenance and 189 in its limits. The thumbnail fitting was done on 176; the collection has since grown to 189 distinct documents, and the reader opens all of them (298 files with duplicates, no failures). State both. PhotoCraft's copy of the reader got the same fix in storytold/photocraft#1607. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GQPh8UDgMyARR5Hat9UchC --- crates/affinity/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/affinity/README.md b/crates/affinity/README.md index d7a40f9c..0a1bd1f2 100644 --- a/crates/affinity/README.md +++ b/crates/affinity/README.md @@ -68,7 +68,8 @@ of CC0 sample files. * **Meaning fitted to Affinity's own pictures.** What shapes, paints, text and pixel data mean was worked out by comparing our render with the thumbnail every Affinity document embeds (Affinity's render of itself), on 176 public documents saved by Affinity 1.x, 2.x and 3.0/3.1 on Windows, - macOS and iPad. Most are published under CC0, MIT, BSD, Apache-2.0 or CC BY (-SA); the others + macOS and iPad. The collection has since grown to 189 distinct documents, and the reader opens + all of them. Most are published under CC0, MIT, BSD, Apache-2.0 or CC BY (-SA); the others (no licence stated, or GPL or non-commercial terms) were only opened locally to compare pictures, never committed or redistributed. The corpus test keeps the comparison for the pinned files, which are CC0, MIT or Apache-2.0 only. @@ -111,7 +112,7 @@ Every size is checked before it is allocated: 256 MiB per archive entry and 1 Gi default (`Limits`), a 64 MiB zstd window, 4096 saved revisions, array lengths no longer than the bytes left, 16 777 216 decoded values per document stream (fields and array elements together, counted before anything is allocated: a value takes about 40 bytes in memory however few it took in the file; the largest of -189 distinct public documents uses 3.3 million), 384 levels of object nesting, 128 levels of layers, 500 000 layers, four million curve +those 189 public documents uses 3.3 million), 384 levels of object nesting, 128 levels of layers, 500 000 layers, four million curve nodes per curve, 64 megapixels per pixel layer (cropped to its content first) and 1024 gradient stops. Every archive entry's CRC-32 and size must match. Malformed input returns an `Error`; the crate has no panics outside tests.