0.3.0-0-pre.5
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/development/003-TRACING_AND_DIAGNOSTICS.md -->
|
||||
<!-- version: 1 -->
|
||||
<!-- version: 2 -->
|
||||
|
||||
# Tracing et diagnostics
|
||||
|
||||
@@ -21,3 +21,9 @@ Les runners Desktop initialisent ce socle. Les futures intégrations Android pou
|
||||
## Évolution
|
||||
|
||||
Les filtres par target/niveau, fichiers rotatifs, configuration utilisateur, traces Android et éventuelle télémétrie distante seront ajoutés uniquement lorsqu’un besoin concret les justifie.
|
||||
|
||||
## Host navigateur direct
|
||||
|
||||
Le navigateur direct ne possède ni backend Rust Tauri ni plugin de relayage. Son frontend utilise donc un module TypeScript unique de diagnostics structurés qui écrit dans la console du navigateur avec `target`, `action` et champs associés. Les modules applicatifs n'émettent pas leurs propres formats parallèles.
|
||||
|
||||
Cette sortie console est un mécanisme frontend. Elle ne remplace pas `tracing` dans le code Rust : les runners natifs continuent d'initialiser `game-logging-lib`, et un futur besoin de tracing Rust directement dans WebAssembly devra être introduit explicitement plutôt que d'être simulé par le frontend.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/development/010-SNAKE_WEB_FRONTEND.md -->
|
||||
<!-- version: 3 -->
|
||||
<!-- version: 4 -->
|
||||
|
||||
# Frontend du POC Snake Web direct
|
||||
|
||||
@@ -133,4 +133,31 @@ Ouvrir explicitement `http://127.0.0.1:1434/main.html` — le host utilise volon
|
||||
8. le shell KSP-derived et le Canvas restent utilisables sur une largeur mobile et Desktop ;
|
||||
9. score et longueur restent visibles et évoluent avec l'état WASM.
|
||||
|
||||
Le lifecycle complet, les assets, le logging structuré et la provenance runtime appartiennent à `0-pre.5`.
|
||||
## Lifecycle navigateur
|
||||
|
||||
`0-pre.5` ferme le lifecycle du POC. La boucle `requestAnimationFrame` est suspendue lorsque le document devient caché ou reçoit `pagehide`. La reprise sur `visibilitychange`/`pageshow` réinitialise l'origine temporelle et l'accumulateur afin de ne pas rattraper artificiellement les ticks perdus en arrière-plan.
|
||||
|
||||
Un `ResizeObserver` attaché à la zone de jeu redessine le Canvas et rafraîchit la classe d'appareil observée sans faire avancer la simulation. La destruction de page libère l'instance WASM.
|
||||
|
||||
## Assets runtime
|
||||
|
||||
Le package Vite utilise `vite-plugin-static-copy` pour exposer les deux assets de sonde depuis les sources canoniques :
|
||||
|
||||
```text
|
||||
assets/common/data/runtime.json -> dist/common/data/runtime.json
|
||||
assets/game-snake-poc/data/game.json -> dist/game/data/game.json
|
||||
```
|
||||
|
||||
Le serveur Vite de développement expose les mêmes routes. Le frontend charge et valide les deux JSON avant le démarrage WASM. Le statut visible `Assets` permet de confirmer le chargement pendant le smoke. Aucune copie source n'est ajoutée sous `Web/`.
|
||||
|
||||
## Logging frontend
|
||||
|
||||
`frontend/ts/logging.ts` centralise les diagnostics navigateur. Les événements sont structurés par niveau, target, action et champs, puis écrits dans la console. Ce module est volontairement distinct du bridge tracing Tauri : le host Web direct ne possède pas de backend Tauri à qui relayer ses événements.
|
||||
|
||||
Le Rust natif continue d'utiliser `tracing`/`game-logging-lib`; le frontend console ne remplace pas cette façade Rust.
|
||||
|
||||
## Provenance runtime
|
||||
|
||||
`game-snake-poc-wasm` dépend de `engine-v1-platform-api` uniquement au niveau adapter et conserve une `RuntimeProvenance`. Les dimensions `Web / Wasm / Browser` sont fixes ; le host renseigne la classe `Desktop`/`Phone`/`Tablet`/`Unknown` et le profil `Unknown`/`KeyboardMouse`/`Touch`/`Mixed` à partir des capacités et entrées réellement observées.
|
||||
|
||||
Le shell affiche ces cinq dimensions afin que le smoke puisse confirmer que la provenance évolue lorsqu'un clavier/souris ou un contrôle tactile est utilisé. Le gameplay `game-snake-poc` reste sans dépendance plateforme.
|
||||
|
||||
Reference in New Issue
Block a user