STEP 1
Load the selected shoe configuration
The server loads shoe images, masks, and prompts from Supabase. Rows are matched by shoe_type_internal_tool.id = shoeTypeId. A shoe is only returned when both linked configuration rows exist.
- app/page.tsx receives the combined shoe list on the server.
- PageContent receives each shoe with images, masks, and instructions attached.
- Changing the selected shoe changes the entire configuration passed to GetAppCore.