Apply authored feature and decoration pages to ages
Build / build (push) Canceled after 0s

This commit is contained in:
dnorberg committed 2026-10-02 21:28:11 -04:00
1 parent 84a1f32732
commit 6c3b4f1885
29 files changed
+919 -25

No files matched your search

+38 -3
View File
@@ -1,6 +1,6 @@
# GameTest suites
The default dedicated-server run is a small smoke suite: 23 Rivencraft tests
The default dedicated-server run is a small smoke suite. Its Rivencraft tests
cover core linking, deterministic Age definition, writing persistence, legacy
data migration, workstation transactions, and forged/replayed menu actions.
@@ -8,7 +8,7 @@ data migration, workstation transactions, and forged/replayed menu actions.
./gradlew runGameTestServer
```
The remaining 58 Rivencraft tests are archived, not deleted. They cover
The remaining Rivencraft tests are archived, not deleted. They cover
completed milestone details such as every Age terrain profile, Notebook and
Desk surface interactions, refill edge cases, book assembly controls, and
workstation break/drop behavior. Run only the relevant archive alongside the
@@ -20,7 +20,7 @@ core tests when investigating an issue:
```
Available suite names are `linking`, `environment`, `writing`, `grammar`, `desk`,
`binder`, `mixer`, and `recipe`. Run all 81 Rivencraft tests before a
`binder`, `mixer`, and `recipe`. Run all Rivencraft tests before a
release or after broad cross-system changes:
```shell
@@ -42,6 +42,11 @@ Logs and configuration remain available. Cleanup never targets a custom
it themselves. The full suite should still be run
before shipping changes in the archived systems.
If a new GameTest stalls the server, stop that run, remove the offending
automated check, and hand its exact scenario to the player for in-game
verification. Do not keep retrying a stalled test or leave its process running.
Keep the narrower non-stalling plan, persistence, and runtime checks automated.
## Manual Age unload/reload check
The automated suite does not unload a freshly generated Age. Minecraft can
@@ -62,3 +67,33 @@ checked in a normal game session:
4. Reopen the same Descriptive Books and travel back. Confirm each book reaches
its original Age, the terrain and safe arrival remain intact, and no extra
Age entry was created. Save, restart the world, and repeat the book check.
## Manual feature-generation check (Milestone 5, issue #35)
The automated suite verifies feature pages, compiled and saved feature IDs,
vanilla registry mappings, unsupported combinations, and the runtime generator.
An automated scan across many newly generated chunks stalled the GameTest
server, so physical placement is handed to the player for in-game verification:
1. In a fresh world, bind a Descriptive Book with Link Panel, Standard Terrain,
Plains Biome, Single Biome, Caves, and Rocks pages in that order.
Missing weather/lighting/celestial branches may be seed-filled. Travel to
the Age and explore several fresh surface chunks: boulders made from one
seed-selected full-collision block should appear among the plains terrain.
Then explore underground in fresh
chunks; the Caves page should add a second cave-carving pass to Standard
terrain, not switch the Age to Cave terrain.
2. Make a second book with Flat Terrain and Caves. The Binder should mark the
Caves page unsupported and prevent assembly. Cave Terrain plus Caves should
be accepted; Cave Terrain plus Rocks should be rejected.
3. Return, save, and restart the world. Re-enter the first Age and explore
*new* chunks. The authored decorations should continue without rebinding.
Previously generated chunks are intentionally unchanged.
4. Title-derived terrain regression (with Create installed): with no Terrain Page, assemble Link Panel,
Glowstone, Rocks, Chocolate, Small Lakes in that order and name the Age
`glow`. The Binder should accept it and generate compatible surface terrain;
Glowstone should be the rock material and Chocolate should appear in authored
Small Lakes across fresh chunks. Ordinary vanilla lava lakes may still occur.
Repeat
with `gl` or `glo` to confirm names do not change page validity. An explicit
Flat or Cave Terrain Page with Rocks should still be rejected.