mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 14:00:37 +00:00
Every branch read and compare re-points the references a document holds to a file or a media object. The generic walk visited every map of the document: 704 ms on a file of 90,720 shapes. The relinker now visits only the places listed in `cfh/shape-ref-paths` (plus the paths older data versions used, which binfile import still meets), compiled once into closures that rebuild only what changed: 100 ms on the same file, with an equal result. `remap-changes` dispatches on the change type instead of walking whole change maps. A new test derives every uuid path from the shape schema and fails when a path is neither listed as a reference nor classified as none, so a reference field added later cannot be missed silently. The grid colour schema now declares the library reference it already carried. AI-assisted-by: claude-opus-5-5