Replace the flat #e5e5e5 placeholder on the roof shingle surface (material index 3) with the catalog roof-weatheredshingles finish via resolveSlotDefaultMaterial. Wall/trim, deck, and interior surfaces and the textures-off role array are unchanged. Roof keeps its existing per-segment role material system (no node.slots migration). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>