/** * Types for the bits of `window.SocialCalc` we touch from the new client. * * Scope is intentionally loose — internals of the sheet model stay `unknown` * because the full SocialCalc typedefs are a multi-phase project on their * own. We only describe what the ported `player-*.ls` files actually read * from or write to. When a field is only used as an opaque handle (event * target / dictionary key) we keep it `unknown` or `Record`. * * NOTE: the legacy `