Record Sanctuary sources through beta.060 and Git validation
Build Sanctuary / build (push) Canceled after 0s
Build Sanctuary / build (push) Canceled after 0s
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# PROG-02B — Construction et vein building — beta.009
|
||||
|
||||
Branche : `codex/progression-vein-building`. Implémentation et export local
|
||||
vérifiés le 13 septembre 2026 ; parcours graphique encore non validé, voir
|
||||
ci-dessous. Cible : Minecraft 26.3-pre-2, Fabric et Java 25.
|
||||
|
||||
## Contrat préalable de migration
|
||||
|
||||
La progression personnelle passe du schéma 3 au schéma 4, en ajoutant
|
||||
`building: 0`. Les schémas 1 et 2 passent d'abord par leurs migrations strictes
|
||||
existantes. Les rangs, achats, dates, coûts, aptitudes et révisions sont
|
||||
conservés sans achat fictif. L'historique accepte sept achats Construction
|
||||
supplémentaires, soit 37 événements maximum ; chaque rang doit correspondre
|
||||
exactement à ses achats. Les données invalides sont refusées sans remise à zéro.
|
||||
La migration est idempotente et conserve l'identifiant `sanctuary:progression`.
|
||||
La restauration réattache la représentation canonique, ensuite enregistrée par
|
||||
la sauvegarde Minecraft normale. Mort, reconnexion et redémarrage conservent
|
||||
les rangs. Aucun New Game+ n'est activé.
|
||||
|
||||
Les fichiers de configuration restent au schéma 2 : Construction utilise les
|
||||
sept `statCosts`, par défaut 1, 2, 4, 8, 16, 32 et 64 niveaux. Aucun changement
|
||||
des profils, couleurs, Atlas, Demeure, inventaire, génération ou chunks existants.
|
||||
Client et serveur doivent utiliser beta.009 ensemble. Les versions antérieures
|
||||
ne lisent pas le schéma 4 ; revenir en arrière exige une sauvegarde antérieure
|
||||
des données de joueur. Aucun monde personnel n'est ouvert ou modifié ici.
|
||||
|
||||
## Contrat de jeu et valeurs d'essai
|
||||
|
||||
- Rang 0 : pose Minecraft individuelle. Sept achats débloquent les diamètres
|
||||
3, 5, 7, 9, 11, 13 et 15 (jusqu'à 225 emplacements dans un plan).
|
||||
- La portée de visée et d'attaque reste celle de Minecraft. Seul le plan autour
|
||||
du point de départ s'agrandit ; aucune portée d'attaque supplémentaire.
|
||||
- Une pose tous les deux ticks en survie ; lots bornés en créatif. Le statut
|
||||
opérateur en survie n'accorde ni matériaux gratuits ni cadence créative.
|
||||
- R est la touche commune configurable : avec un bloc en main, aperçu de
|
||||
construction ; R + clic droit maintenus posent, R + molette règle le diamètre.
|
||||
R + clic gauche reste le minage. B reste le Blocodex.
|
||||
- Plan déterminé par la face visée et l'orientation du joueur, ordre du centre
|
||||
vers l'extérieur. Le serveur recalcule et revalide les cibles, le stock et les
|
||||
permissions. Relâcher, changer d'objet, ouvrir un menu, mourir, s'éloigner ou
|
||||
perdre la connexion arrête le geste ; les poses déjà effectuées restent.
|
||||
- Les poses passent par le placement natif pour les orientations, supports,
|
||||
collisions, contenus d'objets, consommation, statistiques et traces Demeure.
|
||||
Aucune récompense pour l'aperçu ou une pose refusée. Les surfaces ne remplacent
|
||||
pas les blocs occupés et n'ouvrent pas les contenants servant de support.
|
||||
Une dalle peut être fusionnée par son contexte Minecraft natif.
|
||||
- Le plan couvre les emplacements dont le support existe déjà, comme le Builder
|
||||
historique. L'aperçu ne dessine que les poses valides ; il ne coûte aucun objet.
|
||||
La pile tenue fournit les matériaux, sans réapprovisionnement automatique.
|
||||
- Portes, lits et plantes doubles gardent la pose individuelle, pour ne pas
|
||||
modifier une seconde case hors du plan validé. Échafaudages et nénuphars aussi :
|
||||
leurs placements natifs recherchent une autre cible. Les contextes déplacés
|
||||
et chunks non chargés sont refusés avant tout placement groupé.
|
||||
|
||||
## Vérifications
|
||||
|
||||
- `./gradlew :sanctuary:compileGametestJava check build assemblePack -PsanctuaryFocusedTests=progression,map,demeure,mining,building`
|
||||
**réussi en 3 min 55 s**, avec **28 tests serveur natifs obligatoires réussis**,
|
||||
dont dix scénarios Construction. Journal : `build/beta009-delivery-complete.log`.
|
||||
- Les contrôles purs relisent les schémas 1, 2 et 3 et vérifient l'idempotence,
|
||||
les dates/coûts/rangs conservés, sept achats Construction, plafond et refus
|
||||
d'un rang sans historique. La configuration reste au schéma 2.
|
||||
- Les tests serveur vérifient le passage par le placement natif, les six faces,
|
||||
les quatre orientations, les plans de 225 cases sans doublon, les coûts,
|
||||
l'absence d'extension de portée, les stocks courts, le créatif, les dalles
|
||||
simples/doubles/hautes et les escaliers. Les collisions avec un animal,
|
||||
contenants occupés, droits Fabric, mutation pendant un callback, concurrence,
|
||||
interruption et expiration du maintien sont couverts. Les statistiques,
|
||||
Blocodex et contributions Demeure proviennent des poses confirmées.
|
||||
- Le test de progression sauvegarde/recharge le joueur et copie ses achats,
|
||||
dont Construction, lors d'une mort ordinaire. Le contrat de reprise est
|
||||
contrôlé sans ouvrir un monde personnel.
|
||||
- Le parcours client `Building009ClientChecks` est écrit et compilé : achats
|
||||
par clic, aperçus 25/9, molette, arrêt, consommation, une seule couche par
|
||||
geste, reconfiguration et interruption par le Blocodex. **Son exécution
|
||||
reste non validée** : les deux lancements se sont bloqués avant le monde
|
||||
dans `Minecraft.<init>` / `SDL_GL_SwapWindow`. Le contrôle de bureau a
|
||||
confirmé que le Mac était verrouillé. Aucun résultat graphique beta.009
|
||||
ni capture en jeu n'est revendiqué. Les processus de test ont été arrêtés ;
|
||||
la valeur VSync du dossier de développement a été remise à sa valeur initiale.
|
||||
Journaux : `build/beta009-client.log`, `build/beta009-client-retry.log` ;
|
||||
piles : `build/beta009-client-threads.txt`, `build/beta009-client-retry-threads.txt`.
|
||||
|
||||
La sélection des tests serveur est limitée à
|
||||
`progression,map,demeure,mining,building` ; ce ticket ne revendique pas la
|
||||
correction des deux anciennes assertions de génération générales.
|
||||
|
||||
Référence historique en lecture seule : sélection, plan et session de
|
||||
construction dans `../26.2/sanctuary`, GPL-3.0-or-later. Les appels natifs sont
|
||||
vérifiés dans les classes de Minecraft 26.3-pre-2, dont `BlockItem.place`,
|
||||
`ItemStack.useOn` et `ServerPlayerGameMode.useItemOn`. Le mixin commun contourne
|
||||
seulement l'interaction du support comme le fait la pose accroupie ; les hooks
|
||||
Fabric, le placement, les contenus d'objets, coûts et critères Minecraft restent
|
||||
actifs. La revalidation a lieu après les callbacks et avant l'usage de l'objet.
|
||||
|
||||
## Artefact local
|
||||
|
||||
- [Sanctuary-beta.009.mrpack](../build/Sanctuary-beta.009.mrpack), **2 360 956 octets**.
|
||||
- SHA-256 : `efa1ac7974b16e2f6169149518e08ed2bca4371b386b3413850b08618392da21`.
|
||||
- Reçu : `build/building009-artifact.json` ; somme séparée :
|
||||
`build/Sanctuary-beta.009.mrpack.sha256`.
|
||||
- ZIP et JSON vérifiés, identité du JAR construit et du JAR Demeure embarqué,
|
||||
versions internes, classes/mixins Construction, traductions FR/EN, six icônes
|
||||
originales, hash Fabric API et index packwiz. Aucune classe de test embarquée.
|
||||
Les exports beta.003 à beta.008 sont restés strictement identiques.
|
||||
|
||||
L'artefact est disponible pour essai local. Le canal packwiz n'a pas été publié
|
||||
et aucune instance personnelle n'a été synchronisée.
|
||||
Reference in New Issue
Block a user