mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-10 21:11:52 +00:00
A prototype shared by many elements was reached again from each of them and its own reference read again every time, so a long reference (1 MB) on a prototype used by 60,000 fields cost tens of gigabytes of hashing while the written template stayed small. Each element's reference is now resolved once. A SOM expression longer than 1,024 bytes names nothing (the longest in 198 local Designer templates is 109 bytes). Tests: a "billion laughs" template (ten levels, each prototype referencing the level below ten times) fails as a whole within the output cap and the form is read as written; a long Designer-style form resolves in full with no warning; the shared long reference; the SOM length limit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pq7HyCfwzyRXj4VfQAVVdv