SvelteKit SSR page hangs (2-3s) caused by child +layout.ts re-fetching the same API endpoint already fetched by a parent +layout.ts. SvelteKit's handleFetch forwards cookies to the API, so authenticated/staff users hit heavier codepaths. The child layout calls await event.parent() (sequential barrier) then fires its own Promise.all including the duplicate call — the slow endpoint runs twice serially. Fix: reuse parent_data from event.parent() instead of re-fetching. The LayoutParentData generated type may not include the parent layout's fields for deeply nested routes (intermediate directory without a layout), requiring a type assertion.
Access the data via (parent_data as { viewables_listing?: { viewables: ViewableInfoOvo[] } }).viewables_listing instead of making a duplicate SDK/fetch call. SvelteKit's generated LayoutParentData types may not chain through intermediate parent layouts correctly when there's a directory gap (e.g., [username]/views/[viewname] skips [username]'s type), but the runtime data IS present — use a type assertion.