diff --git a/AGENTS.md b/AGENTS.md index f0586d9..5cc6842 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -37,7 +37,7 @@ ### Module structure & data flow - `cli.py` → `pipeline.py` (LidarArchaeoPipeline) → per-file: `dtm.py` (classify + rasterize) → `visualizations.py` (17 products) → `rendering.py` (GeoTIFF→AVIF) → `index.py` (Leaflet map) - `gpu.py` provides CuPy/NumPy proxy (`xp`), lazy init, OOM fallback. `safe_gpu_call` wraps all non-IGN viz calls. -- `webapp.py` (FastAPI) serves the map + `/api/generate` launches the pipeline as a subprocess. Two-machine mode: `LIDAR_GENERATION_URL` delegates to remote worker. `/api/export` assembles adjacent tiles into an image/PDF via `export.py` (local cache, no delegation). +- `webapp.py` (FastAPI) serves the map + `/api/generate` launches the pipeline as a subprocess. Two-machine mode: `LIDAR_GENERATION_URL` delegates to remote worker. `/api/export` assembles adjacent tiles into an image/PDF via `export.py` (local cache, no delegation). `/api/presets` (GET/POST/DELETE) shares layer presets between browsers (`output/.presets.json`, localStorage echo in the interface as fallback). - `progress.py` writes JSONL events (O_APPEND, atomic) read by webapp for live progress. - `export.py` stitches adjacent tile visualizations into a seamless mosaic (PNG/JPEG/WebP) or multi-page PDF, Pillow-only for the lightweight webapp. diff --git a/lidar_pipeline/index.py b/lidar_pipeline/index.py index b524dba..e2cce1b 100644 --- a/lidar_pipeline/index.py +++ b/lidar_pipeline/index.py @@ -1389,6 +1389,11 @@ const STATS = {stats_json}; _APP_CSS = """/* Interface de la carte LiDAR — barre latérale à onglets type SIG. */ :root { + /* Le color-scheme impose au navigateur le rendu sombre des contrôles + natifs (popup des