Files
sanctuary-beta/docs/fourneau-transfers-beta115.md
T
2026-09-17 07:49:00 +02:00

4.1 KiB
Raw Permalink Blame History

beta.115 — Dépôts et chauffe du Fourneau

Ticket sur codex/fourneau-transfers-beta115, après le signalement de piles qui se réalignent pendant les dépôts rapides avec Maj, dans Ingrédients et Combustibles, et d'une chauffe difficile à comprendre.

Diagnostic

La méthode mayPlace de la case serveur utilisait index, masqué par le champ hérité Slot.index (position affichée). Elle validait donc successivement une entrée, un combustible et une sortie, au lieu des 27 entrées ou des 27 combustibles. Le client acceptait le dépôt puis le serveur le refusait. Le test reproduit le refus dun déplacement de la case 1 vers la case 23. Le correctif utilise explicitement physicalIndex pour la validation.

Comportement

Les transferts Maj dans les vues complètes du Fourneau sont anticipés sur le client, avec les mêmes destinations et règles de combustible que le serveur. Les cases se remplissent dans l'ordre, après fusion des piles compatibles. Un dépôt manuel conserve la case choisie ; aucun tri périodique des ingrédients n'est ajouté. Les recherches masquent une partie du stock : leurs transferts entrants continuent d'attendre la réponse du serveur, qui connaît tout le stock.

La chauffe emprunte du combustible à une autre case uniquement pendant le tick natif. La pile non brûlée retourne immédiatement à sa case d'origine, avec tous ses composants. Les restes natifs restent associés à leur cuisson : un seau de lave devient un seau, puis un seau d'eau avec une éponge mouillée.

Les 27 entrées ont chacune une barre et une infobulle : cuisson en cours, manque de combustible avec progression conservée, résultat bloqué, absence de recette. Le panneau indique le nombre de cuissons et la réserve allumée en secondes de travail cumulées. Ce n'est pas une durée réelle restante : les cuissons parallèles se partagent la réserve. « Fonctionnement » explique les onglets, les gestes et le rendement normal du combustible en FR/EN.

Les recettes, résultats, expérience et règles de trémies restent natifs. Aucun changement de format, de monde ou de génération ; les 27 fours physiques conservent l'unique copie des objets et de leurs temps de chauffe.

Vérifications

Le test natif Furnace115ClientChecks passe avec un serveur intégré, sur un nouveau monde plat de graine 115 : vrai glisser avec Maj sur neuf piles nommées, remplissage consécutif, déplacement manuel vers la case 23 et répartition native sur six cases de colonnes différentes. Les 27 cases de chaque onglet valident leur rôle physique. Le combustible nommé conserve sa position et ses composants.

La cuisson parallèle, ses états synchronisés, la progression conservée à court de combustible, les 27 cuissons ravitaillées, le seau de lave et l'éponge, l'extraction des résultats et la sauvegarde native passent. Captures FR/EN relues dans build/furnace115-evidence/. Marqueur FURNACE115_PASS dans build/furnace115-client.log.

check build assemblePack assembleTestPack -x :sanctuary:runGameTest réussit en 2 min 29 s, 125 tâches. Le panneau d'aide reçoit ensuite une dernière vérification client et une reconstruction ; la livraison commune beta.116 repasse les contrôles complets en 2 min 23 s et le scénario Fourneau en 42 s.

Le GameTest dédié reste exclu conformément au refus antérieur de son EULA. Pas d'essai Windows ou de réseau distant avec latence simulée. Aucun monde personnel ouvert. Cette étape reste locale et rejoint la livraison commune avec les matériaux de sculpture : beta.116.

Archives locales vérifiées (même JAR Sanctuary, sources concordantes, aucune classe de test ni changement de production extérieur au ticket) :

  • Sanctuary-beta.115.mrpack : 10184430 octets, SHA-256 8fcac63b1bf5a01f680fb46666924705db3a2675e102037278e9d650d04cbf22.
  • Sanctuary-Test-beta.115.mrpack : 10203354 octets, SHA-256 5b98fdb8842690158a20b422d6aa5496d74e572b3429498ffb25476d24e87f8a.
  • JAR Sanctuary : 2066d3191d7ee27904927fab269d8160136f048742c3223713e8ed4fe90dd8f5.

Reçu : build/furnace115-artifact.json.