mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-05 19:45:54 +00:00
164554edba
* claim: #2089 (3MF production extension: review follow-ups) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 3MF import: production extension review follow-ups (#2089) Follow-ups from the review of #2127: - Only the root model's build is read; other parts' build sections are ignored as the spec asks (a slicer's child build pointing at a thumbnail no longer matters). - A model part that can't be read fails only the placements that need it; the package-wide caps (part names, 1 GB of model XML) still refuse the package. The root XML is dropped once parsed and each part is read against the remaining budget. - Loops are reported apart from depth, keyed by (part, object). - Messages name parts as written; objects are kept in id order so parts are read in the same order every run; %XX escapes in part names are decoded; the model unit is a local of the parser. - Tests: a component without p:path stays in its part (T1), the same id in two parts is no loop (T2), a slicer-shaped project (T3), the placement budget across parts (T4), a loop through three parts and a chain past the depth cap (T5), broken parts and child builds (T6), escaped names; the hostile-parts test asserts its messages; the mutation test also mutates the parts' XML and zips it again. - Guide: what slicer-only data is not read. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Tyler Chiriboga <18270301+Tyler-Chiriboga@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>