Files
games/deltas/0.3.0/0-pre.4.fix.3.md

3.2 KiB

Delta 0.3.0-0-pre.4.fix.3

Objectif

Aligner le scroll SimpleBar du host Snake Web sur le shell réellement utilisé par les applications Desk KSP après validation réussie du build 0-pre.4.fix.2.

Diagnostic

La comparaison avec ksp-app-*-desk confirme que le package et le Sass SimpleBar étaient présents, mais que le conteneur n'était pas structuré comme la référence :

  • KSP garde app-main comme conteneur de hauteur bornée et non scrollable ;
  • un enfant row h-100 porte la zone centrale ;
  • data-simplebar est attaché à app-content app-scrollable h-100 ;
  • app-scrollable et app-content ont height: 100% / max-height: 100% ;
  • main.ts importe resize-observer-polyfill puis simplebar et installe le polyfill global avant l'initialisation de l'application.

Le point d'entrée TypeScript Snake suit déjà ce dernier contrat ; le défaut se situe donc dans la structure HTML/Sass.

Corrigé

  • data-simplebar est déplacé de app-main vers app-content app-scrollable h-100 ;
  • ajout du conteneur row g-0 h-100 flex-nowrap comme dans le shell KSP ;
  • app-main reste borné à la hauteur disponible entre header et footer ;
  • app-scrollable et app-content portent explicitement height: 100% et max-height: 100% ;
  • la règle GAME-PLATFORM-023 pérennise ce contrat lorsque le shell KSP/SimpleBar est réutilisé ;
  • audit_distribution_layout.py vérifie statiquement que data-simplebar reste sur la zone centrale et que le bootstrap TypeScript/Sass requis est présent ;
  • la documentation frontend et le plan 0.3.0 sont réconciliés ;
  • history/0.3.0/0-pre.4.fix.2.md consigne la validation réussie du build et le défaut visuel restant.

Non modifié

  • gameplay Snake ;
  • bridge WASM et cadence ;
  • ratio Canvas 3 / 5 ;
  • mapping clavier/pointer ;
  • dépendances npm ;
  • lifecycle complet, assets, logging et provenance prévus pour 0-pre.5.

Validation demandée

Depuis la racine :

cargo fmt --all
cargo fmt --all -- --check
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android Web deltas history
python3 scripts/audit_distribution_layout.py
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p game-snake-poc-wasm
cargo build -p game-snake-poc-wasm --target wasm32-unknown-unknown
wasm-bindgen ../builds/sasedev-games/target/wasm32-unknown-unknown/debug/game_snake_poc_wasm.wasm --target web --out-dir ../builds/sasedev-games/game-snake-poc-web/wasm --out-name game_snake_poc_wasm
(cd Web/game-snake-poc && npm install && npm run build && npm run dev)

Smoke navigateur sur http://127.0.0.1:1434/main.html : réduire la hauteur de fenêtre ou utiliser un viewport assez bas pour forcer le dépassement vertical, puis vérifier que seule la zone centrale défile avec SimpleBar tandis que header et footer restent fixes. Vérifier aussi que Canvas, clavier et boutons pointer restent fonctionnels.

Suite

Après validation du scroll SimpleBar, 0-pre.5 peut ouvrir l'intégration plateforme complète prévue par le plan actif.