mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-27 11:27:21 -06:00
ZipReader::find scanned every entry per lookup, and a bundle load looks up one entry per tile reference, so loads were O(refs x entries). Build a name -> index map once in ZipReader::new (first entry wins for duplicate names, as the scan did) and look names up through it. crc32 now delegates to crc32fast (already in Cargo.lock via flate2) instead of a byte-at-a-time table loop. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>