Repository navigation
Closed
Labels
area:frontendReact/Vite web clientReact/Vite web client
Description
Follow-up to #654, which added the dashboard capture to tools/simulation/ui/specs-screenshots/screenshots.spec.ts but does not commit an image or embed one in the README. The spec stays because it asserts the screen renders with real data; the picture it produces is not publishable yet.
Why #654 did not ship the image
Two problems, both visible in the capture taken during that slice:
- The fixture's flock catalog dominates the tiles. Simulation fixture: over-cap bands for customers, bird movements and inventory movements (split from #511) #627 seeds ~100 Active
Sim Z Flock Catalog NNNflocks for the picker's paging tests, and none of them ever gets a daily entry. SPA: dashboard rework — capture-status tiles, 14-day sparkline, stock as a stacked bar #654's capture-status panel sorts flocks with no entry first (INV-9, so a missed house is never hidden by the 12-tile cap), so the twelve visible tiles are all catalog flocks readingNO ENTRY, and the two real houses (Sim House A/B, which do have production) sit behind the "94 more flocks" link. - The composition does not fit the frame. At the screenshots config's 1280x800 viewport the tile grid alone fills the page; the 14-day trend, the stock bar and the recent-sales list are below the fold.
Separately, the capture during #654 was taken after a smoke run and photographed that run's leftovers (E2E Flock …, E2E Customer …, $9,999,999.99 orders). That hazard is now documented in tools/simulation/ui/README.md: reset the fixture, then capture, with no smoke run in between.
What a fix looks like (pick one, or something better)
- Give the capture a taller viewport (its own project entry in
playwright.screenshots.config.ts) so tiles + trend + stock + sales are all in frame. - Capture as a persona or on a farm whose visible flocks have entries, so the tiles show real figures rather than a wall of alarms — possibly a small dedicated seed profile rather than the picker-catalog fixture.
- Or decide the dashboard is not a README screen after all and close this, leaving docs: generated screenshots of the running SPA in the README #549's three images as they are.
Acceptance
-
docs/images/dashboard.pngis committed and embedded inREADME.mdwith a caption, or this issue is closed as won't-fix with the reason recorded. - The image shows the panels the screen is for, not only the alarm state.
- It is captured on a freshly reset fixture (README caveat), and
tools/simulation/ui/README.md's image count matches what ships.
Metadata
Metadata
Assignees
Labels
area:frontendReact/Vite web clientReact/Vite web client
Activity
feat(web): dashboard rework — capture-status tiles, 14-day trend, sto…
docs: fix increment for #660
docs: capture the dashboard at a taller viewport so the whole screen …
docs(sim): commit the dashboard screenshot, capture the palette matri…
mforce commentedon Sep 2, 2026
Shipped in #665, merged as
930ea308.docs/images/dashboard.pngis committed and embedded inREADME.md. Captured at 1280×1180 via its own Playwright project — the route this issue named first — so the tile grid,Last 14 dayswith its hen-day summary,Stockwith the grade breakdown, andRecent salesare all in one frame. The other three captures keep 1280×800 and are byte-identical.The first attempt did not meet this issue and said so rather than claiming otherwise. The driver's runbook said "capture and commit", which is not what this issue asks; the resulting 1280×800 shot was twelve alarm tiles with everything else below the fold. The implementer flagged it, and the driver had also written alt text naming the trend and stock panels — content that was not in the frame, which matters because alt text is what a screen-reader user receives instead of the picture.
Criterion 2, honestly: the tiles do still all read
No entry. That is the fixture's real state, not a framing failure — #627 seeds ~100 catalog flocks that never receive a daily entry, nothing is recorded for the capture's "today", and the missing-first sort (INV-9) puts them first by design. The panels the screen is for are now in shot, which is what the criterion asks. This issue's alternative route — a dedicated seed profile so the tiles show real figures — was deliberately not taken, being a fixture change well outside the slice. If the all-alarm tile grid is unacceptable for a README, that is a fresh decision and worth its own issue.Criterion 3 met:
tools/simulation/ui/README.md's count now says four, and a stale clause explaining "why the Dashboard is deliberately not among them" was removed.chore(main): release 0.1.0 (#542)