Skip to content

Suite de #90 : briques reprises dans le filtre du codex, 3ᵉ jalon sans les légendaires #96

Open

Description

@Lunik

Constat / besoin

Deux critères d’acceptation de #90 ne sont pas couverts par #95.

  1. Le filtre du codex par fascicule ne montre pas les briques reprises. La quête « Tous les préfixes » (ADR 0082) compte les briques du pli du fascicule, reprises comprises. Mais dans le codex, une brique reprise n’apparaît que sous le premier fascicule qui la déclare. Avec le filtre d’un fascicule, le joueur ne voit donc pas tout ce que la quête compte, et ne peut pas retrouver ce qui lui manque.
  2. Le 3ᵉ jalon compte les mots qui exigent une légendaire. Son seuil est égal au nombre de mots résultats du fascicule, y compris ceux dont une recette exige une brique légendaire. Pour l’atteindre, il faut donc trouver les légendaires, qui ont pourtant une chance fixe et restent hors garanties. Et le compteur « x / 50 » trahit leur existence (ADR 0043).

Vérification faite

Sur develop (fbe41fc) et sur Content develop :

  • Codex : dans construireCodex (web/src/services/codex.ts:128-133), l’ensemble vus saute toute carte déjà rencontrée dans un fascicule précédent. Chaque entrée ne porte qu’un seul fascicule, celui de sa première apparition.
  • Jalons, côté API : atteindre_jalons (crates/api/src/progression.rs:817) compte fascicule.mots ∩ découverts. JalonsJeu.mots (crates/catalogue/src/jeu.rs:277-285) prend toutes les cartes de rôle resultat, sans exclure celles qui exigent une légendaire. La PWA lit les mêmes seuils (web/src/services/quetes.ts, Quetes.tsx:88).
  • Seuils dans Content : dans les 11 fascicules, le 3ᵉ jalon est exactement égal au nombre de mots résultats.
Fascicule Mots résultats dont un mot à recette avec légendaire Jalons
Rosette 50 3 13, 25, 50
Argile 50 2 13, 25, 50
Aleph 50 2 13, 25, 50
Boustrophédon 50 2 13, 25, 50
Routes des mots 106 10 27, 53, 106
Arbre des langues 81 7 21, 41, 81
Lapidaire 90 5 23, 45, 90
Casse 83 7 21, 42, 83
Lettrine 64 3 16, 32, 64
Palimpseste 69 3 18, 35, 69
Ogham 31 1 7, 14, 31

Comportement attendu

  • Codex : avec le filtre d’un fascicule, le codex montre aussi les briques de son pli reprises d’un fascicule précédent. La carte garde son numéro d’origine. Elle se distingue par une mention discrète, par exemple « reprise de Rosette ». La vue « Tous » n’est pas dédoublonnée autrement qu’aujourd’hui.
  • Jalons : ni le compteur ni le seuil d’un jalon ne comptent un mot légendaire, ni un mot qui exige une légendaire. Un tel mot, une fois trouvé, ne fait pas avancer les jalons, comme pour les quêtes de collection.

Piste

Les deux dépôts sont concernés. On suit l’ordre « Content et API d’abord, rétrocompatible ; PWA ensuite ».

  1. Content :
    • Ramener le 3ᵉ jalon de chaque fascicule au nombre de mots qui n’exigent aucune légendaire.
    • Ajouter un contrôle (fascicule.jalon_legendaire par exemple) qui refuse un seuil supérieur à ce nombre. Le contrôle réutilise depend_de_legendaire de outils/src/collections.rs.
    • Ajouter le test et la ligne du README.
  2. API : exclure de JalonsJeu.mots les mots qui exigent une légendaire. Jeu::completer les connaît déjà, grâce à depend_d_une_legendaire. Ajouter un test sur un fascicule qui contient une brique légendaire.
  3. PWA :
    • Dans construireCodex, ajouter à une entrée la liste des fascicules qui la reprennent, par exemple reprisesDans: number[].
    • Faire appliquer cette liste par le filtre du codex.
    • Afficher la mention de reprise dans la carte.

À trancher dans l’ADR 0082, ou dans un correctif de l’ADR 0038 : est-ce qu’un mot légendaire trouvé compte au-delà du seuil ? Ce n’est pas nécessaire pour atteindre le jalon.

Critères d’acceptation

  • Avec le filtre d’Argile, le codex montre les préfixes et les suffixes de son pli repris de Rosette, avec leur mention de reprise.
  • Le nombre de préfixes visibles avec le filtre d’un fascicule égale le total de sa quête « Tous les préfixes ». Même chose pour les suffixes.
  • Le 3ᵉ jalon de chaque fascicule paru s’atteint sans aucune légendaire, et etymo-contenu valider refuse un seuil qui en exigerait une.
  • Côté API, un test montre qu’un mot qui exige une légendaire ne fait pas avancer les jalons.
  • À 390 px et 1440 px, en atelier et en nocturne : la mention de reprise ne déborde pas, et check_identity sort sans erreur.

Suite de #90 (livré par #95, EtymoLogique/Content#39, ADR 0082 de EtymoLogique/Design#51).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions