Revision of YOUR medieval-town-v2 kit in this directory (same rules, same frames, same names, same budgets; read README.md and build_kit.py you wrote). The operator called the old roofs "super cheap"; yours must clearly beat them. 1. Clay_tile_aged + the aged strips: the lichen reads as evenly spread round green polka dots (roof_closeup.png), and in the browser (runtime_assembly.png) the roof reads as a uniform dark speckle noise. Real old tile roofs: lichen and moss in irregular soft patches that gather toward the eaves, the verges and in the overlaps (not dots everywhere), most tiles clean; tile-to-tile colour varies clearly (orange, brick red, brown, a few darker or replaced newer tiles) in irregular clusters; faint soot or rain streaks down the slope; visible thickness shadow at each tile's lower edge. No high-frequency speckle in the base colour: check it in the browser at 15 m and at 4 m. 2. Plaster_aged_white / Plaster_aged_ochre read almost as clean as before at house scale: make the age visible from 15 m: darker damp band and splash at the bottom 0.5 m, soft grey streaks, patched areas of different whiteness, hairline cracks near corners. Keep it tileable without visible repeats on a 6 x 5 m wall. 3. Oak_frame_aged: a little more grey bleaching and splits, so it differs from Oak_frame at 10 m. Rebuild kit.glb / kit.json / materials / kit_sheet.png / test_house.png / roof_closeup.png / runtime_assembly.png and the zip, re-run your checks, sync to gex44 as before. LOOK at the new roof close-up and the browser render before finishing. Time box: 35 minutes.