# Pet Route Planner 0.50.15

## Canal de guidage dans l’assistant — V0.50.15

- L’étape **Tracker** de l’assistant propose maintenant quatre cartes : **Automatique**, **PRP**, **TomTom** et **Blizzard**.
- Le mode Automatique affiche directement son ordre de priorité : PRP, puis TomTom, puis le repère natif Blizzard.
- La carte TomTom indique si l’addon est détecté et devient indisponible lorsqu’il ne peut pas être utilisé.
- Le choix reste un aperçu tant que la configuration n’est pas appliquée ; il ne perturbe donc pas un guide déjà actif.
- Après validation, le canal est enregistré et l’étape courante est réémise immédiatement avec les replis sûrs existants.

## Guidance channel in the setup wizard — V0.50.15

- The setup wizard's **Tracker** step now offers four cards: **Automatic**, **PRP**, **TomTom**, and **Blizzard**.
- Automatic mode shows its priority order directly: PRP, then TomTom, then Blizzard's native waypoint.
- The TomTom card reports whether the addon is detected and becomes unavailable when it cannot be used.
- The choice remains a preview until the configuration is applied, so it cannot disrupt an active guide.
- Once confirmed, the channel is saved and the current step is immediately reissued with the existing safe fallbacks.

## Téléportations clairement guidées — V0.50.14

- Les pierres de foyer et autres téléportations personnelles ne sont plus présentées comme une flèche directionnelle alors qu’aucun cap n’existe à suivre.
- PRP affiche maintenant l’icône de l’objet à utiliser, son nom exact et la destination sur des lignes distinctes.
- La consigne générique « Utilisez la téléportation » n’est plus répétée sous l’instruction complète.
- Le texte précise que PRP poursuivra automatiquement le trajet après le changement de zone.
- Si l’icône de l’objet est momentanément indisponible, le texte reste complet et le guidage continue sans erreur.

## Clear personal-teleport guidance — V0.50.14

- Hearthstones and other personal teleports are no longer presented as a directional arrow when there is no bearing to follow.
- PRP now displays the item icon, its exact name, and the destination on separate lines.
- The generic “Use the teleport” prompt is no longer repeated below the full instruction.
- The text makes it clear that PRP will continue the route automatically after the zone transition.
- If the item icon is temporarily unavailable, the complete text remains visible and guidance continues safely.

## Fenêtre principale sûre en combat — V0.50.13

- La grande fenêtre de Pet Route Planner se ferme maintenant immédiatement dès l’entrée en combat.
- Elle ne peut pas être rouverte par l’icône, le menu ou un raccourci tant que le combat continue.
- Le tracker, la flèche et le guide actif restent visibles et poursuivent normalement leur suivi.
- La fermeture d’un assistant ou de la fiche d’un circuit pendant le combat ne peut plus faire réapparaître la fenêtre principale.
- PRP ne rouvre rien automatiquement à la fin du combat : l’utilisateur garde le contrôle.

## Combat-safe main window — V0.50.13

- Pet Route Planner’s main window now closes immediately when combat begins.
- It cannot be reopened from the icon, menu, or a shortcut while combat is in progress.
- The tracker, arrow, and active guide remain visible and continue tracking normally.
- Closing the setup wizard or route sheet during combat can no longer restore the main window.
- PRP does not reopen anything automatically when combat ends, keeping the user in control.

## Assistant réellement isolé — V0.50.12

- L’assistant devient une vraie fenêtre modale : la fiche de collection et ses modèles sont masqués pendant la configuration, puis restaurés proprement à la fermeture.
- Un voile plein écran intercepte les clics et un fond entièrement opaque empêche désormais les boutons, portraits et cartes de transparaître sous le thème WoW ou ElvUI.
- Les quatre pages commencent toutes sous la barre d’étapes ; le rail ne chevauche plus les réglages de la page Tracker.
- L’aperçu Apparence n’est plus un petit tracker perdu au milieu d’un grand rectangle vide : le vrai tracker s’affiche à une taille utile, accompagné d’une explication claire et du thème réellement prévisualisé.
- L’assistant peut utiliser sa taille nominale sur les écrans qui le permettent, tout en conservant son ajustement automatique jusqu’à 1024 × 768.

## A truly isolated setup wizard — V0.50.12

- The setup wizard is now genuinely modal: the collection sheet and its models are hidden during configuration, then cleanly restored when the wizard closes.
- A full-screen input shield and fully opaque background prevent buttons, portraits, and cards from bleeding through either the WoW or ElvUI theme.
- All four pages now start below the step rail, eliminating overlap with Tracker settings.
- The Appearance preview no longer leaves a tiny tracker floating in a large empty rectangle: the real tracker is shown at a useful size alongside a clear explanation and the theme actually being previewed.
- The wizard can use its nominal size on screens that allow it while retaining automatic fitting down to 1024 × 768.

## Guidage vertical fiable — V0.50.11

- Les étapes dont le graphe connaît réellement le niveau affichent maintenant un repère **MONTEZ** ou **DESCENDEZ** sous la distance.
- Ce repère possède une icône et une couleur propres, sans fond ni cadre noir supplémentaire, et sa taille suit uniquement le réglage du texte.
- Le tracker reprend la même indication sur la ligne de contexte, avant le détail comme **« À l’étage, dans la salle des portails »**.
- La direction et la distance de la flèche restent volontairement calculées en 2D : PRP n’invente jamais une altitude ou un dénivelé à partir des seules coordonnées de carte.
- Un portail extérieur, une salle sans niveau documenté ou une donnée ambiguë ne reçoit aucun ordre vertical.

## Trusted vertical guidance — V0.50.11

- Steps whose floor is genuinely known by the route graph now display a **GO UP** or **GO DOWN** cue below the distance.
- The cue has its own icon and color, adds no black background or frame, and follows only the text-size setting.
- The tracker repeats the same cue on its context line before details such as **“Upstairs, inside the portal room.”**
- Arrow bearing and distance deliberately remain 2D: PRP never invents altitude or elevation from map coordinates alone.
- Outdoor portals, rooms without a documented level, and ambiguous data receive no vertical instruction.

## Ne pas déranger automatique en instance — V0.50.10

- Les alertes **Autour de moi** passent automatiquement en mode **Ne pas déranger** dans les donjons, raids, scénarios, champs de bataille et arènes.
- La préférence manuelle n’est jamais écrasée : en quittant l’instance, PRP retrouve exactement l’état précédent.
- Le réglage est disponible dans **Options > Autour de moi**, dans le menu de la mini-carte et dans l’étape **Découverte locale** de l’assistant.
- L’icône, la pastille et la fenêtre de proximité utilisent toutes le même état effectif afin d’éviter une notification résiduelle pendant l’instance.

## Automatic Do Not Disturb in instances — V0.50.10

- **Nearby** alerts automatically switch to **Do Not Disturb** in dungeons, raids, scenarios, battlegrounds, and arenas.
- The manual preference is never overwritten: when leaving the instance, PRP restores the exact previous state.
- The setting is available under **Options > Nearby**, in the minimap menu, and on the setup wizard’s **Local discovery** step.
- The icon, badge, and Nearby window all use the same effective state, preventing residual notifications while inside an instance.

## Des indications de lieu comme dans un vrai guide — V0.50.9

- Les transports documentés affichent désormais une action courte et précise, par exemple **« Empruntez le portail vers Lune-d’Argent »**, au lieu d’une longue phrase générique.
- Une seconde ligne indique le contexte connu, comme **« À l’étage, dans la salle des portails »** ou **« Au niveau inférieur, dans la salle des portails »**.
- Ces détails apparaissent dans le tracker, sous la flèche avec la durée estimée, et dans l’aide d’arrivée.
- PRP déduit l’étage uniquement depuis les liaisons structurées du graphe entre le portail et les niveaux de la salle. Un portail extérieur ou non documenté conserve volontairement la consigne générique.
- Les salles des portails de Hurlevent et d’Orgrimmar bénéficient immédiatement de ce guidage contextuel, notamment le portail d’Orgrimmar vers Lune-d’Argent montré dans l’exemple utilisateur.

## Location hints like a real guide — V0.50.9

- Documented transports now show a short, precise action such as **“Take the portal to Silvermoon City”** instead of a long generic sentence.
- A second line provides known context such as **“Upstairs, inside the portal room”** or **“On the lower level, inside the portal room.”**
- These details appear in the tracker, below the arrow alongside the estimated duration, and in arrival help.
- PRP derives the floor only from structured graph links between the portal and the portal-room levels. Outdoor or undocumented portals deliberately keep the generic instruction.
- Stormwind and Orgrimmar portal rooms immediately benefit from this contextual guidance, including the Orgrimmar-to-Silvermoon portal shown in the user's example.

## Flèche et texte redimensionnables séparément — V0.50.8

- La taille de l’image de la flèche et celle de ses textes sont maintenant deux réglages indépendants : agrandir l’une ne déforme plus l’autre.
- Deux curseurs dédiés sont disponibles dans **Options → Navigation** et dans l’étape **Tracker** de l’assistant.
- La flèche se règle de 50 à 200 %, le texte de 70 à 180 %, avec aperçu immédiat dans le guidage actif et valeurs lisibles en pourcentage.
- Lors de la migration, l’ancien réglage unique est repris pour les deux tailles afin de conserver l’apparence actuelle ; les modifications suivantes restent indépendantes et persistent après `/reload`.
- Le menu obtenu par clic droit sur la flèche propose aussi de réduire ou d’agrandir séparément l’image et le texte.

## Independently resizable arrow and text — V0.50.8

- The arrow image and its labels now have two independent size settings: enlarging one no longer distorts the other.
- Two dedicated sliders are available in **Options → Navigation** and in the setup assistant's **Tracker** step.
- The arrow ranges from 50 to 200%, while text ranges from 70 to 180%, with immediate updates on active guidance and clear percentage values.
- During migration, the former single scale is copied to both settings to preserve the current appearance; later changes remain independent and persist across `/reload`.
- The arrow's right-click menu can also shrink or enlarge the image and text separately.

## Fenêtre de circuit réellement modale — V0.50.7

- La carte de route possède maintenant un fond entièrement opaque et un voile qui bloque les clics derrière elle.
- La fiche principale est temporairement masquée pendant la préparation, puis restaurée à la fermeture ou au démarrage du circuit.
- Les modèles 3D, cartes et panneaux de la fiche ne peuvent plus traverser ou recouvrir la fenêtre de préparation.

## Truly modal circuit window — V0.50.7

- The route sheet now has a fully opaque background and a shield that blocks clicks behind it.
- The main collection view is temporarily hidden during preparation, then restored when the sheet closes or the circuit starts.
- 3D models, maps and panels from the collection view can no longer bleed through or cover the preparation window.

## Carte de route détaillée et finitions visuelles — V0.50.6

- La préparation d’un circuit devient une vraie carte de route : chaque checkpoint affiche son trajet depuis le point précédent, sa durée, ses étapes de transport et l’action locale à accomplir.
- Les trajets peuvent détailler la marche, les portails, les bateaux, les zeppelins, les trams et les vols lorsque le graphe les connaît ; un segment incertain est annoncé comme devant être recalculé au lieu d’être inventé.
- Le premier itinéraire est ouvert par défaut ; **Tout détailler** permet de déplier l’ensemble de la feuille de route sans perdre la permutation des checkpoints ni l’ordre personnalisé.
- Le séparateur entre l’ancienne et la nouvelle version utilise désormais un caractère pris en charge par les polices du jeu.
- Les actions de langue et de configuration sont réalignées, et la galerie de vingt flèches tient maintenant dans sa fenêtre sur quatre colonnes.
- L’assistant réserve un espace cohérent à la galerie complète au lieu de superposer ses choix à l’aperçu du tracker.
- La flèche de guidage est légèrement agrandie et ses textes disposent de davantage de largeur, sans réintroduire de fond ni de cadre imposé.

## Detailed route sheet and visual polish — V0.50.6

- Circuit preparation is now a true route sheet: each checkpoint shows the route from the previous point, its duration, transport steps and the local action to complete.
- Routes can detail walking, portals, ships, zeppelins, trams and flights when the graph knows them; an uncertain leg is explicitly marked for recalculation instead of being invented.
- The first itinerary is expanded by default; **Expand all** opens the full route sheet without losing checkpoint swapping or the custom order.
- The separator between the previous and current versions now uses a glyph supported by the game fonts.
- Language and configuration actions are aligned, while the twenty-arrow gallery now stays inside its window using four columns.
- The setup assistant reserves coherent space for the complete gallery instead of overlapping it with the tracker preview.
- The guidance arrow is slightly larger and its labels have more room, without bringing back a forced background or frame.

## Préparation et reprise des circuits — V0.50.5

- PRP propose d’abord un ordre optimisé au lieu de démarrer le circuit immédiatement.
- Un écran de préparation affiche tous les checkpoints numérotés, leur destination et la durée estimée.
- Cliquez un premier checkpoint puis un second pour permuter leurs positions ; l’ordre personnalisé reste stable pendant le circuit.
- Le bouton **Réoptimiser** restaure à tout moment la proposition automatique calculée depuis votre position.
- Les numéros affichés sur la grande carte restent les numéros absolus du circuit, même après plusieurs arrêts terminés.
- Après une déconnexion ou un `/reload`, PRP restaure le checkpoint courant par clé stable, puis par collection et source si les coordonnées ont évolué.
- L’écran de préparation est navigable au clavier et suit aussi bien le thème WoW natif que le thème ElvUI.

## Repères temporaires hors circuit — V0.50.4

Le mode de carte par défaut est désormais **Guide / circuit seulement**. Le
repère d’une mascotte suivie individuellement apparaît pendant son guide, puis
disparaît dès que le guide est terminé ou arrêté. Il ne devient donc plus un
marqueur permanent par simple consultation ou lancement ponctuel.

Les arrêts explicitement choisis dans un circuit continuent d’être affichés
selon le réglage **Cible actuelle** ou **Tout le circuit**. Les vues de
catalogue **À obtenir** et **Toutes les collections** restent disponibles dans
Options et les menus rapides, mais elles doivent maintenant être choisies
volontairement. La migration remplace l’ancien mode par défaut « À obtenir »
par ce comportement temporaire sans écraser un choix explicite « Toutes les
collections ».

## Repères ronds ou carrés sur la grande carte — V0.50.3

Les repères PRP de la carte du monde peuvent maintenant adopter une forme
**ronde** ou **carrée**. Le choix s’applique aux mascottes, aux jouets, aux
groupes de collections et aux étapes de circuit, sans retirer la couleur du
type, l’avertissement ni le numéro de passage.

Le réglage est disponible dans **Options → Carte**, dans le menu rapide de la
mini-carte et dans l’étape **Découverte** de l’assistant. L’aperçu de
l’assistant change réellement la forme des exemples avant validation. Le choix
est conservé après `/reload` ; une installation existante garde d’abord ses
repères carrés, tandis qu’une nouvelle configuration propose les repères ronds.

## Vingt styles de flèche, sans fond imposé — V0.50.2

La flèche de guidage propose maintenant une galerie de vingt rendus. Aux styles
**Aventure 3D**, **Moderne 3D** et **Minimal 2D** s’ajoutent **Gel fluo**,
**Bloc carmin**, **Curseur violet**, **Olive satinée**, **Turbo arcade**,
**Lance cobalt**, **Boussole arcanique**, **Braise ardente**,
**Givre cristallin**, **Feuille sauvage**, **Vide astral**,
**Lumière sacrée**, **Cuivre mécanique**, **Hologramme cyan**,
**Pixel rétro**, **Encre peinte** et **Bonbon rose**.

Les vingt aperçus sont disponibles dans l’assistant, dans Options et dans le menu
rapide de la flèche. La sélection reste accessible au clavier, persiste après
`/reload` et ne modifie ni la taille ni la position déjà choisies. Chaque
texture utilise un vrai canal transparent contrôlé, sans fond noir ni cadre
décoratif imposé.

## Une base de publication ultra consolidée — V0.50.0

Toutes les fenêtres interactives utilisent désormais le même langage :
**Tab/Maj+Tab** pour circuler, **Entrée/Espace** pour agir et **Échap** pour
fermer proprement. Cela inclut les diagnostics, les rapports copiables, les
retours, les nouveautés, les alertes **Autour de moi** et les invitations du
Journal. Le focus reste invisible à la souris et n’apparaît qu’à la navigation
clavier ; aucun bouton ne conserve un cadre permanent.

La 0.50.0 ajoute aussi un contrat de publication qui verrouille la version, le
TOC, les modules, le schéma de sauvegarde, les bindings et l’identifiant des
nouveautés. La candidate, le contenu réellement extrait du ZIP et
l’installation WoW sont validés séparément avant livraison.

Cette passe ne réinitialise aucun réglage : favoris, journal, circuits, thème,
format du tracker, style de flèche, positions et progression active restent
normalisés par le schéma existant. La fenêtre **Nouveautés** possède un nouvel
identifiant et ne doit donc apparaître qu’une fois après acquittement.

## Des états visuels qui ne restent plus coincés — V0.49.0

Le survol, la sélection et le focus clavier sont maintenant trois états
distincts. Les boutons sélectionnés utilisent un trait fin accordé au thème ;
ils ne verrouillent plus le survol natif. Le contour de focus est invisible à
la souris, apparaît dès la première navigation clavier, suit la commande active
et disparaît lors du retour au pointeur.

Le changement de thème recolore immédiatement le focus, y compris dans
l’aperçu transactionnel de l’assistant. Les fenêtres principales, Options,
l’assistant et les dialogues utilisant le contrôleur partagé ne peuvent donc
plus conserver la couleur ou la position d’un ancien focus.

Cette version consolide aussi le socle complet avant installation : sauvegarde,
reprise de route, contraintes de combat, scénarios, proximité, carte,
localisation et états dégradés sont rejoués par la validation automatisée. La
fenêtre Nouveautés possède un nouvel identifiant de contenu : elle s’affiche une
fois pour cette version, puis reste acquittée aux connexions suivantes.

## Une progression qui ne triche pas — V0.48.9

L’étape **Découverte** possède maintenant son propre aperçu compact : état de la
pastille de proximité, visibilité de l’icône de mini-carte et types de repères
apparaissent ensemble avant validation. Le tracker réel reste réservé aux
écrans Apparence et Tracker.

Une coche signifie désormais qu’un écran a réellement été parcouru. Aller
directement au Résumé ne marque plus artificiellement les étapes intermédiaires
comme terminées. Le résumé n’est aussi calculé qu’une seule fois : un ancien
bloc technique immédiatement écrasé a été retiré.

Cette passe conserve l’identifiant des nouveautés de la refonte native. Elle ne
rouvre donc pas la fenêtre d’annonce déjà acquittée. Après `/reload`, contrôler
en priorité l’aperçu Découverte, les sauts entre onglets et les coches lors des
retours en arrière.

## L’assistant va droit au but — V0.48.8

L’écran d’accueil passif disparaît. L’assistant commence immédiatement par un
choix utile et tient désormais en quatre étapes : **Apparence**, **Tracker**,
**Découverte** et **Résumé**. Le sous-titre explique la décision de l’écran
courant, les étapes terminées reçoivent une coche et la barre d’action ne bouge
jamais.

Le brouillon reste entièrement transactionnel : changer de thème, de langue,
de format, de taille ou de flèche ne modifie rien avant **Appliquer**. Les
réglages avancés restent dans **Options** et la fenêtre de nouveautés conserve
le même identifiant de contenu ; cette finition ne la réaffiche donc pas à
chaque connexion.

Recette visuelle conseillée après `/reload` : parcourir les quatre étapes au
clavier puis à la souris, vérifier les coches de progression, comparer WoW et
ElvUI et confirmer que chaque écran ne présente qu’une décision principale.

## Une interface plus calme — V0.48.7

Cette passe retire le dernier héritage visuel de l’ancien assistant. Les cinq
étapes occupent désormais une seule ligne ; le contenu utilise toute la largeur
et la barre d’action reste stable. Chaque écran porte une décision claire :
apparence, tracker, découverte, puis résumé. L’opacité et les réglages techniques
restent dans **Options** au lieu d’alourdir le parcours essentiel.

Le choix de la flèche rejoint enfin l’étape **Tracker**. Les trois variantes
**Aventure 3D**, **Moderne 3D** et **Minimal 2D** y sont visibles, accessibles au
clavier et conservées avec le reste de la configuration. Le clic droit sur la
flèche et la page Navigation restent disponibles pour les ajustements rapides.

Le thème **WoW** distingue maintenant trois niveaux : fenêtre principale,
dialogue et surface de contenu. Seule la fenêtre porte une bordure décorative ;
les sous-sections utilisent un fond Blizzard sans cadre supplémentaire. Les
dialogues n’héritent plus d’un faux bandeau principal et le passage à ElvUI
masque les décorations natives. Les aperçus utilisent une bordure neutre dans le
thème WoW ; la couleur d’accent est réservée au choix actif et à l’état.

Recette visuelle conseillée après `/reload` : ouvrir l’assistant, parcourir les
étapes au clavier et à la souris, comparer WoW puis ElvUI, choisir chacune
des trois flèches, et vérifier qu’aucun panneau interne ne reçoit un cadre doré.

## Une interface enfin cohérente — V0.48.6

Le thème **WoW** n’est plus une variation sombre d’ElvUI. Il utilise une couche
distincte fondée sur les textures pierre, parchemin, en-têtes, boutons et cadres
natifs du client. Les bordures extérieures suivent maintenant le thème choisi :
elles ne restent plus dorées sur toutes les fenêtres. ElvUI conserve son propre
rendu et un retour vers le thème Blizzard déclenche un rechargement propre afin
de retirer les skins déjà appliqués.

L’assistant passe de neuf écrans techniques à cinq décisions lisibles : accueil,
apparence, guidage, découverte et validation. Taille, opacité et disposition du
tracker sont regroupées ; Autour de moi et les repères de carte forment une
seule étape. Les réglages avancés restent disponibles dans **Options** sans être
réinitialisés par l’assistant.

La flèche se règle désormais directement par clic droit : style **Aventure 3D**,
**Moderne 3D** ou **Minimal 2D**, taille, verrouillage et remise à zéro. Le bouton
**Tester mon guidage** déroule trois contrôles guidés — direction précise, zone
de recherche, instruction seule — et conserve les résultats dans le rapport
local. Les nouveautés peuvent être rouvertes volontairement depuis Options.

Enfin, l’aide d’arrivée sépare explicitement **où aller**, **quoi faire**,
**comment l’étape sera validée** et **quoi essayer si rien n’apparaît**. La
fenêtre de nouveautés reste liée à un identifiant de contenu : elle apparaît une
fois pour cette refonte, puis reste acquittée aux connexions suivantes.

## Un guidage qui dit exactement ce qu’il sait — V0.48.5

Cette passe resserre le lien entre la consigne, son rendu et sa récupération.
Une étape purement textuelle n’affiche plus un faux anneau de recherche : elle
reste une consigne, sans inventer de position. Une zone approximative conserve
son anneau, tandis qu’un point exact garde la direction.

Le lourd panneau noir de la flèche disparaît. Les textes flottants conservent
une ombre courte pour rester lisibles sans enfermer le guidage dans une boîte.
Trois styles sont sélectionnables directement dans les Options : **Aventure
3D**, volontairement rond et expressif ; **Moderne 3D**, métallique et sobre ;
et **Minimal 2D**, net et aplati. Un discret trait coloré sous la flèche garde
l’information d’alignement sans recolorer ni dégrader l’illustration choisie.

Le tracé de la carte attend désormais proprement que la carte du monde soit
disponible. Si son fournisseur ne peut pas être installé au chargement, PRP le
réessaie lors des événements du client et au prochain rafraîchissement, sans
obliger à relancer le guide.

Le test `/prp guidage test` est maintenant transactionnel : l’arrêter retire son
repère temporaire, un ancien minuteur ne peut plus couper un test plus récent et
le guide actif reprend la main quand il existe. Les nouveaux réglages du guidage
sont aussi présents dans l’ordre de navigation clavier des Options.

Enfin, les diagnostics du guidage sont composés dans la langue choisie jusque
dans leurs valeurs techniques (`disponible`, `absent`, fournisseur, carte,
refus). L’anglais ne mélange plus des fragments français au moment précis où
l’utilisateur cherche à comprendre un échec.

Validation hors jeu : **90/90 programmes de régression verts**, plus les suites
embarquées de contrat, données, guidage, localisation et rendu. La vérification
visuelle finale dans le client reste volontairement distincte de ces contrôles.

## Le tracé fonctionne — et le diagnostic mentait — V0.48.4

Vérifié en jeu : le guidage de test dessine bien **3 pastilles, 2 segments,
10 points de trait**. Le tracé n'a jamais été en cause depuis la V0.48.0.

Deux enseignements du relevé `/prp guidage carte`.

### Un diagnostic qui mentait

Le relevé annonçait `carte=12 • étapes sur la carte=0 • segments=2 • points de
trait=10 • pastilles=3`. Ces trois derniers chiffres étaient ceux du **dessin
précédent** : les compteurs n'étaient mis à jour que sur un dessin réussi et
survivaient à un refus. On lisait donc « 3 pastilles dessinées » sur une carte où
rien n'avait été dessiné.

Les compteurs sont désormais remis à zéro à chaque tentative. Un outil de
diagnostic qui ment coûte plus cher qu'un outil absent — celui-ci a brouillé
deux versions de recherche.

### Le tracé ne s'affiche que sur la carte des étapes

`carte=12` : la carte du monde était ouverte sur **Kalimdor, au niveau du
continent**. Les étapes d'un trajet vivent dans les zones ; aucune n'est sur la
carte d'un continent, donc rien ne s'affiche — c'est correct, mais silencieux.

`/prp guidage carte` liste maintenant **les cartes réellement traversées par le
trajet, avec leur nom** : on sait immédiatement quelle carte ouvrir au lieu
d'interpréter un silence.

Projeter une étape de zone sur la carte d'un continent demanderait une
transformation de coordonnées que le client n'expose pas ; PRP préfère ne rien
afficher plutôt qu'un point approximatif.

**344 cas** en six suites.


## Le guidage de test était illisible sur la carte — V0.48.3

Le tracé ne montrait rien de reconnaissable, et la faute en revenait au **test
lui-même**, pas au rendu.

Ses trois étapes étaient écartées de 60 à 180 **yards**. C'est la bonne échelle
pour contrôler l'orientation de la flèche, mais sur une zone de plusieurs
milliers de yards affichée dans quelques centaines de pixels, cela représente
**une dizaine de pixels** : les trois pastilles se superposaient et les segments
n'avaient pas la place d'exister. Le tracé fonctionnait, il était simplement
concentré sur un point.

Les deux étapes d'encadrement sont désormais écartées en **unités de carte**
(±0,12 verticalement, ±0,06 horizontalement), donc toujours visibles quelle que
soit la taille de la zone, tandis que **l'étape active reste à 100 yards** pour
que le contrôle d'orientation garde son sens. Les positions sont bornées : le
test reste correct même au bord d'une carte.

### `/prp guidage carte` rapporte la géométrie

Taille du canevas et **écartement en pixels** entre la première et la dernière
étape dessinée. On distingue enfin « rien dessiné » de « dessiné trop petit pour
être vu » — la confusion qui a coûté deux versions.

**342 cas** en six suites.


## Segments du tracé en chapelet de points — V0.48.2

Les pastilles s'affichent, les segments non — avec **exactement la même formule
de coordonnées**. La géométrie n'était donc pas en cause : c'est le type de
région « ligne » du client qui ne se rend pas sur le canevas de la carte.

Plutôt que de chercher pourquoi, les segments sont désormais matérialisés par un
**chapelet de points** : uniquement des textures et des ancres, deux primitives
dont on a la preuve en jeu qu'elles fonctionnent à cet endroit — ce sont celles
des pastilles. C'est aussi plus lisible qu'un trait plein sur une carte chargée
d'icônes, et le nombre de points reste borné quelle que soit la longueur.

`/prp guidage carte` rapporte maintenant `segments` et `points de trait`
séparément : on distingue « aucun segment à dessiner » de « segment calculé mais
non rendu ».

Un test refuse le retour de ces régions dans le tracé, commentaires compris.

**337 cas** en six suites.


## Pastilles de parcours lisibles — V0.48.1

Le fournisseur installé en V0.48.0 fonctionne : vérifié en jeu, il dessine.
`/prp guidage carte` répondait `fournisseur=prêt • carte=2351 • étapes sur la
carte=1 • traits=0 • pastilles=1 • dernier refus=aucun`.

Le problème restant n'était donc pas le mécanisme mais la **lisibilité**. Sur un
trajet réel, une seule étape se trouve souvent sur la carte affichée — les
autres sont derrière un portail, sur un autre continent. Une pastille de 20 px
unie, seule et sans trait pour la relier à quoi que ce soit, se perd au milieu
des icônes de quête de Blizzard.

- **Pastilles agrandies et cernées de noir**, chiffre en police contournée :
  elles ne ressemblent plus à une icône du jeu ;
- **infobulle au survol** : le rang de l'étape dans le trajet, son état — active,
  déjà franchie, à venir — et le texte de la consigne. Le texte d'étape remonte
  désormais jusqu'au tracé, il s'arrêtait avant.

Deux tests couvrent le cas réel rencontré : une seule étape sur la carte
affichée doit être dessinée quand même, sans segment, et rester visible.

**334 cas** en six suites.


## Le tracé de parcours passe au mécanisme officiel — V0.48.0

Le tracé livré en V0.47.0 ne s'affichait pas. La cause n'était pas le dessin
mais son **installation** : il posait ses propres hooks (`OnShow`,
`OnMapChanged`) au chargement de l'addon. Si `WorldMapFrame` n'existait pas
encore à cet instant, les hooks n'étaient jamais posés, plus rien ne redessinait,
et **aucune erreur n'était levée** — le même mode de panne silencieuse que la
flèche invisible.

L'overlay utilise désormais un **`MapCanvasDataProvider`**, le mécanisme que
Blizzard appelle lui-même à chaque ouverture et à chaque changement de carte —
et celui que `MapPins.lua` emploie déjà avec succès dans cet addon. Deux
différences de fond :

- **l'installation est réessayée** à chaque publication d'étape tant qu'elle n'a
  pas abouti, au lieu d'être tentée une fois pour toutes ;
- **chaque refus est nommé et conservé** : « carte affichée inconnue », « aucune
  étape sur cette carte », « canevas sans dimensions »…

### `/prp guidage carte`

Nouvelle commande de diagnostic : état du fournisseur, carte en cours, nombre
d'étapes trouvées dessus, traits et pastilles réellement dessinés, dernier motif
de refus. Plus besoin de deviner pourquoi rien n'apparaît.

### Tests

Le harnais simule maintenant une carte du monde capable d'enregistrer un
fournisseur et de déclencher ses rappels comme le client le fait. Dix cas
couvrent l'installation, la réinstallation après échec, le filtrage par carte
affichée, le retrait/rétablissement par le client et l'effacement à l'arrêt.
**332 cas** en six suites.


## Glyphe manquant dans la ligne de circuit — V0.47.7

Le séparateur entre l'arrêt courant et l'arrêt suivant utilisait une flèche
typographique. Les polices livrées avec le client ne la possèdent pas et
affichaient **un carré vide** à sa place — visible dès la première vérification
en jeu du mode zone. `Navigation:cleanWaypointText` remplaçait déjà ce caractère
depuis longtemps dans les textes d'étape, pour exactement la même raison ; la
ligne de circuit ne passait pas par cet assainissement.

Le séparateur est désormais une puce « • », qui est employée partout ailleurs
dans l'interface. **Un test refuse ces glyphes dans toute la couche de guidage**,
commentaires compris, pour que la règle n'ait pas d'exception à retenir.

### Vérifié en jeu à cette occasion

Le mode zone fonctionne : anneau bleu qui ne tourne pas, « Zone d'environ 80 m »,
« Cherchez aux alentours du repère », et la ligne de circuit affichée. Le
problème signalé à la V0.47.5 n'en était pas un — l'affichage était seulement
impossible à déclencher sans tomber sur une source imprécise.


## Modes de guidage vérifiables, et une précision qui débordait — V0.47.6

Deux affichages du guidage — la zone de recherche et le tracé du parcours —
étaient livrés depuis la V0.47.0 sans pouvoir être déclenchés volontairement :
il fallait tomber sur une source imprécise, ou sur un trajet dont plusieurs
étapes se trouvent sur la carte affichée. Un affichage invérifiable revient à ne
pas l'avoir livré.

- **`/prp guidage test [point|zone|instruction]`** montre les trois modes à la
  demande, pendant 20 secondes, sans trajet réel. La commande annonce en clair
  ce qui est attendu — « un anneau bleu qui ne tourne pas, jamais de flèche » ;
- le guidage de test pose désormais **trois étapes factices** sur la carte
  courante — une franchie, l'active, une à venir — pour que le **tracé du
  parcours** ait quelque chose à dessiner et que ses trois états de couleur
  soient visibles d'un coup d'œil.

### La précision de l'acquisition débordait sur les étapes de voyage

`resolvePrecision` appliquait la précision de l'acquisition à **toutes** les
étapes du trajet. Pour une source connue seulement à la zone, le portail de la
première étape était donc lui aussi affiché en anneau de recherche — alors que
ses coordonnées viennent du graphe de voyage et sont exactes par construction.
Le joueur était invité à chercher autour d'un portail dont l'emplacement est
parfaitement connu.

La précision de l'acquisition ne s'applique plus qu'à la **dernière étape**, la
destination. Une étape qui porte sa propre précision reste prioritaire. C'est la
politique d'échec fermé appliquée dans les deux sens : ne pas prétendre savoir,
mais ne pas non plus prétendre ignorer.

**297 cas** en six suites.


## Guidage confirmé en jeu, cadre ajusté — V0.47.5

Le guidage interne a été **vérifié dans le client 12.1.0 frFR** sur un guide
actif, et non plus seulement sous harnais de test :

- la flèche s'affiche, avec ses textures livrées, son panneau et sa bordure ;
- elle tourne **à l'inverse du personnage**, ne passe au vert qu'une seule fois
  par tour complet, et la distance **décroît quand on avance au vert** — ce
  dernier point exclut l'erreur de 180°, la seule qu'un tour sur soi-même ne
  révèle pas ;
- la distance reprend l'unité choisie dans les options, et l'action affichée
  suit le type d'étape (« Empruntez le portail » sur une étape `portal`) ;
- la bordure reprend l'accent du profil ElvUI quand le thème est actif.

Le sens de rotation par défaut est donc **figé et verrouillé par un test**. Il ne
doit pas être modifié sans refaire les trois contrôles ci-dessus : l'inverser
enverrait tous les joueurs dans la mauvaise direction. `/prp guidage flip` reste
disponible côté utilisateur et n'affecte pas ce défaut.

**Le cadre s'ajuste maintenant à son contenu.** Il était dimensionné pour quatre
lignes alors que la ligne de circuit est masquée hors circuit et que la durée
reste vide tant que la vitesse n'est pas mesurée — d'où un tiers de vide en bas.
La hauteur suit désormais les lignes réellement affichées, avec un plancher de
sécurité : le cadre ne peut pas se réduire au point de redevenir introuvable.

**Reste à vérifier en jeu** : la zone de recherche des sources imprécises, le
tracé du parcours sur la carte du monde, et le repère Blizzard compagnon.


## Le filet de tests atteint le moteur en V0.47.4

Jusqu'ici le harnais couvrait la couche de guidage et la localisation — c'est-à-dire
le code le plus récent. Il ne touchait ni la validation centrale du guide, ni les
données livrées. Deux suites comblent cet écart.

### `GuideContract` — 68 cas

C'est lui qui décide si PRP a le droit de guider. Il n'appelle aucune API du
client, il est donc intégralement vérifiable hors du jeu — un test le vérifie
d'ailleurs explicitement, pour que cette pureté ne se perde pas.

Les règles désormais verrouillées sont celles que le README promet :

- **un repère partiel n'est jamais un point guidable** : une carte sans
  coordonnées, ou une coordonnée sans l'autre, est refusée avec
  `STEP_WAYPOINT_INVALID` ;
- **une acquisition sans nature de route déclarée n'est jamais guidable**, pas
  plus qu'une méthode `waypoint` dont aucune étape ne porte de point ;
- une sortie d'instance exige son drapeau de recalcul, `waitForMapChange` exige
  sa carte de départ, `recalculateRoute` doit valoir exactement `true` ;
- la distance d'arrivée est bornée entre 5 et 250, et une valeur illisible
  retombe sur la valeur par défaut au lieu d'être supposée valide ;
- une qualité de trajet inconnue produit « Aucun guidage », jamais une qualité
  inventée.

### Conformité des données — 24 cas

`Data/Acquisitions.lua` déclare sa propre politique en tête de fichier :
`routeEligibleThreshold = 70`, `coordinatesNormalized = true`,
`precisionValues`, `blackMarketRouteEligible = false`. Rien ne vérifiait que les
**4 640 enregistrements** livrés la respectent. La suite relit cette politique et
la fait appliquer aux données réelles :

- toute destination guidable atteint le seuil de score, porte une précision
  `exact` ou `instance`, et possède des coordonnées normalisées ;
- aucune source du marché noir n'est guidable ;
- toute coordonnée présente est normalisée, même sur une source non guidable ;
- les clés sont uniques par espèce, les schémas et révisions sont déclarés, les
  commits sources restent épinglés avec leur licence ;
- le graphe de voyage déclare `failClosed`, ses méthodes autorisées sont un
  sous-ensemble de ses méthodes connues, et **aucune méthode différée n'est
  autorisée** — une liaison non modélisée ne peut pas devenir guidable ;
- ses 1 204 nœuds ont tous un identifiant unique, un nom et une carte valide ;
- les 17 fiches manuelles passent le contrat de guide.

L'ensemble s'exécute en moins d'un dixième de seconde, données comprises : une
régression du générateur est signalée avant d'atteindre un joueur.

### Total

**230 cas** répartis en six suites, tous verts. `./Tests/run.sh`.


## Consolidation en V0.47.3

Aucune fonctionnalité nouvelle : cette version solde des dettes et ferme des
trous ouverts par les précédentes.

- **`isValidWaypoint` n'est plus réimplémenté trois fois.** `Navigation`,
  `Travel` et `UI` réécrivaient à l'identique un repli à trois niveaux alors que
  `GuideContract` existe précisément pour ça et que le `.toc` le charge avant
  eux. Les trois délèguent désormais au contrat ;
- **un contrat de modules est vérifié une fois au chargement.** Trente-deux
  méthodes attendues sur huit modules ; toute absence est signalée comme une
  *erreur* dans `/prp audit` au lieu de devenir un `if ... then` silencieux.
  C'est ce qui permet d'appeler directement plutôt que de se garder partout :
  une méthode renommée se voit immédiatement au lieu de disparaître ;
- **les sous-commandes de `/prp guidage` passent par une table.** La chaîne de
  conditions laissait passer `texture licorne` dans « canal inconnu » sans rien
  signaler, et n'acceptait pas les espaces multiples. Un test vérifie maintenant
  que chaque sous-commande citée dans l'aide est réellement traitée ;
- **`Tools/release.lua` propage le numéro de version.** Il vivait à trois
  endroits — `.toc`, `addon.version`, titre du README — synchronisés à la main à
  chaque livraison. Le `.toc` fait foi, le script propage et vérifie :

```
lua5.4 Tools/release.lua          état actuel
lua5.4 Tools/release.lua 0.48.0   bascule
```

- **deux chaînes anglaises manquantes** ont été trouvées et comblées, dont la
  ligne d'aide de `/prp locale-audit` oubliée depuis la V0.46.1.

### Tests

138 cas répartis en quatre suites, dont une nouvelle sur la cohérence des
commandes, du contrat de modules et de la version. Les trois fichiers de
version sont comparés automatiquement : ils ne peuvent plus diverger sans que
`./Tests/run.sh` le dise.


## Fiabilisation de l'affichage du guidage en V0.47.2

Le guidage de la V0.47.0 pouvait se déclarer actif dans `/prp audit` sans rien
montrer à l'écran. Trois causes possibles ont été traitées plutôt qu'une seule
supposée :

- **Le cadre a maintenant un fond et une bordure.** Une texture d'addon qui ne
  se charge pas ne produit aucune erreur : le cadre reste présent mais l'icône
  est invisible. Le panneau garantit qu'il est toujours repérable ;
- **trois jeux d'icônes permutables à chaud** — `/prp guidage texture
  prp|blizzard|solid`. `blizzard` utilise une texture livrée avec le client,
  `solid` dessine une aiguille pleine sans aucun fichier ;
- **`Guidance:Initialize` ne masque plus un guidage déjà publié.** Au login, la
  restauration du guide pouvait précéder l'initialisation de la couche : la
  flèche était affichée puis immédiatement recachée, tout en se déclarant
  active. Deux tests de régression verrouillent ce cas.

### Vérifier et régler

- `/prp guidage etat` lit le widget réel : affiché, visible, alpha, échelle,
  ancrage, position écran, strate, sens de rotation, jeu de textures, texte et
  texture effective ;
- `/prp guidage test` affiche 20 secondes une cible factice à 100 yards plein
  nord, sans avoir besoin d'un trajet ;
- `/prp guidage flip` inverse le sens de rotation de la flèche à chaud, sans
  rechargement, et conserve le choix ;
- `/prp guidage reset` replace la flèche au centre de l'écran.

### Circuit régional et thème

- la flèche affiche désormais l'**arrêt courant et l'arrêt suivant** du circuit
  régional. Le champ existait dans le contrat depuis la V0.47.0 mais n'était
  jamais alimenté ;
- le fond et la bordure reprennent l'accent **ElvUI** quand le thème est actif.

### Harnais de test

Les widgets factices tolèrent maintenant toute méthode non simulée, en
enregistrant son nom. Une suite d'hygiène vérifie que chaque méthode appelée
existe réellement dans l'API de WoW — un stub trop pauvre ferait échouer le code
pour une raison qui n'existe pas en jeu, un stub muet cacherait une API
inventée. 94 cas au total.


## Guidage intégré en V0.47.0

PRP n'a plus besoin d'un fournisseur de repère externe. Le moteur ne choisit
plus un backend : il publie un **état de guidage** — l'étape, son type, la
précision de la source, la distance mesurée, la vitesse réelle du joueur — et
des canaux s'y abonnent. TomTom devient l'un de ces canaux, plus une dépendance
de fait.

### Le guidage affiche ce que PRP sait, y compris son incertitude

- **Point exact connu** → une flèche qui pointe la direction, verte quand vous
  êtes aligné, ambre quand vous dérivez, rouge quand vous tournez le dos ;
- **Zone seulement** (`precision` `zone` ou `unknown`, étape `manual`) → un
  anneau de recherche et le rayon approximatif, **sans cap**. PRP ne connaît pas
  le point : afficher une direction au degré près serait un mensonge, et c'est
  exactement ce que la politique d'échec fermé interdit ;
- **Aucune coordonnée** → ni flèche ni anneau, seulement la consigne.

La flèche porte aussi l'action attendue selon le type d'étape — « Empruntez le
portail », « Parlez au maître de vol », « Sortez vers le monde extérieur »,
« Cherchez aux alentours du repère » — et une durée estimée **à partir de votre
vitesse de rapprochement réellement mesurée**, jamais d'une vitesse supposée.
Tant que la mesure n'est pas stable, aucune durée n'est affichée.

### Le parcours sur la carte du monde

Le tracé relie les étapes du trajet situées sur la carte affichée : franchies en
gris, étape active en or, suite en bleu, chaque étape numérotée. C'est ce qu'un
fournisseur de repère externe ne peut pas faire — il ne connaît que la
destination, pas le chemin.

### Choix du canal

Options → **Navigation personnalisée** → *Canal de guidage*, ou
`/prp guidage [auto|prp|tomtom|blizzard]` :

- **Automatique** (défaut) : guidage PRP, puis TomTom, puis le repère Blizzard ;
- **Guidage PRP** : la flèche interne, plus un repère Blizzard compagnon quand la
  carte l'accepte, afin de conserver le marqueur de mini-carte ;
- **TomTom** : le comportement d'avant la V0.47.0 ;
- **Repère Blizzard** : uniquement le point de destination natif.

Un canal indisponible n'est jamais un cul-de-sac : PRP redescend la liste plutôt
que de laisser le joueur sans direction, et `/prp audit` indique le canal
préféré, le canal actif et l'état de chacun.

**Changement de comportement** : sur une installation existante avec TomTom, le
guidage PRP prend désormais la main. `/prp guidage tomtom` rétablit l'ancien
fonctionnement en une commande.

### Limites assumées

- Aucun addon n'a accès à la géométrie du terrain : la flèche indique la
  direction à vol d'oiseau, elle ne contourne pas un relief ;
- en instance, le client ne publie pas de coordonnées — ni PRP ni TomTom ne
  peuvent guider ;
- si l'orientation du personnage n'est pas lisible (véhicule, vol), la flèche
  l'annonce au lieu de pointer au hasard ;
- le pin de mini-carte propre à PRP n'existe pas encore : c'est le repère
  Blizzard compagnon qui assure ce rôle.

### Tests

Le dossier `Tests/` contient un harnais headless exécutable hors du client :

```
./Tests/run.sh
```

89 cas couvrent la construction de l'état de guidage, la géométrie du cap, la
mesure de vitesse, la sélection et le repli entre canaux, l'enregistrement réel
des quatre renderers et la non-régression de la couverture anglaise.


## Couverture anglaise et rafraîchissement groupé en V0.46.1

- 103 libellés et messages qui restaient en français dans un client anglais sont
  maintenant traduits, ainsi que 11 variantes construites avec un nom de carte
  (entrée intérieure, carte de départ non raccordée, sortie d’instance, position
  imprécise, liaison manquante). Les zones concernées sont les messages de
  problème de trajet, les diagnostics, le graphe de voyage, le circuit régional
  et les infobulles du tracker ;
- la commande **`/prp locale-audit`** relève, pendant une session anglaise, toute
  chaîne française qui atteint encore l’affichage — y compris les phrases
  construites par concaténation. `on` démarre la collecte, `reset` la vide, `off`
  l’arrête ; sans argument, PRP affiche le rapport copiable. La collecte est
  inactive par défaut et n’ajoute aucun coût lorsque l’interface est en français ;
- les libellés des raccourcis clavier suivent désormais `/prp language`. Ils
  étaient calculés avant le chargement de la base et retombaient toujours sur la
  langue du client ; ils sont réappliqués après l’initialisation et après chaque
  changement de langue ;
- les rafales d’événements de collection (`PET_JOURNAL_LIST_UPDATE`,
  `COMPANION_UPDATE`, `TOYS_UPDATED`) sont regroupées en un seul rafraîchissement.
  Ouvrir le Journal des mascottes, changer un filtre ou mettre en cage ne
  reconstruit plus plusieurs fois de suite le cache de possession, le catalogue,
  l’interface et les repères dans la même image. Le cache d’informations de
  mascotte reste vidé sans délai.


**Créé par Udo - Hyjal EU sur une idée de Pretchique - Hyjal EU**

## Accessibilité et guidage V9

- une route générique d’instance n’invente plus une condition d’obtention à
  suivre quand PRP ne la connaît pas. La consigne reprend l’indication du
  Journal des mascottes lorsqu’elle est disponible ; sinon, elle précise que
  l’entrée est connue mais que le boss, le coffre ou l’objectif exact reste à
  identifier, puis renvoie vers la fiche de la collection ;
- la fenêtre principale, les Options, l’assistant et l’aide à l’arrivée
  proposent un parcours clavier des contrôles visibles et actifs. `Tab` avance,
  `Maj+Tab` revient, `Entrée` ou `Espace` active le contrôle au focus et `Échap`
  ferme ou annule la surface concernée sans valider une action ;
- un contour doré rend le focus visible et reprend l’infobulle du contrôle
  lorsqu’elle existe ;
- le tracker ne capture pas les touches globalement. Les actions **Étape
  suivante**, **Carte**, **Aide** et **Masquer le tracker** sont disponibles
  dans les raccourcis WoW et ne reçoivent aucune touche par défaut.

## Fiabilisation du guidage V8

- la reprise d’un trajet s’appuie désormais sur la clé logique de l’étape
  active. Si cette étape n’existe plus dans une variante recalculée, PRP
  recalcule prudemment au lieu de reprendre sur une étape future ou déjà
  terminée ;
- une téléportation personnelle n’est validée qu’après l’arrivée confirmée à
  destination. Son passage en recharge après utilisation ne provoque plus un
  recalcul prématuré avant la vérification de la transition ;
- la destination enregistrée pour la pierre de foyer d’auberge est maintenant
  associée au personnage qui l’a mémorisée. Elle n’est jamais réutilisée pour
  un autre personnage, chaque personnage conserve sa propre destination et une
  ancienne destination sans identité doit être enregistrée de nouveau ;
- un trajet sauvegardé est également rattaché au personnage qui l’a calculé.
  Après un changement de personnage, PRP le reconstruit depuis la nouvelle
  position au lieu de restaurer silencieusement l’ancien départ ;
- les choix explicitement désactivés dans les Options ou l’assistant restent
  désactivés après un rechargement. Une base partiellement endommagée est
  normalisée sans rejouer les anciennes migrations destructives ;
- les prérequis situés avant une transition restent bloquants lors d’une
  reprise. Une quête, un objet, une disponibilité ou une condition illisible
  ne peut plus être contourné par un changement de carte ou un rechargement ;
- les liaisons de transport incohérentes qui prétendent changer de région sans
  changer de carte sont écartées du graphe sûr ;
- les routes génériques distinguent maintenant les vendeurs, butins de
  créatures, quêtes, objets et instances. Les étapes de butin demandent
  explicitement de vaincre puis fouiller la source au lieu de présenter un
  achat ou une interaction générique ;
- les coûts en or, objets et monnaies sont lus et affichés séparément. Une
  valeur invalide, absente ou illisible bloque la disponibilité au lieu d’être
  supposée satisfaite ;
- les rotations quotidiennes et hebdomadaires, les conditions de réputation et
  les ressources requises sont désormais prises en compte avec une politique
  d’échec fermé ;
- les consignes, prérequis, libellés de sources, états de disponibilité et
  messages de récupération des routes génériques sont entièrement disponibles
  en français et en anglais, sans phrase hybride ;
- le tracker conserve simultanément **Cibler** et **Vérifier** lorsque les deux
  actions sont pertinentes. Les commandes de navigation, d’aide et d’arrêt
  restent accessibles dans les modes complet, compact et minimal ;
- le panneau d’aide à l’arrivée accepte les consignes longues dans une zone
  défilante, afin de garder les actions de récupération visibles sans faire
  sortir le contenu du cadre ;
- les changements de taille, de mode et d’aperçu du tracker demandés pendant
  un combat sont mémorisés puis appliqués en sécurité à la fin du combat ;
- les mises à jour génériques du journal de quêtes ne rendent plus un trajet
  obsolète sans changement concret et ne réévaluent plus tout le catalogue en
  arrière-plan. Les événements précis d’acceptation, de retrait et de rendu
  conservent le rafraîchissement nécessaire.

## Fiabilisation du guidage V7

- l’Entraînement des flétris utilise désormais les objectifs du scénario lus
  localement et distingue les trois variantes reconnues du coffre final. PRP ne
  présente plus un identifiant de coffre unique comme valable dans tous les
  cas ;
- le tracker conseille un score d’environ **400** pour améliorer la qualité du
  coffre, tout en précisant que ni le meilleur coffre ni le jouet ne sont
  garantis ;
- les reprises après recalcul, changement de carte ou rechargement conservent
  l’étape logique atteinte dans les trajets de Xal’atath, de l’héritage
  pandaren, des Catacombes de Karazhan et des Visions horrifiques revisitées ;
- les transitions sont validées dans l’ordre. Une étape future ou un retour
  vers une ancienne carte ne peut plus faire disparaître un portail, une entrée
  de scénario ou un objectif intermédiaire encore nécessaire ;
- la proximité ne valide que l’étape active et sa carte attendue. Les cibles
  fixes conservent leur rayon de validation, tandis que Craggle reste traité
  comme une patrouille mobile sans faux achèvement sur un point statique ;
- lorsqu’un jouet aléatoire n’est pas obtenu, le premier clic explique la fin
  de la tentative et le second la confirme. La collection n’est jamais marquée
  comme acquise par cette confirmation ;
- un prérequis dont l’état ne peut pas être lu — quête, objet requis ou objet
  à utiliser — bloque prudemment la progression au lieu d’être supposé rempli ;
- à disponibilité égale, la présélection bornée examine d’abord les sources
  guidables sur la carte actuelle et les plus proches ; le choix final conserve
  ses contrôles de qualité et de coût réel du trajet.

## Consolidation des diagnostics en V0.46.0

- après une mise à jour, une fenêtre **Nouveautés** compacte présente une seule
  fois les changements essentiels. Elle permet de continuer immédiatement ou
  de relancer l’assistant complet ; une première installation conserve son
  parcours d’accueil normal sans empiler les deux fenêtres ;
- un nouvel accès **Journal** dans la navigation principale rassemble les
  20 dernières fiches consultées, mascottes et jouets confondus, de la plus
  récente à la plus ancienne ;
- rouvrir une fiche la replace en tête sans créer de doublon. Cet historique
  local est conservé après un rechargement ou une reconnexion ;
- l’Arcano-douche et les six autres jouets du même coffre de Falanaar ne sont
  plus présentés comme des objets posés au repère : PRP guide vers la Première
  arcaniste Thalyssra à Shal’Aran, demande de lancer puis terminer
  l’**Entraînement des flétris** et d’ouvrir le coffre de récompense final, en
  précisant que le jouet est aléatoire ;
- l’audit couvre désormais 35 enregistrements d’acquisition correspondant à
  15 jouets de scénario : Entraînement des flétris, Visions horrifiques
  revisitées d’Orgrimmar et de Hurlevent, secret des Catacombes de Karazhan,
  marche des traditions de Xal’atath et héritage pandaren. Chaque fiche conserve
  l’action précise à accomplir ; les anciens points des Visions qui entraient en
  concurrence avec les cartes revisitées ne sont plus proposés comme trajets ;
- Falanaar distingue maintenant le déblocage de Suramar, le premier essai,
  l’indisponibilité temporaire de l’expédition, le Mana ancestral manquant, le
  scénario en cours et la salle de récompense. Le coffre intérieur n’est jamais
  présenté comme un objet disponible dans le monde ouvert ;
- les Visions revisitées commencent chez Soridormi à Dornogal, laissent choisir
  Orgrimmar ou Hurlevent et imposent l’Image de Wrathion avant le parcours propre
  au jouet. Les coffres de Zekhan et d’Alleria restent cachés jusqu’à la fin,
  tandis que Craggle est signalé comme une cible mobile ;
- le secret des Catacombes vérifie la Clé singulière, la Torche de Pyrreth, la
  Clé des ombres et la Clé astrale avant de conserver le Coffre astral comme
  cible finale ;
- la marche de Xal’atath n’utilise plus le départ de Xithixxin comme rendu : les
  quêtes intermédiaires sont rappelées et le dernier repère rejoint le
  Chroniqueur Cho de la capitale appropriée. La quête pandaren rejoint Chon Po
  sur l’Île Vagabonde au lieu de revenir au point de départ du Chroniqueur Cho ;
- un recalcul ou un rechargement reprend désormais l’étape logique déjà atteinte
  au lieu de recommencer le parcours. Une ancienne route qui demandait de sortir
  d’une Vision ou des Catacombes alors que le personnage s’y trouve déjà est
  automatiquement réparée ;
- la variante choisie pour un trajet à plusieurs capitales — Hurlevent,
  Orgrimmar, Dornogal ou l’Île Vagabonde — reste attachée au guide pendant les
  changements de zone, les recalculs et les reconnexions ;
- PRP vérifie les quêtes actives, les objets requis et les jouets présents dans
  les sacs avant d’exposer l’étape suivante. Un jouet obtenu mais pas encore
  appris invite à l’utiliser au lieu de conclure à tort à une tentative vide ;
- lorsqu’un segment interzone ne peut pas être calculé de bout en bout, le
  trajet est annoncé comme partiel et précisé après le changement de zone au
  lieu d’être présenté comme un itinéraire complet ;
- l’assistant d’installation couvre maintenant l’ensemble des préférences dans
  neuf étapes : langue, thème, tracker, taille, comportement, Autour de moi,
  carte, navigation et récapitulatif ;
- toutes les sélections de l’assistant restent provisoires jusqu’au clic sur
  **Appliquer**. L’aperçu se met à jour en direct avec le thème, la langue,
  l’opacité, la taille, le mode du tracker, les repères, les notifications et
  les raccourcis de voyage qui seront réellement enregistrés ;
- le choix de langue retraduit immédiatement tout le parcours, tandis que le
  thème **Auto** prévisualise explicitement WoW ou le profil ElvUI détecté ;
- les tailles et opacités personnalisées provenant des Options sont conservées
  exactement : les boutons 80/100/120 et 75/90/100 restent des raccourcis et
  les commandes −/+ permettent un ajustement fin par pas de 5 %, sans arrondir
  silencieusement une valeur existante ;
- les étapes modifiées sont signalées, le dernier écran récapitule chaque
  paramètre et son nombre de changements, et toute fermeture demande une
  confirmation avant d’abandonner le brouillon ;
- l’assistant permet aussi de mémoriser explicitement la destination actuelle
  de la pierre de foyer, de choisir l’unité de distance, le budget de circuit,
  la visibilité de l’icône de mini-carte et le comportement du dernier repère ;
- l’enregistrement du foyer affiche ses coordonnées ou explique immédiatement
  pourquoi la position n’est pas disponible. Le récapitulatif avertit aussi si
  des repères n’ont aucun type de collection ou si un signal de proximité est
  activé alors que son icône est masquée ;
- **Autour de moi** devient entièrement passif : le changement de zone ne fait
  plus apparaître de fenêtre ; une pastille chiffrée intégrée à l’icône PRP
  signale les collections disponibles, accompagnée d’un anneau bleu discret
  lors d’un nouveau résultat, et les ouvre seulement au clic ;
- l’assistant de première installation est légèrement plus petit et
  semi-transparent afin de pouvoir rester ouvert sur les écrans modestes ;
- pendant un circuit actif, les repères sans rapport avec ce circuit sont
  masqués. La page **Options > Carte** permet de choisir entre la cible actuelle
  uniquement et toutes les étapes restantes. L’étape active est dorée et les
  suivantes sont numérotées, atténuées et retirées dès qu’elles sont terminées ;
- le dernier repère d’obtention reste affiché après l’arrivée jusqu’à ce que la
  collection soit réellement obtenue ou que le guide soit arrêté. Le tracker
  distingue clairement **En route**, **Sur place** et **À faire**, sans perdre
  le point documenté au passage vers l’action finale ;
- à l’arrivée, **Que faire ?** rappelle l’action attendue et la source connue,
  tandis que **Rien ici ?** regroupe le lieu, les coordonnées, les prérequis,
  les vérifications de phase et les actions locales **Recalculer**, **Autre
  source** et **Signaler** lorsque le point ne correspond pas à l’état du jeu ;
- **Cibler** utilise le nom compatible avec la source lorsque celle-ci peut
  réellement être ciblée — mascotte sauvage, PNJ ou vendeur identifié — et
  n’est pas proposé pour un objet, une quête, un scénario ou un jouet ;
- les transitions encore impossibles — zone non rejointe ou sortie d’instance
  non confirmée — apparaissent directement dans le tracker, près de l’action
  concernée, au lieu de dépendre uniquement d’un message dans la discussion ;
- un clic manuel ne peut plus sauter un portail, un bateau, un vol ou une autre
  transition avant le changement de carte attendu. Leur repère TomTom reste
  présent jusqu’à l’utilisation réelle du transport ;
- le bouton **Aide** ouvre un panneau de récupération dédié qui sépare
  **Où aller**, **Maintenant** et **Si rien n’apparaît**, puis propose selon le
  contexte la carte, une autre source, un recalcul et un signalement ;
- **Autre source** change maintenant réellement de méthode d’obtention et
  reconstruit le trajet depuis la position actuelle. Si aucune alternative
  valide n’existe, la source, l’étape et le repère en cours restent intacts ;
- sans choix imposé, le démarrage compare un ensemble borné de sources selon
  leur disponibilité, la qualité du trajet, son coût réel puis la fiabilité des
  données. Une préférence enregistrée reste prioritaire lorsqu’elle produit un
  trajet valide, et un recalcul peut se rabattre sur une alternative sûre si la
  source active n’est plus joignable ;
- l’action finale propose **Vérifier** : PRP relit la collection sans jamais
  valider manuellement une acquisition absente ;
- le tracker minimal tient désormais dans un bandeau de 320 × 126 pixels hors
  aide contextuelle. La progression est visible dans les trois modes, l’échelle
  s’ajuste à l’écran sans écraser la préférence enregistrée et les commandes
  **Aide** et **Passer** ne se superposent plus pendant un circuit ;
- les trackers compact et complet mesurent désormais les noms et instructions
  après application des polices WoW ou ElvUI. Leur hauteur s’adapte au contenu,
  la progression et les commandes sont repoussées sans chevauchement, et la
  version technique n’occupe plus l’espace de guidage ;
- l’aperçu de la page Options partage la disposition du vrai tracker et montre
  maintenant sa progression ainsi que son action principale ;
- ces états, actions d’aide, messages de blocage et libellés de ciblage sont
  disponibles en français et en anglais dans les trois formats du tracker ;
- le calcul compare désormais le trajet normal avec les téléportations fixes
  réellement possédées, utilisables et prêtes : pierres de Dalaran et de fief,
  capes de guilde, anneaux de Dalaran et Médaillon de Jaina ;
- une téléportation personnelle n’est retenue que si elle raccourcit nettement
  le trajet. Les Options indiquent les objets prêts, en recharge, inutilisables
  ou absents ainsi que le gain estimé du raccourci retenu ;
- si l’état de recharge ne peut pas être lu avec certitude, PRP conserve le
  trajet normal. Une route sauvegardée revalide également la téléportation au
  moment de l’utiliser et se recalcule si l’objet n’est plus prêt ;
- la destination d’une pierre de foyer d’auberge n’est jamais devinée : elle
  peut être enregistrée explicitement depuis la position actuelle, désactivée
  ou effacée dans **Options > Navigation** ;
- les rapports de retour et d’audit sont désormais entièrement rédigés dans la
  langue choisie dans PRP, en français comme en anglais ;
- `/prp report` ajoute la couverture réelle des mascottes et des jouets en
  distinguant les destinations guidables, les cartes imprécises, les points
  précis écartés et les collections non localisées ;
- lorsqu’une collection est ouverte dans la fenêtre principale, le rapport
  indique sa source retenue, sa disponibilité, la validité de son repère, la
  qualité du trajet et l’action conseillée en cas de liaison manquante ;
- les rapports utilisent maintenant le format structuré `PRP-AUDIT v2` et
  `PRP-FEEDBACK v2`, plus simple à copier dans un ticket de support ;
- la fenêtre de copie est redimensionnée selon l’écran, contient une vraie zone
  défilante et garde les boutons en dehors du texte, même pour un audit long ;
- le rapport s’ouvre sur un résumé lisible, sans surlignage, affiche un état
  coloré et permet de basculer vers les détails techniques avant d’utiliser
  **Tout sélectionner** pour la copie ;
- la liste du catalogue est peinte avant le calcul détaillé de la fiche lors de
  la première ouverture ; la mesure reste disponible dans l’audit, mais un
  avertissement n’apparaît désormais qu’au-delà de 500 ms ;
- aucun nom de personnage ni royaume n’est enregistré. Seul l’identifiant
  opaque fourni par WoW est conservé localement pour séparer les foyers et les
  trajets des différents personnages ; il n’est ni affiché dans les rapports,
  ni exporté, ni envoyé automatiquement ;
- les données, préférences, thèmes, trackers et circuits existants sont
  conservés ; les SavedVariables passent au schéma 25 pour enregistrer les
  préférences de navigation, une destination facultative de pierre de foyer
  par personnage, l’identité du personnage ayant calculé le trajet, la dernière
  fenêtre de nouveautés consultée et le Journal des 20 dernières fiches
  ouvertes.

## Refonte visuelle en V0.45.0

- la fenêtre Options est désormais un écran compact à quatre vues : Apparence,
  Tracker, Autour de moi et Carte ;
- l’aperçu du tracker reste visible pendant les réglages et récapitule le thème,
  le mode, la taille et l’opacité actifs ;
- le thème WoW conserve les contrôles Retail natifs tandis qu’ElvUI applique
  les couleurs, bordures, listes et boutons du profil actif aux nouvelles vues ;
- le choix du thème et de la langue est regroupé dans Apparence, sans parcourir
  une longue page de réglages ;
- la page Tracker permet de choisir l’affichage métrique ou impérial ; les
  distances WoW sont converties en mètres/kilomètres ou affichées en
  yards/miles dans le tracker, son aperçu et son infobulle ;
- les instructions dynamiques de portail, bateau, zeppelin, tram et vol sont
  reconstruites entièrement en anglais, même lorsqu’une ancienne étape avait
  déjà reçu une traduction partielle ;
- l’état de Ne pas déranger est immédiatement visible et rappelle le raccourci
  par clic molette sur l’icône de la mini-carte ;
- les filtres des repères de carte disposent de leur propre vue concise ;
- la fenêtre principale adopte une taille préférée plus compacte et conserve
  son ajustement automatique sur les écrans plus petits.

## Correctifs d’interface en V0.44.1

- L’assistant intègre désormais la vraie fenêtre du tracker pour prévisualiser les modes complet, compact et minimaliste.
- L’aperçu restaure le parent, la position, l’échelle et la visibilité du tracker actif à sa fermeture.
- Les commandes du tracker sont neutralisées pendant l’aperçu afin de ne jamais modifier un trajet en cours.
- Les libellés composés de l’assistant et les infobulles du tracker sont cohérents en français et en anglais.
- Les coordonnées et le lieu d’obtention sont traduits séparément pour éviter les interfaces partiellement localisées.

## Estimations auto-apprenantes en V0.44.0

- PRP mesure localement le temps passé entre l’arrivée au dernier point du guide
  et l’acquisition effective de la collection ;
- les mesures sont regroupées par méthode d’obtention afin d’améliorer les
  prochaines propositions sans associer de donnée au personnage ou au royaume ;
- aucune estimation n’est modifiée avant trois observations cohérentes ;
- l’historique est mélangé progressivement avec les durées sûres de PRP et reste
  borné pour qu’une attente inhabituelle ne dérègle pas le planificateur ;
- les sessions inférieures à cinq secondes ou supérieures à trente minutes ne
  sont pas apprises, et les trajets simplement rejoués ne créent aucun échantillon ;
- la reprise d’un guide après rechargement redémarre proprement la mesure si le
  personnage se trouve déjà à l’étape d’obtention ;
- les données locales existantes sont migrées vers la version 20 sans modifier
  les préférences, Ma chasse ou les preuves de fiabilité déjà enregistrées.

## Proposition automatique de circuit en V0.43.0

- les vues **Aujourd’hui** et **Ma chasse** proposent maintenant une action
  unique **Me proposer un circuit** ;
- PRP part des collections réellement disponibles et guidables, puis retient
  automatiquement celles qui tiennent dans la durée choisie ;
- l’ordre combine le temps de trajet, la fiabilité observée localement, la
  qualité des données et la priorité donnée à **Ma chasse** ;
- seuls les arrêts conservés restent cochés : l’utilisateur peut encore ajouter
  ou retirer une collection avant de démarrer ;
- l’aperçu principal reste volontairement court avec le nombre d’arrêts, la
  durée estimée et l’état prêt ; l’ordre complet reste disponible au survol ;
- si aucune proposition fiable n’est possible, PRP explique le blocage et
  propose de modifier les filtres, de recalculer ou de signaler la source ;
- le contrôle reste natif avec le thème WoW et conserve le skin du profil sous
  ElvUI.

## Temps restant et disposition consolidée en V0.42.1

- le sélecteur 15/30/60 minutes occupe désormais son emplacement réservé dans
  la disposition finale de la fenêtre, entre le statut et les actions, sans
  recouvrir les boutons du circuit ;
- le temps consacré à chaque arrêt dépend maintenant du mode d’obtention : un
  vendeur ou un objet au sol est plus court qu’une capture, un butin ou une
  instance ;
- le circuit actif affiche une estimation concise du temps restant dans la
  fenêtre principale et dans le suivi placé près des objectifs ;
- reporter une destination recalcule les liaisons dans le nouvel ordre sans la
  replacer immédiatement en tête du circuit ;
- les nouvelles durées par arrêt et l’estimation restante sont conservées lors
  d’un rechargement de l’interface.

## Circuits adaptés au temps disponible en V0.42.0

- les vues **Aujourd’hui** et **Ma chasse** ouvrent directement la sélection
  d’un circuit global, sans imposer un filtre de région ;
- un sélecteur compact limite le circuit à **15, 30 ou 60 minutes** et reste
  masqué dans les circuits régionaux classiques ;
- le planificateur ordonne les destinations depuis la position du personnage,
  ajoute un temps d’obtention par arrêt et conserve uniquement la portion qui
  tient réellement dans la durée choisie ;
- les circuits rapides utilisent seulement les acquisitions connues comme
  accessibles maintenant et cherchent une autre acquisition disponible lorsque
  le choix favori est temporairement indisponible ;
- l’aperçu annonce le nombre d’arrêts et la durée estimée avec un message simple,
  tandis que les détails techniques restent hors de la vue principale ;
- le nouveau contrôle utilise le composant Retail natif sous le thème WoW et le
  skin officiel du profil actif sous ElvUI ;
- les réglages et circuits sauvegardés sont migrés vers la version de données 19.

## Interface bilingue et diagnostic en V0.41.0

- l’interface choisit automatiquement le français sur un client `frFR` et
  l’anglais sur les autres clients pris en charge ;
- la langue peut être choisie dans les options ou forcée avec
  `/prp language auto`, `/prp language en` ou `/prp language fr` ;
- la navigation, les filtres, les fiches, les trajets, le tracker, les options,
  l’assistant, les repères et les messages principaux sont traduits ;
- les sources, zones, prérequis et instructions des fiches historiques disposent
  également d’un équivalent anglais lorsque les données Blizzard ne suffisent pas ;
- les progressions composées du tracker, ses états courts et les infobulles
  dynamiques sont traduits en une seule passe cohérente ;
- les confirmations, erreurs de trajet, circuits régionaux, vols et messages de
  diagnostic disposent désormais des mêmes textes anglais que l’interface ;
- `/prp report` ouvre le rapport local et copiable déjà disponible avec
  `/prp audit`, sans envoi automatique ni donnée de compte ;
- la fenêtre principale et le tracker recalculent leur disposition lorsque la
  résolution ou l’échelle de l’interface change ;
- les compteurs conservent la distinction entre mascottes guidables et entrées
  cataloguées, ainsi que les filtres de disponibilité et le tri par niveau.
- le compteur de possession n’utilise plus un ratio ambigu : le total
  guidable/catalogué reste présenté séparément avec son intitulé explicite.

## Préparation de la diffusion en V0.40.36

- les commentaires ont été retirés de toutes les sources Lua sans modifier
  leur structure exécutable ;
- les sources et les fichiers livrés ne contiennent aucune mention d’outil de
  génération ou d’assistant de développement ;
- deux anciennes textures inutilisées ont été retirées, soit environ 4,1 Mo ;
- le manifeste, les dépendances optionnelles et les notices des données tierces
  ont été contrôlés avant la création du paquet local.

## Fenêtre de retour ElvUI en V0.40.35

- la fenêtre « Votre avis sur ce trajet » peut désormais être skinnée même si
  le diagnostic de trajet n'a jamais été ouvert auparavant ;
- le cadre, la croix, les trois évaluations, les motifs de correction et les
  actions du bas passent tous par les API officielles du module Skins d'ElvUI ;
- les textures rouges Blizzard disparaissent et les états sélectionné,
  disponible ou désactivé reprennent la couleur de valeur du profil actif ;
- le thème WoW conserve intégralement ses contrôles Retail natifs.

## Bouton Cibler lisible en V0.40.34

- dans le tracker minimal, l'arrivée n'entasse plus cinq commandes dans une
  barre de 216 px ;
- **Cibler** remplace temporairement **Suivant**, alors inactif dans cette
  situation, et dispose maintenant d'un segment de 80 px ;
- Précédent, Carte/Passer et Fermer conservent des zones de clic régulières,
  puis la disposition normale revient dès que le ciblage n'est plus proposé.

## Assistant guidé et palette ElvUI en V0.40.33

- l'assistant n'empile plus tous les réglages dans un long formulaire : il
  propose cinq écrans, un sommaire latéral, des boutons Précédent/Suivant et
  une progression visible ;
- les étapes Apparence, Tracker et Taille partagent une prévisualisation
  intégrée, puis un résumé final précède toute modification des réglages ;
- le thème WoW conserve de vrais contrôles `UIPanelButtonTemplate` et
  l'assistant s'adapte aux petites résolutions en réduisant automatiquement
  son échelle ;
- sous ElvUI, le titre et les commandes du tracker utilisent désormais
  `E.media.rgbvaluecolor`, c'est-à-dire la couleur de valeur du profil actif,
  au lieu de conserver l'or des objets de police Blizzard ;
- les nouveaux boutons d'étapes et de navigation passent eux aussi par le
  skin officiel ElvUI lorsque ce thème est déjà actif.

## Ciblage à l’arrivée en V0.40.32

- à l’étape finale d’une capture sauvage, le tracker affiche désormais
  **Cibler** dans les modes complet, compact et minimal ;
- le clic exécute un bouton d’action natif Retail avec `/targetexact` sur le
  nom officiel de la mascotte affichée ; PRP ne cible jamais automatiquement ;
- l’action n’est proposée ni pour les jouets, ni pour les vendeurs, quêtes ou
  autres méthodes qui ne correspondent pas à un combat de mascottes ;
- la configuration du bouton est différée après le combat si le verrouillage
  de l’interface empêche de modifier ses attributs d’action ;
- lorsque le ciblage réussit, la fiche de proximité ne se superpose pas au
  tracker qui présente déjà cette mascotte.

## Notification « Autour de moi » affinée en V0.40.31

- la carte est plus basse et abandonne le grand panneau de statistiques
  imbriqué au profit de deux compteurs libres et immédiatement lisibles ;
- une atmosphère légère, le halo de la patte et une entrée en fondu apportent
  de la profondeur sans gêner le jeu ;
- **Créer le circuit** devient visuellement l’action principale avec un accent,
  une icône de trajet et un retour au survol qui survivent au skin ElvUI ;
- **Voir la liste** reste une action secondaire plus courte, et l’ensemble
  conserve les contrôles natifs avec le thème WoW.

## Bouton de filtres de la carte restauré en V0.40.30

- le bouton PRP de la grande carte ouverte avec `M` est désormais recréé même
  lorsque `Blizzard_WorldMap` était déjà chargé avant un `/reload` ;
- son parent, sa position et sa visibilité sont réappliqués à chaque ouverture
  et après les redimensionnements de la surface de carte ;
- l’icône ronde de la mini-carte reste un contrôle distinct et continue de
  respecter l’option d’affichage `/prp icone`.

## Raccourci Ne pas déranger en V0.40.29

- un clic molette sur l’icône PRP de la mini-carte active ou désactive
  immédiatement **Ne pas déranger** ;
- l’icône passe en rouge quand le mode est actif et retrouve ses couleurs
  normales quand il est coupé ;
- un court message confirme le nouvel état et l’infobulle indique désormais
  explicitement le raccourci.

## Accueil guidé de « Ma chasse » en V0.40.28

- une chasse vide n’affiche plus une fausse fiche avec portrait « ? »,
  destination vide et bouton de trajet inutilisable ;
- un écran d’accueil occupe toute la zone de contenu et explique le parcours
  réel en trois étapes : ajouter avec l’étoile, choisir les visites, puis
  planifier le circuit ;
- deux actions ouvrent directement les catalogues Mascottes ou Jouets et
  retirent les filtres susceptibles de masquer les premiers choix ;
- l’écran précise que PRP ordonne les destinations depuis la position du
  personnage et ouvre ensuite un suivi étape par étape ;
- le thème WoW conserve des boutons natifs et le thème ElvUI reprend ses
  couleurs, ses polices et ses bordures.

## Notification « Autour de moi » recomposée en V0.40.27

- la zone devient le titre principal et « Autour de moi » un libellé de contexte ;
- la patte PRP bleue remplace l’icône de pistage générique orange ;
- mascottes et jouets partagent un bandeau unique, plus calme et plus lisible ;
- **Créer mon circuit** devient l’action principale tandis que
  **Voir les collections** reste l’action secondaire ;
- les dimensions, espacements et habillages ElvUI ont été adaptés à cette
  nouvelle hiérarchie sans empiler de cadres imbriqués.

## Messages plus simples en V0.40.26

- l’infobulle de couverture se limite maintenant au total catalogué, au nombre
  guidable et à un conseil utile ; les détails d’audit restent dans la
  documentation technique ;
- lorsqu’une recherche, une mascotte ou une méthode n’a pas de destination
  exploitable dans PRP, l’interface propose de retirer les filtres, d’essayer
  une autre source ou de produire un signalement local exploitable ;
- les diagnostics internes conservent leurs informations détaillées sans les
  imposer dans la fenêtre principale.

## Couverture expliquée sans faux taux en V0.40.25

- l’ancien ratio `1 143 / 2 102 mascottes avec point fiable` ne se présente
  plus comme un taux de validation : l’interface sépare maintenant
  **1 143 mascottes guidables** et **2 102 fiches cataloguées** ;
- l’infobulle ventile les 959 fiches qui ne peuvent pas encore lancer le guide :
  **603** ont une zone connue mais pas de point précis, **91** ont un point
  volontairement refusé parce que sa source est ambiguë, indirecte ou retirée,
  et **265** n’ont pas encore de carte exploitable ;
- ces catégories sont calculées directement depuis les données embarquées et
  restent donc exactes après une régénération ; elles ne dépendent ni des
  filtres, ni de la possession du personnage ;
- les 141 candidats précis des 91 fiches refusées ont été réaudités : aucun ne
  peut être activé globalement sans risquer un faux guidage. La politique reste
  volontairement fail-closed au lieu de gonfler artificiellement la couverture.
  Le détail et la procédure de réaudit sont consignés dans
  [DATA_COVERAGE.md](DATA_COVERAGE.md).

## Filtres d'obtention en V0.40.24

- « Accessible maintenant » ne conserve que les sources dont les prérequis
  sont validés pour le personnage courant ; « À vérifier » regroupe les
  conditions temporaires ou indéterminées et « Bloqué » les incompatibilités
  certaines ;
- le sélecteur « Méthode / source » expose dans un seul menu les méthodes
  (quête, vendeur, combat, secret…) et les types de sources déjà indexés par le
  catalogue, afin de préserver une seule rangée de contrôles sur petit écran ;
- les filtres de méthode et de source restent combinables, sont persistants et
  s'appliquent aux mascottes comme aux jouets dans les thèmes WoW et ElvUI.

## Tri par niveau requis en V0.40.23

- le panneau « Filtres » affiche maintenant le tri déjà prévu par le catalogue ;
- deux ordres ont été ajoutés : niveau requis croissant et décroissant ;
- le niveau correspond à la méthode d'obtention effectivement affichée, après
  application des filtres et préférences de destination ; une source sans
  prérequis explicite est considérée accessible dès le niveau 1 ;
- à niveau égal, l'ordre alphabétique garantit un résultat stable ; le choix
  est conservé dans les réglages et fonctionne pour les mascottes comme pour
  les jouets, avec les thèmes WoW et ElvUI.

## Grande fiche 3D fondue en V0.40.22 — rendu ciblé validé en jeu

Les contrôles en jeu des V0.40.10 à V0.40.16 ont établi que `ModelScene` et
`PlayerModel` conservent une cible carrée opaque sur le client Retail testé.
Le brouillard, le matte, le rognage, le dépassement de cible et un vignettage
frère n'ont pas retiré cette surface ; les tentatives de recoloration ont en
plus détruit l'éclairage de la mascotte. La V0.40.17 a confirmé que l'icône
officielle du Journal est trop basse définition pour devenir l'image héro. La
V0.40.18 conserve donc la mascotte 3D, mais ne prétend plus que sa cible est
transparente : elle devient un aperçu encadré, carré, en retrait de 10 px, sur
un fond et une bordure PRP explicites. Le portrait circulaire reste le secours
compact si le modèle ne peut pas être chargé. Le premier contrôle de cette
composition a révélé que les halos du secours restaient affichés derrière la
3D et que le matte bleu était trop saturé. La V0.40.19 masque toutes les couches
du secours dès que le modèle est prêt et réduit le cadre à un fond presque noir
avec un filet bleu de 2 px. Le contrôle en jeu de la V0.40.19 a validé la
disparition du bleu parasite et des anneaux de secours sur l'Abeille et
l'Abomination fongique, mais le filet et le contraste gris/noir dessinaient
encore un carré. La V0.40.20 aligne donc toute la fiche héro sur le noir natif
de `PlayerModel` et retire le filet : l'atmosphère dorée, les particules et la
mascotte restent visibles, sans matérialiser la limite de la cible 3D.
Le contrôle en jeu de la V0.40.20 confirme ce fondu sur l'Abeille et
l'Abomination fongique. La V0.40.21 ajoute une distance de caméra adaptée aux
familles : les volants gardent leur présence, tandis que les humanoïdes,
morts-vivants et élémentaires reculent légèrement afin que leurs membres ne
soient plus coupés par la cible 3D invisible.

Le contrôle ciblé effectué dans WoW Retail le 17 août 2026 a validé ce rendu
sur trois silhouettes très différentes : l'Abeille, l'Abomination fongique et
l'Abyssal du Néantespace. La limite carrée n'est plus perceptible, les effets
restent visibles et les membres des deux modèles massifs ne sont plus coupés.
Ce contrôle a également révélé une récursion synchrone propre à `PlayerModel` :
sur Retail, `Show()` peut déclencher immédiatement `OnModelLoaded`, dont le
rappel réaffichait le modèle jusqu'au `C stack overflow`. La V0.40.22 protège
désormais cet affichage contre la réentrance. Après rechargement, la séquence
Abeille → Abomination fongique → Abyssal du Néantespace → Abeille a été rejouée
hors combat puis pendant un combat : le compteur natif est resté à zéro. Le
détail des constats, fausses pistes, invariants de rendu et contrôles à
effectuer est conservé dans [RENDERING.md](RENDERING.md).

## Intégration des filtres à la carte en V0.40.6

- la commande PRP est rattachée à la zone de carte visible
  `WorldMapFrame.ScrollContainer`, et non au cadre global qui comprend aussi le
  journal des quêtes ;
- son pictogramme est l'asset `PRPMapPin`, distinct du témoin de sélection et
  de l'icône de minicarte ;
- sa position, son niveau et son parent sont recalculés lorsque la carte est
  affichée ou redimensionnée.

## Contrôles WoW réellement natifs en V0.40.1

- les boutons de l’assistant utilisent désormais `UIPanelButtonTemplate` ;
- choisir le thème WoW coupe les skins, couleurs et opacité ElvUI même si ElvUI reste chargé ;
- la bascule ElvUI → WoW recharge automatiquement l’interface pour reconstruire les textures Blizzard d’origine.

## Recomposition fidèle au concept en V0.40.0

- scène 3D recadrée selon la boîte englobante réelle de chaque mascotte, avec
  une présence comparable pour les petites, larges et hautes silhouettes ;
- ambiance ambrée dédiée derrière le modèle, particules et sol lumineux fondus
  dans la scène au lieu d'un simple halo décoratif, sur une texture RGBA sans
  rectangle opaque perceptible ;
- vraie carte de voyage illustrée, compacte, avec un sigle de navigation bleu
  original, balayage lumineux, validation visible, estimation de durée et une
  seule action principale ; son pied nomme le premier transport réel et sa
  destination sans confondre la marche finale avec un transport ;
- recherche replacée dans l'en-tête et filtres regroupés derrière une commande
  compacte ; les cartes changent de densité pour qu'une rangée soit toujours
  entièrement visible, sans laisser apparaître le haut de la suivante ;
- six cartes vivantes utilisent le modèle 3D de la mascotte quand il est
  disponible, une étoile de favori indépendante et un cadrage projeté qui
  remplit la carte sans couper les silhouettes minuscules, larges ou hautes ;
  les jouets gardent leur illustration officielle ;
- titre, état, lieu et méthode redimensionnés pour retrouver la hiérarchie du
  concept ; le statut ne répète plus les informations déjà portées par la
  carte de trajet, les sources et diagnostics longs reviennent à la ligne, et
  le rail ElvUI reste lisible sur deux lignes ;
- le tracker compact affiche quatre lignes d'instruction complètes et le mode
  minimaliste accepte les noms sur deux lignes sans changer son empreinte.

## Correctif catalogue en V0.39.1

- le retour de « Ma chasse » vers « Mascottes » recalcule immédiatement la
  fenêtre de défilement ; la rangée suivante reste entièrement masquée.

## Refonte visuelle Focus en V0.39.0

- fenêtre 1200 × 800 rapprochée du ratio du concept ;
- mascotte centrale agrandie, scène renforcée par halo, podium et particules ;
- favori directement accessible dans la fiche principale ;
- carte « Trajet prêt » plus lumineuse et catalogue en six grandes cartes ;
- commandes de circuit replacées dans l’en-tête pour ne plus tronquer Ma chasse.

## Ma chasse sans cartes tronquées

- la fenêtre Focus réserve désormais la hauteur complète des cartes quand la barre du circuit est visible ;
- l'étoile dorée identifie le favori surveillé sans masquer son portrait ;
- un repère de carte bleu distinct remplace le carré de sélection ambigu dans le circuit.

## Effets et favoris lisibles en V0.38.0

- La grille utilise une véritable étoile PRP cliquable : grisée hors favori,
  dorée et lumineuse dans « Ma chasse ».
- La collection sélectionnée reçoit un halo pulsé et un lavage bleu sans
  masquer son nom ni son état.
- La scène 3D gagne un halo respirant, des particules flottantes plus visibles
  et une estrade lumineuse.
- La carte « Trajet prêt », son pictogramme, l’action principale, le logo et
  l’onglet actif disposent maintenant d’effets animés contrôlés.

## Aperçu réellement intégré en V0.37.5

- L’assistant contient maintenant sa propre carte de tracker. Le thème, la
  disposition et la taille y changent immédiatement sans déplacer ni masquer
  partiellement le tracker réel du joueur.

## Assistant accessible directement en V0.37.4

- `/prp assistant` ouvre la prévisualisation du thème, du tracker et de sa taille
  sans devoir parcourir la page d’options.

## Assistant toujours visible en V0.37.3

- « Relancer l’assistant » ferme désormais la page d’options avant d’afficher
  l’assistant au premier plan : les aperçus de thème, de tracker et de taille ne
  peuvent plus rester cachés derrière l’interface Blizzard.

## Configuration visuelle directe en V0.37.2

La page Options affiche désormais son propre aperçu du tracker. Le mode, la
taille et l'opacité y sont visibles immédiatement, sans quitter le panneau.
Les contrôles créés à la demande sont maintenant reskinnés dès l'ouverture :
aucun bouton Blizzard rouge ne subsiste sous ElvUI.

## Identité graphique originale en V0.37.1

PRP dispose désormais de sa propre patte bleue lumineuse dans le chrome,
l'assistant, le tracker et la minicarte. La carte **Trajet prêt** reçoit une
illustration nocturne originale et volontairement discrète, intégrée sous un
voile de contraste pour ne jamais concurrencer les informations du trajet.

## Composition Focus renforcée en V0.37.0

La direction B n'est plus traitée comme une simple grille fonctionnelle. Le
rail est aminci au profit du sujet, la scène 3D et le titre deviennent le
véritable héros, la carte **Trajet prêt** reçoit un appel à l'action plus
ample et les cartes du catalogue disposent enfin d'une géométrie qui ne coupe
ni les noms ni leur état.

Les notifications automatiques **Autour de moi** sont maintenant suspendues
tant que la fenêtre principale, les options ou l'assistant PRP sont ouverts ;
elles ne peuvent plus recouvrir un écran de configuration.

## Contrôle visuel Retail en V0.36.1

La fenêtre a été contrôlée directement dans WoW avec ElvUI. Les icônes
Mascottes et Aujourd’hui utilisent maintenant des textures réellement livrées
par le client Retail. Le socle rectangulaire sous le modèle est remplacé par
un halo doré plus organique, conservé même lorsque les accents ElvUI sont
bleus. La carte de trajet réserve davantage de place à ses actions et son
bouton principal devient **Démarrer**.

## Direction artistique Focus en V0.36.0

La fenêtre principale ne se limite plus à reprendre la structure du concept :
elle en adopte maintenant la direction artistique. Un chrome PRP dédié porte
le logo, la recherche et la carte ; le rail reçoit de grandes icônes et des
états lumineux ; la mascotte sélectionnée apparaît sur une scène 3D avec halo,
plateforme et particules animées.

La carte **Trajet prêt** utilise une profondeur bleue, un orbe de navigation,
une métrique synthétique et une action principale lumineuse. Le catalogue
inférieur affiche six cartes verticales colorées avec favori, halo, survol et
sélection, tout en conservant les filtres et les circuits existants. Les
accents suivent toujours la couleur du profil ElvUI quand ce thème est actif.

## Aperçu direct et indicateur Ne pas déranger en V0.35.1

L’assistant de configuration est désormais lui-même l’aperçu du thème : sa
palette change immédiatement entre WoW et ElvUI. Les choix de disposition et
de taille agissent temporairement sur le vrai tracker PRP ; fermer avec
**Plus tard** restaure les réglages précédents et valider les enregistre.

Quand **Ne pas déranger** est actif, l’icône PRP de la minicarte est teintée
en rouge. Elle revient à sa couleur normale dès que les notifications sont
réactivées. Le petit carré conserve son rôle distinct d’état des repères.

## Assistant visuel et Ne pas déranger en V0.35.0

L’assistant de configuration présente les choix de thème, de disposition et
de taille avant validation.

Le réglage **Ne pas déranger** remplace l’ancien libellé de notification
ambigu. Lorsqu’il est actif, la fenêtre automatique « Autour de moi » est
fermée et ne réapparaît plus ; le scan, les résultats et l’ouverture manuelle
restent disponibles. Le réglage est aussi accessible par clic droit sur le
bouton de minicarte.

## Ajustement de la carte trajet en V0.34.3

Les trois actions de « Trajet prêt » utilisent des dimensions équilibrées et
les libellés longs comme « Ajouter à Ma chasse » restent entièrement contenus.
Le menu Destination et son titre appartiennent maintenant directement à la
carte trajet, ce qui garantit leur contraste sous ElvUI.

## Correctif d’ancrage en V0.34.2

La mise en page Focus détache désormais les groupes de boutons avant de
reconstruire leurs ancrages. Cela supprime les dépendances circulaires
`SetPoint` lors de la première ouverture après un rechargement de l’interface.

## Correctif d’affichage en V0.34.1

La fenêtre principale utilise désormais la strate `DIALOG` et remonte au
premier plan à chaque ouverture. Les barres d’action, le tracker PRP et les
autres cadres de jeu ne peuvent plus traverser ses panneaux ; les infobulles
WoW restent normalement prioritaires.

## Interface Focus en V0.34.0

La fenêtre principale adopte la direction **Focus ElvUI** validée avant
implémentation. Un rail vertical donne un accès stable à **Mascottes**,
**Jouets**, **Ma chasse**, **Aujourd’hui** et **Autour de moi**. La collection
sélectionnée occupe désormais la grande surface supérieure : modèle 3D,
possession, lieu et méthode d’obtention se lisent dans un seul parcours, sans
colonne technique ni séparateur traversant.

Le trajet devient une carte d’action compacte. Elle annonce clairement s’il
est prêt, son nombre d’étapes et la présence d’un transport, puis met en avant
le démarrage du guide. Le détail des étapes reste dans le tracker après le
lancement. Le catalogue est déplacé dans un tiroir inférieur virtualisé de
quatre grandes cartes par rangée ; ce changement de présentation ne modifie ni
le chargement différé ni le cache de la liste.

ElvUI fournit en priorité couleurs, bordures, boutons et tailles de texte. Le
thème WoW autonome conserve exactement la même géométrie et toutes les mêmes
actions. Les SavedVariables, préférences, guides actifs, circuits et moteurs
de données/navigation restent inchangés.

## Journal à trois colonnes en V0.33.0

La fenêtre principale abandonne la grille horizontale et les panneaux empilés.
Elle reprend la lecture d'un Journal des collections : navigateur vertical à
gauche, grande présentation 3D au centre et itinéraire indépendant sur toute
la hauteur à droite. La recherche et les filtres forment une pile compacte au
dessus de la liste ; la destination et les prérequis restent attachés à la
présentation sélectionnée. Chaque surface possède ses propres limites, ce qui
empêche les séparateurs, libellés et actions de traverser un panneau voisin.

## Fluidité renforcée en V0.32.1

La liste par défaut est désormais mise en cache avec des révisions explicites
pour le journal, les jouets, les préférences, les prérequis et le scan. Un
rafraîchissement identique ne reparcourt donc plus les milliers de fiches.
Lorsque la fenêtre est ouverte avant la fin du catalogue initial, PRP conserve
un état de progression léger et ne construit la grille complète qu'une seule
fois, après le dernier lot. Les calculs de fiche en double lors de la première
ouverture ont également été supprimés.

## Interface et chargement différés en V0.32.0

PRP ne construit plus sa grande fenêtre, ses options, sa notification de
proximité ni le fournisseur de carte pendant le chargement de WoW. Le scan des
mascottes et des jouets commence à la frame suivante et reste découpé en
petites tranches. À la première ouverture, la coque de la fenêtre apparaît
avant le filtrage des 2 102 mascottes et avant le calcul détaillé du premier
trajet. Les lignes du catalogue utilisent un état léger : le graphe de voyage
n'est calculé que pour la fiche sélectionnée ou au démarrage du guide.

La fenêtre principale adopte une vue d'ensemble : recherche et trois filtres
sur une même ligne, catalogue sur toute la largeur en deux colonnes, puis fiche
et itinéraire dans deux panneaux distincts. Les actions de guide ont des zones
fixes et ne peuvent plus se chevaucher lorsque leur libellé change. La carte
**Autour de moi** est plus compacte, avec région, compteurs et deux actions
claires.

La carte du monde possède désormais un bouton de filtre PRP. Il affiche le
nombre de collections visibles et permet de choisir directement Mascottes,
Jouets, À obtenir, Ma chasse, Ramassable, Trésor, Combat, Secret ou Haut fait.
Le fournisseur et son index restent absents tant que la carte n'est pas
ouverte. Les mêmes choix sont disponibles dans les options et le menu rapide
de la mini-carte. `/prp audit` mesure séparément le login, la construction de
la fenêtre, sa première image et la préparation du catalogue.

## Consolidation générale en V0.31.0

Cette version cible uniquement le client Retail actuel (`120100`). Elle gèle
temporairement les nouvelles fonctions pour renforcer les fondations de
l’addon sans modifier l’apparence validée de la fenêtre principale ni du
tracker.

Un contrat central contrôle désormais les identifiants de carte, coordonnées,
instructions, transitions, distances d’arrivée, diagnostics et qualités de
trajet. Navigation, Travel et l’interface partagent ces mêmes règles ; une
route ou un diagnostic incomplet est rejeté avant de remplacer un guide encore
fonctionnel. Le tracker et le compagnon du suivi d’objectifs lisent également
un même instantané runtime fourni par Navigation, au lieu d’interpréter chacun
les SavedVariables.

L’interface **Autour de moi** est isolée dans son propre module et sa
notification est réorganisée : région lisible, compteurs distincts pour les
mascottes et les jouets, puis actions explicites **Ouvrir la liste** et
**Créer le circuit**. Le thème ElvUI habille ses panneaux, icônes et boutons ;
le fallback WoW reste autonome.

La release contient maintenant 25 fichiers, dont 20 modules Lua. Le contrat de
construction vérifie leur ordre de chargement et `/prp audit` confirme que le
validateur central est disponible. Le schéma des réglages reste inchangé : les
préférences, guides et circuits de la 0.30.6 sont conservés.

## Circuits visibles et compteurs de farm en V0.30.6

Les repères de carte proposent maintenant trois modes : **À obtenir**, **Mon
parcours** et **Toutes les collections**. Le mode Mon parcours n'affiche que les
arrêts encore à faire du circuit actif, ou les collections cochées pendant sa
préparation. Quand une destination précise a été choisie, une autre méthode de
la même mascotte ne peut plus apparaître à sa place.

Les filtres Ramassable, Trésor, Combat, Secret, Haut fait et les autres méthodes
annoncent directement le nombre de résultats affichés et le nombre restant à
obtenir. Ces compteurs suivent également le continent, la région, la recherche
et le type de collection : ils décrivent donc ce qui peut réellement servir à
composer le circuit courant, pas un total théorique de la base.

## Assistant et restauration renforcée en V0.30.5

Au premier chargement de cette version, PRP présente une fois son nouvel
assistant d’accueil. Trois cartes permettent de choisir le thème WoW ou ElvUI,
la disposition du tracker et sa taille. Un résumé confirme la configuration
avant validation. Une fois terminé, l’assistant ne revient plus ; **Plus tard**
le reporte simplement au prochain lancement. Quand ElvUI est disponible et
sélectionné, l’assistant reprend immédiatement son habillage.

La restauration contrôle désormais les identifiants, étapes, routes, repères
Blizzard, circuits régionaux et préférences avant de les utiliser. Les valeurs
NaN, infinies, textuelles ou tronquées sont normalisées sans effacer les
réglages sains. Les anciens retours locaux illisibles sont écartés et
`/prp audit` indique les réparations effectuées au chargement.

Les callbacks d’**Autour de moi** sont également isolés : une erreur temporaire
de notification ou de rafraîchissement ne peut plus interrompre un changement
de zone ni le guide actif.

## Repères de carte groupés en V0.30.4

Les collections qui partagent exactement un vendeur, un combat, un trésor ou
une entrée ne créent plus plusieurs boutons au même pixel. PRP affiche un seul
repère numéroté ; son survol résume les collections présentes et son clic ouvre
un menu permettant de choisir la fiche exacte. Sur la base complète, 2 211
collections visibles sont ainsi réparties sur 1 291 positions, sans perdre une
seule méthode d'obtention.

## Consolidation des événements en V0.30.2

Les changements de quête, niveau, réputation, haut fait ou métier ne vident
plus en bloc les caches des plus de 6 000 méthodes chargées. PRP utilise une génération
de disponibilité puis réchauffe les choix utiles en tranches de 6 ms. Une
nouvelle progression annule proprement le cycle précédent : aucun résultat
intermédiaire ne peut revenir rafraîchir la fenêtre ou la carte.

Les noms d’objet et de quête reçus tardivement disposent d’une génération
distincte. Seuls les textes de recherche et les instructions qui les utilisent
sont reconstruits à la demande. Les noms normalisés servant au tri sont préparés
pendant le scan asynchrone ; la première ouverture de la liste ne concentre plus
ce travail sur une seule image. Les rafales de données localisées n'actualisent
plus la scène 3D du tracker, puisqu'elles ne changent ni l'étape ni le repère.

Le suivi périodique ne redessine le tracker que lorsque son contenu visible a
changé. Les mises à jour de carte et de collection passent par le même
coupe-circuit que le suivi automatique. Les erreurs de faction ou de prérequis
restent fermées par sécurité dans les circuits, les repères de carte et
**Autour de moi**, sans produire une destination faussement accessible.

`/prp audit` affiche désormais le nombre, la moyenne et le maximum des tranches
de disponibilité. Les pannes de minuteur ou de callback sont isolées et
signalées ; un secours contrôlé conserve l’interface utilisable sans doubler le
rafraîchissement.

Le fournisseur de repères suit maintenant le contrat souris natif de
`MapCanvas` : le canevas Blizzard reste propriétaire des scripts, du clic droit
traversant et de la libération des pins. Le survol et le clic PRP ne peuvent
donc plus être supprimés par l’acquisition d’un pin. Ce chemin a été contrôlé
contre les sources du client Retail 12.1.0.69299 installé.

La construction de la release est désormais stricte et reproductible. Elle
refuse un ordre de chargement TOC modifié, des versions différentes entre le
TOC, le cœur et ce document, un fichier inattendu, un encodage invalide ou un
reste de conflit avant de produire le ZIP.

L'invitation facultative affichée après un clic dans le Journal des mascottes
est également isolée du code Blizzard. Une valeur protégée de Retail 12.1
annule seulement cette invitation et rejoint `/prp audit`, sans erreur Lua ni
impact sur le Journal.

## Consolidation runtime en V0.30.1

Le catalogue des mascottes et jouets construit désormais un index spatial
unique, partagé par la carte du monde et la recherche **Autour de moi**. Les
deux fonctions ne rescannent plus séparément les milliers de méthodes
d’obtention. Sur le jeu de données complet, PRP indexe 3 559 destinations
positionnées sur 218 cartes.

Le chargement des jouets a été intégré au scan asynchrone du catalogue. Le
travail est découpé en tranches courtes au lieu d’être réalisé en bloc au
premier lancement. Les informations de jouet momentanément indisponibles sont
réessayées à la mise à jour du coffre, sans dupliquer les entrées ni rescanner
toutes les mascottes.

Les repères de carte sont différés quand la carte est fermée, récupèrent après
une erreur temporaire du fournisseur Blizzard et conservent la méthode exacte
choisie au clic. Les méthodes disponibles maintenant sont préférées aux
méthodes conditionnelles. Les options de carte sont appliquées en une seule
mise à jour afin d’éviter plusieurs reconstructions successives.

`/prp audit` expose maintenant les temps et volumes du catalogue, de la carte
et d’**Autour de moi**. Les erreurs de composants optionnels restent isolées :
elles sont signalées dans l’audit sans casser la fenêtre principale ni le
guide actif.

Les réglages sauvegardés sont normalisés au chargement afin qu’une ancienne
valeur invalide ne puisse plus casser le tracker ou les filtres. Une
réinitialisation actualise immédiatement les caches de proximité, les repères
de carte et l’interface. La restauration d’un guide et les consommateurs du
catalogue sont indépendants : une erreur locale est enregistrée, puis pourra
être retentée sans empêcher les autres fonctions de démarrer.

## Collections sur la carte en V0.29.0

PRP ajoute à la carte du monde les mascottes et jouets associés à la carte
affichée. Les repères reposent sur les coordonnées fiables déjà embarquées ;
une position simplement régionale n’est pas présentée comme un point exact.
L’infobulle reste concise : nom, méthode, coordonnées, prérequis structurés et
disponibilité. Un clic ouvre directement la fiche correspondante dans PRP.

Les options permettent d’activer séparément mascottes et jouets, de masquer les
collections obtenues et de limiter l’affichage aux positions fiables. Le clic
droit sur l’icône PRP de la mini-carte ouvre les mêmes interrupteurs. Les
repères sont reconstruits seulement à l’ouverture ou au changement de carte,
jamais à chaque image.

## Une collection plus vivante en V0.28.0

La fenêtre principale propose maintenant trois parcours simples :
**Collection** pour explorer les mascottes ou les jouets, **Ma chasse** pour
conserver ses favoris et les transformer en circuit optimisé, et
**Aujourd’hui** pour réunir les acquisitions non possédées que les prérequis
connus ne bloquent pas actuellement.

Le bouton **☆ Ajouter à Ma chasse** mémorise la destination choisie, y compris
pour un jouet. Les favoris sont signalés par une étoile, restent visibles une
fois obtenus afin de pouvoir rejouer leur trajet, et peuvent être cochés ou
décochés avant le calcul du circuit. Aucun effet animé permanent n’a été ajouté :
le côté plus ludique repose sur des objectifs personnels et des retours visuels
légers, sans coût continu pour WoW.

## Méthodes et prérequis en V0.27.0

Le journal peut filtrer les destinations par méthode d’obtention :
**Ramassable, Haut fait, Trésor, Combat, Secret, Vendeur, Quête, Butin,
Métier, Événement, Instance** ou **Réputation**. Ces étiquettes sont
cumulables : un objet secret trouvé dans un trésor reste visible sous les
trois méthodes correspondantes.

Les prérequis structurés de la base sont présentés séparément de la méthode :
haut fait requis avec son nom localisé, progression de quête, niveau,
réputation, métier, classe, race, faction, événement ou coût. PRP ne transforme
pas un simple lien vers un haut fait en obligation : seuls les prérequis
explicitement déclarés sont annoncés comme requis.

## Assistant de premier lancement en V0.26.0

Une installation neuve ouvre un assistant volontairement court : thème
**ElvUI ou WoW**, disposition **Minimaliste, Compacte ou Complète**, puis
taille **80 %, 100 % ou 120 %**. Le choix du thème intervient avant
l'application du skin ElvUI afin d'éviter tout mélange de textures.

Les bases existantes sont migrées sans afficher l'assistant. Une fermeture par
« Plus tard » reporte simplement la configuration au prochain lancement.

## Autour de moi en V0.25.0

Le journal possède désormais un espace mixte **Autour de moi**. À l’entrée
dans une zone, PRP recherche une seule fois les mascottes et jouets ayant un
point précis, compatible avec la faction et non bloqué. Les objets déjà
obtenus sont exclus par défaut. Une notification discrète permet d’ouvrir la
liste ou de créer directement un circuit avec le planificateur régional.

Deux options contrôlent la notification et l’inclusion des collections déjà
obtenues. Aucun balayage permanent ni calcul à chaque image n’est effectué.

## Mesures de performance locales en V0.24.5

Quand l’API de profilage WoW est disponible, PRP mesure uniquement le coût de
son passage de suivi toutes les demi-secondes. La moyenne, le maximum, le nombre
de passages dépassant 8 ms et les rendus du tracker effectués ou évités sont
visibles dans `/prp audit`. Ces compteurs restent en mémoire jusqu’à la
déconnexion : ils ne sont ni sauvegardés ni transmis.

Un avertissement n’apparaît qu’après au moins trois passages lents sur dix
mesures, ou après un pic supérieur à 50 ms. Cela évite qu’un chargement isolé ou
un changement de fenêtre soit présenté comme un problème permanent.

## Coupe-circuit et rafraîchissement adaptatif en V0.24.4

Le suivi du tracker n’est plus reconstruit toutes les demi-secondes lorsque son
contenu visible est inchangé. La distance, l’étape, le backend, l’attente de
transition, le vol et l’état du circuit composent une signature légère ; le
rafraîchissement complet n’a lieu que lorsque cette signature change.

L’appel périodique de navigation est désormais protégé par un coupe-circuit.
Une erreur imprévue suspend le suivi automatique, retire le repère dangereux,
fige le trajet et ne peut donc plus produire une erreur toutes les 0,5 seconde.
`/prp audit` expose la cause et `/prp recalc` réarme le suivi seulement après la
construction transactionnelle d’une nouvelle route valide.

## Preuves locales de fonctionnement en V0.24.3

PRP distingue désormais ce que les données annoncent de ce que le client a
réellement observé. Les départs, reprises après rechargement, recalculs,
passages automatiques ou manuels, retours en arrière, blocages et fins sont
comptés localement par méthode. Seule l’acquisition effectivement détectée par
le journal Blizzard est qualifiée de preuve forte ; terminer manuellement un
trajet déjà possédé ne valide pas artificiellement la méthode.

Cet historique ne contient ni personnage ni royaume, ne déclenche aucun envoi
réseau et reste limité à cent méthodes. Il est isolé par révision des données :
une route régénérée doit faire ses preuves à nouveau. `/prp audit` affiche les
totaux et la méthode active, tandis que le formulaire d’avis rappelle son
historique d’exécution local.

## Routes transactionnelles et validation centrale en V0.24.2

- Le calcul d’un nouveau guide ou d’un recalcul est désormais préparé hors de
  l’état actif. Le trajet courant n’est remplacé qu’après validation complète
  de toutes les étapes et du diagnostic associé.
- Une panne du moteur, une destination invalide ou une étape malformée ne peut
  plus effacer le guide précédent. Aucun repère n’est retiré tant que le
  nouveau trajet n’est pas prêt à être appliqué.
- Un validateur central contrôle la collection, la méthode, le texte et les
  coordonnées de chaque étape, l’index actif, la révision des données et la
  cohérence du diagnostic. `/prp audit` reprend le même résultat.
- Les boutons Suivant et Précédent ainsi que l’application d’un repère gèlent
  le guide avant toute mutation si cette validation échoue. Le code et le
  numéro exact de l’étape sont alors conservés pour l’audit et la réparation.

## Stabilisation et autodiagnostic en V0.24.1

- `/prp audit` contrôle sans modifier le jeu : version chargée, schémas et
  révisions des données, état du catalogue, carte actuelle, route, étape,
  fournisseur de trajet et repère TomTom/Blizzard. Le résultat est présenté
  dans un champ sélectionnable, sans nom de personnage ni royaume.
- `/prp audit réparer` reconstruit explicitement le guide actif depuis la
  position actuelle. Le recalcul reste transactionnel : si la construction
  échoue, le trajet précédent est restauré.
- Les avis locaux sont regroupés par collection, méthode, étape et carte. Le
  formulaire affiche les réussites, imprécisions, blocages et la cause la plus
  fréquente pour la destination courante.
- L’audit reste fail-soft si un fournisseur interne lève une erreur : il
  signale alors le composant incohérent au lieu de casser la commande.

## Retour de trajet intégré en V0.24.0

Le bouton **i** du tracker ouvre désormais un retour simple : **Correct**,
**Imprécis** ou **Bloqué**. En cas de problème, cinq causes courtes permettent
de signaler un point, un transport, une instruction, une source indisponible ou
l’interface. À la fin d’un guide, le bouton **Avis** propose le même écran.

PRP ne transmet aucune donnée. Il conserve au maximum les vingt derniers
retours localement, sans nom de personnage ni royaume, puis produit à la
demande un texte sélectionnable avec la version, l’étape, la carte, les
coordonnées et le code de trajet. La commande `/prp avis` permet de rouvrir ce
formulaire, y compris après la disparition de la notification de fin.

## Modèle manipulable en V0.23.6

Dans la grande fiche, maintenez le clic gauche sur la mascotte et déplacez la
souris horizontalement pour la faire tourner. Cette interaction s’appuie sur la
scène 3D native de Blizzard ; le tracker reste volontairement non interactif.

## Scène 3D sans cadre en V0.23.5

Le liseré sombre autour du modèle de la mascotte a été supprimé. Cette règle
est réappliquée à la création, après un changement de transparence et après un
rafraîchissement du profil ElvUI afin que la bordure ne réapparaisse pas.

## Fiche d’obtention corrigée en V0.23.4

La fiche principale n’utilise plus deux colonnes rigides pour « Où ? » et
« Comment ? ». Le lieu tient sur une ligne et l’explication dispose maintenant
de presque toute la largeur sur trois lignes. La scène 3D commence seulement
après ce bloc, avec une marge testée automatiquement : un texte long ne peut
plus passer sous le modèle ni sous la destination.

## Lecture de la collection en V0.23.3

Dans la liste des mascottes, une mascotte possédée conserve son icône en
couleurs. Une mascotte encore à obtenir est affichée en niveaux de gris et
légèrement atténuée. La règle est recalculée à chaque actualisation du journal ;
les jouets conservent leur présentation propre.

## Options défilables de la V0.23.2

La page d’options utilise désormais un véritable `ScrollFrame` Blizzard : la
molette et une barre de défilement donnent accès à tous les réglages, quelle que
soit la hauteur de la fenêtre ou l’échelle de l’interface. La barre reçoit le
skin ElvUI lorsqu’il est disponible et conserve le rendu WoW sinon.

## Correctifs visuels de la V0.23.1

- Le mode minimaliste n’affiche plus le bandeau redondant « À FAIRE / ÉTAPE ».
  Seule la consigne utile apparaît à proximité d’un portail ou d’une action.
- La bulle contextuelle minimaliste adapte sa hauteur au texte réel au lieu de
  réserver systématiquement un grand panneau vide.
- Le tracker compact gagne de la largeur et ses deux actions supérieures
  disposent chacune de 90 px ; « Recalcul » et « Précédent » ne se chevauchent
  plus.
- Dans le tracker complet, l’attente automatique d’une acquisition est libellée
  simplement « Attente », sans déborder sur les boutons voisins.

## Consolidation de la V0.23.0

- Un circuit régional peut désormais être mis en **pause**, conservé après
  `/reload`, puis repris exactement au même arrêt depuis la fenêtre principale
  ou avec `/prp circuit pause` et `/prp circuit reprendre`.
- Le compagnon placé près du suivi des objectifs reste totalement indépendant
  des modules Blizzard. Il affiche aussi les circuits en pause et évite de
  réappliquer son thème ou son texte lorsque rien n’a changé.
- La fenêtre de diagnostic propose **Copier le diagnostic**. Elle ouvre un
  champ sélectionné contenant la version, l’identifiant, la méthode, la carte,
  les coordonnées et le code d’échec ; `Ctrl+C` suffit pour le transmettre.
- Aucun hook, module ou enfant n’est ajouté au suivi des objectifs Blizzard :
  le correctif anti-taint de la V0.22.2 reste le contrat de sécurité.

Addon pour **World of Warcraft Retail 12.0.7 et 12.1.0** permettant de parcourir les mascottes et les jouets, de vérifier leur possession et de préparer un itinéraire jusqu’à leur destination lorsque celle-ci est suffisamment fiable.

## Installation

1. Décompressez le dossier `PetRoutePlanner` dans `World of Warcraft/_retail_/Interface/AddOns/`.
2. Lancez le jeu ou utilisez `/reload`.
3. Ouvrez l’addon avec `/prp`, le compartiment des addons ou son bouton de mini-carte.

Aucun autre addon n’est obligatoire :

- **TomTom** est facultatif et fournit sa flèche lorsqu’il est installé ; sinon Pet Route Planner utilise le repère utilisateur natif de Blizzard quand celui-ci est disponible.
- **ElvUI** est facultatif ; son thème est appliqué automatiquement s’il est actif.
- **AllTheThings et Mapzeroth ne sont pas des dépendances d’exécution** : seules leurs données ouvertes et épinglées sont intégrées. **Aucun code ni moteur Zygor n’est utilisé.**

## Commandes

- `/prp` : ouvrir ou fermer la fenêtre ;
- `/prp stop` : arrêter le guide actif ;
- `/prp recalc` : recalculer le trajet depuis la position actuelle ;
- `/prp diag` ou `/prp pourquoi` : expliquer la qualité du trajet actif ou la destination sélectionnée, puis proposer une action ;
- `/prp audit` : contrôler l’intégrité des données, du guide, de l’étape et du repère actif ;
- `/prp audit réparer` : recalculer explicitement le trajet actif en conservant l’ancien en cas d’échec ;
- `/prp avis` : évaluer le trajet courant ou le dernier trajet terminé et copier un rapport local ;
- `/prp vols` : afficher l’état des liaisons de vol applicables au personnage ;
- `/prp circuit` : afficher l’arrêt courant du circuit régional ;
- `/prp circuit suite` : terminer manuellement l’arrêt et passer au suivant ;
- `/prp circuit passer` : ignorer l’arrêt courant ;
- `/prp circuit plus tard` : conserver l’arrêt mais le déplacer à la fin du circuit ;
- `/prp circuit stop` : arrêter et effacer entièrement le circuit ;
- `/prp icone` : masquer ou réafficher le bouton de la mini-carte ;
- `/prp options` : ouvrir les options, notamment la taille du tracker ;
- `/prp version` : afficher la version réellement chargée par le client WoW ;
- `/prp tracker` : replacer uniquement le tracker à sa position par défaut ;
- `/prp tracker lisible` : restaurer le tracker à 100 %, fond 92 % et position par défaut ;
- `/prp reset` : réinitialiser la position de la fenêtre et les préférences ;
- `/prp help` : afficher l’aide.

## Correctif de taint de la V0.22.2

- PRP ne s’enregistre plus dans `ObjectiveTrackerManager` et ne modifie plus
  aucun module du suivi d’objectifs Blizzard ;
- le résumé du circuit est désormais un cadre compagnon indépendant, ancré
  visuellement près des objectifs sans leur transmettre de taint ;
- l’option correspondante a été renommée pour décrire honnêtement cette
  séparation de sécurité.

## Correctif visuel de la V0.22.1

- le sélecteur de destination et le panneau **Itinéraire** disposent désormais
  d’une marge structurelle ; leurs bordures et textes ne peuvent plus se
  superposer sous ElvUI ou avec une autre échelle d’interface ;
- le visuel de la fiche est légèrement moins haut afin que chaque zone conserve
  son espace propre.

## Intégration au suivi des objectifs de la V0.22.0

- nouvelle option **Masquer les trackers PRP en donjon et raid** ; elle masque
  le tracker flottant et le bloc de circuit sans interrompre le guide ;
- lorsqu’un circuit contient plusieurs mascottes, un bloc compact
  **Circuit mascottes** apparaît près du suivi des objectifs de WoW avec
  l’arrêt courant, l’étape et la consigne ;
- cliquer sur le nom de l’arrêt dans ce module rouvre PRP sur la mascotte ;
- le module peut être désactivé indépendamment depuis les options.

## Nouvelle présentation de la V0.21.0

- le tracker **Complet** devient un dialogue horizontal unique : grand visuel,
  nom, progression et instruction au centre, puis cinq actions alignées en bas ;
- disparition des panneaux imbriqués qui donnaient un effet de fenêtres
  superposées, sous le thème WoW comme sous ElvUI ;
- un circuit régional distingue désormais **Plus tard** de **Passer** : le
  premier reporte la destination à la fin, le second l’abandonne ;
- la fin d’un trajet devient une carte explicite avec **Journal** et
  **Fermer**, sans notation ni reprise d’éléments propriétaires ;
- le bouton de fermeture du tracker masque l’étape sans détruire le guide ;
  les modes Compact et Minimaliste conservent leur disposition.

## Correctif de la V0.20.1

La carte automatique **À FAIRE** du tracker minimaliste n’est plus limitée à
huit lignes. Elle mesure la hauteur réelle de l’instruction localisée et
s’agrandit afin que la fin de la consigne reste toujours visible.

## Consolidation de la V0.20.0

- trois dispositions immédiates du tracker : **Minimaliste**, **Compact** et
  **Complet**, en plus de la taille réglable de 20 à 200 % ;
- nouveau diagnostic visuel : problème, qualité du trajet, lieu, coordonnées
  et action conseillée sont réunis dans une fenêtre dédiée ;
- le diagnostic permet de démarrer ou recalculer le trajet et d’ouvrir la
  mascotte ou le jouet dans PRP, sans dépendre du chat ;
- progression des circuits enrichie avec les arrêts terminés et passés ;
- suppression des glyphes décoratifs fragiles dans les textes joueur : les
  libellés restent lisibles avec les polices WoW et ElvUI compactes ;
- le guidage conserve les titres TomTom détaillés avec étape, cible, carte et
  coordonnées, et distingue clairement une instruction sans repère actif ;
- les compteurs fiables restent séparés pour les mascottes et les jouets, et
  les fiches sans point validé ne sont jamais présentées comme des trajets.

## Correctif de la V0.19.1

La notification **Mascotte repérée** utilise désormais une carte horizontale
compacte : grand modèle 3D à gauche, nom, possession et disponibilité du trajet
à droite, puis deux actions lisibles **Guide** et **Journal**. Un trajet absent
est expliqué dans le résumé sans remplacer le libellé du bouton par un texte
tronqué.

## Nouvelle interface de la V0.19.0

La fenêtre principale reprend désormais la structure du Journal des
collections : navigateur vertical à gauche, grande fiche avec modèle 3D à
droite, itinéraire intégré en partie basse et navigation globale
**Mascottes / Jouets / Circuits / Options**. La géométrie est identique sous
ElvUI et avec le thème WoW natif.

Le survol direct d’une mascotte a été simplifié. Il n’affiche plus le contenu
du tracker ni le diagnostic complet, mais seulement son nom, son lieu
d’obtention et ses coordonnées. Le bouton **Informations** conserve le détail
de l’étape et du guidage.

## Correctif de la V0.18.4

Les flèches Unicode des titres de repères ont été remplacées par le mot
**vers**. TomTom n'affiche donc plus de carré vide entre le départ et l'arrivée
d'un portail, même avec sa police compacte.

## Correctif de la V0.18.3

Les portraits 2D et 3D sont désormais mutuellement exclusifs dans la fenêtre
principale, le tracker et la notification de mascotte. Une icône de secours ne
peut plus réapparaître derrière un modèle déjà chargé lors d'un rafraîchissement.

## Fonctionnalité de la V0.18.2

En mode minimaliste, le tracker reste compact pendant le déplacement puis
s’agrandit automatiquement dans les 100 mètres autour d’un point de passage.
Une carte **À FAIRE — ÉTAPE x/y** apparaît sous les cinq commandes et affiche
l’instruction complète sur huit lignes. Les actions sans coordonnées, les
transitions et les trajets à recalculer affichent également cette carte sans
attendre un survol. Elle se replie automatiquement après le changement d’étape.

## Correctif de la V0.18.1

Le titre détaillé du repère est maintenant transmis explicitement à la flèche
TomTom. Celle-ci affiche donc `PRP étape/total — cible — zone — coordonnées`
au lieu du texte de secours « Point de passage inconnu ».

## Fonctionnalités de la V0.18.0

La transparence des surfaces PRP est désormais uniforme : fenêtre, panneaux,
lignes et tracker partagent la même valeur. Avec ElvUI, une option permet de
reprendre automatiquement l’opacité du profil ; sinon un curseur personnel de
20 à 100 % reste disponible.

Le tracker propose deux dispositions. Le mode complet ajoute un vrai bouton
**Précédent** et conserve les informations visibles. Le mode minimaliste
affiche le nom, le modèle 3D animé et cinq commandes : Précédent, Suivant,
Carte, Informations et Fermer. Fermer masque seulement l’étape courante : le
tracker revient automatiquement lorsque le guide avance.

Les repères TomTom indiquent maintenant le numéro d’étape, la cible, la carte
et les coordonnées exactes. PRP ne déclenche plus la flèche avant que TomTom
puisse projeter la cible depuis la zone actuelle ; le point reste visible sur
la carte et la flèche s’active après la transition nécessaire.

## Fonctionnalités de la V0.17.0

La V0.17.0 rompt avec la disposition en trois colonnes. Le catalogue utilise
désormais toute la largeur de la fenêtre et présente deux résultats par ligne.
La mascotte ou le jouet sélectionné apparaît dans un inspecteur inférieur :
grand visuel à gauche, informations au centre et itinéraire à droite. Les
surfaces restent opaques et aucun séparateur décoratif ne traverse le contenu.

Le tracker devient un bandeau horizontal compact. Le modèle 3D reste à gauche,
l’étape et l’instruction occupent le centre, et les actions Continuer, Carte et
Quitter restent visibles dans une colonne à droite. La taille et la transparence
continuent d’utiliser les réglages mémorisés de PRP.

## Fonctionnalités de la V0.16.36

La V0.16.36 remplace entièrement la disposition de la fenêtre principale par
trois colonnes indépendantes : recherche et catalogue, objet sélectionné, puis
itinéraire et actions. Les onglets, la recherche et les filtres sont regroupés
dans le volet de gauche ; la fiche centrale réserve un grand modèle 3D et un
sélecteur de destination ; la chronologie dispose de sa propre colonne.

Les anciens cadres imbriqués et leur séparateur ont été supprimés. Aucune
bordure décorative ne peut désormais traverser les textes ou le modèle, sous
ElvUI comme avec le thème WoW de secours.

## Fonctionnalités de la V0.16.35

La V0.16.35 rééquilibre entièrement la fenêtre principale : catalogue plus
large, compteurs séparés, modèle 3D agrandi et cartes distinctes pour
l’obtention et l’aperçu du trajet. Sous ElvUI, ces surfaces de lecture restent
opaques devant le monde tout en conservant les couleurs du profil.

Le curseur de transparence du tracker ne rend plus ses commandes illisibles.
Le fond général suit toujours la valeur choisie, mais les cartes utilisent une
progression plus douce et les trois actions restent contrastées même à 0 %.
Les libellés contextuels ont aussi été raccourcis et la version n’est plus
tronquée dans les petites tailles.

## Fonctionnalités de la V0.16.34

La V0.16.34 mémorise dans les SavedVariables la version réellement chargée à
`PLAYER_LOGIN` et ajoute `/prp version`. On peut ainsi distinguer sans ambiguïté
une archive récemment copiée d’un ancien code encore conservé en mémoire par
un client qui n’a pas effectué de `/reload`.

## Fonctionnalités de la V0.16.33

La V0.16.33 sécurise l’installation et le retrait des callbacks des modèles
3D. Si une scène ou un acteur Blizzard refuse ce callback, le tracker, la
fiche et la notification conservent immédiatement leur icône 2D au lieu de
rester noirs ou de propager une erreur Lua.

## Fonctionnalités de la V0.16.32

La V0.16.32 fait passer les modèles 3D du tracker et de la grande fiche par le
même adaptateur de Journal que la notification contextuelle. Les trois vues
acceptent ainsi aussi bien les informations structurées de Retail 12.1 que le
retour historique de Retail 12.0.7, avec conservation de l’icône 2D si le
modèle n’est pas disponible.

## Fonctionnalités de la V0.16.31

La V0.16.31 libère immédiatement une demande de titre de quête lorsque l’API
Blizzard refuse temporairement l’appel. La quête pourra être retentée plus
tard, au lieu de rester considérée à tort comme « en chargement » jusqu’au
prochain `/reload`.

## Fonctionnalités de la V0.16.30

La V0.16.30 mémorise aussi les échecs de chargement d’un objet ou d’une quête
pendant la session. Un ancien identifiant retiré reste présenté avec son
libellé de secours, mais ne peut plus provoquer une boucle de requêtes et de
rafraîchissements asynchrones.

## Fonctionnalités de la V0.16.29

La V0.16.29 isole les chargements asynchrones de PRP de ceux des autres
addons. Un nom d’objet manquant n’est demandé qu’une seule fois, puis mis en
cache à `ITEM_DATA_LOAD_RESULT`. Les événements d’objet ou de quête qui ne
correspondent à aucune requête PRP sont désormais ignorés : ils ne provoquent
plus d’invalidation ni de rafraîchissement inutile de la liste et du tracker.

## Fonctionnalités de la V0.16.28

La V0.16.28 ajoute une marge verticale réelle aux deux lignes du nom dans le
tracker. Sous ElvUI, ce titre reste compris entre 18 et 20 px même lorsque la
police générale du profil est exceptionnellement grande ; le curseur du
tracker reste le moyen cohérent d’agrandir tout l’assistant sans couper le nom.

## Fonctionnalités de la V0.16.27

La V0.16.27 protège les quatre grandes actions du tracker contre la
troncature. Leurs libellés dynamiques peuvent maintenant occuper deux lignes
centrées : « Attente d’obtention », « Je suis dans la région » et les autres
états restent compréhensibles sans imposer des abréviations techniques.

## Fonctionnalités de la V0.16.26

La V0.16.26 améliore la lisibilité du tracker pour les noms français longs.
Le nom de la mascotte ou du jouet dispose désormais de deux lignes au lieu
d’être coupé sur une seule ligne. La progression, l’instruction et les trois
grandes actions ont été repoussées ensemble afin de conserver des espacements
stables, y compris avec l’échelle du tracker réglée entre 20 % et 200 %.

## Fonctionnalités de la V0.16.25

La V0.16.25 centralise le cache des titres de quêtes localisés. Une quête
partagée par plusieurs mascottes ou jouets n’est plus interrogée plusieurs fois
pendant la construction du catalogue. Lorsqu’un titre n’est pas encore chargé,
PRP ne le demande qu’une fois puis exploite directement
`QUEST_DATA_LOAD_RESULT` pour mettre à jour les fiches. L’ouverture du catalogue
reste ainsi plus légère sans figer un libellé générique jusqu’au prochain
`/reload`.

## Fonctionnalités de la V0.16.24

La V0.16.24 raccorde Tol Dagor au réseau par deux vols séparés : marché des
Alizés pour l’Alliance et port des Pillards pour la Horde. Les nœuds et leurs
coordonnées proviennent des données Mapzeroth/ATT épinglées, mais le trajet
reste fail-closed : PRP ne propose le décollage qu’après confirmation en direct
par Blizzard que le maître courant et Tol Dagor sont découverts et joignables.
Le point d’acquisition sur l’île devient ainsi guidable sans supposer que le
personnage a déjà débloqué ce vol.

## Fonctionnalités de la V0.16.23

La V0.16.23 ajoute un guidage dédié aux destinations accessibles uniquement
par une file Blizzard. Pour la Vallée d’Alterac et Ashran, PRP n’invente plus
une liaison cartographique : le tracker indique précisément le menu JcJ et la
file à choisir, attend l’entrée sur la bonne carte, puis reprend automatiquement
le point final. La provenance ATT et les restrictions de faction sont
conservées, et la disponibilité de la file reste honnêtement conditionnelle.

## Fonctionnalités de la V0.16.22

La V0.16.22 guide jusqu’au début exact de la chaîne d’Azsuna qui mène à la
sous-zone 631 et à son jouet. Le point extérieur, la quête précédente et le
point final proviennent du même enchaînement ATT épinglé. L’accès reste marqué
conditionnel jusqu’au changement de carte ; aucune relation parent/enfant
n’est transformée arbitrairement en portail.

## Fonctionnalités de la V0.16.21

La V0.16.21 raccorde le jouet de la chaîne d’héritage pandaren sans envoyer
une faction dans la capitale adverse. Le point de départ est sélectionné à
Hurlevent pour l’Alliance et à Orgrimmar pour la Horde, avec l’identifiant de
quête correspondant. Une faction inconnue reste bloquée en sécurité et les
restrictions de race demeurent contrôlées par le catalogue.

## Fonctionnalités de la V0.16.20

La V0.16.20 ajoute trois chaînes conditionnelles documentées pour des jouets :
la phase de la Chambre du Cœur, la Faille de Telogrus et un scénario de quête
répétable. PRP guide jusqu’au donneur ou au point de départ exact et affiche
désormais **Quête à commencer** lorsque le prérequis peut précisément être
résolu au waypoint. Il ne présente plus cette situation comme un blocage déjà
échoué. Deux points deviennent entièrement guidables ; la Chambre du Cœur
reste honnêtement classée en approche partielle tant que son étage extérieur
n’est pas raccordé de façon sûre.

## Fonctionnalités de la V0.16.19

La V0.16.19 raccorde trois jouets situés dans des gouffres dont ATT publie
l'entrée extérieure exacte. PRP guide désormais jusqu'aux entrées des cartes
2249, 2505 et 2535, attend le changement de carte, puis reprend le point précis
du jouet à l'intérieur. Ces accès ajoutent trois points réellement utilisables
sans transformer artificiellement les cartes intérieures en zones extérieures.

## Fonctionnalités de la V0.16.18

La V0.16.18 complète le raccordement des portails qui changent d'espace sans
changer d'uiMapID. Le constructeur du graphe conserve désormais ces liaisons
lorsqu'elles relient deux groupes géographiques distincts. La régression est
testée de bout en bout avec les données embarquées du portail
Harandar/Vide-tempête : calcul, apparition de l'étape et validation au point
d'arrivée.

## Fonctionnalités de la V0.16.17

La V0.16.17 rétablit les portails qui changent réellement d'espace sans
changer d'uiMapID. Le portail entre Harandar et le Vide-tempête était présent
dans le graphe mais disparaissait du tracker parce que les deux extrémités
utilisent la même carte Blizzard. PRP affiche désormais cette transition et
attend que le personnage atteigne précisément son point d'arrivée avant de
passer à l'étape suivante. Une carte déjà active ne peut donc jamais valider le
portail prématurément.

## Fonctionnalités de la V0.16.16

La V0.16.16 fiabilise l'arrivée des transports de surface. Après un bateau, un
zeppelin ou le tram, WoW peut sélectionner une sous-carte différente de
l'uiMapID nominal du nœud d'arrivée. PRP accepte désormais cette sous-carte
uniquement si elle appartient au bon groupe géographique **et** si le
personnage se trouve réellement près du point d'arrivée. Le tracker avance
ainsi sans rester bloqué, tout en refusant une mauvaise zone du même continent.
Les vols conservent leur automate dédié d'embarquement et d'atterrissage.

## Fonctionnalités de la V0.16.15

La V0.16.15 épure les trajets calculés entre plusieurs couches de la carte
Blizzard. Une ville, sa zone et son continent peuvent partager le même espace
physique tout en portant des uiMapID différents. Ces connexions restent dans le
graphe pour trouver le meilleur itinéraire, mais PRP ne les affiche plus comme
de faux passages à traverser lorsque la relation parent/enfant est confirmée.
Les accès explicitement déclarés (porte, tunnel, salle de portail) ne sont
jamais masqués par ce filtre.

La reprise de localisation est aussi renforcée : un recalcul techniquement
réussi mais qui rend encore « position indisponible » ne désarme plus la sonde.
PRP continue silencieusement jusqu'à obtenir une route réellement exploitable.

## Fonctionnalités de la V0.16.14

La V0.16.14 complète la reprise après localisation tardive. Si WoW publie les
coordonnées du personnage avant d'avoir fini de préparer toutes ses cartes, un
premier recalcul peut encore échouer. PRP réessaie maintenant à intervalle
court jusqu'à la première reconstruction réussie, puis désarme la sonde afin de
ne jamais recalculer en boucle. Ces tentatives automatiques restent silencieuses
dans le chat ; un recalcul demandé manuellement conserve son diagnostic.

## Fonctionnalités de la V0.16.13

La V0.16.13 sécurise les routes calculées pendant le premier chargement du
personnage. Lorsque WoW n'a pas encore publié la carte de départ, PRP n'invente
plus une transition régionale impossible à restaurer. Il affiche une courte
étape de localisation, conserve l'entrée exacte documentée ou fournie par la
carte Blizzard, puis recalcule automatiquement dès que la position réelle est
disponible.

Cette correction concerne notamment les accès intérieurs, scénarios et étages :
le point extérieur et la transition vérifiés ne sont jamais perdus, mais aucun
départ approximatif n'est proposé tant que le client ne sait pas où se trouve
le personnage.

## Fonctionnalités de la V0.16.12

La V0.16.12 rend les lacunes de trajet beaucoup plus honnêtes dans le tracker.
Une destination non raccordée est maintenant présentée comme **Région à
rejoindre**, conserve sa carte et attend un vrai changement de zone au lieu de
recalculer indéfiniment le même chemin. Le bouton explicite **Je suis dans la
région** ne valide donc jamais une étape sur la carte de départ.

Pour les intérieurs et scénarios dont l’entrée extérieure est documentée, PRP
sépare désormais quatre phases : rejoindre la région extérieure, atteindre le
repère exact de l’entrée, utiliser l’accès, puis rejoindre le point final. Si le
personnage se trouve déjà sur la bonne carte extérieure, l’étape manuelle est
supprimée et l’entrée reste un accès documenté plutôt qu’un trajet partiel.

## Fonctionnalités de la V0.16.11

La V0.16.11 consolide le choix automatique d'une destination : à qualité de
trajet égale, PRP préfère désormais le coût calculé le plus court, sans
remplacer un choix manuel pour un gain marginal. Les notifications du Journal
affichent également la qualité réellement disponible avant d'ouvrir le guide.

Lorsqu'une entrée intérieure exacte est publiée par Blizzard mais que le graphe
ne sait pas rejoindre son extérieur, le guide conserve cette entrée et annonce
honnêtement l'approche manuelle requise. Les diagnostics distinguent maintenant
une entrée non publiée, invalide ou simplement non raccordée. Enfin, les
rafraîchissements du circuit régional ne déclenchent plus de calculs de trajet
coûteux tant que le joueur n'appuie pas sur **Planifier**.

## Fonctionnalités de la V0.16.10

La V0.16.10 choisit maintenant la destination selon la qualité du trajet
réellement calculé depuis le personnage, et plus seulement selon la confiance
de la source. Une route complète est proposée avant une fiche plus précise mais
inaccessible depuis la position courante ; les méthodes retirées, bloquées ou
incompatibles avec la faction sont exclues. Un choix explicite fait dans le menu
**Destination** reste néanmoins prioritaire et n'est jamais remplacé en silence.

Les textes officiels du Journal chargés après l'ouverture de PRP invalident
désormais les étapes concernées : la méthode d'obtention visible se complète
sans nécessiter une reconnexion. Les notifications du monde et du Journal
profitent du même classement de trajets que la fenêtre principale.

## Fonctionnalités de la V0.16.9

La V0.16.9 fiabilise la notification affichée lors du clic ou du ciblage d’une
mascotte dans le monde. Un clic sans unité sous le curseur ne réutilise plus
une ancienne cible ; les valeurs protégées de Retail 12.1 restent fail-soft.
La notification conserve son modèle 3D animé avec un adaptateur compatible
12.0.7/12.1, ses actions **Guide/Refaire** et **Journal**, ainsi que la
confirmation avant de remplacer un trajet actif.

Pour les points ATT qui prouvent un lieu mais pas l’action exacte, PRP reprend
désormais une méthode d’obtention explicite du texte officiel du Journal
(vendeur, quête, butin, combat, métier, événement…), y compris lorsque ce texte
est chargé tardivement. Une simple zone ou le mot générique « mascotte » ne sont
jamais présentés comme une méthode : le guide conserve alors sa formulation
prudente.

## Fonctionnalités de la V0.16.8

La V0.16.8 rend le tracker plus précis sans le surcharger : sa ligne de
progression nomme de nouveau le type de l’étape active (`Portail`, `Bateau`,
`Vol`, `Destination`, `Obtention`…), et le mode circuit conserve une formule
compacte même avec beaucoup d’arrêts. Les textes visibles restent fondés sur
les noms de cartes localisés par le client ; les identifiants et noms de nœuds
techniques du graphe ne sont jamais présentés au joueur.

Elle conserve les améliorations de la V0.16.7, qui transforme les destinations
sans liaison sûre en une étape honnête « Région à rejoindre » : la carte
d'approche reste disponible, aucun faux portail ou détour par capitale n'est
inventé, et PRP recalcule automatiquement après le changement de zone. Pour une
sous-carte intérieure, Carte ouvre le premier parent extérieur déclaré par
Blizzard plutôt que l'étage inaccessible.

Elle conserve aussi les améliorations de la V0.16.6, qui nomme précisément la carte de départ dans les étapes de sortie et
empêche le bouton Carte d'ouvrir une destination future pendant cette phase.
Elle écoute aussi le changement de carte Retail le plus précis afin de
recalculer immédiatement après la sortie. Elle conserve les garanties de la
V0.16.5, qui fiabilise le démarrage d'un trajet depuis une instance ou une
sous-carte encore non raccordée : PRP demande d'abord de rejoindre une zone
extérieure, puis recalcule automatiquement. Les coordonnées protégées,
indisponibles, hors carte ou non finies sont désormais ignorées sans produire
de distance ou de portail trompeur.

### Consolidation du guidage et de la disponibilité

- couverture d’itinéraire mesurée à **2 112/2 165 points de mascottes pour l’Alliance (97,55 %)** et **2 090/2 165 pour la Horde (96,54 %)**, en séparant strictement graphe autonome et entrées documentées ;
- côté jouets, **1 041/1 063 points applicables Alliance (97,93 %)** et **1 065/1 103 Horde (96,56 %)** disposent d’un trajet du graphe, d’une entrée explicite ou d’une file Blizzard documentée ;
- dix cartes spéciales disposent désormais d’une vraie transition extérieure sourcée : Catacombes de Karazhan, Front du Magma, Futur primaliste, île aux Sirènes et sa couche enfant, deux Visions horrifiques, Atal’Kaldan, pointe de Daggerspine et Naigtal ;
- aucune carte intérieure, phase ou scénario n’est transformé en faux alias de continent : quand l’entrée n’est pas démontrée, le moteur reste en échec fermé ;
- les **20 clés de conditions ATT réellement présentes** sont classées sur les **7 111 méthodes** mascottes + jouets ; faction, classe, race, niveau, métier, quête, haut fait, réputation, version, disponibilité limitée et sources spéciales ne deviennent jamais silencieusement « disponibles » ;
- une méthode bloquée ou retirée est exclue de la fenêtre, des notifications, des choix alternatifs et des circuits régionaux ;
- les caches de disponibilité des jouets sont rafraîchis avec ceux des mascottes après quête, niveau, réputation, haut fait, métier ou résolution tardive du client ;
- une erreur ou une prévisualisation vide du moteur ne casse plus la fenêtre : PRP conserve les étapes brutes et affiche un diagnostic partiel ;
- depuis une instance, une grotte ou un scénario intérieur, PRP demande d’abord de sortir puis recalcule automatiquement au changement de carte ; aucun portail extérieur n’est inventé depuis une projection intérieure ;
- lorsque Blizzard connaît la carte mais ne fournit pas encore la position du joueur, le tracker affiche **Position à préciser** et propose un recalcul au lieu d’envoyer arbitrairement vers une capitale ;
- lorsqu’une carte de départ n’est pas raccordée au réseau, le tracker affiche **Départ hors réseau**, attend une vraie transition de zone et recalcule automatiquement sans choisir de capitale arbitraire ;
- démarrage et recalcul sont transactionnels : un trajet invalide n’efface pas le dernier guide utilisable et ne laisse pas de guide fantôme ;
- positions, taille et opacité sauvegardées sont validées et réparées ; `/prp reset` les réapplique immédiatement sans `/reload`.

### Précision des consignes

- consignes d’obtention propres à chaque source : vendeur, quête, objet, instance, PNJ, butin ou capture de mascotte sauvage ;
- le nom de la mascotte ou du jouet recherché apparaît dans l’action finale, sans identifiant technique présenté au joueur ;
- rayon d’arrivée adapté à la cible : point interactif précis, PNJ mobile ou zone de présence ; TomTom et le repère natif utilisent exactement le même seuil ;
- titres de repère et consignes de transport précisent le portail, quai, zeppelin, tram ou maître de vol à rejoindre ;
- validation renforcée des changements de carte : un portail n’est plus considéré terminé sur la seule appartenance au même continent ;
- prérequis structurés rappelés dans le tracker au moment de l’action et actualisés quand le cache du client reçoit les noms manquants ;
- les destinations de la faction adverse sont refusées, tandis que le catalogue et les circuits recherchent automatiquement une méthode compatible ;
- accès documentés au Front du Magma, à l’île aux Sirènes, à Atal’Kaldan, à la pointe de Daggerspine, à Naigtal, au Futur primaliste, aux Visions horrifiques et aux Catacombes de Karazhan, sans transformer leurs intérieurs en fausses routes directes ;
- contrôle global permanent des **2 165 points de mascottes** et des **1 394 points de jouets guidables** : coordonnées, texte joueur, titre de repère et rayon d’arrivée sont vérifiés automatiquement ;
- couverture PRP portée à **2 112/2 165 points pour l’Alliance** et **2 090/2 165 pour la Horde**, en distinguant les accès documentés ou conditionnels de la couverture brute du graphe.

### Améliorations d’interface conservées de la V0.14.2

- tracker jouet corrigé : icône compacte et nette, sans étirement sur la zone réservée aux modèles 3D ;
- commandes du tracker simplifiées en boutons textuels sobres, sans glyphes `?`, `>` et `X` ;
- opacité appliquée aux commandes afin que le mode transparent reste cohérent ;
- onglets Mascottes/Jouets explicitement harmonisés avec la palette ElvUI ;

- correction de la géométrie ElvUI : le panneau de détail reste entièrement contenu dans la fenêtre ;
- ElvUI habille désormais les dimensions natives sans redimensionner les colonnes ou les menus ;

- tracker redimensionnable librement de 20 % à 200 %, sans rechargement ;
- opacité du fond réglable de 0 % à 100 %, sans rendre les textes ni le modèle transparents ;
- bouton **Restaurer le tracker lisible** pour revenir instantanément à 100 %, fond 92 % et position par défaut ;
- options accessibles depuis les réglages WoW, le bouton de la fenêtre PRP ou par clic droit sur l’icône de mini-carte ;
- commandes du tracker volontairement textuelles pour rester immédiatement compréhensibles.

- fenêtre principale ramenée à deux entrées compréhensibles : **Mascottes** et **Jouets** ;
- les mascottes possédées restent dans la même liste afin de pouvoir refaire leur trajet ;
- détails techniques et longue liste d'étapes retirés de la lecture principale ;
- tracker 3D fidèle à la maquette : grand modèle recadré, nom, progression, une instruction et trois grandes actions illustrées ;
- suppression du bandeau d’état, de la barre bleue, de la distance et des métadonnées techniques dans la vue normale ;
- thème ElvUI prioritaire et fallback WoW natif conservé.

### Mascotte repérée dans le monde

- le numéro de version est désormais visible dans le titre principal, le tracker et les infobulles de lancement ;

- un clic gauche ou une sélection de cible sur une mascotte invoquée peut afficher une carte compacte près du bouton de mini-carte ;
- la carte reprend le modèle 3D animé officiel de l’espèce, avec repli sur son icône si la scène n’est pas disponible ;
- l’état **À obtenir** ou **Déjà possédée** est immédiatement visible ;
- la destination et la qualité du trajet sont affichées avant toute action ;
- les grandes actions libellées **Guide/Refaire** et **Journal** restent lisibles sans connaître les pictogrammes ;
- le guide lance directement la meilleure route fiabilisée, y compris pour rejouer le trajet d’une mascotte déjà possédée ;
- le Journal Blizzard s’ouvre directement sur l’espèce reconnue ;
- si aucun trajet fiable n’existe, la carte l’explique clairement et le Journal reste utilisable ;
- l’identification repose sur le creatureID officiel du Journal et refuse les correspondances ambiguës au lieu de proposer la mauvaise mascotte ;
- un clic sur une unité qui n’est pas une mascotte ne retombe jamais sur l’ancienne cible ;
- la carte se masque après 12 secondes, reste ouverte au survol et évite les réapparitions répétées ;
- si un guide ou un circuit est déjà actif, une confirmation est demandée avant son remplacement ;
- la carte reprend ElvUI lorsqu’il est actif et conserve un fallback WoW natif sinon.

### Couverture visible du catalogue

- le panneau de liste distingue **1 143 mascottes guidables** des **2 102 fiches cataloguées** ;
- l’onglet Jouets présente de la même façon les jouets guidables et le total catalogué ;
- ces nombres sont calculés depuis les tables d’acquisition embarquées et évolueront automatiquement avec leur prochaine génération ;
- le compteur de possession reste visible séparément et les filtres ne faussent jamais la couverture affichée ;
- l’infobulle détaille les fiches non guidables : zone seulement, point précis rejeté par sécurité, ou absence de carte.

Les compteurs répondent à trois questions différentes :

| Indication | Signification |
|---|---|
| `1 143 mascottes guidables • catalogue : 2 102` | espèces dont au moins une méthode possède une destination assez précise pour être proposée au guide, puis total des fiches connues |
| compteur équivalent des jouets | jouets guidables, puis total des fiches de jouets connues |
| couverture Alliance/Horde | points applicables qu’un trajet du graphe ou une entrée documentée sait rejoindre depuis un hub d’audit |

« Guidable » ne veut pas dire « disponible aujourd’hui pour ce personnage » :
PRP vérifie ensuite faction, niveau, classe, race, métier, quête, haut fait,
réputation, événement et version du jeu. Une méthode peut être fiable mais
temporairement indiquée **À confirmer** ou **Indisponible**.

### Invitation depuis le Journal des mascottes

- un clic gauche sur une mascotte non possédée dans le Journal Blizzard affiche une petite invitation si une destination réellement guidable est disponible ;
- l’invitation montre l’icône, le nom et la région, puis propose seulement **Ouvrir le guide** ou **Ignorer** ;
- aucun trajet ne démarre automatiquement : **Ouvrir le guide** affiche PRP directement sur la bonne mascotte et sa meilleure destination ;
- les mascottes déjà possédées et les fiches sans point fiable ne provoquent aucune notification ;
- **Ignorer** masque cette proposition pour la mascotte pendant la session, afin d’éviter les répétitions.

### Nouvelle fenêtre principale

- une vue **Mascottes** unique, comprenant les trajets à obtenir et ceux que le joueur peut refaire ;
- les entrées sans destination guidable ne sont plus affichées dans la liste, les filtres ni le sélecteur de lieu ;
- une ancienne préférence enregistrée vers une source imprécise est automatiquement remplacée par la meilleure destination guidable disponible ;
- onglet **Jouets** pleinement actif, séparé du catalogue des mascottes ;
- **724 jouets** disposent d’au moins une acquisition guidable, issue de **1 394 points fiables** intégrés depuis ATT ;
- noms, icônes et possession des jouets proviennent directement du coffre à jouets du client WoW ;
- les sources de jouets sans coordonnées suffisamment fiables restent invisibles, comme les entrées imprécises des mascottes ;
- recherche et région placées en haut, tandis que les filtres techniques restent retirés de la vue principale ;
- liste plus lisible avec grandes icônes, région et qualité du trajet ;
- aperçu 3D de la mascotte sélectionnée dans le panneau principal, avec repli automatique sur son icône 2D ;
- résumé réduit à **Où ?**, **Comment ?** et au nombre d’étapes/transports ;
- grande action **Ouvrir le guide**, complétée par les actions contextuelles utiles ;
- les diagnostics détaillés et les méthodes alternatives restent accessibles sans encombrer la lecture normale.

### Thème adaptatif

- **ElvUI est prioritaire lorsqu’il est choisi** : fenêtre principale, tracker, panneaux, boutons, menus, champs, cases, barres de défilement, icônes et listes reprennent sa palette, ses bordures, sa texture et ses polices ;
- le chrome Blizzard rouge/or et l’anneau de bouton d’action ne se superposent plus au rendu ElvUI ;
- compatibilité avec l’état d’initialisation officiel d’ElvUI 15.21, tout en conservant la détection des anciennes versions ;
- application isolée et réessayable par composant : une erreur d’un module de thème tiers ne bloque pas le reste de l’interface et ne duplique pas les menus au nouvel essai ;
- le thème **WoW** emploie les contrôles Retail natifs (`UIPanelButtonTemplate`, `UICheckButtonTemplate`, `WowStyle1DropdownTemplate`, `UISliderTemplateWithLabels` et `SearchBoxTemplate`), y compris dans l’assistant ;
- ce thème reste strictement indépendant même si ElvUI est chargé : ni skin, ni palette, ni opacité ElvUI ne sont hérités ;
- passer d’un thème ElvUI déjà appliqué au thème WoW recharge automatiquement l’interface afin de reconstruire les textures Blizzard originales ;
- **sans ElvUI**, Pet Route Planner conserve intégralement son thème WoW natif et toutes ses fonctions.

### Circuits régionaux

- activation du mode **Circuit régional** après avoir choisi une région dans les filtres ;
- sélection multiple au moyen d’une case dédiée sur chaque mascotte, sans modifier le clic normal qui ouvre sa fiche ;
- bouton **Non possédées** pour préparer rapidement la collecte, tout en autorisant la sélection manuelle d’une mascotte déjà obtenue afin de refaire son trajet ;
- prévisualisation de l’ordre des arrêts avant démarrage, avec numéros visibles dans la liste ;
- ordre optimisé à partir des coûts connus du graphe de transport et des distances locales ; les destinations dont le coût reste incertain sont placées après les trajets vérifiés et signalées comme approximatives ;
- enchaînement automatique vers la mascotte suivante après acquisition ou validation manuelle, avec actions **Passer** et **Arrêter le circuit** dans le tracker ;
- progression `arrêt n/N` affichée dans le tracker en plus de la progression interne du trajet ;
- conservation du circuit après `/reload`, sans supprimer d’arrêt pendant le chargement progressif du catalogue ;
- arrêt propre et transactionnel : un premier guide invalide annule le circuit, tandis qu’un arrêt devenu indisponible en cours de route est ignoré sans laisser de plan fantôme ;
- restauration stricte de la méthode d’obtention choisie : une destination supprimée par une mise à jour n’est jamais remplacée silencieusement par un autre lieu.

### Tracker d’itinéraire

- assistant compact centré sur une seule question : **que dois-je faire maintenant ?** ;
- véritable modèle 3D de la mascotte fourni par le client WoW, cadré avec la scène officielle du Journal ; l’icône 2D reste visible tant que le modèle n’est pas chargé ou si la scène est indisponible ;
- grand visuel, nom, progression et instruction en texte lisible, sans distance ni métadonnée technique dans la vue normale ;
- trois actions explicites toujours visibles — **Carte**, **Continuer** et **Quitter** — sans commande cachée au survol ;
- consignes adaptées au contexte — vol à confirmer, transport à emprunter, destination, dernière action ou trajet terminé — sans bandeau d’état permanent ;
- actions simples telles que **Me montrer où aller**, **Continuer**, **Terminer**, **Passer cette mascotte** et **Quitter le guide** ;
- fin manuelle correcte lorsqu’un trajet est refait pour une mascotte possédée et confirmation temporaire lorsqu’une acquisition est détectée ;
- chargement 3D mis en cache par espèce, callbacks périmés ignorés et nouveau modèle différé pendant le combat pour éviter les à-coups ;
- cadre, boutons, polices et couleurs synchronisés avec le thème ElvUI ; les
  rendus 3D restent des contrôles natifs WoW. La grande fiche emploie un
  `PlayerModel`, tandis que les scènes bornées du tracker et des cartes peuvent
  conserver leur `ModelScene`.

### Catalogue et recherche

- catalogue complet exposé par le Journal des mascottes du client WoW, avec noms, icônes, descriptions, sources et état d’obtention dans la langue du jeu ;
- chargement progressif, traitements différés et liste virtualisée pour garder l’interface fluide avec plusieurs milliers d’entrées ; l’index du Journal et les espèces ATT intégrées sont fusionnés, et une entrée invalide ne peut plus interrompre tout le catalogue ;
- détection des mascottes déjà possédées et filtre « Masquer possédées » ;
- recherche textuelle temporisée, tris et filtres par **continent**, **région** et **type de source** ;
- possibilité d’afficher et de refaire une route pour une mascotte déjà possédée.
- recherche dédiée dans l’onglet Jouets, statut **Obtenu/Non obtenu**, icône officielle et destinations alternatives guidables ;
- le même moteur de portails, bateaux, zeppelins, vols et repères est utilisé pour les jouets ;
- prévisualisation du trajet et de sa qualité avant de démarrer le guide ;
- bouton **Pourquoi ?** pour expliquer une acquisition non guidable ou un trajet incomplet ;
- infobulles détaillées pour les noms, lieux, sources et prérequis tronqués, plus des libellés de filtre compacts.

### Méthodes d’obtention

La V0.5 embarque un index factuel généré depuis **AllTheThings**, épinglé au commit `e4364deafc9ef0e0ca6229b403fb2970e924c833` :

- **2 102 espèces** indexées ;
- **4 640 méthodes ou destinations candidates** ;
- **2 165 acquisitions guidables**, couvrant **1 143 espèces**.

Pour une même mascotte, le joueur peut choisir la destination souhaitée : vendeur, PNJ, quête, objet ou autre source indexée. Le choix préféré est conservé et les filtres restent cohérents avec cette destination.

Les données ATT intégrées se limitent aux identifiants, cartes, coordonnées et conditions structurées. Aucune note narrative ATT n’est embarquée, et ATT n’est jamais interrogé pendant le jeu.

La V0.10 applique la même méthode aux jouets : **1 104 identifiants de jouets** et **2 471 candidats** ont été audités ; seuls les **1 394 points guidables**, couvrant **724 jouets**, sont présentés dans l’interface. Les autres restent exclus plutôt que d’être affichés comme de simples entrées sans trajet.

Chaque destination conserve également la précision de sa provenance :

- `exact` : coordonnées rattachées directement à la source retenue ;
- `instance` : entrée fiable d’une instance contenant la source ;
- `zone` : destination utile à l’échelle de la zone, sans promesse d’un point exact ;
- `unknown` : précision insuffisante, conservée pour information mais refusée par le guidage automatique.

Les conditions structurées disponibles (faction, niveau, réputation, métier, quête, événement, coût en objet ou monnaie) sont présentées directement dans le panneau de détail ; une donnée absente n’est jamais remplacée par un prérequis inventé.

### Navigation autonome

Le moteur de trajet utilise un graphe autonome issu du profil **Mapzeroth safe-v06**, épinglé au commit `9491d132cfd0707f7c0ad73c2cc916eb60c52a1a` :

- **1 204 nœuds** de carte et de transport ;
- **248 liaisons sélectionnées**, dont **15 vols vérifiés** : 13 issus de Mapzeroth et 2 raccordements Tol Dagor contrôlés en direct par `C_TaxiMap` ;
- **4 alias de carte canoniques audités** pour K’aresh, Azshara, le Vindicaar et Tol Dagor, sans inventer de transport ;
- **6 associations parent/enfant auditées** pour des couches extérieures des Tarides du Nord, Dun Morogh, Khaz Algar et du Vide-tempête ; le générateur refuse l’export si leur parent ne résout plus vers le groupe attendu ;
- portails, bateaux, zeppelins et Tram des profondeurs, sorties d’intérieurs connues et raccordements locaux extérieurs sûrs.

Le profil « safe » évalue en échec fermé les conditions qu’il sait vérifier : faction, niveau, quête, classe, variante de carte (`mapArtID`) et événement saisonnier. Une liaison conditionnelle reste exclue si sa disponibilité ne peut pas être confirmée. Le guide attend les changements de carte entre les étapes, peut recalculer depuis la position courante et restaure le repère Blizzard qu’il a temporairement remplacé.

Les vols suivent une validation en deux temps. À distance, une liaison n’est admise que provisoirement lorsque ses deux points de vol sont retrouvés sans ambiguïté dans les données du client, compatibles avec la faction et déjà découverts. La correspondance reste limitée au même `uiMapID`, à 500 yards, ou à un repli normalisé très strict (`0,005`) lorsque les projections de cartes phasées sont incohérentes ; la faction et l’ambiguïté restent toujours traitées en échec fermé. À l’événement `TAXIMAP_OPENED`, au maître de vol, PRP exige ensuite que le point de départ soit exactement `Current` et la destination exactement `Reachable`. Une source qui n’est pas `Current` signale le mauvais maître de vol ; une destination qui n’est pas `Reachable` bloque cette liaison et demande un recalcul. La validation provisoire ne devient donc jamais une promesse de vol disponible.

Le diagnostic `/prp vols` évalue les conditions avant de sonder les points : une liaison de l’autre faction, d’une autre phase ou dont le prérequis n’est pas vérifiable est indiquée comme **ignorée** et n’entre pas dans le dénominateur des vols applicables.

PRP ne fait **aucun appel automatique à `TakeTaxiNode`** : le joueur choisit et lance lui-même le vol dans l’interface Blizzard. Une fois le départ effectué, le guide suit `UnitOnTaxi("player")`, puis ne valide l’atterrissage qu’après la fin du taxi, sur la carte attendue et à proximité du point d’arrivée prévu.

Le benchmark topologique donne une **borne haute** de couverture brute de **2 088 acquisitions sur 2 165 pour l’Alliance (96,44 %)** et de **2 066 sur 2 165 pour la Horde (95,43 %)**. Les entrées et scénarios explicitement documentés par PRP ajoutent **24 points** à chaque faction : la couverture exécutable atteint ainsi **2 112/2 165 pour l’Alliance (97,55 %)** et **2 090/2 165 pour la Horde (96,54 %)**. Les accès à quête, événement, objet spécial ou scénario restent qualifiés d’« accès documenté » ou « à confirmer », jamais de trajet garanti en toute phase. Ces bornes ne remplacent ni la découverte des vols par le personnage, ni la confirmation `Current`/`Reachable` en jeu. **75 points d’acquisition répartis sur 26 `uiMapID` ne sont toujours rattachés à aucun groupe brut** ; plusieurs possèdent toutefois une autre destination guidable et **42 espèces** n’ont encore aucune alternative rattachée.

Pour les jouets, la même mesure tient compte des restrictions de faction : le graphe couvre **1 013 points Alliance** et **1 036 Horde** ; les entrées documentées et files Blizzard ajoutent respectivement **28** et **29 points**, soit **1 041/1 063 (97,93 %)** et **1 065/1 103 (96,56 %)**. Le dénominateur diffère parce que les méthodes réservées à l’autre faction sont exclues plutôt que comptées comme échecs. La Chambre du Cœur n’est pas ajoutée à ces totaux : son point de quête est prouvé, mais l’approche jusqu’à la bonne couche reste partielle.

Les liaisons Mapzeroth de type `phaseswitch` restent désactivées. Le client permet de sonder certains états locaux (par exemple une variante `mapArtID` ou une quête), mais les acquisitions ATT intégrées n’indiquent pas la **timeline ou phase cible** dans laquelle se trouve réellement la mascotte. Ajouter seulement une liaison de changement de phase pourrait donc conduire à la bonne zone géographique dans la mauvaise époque, où la source n’existe pas. En l’absence de cette information de cible, la V0.8.0 conserve honnêtement l’échec fermé plutôt que de présenter ces changements de phase comme sûrs.

Une condition de quête, niveau ou calendrier qui change pendant un guide suspend celui-ci jusqu’au recalcul, au lieu de réactiver une ancienne étape.

### Qualité et diagnostic d’un trajet

La V0.16.7 distingue explicitement les résultats du moteur :

- `Complet` : chaîne de transports vérifiée jusqu’à la destination ;
- `À confirmer` : vol à vérifier auprès du maître de vol ou accès dont le prérequis n’est pas encore confirmé par le client ;
- `Direct` : destination atteignable sans liaison de transport intermédiaire ;
- `Accès documenté` : entrée précise ajoutée depuis une source épinglée, sans prétendre que les prérequis dynamiques sont tous remplis ;
- `Secours` : ancien itinéraire manuel utilisé lorsque le graphe autonome ne suffit pas ;
- `Partiel` : destination connue, mais raccordement complet non démontré ;
- `Zone` : zone connue mais point exact insuffisant ; aucun repère automatique n’est inventé.

Cette qualité apparaît dans la prévisualisation, le panneau principal et le tracker. Le bouton **Pourquoi ?**, `/prp diag` et `/prp pourquoi` classent les échecs en causes compréhensibles — carte intérieure sans entrée, vol non découvert, destination non rattachée, scénario conditionnel ou prérequis — puis affichent une action concrète ainsi que les références `speciesID`, acquisition et `mapID` utiles pour signaler le cas.

## Performances mesurées

Sur le benchmark automatisé du catalogue V0.5, par rapport à l’implémentation précédente, les réductions mesurées sont :

- initialisation : **14,6 %** ;
- résolution répétée des libellés : **92 %** ;
- recherche textuelle : **98,9 %** ;
- sélection des candidats : **36,3 %** ;
- reconstruction des facettes : **plus de 99,9 %** ;
- appels de résolution de carte : **97,6 %**.

Ces mesures sont des micro-benchmarks reproductibles, pas une promesse de nombre d’images par seconde en jeu. L’interface retarde les travaux non visibles, réutilise les index et libellés stables et temporise la saisie de recherche ; les API du Journal restent traitées progressivement pour ne pas bloquer une image.

## Politique de confiance : échec fermé

Pet Route Planner préfère ne pas guider plutôt que d’afficher un faux point :

- une méthode sans carte et coordonnées exploitables reste consultable mais n’est pas guidable ;
- une coordonnée n’est activée que si son rôle de source et sa provenance atteignent le seuil de confiance prévu ;
- une source ambiguë, historique, retirée ou associée à une condition de disponibilité non résolue reste un simple candidat ;
- une liaison de transport dont les conditions ne sont pas modélisées est exclue du graphe « safe » ;
- si le client ne confirme pas la mascotte ou sa disponibilité, l’addon n’invente pas de destination de remplacement.

Les niveaux de confiance indiquent la qualité structurelle de la donnée, pas une garantie que le personnage remplit tous les prérequis.

## Limites et validation en jeu

- Le **catalogue** vient du client WoW, mais l’index ATT ne constitue pas une liste officielle des mascottes actuellement obtenables. La V0.8.0 recoupe les espèces avec `C_PetJournal` ; les événements, phases, quêtes, réputations, métiers et restrictions de personnage peuvent encore modifier la disponibilité réelle.
- Les 2 165 acquisitions guidables ont satisfait les contrôles structuraux du générateur. Elles n’ont pas toutes été parcourues manuellement en jeu de bout en bout ; les destinations `instance` et `zone` sont volontairement moins précises qu’une destination `exact`.
- Les portails et transports peuvent dépendre de la faction, d’une campagne débloquée, d’une phase, d’un horaire ou d’un événement actif. Un point exact ne garantit donc pas que le transport sera utilisable par le personnage.
- Le graphe Mapzeroth « safe-v06 » est volontairement partiel : un trajet absent, partiel ou refusé ne signifie pas que le voyage est impossible dans WoW. Les changements de phase sans timeline cible et certaines campagnes ou liaisons à disponibilité dynamique ne sont pas modélisés.
- Les vendeurs mobiles, créatures itinérantes et zones de butin peuvent demander une recherche locale même avec une coordonnée valide.
- L’addon propose des étapes et des repères ; il ne déplace pas le personnage et ne déclenche pas automatiquement les portails ou transports, y compris les vols.
- Des contrôles statiques et automatisés couvrent les données et le moteur. Une validation visuelle et fonctionnelle dans le client WoW reste nécessaire, en particulier après une mise à jour du jeu.

## Données tierces et licences

Pet Route Planner distribue des instantanés factuels générés ; aucune connexion à AllTheThings ou Mapzeroth n’a lieu à l’exécution.

- **AllTheThings** — données d’acquisition factuelles, licence MIT ; notice complète dans `LICENSE.AllTheThings.txt`.
- **Mapzeroth** — graphe de transport factuel, licence MIT ; notice complète dans `LICENSE.Mapzeroth.txt`.
- Les détails de provenance et les commits épinglés figurent dans `THIRD_PARTY_NOTICES.md`.

Le catalogue localisé, la possession et la disponibilité affichée sont résolus
via les API du client World of Warcraft. Aucun contenu de guide externe n’est
aspiré ou distribué.
