75 lines
4.1 KiB
Markdown
75 lines
4.1 KiB
Markdown
# 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 d’un 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](sculpture-materials-beta116.md).
|
||
|
||
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`.
|