Files
sanctuary-beta/docs/introduction-beta031.md
2026-09-15 09:31:32 +02:00

118 lines
6.9 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.
# INTRO-01 — apparition galactique, beta.031
Branche `codex/introduction-beta031`. Première proposition jouable demandée le
14 septembre 2026 : entre **Entrer dans Sanctuary** et le spawn / message
`helloworld`, l'identité du joueur apparaît dans le vide.
## Séquence proposée
Durée **29,5 secondes**, indépendante du nombre d'images par seconde.
La direction demandée s'inspire de la tension et du mystère de l'introduction
de **Super Metroid**, avec une composition propre à Sanctuary.
- 02 s : noir profond, grondement lointain et premières traces de profondeur.
- 222,2 s : **un glyphe après l'autre**, au centre. Chaque signe s'approche,
persiste brièvement, puis traverse le regard avec des rémanences. Les premiers
durent près de 1,4 s ; les derniers s'enchaînent en environ un quart de seconde.
Leur lumière augmente, du bleu gris presque noir au blanc froid. Des
rémanences spectrales cyan et violettes accompagnent les premiers signes.
- 22,228,6 s : les glyphes partent des bords de l'écran et descendent vers le
centre en tournant. Leurs traces forment les marches d'un escalier en colimaçon
**vu du dessus**, avec une spirale circulaire continue. Un portail carré grandit au centre
jusqu’à dépasser les bords : la caméra semble entrer à lintérieur.
Sa surface utilise la texture animée native du portail Minecraft.
- 28,629,5 s : la spirale entre dans un **flash blanc**. Le blanc couvre la
transition réseau et le chargement des chunks, puis s'efface en 1,2 s sur le
monde prêt : l'ouverture révèle le spawn, sans retour au panorama du menu.
Les grands glyphes de la première partie et leurs rémanences adaptent leur
cadrage à la taille de la fenêtre.
L'UUID exact fourni par le serveur conserve ses 128 bits : chaque chiffre
hexadécimal `0..f` devient une lettre `a..p`, rendue avec la police Minecraft
`minecraft:alt` (SGA). Tous les signes passent dans leur ordre UUID. Ils ne
s'accumulent jamais sur une ligne : seul le signe courant et la courte
rémanence du précédent coexistent avant la spirale. Chacun atteint le centre
avant le blanc final. Quelques points froids suggèrent la profondeur du vide.
Le fond sonore combine l'ambiance de la vallée des âmes, le portail assourdi,
une écoute lointaine et huit battements de Warden de plus en plus rapprochés,
puis louverture du portail de lEnd. Les sons proviennent de Minecraft **26.3-pre-2**, déjà requis ; aucune
nouvelle dépendance ou copie de fichier audio vanilla n'est ajoutée. Le mixage
respecte les volumes **Général / Ambiance**. Dans beta.031, la musique était interrompue pendant
la séquence. [Beta.061](arrival-mount-beta061.md) déclenche désormais la musique
à la révélation du portail, puis la conserve jusque dans le monde, sans modifier les réglages. Les ambiances de la cinématique sont arrêtées à la sortie.
Le voile blanc est abandonné à une déconnexion ou à un écran derreur ;
les menus ne sont pas masqués.
**Échap** passe la séquence après la première seconde. Une indication FR/EN
apparaît en bas après trois secondes. Le flash blanc est unique et progressif,
sans clignotement répété.
**`/sanctuary intro`** permet de la revoir à volonté, avec son UUID courant.
La commande d'aperçu laisse le monde tourner, pour conserver le même mixage
sonore que l'introduction. Elle se teste depuis un endroit tranquille.
## Admission et sauvegardes
La bio et la couleur sont validées avant le démarrage. Le serveur garde sa tâche
de configuration ouverte jusqu'à l'accusé de fin : aucune entité joueur, chute,
attaque ou annonce `helloworld` pendant l'introduction. Un paquet de fin avant
la création est ignoré, comme une deuxième soumission pendant la cinématique.
L'identité utilise le schéma existant, dont `arrived=false` désigne déjà une
création qui n'a pas encore rejoint le monde. Après une déconnexion pendant
l'introduction, la fiche et sa couleur restent acquises, puis l'apparition
reprend à la connexion suivante. `arrived=true` est toujours écrit à l'arrivée
effective. Les habitants déjà arrivés ne rejouent pas l'introduction.
Deux nouveaux payloads de configuration, `sanctuary:intro_v1` et
`sanctuary:intro_finished_v1`, accompagnent le contrat existant. Un client ancien
qui reste compatible avec les autres fonctionnalités peut conserver l'ancien
parcours ; il ne reçoit pas une cinématique qu'il ne sait pas rendre. Pour tester
cette proposition, utiliser le client et le serveur beta.031 ensemble.
Aucun schéma, paramètre de génération ou chunk n'est modifié. La commande
d'aperçu n'écrit aucun état de progression.
## Vérifications et livraison
Les contrôles purs valident les 128 bits de l'UUID, l'ordre et l'accélération,
la présence d'au plus deux signes dans la première partie, les trajectoires
circulaires toujours convergentes, l'arrivée des 32 signes au centre avant
le flash, et la conservation d'une identité interrompue avant son arrivée.
Le parcours client natif complet réussit sur un monde Sanctuary neuf, graine
`42` : validation de fiche, UUID serveur, absence de joueur pendant l'animation,
paquets prématurés et doublons ignorés, arrivée sous le blanc, effacement sur
le monde prêt, reconnexion sans répétition, puis relecture par la commande
réellement saisie dans le chat. La fin est unique et une fermeture inattendue
n'envoie pas d'accusé de fin. Le serveur conserve son annonce unique.
Les dernières retouches de rendu (rémanences, courbe circulaire et portail qui
remplit l'écran) passent ensuite le parcours graphique court, en français et
en anglais, avec redimensionnement. Elles ne modifient pas l'admission ni le
raccord du flash déjà testé. Les captures sont inspectées dans
`build/intro031-evidence/`. Logs : `build/intro031-spiral-client.log` et
`build/intro031-final-visual.log`.
`./gradlew check build assemblePack -PsanctuaryFocusedTests=progression,lights`
réussit sur le code final : **9 tests serveur**, contrôles purs du projet,
construction et vérification des manifestes passent.
Export local : [Sanctuary-beta.031.mrpack](../build/Sanctuary-beta.031.mrpack),
**4 810 444 octets**. Les **1 278 classes** du JAR embarqué sont
identiques au build ; aucune classe de test n'est distribuée. La comparaison
avec beta.030 borne les changements à l'introduction et à son admission.
Les instructions des anciens payloads Action/Names/Snapshot restent identiques
(seules leurs lignes de debug se déplacent). Les classes Demeure/JEI et
l'archive beta.030 sont préservées.
SHA-256 MRpack : `c7161e024d84ff9709ccaea8f940b79d5f8adba743ecf5f7759c273424297717`.
Reçu : `build/intro031-artifact.json` ; build : `build/intro031-check.log`.
Le canal publié et l'instance Prism personnelle ne sont pas modifiés par cet
export d'essai.
L'introduction reste une proposition à affiner à l'écoute et en partie réelle.
Aucun essai Windows ni connexion à un serveur distant n'est revendiqué.
Aucune sauvegarde personnelle n'a servi aux essais.