v2026.5.46

2026-07-09 16:26:29 +02:00
parent 68ad802768
commit eaead8396d
+11
@@ -52,6 +52,14 @@ Worker de fond responsable de :
- Animations transitions douces
- Media queries (compact 24" / breakpoint étroit)
## Couche données v2 (v2026.5.46)
- **Store par jour** `planv2_<AAAA-MM-JJ>` (chrome.storage.local, schéma 2) : liste plate d'interventions dédoublonnées par identité stable (`requestId` > `actionId` > réf). C'est la seule vérité ; rendu, dossier partagé et EasyVista n'en sont que des projections/sources.
- **Verdict unique** par intervention : `{status: live|done|suspended|closed|gone|moved|unknown, at, source, reason}`.
- **`ivMerge`** : LA fusion (métadonnées les plus fraîches + enrichissements complétés + verdict le plus récent + modèle vie/mort — une vie postérieure lève les tombstones). Utilisée pour EV↔store, local↔dossier, import.
- **`storeSave`** : seule porte d'écriture (dédoublonnage, horodatage, quota, push débounce vers le dossier). **`storeProject`** : seule projection de rendu (tombstones, verdicts gone/moved, dock, fenêtre anti cache-serveur après déplacement).
- **Dossier partagé** : hôte natif PowerShell (publié en asset de release, installable via Paramètres → Dossier partagé), fichiers-jour dans le sous-dossier `v2` du partage, compare-and-swap + verrous.
## Flux principal
```
@@ -107,6 +115,9 @@ Worker de fond responsable de :
## Fonctions clés (viewer.js)
Vue « échelle de temps exacte » : `_buildExactRow` (bande continue + sous-lignes + trous), `_buildOneMiniCard` (fabrique partagée flux/exact), `_buildExactRuler` + `_alignExactRuler` (règle des heures, alignement mesuré), `_layoutExactGrid` (traits d'heures continus, sauteurs d'absents via `_exactAbsentSegments`), `updateNowLine` (ligne « maintenant » globale).
| Fonction | Introduite | Rôle |
|---|---|---|
| `loadForDate` | v1.0.0 | Fetch + parse planning pour une date |