Tests du HUD¶
HUD-001 — Date, heure et synchronisation¶
Prérequis : medusa-hud et medusa-time-weather démarrés, un joueur connecté.
- Tester le mode temps réel avec des décalages positifs et négatifs.
- Tester le mode GTA et observer plusieurs changements rapides de minute puis un changement de jour.
- Modifier l'heure depuis chacune des administrations et reconnecter un second joueur.
Attendu : l'encart inférieur droit affiche la même heure que le monde, une date cohérente, le bon mode et la nouvelle configuration dès sa synchronisation. Les deux joueurs voient les mêmes valeurs.
HUD-002 — Buffs et migration¶
Prérequis : buffs temporaires et passifs disponibles.
- Appliquer plusieurs buffs, dont deux instances identiques et un passif.
- Vérifier les timers et expirations, puis redémarrer séparément
medusa-hudetmedusa-buffs. - Confirmer que
medusa-buffsn'ouvre plus sa propre NUI.
Attendu : la pile supérieure droite conserve son apparence et son comportement, sans doublon ni fond noir. Après un redémarrage du HUD, l'état réapparaît au prochain rafraîchissement des buffs.
HUD-003 — Présentation et visibilité¶
Prérequis : HUD alimenté en date/heure et en buffs.
- Tester en 1280×720, 1920×1080, ultralarge et avec une safe zone GTA réduite.
- Ouvrir et fermer le menu pause plusieurs fois.
- Activer la préférence de réduction des animations.
Attendu : le monde reste visible, les deux zones ne se chevauchent pas, le HUD ne capture aucune
entrée, disparaît pendant la pause et revient sans clignotement. Les animations sont supprimées avec
prefers-reduced-motion.
HUD-004 — Régression du fond sombre¶
Prérequis : medusa-hud démarré et écran de sélection de personnage visible sur le monde.
- Vérifier la sélection avant et après le démarrage de
medusa-hud. - Entrer en jeu avec puis sans buff actif.
- Ouvrir et fermer le menu pause.
- Inspecter le document HUD et confirmer l'absence de wrapper plein écran,
color-scheme, filtre, backdrop, opacité ou transformation sur la racine.
Attendu : le monde et le personnage restent visibles à travers la sélection puis en jeu. Seuls les panneaux bornés des buffs et de l'horloge ont un fond sombre.
HUD-005 — Handshake et premier affichage¶
Prérequis : ressources HUD, météo et buffs arrêtées.
- Démarrer les trois ressources dans l'ordre normal puis dans l'ordre HUD en dernier.
- Vérifier la trace F8
[medusa-hud] nui_ready. - Chronométrer l'apparition de l'heure sans attendre un changement manuel de configuration.
- Redémarrer uniquement
medusa-hudavec des buffs actifs.
Attendu : l'heure et les buffs apparaissent dans la seconde suivant nui_ready, dans les deux
ordres de démarrage, sans fond sombre ni duplication des instances.
Les traces contiennent ensuite [medusa-hud] first_datetime_received.
HUD-006 — Mise à jour du volume persistant¶
Prérequis : un volume fivem_resources contenant une ancienne version de medusa-hud,
medusa-buffs et medusa-time-weather.
- Reconstruire l'image FiveM puis recréer uniquement le conteneur en conservant le volume.
- Vérifier les traces de miroir des trois ressources avant le démarrage de FXServer.
- Se connecter, sélectionner un personnage et observer F8 puis l'angle inférieur droit.
Attendu : les anciennes copies sont remplacées, F8 contient [medusa-hud] nui_ready puis
first_datetime_received, l'horloge apparaît sans panneau plein écran et aucun volume ne doit être
supprimé manuellement.
HUD-007 — Minimap de navigation AR¶
Prérequis : personnage sélectionné, medusa-hud, medusa-world-control et la ressource de carte
démarrés.
- Observer la sélection de personnage puis entrer en jeu à pied et en véhicule.
- Tester en 16:9, 16:10, 21:9 et 32:9, avec plusieurs valeurs de zone sûre GTA.
- Vérifier la carte, son masque, son flou, les routes GPS et les blips aux quatre résolutions.
- Sur les formats 21:9 et 32:9, confirmer que la carte elle-même est visible à l'intérieur du cadre AR, sans espace horizontal entre les deux ni partie repoussée hors écran. Vérifier que les routes, noms de rues et textures sont découpés aux quatre limites du cadre, notamment que le bord droit du Scaleform coïncide avec le coin turquoise inférieur droit.
- Pour chaque résolution, relever la trace F8
[medusa-hud] minimap_layoutet vérifier queleft,top,widthetheightsont positifs, avecleft + width <= 1ettop + height <= 1. - Ouvrir/fermer la pause, modifier la zone sûre, changer de résolution puis redémarrer uniquement
medusa-hud. Confirmer que le cadre se recale sans apparition à sa position CSS de secours. - Confirmer que la texture cartographique, la flèche joueur et le nord restent visibles après le recalage et ne sont jamais remplacés par un simple rectangle translucide.
- Modifier santé, armure et endurance afin de tenter de faire réapparaître les jauges natives.
Attendu : aucun radar ni cadre n'apparaît avant le spawn. Ensuite, les trois composants restent alignés sur l'ancrage gauche natif, y compris en ultralarge. Le cadre AR épouse la minimap sans fond opaque ni capture d'entrée ; blips et GPS restent fonctionnels. Aucune jauge de santé, armure ou capacité n'apparaît, y compris après pause, changement de résolution ou redémarrage HUD.
Capture ARPhone¶
Lancer une photo depuis F2 et vérifier que HUD/radar sont absents de la capture, puis restaurés avant le retour à l'ARPhone, y compris après Retake et Cancel.
HUD-008 — Compteur personnalisable¶
- Capturer
CLASSIC,D6 STREETetD7 RACINGà 60, 100 et 140 % en 1280×720, 1920×1080, 16:10, 21:9 et 32:9, puis répéter en Automatique/Jour/Nuit. - Pour chaque combinaison, placer le cadran aux quatre bords, au centre et en bas-centre avec zones sûres GTA minimale et maximale. Aucun sprite, aiguille ou clignotant ne doit être rogné.
- Modifier résolution et zone sûre à chaud près d'un bord, puis revenir. Le rendu peut être borné, mais le GET API et la position désirée doivent rester identiques et aucun PATCH ne doit partir.
- Déclencher pause, mort, accélération, changement de siège, sortie et restart isolé du HUD puis de
medusa-vehiclespendant un brouillon. Le permanent revient proprement, le brouillon disparaît et aucune commande ne reste bloquée. - Masquer le compteur, ouvrir l'éditeur puis fermer par Annuler, Échap et F5. L'aperçu est visible seulement pendant l'édition et l'état permanent revient exactement masqué.
- Vérifier que
K, Page précédente et Page suivante n'ont plus aucun mapping ni effet compteur ou véhicule.
Attendu : monde toujours visible, aucune racine/pseudo-élément opaque, aucune valeur inventée,
safe zone suivie et KM/H partout. npm test doit inclure vehicle-speedometer.test.mjs et
nui-transparency.test.mjs avant toute livraison.
Comparaison aux maquettes canoniques¶
- Régénérer les aperçus dans un répertoire temporaire avec
..\.venv\Scripts\python.exe tools\export-speedometer-previews.py --upstream <checkout-amont> --output <temp>, puis comparer les six PNG et le manifeste à ceux distribués. - Vérifier les SHA-256 exacts de
default.ytd,id6.ytd,id7.ytd, des trois Lua et de la licence au commit1e150965034d575ea3eb3ffebe7bd0fa848daf79. Aucun runtime, KVP,default_middleou son amont ne doit être présent. - Servir temporairement
fivem/puis ouvrirtests/fixtures/vehicle-speedometer-visual.html?mode=f5&theme=classic&scale=100&lighting=day. Répéter avecd6_street,d7_racinget les deux éclairages. Les cartes doivent afficher les exports complets, rester transparentes et ne contenir aucun SVG de substitution. - En jeu, capturer le renderer natif à 1280×720, 1920×1080, 16:10, 21:9 et 32:9 pour les trois thèmes, Jour/Nuit et échelles 60/100/140. Comparer directement aux compositions amont : coordonnées, rotations, calques et silhouette doivent rester reconnaissables sans coque Medusa.
- Vérifier que
KM/Hest la seule unité affichée et que le décor demeure visible autour du cadran. Forcer l'échec de D6/D7 : CLASSIC s'affiche, un seul diagnostic apparaît et F5 bloque l'application du thème fautif. - Utiliser le harness CEF uniquement pour les cartes F5, l'overlay de placement et le garde-fou de
transparence. Chromium ne peut pas capturer les
DrawSprite; ne jamais présenter ce harness comme une preuve visuelle du compteur natif.
Les hashes et aperçus automatisés prouvent identité des sources, export reproductible et transparence F5 ; l'acceptation du rendu natif des trois thèmes reste une recette humaine en jeu avant clôture de la révision.
Compteur enrichi¶
Tester type, pourcentage, mode compact/détaillé, autonomie/moyenne ou — sur les trois thèmes sans
modifier leurs hashes, taille, position ou éclairage. La matrice est dans
Tests du système énergie.