mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-10 02:30:39 +01:00
Ports hallmark's sloplint-render.mjs onto lib/aside-render: one tab per page, the in-page probes installed once and run at each viewport, a second pass with full-page screenshots only when a contrast claim needs the painted pixels (a small PNG reader replaces canvas sampling). Gates 23, 25, 26a, 34, 40, 41, 44a-d, 49a/b, 58, 71, 72, 73, 75, 77-83, F17-F20, plus the page that did not render. The stamp's posture, hero-shape, photo-shape and genre guards are gone: the strict form applies. Focus rings are read by focusing each control in turn (programmatic focus matches :focus-visible on the daemon with no prior pointer input; a stylesheet scan is the fallback). lib/aside-render: an eval step takes width/height like a screenshot step (device metrics on Aside, viewport on browse, cleared after), and spec.file may be an http(s) URL, opened as it is with nothing served. The clean fixture gained border-box on its hero, a centred, taller hero visual, a wrapping actions row, a statement-sized close head and a shorter story paragraph: the browser showed the action below the 1280x800 fold, a dead band under the hero, a 600px image spilling past a phone screen and a thin close section. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>