mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-26 19:26:46 -06:00
An explicit all-on choice is Some(&[]) for the placed PDF, not the file's defaults, so the item walk now passes it whenever the placement has a layer choice. Without that, a sheet that inherits a placed PDF with "show every layer" exported the source's default-hidden layers instead. The second half is the fail-closed rule: prepare() skipped writing a group's state when a visible, named layer needed no change, so an all-on choice on a file whose defaults already show everything embedded the untouched source - no rewrite, so no error. It now writes every group's state when a choice is explicit, which is the same catalog rewrite the canvas does, so a history that cannot take one is reported instead of being embedded. Regression: the two existing engine tests that were failing (placed_pdf_all_on_is_distinct _from_defaults_and_survives_exports renders the exported page; explicit_all_on_validates_an _actual_rewrite_before_editing expects the error for a 33-section xref history).