zplanes criterion 2: nested Layout composition (HELD FOR REVIEW) master
Layout gains a `composed: Vec<SubLayout>` field; `stamp` overlays each composed child's non-Rock tiles at its offset after stamping own placements — the same recursion the plane stack uses one level up. Rock is transparent, so a child composes onto the parent without erasing it. Pinned by `composed_layouts_stamp_at_their_offsets`. Tile composition only. Composing child room-rects rides the unresolved room-name-namespacing decision (criterion 3), so it is deferred rather than guessed. Also fixed the spec's stale "v4 saves" references (save is v29; pre-multi-plane saves migrate to one plane). Built because it is independent of the two open design decisions (active-plane; sensors), so it is safe while those await review. Still on the held branch — not merged. Defense: additive and non-breaking — the new field is empty for both Layout builders, so every existing map stamps identically and all 372 core tests pass (one new); fmt/clippy/docs gate green. Rock stays transparent, matching the base stamp, so composition never erases parent tiles. No plane or sensor semantics touched, so nothing is committed about the open decisions.