From adc505418ac8a5ad9b32d4e695b221e5f9a3ade2 Mon Sep 17 00:00:00 2001 From: grokbot_ty Date: Mon, 7 Sep 2026 21:33:00 +0000 Subject: [PATCH] =?UTF-8?q?results(gate-b):=20mask=20UX=20fix=20evidence?= =?UTF-8?q?=20=E2=80=94=20translucent=20overlay,=2038ms=20knob=20response?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated RESULTS.md with mask UX fix section - Screenshot shows translucent light green overlay, photo visible - Playwright timing: sensitivity 38ms, edge offset 38ms, sheet switch 21ms - Tip: 866de43 (fix + tests committed and deployed) Fixes: issue #55 --- test-results/gate-b-2026-09-07-fix/RESULTS.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test-results/gate-b-2026-09-07-fix/RESULTS.md b/test-results/gate-b-2026-09-07-fix/RESULTS.md index afe0cb9..065c4b4 100644 --- a/test-results/gate-b-2026-09-07-fix/RESULTS.md +++ b/test-results/gate-b-2026-09-07-fix/RESULTS.md @@ -43,3 +43,42 @@ - File selection processes images and advances to mask step - All event handlers (buttons, selects, ranges) use Svelte 5 syntax - **Gate B not green** — remaining product-state issues (TV-3/6/7/10) are separate + +--- + +## Mask UX Fix (issue #55) — 2026-09-07 + +### Problem +iPad @ https://192.168.1.202/: (1) mask preview nearly solid green — slab not visible; +(2) Sensitivity/Edge/Feather sliders take forever to respond. + +### Root Causes +1. **Overlay too opaque**: max alpha 140/255 (~55% green wash) made the photo hard to see. +2. **Auto-sheet fallback wrong**: when border was ambiguous, defaulted to green; if no green + pixels existed, mask became all-slab (all 255) → entire canvas green. +3. **No debounce**: `applyMaskKnobs` called full O(n²) remask on every `oninput` event + (every slider tick), blocking the UI thread. + +### Fix Applied +- **Translucent overlay**: green from (0,200,0) → (60,220,60), max alpha 140 → 80 (~31% opacity) +- **Auto-sheet fallback**: when ambiguous, try both green and black; pick whichever produces + non-trivial slab area (1%-99%). Falls back to green if both degenerate. +- **Knob debounce**: oninput → cheap overlay redraw with previous mask (rAF-limited); + onchange (release) → immediate full remask; 150ms debounced remask during drag. +- **Playwright E2E tests**: overlay visual, sensitivity knob 38ms, edge offset knob 38ms, + sheet switch 21ms. + +### Evidence +- Screenshot: `frontend/test-results/mask-ux-evidence/mask-overlay-translucent.png` + (translucent light green overlay, photo visible underneath) +- Playwright timing: sensitivity knob 38ms, edge offset 38ms, sheet switch 21ms — all <300ms + +### Deployment +- Commits: `a1d4a96` (fix), `866de43` (Playwright tests) +- Branch: `gate-b` +- Pushed to: `origin/gate-b` +- Redeployed on: ubuDual5060 +- Health: `GET https://192.168.1.202/api/health` → 200 `{"status":"ok"}` + +### Status +- **Gate B not green** — mask UX is usable; remaining product-state issues are separate.