> ## Documentation Index
> Fetch the complete documentation index at: https://api-documentation.kare-app.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Plan

Améliorer les icônes (sur les actions possibles)<br />→ différencier le create/place équipement et anomalie<br />→ ajouter tool bar

Améliorer l'affichage des éléments affichés (icones des it, point anomalie)<br />→ how🤷‍♀️(idk man)

L'arborescence va un tout petit peu bouger (par rapport à l'arborescence patrimoniale)

Mettre le pdf en arrière plan en vectorielle (comme l'audit)

Ajouter les zones/pièces dans l'arborescence.

filtres (zone, anomalie, équipements)

Gestion de calques ?<br />→ si éléments superposables (par ex : zones)<br />→ gestion ZF, ZA, etc. ?

→ changer le plan (et pouvoir le calibrer)

### Calibrage du plan

Le calibrage ne touche jamais les positions des futurs points/zones (`PlanItem`) — il ajuste uniquement l'affichage de l'image de fond. Concrètement :

* **Rendu** : appliquer la transform (`scale`, `rotation`, `offsetX`, `offsetY`) **seulement à l'élément image**, dans le même repère en % que les items. Ordre obligatoire : échelle → rotation → translation, pivot au coin haut-gauche (0,0) — cet ordre doit être identique à celui utilisé côté back pour le calcul, sinon le rendu ne correspondra pas à la formule.
* **Saisie des 2 ancrages** : il faut deux vues côte à côte — l'image **brute actuelle** (sans transform, pour cliquer les coordonnées `document`) et un repère de la position **cible** dans l'espace stable du plan (`reference`, en %). Concrètement, ça peut être : l'utilisateur pointe un repère reconnaissable (porte, coin) sur l'ancienne vue puis le même repère sur la nouvelle image.
* **Validation avant envoi** : refuser si les 2 points `document` (ou les 2 `reference`) sont quasi confondus — le calcul (division par un vecteur quasi nul) part en vrille sinon. Mieux vaut bloquer le bouton "Valider" côté front qu'attendre le 422.
* **Après remplacement de document** (`replace-plan-document`) : le calibrage repart à l'identité côté back — le front doit réafficher l'image **sans transform** et proposer de recalibrer, pas garder l'ancien calage affiché.
* Tout est en % (0-100), comme `xPercent`/`yPercent` — indépendant du zoom/de la résolution d'écran.
