Files
sanctuary-beta/docs/starter-name-beta052.md
2026-09-15 09:29:11 +02:00

52 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# beta.052 — nom du familier de départ
Branche `codex/starter-name-beta052`. Contrat avant modification : Hello World
ajoute un champ « Nom du familier » sous les trois œufs centrés. Le libellé reste
aligné aux autres champs. Le nom est facultatif, limité à 32 caractères, sans
codes de mise en forme ni caractères de contrôle. Un champ vide conserve le nom
natif de l'espèce. Le serveur valide puis enregistre ensemble l'espèce et le nom
avant l'introduction. L'œuf reçoit le composant natif CUSTOM_NAME : le familier,
sa fiche et les renommages ultérieurs utilisent le fonctionnement déjà en place.
## Contrat de migration
Le registre `data/sanctuary-starters.json` passe du schéma 1 au schéma 2 : chaque
offre gagne `name`, vide pour les anciennes entrées. La lecture ne réécrit rien.
À la première modification, l'ancien fichier valide est conservé à l'identique
dans `sanctuary-starters.json.schema1.bak` avant l'écriture atomique du schéma 2.
Un fichier invalide ou une sauvegarde incompatible bloque l'écriture, sans remise
à zéro. Les choix, UUID, graines et reçus de remise restent identiques ; aucun
cadeau ni renommage rétroactif. Pour revenir à beta.051, conserver le registre 2
puis restaurer la sauvegarde 1 ; les choix faits depuis la migration seraient
alors perdus. Aucun monde personnel n'est ouvert ou migré pendant ces travaux.
Un nouveau message de configuration `sanctuary:starter_named_create_v1`
transporte le nom ; les anciens messages gardent leur format. Les clients
anciens peuvent encore créer un familier sans nom personnalisé sur ce serveur.
La saisie reste lors d'un redimensionnement ou d'un refus de couleur ; après
validation, reconnexion et introduction interrompue conservent le choix nommé.
## Vérifications
`./gradlew check build assemblePack assembleTestPack` avec
`-PsanctuaryFocusedTests=starter052,starter -PsanctuaryQuickTests=true` : succès,
**8 tests serveur**. Migration 1 → 2 et sauvegarde originale vérifiées, refus des
noms invalides sans mutation, choix définitif idempotent, sérialisation du
message, nom natif sur l'œuf et l'entité, renommage ultérieur préservé. Les tests
du tirage, de la remise unique, de la mort et du prestige restent réussis.
`runClientGameTest` avec `-PsanctuaryClientTests=true
-PsanctuaryStarterNameClientTests=true -PsanctuaryQuickTests=true` : succès.
Hello World à froid sans joueur ni monde, FR/EN, interfaces 854 × 480 et
427 × 240, saisie conservée lors du redimensionnement et d'un refus de couleur,
admission réelle sur serveur intégré, nom dans la fiche habitant, sauvegarde et
reconnexion sans nouvel œuf. Captures relues : `build/starter052-evidence/`.
Journaux : `build/starter052-delivery.log`, `build/starter052-client.log`.
Reçu : `build/starter052-artifact.json` ; 1 535 classes et ressources conformes
au build. Archives beta.051, textures, JEI et données de génération préservés.
[Pack normal](../build/Sanctuary-beta.052.mrpack) ·
[Monde plat rapide](../build/Sanctuary-Test-beta.052.mrpack).
Connexion à plusieurs clients distants restant à vérifier. Aucun déploiement
sur le canal public ou l'instance personnelle.