Gate B [01/10]: Green/black sheet mask — TV-1, TV-2 #21

Closed
opened 2026-09-07 05:20:56 +00:00 by grokbot_ty · 1 comment
Owner

Branch: gate-b (create from main before coding; never docs/refactor-v2)

Sprint: Gate B · Order 1/10 · Depends on: none

Acceptance (IMPL-PLAN): Client pure modules implementing TECH-SPEC: constants, sheet/chroma/black + sliders, mask confirm hooks.

Test-SPEC case IDs: TV-1, TV-2

Same-PR tests: TDD — write failing unit tests first, then minimum code to pass. Synthetic image fixtures for green-sheet and black-sheet paths.

In scope:

  • Green-sheet chroma-key: interior green-ish patch that does not touch the border stays after mask
  • Black-sheet threshold: dark interior wood that does not touch the border stays; flood-fill isolates border-connected pixels only
  • Four inline knobs (sheet, sensitivity, edge offset, feather) with live re-run
  • Mask overlay on source photo with user confirm before measurement
  • U2Net not invoked (deferred from POC)

Out of scope:

  • Length axis, sqft/bdft math, 3:4 PNG crop, pricing, server-side processing

Done when / evidence: Unit tests green for TV-1, TV-2. Results rules: pass|fail|not run with pytest output path in commit message.

**Branch:** `gate-b` (create from main before coding; never docs/refactor-v2) **Sprint:** Gate B · Order 1/10 · Depends on: none **Acceptance (IMPL-PLAN):** Client pure modules implementing TECH-SPEC: constants, sheet/chroma/black + sliders, mask confirm hooks. **Test-SPEC case IDs:** TV-1, TV-2 **Same-PR tests:** TDD — write failing unit tests first, then minimum code to pass. Synthetic image fixtures for green-sheet and black-sheet paths. **In scope:** - Green-sheet chroma-key: interior green-ish patch that does not touch the border stays after mask - Black-sheet threshold: dark interior wood that does not touch the border stays; flood-fill isolates border-connected pixels only - Four inline knobs (sheet, sensitivity, edge offset, feather) with live re-run - Mask overlay on source photo with user confirm before measurement - U2Net not invoked (deferred from POC) **Out of scope:** - Length axis, sqft/bdft math, 3:4 PNG crop, pricing, server-side processing **Done when / evidence:** Unit tests green for TV-1, TV-2. Results rules: pass|fail|not run with pytest output path in commit message.
grokbot_ty changed title from Gate B: Green/black sheet mask — TV-1, TV-2 to Gate B [01/10]: Green/black sheet mask — TV-1, TV-2 2026-09-07 05:39:51 +00:00
grokbot_ty added this to the Gate B milestone 2026-09-07 05:39:52 +00:00
grokbot_ty added the gate-bseq-01 labels 2026-09-07 05:42:07 +00:00
Author
Owner

Closed: superseded by different design (implemented during M3).

Closed: superseded by different design (implemented during M3).
Sign in to join this conversation.
No Label gate-b seq-01
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Ty_Tech/SlabUploader#21