5.9 KiB
beta.046 — ciel dessiné, bateau à poule, zoom et identité de l’application
Gestes et règles
Longue-vue en main principale ou secondaire, en première personne : un clic gauche sur une étoile choisit l’étoile mère, puis un clic gauche sur une autre étoile ajoute un trait depuis la précédente, pour trois niveaux. Aucun zoom n’est requis. Clic droit annule la dernière liaison de cette constellation ; Maj + clic gauche choisit une autre étoile mère. La suppression est gratuite, sans remboursement. Chacun peut retirer ses propres traits. Les étoiles qui portent les accomplissements restent intactes. Tous les habitants voient le dessin.
La couleur est tirée de manière déterministe depuis l’identité de l’étoile mère, dans une palette de 64 teintes : elle reste stable après annulation, reconnexion et redémarrage. Les traits suivent la même rotation hebdomadaire que les étoiles. La géométrie GPU est conservée entre les images et passe dans le rendu natif des étoiles, avec au plus 64 groupes de couleur ; aucune reconstruction quand on tourne la caméra. Les moteurs de shaders externes ne sont pas certifiés ici.
Une poule vivante embarquée avec le joueur permet de voler en bateau : Espace monte, relâcher descend. Le joueur pilote même si la poule est montée en premier. Montée et descente visent chacune cinq blocs/seconde, avec une accélération progressive. Au retour sur l’eau, relâcher laisse fonctionner la flottabilité. Les collisions et les dégâts restent natifs ; le vol remet à zéro la distance de chute. Sans poule ou sans pilote, la physique native reprend. Les paramètres serveur config/sanctuary/chicken-boat.json expriment les vitesses et l’accélération en blocs/tick ; ils sont synchronisés avec les clients. Le contrôle natif de vol du véhicule reconnaît ce cas sans activer Allow Flight pour les autres véhicules.
L’aptitude Zoom coûte quatre niveaux. C est sa touche initiale, reconfigurable ; en la maintenant, la molette règle le FOV de 5° à 110° (Quake Pro). Relâcher restaure immédiatement le FOV normal, qui n’est jamais réécrit dans les options. Le panoramique natif conserve ses six faces à 90°. Aucun objet caméra n’est ajouté.
Les dix aptitudes portent désormais les icônes PNG 9 × 9 fournies par le créateur, placées à gauche de leur titre. Les titres longs passent à la ligne dans la colonne. Les fichiers sont copiés sans retouche dans le mod et le resource pack, sous assets/sanctuary/textures/gui/aptitudes/. Familiarpower illustre le pouvoir actif ; Familiar illustre l’étude des familiers.
Le titre de fenêtre devient Sanctuary - beta.046, y compris après connexion ou déconnexion. La fenêtre utilise l’icône officielle via le chargement SDL natif de Minecraft sur Windows, Linux et macOS ; les métadonnées SDL et le modèle d’instance Prism portent aussi le nom Sanctuary. L’icône d’une application tierce comme le lanceur Prism n’est pas remplacée.
Données et compatibilité
Les étoiles existantes gardent leur journal intact. Un journal distinct data/sanctuary-constellations.json, schéma 1, conserve les ajouts payés et les annulations, lié à l’identifiant du ciel. Le reçu joueur additif sanctuary:constellation_xp_paid est sauvegardé avec l’XP, copié à la mort, et réconcilié avant le reset New Game+ pour éviter un deuxième débit après arrêt. Un fichier invalide est conservé et ses mutations sont refusées.
Le zoom utilise le booléen persistant additif sanctuary:zoom_learned, absent donc faux avant achat, copié à la mort et conservé par le New Game+. Aucune réécriture des historiques de progression ni modification du terrain. Les nouveaux paquets ont des identifiants sanctuary:*_v1 distincts. Les factions et leur migration sont décrites dans faction-two-slots-beta046.md.
Vérifications et livraison
Le parcours client natif passe sur macOS : achat réel du zoom, verrouillage
avant achat, projection mesurée à 5° et 110°, restauration au relâchement,
clics de création et d’annulation d’une liaison, dépense de trois niveaux,
vol continu après embarquement de la poule, montée et descente mesurées.
Le titre de fenêtre et les métadonnées SDL sont contrôlés au menu et en jeu.
Les captures de jeu et du défilement des dix icônes FR/EN sont conservées
dans build/beta046-evidence/.
Les 20 GameTests serveur ciblés passent, dont quatre nouveaux scénarios sur les liaisons, la récupération après arrêt, le bateau et l’achat du zoom. Ils vérifient les droits du propriétaire, les refus sans XP, les doublons, la conservation à la mort et au prestige et les fichiers invalides préservés. Le premier essai avait une assertion incorrecte sur l’ordre des passagers : Minecraft replace nativement le joueur devant la poule à l’embarquement. L’assertion a été corrigée sans changer la physique validée dans le client.
Commandes reproductibles avec Java 25 :
./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true -PsanctuaryQuickTests=true -PsanctuarySkyFlightClientTests=true -PsanctuaryClientNoVsync=true
./gradlew check build assemblePack assembleTestPack -PsanctuaryFocusedTests=cycle,operator,skyflight
sanctuaryClientNoVsync contourne un blocage de présentation SDL/OpenGL du
client automatisé. Ce mixin existe uniquement dans les tests, sans changer
les réglages du pack livré. La validation graphique Windows/Linux, le Dock
macOS et les moteurs de shaders tiers restent à effectuer.
check build assemblePack assembleTestPack passe avec la version finale.
Les deux MRpacks sont vérifiés contre les 1 503 classes compilées, les ressources
et les JAR imbriqués ; les dix icônes correspondent exactement aux originaux.
Les exports et leurs empreintes sont consignés dans Distribution.
Logs : build/beta046-delivery.log et build/beta046-client.log.
Reçu : build/beta046-artifact.json.