* claim: #3220
* Model cache: keep fewer states of a design too big for its file instead of none (#3220)
A model cache over the container's budget keeps the final state, then the
slowest features' states while the bodies they add fit (a body several
states hold counts once), and is left out only when not even the final
state fits. Opening evaluates just the features whose state the file left
out, each from the state before it, so the model is whole afterwards.
* Model cache: keep each encoded body apart, copy only what a cache stores
Encoding a model too big for its file no longer copies every distinct body
into one buffer before thinning: the payload is copied from the encodings
once its size fits, so saving holds no more than before.
* Model cache tests: canonical runs in the timeline fixture; rustfmt
* Model cache: count the records a thinned cache keeps; always try the final state
Thinning counted only the bodies, so a model of many copies of one part
(records, not bodies, filling the room) shrank its budget to nothing and
saved no cache although its final state fitted. The choice now counts the
records of what it keeps, always keeps the final state, and says what it
counted, so each retry keeps less and the final state alone is always tried.
* docs: a thinned model cache counts its records and always tries the final state
* Model cache test: the slowest feature's state holds bodies 16 to 23
* Model cache: thinned opens with fingerprints that read the state before a feature
Since #3397 a feature's fingerprint reads where the bodies before it lie.
After a state the file left out, adopt takes the saved fingerprint and the
evaluation that works the state out checks it. A result evaluated ahead
is never taken as one the file left out. The thinned round trips include
the placed components' design, whose cut reads those placements.
---------
Co-authored-by: MateuszSychXpl <151755914+MateuszSychXpl@users.noreply.github.com>
* WIP: adopt the saved model on open (#3053)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* WIP: tests
* WIP: bench-open opens as Open does
* docs: opening from the saved model
* Tests: an edit after opening evaluates from the feature it changes
* clippy
* Read SOLIDCRAFT_NO_MODEL_CACHE through the env helper
* Open: no picture from the model when the model itself opens; cancel test evaluates
* Saved model: bodies passed through found without writing their record; states list runs of bodies
* Adopted results go into the evaluation cache: an undone edit, or the marker rolled forward, takes them again
* Model cache size guard: the saved model's writer
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>