A capture never logs in, so `record_from_roster` answers `None` and the record stayed
empty — and the interface a capture loads is the one a player sees, where there is always
a player. That is the harness diverging from the client, not the other way round:
`Turtle_TransmogUI.lua:17` is `strlower(class)` over `local _, class = UnitClass("player")`
at main-chunk scope, so the nil killed the file and raised an error popup over the middle
of **every UI capture** — visible in the Interface options shot, and in nothing a player
has ever seen (his own session logs nine `Turtle_TransmogUI` lines and no such error).
Minimal and presence-only, the same record `manifest.rs` already seats for the offline
loader and for the same stated reason. Where `$WOW_CAPTURE_SAVED` names a character it is
that name, since the saved variables the capture just loaded are keyed on it.
Verified: `WOW_CAPTURE=ui-options` goes from one raised chain file to 0 runtime errors, and
the shot is a clean Interface page.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn