--- name: tickets-70-100-102-ux-surface-scoping description: memory note tickets-70-100-102-ux-surface-scoping metadata: type: project --- --- title: Cadrage UX tickets #70 #100 #102 — modèles locaux et bugs terminal type: design description: Surface utilisateur attendue pour supprimer les modèles llama.cpp téléchargés, et règle UX pour les bugs de scroll/fit OpenCode qui doivent être corrigés sans nouvelle UI. --- # Cadrage UX tickets #70 #100 #102 ## #70 — Gestion des modèles locaux téléchargés Ajouter une affordance humaine de suppression des artefacts de modèles téléchargés par les serveurs locaux llama.cpp, dans la surface existante `Local model servers` / configuration OpenCode locale. Principes visibles : - La suppression d'un serveur déclaré et la suppression du fichier modèle téléchargé sont deux actions distinctes. - Une action destructive sur le fichier modèle doit être explicite, confirmée, et impossible pendant un usage actif/téléchargement du même artefact. - Le libellé doit parler de `modèle téléchargé`, pas de cache interne ou chemin technique en premier niveau. - Les modèles issus d'un `localPath` utilisateur ne doivent jamais être proposés à la suppression comme s'ils appartenaient à IdeA. États attendus par serveur : - Aucun modèle téléchargé connu : aucun bouton de suppression de modèle, ou bouton désactivé avec tooltip `Aucun modèle téléchargé par IdeA`. - Modèle téléchargé disponible : bouton secondaire/destructif `Supprimer le modèle téléchargé`. - Téléchargement/préparation en cours : action désactivée, texte `Téléchargement en cours`. - Serveur/agent utilisant ce modèle : action désactivée, texte `Modèle utilisé par un agent en cours`. - Suppression en cours : ligne locale occupée, action désactivée, message `Suppression du modèle...`. - Succès : toast/status non bloquant `Modèle téléchargé supprimé` ; la configuration serveur reste présente. - Échec : alerte inline `Impossible de supprimer le modèle téléchargé : `. Confirmation : - Titre : `Supprimer le modèle téléchargé ?` - Corps : `Le serveur local restera configuré, mais IdeA devra retélécharger ce modèle au prochain lancement.` - Si la taille est connue : ajouter `Espace libéré : .` - Action principale destructive : `Supprimer le modèle` - Action secondaire : `Annuler` ## #100 — Scroll OpenCode Pas de décision UX spécifique. Le comportement attendu est celui d'une cellule terminal native : l'utilisateur peut remonter dans le scrollback OpenCode jusqu'à la limite de rétention disponible, avec molette, trackpad, scrollbar et clavier, sans blocage prématuré propre à OpenCode. Ne pas ajouter de bouton, message ou mode spécial OpenCode. QA doit valider le comportement visible dans une cellule OpenCode longue. ## #102 — Fit TUI après switch/layout/ajout cellule Pas de nouvelle surface UX spécifique. Le terminal doit s'afficher correctement automatiquement après switch de projet, switch de layout, ajout/suppression/split/resize de cellules et rattachement d'une session existante. Ne pas afficher de message demandant à l'utilisateur de redimensionner. Éviter tout flash durable vide/noir ; un voile technique transitoire n'est acceptable que s'il reste très bref et non bloquant.