État durable de `.ideai/` accumulé pendant le chantier `idea-serve`, séparé du code applicatif conformément aux précédents `8e481ae` / `ad1f225`. - Tickets : #13 clôturé (server/client mode livré), #65 passé en QA avec son carnet de chantier complet (arbitrages Architect sur le propriétaire canonique des DTO, structure livrée, vérif QA, incident de topologie et sa leçon). #64/#66/#67 rattachés au sprint. Nouveaux tickets #68 (activer le serveur depuis le desktop, dépend de #65), #69 (adaptabilité client téléphone, en QA) et #70 (gestion des modèles locaux llama.cpp). - Mémoire : note `web-client-is-single-column-no-desktop-shell` — le client web n'a pas de shell desktop, à lire avant tout cadrage responsive sur cette surface. - Journal des tâches de fond : complétions enregistrées. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.0 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| web-client-is-single-column-no-desktop-shell | memory note web-client-is-single-column-no-desktop-shell |
|
Le client web n'a pas de shell desktop (ni docks, ni layout grid)
Constat établi en livrant le ticket #69 (adaptibilité téléphone), sur develop @ 506d589.
Le fait
Le client web livré par #13 (VITE_TRANSPORT=http) n'a jamais eu de docks
gauche/droite, de fenêtres flottantes, de LayoutTree, de tabs projet, de menus ni
de toasts. main.tsx route isWeb vers WebApp, qui est une surface autonome :
WebApp→PairingScreenouWebWorkspace(rien d'autre) ;WebWorkspace→ une colonne verticale unique (flex flex-col overflow-y-auto) ;WebAgentCell→TerminalView.
Les seuls imports @/features/* de tout features/web/ sont terminals et
workstate/useProjectWorkState. Le shell desktop (App, layout, docks) n'est
atteignable que par la branche non-web de main.tsx.
Pourquoi ça compte
Le cadrage de #69 prévoyait un lot « remplacer les docks gauche/droite/floating par
une pile verticale, drawer ou bottom sheet ». Ce lot était sans objet : il n'y a
pas de dock à remplacer, et l'arbitrage produit « bottom sheet vs drawer » ne se pose
pas sur cette surface. Le vrai travail téléphone était ailleurs (terminal xterm
pilotable au doigt, dvh, safe-area, rangées qui débordent à 360px).
Avant de cadrer un ticket « responsive / mobile » sur le client web, partir de
features/web/, pas du shell desktop. Les deux surfaces ne partagent que
TerminalView et les hooks transport-neutres.
Garde en place
frontend/src/features/web/WebMobile.test.tsx épingle la frontière : le client web
ne doit monter aucun layout-grid / layout-grid-container / layout-split /
layout-tabs. Si un jour on veut du desktop-shell dans le web, ce test tombe — et
c'est le signal qu'il faut re-cadrer, pas le supprimer.
Voir aussi ui-rework-sprint-scoping-contracts.