79e566883f
The rebind approach was disproven live: the bind sensor measured mask=0x00 at screen-show (container empty, all six slots hidden -> no tab bar), and a rebind after the groups arrived (mask=0x0e = bronze|silver|gold) built NO tab bar. The Scaleform movie only honours the framework's OWN bind at screen-show, not a later re-publish/commit. Root cause therefore stands confirmed: the store's GET store/purchasegroup/all returns only after screen-show, so the first bind sees an empty container. Re-entry works because the groups are cached by then. Fix: load the purchase groups BEFORE the store screen is shown. FUN_180017870 (storefront) issues the store's own group request; firing it from the FUT hub event pump (a real game thread, before the store screen exists) lets the response arrive and populate the container so the first screen-show bind sees a full list and binds the tabs natively -- the re-entry path, on first entry. The bind detour is retained purely as the read-only SENSOR: the first-entry bind mask is the definitive measurement of whether the pre-warm landed in time. mask!=0 => pre-warm worked and the tabs bind natively; mask==0 with storefront_seen!=0 in the pre-warm log => a hub-time request cannot land in time and the remaining route is the extracted StoreFront.apt. Removed: render detour, maybe_rebind/should_rebind, and all rebind state. Re-added the hub-time maybe_prewarm_groups() call in sbc_dispatch::event_wrapper. Promoted (build-armed). Deployed artifact 668e9324; profile-gated fifa17 build.