{
  "base": "c66b83e",
  "date": "2026-10-22",
  "scope": "Lecture du code de production et des captures historiques fournies. Aucun navigateur ni nouvelle observation du jeu en mouvement.",
  "families": [
    {"name":"Navigation principale","priority":"P0","finding":"Les médaillons portent chacun leur cadre, leur ombre et leur cartouche. La capture montre des libellés coupés ; hud-skin.ts et responsive.ts règlent leur taille séparément.","proposal":"Une rangée commune : Journal, Sac, Équipage, Menu, langue. Le portrait mène au personnage ; Expéditions reste accessible depuis Menu. Libellés entiers, mêmes états et raccourcis.","source":"src/standalone/hud-skin.ts:13 ; src/standalone/responsive.ts:57 ; src/standalone/builder/tools.ts"},
    {"name":"Bureau / Mobile / HUD","priority":"P0","finding":"Un sélecteur de commandes occupe le coin de la quête. Il ressemble à un outil de test et répète les réglages d’interface.","proposal":"Réglages > Interface : commandes Auto, souris/clavier ou tactile, et visibilité du HUD. Conserver un moyen évident de réafficher le HUD et les choix manuels.","source":"src/director/preview.ts:1456 ; src/standalone/settings/hud.ts"},
    {"name":"Quête principale et étape","priority":"P0","finding":"Le suivi brun et doré se distingue des panneaux marins. Titre, chapitre, étape et direction prennent beaucoup de hauteur.","proposal":"Un seul suivi : type de quête, titre, objectif actuel, direction. Progression détaillée dans le Journal. Repli en combat, objectif toujours accessible.","source":"src/standalone/builder/quests.ts:60 ; src/standalone/builder/quest-hud.ts"},
    {"name":"Pastille d’histoire et chapitres","priority":"P0","finding":"La pastille d’histoire est un module distinct du suivi de quête, même si responsive.ts les empile désormais.","proposal":"Intégrer l’invitation au chapitre dans le même emplacement que le suivi ; priorité à une décision en cours. Garder l’acte, le chapitre et l’arc dans le Journal.","source":"src/standalone/builder/story.ts ; src/standalone/responsive.ts"},
    {"name":"Quêtes annexes et quêtes partagées","priority":"P0","finding":"La quête d’un autre joueur se retrouve dans sa ligne de groupe. La lecture d’une liste de membres devient une lecture de quêtes.","proposal":"Journal classé : principale, annexes de l’île, quêtes partagées. Un seul objectif suivi. La ligne du membre indique seulement qu’il partage une quête.","source":"src/standalone/multiplayer/party.ts:50 ; src/standalone/multiplayer/party.ts:113"},
    {"name":"Groupe d’habitants","priority":"P0","finding":"Le groupe du Village possède ses propres avatars, jauges et états. Il peut coexister avec le groupe de joueurs.","proposal":"Une présentation commune des membres, sous le titre explicite Groupe · Habitants. Développer PV et effets pendant le combat, détails à la demande hors combat.","source":"src/standalone/builder/village.ts:210 ; src/standalone/beings.ts"},
    {"name":"Groupe de joueurs en ligne","priority":"P0","finding":"Un panneau supplémentaire affiche noms, niveaux, PV, lieux et quêtes ; les repères de distance existent aussi dans le monde.","proposal":"Titre Groupe de joueurs. Distance dans la ligne, état de connexion discret, chat et invitation à portée. Flèche au bord seulement si elle apporte une information utile.","source":"src/standalone/multiplayer/party.ts:40 ; src/standalone/multiplayer/presence.ts"},
    {"name":"Escouade des Players","priority":"P1","finding":"L’escouade Tideborn est encore une autre famille de compagnons. Le mot groupe ne suffit pas à expliquer qui suit le héros.","proposal":"Même composant de membre, section Escouade · Players. Ne jamais confondre un Player avec un habitant qui parle, ni avec un autre humain.","source":"src/ds2/ds2-world-squad.js ; src/standalone/beings.ts:66"},
    {"name":"Noms et barres des créatures","priority":"P0","finding":"La capture répète le nom de la zone. Le moteur prend encore le nom de l’acteur, puis lui ajoute le niveau ; ce nom peut provenir du placement de zone.","proposal":"Nom d’espèce issu du bestiaire. Au repos : repère de groupe ou nom au survol. Au combat : nom de la cible et PV des créatures réellement engagées. Pas de perte d’identité pour les cibles uniques ou boss.","source":"src/standalone/mobs/native-mobs.ts:150 ; src/standalone/builder/mobs.ts:54 ; src/director/DirectorHud.ts"},
    {"name":"Identité des personnages","priority":"P0","finding":"Un nom et une barre ne disent pas qui fait agir le personnage. Le projet possède déjà les sept sortes dans beings.ts.","proposal":"Associer nom, signe et libellé de sorte selon le contexte. Les couleurs de santé restent distinctes des couleurs de sorte. Utiliser la source commune beings.ts.","source":"src/standalone/beings.ts ; src/standalone/builder/village.ts ; src/standalone/multiplayer/presence.ts"},
    {"name":"PV, PM, XP et portrait du héros","priority":"P1","finding":"Les jauges projetées sous le héros peuvent rejoindre les barres des voisins. Les accès Personnage et Sac se concurrencent.","proposal":"Un repère stable du héros avec ses ressources ; le portrait ouvre sa fiche. Décider après essai si une jauge très discrète reste également près du héros en combat.","source":"src/director/DirectorHud.ts ; src/standalone/character/ ; src/standalone/inventory.ts"},
    {"name":"Compétences et raccourcis","priority":"P0","finding":"La roue, les grandes actions et leurs variantes à plus de huit compétences ont leurs propres règles de placement.","proposal":"Même famille de cases, avec états disponible, sélectionné, hors portée, coût insuffisant et recharge. Clavier : barre ; tactile : zones de pouce. Conserver tous les emplacements et le ciblage existants.","source":"src/director/SkillWheel.ts ; src/director/preview.ts:1518 ; src/standalone/responsive.ts:39"},
    {"name":"Joystick, sprint et caméra tactile","priority":"P0","finding":"Le joystick, Sprint et les compétences sont posés séparément. Sur une petite hauteur, les invites doivent encore trouver une place.","proposal":"Deux zones de commande réservées aux pouces. Contrôles au moins 44 px, pas de numéro clavier sur tactile. Invite au-dessus ; aucune fenêtre ne laisse des contrôles actifs derrière elle.","source":"src/director/TouchJoystick.ts ; src/standalone/settings/hud.ts:26 ; src/standalone/responsive.ts"},
    {"name":"Cible, combat et boss","priority":"P0","finding":"Cible, bandeau En combat, barre de boss et journal d’expédition sont des surfaces différentes.","proposal":"Une priorité claire : danger et cible devant le suivi de quête. Barre de boss dans le même emplacement réservé, annonces brèves, effets et télégraphes lisibles dans le monde.","source":"src/standalone/combat/combat-phase.ts ; src/standalone/expedition/ ; src/standalone/hud-skin.ts"},
    {"name":"Bulles et choix de quête","priority":"P0","finding":"L’arrivée est déjà passée en bulles. D’autres dialogues utilisent encore le panneau de conversation ; plusieurs règles de masquage et de caméra coexistent.","proposal":"Étendre le vocabulaire des bulles sans changer questTalk : question sur le locuteur, choix sur le héros, réplique choisie visible. Éviter les autres bulles, les bords et les commandes ; ne jamais faire osciller la caméra entre deux répliques.","source":"src/standalone/world-lab/barrel-arrival.ts ; src/standalone/builder/bonds/dialog.ts ; src/standalone/builder/bonds/quest-talk.ts"},
    {"name":"Cercle et interactions libres","priority":"P1","finding":"Le système basique et le système d’interaction par quête ont des fonctions différentes. Les uniformiser ne doit pas effacer cette distinction.","proposal":"Même matière et mêmes boutons. Garder le cercle pour le système basique ; la quête ouvre directement son échange. Autre chose reste une sortie explicite vers le système basique.","source":"src/standalone/builder/bonds/pie.ts ; src/standalone/builder/bonds/wheel.ts ; src/standalone/builder/village.ts"},
    {"name":"Sac, objets et comparaison","priority":"P1","finding":"Le sac comporte déjà équipement réel, apparence distincte et comparaison. Il combine une autre famille de boutons et de cadres.","proposal":"Conserver toutes les informations de Tales of Pirates : requis, durabilité, attributs, bonus et effet sur le héros. Appliquer les surfaces communes ; comparaison alignée avec signes + / −, action principale unique.","source":"src/standalone/inventory.ts ; src/ds2/ds2-world-bagui.js ; src/standalone/character/"},
    {"name":"Fiches, équipage, journal et boutiques","priority":"P1","finding":"Ces grandes fenêtres ont leurs propres en-têtes, croix, onglets et pieds. Certaines utilisent encore le parchemin.","proposal":"Un gabarit de fenêtre commun : titre, fermeture, navigation, contenu défilant et pied fixe. Le contenu conserve son identité ; le cadre et les interactions restent constants.","source":"src/standalone/builder/crew.ts ; src/standalone/builder/bonds/sheet.ts ; src/standalone/hud-skin.ts"},
    {"name":"Navigation en bateau","priority":"P1","finding":"Le HUD du bateau et les appels de personnages partagent le bas d’écran avec les commandes à terre.","proposal":"La navigation devient un état du même HUD : bateau, barre et actions contextuelles remplacent les commandes à terre. Ne pas additionner deux barres complètes.","source":"src/standalone/builder/boats/boat-hud.ts ; src/standalone/responsive.ts"},
    {"name":"Réglages et outils admin","priority":"P0","finding":"Le tiroir Outils rassemble de nombreux accès. Les outils sont déjà soumis aux droits, mais leur style ressemble encore aux actions de jeu.","proposal":"Réglages regroupés ; entrée Administration visible selon les droits existants. En édition, une zone d’outils assumée. Les joueurs gardent une interface de jeu simple.","source":"src/standalone/admin/rights.ts ; src/standalone/builder/tools.ts ; src/standalone/settings/ui.ts"},
    {"name":"Bêta, langue, compte et notifications","priority":"P1","finding":"Plusieurs pastilles permanentes ou temporaires se placent indépendamment, avec des corrections de chevauchement spécifiques.","proposal":"Un emplacement de service et une file d’annonces. Priorité aux erreurs de sauvegarde/compte ; bêta discrète. Sur mobile, le rangement de la langue dans Menu est une proposition à confirmer, car la règle actuelle la garde visible.","source":"src/standalone/beta.ts ; src/standalone/i18n/picker.ts ; src/standalone/account/ ; src/standalone/live-update.ts"},
    {"name":"Signalement et mise à jour en direct","priority":"P0","finding":"Les signalements et la reprise automatique doivent continuer à fonctionner pendant la refonte. Les captures d’interface sont un élément du diagnostic.","proposal":"F8 et Signaler toujours atteignables. Toute nouvelle fenêtre protégée reçoit data-c2-modal. Rejouer la capture DOM, la mise à jour différée et le retour de position après chaque lot intégré.","source":"src/standalone/report/ ; src/standalone/live-update.ts ; tests/live-update.test.ts"},
    {"name":"Placement et couches communes","priority":"P0","finding":"responsive.ts empile déjà plusieurs blocs et hudObstacles.ts mesure des obstacles. Les styles restent distribués et des z-index très différents subsistent.","proposal":"Faire évoluer ces briques en un placement partagé et des couches nommées. Aucun panneau ne choisit seul une position fixe au coin d’écran. Éviter d’ajouter une nouvelle couche de surcharges CSS.","source":"src/standalone/responsive.ts ; src/ui/hudObstacles.ts ; src/standalone/builder/village.ts:643"}
  ]
}
