Files
sanctuary-beta/docs/sky-flight-zoom-beta046.md
T
2026-09-15 09:29:11 +02:00

5.9 KiB
Raw Blame History

beta.046 — ciel dessiné, bateau à poule, zoom et identité de lapplication

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 nest 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 lidentité 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 leau, 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 laccé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.

Laptitude 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 nest jamais réécrit dans les options. Le panoramique natif conserve ses six faces à 90°. Aucun objet caméra nest 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 licône officielle via le chargement SDL natif de Minecraft sur Windows, Linux et macOS ; les métadonnées SDL et le modèle dinstance Prism portent aussi le nom Sanctuary. Licône dune application tierce comme le lanceur Prism nest 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é à lidentifiant du ciel. Le reçu joueur additif sanctuary:constellation_xp_paid est sauvegardé avec lXP, 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 dannulation dune 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 lachat 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 lordre des passagers : Minecraft replace nativement le joueur devant la poule à lembarquement. Lassertion 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.