diff --git a/CHANGELOG.md b/CHANGELOG.md index 9511d51..94f2a68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,14 +29,15 @@ monde Sanctuary** est nécessaire. Les essais portent sur des mondes neufs ; la reprise des anciens mondes ne fait pas partie de cette livraison. `check build` et `assemblePack` passent. Le JAR, le MRpack et le ZIP Prism -sont vérifiés localement ; leur publication est en cours. +sont publiés et vérifiés par téléchargement public. Le canal packwiz et la même +instance Prism sont synchronisés ; 925 fichiers personnels et réglages sont conservés. Les preuves acquises, dont les six créations et six réouvertures de monuments, sont détaillées avec leur périmètre dans les [essais alpha.25](docs/testing-alpha25.md). Voir aussi le [contrat de génération](docs/generation-alpha25.md) et les [mesures de performances](docs/performance-alpha25.md) : aucun gain global de chargement n’est établi. Essais natifs sur Mac ; aucun essai Windows natif -n’est revendiqué. L’alpha.24 reste publiée ; aucune publication ou -synchronisation Prism de l’alpha.25 n’est annoncée à ce stade. +n’est revendiqué. Le benchmark est prévu après livraison, pour préparer +les éventuelles optimisations de l’alpha.26. ## 0.1.0-alpha.20 — 2026-09-10 diff --git a/README.md b/README.md index 450911e..901f7de 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,8 @@ infrastructures qui permettront progressivement d'ouvrir de nouveaux continents. Ce dépôt démarre la nouvelle base Fabric. La [vision complète](docs/vision.md) conserve les intentions ; le [backlog](docs/backlog.md) suit les tickets. Les systèmes d’économie, de progression collective et les dimensions -décrits dans la vision ne sont pas encore implémentés. **L’alpha.25 est construite et vérifiée localement** : elle retravaille les reliefs et les profondeurs de -Sanctuary Island. **L’alpha.24 reste la livraison publiée** sur le canal -stable ; aucune synchronisation Prism pour l’alpha.25 n’est encore annoncée. Voir +décrits dans la vision ne sont pas encore implémentés. **L’alpha.25 est publiée** : elle retravaille les reliefs et les profondeurs de +Sanctuary Island. Le canal packwiz et la même instance Prism sont synchronisés. Voir [les essais alpha.25](docs/testing-alpha25.md) et [la distribution](docs/packwiz.md). ## Alpha.25 — reliefs et profondeurs @@ -51,7 +50,10 @@ neufs ; la reprise des anciens mondes ne fait pas partie de cette livraison. Le cadre minéral n’ouvre pas de nouvelle dimension. `check build` et l’assemblage passent sur Mac. Le JAR, le MRpack et le ZIP -Prism sont vérifiés ; la publication et la synchronisation sont en cours. +Prism sont publiés et vérifiés par téléchargement public. Le canal packwiz et +la même instance Prism sont synchronisés, avec 925 fichiers personnels et réglages +conservés. Le [MRpack alpha.25](https://git.botsu.net/koka/sanctuary-beta/releases/download/v0.1.0-alpha.25/Sanctuary-0.1.0-alpha.25.mrpack) +est disponible pour les essais. Aucune validation Windows native n’est revendiquée. Le [contrat de génération](docs/generation-alpha25.md), les [preuves et limites](docs/testing-alpha25.md) et les [mesures de performances](docs/performance-alpha25.md) précisent la portée @@ -125,7 +127,7 @@ le client graphique connecté passent ; voir [les essais alpha.23](docs/testing- La suite est en [conception](docs/structures-conception.md) : départ naturel, quelques lieux isolés, fonctions reproductibles et donjon majeur à définir. Ce cahier accompagne la poursuite des systèmes après la génération ; -l’alpha.24 est la livraison actuelle. +l’alpha.25 est la livraison actuelle. ## Alpha.22 — trouver le bon terrain diff --git a/docs/packwiz.md b/docs/packwiz.md index 6428977..fa5c5c4 100644 --- a/docs/packwiz.md +++ b/docs/packwiz.md @@ -13,6 +13,40 @@ JAR Sanctuary sont des pièces jointes de releases Gitea. Aucun JAR de mod ou dépendance téléchargée n'entre dans l'historique Git. Le canal Beta est distinct de l'ancien pack 26.2. +## Alpha.25 publiée — 11 septembre 2026 + +[Sanctuary 0.1.0-alpha.25](https://git.botsu.net/koka/sanctuary-beta/releases/tag/v0.1.0-alpha.25) +est publiée depuis le commit source `df51e171989e466a5ae3b83bd8820854d28d8633`. +Le canal stable pointe sur `bc12e91ea722ea844d9c8e013a57bc125cb73da1`. +`check build` passe avec 94 tâches et 24 GameTests généraux ; l'assemblage +réutilise ces validations. Le JAR, le +[MRpack](https://git.botsu.net/koka/sanctuary-beta/releases/download/v0.1.0-alpha.25/Sanctuary-0.1.0-alpha.25.mrpack) +et le ZIP Prism sont vérifiés localement puis par téléchargement public. + +SHA-256 du JAR : + +```text +eb6b8590ab8c338a5bb90984cdc7fd3dbf9b51dfb406af42e864df5ed2cff64a +``` + +Deux installations isolées et deux synchronisations de la même instance +Prism réussissent. Le dossier reste `Sanctuary-0.1.0-alpha.1`, affiché +« Sanctuary Beta » ; un seul JAR Sanctuary alpha.25 est actif. Les **925 +fichiers personnels et réglages suivis** sont conservés. Sauvegarde ciblée : +`sanctuary-backups/before-0.1.0-alpha.25/`, hors de `mods/`. +Le jeu était fermé ; aucun monde personnel n'a été ouvert ou régénéré. + +Créer un **nouveau monde Sanctuary**, Moyen par défaut, avec les structures +expérimentales activées. Minecraft 26.3-pre-2, Fabric Loader 0.19.5 et Fabric API +0.160.0+26.3 sont conservés. Voir [les graines témoins](testing-alpha25.md). +Les essais sont réalisés sur Mac ; aucun essai Windows natif n'est revendiqué. +Le benchmark demandé après livraison servira aux décisions de l'alpha.26. + +Reçus locaux : `build/alpha25-artifacts.json`, `build/alpha25-delivery-public.json`, +`build/alpha25-isolated-validation.json`, `build/alpha25-prism-validation.json`. +Le téléchargement packwiz utilise l'adresse immuable de la pièce jointe Gitea ; +son contenu et son SHA sont également comparés au JAR de la release nommée. + ## Alpha.24 publiée — 11 septembre 2026 `check build assemblePack` et les essais natifs passent. Le JAR et diff --git a/docs/performance-alpha25.md b/docs/performance-alpha25.md index ab76399..7dd90fd 100644 --- a/docs/performance-alpha25.md +++ b/docs/performance-alpha25.md @@ -1,21 +1,76 @@ # Performances alpha.25 — mesures disponibles -État du relevé : **11 septembre 2026**. Les **neuf créations FULL** de la -matrice 512 / 724 / 1024 × graines 0 / 42 / 2026 ont réussi après les marais 3D. -Les mesures de ces créations sont présentées en premier ; les anciens témoins -et l'hydrologie antérieure sont identifiés séparément. L'ordre inversé et les -deux OFF complètent maintenant les **12/12 scénarios terrain** ; l'hydrologie -finale à 1 800 ticks passe aussi. **Les benchmarks ont été arrêtés à la demande -du joueur, qui souhaite tester le pack.** Ces mesures sont informatives et -ne bloquent pas la fabrication ; aucune comparaison finale n'est requise -ni promise. Voir le [reçu d'arrêt](../build/alpha25-evidence/performance-stopped-user-request.json). -Ce relevé n'annonce ni la fin du build ni un pack. +État du relevé : **12 septembre 2026**. L'alpha.25 est publiée et l'instance +Prism est synchronisée. Le benchmark a été réalisé **après la livraison**, +conformément à la demande du joueur. Sur un parcours identique de 369 chunks, +la génération 25 prend **169,816 s contre 60,932 s** pour la génération 24, +soit **2,787 fois plus de temps**. Ce résultat justifie une investigation des +performances pour l'alpha.26 ; aucune optimisation supplémentaire n'est +apportée au binaire alpha.25 livré. -Les essais ont été réalisés sur **Mac**, avec le serveur Fabric GameTest, -Minecraft **26.3-pre-2** et Java 25, sans client graphique. Ils ne mesurent -ni les FPS, ni les shaders, ni les performances sous Windows. La baseline -alpha.24 ne conserve pas les conditions détaillées de matériel, de heap -et de caches pour chaque scénario. +Les essais utilisent le serveur Fabric GameTest sur **Mac**, Minecraft +**26.3-pre-2** et Java 25, sans client graphique. Ils ne mesurent ni les FPS, +ni les shaders, ni les performances sous Windows. Les mesures fonctionnelles +des douze scénarios terrain et les témoins hydrologiques sont conservés +séparément plus bas : leurs durées ne constituent pas ce benchmark apparié. + +## Benchmark après livraison : générations 24 et 25 + +Les deux essais passent, avec une JVM et un monde jetable neufs chacun, +exécutés successivement. Ils utilisent les **mêmes sources alpha.25**, +commit `df51e171989e466a5ae3b83bd8820854d28d8633`, et l'empreinte de campagne +`1f46e5cd111a91bc80c451b787aec8d0d1c437f50ad049007e7ab0c624c6c463`. +Il s'agit des profils de génération 24 et 25 dans ces sources, **pas d'une +comparaison de deux binaires publiés**. + +Conditions communes vérifiées : Java 25.0.3, heap maximal de 2 Gio, +8 processeurs disponibles, graine **0**, diamètre **724**, structures et +structures expérimentales activées. Depuis le chunk `(0,0)`, le parcours +demande 289 chunks centraux puis 80 chunks vers l'est, dans le même ordre. +Aucun de ces chunks n'était déjà FULL avant le parcours. Aucun client Prism +n'a été observé aux cinq points de contrôle avant, pendant et après les +essais ; ces observations ponctuelles ne constituent pas une surveillance +continue de la machine. + +| Mesure serveur | Génération 24 | Génération 25 | +| --- | ---: | ---: | +| Zone centrale, 289 requêtes FULL | 52,617 s | 148,089 s | +| Exploration, 80 requêtes FULL | 8,315 s | 21,727 s | +| Total des deux phases | **60,932 s** | **169,816 s** | +| Latence centrale médiane | 157,449 ms | 451,180 ms | +| Latence centrale p95 | 312,291 ms | 1 188,787 ms | +| Latence d'exploration médiane | 100,957 ms | 206,580 ms | +| Latence d'exploration p95 | 220,550 ms | 642,163 ms | +| Invocation complète, Gradle et sauvegarde inclus | 132,743 s | 262,403 s | +| Heap occupé après parcours | 415,7 Mio | 490,9 Mio | +| Régions conservées dans le cache hydrologique | 5 | 9 | + +La hausse concerne aussi les médianes : elle ne se résume pas à un blocage +isolé. La zone centrale prend 181,447 % de temps supplémentaire et +l'exploration 161,294 %. Les appels FULL incluent l'attente de leurs +dépendances ; leur somme n'est pas un chronomètre d'ouverture de Minecraft. +Une seule paire sur une graine ne permet pas de généraliser à toutes les îles. +Les contenus des générations diffèrent, malgré des coordonnées identiques. + +**Aucune mise à jour de fluide n'est exécutée pendant les fenêtres synchrones +mesurées.** Ce benchmark n'isole donc pas la simulation des cascades en partie. +Le heap final est un instantané, pas un pic ni la mémoire résidente ; son +augmentation et celle du cache ne démontrent pas une fuite mémoire. + +Pour l'alpha.26, les investigations prioritaires sont : + +1. Profiler le chemin fréquent jusqu'à FULL : densité, colonnes, biomes, + surfaces et décoration, avant de choisir une optimisation. +2. Examiner les appels répétés, allocations et réemplois des plans ; les + compteurs actuels ne suffisent pas à identifier une fonction responsable. +3. Reproduire le témoin 25 plusieurs fois, puis comparer chaque modification + au même contenu attendu. Mesurer séparément la simulation réelle des fluides. + +Les résultats complets et leurs empreintes sont dans les reçus locaux +[génération 24](../build/alpha25-evidence/benchmark-24-724-0-postdelivery-alpha25-1/generation-performance-unified-724-seed-0.json), +[génération 25](../build/alpha25-evidence/benchmark-25-724-0-postdelivery-alpha25-1/generation-performance-unified-724-seed-0.json), +[contexte d'exécution](../build/alpha25-evidence/postdelivery-benchmark-context.json) +et [synthèse](../build/alpha25-evidence/postdelivery-benchmark-summary.json). ## Neuf créations FULL après les marais 3D @@ -54,8 +109,9 @@ L'ordre inversé et les deux OFF suivants peuvent aussi être concernés, selon [le relevé de concurrence](../build/alpha25-evidence/native-concurrency.json). Aucune de ces durées ne constitue une comparaison contrôlée ; ne pas attribuer un écart au diamètre ou à une modification du code sur cette seule mesure. -Une comparaison contrôlée demanderait une machine sans autre serveur natif -concurrent ; elle n'est pas poursuivie pour cette livraison. +Le benchmark après livraison présenté en tête utilise deux nouvelles +exécutions successives ; il ne transforme pas ces anciennes mesures en +comparaisons contrôlées. Ces créations relèvent également l'ordonnanceur vanilla de fluides : @@ -192,8 +248,8 @@ et [hydro1024/2026](../build/alpha25-evidence/hydrology-1024-2026-final1/1024-20 La mémoire occupée après FULL est un instantané du heap Java, pas la mémoire résidente du processus. Les rapports 25 conservent également les pics des différents pools mémoire. Ces pics peuvent survenir à des -instants différents : **ne pas les sommer en pic global**. L'alpha.24 ne -conserve pas de mesure correspondante. +instants différents : **ne pas les sommer en pic global**. Les anciens +témoins alpha.24 de cette section ne conservent pas de mesure correspondante. Une optimisation locale 25 possède une comparaison exacte à résultat identique, sur 864 colonnes natives et 2 592 recherches de plafonds : @@ -209,12 +265,11 @@ Les témoins spécialisés des marais, avec huit à treize chunks demandés, contrôlent sols, biomes, plantes et options. Leurs invocations ne constituent pas un benchmark apparié et ne remplacent pas les chronomètres de terrain. -La comparaison 24/25 prévue sur **289 + 80 chunks fixes**, même taille 724 et -graine 0, a été interrompue avant une paire de résultats complète. Aucun gain -ni coût relatif n'en est déduit. Les critères de heap, ordre des chunks, état -neuf et cadence identiques restent une limite méthodologique, pas un chantier -supplémentaire promis. Aucun résultat Windows ou de rendu client n'est -disponible dans ce relevé. +La première tentative de comparaison a été interrompue pour livrer le pack +sans attendre ([reçu](../build/alpha25-evidence/performance-stopped-user-request.json)). +Ses mesures incomplètes ne sont pas utilisées. La paire achevée après livraison, +présentée en tête, provient de deux nouvelles exécutions. Aucun résultat Windows +ou de rendu client n'est disponible dans ce relevé. ## Reproduire les chronomètres existants @@ -251,8 +306,8 @@ La seconde réouverture utilise `-PsanctuaryTerrain25Phase=reload2`. Conserver le rapport JSON et le journal du run avec la révision exacte des sources. Rejouer ces commandes sur les sources finales produira de nouvelles mesures ; cela ne rendra pas rétrospectivement identiques les -conditions des témoins intermédiaires. Aucun nouveau benchmark n'est -introduit par ce document. +conditions des témoins intermédiaires. Ces commandes de terrain ne remplacent +pas le parcours fixe du benchmark après livraison. Les liens vers `build/` désignent des preuves locales ignorées par Git ; ils ne constituent pas des artefacts publiés du dépôt. diff --git a/docs/testing-alpha25.md b/docs/testing-alpha25.md index 912b11d..935cf86 100644 --- a/docs/testing-alpha25.md +++ b/docs/testing-alpha25.md @@ -1,12 +1,11 @@ # Alpha.25 — état des vérifications -Le chantier `codex/terrain-sanctuary-alpha25` est **construit et vérifié localement**. +Le chantier `codex/terrain-sanctuary-alpha25` est **livré**. Les essais ci-dessous utilisent Mac Apple Silicon, Java 25 et Minecraft 26.3-pre-2. **Les douze scénarios de terrain passent : neuf créations, un ordre inversé et deux OFF.** `check build` et l'assemblage du pack passent ; -le MRpack et le bootstrap Prism sont vérifiés. La publication et la -synchronisation Prism sont encore en cours. -L’alpha.24 reste le canal stable publié. Aucun essai Windows ni contrôle visuel +le MRpack et le bootstrap Prism sont publiés et vérifiés. Le canal packwiz +et la même instance Prism sont synchronisés en alpha.25. Aucun essai Windows ni contrôle visuel complet du client n’est revendiqué. Le joueur souhaite désormais **tester le pack sans attendre les performances**. @@ -30,7 +29,7 @@ personnel n’est migré ou régénéré. | Terrain, satellites et sanctuaire | 12/12 : neuf créations FULL, ordre inversé et deux OFF | L'ordre inversé ne démontre pas une île entière identique | | Hydrologie | 512/0 final sous 1800 ticks : une chute à Y0, l'autre sur un flanc | Les témoins zéro/une sortie restent antérieurs aux marais finaux | | Structures conditionnelles | Village 512/18 et mine 724/42 : création et rechargement FULL ; hutte et salle à spawner vérifiées | Cabane du mineur sans témoin natif positif ; guérison complète d'un zombie-villageois non testée | -| Distribution locale | `check build`, assemblage, MRpack et bootstrap vérifiés | Publication et synchronisation Prism encore en cours | +| Distribution | Build, artefacts publics, deux installations isolées et deux synchronisations Prism vérifiés | 925 fichiers personnels et réglages conservés ; aucun monde personnel ouvert | Les reçus locaux sont conservés sous `build/alpha25-evidence/`, dossier ignoré par Git. Un statut s’appuie sur le `run.json`, le rapport de la phase et le log @@ -354,8 +353,13 @@ sans répéter les vérifications déjà réussies. Le le MRpack **0.1.0-alpha.25** et le bootstrap Prism, conservant Minecraft **26.3-pre-2**. Le SHA-256 du MRpack est `7dcd58840714f19e3c0929c8618f7779b583ec1f76a1a8706f1183439d922754`. -Ces reçus locaux ne déclarent ni publication ni modification de l'instance -Prism ; ces deux opérations restent en cours. +La [réception publique](../build/alpha25-delivery-public.json), les +[deux installations isolées](../build/alpha25-isolated-validation.json) et les +[deux synchronisations Prism](../build/alpha25-prism-validation.json) passent. +Le canal packwiz pointe sur `bc12e91ea722ea844d9c8e013a57bc125cb73da1` ; +la release est liée au commit source `df51e171989e466a5ae3b83bd8820854d28d8633`. +Les 925 fichiers personnels et réglages suivis de l'instance alpha.1 gardent +leurs empreintes. Aucun monde personnel n'a été lancé ou modifié. Les limites ouvertes restent la cabane du mineur, l'admission dans du vide déjà exploré avec certificat, le contrôle final du Blocodex et l'essai visuel