All checks were successful
Понижаем UI-минзум hillshade с 10 до 9 и переводим raster-paint обоих terrain-слоёв в zoom-aware форму через MapLibre interpolate. На z9-z11 — пик opacity/contrast, чтобы рельеф читался как на z8; на z12-z14 — возврат к исходным значениям (регрессия по AC-10). TRI на z8 остаётся 0.70 (регрессия по AC-06), пик 0.80-0.85 на z9-z11. Изменения: - src/web/app.js: добавлены HILLSHADE_PAINT и TRI_PAINT; applyTerrainLayer расширена для поддержки object-paint (обратно-совместимо); порог updateHillshadeAvailability понижен до 9; вызовы для hillshade переведены на minzoom=9. - src/web/index.html: hint обновлён с «Зум 10+» на «Зум 9+». - tests/unit/test_terrain_paint.py: 17 тестов покрытия zoom-stops, контракта applyTerrainLayer и регрессий (UT-PAINT-*, UT-REG-*). - tests/integration/test_terrain_z9_tiles.py: smoke /terrain endpoint на z9-z11 + кэш-заголовки (IT-TILE-*). Backend, тайлы на диске, конфиги, стили — без изменений. Refs: ET-013 ADR: ADR-017 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>