fix(mods): add MidnightLib 1.10.0 to fix startup CME crash

Fright's Delight jar-in-jars MidnightLib 1.9.2, whose MidnightConfig.init
races during NeoForge parallel mod construction (ConcurrentModificationException).
The broken mod state left mod_resources unloaded, so WATUT's reloadShaders
mixin crashed on particle.json - WATUT was the victim, not the cause.
1.10.0 synchronizes the entries map (upstream 1fe69729); FML selects it over
the JiJ copy. Verified: 10/10 clean cold launches to world join.

Also adds analysis/state/ (Phase 2 state capture).
This commit is contained in:
logan committed 2026-10-15 17:07:52 -04:00
1 parent e5e369a693
commit a84319bb2f
11 files changed
+512 -1

No files matched your search

+47
View File
@@ -0,0 +1,47 @@
# Onion MC — optimization effort: state capture
Captured **2026-10-14 ~23:45 EDT** (Manjaro bench machine), at git **HEAD `e5e369a`**
(`chore(bench): add client bench harness and Phase 2 handoff`), branch `main`, pushed.
Pack: **217 mods**, MC **1.21.1**, NeoForge **21.1.251**.
## Where we are (one paragraph)
The client-performance initiative is in **Phase 2 (benchmarking)**, which has just
begun and was interrupted mid-setup. Static analysis (Phase 1), the tuned-config
generator, the owner's decisions, and the first wave of perf-mod adds are **done and
shipped** (`a01bc3b`, `d80f85b`). The client **boots clean**; the dedicated server
**boots clean** (a live idle instance from the boot check is still running in tmux —
leave it alone). The bench harness works end-to-end but has produced exactly **one
non-decision-grade measurement** (C1/S1, vsync-locked ~60 fps). The bench world has
scenes S1–S3 built; **S4 (airships) is not built**. **Matrix blocks B0–B14 have not
run at all.** The one known open defect is an **intermittent WATUT world-load crash**.
Immediate next actions: resolve/work around WATUT → confirm uncapped frametimes →
finish S4 → run B0→B14 → write winners into `build.py` → ship → report to owner.
## Reading order
| File | Contents |
| --- | --- |
| [`01-pack-and-environment.md`](01-pack-and-environment.md) | What the pack is, repo conventions, this machine's inventory, tool paths |
| [`02-timeline.md`](02-timeline.md) | How the effort got here: phases, commits, decisions |
| [`03-current-state.md`](03-current-state.md) | Exact current step, done/open/blocked, interrupted-session artifacts and evidence |
| [`04-plan.md`](04-plan.md) | The remaining plan with per-step status, B0–B14 run sheet summary, ship procedure |
| [`05-decisions-and-rules.md`](05-decisions-and-rules.md) | Settled owner decisions, rules of the road, traps and gotchas |
| [`06-artifact-map.md`](06-artifact-map.md) | Every artifact, where it lives, what it is, current status |
## Authoritative sources this capture distills
- `.pi/journal.md` — the running work log (read the last three sessions first).
- `analysis/client-perf/HANDOFF.md` — prior session's own handoff brief.
- `analysis/client-perf/BENCH-MATRIX.md` — **the run sheet**; when this capture and
the matrix disagree, the matrix wins.
- `analysis/client-perf/LEVERS.md` — ranked levers with verification notes.
- `phase0/P0|P1|P2-*.md` — per-fleet-machine measurement plans (machines unreachable).
## For the incoming agent
Start at `03-current-state.md`, then `04-plan.md`. Do the next actions in
`04-plan.md` §"Next actions" **in order**. Before touching anything, read
`05-decisions-and-rules.md` — several rules exist because a previous session already
made the mistake once (config re-save commits, packwiz `side` resets, vsync-locked
data). Append your session to `.pi/journal.md` when you finish.