From 255af22ac871ba021f4e299ac167f188e15f7214 Mon Sep 17 00:00:00 2001 From: Nibu Date: Fri, 13 Nov 2026 15:30:04 +0000 Subject: [PATCH] Docs: close the stale new-game leftovers Bring settings-globals, mining, prior-art, headless probe record and the release map true to the scenarios menu and current seeding. Co-Authored-By: Claude Sonnet 5.5 --- docs/aetheria-release-map.md | 1 - docs/headless-playground-cut.md | 19 ++++++++++--------- docs/mining-cut.md | 2 +- ...rategic-ai-arena-living-world-prior-art.md | 3 ++- docs/settings-globals-cut.md | 5 +++-- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/docs/aetheria-release-map.md b/docs/aetheria-release-map.md index c270c297c..83892fc69 100644 --- a/docs/aetheria-release-map.md +++ b/docs/aetheria-release-map.md @@ -504,7 +504,6 @@ record. | follow-up | `ambiguous-hardpoint-origin` | demo | Save correctness for package hulls. | | follow-up | `delaunay-exact-predicates` | demo | Galaxy links; a silently unlinked zone could strand a demo run. | | follow-up | `failed-start-scene-halts` | demo | The New Game failure path the demo's missing-cast refusal uses. | -| follow-up | `stale-docs-after-scenarios-menu` | demo | Docs that describe the old New Game path. | | follow-up | `scratch-carry-drafts` | demo | The ship `.cc` draft bears on `demo-ship-cc-timing`. | | follow-up | `faction-lore-notes-r3` | full game | Vault setting notes; no demo cut reads them. | | follow-up | `mining-impacts-through-contract` | full game | Mining Cut 4 is parked. | diff --git a/docs/headless-playground-cut.md b/docs/headless-playground-cut.md index 51c3f1bb5..d6ca6104a 100644 --- a/docs/headless-playground-cut.md +++ b/docs/headless-playground-cut.md @@ -127,10 +127,11 @@ All of this is Unity code: | Save | `SaveRun` `:241-249`, called at quit `:236` and warp `:635` | action-bar slots (`:246`) | | Death | `BindToEntity` subscribes `Death` -> `Die` (`:1053`); `Die` `:1080-1115` clears the run (`:1088`) | `Time.time`, `Observable.EveryUpdate` post-fx | | Tick | `Update` `:1151-1220`: input `:1189-1216`, then `Zone.Update(Time.deltaTime)` `:1218` | `Time.deltaTime`, pause flag | -| Dead code | `IntroCutscene` `:772-799`; its only call is commented out (`:760`) | coroutine, `Time.time` | ### 2.2 Already headless +- Past probe: the measurements below were taken at an earlier commit and their line anchors + are not maintained; re-run the probe before relying on a number or an anchor. - `Aetheria.Shared/Aetheria.Shared.csproj` compiles `Assets/Scripts/ServerShared/**` plus UniRx (`UniRxLibrary`) and Ink with no Unity defines. It is the Unity-independence check. @@ -141,23 +142,23 @@ All of this is Unity code: - a player `LonginusX` spawned through `LoadoutGenerator`; - thrust by hand-set `MovementDirection` reached 142 m/s in 5 s; - a `Minion` patrol moved the player ship 642 units in 10 s; - - `TryDock` and `TryUndock` succeeded (`Entity.cs:721-755`); - - `Ship.EnterWormhole` followed by stepping fired `OnEnteredWormhole` (`Ship.cs:82-90,372`); - - `Death` fired on hull damage (`Entity.cs:277-280`); + - `TryDock` and `TryUndock` succeeded; + - `Ship.EnterWormhole` followed by stepping fired `OnEnteredWormhole`; + - `Death` fired on hull damage; - `RunSave.Capture` and `RunSave.Commit` wrote a 489 KB `run.cc`. - Settings: `GameSettings` is a ScriptableObject (`GameSettings.cs:11`) holding ServerShared classes. - `tools/AetherDb/AuthoredSettings.cs` reads them from the asset YAML. The probe placed every field (0 unplaced). - Two lifecycle inputs are Unity-only `GameSettings` fields: `StartingHullName` - (`GameSettings.cs:17`, authored `LonginusX`) and `WormholeDistanceRatio` (`:23`, + (`GameSettings.cs:13`, authored `Longinus`) and `WormholeDistanceRatio` (`:16`, authored 0.75). - Randomness: - `ItemManager.Random` is seeded by the constructor argument (`ItemManager.cs:35`); a new run's seed is `RunStart.ItemSeed(galaxy, step)`, from `Galaxy.Seed`. - - `Galaxy` is clock-seeded only when `seed == 0` (`Galaxy.cs:108,158`). - - `Zone` seeds from the zone name (`Zone.cs:54`). - - `Zone.Update` runs belt updates on `Task.Run` (`Zone.cs:144`). It is still - deterministic (probe: identical traces). + - `Galaxy` takes its seed from the run (`Galaxy.cs:119`); a zero seed throws. + - `Zone` seeds from the zone name: `CombatSeed` (`Zone.cs:162`), with `DropSeed` mixing in the run's seed (`:163`). + - Probe: `Zone.Update` was deterministic (identical traces) when belt updates ran on `Task.Run`; + no `Task.Run` remains in `Zone.cs`. ### 2.3 Agents diff --git a/docs/mining-cut.md b/docs/mining-cut.md index 7c5be8297..ce23094dc 100644 --- a/docs/mining-cut.md +++ b/docs/mining-cut.md @@ -301,7 +301,7 @@ resources **(probe: 8 belts, 0 authored)**. - A: Composition is derived: `Comp_c(o) = Abundance_o × exp(Variance × g(hash(belt key, index, o)))`, normalized, with `g ∈ [-1, 1]`. Nothing is stored. Existing saves work, and key 4 is retired. - B: `ZoneGenerator` writes `BodyData.Resources` per belt at generation, and the chunk jitter is derived. Belts in - runs started before Cut 5 have empty compositions until New Game. + runs started before Cut 5 have empty compositions until a new run. - C: Per-belt only, with no per-chunk variation. - **Recommended: A.** It has one owner (the catalog) and nothing to migrate. It follows the same "derived, never stored" spirit as branding. The operator's wording ("the chunk's composition") argues against C. If B is chosen, diff --git a/docs/research/2026-10-21-strategic-ai-arena-living-world-prior-art.md b/docs/research/2026-10-21-strategic-ai-arena-living-world-prior-art.md index 42f0ee20c..87a1bb7c9 100644 --- a/docs/research/2026-10-21-strategic-ai-arena-living-world-prior-art.md +++ b/docs/research/2026-10-21-strategic-ai-arena-living-world-prior-art.md @@ -390,7 +390,8 @@ Battlecode, Halite, CodinGame, BWAPI/SSCAIT/AIIDE/CIG, SC2 AI Arena, Lux, CodeCl - **The Colosseum follow-up.** `aetheria-release:follow_up:colosseum-npc-lab` (in force; owner "Aetheria Agents and the headless simulation") names its foundations: - an observation and action seam (agents hold live `Ship`, `Zone` and `ItemManager` references); - - seeding `ItemManager.Random` and the MIConvexHull randoms; + - seeding for tournament reproducibility: `ItemManager.Random` already takes the run's seed + (`RunStart.ItemSeed`), and no MIConvexHull source remains in the repo; - a replay recorder; - a headless tournament runner on Yggdrasil with ratings; - a primitive vocabulary; diff --git a/docs/settings-globals-cut.md b/docs/settings-globals-cut.md index b031ba4bf..f1b2e0582 100644 --- a/docs/settings-globals-cut.md +++ b/docs/settings-globals-cut.md @@ -495,8 +495,9 @@ landed type differs from it by the one attribute. (the helper) [2 now]. - `rg -n "ScriptableObject" Assets/Scripts/ServerShared` must stay 0. - operator: - - Play smoke: main menu, then New Game (tutorial). The tutorial galaxy generates, - and the starting ship is LonginusX. + - Play smoke: main menu, then New Game, then the Tutorial Galaxy scenario (listed under + development, in editor and development builds). The prelude galaxy generates, and the + starting ship is `Settings.StartingHullName` (`Longinus`). - In a station trade menu and the properties panel, item names show tier colours: Legendary orange, Uncommon green. None is black. - The inventory shows armour and durability gradients, and hit flashes use the