results(gate-b): mask UX fix evidence — translucent overlay, 38ms knob response
- 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
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user