v0.1.4-pre.008
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# Plan `0.1.4` — `ksp-app-config-desk`
|
||||
|
||||
@@ -687,6 +687,8 @@ Le bouton `Log` appelle une commande Tauri dédiée. L'émission backend utilise
|
||||
|
||||
En parallèle, le `frontend_log.ts` commun reprend/refond le mécanisme bot3 pour les logs techniques du frontend et le bridge console. Il passe par une commande `emit_frontend_log` séparée et des targets frontend whitelistés. Les deux chemins peuvent partager le même service d'émission Rust sans confondre leurs DTO et leurs responsabilités.
|
||||
|
||||
Le shell applique également une instrumentation frontend systématique : clics et transitions d’état significatives en `debug`; rendu, remplacement de sections, événements fréquents et étapes techniques en `trace`. Les wrappers IPC journalisent le début et la fin des chargements sans recopier les arguments ou payloads susceptibles de devenir sensibles. Cette convention devient le modèle des futures applications desk KSP.
|
||||
|
||||
## 8. Matrice commandes Tauri / services / APIs KSP
|
||||
|
||||
Les noms ci-dessous sont les noms fonctionnels cibles ; ils pourront être normalisés avant implémentation, mais leurs responsabilités sont fixées.
|
||||
@@ -939,13 +941,16 @@ fade duration
|
||||
close delay si techniquement distinct
|
||||
```
|
||||
|
||||
La ou les clés Config/.env exactes **ne sont pas figées dans `pre.001`**, conformément à la règle qui demande de les nommer lors de leur première utilisation concrète. Elles devront :
|
||||
`pre.008` fige les deux clés communes nécessaires au lifecycle de référence :
|
||||
|
||||
- utiliser `KSP_*` ou `KSP_PUBLIC_*` selon exposition ;
|
||||
- être lues uniquement via Config ;
|
||||
- être ajoutées à `.env.example` avec commentaire dans le même delta ;
|
||||
- posséder fallback et bornes de validation ;
|
||||
- être transmises au frontend uniquement si celui-ci a réellement besoin de la valeur.
|
||||
```text
|
||||
KSP_DESK_SPLASH_MINIMUM_MS=1200
|
||||
KSP_DESK_SPLASH_FADE_MS=300
|
||||
```
|
||||
|
||||
Elles sont résolues uniquement via `ConfigEnvironment` avec priorité process > `.env` > fallback. `KSP_DESK_SPLASH_MINIMUM_MS` est bornée à 60 000 ms et `KSP_DESK_SPLASH_FADE_MS` à 10 000 ms. Une valeur invalide ne doit pas rendre Config Desk inutilisable : l’application conserve les timings de fallback en mémoire, journalise seulement domaine/code de l’erreur et laisse la future surface `.env` permettre la réparation.
|
||||
|
||||
Le frontend ne reçoit que la durée d’animation réellement nécessaire dans les ordres du splash; la durée minimale reste backend. Aucun close delay distinct n’est nécessaire : Rust attend la durée de fade-out avant d’afficher/focaliser `main` puis de détruire `splash`. Les variables sont ajoutées à `.env.example` dans `pre.008`.
|
||||
|
||||
## 14. Présentation et Markdown
|
||||
|
||||
@@ -1174,10 +1179,12 @@ pre.007 frontend logging commun
|
||||
- intégration console plugin compatible seulement
|
||||
|
||||
pre.008 shell main + splash de référence
|
||||
- tw_splash + tw_main
|
||||
- lifecycle splash configurable
|
||||
- variable(s) Config/.env + .env.example même delta
|
||||
- KSP_DESK_SPLASH_MINIMUM_MS / KSP_DESK_SPLASH_FADE_MS + .env.example
|
||||
- navigation monofenêtre
|
||||
- helpers communs show/focus
|
||||
- helpers show/focus/destroy
|
||||
- instrumentation debug/trace des interactions et mutations frontend
|
||||
|
||||
pre.009 Documents + diagnostics
|
||||
- inventaire générique par registre
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/rules/RULES_KSP.md -->
|
||||
<!-- version: 24 -->
|
||||
<!-- version: 25 -->
|
||||
|
||||
# Règles spécifiques à KSP
|
||||
|
||||
@@ -219,6 +219,7 @@
|
||||
- **KSP-APP-024** — Chaque application desk Tauri KSP possède un couple de ports Vite/HMR exclusif. L'allocation commence à `1430/1431` pour `ksp-app-config-desk` puis progresse par paires (`1432/1433`, `1434/1435`, etc.). Le port Vite est strict afin qu'une collision échoue explicitement au lieu de sélectionner silencieusement un autre port.
|
||||
- **KSP-APP-025** — Dans `package.json`, les bibliothèques consommées par le bundle applicatif appartiennent à `dependencies`; les outils de build/développement et paquets `@types/*` appartiennent à `devDependencies`. npm est utilisé directement uniquement pour installer ou mettre à jour ces dépendances. Le cycle normal de développement/build passe par Tauri, qui déclenche les scripts npm configurés via `beforeDevCommand`/`beforeBuildCommand`; les lockfiles frontend restent non versionnés.
|
||||
- **KSP-APP-026** — KSP étant un workspace Rust multi-app, les commandes Tauri lancées depuis la racine sélectionnent explicitement la configuration de l'application avec `-c crates/<app>/tauri.conf.json` (par exemple `cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json`). Après une installation npm effectuée depuis `crates/<app>`, l'opérateur revient à la racine du workspace avant le cycle Cargo/Tauri.
|
||||
- **KSP-APP-027** — Les applications Tauri KSP instrumentent systématiquement le comportement frontend via le bridge Logging commun : actions utilisateur et transitions d’état significatives en `debug`, événements techniques fins, rendu/remplacement de sections et étapes fréquentes en `trace`. Les chargements/rafraîchissements de données sont tracés au début et à la fin sans journaliser les payloads sensibles. Cette instrumentation doit permettre de reconstruire le déroulement frontend sans dépendre uniquement de l’état visuel.
|
||||
|
||||
## Data plane / control plane
|
||||
|
||||
|
||||
Reference in New Issue
Block a user