diff --git a/conductor/tracks/fix_roof_textures_20260203/plan.md b/conductor/tracks/fix_roof_textures_20260203/plan.md new file mode 100644 index 0000000..5e6507f --- /dev/null +++ b/conductor/tracks/fix_roof_textures_20260203/plan.md @@ -0,0 +1,19 @@ +# Implementation Plan - Fix Roof Textures + +## Phase 1: Logic Implementation +- [~] Task: Create reproduction test in `tests/test_roof_textures.py` + - [ ] Simulate 2km bounds. + - [ ] Verify that current logic fails (or would read wrong file). + - [ ] Verify new logic calls Warp with correct 2km bounds. +- [x] Task: Implement `_extract_texture_from_vrt` in `geodata_pipeline/buildings.py`. (3b57981) + - [ ] Use `gdal.Warp` to crop VRT to bounds. + - [ ] Use `gdal.Translate` to write JPEG to memory buffer (VSIMEM). + - [ ] Return bytes. +- [x] Task: Update `export_buildings` loop. (3b57981) + - [ ] Replace `_load_ortho` call with `_extract_texture_from_vrt`. + - [ ] Determine resolution dynamically (e.g. 20cm/px). + +## Phase 2: Verification +- [ ] Task: Export a single 2km building tile. +- [ ] Task: Check the embedded texture (GLB inspection or Unity import). +