The 6 PNGs under docs/screenshots/ were last captured 2026-05-26 ~23:19 and predate every UX commit shipped this release window:
The screenshots are still REPRESENTATIVE of the overall product shape (same layout grammar) but minor chrome has shifted. They render on the PyPI landing page via raw.githubusercontent.com so a refresh ships the moment the PNGs are replaced on main.
How to refresh
Manual capture against a local dev server (the project deliberately does not depend on Playwright/Cypress/e2e tooling per the owner's preference):
- Spin up
examples/project/ with a superuser and the bundled examples/ apps registered.
- Capture each view in light mode at 1440×900 (desktop) and 375×800 (mobile):
01-spa-login.png — package login page.
02-spa-registry.png — registry / home (no Recent-Actions panel, capitalised model titles, Pinned section).
03-spa-list.png — list view (showing the new filter-row layout: chips + Clear all + Customize; Show all N when relevant).
04-spa-list-mobile.png — same model at 375 px showing the stacked RecordCardList (each row a tappable card).
05-spa-detail.png — detail view showing the new admin-action buttons next to History/Edit/Delete.
06-registry-api-json.png — raw GET /api/v1/registry/ JSON (mostly unchanged).
- Use deterministic synthetic fixtures (no PII).
- Save in place under
docs/screenshots/ (overwriting); open a docs/refresh-screenshots-v1 PR. No code change.
Stale screenshots are NOT a v1 blocker (the layout grammar is unchanged and the user can still gauge fit) but they're worth refreshing in a follow-up so the PyPI page reflects the latest chrome.
The 6 PNGs under
docs/screenshots/were last captured 2026-05-26 ~23:19 and predate every UX commit shipped this release window:05-spa-detail.png) — missing the new admin-action buttons (Detail page: per-object action buttons reusing the changelist actions API (single-pk runs) #555 / feat(spa): detail-page admin action buttons reusing the changelist actions API (#555) #562) and the History/Edit/Delete chrome refresh.03-spa-list.png+04-spa-list-mobile.png) — missing theCustomizebutton moving onto the filter row (List: Clear all + Customize buttons should live on the filter row, always last (and Clear all hides when no filter is active) #554 / fix(spa): move Customize onto the filter row, after Clear all (#554) #558), theShow all Nchip, the count relocated into the pagination (fix(spa): list-page chrome — drop date hierarchy, relocate count, move Customize #530), and the mobile view rendering as stackedRecordCardListinstead of a table (Responsive list: render objects as stacked record-cards on narrow viewports (extract detail card to @dar/ui) #421).02-spa-registry.png) — predates the Recent-Actions panel removal (fix(spa): home page — drop Recent Actions panel, capitalize model names #527) and the capitalised model titles.The screenshots are still REPRESENTATIVE of the overall product shape (same layout grammar) but minor chrome has shifted. They render on the PyPI landing page via raw.githubusercontent.com so a refresh ships the moment the PNGs are replaced on
main.How to refresh
Manual capture against a local dev server (the project deliberately does not depend on Playwright/Cypress/e2e tooling per the owner's preference):
examples/project/with a superuser and the bundledexamples/apps registered.01-spa-login.png— package login page.02-spa-registry.png— registry / home (no Recent-Actions panel, capitalised model titles, Pinned section).03-spa-list.png— list view (showing the new filter-row layout: chips + Clear all + Customize; Show all N when relevant).04-spa-list-mobile.png— same model at 375 px showing the stackedRecordCardList(each row a tappable card).05-spa-detail.png— detail view showing the new admin-action buttons next to History/Edit/Delete.06-registry-api-json.png— rawGET /api/v1/registry/JSON (mostly unchanged).docs/screenshots/(overwriting); open adocs/refresh-screenshots-v1PR. No code change.Stale screenshots are NOT a v1 blocker (the layout grammar is unchanged and the user can still gauge fit) but they're worth refreshing in a follow-up so the PyPI page reflects the latest chrome.