Phase 1.1.1 : consolidation et coherence UX
Trois corrections ciblees, sans changement d'architecture ni d'interface. 1. Le style ne transporte plus l'icone L'icone d'un noeud est du contenu, comme son texte ou sa note. Copier le style de "Reseau" et le coller sur "Stockage" et "Securite" applique desormais les couleurs, la forme et la mise en page en laissant chaque noeud avec sa propre icone. Seule la presentation de l'icone (position, taille, espacement) reste une propriete de style. 2. Le cercle conserve un rapport 1:1 `keepAspectRatio` sur le redimensionneur, et contrainte cote store pour les trois autres chemins : redimensionnement direct, saisie d'une largeur ou d'une hauteur dans le panneau, et conversion d'un noeud rectangulaire en cercle. Un cercle ne peut plus devenir un ovale. 3. Point d'entree unique des documents `normalizeMapDocument()` remplace `parseMapDocument()` et devient le seul chemin par lequel une carte entre dans l'editeur, qu'elle vienne d'un fichier .mmap, d'IndexedDB ou d'un partage. Le pipeline est toujours validation -> migration -> normalisation. Les cartes locales passaient jusqu'ici a cote de la migration : elles y passent maintenant a l'ouverture, sans etre reecrites en base tant que l'utilisateur ne les modifie pas. Une carte locale videe de ses noeuds reste ouvrable, et le message d'erreur s'adapte a la provenance. Egalement - Zoom minimum abaisse de 0.1 a 0.02 : "Adapter a l'ecran" butait sur ce plancher et ne montrait pas toute une carte de 181 noeuds. - README : pipeline de normalisation, comportement du style et du cercle, limitations mesurees. Tests : 103 vitest (85 -> 103) et 31 pytest, ruff, eslint et tsc au vert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
28
README.md
28
README.md
@@ -244,7 +244,10 @@ avec un etat *Mixte* quand les valeurs different.
|
||||
annulation par redimensionnement), taille automatique qui epouse le contenu,
|
||||
alignement et distribution d'une multi-selection, aimantation sur la grille,
|
||||
guides d'alignement pendant le deplacement, copier / coller / reinitialiser le
|
||||
style (Ctrl+Maj+C, Ctrl+Maj+V), menu contextuel par clic droit.
|
||||
style (Ctrl+Maj+C, Ctrl+Maj+V), menu contextuel par clic droit. Le style couvre
|
||||
les couleurs, la forme, la typographie, la mise en page, la presentation de
|
||||
l'icone et la branche ; l'icone elle-meme, comme le texte, la note et l'URL,
|
||||
appartient au contenu du noeud et n'est jamais remplacee par un collage.
|
||||
|
||||
**Bibliotheque d'icones** : emojis et icones integrees (Lucide), avec position
|
||||
(gauche, droite, au-dessus), taille et espacement configurables.
|
||||
@@ -282,7 +285,7 @@ l'application chargee.
|
||||
| `Ctrl+C` | Copier |
|
||||
| `Ctrl+V` | Coller |
|
||||
| `Ctrl+D` | Dupliquer |
|
||||
| `Ctrl+Maj+C` | Copier le style du noeud |
|
||||
| `Ctrl+Maj+C` | Copier le style du noeud (sans son icone) |
|
||||
| `Ctrl+Maj+V` | Coller le style sur la selection |
|
||||
| `Ctrl+A` | Tout selectionner |
|
||||
| `Ctrl+S` | Sauvegarde explicite |
|
||||
@@ -303,6 +306,20 @@ sont optionnels et un champ absent signifie simplement *herite du theme*. La
|
||||
seule transformation appliquee a l'import d'un fichier v1 est le deplacement de
|
||||
`style.width` vers `layout.width`.
|
||||
|
||||
Toute carte qui entre dans l'editeur passe par le meme point d'entree,
|
||||
`normalizeMapDocument()`, quelle que soit sa provenance :
|
||||
|
||||
```
|
||||
fichier .mmap ┐
|
||||
IndexedDB ├─> validation -> migration de version -> normalisation -> modele courant
|
||||
partage ┘
|
||||
```
|
||||
|
||||
La normalisation est **non destructive** : le document fourni n'est jamais
|
||||
modifie et rien n'est reecrit en base. Une carte v1 restee en IndexedDB s'ouvre
|
||||
donc exactement comme avant, et n'est reenregistree au format courant que si
|
||||
vous la modifiez.
|
||||
|
||||
```json
|
||||
{
|
||||
"version": 1,
|
||||
@@ -553,6 +570,13 @@ de boucle, recherche, auto-layout, lecture seule), assainissement des URL.
|
||||
- **Alignement vertical** : il n'a d'effet visible que si le noeud est plus haut
|
||||
que son texte, c'est-a-dire avec une hauteur fixe ou un padding vertical
|
||||
important.
|
||||
- **Cercle** : un noeud circulaire garde toujours un rapport 1:1. Modifier sa
|
||||
largeur ajuste sa hauteur et inversement ; convertir un noeud rectangulaire en
|
||||
cercle le ramene a un carre. Il n'est donc pas possible d'obtenir un ovale.
|
||||
- **Deplacement sur une tres grande carte** : sur une carte de ~180 noeuds, une
|
||||
frame de glisser-deposer coute environ 60 a 80 ms car React Flow recalcule
|
||||
l'ensemble des noeuds controles. Le deplacement reste utilisable mais moins
|
||||
fluide que sur une carte de taille courante.
|
||||
- **Mobile** : consultation et edition basique fonctionnent, mais l'interface
|
||||
est concue pour desktop et tablette.
|
||||
- **Aucun compte utilisateur** : c'est voulu. Pas de connexion, pas de
|
||||
|
||||
Reference in New Issue
Block a user