muxg: slim the shared popover core before shipping it
open by a73x
S1 has a coherent, accepted window-free popover model, but the feature is roughly 1k LOC including lifecycle/geometry tests and will be difficult to review as a single delivery. Before shipping it, make the public model easier to audit without weakening ownership, stale-intent, retained-layout, allocation rollback, clipping, or Unicode single-line guarantees. Scope: identify responsibility-based simplification/factoring and a smaller reviewable delivery shape; do not split files merely to reduce a line count. Keep renderer/controller, workflow policy, SDL, and picker migration out of this issue. Acceptance: an independent review can verify the core API and each safety invariant without navigating an oversized mixed model/layout/test change; native-core-test and check pass.