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).
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 |
What the pack is, repo conventions, this machine's inventory, tool paths |
02-timeline.md |
How the effort got here: phases, commits, decisions |
03-current-state.md |
Exact current step, done/open/blocked, interrupted-session artifacts and evidence |
04-plan.md |
The remaining plan with per-step status, B0–B14 run sheet summary, ship procedure |
05-decisions-and-rules.md |
Settled owner decisions, rules of the road, traps and gotchas |
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.