Remplacer le mode « les deux » par « comparer » et servir le texte « Comment lire » à la carte et au PDF
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@ -581,6 +581,7 @@ def _layer_infos():
|
||||
out.append({"key": key,
|
||||
"label": VIZ_LABELS.get(key, key),
|
||||
"description": legend.get("description", ""),
|
||||
"reading": list(legend.get("reading", ())),
|
||||
# Nom d'étape --only du pipeline (sélecteur de génération)
|
||||
"step": KEYWORD_TO_STEP.get(key, key)})
|
||||
return out
|
||||
@ -906,7 +907,7 @@ def _clamp01(value, fallback=1.0):
|
||||
|
||||
def _sanitize_defaults(req):
|
||||
"""Retient ce qui est connu et borné : couche réelle, mode valide, opacités 0–1."""
|
||||
from .index import DEFAULT_PRECISION_OPACITY, PRECISION_VIZ, VIEW_MODES
|
||||
from .index import PRECISION_VIZ, VIEW_MODES
|
||||
known = set(tiles_mod.available_layers(OUTPUT_DIR)) - {PRECISION_VIZ}
|
||||
base_in = req.base if isinstance(req.base, dict) else {}
|
||||
base = {"on": bool(base_in.get("on", True)),
|
||||
@ -918,14 +919,13 @@ def _sanitize_defaults(req):
|
||||
# l'ancien, qui écrivait toujours dark:true (voir map_meta).
|
||||
return {"main": req.main if req.main in known else None,
|
||||
"mode": req.mode if req.mode in VIEW_MODES else "relief",
|
||||
"precision_opacity": _clamp01(req.precision_opacity, DEFAULT_PRECISION_OPACITY),
|
||||
"base": base, "v": 3, "saved_at": time.time()}
|
||||
|
||||
|
||||
class DefaultsRequest(BaseModel):
|
||||
main: Optional[str] = Field(None, description="couche d'affichage principal")
|
||||
mode: str = Field("relief", description="relief | precision | both")
|
||||
precision_opacity: float = Field(0.6, description="opacité de la précision en mode both, 0–1")
|
||||
mode: str = Field("relief", description="relief | precision | compare")
|
||||
precision_opacity: Optional[float] = Field(None, description="ignoré (ancien mode « les deux »)")
|
||||
base: dict = Field(default_factory=dict,
|
||||
description="fond de carte : on, opacity, dark")
|
||||
|
||||
@ -966,7 +966,7 @@ def clear_defaults():
|
||||
@app.get("/api/map/meta")
|
||||
def map_meta():
|
||||
"""Couches, zooms, emprise et version — tout l'état initial de l'interface."""
|
||||
from .index import (DEFAULT_PRECISION_OPACITY, DEFAULT_VIEW_MODE, PRECISION_VIZ,
|
||||
from .index import (DEFAULT_VIEW_MODE, PRECISION_VIZ,
|
||||
VIEW_MODES, default_main_layer)
|
||||
infos = _layer_infos()
|
||||
keys = [i["key"] for i in infos]
|
||||
@ -988,8 +988,6 @@ def map_meta():
|
||||
"default_main": main,
|
||||
"precision_layer": PRECISION_VIZ if PRECISION_VIZ in keys else None,
|
||||
"default_mode": mode,
|
||||
"default_precision_opacity": _clamp01(saved.get("precision_opacity"),
|
||||
DEFAULT_PRECISION_OPACITY),
|
||||
"default_base": base_default,
|
||||
"defaults_saved": bool(saved),
|
||||
# L'interface consomme des tuiles 512 px (2× moins de requêtes qu'en
|
||||
|
||||
Reference in New Issue
Block a user