p11-x-skeleton-everywhere part B: the table the loading frame now mirrors, and the unchanged cards default
28 Sept 2026 · branch properties-loading-table-ghost · captured against propflow-stage · at 9553eda862+local
Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.
Choosing the table stores it for this tab. On the next in-app visit the loading frame draws this same table (same heads, search box and filter) with ghost rows, not ghost cards. The frame shows for a fraction of a second, too brief to capture, so PropertiesLoading.table-ghost.dom.test.tsx compares its heads with this table's (red on main).
Asserted in the captured DOM — PROPERTY · TICKER · ADDRESS · UNITS · OCCUPIED. The table's column heads (drawn in capitals) after choosing the table view.
No stored choice keeps cards, and so does its loading frame. A hard load still starts on cards: the server cannot see the stored choice.
Asserted in the captured DOM — Properties. The page renders with its heading.