Move the completed 2026-09 candidate review (MODLIST-REVIEW/-GROUPS,
CANDIDATE-APPENDIX, PACK-CONTEXT), FINDINGS.md and the shipped FTB Chunks swap
write-up into analysis/archive/, with a README mapping their old paths. The
review's build pieces, subagent intermediates and Modrinth API dumps are
deleted: the assembled reports carry their content. MODLIST-GROUPS.md was a
byte-for-byte duplicate of analysis/groups-table.md.
Also: drop the now-pointless FINDINGS/MODLIST packwizignore lines (analysis/
covers the archive), and gitignore *.tar.gz so the 650 MB map-migration world
tarball can't be committed by accident.
Pack-side half of the client performance work (analysis/client-perf/).
- Add Default Options 21.1.8 (client). It copies config/defaultoptions/
options.txt and extra/** into place only when the target is absent, so
player changes are never clobbered. It is also client-only. packwiz
`preserve` would also land these files in this repo's server config, which
matters for DistantHorizons.toml [server]/[common] and SSRD's COMMON config.
- Seed provisional mid-tier defaults generated by
analysis/client-perf/proposed-configs/build.py --ship: render distance 8,
DH LOD radius 128 / SSAO off / 2 threads, EMF animation LOD 12, Flywheel
TRI_LINEAR lighting, LambDynamicLights fast, SSRD 16 chunks, Sound Physics
16 rays / 2 bounces plus per-tick caps on noisy Create sounds. All values
are unmeasured; Phase 2 (BENCH-MATRIX.md) replaces them. ModernFix
dynamic_resources is held back until bench block B6 passes.
- Add Sodium Extra 0.9.4, Reese's Sodium Options 2.2.4, BadOptimizations
2.4.1 and Particle Core 0.3.3 (all client-side). Their declared ranges match
the pins (Sodium 0.8.13, fzzy_config, Kotlin for Forge).
- Bump Puzzles Lib 21.1.62 -> 21.1.64 as a bugfix: 21.1.63 restores dropped
access transformers. The event-cache change in 21.1.64 is Fabric-only.
Jade resolves tamed-animal owner names client-side; its Mojang profile
lookup can't resolve offline-mode UUIDs and it falls back to NeoForge's
UsernameCache, which the client loads from <game>/usernamecache.json.
Ship that file (side = "client", installed at the game root) so migrated
owners stop showing as "???".
Maintain the mapping with tools/sync-usernamecache.py after new logins.
cache/c2me-dfc is regenerated on every server start (the .class files
even swap contents between runs) and is already excluded from the pack
by .packwizignore. Drop it from git and add a .gitignore so it cannot
be committed again.