Add toolbox spaces and recover from stale asset bundles
All checks were successful
Deploy Sokko G / deploy (push) Successful in 18s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 18s
This commit is contained in:
parent
0959c6740b
commit
0acf5ecf21
30 changed files with 1252 additions and 179 deletions
|
|
@ -111,8 +111,8 @@ rechargement de l'application ; il n'y a pas d'éviction à la fermeture.
|
|||
|
||||
Les exports attendent les écritures précédentes dans la même file et lisent les
|
||||
médias manquants depuis l'état confirmé, sans les ajouter au cache de l'interface.
|
||||
Si cette lecture échoue, aucun fichier partiel n'est téléchargé. Les formats
|
||||
IndexedDB et import/export sont inchangés.
|
||||
Si cette lecture échoue, aucun fichier partiel n'est téléchargé. Les snapshots
|
||||
IndexedDB et les exports utilisent le même registre d'espaces décrit ci-dessous.
|
||||
|
||||
Cette coordination est locale à l'instance React ; elle ne synchronise pas
|
||||
l'édition entre plusieurs onglets.
|
||||
|
|
@ -141,10 +141,18 @@ Les toolboxes sont stockées dans `kv/toolboxes`.
|
|||
}
|
||||
],
|
||||
"moduleColumns": 2,
|
||||
"moduleOrder": {
|
||||
"one": ["mod1"],
|
||||
"two": [["mod1"], []]
|
||||
},
|
||||
"spaces": [
|
||||
{
|
||||
"id": "space1",
|
||||
"name": "Défaut",
|
||||
"moduleOrder": {
|
||||
"one": ["mod1"],
|
||||
"two": [["mod1"], []]
|
||||
}
|
||||
}
|
||||
],
|
||||
"defaultSpaceId": "space1",
|
||||
"activeSpaceId": "space1",
|
||||
"tutorial": true,
|
||||
"updatedAt": "2026-07-25T12:00:00.000Z"
|
||||
}
|
||||
|
|
@ -156,10 +164,12 @@ Notes :
|
|||
- `icon` est utilisé uniquement pour les toolboxes libres.
|
||||
- `customCover` est une image rectangulaire optionnelle utilisée comme cover de card pour les toolboxes libres. Elle est stockée en data URL image après recadrage, sans conserver le fichier original.
|
||||
- `moduleColumns` vaut `1` ou `2` et contrôle l'affichage de la page toolbox complète ; le panneau latéral utilise toujours l'ordre une colonne.
|
||||
- `moduleOrder.one` stocke l'ordre du mode une colonne.
|
||||
- `moduleOrder.two` stocke l'ordre explicite des colonnes gauche et droite en mode deux colonnes.
|
||||
- Chaque identifiant d'outil présent dans `modules` doit apparaître exactement une fois dans `moduleOrder.one` et exactement une fois dans l'une des deux colonnes de `moduleOrder.two`.
|
||||
- Si une ancienne toolbox n'a pas encore `moduleOrder.two`, les outils sont répartis automatiquement depuis l'ordre une colonne avec une moitié en colonne gauche et une moitié en colonne droite.
|
||||
- `spaces` contient de un à cinq espaces dans l'ordre de leurs onglets. L'espace identifié par `defaultSpaceId` reste toujours premier et ne peut pas être supprimé, même après renommage.
|
||||
- `activeSpaceId` conserve l'espace affiché dans la page complète et le panneau latéral.
|
||||
- Chaque `spaces[].moduleOrder.one` stocke l'ordre du mode une colonne de cet espace ; `two` stocke ses colonnes gauche et droite.
|
||||
- Chaque identifiant d'outil présent dans `modules` apparaît exactement une fois dans l'ordre `one` d'un espace et exactement une fois dans l'une de ses colonnes `two`.
|
||||
- Les anciennes toolboxes sans `spaces` sont normalisées vers un espace « Défaut » qui reprend leur `moduleOrder`. Le format canonique compact ne conserve ensuite plus le champ racine `moduleOrder`.
|
||||
- Les exports individuels et globaux utilisent la version 2. Un import v2 de plus de cinq espaces est rejeté avant toute écriture.
|
||||
- Les données lourdes des outils ne sont pas stockées dans la toolbox, mais dans `modules`.
|
||||
- `modules[].collapsed` vaut `true` lorsque seul l'en-tête de l'outil est affiché ; il est omis lorsque l'outil est déplié.
|
||||
- `tutorial` est un indicateur temporaire réservé aux toolboxes créées depuis la prise en main. Il déclenche les premiers repères à l'ouverture, puis il est retiré automatiquement du stockage.
|
||||
|
|
@ -1152,6 +1162,7 @@ Exemple :
|
|||
|
||||
```json
|
||||
{
|
||||
"version": 2,
|
||||
"toolbox": {
|
||||
"id": "t1",
|
||||
"name": "MHW",
|
||||
|
|
@ -1162,6 +1173,18 @@ Exemple :
|
|||
"title": "Armures"
|
||||
}
|
||||
],
|
||||
"spaces": [
|
||||
{
|
||||
"id": "sp1",
|
||||
"name": "Défaut",
|
||||
"moduleOrder": {
|
||||
"one": ["m1"],
|
||||
"two": [["m1"], []]
|
||||
}
|
||||
}
|
||||
],
|
||||
"defaultSpaceId": "sp1",
|
||||
"activeSpaceId": "sp1",
|
||||
"updatedAt": "2026-07-25T12:00:00.000Z"
|
||||
},
|
||||
"modules": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue