mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
r1-M1: dismissal (Escape/scrim/Cancel) while the reduce or keep-original flow is executing no longer races the decision — hp-close is ignored while busy, and every flow re-checks it still owns the guard before applying, so a force-cleared dialog can never silently install its stale result. The smoke now drives both: hp-close during a hanging decode leaves the busy dialog up, and a force-cleared guard ends with clean staging, no toast, no planFile. A new registry mutant removes the busy gate and is killed. r1-M2: the hard-dialog text takes its limit from the imported HARD_DIMENSION instead of a literal — recalibration stays a one-file change, as the spec promises. r1-M3: AC8 is now proven end to end, not plausible: the smoke splices a real EXIF APP1 (orientation 6) into a canvas-encoded 8200×4100 JPEG, asserts the header probe reads the unrotated SOF, that the decode call carries imageOrientation:'from-image' (captured on the hook), and that the reduced copy comes out portrait 2048×4096. TESTING.md names the scenario. Issue: #39 User-Visible: no