From 63b8879720723917f4ca6f7ea6d5c13eadae5aa6 Mon Sep 17 00:00:00 2001 From: Ty Date: Thu, 24 Sep 2026 11:30:13 -0700 Subject: [PATCH] docs(design): add approved #99 tape-line overlay wireframe Owner-approved design proposal for #99 (tape-line overlay replaces the axis rectangle). Wireframe only - no production code. Settles: the black ~2pt line is a fixed entity in the middle of the 3:4 rectangle; the slab alone pans/zooms/tilts so its long axis lands on the line; the ticks belong to the line and L = tick to tick; crop % moves only the overlay's ends ((1 - fill)/2 of the long axis in from the top and the bottom) and never changes the aspect ratio. The file header lists the wireframe scaffolding to scrub before this reaches the production workflow (viewport switcher, coverage board, was/now pair, PROPOSAL markers, in-stage tutorial labels, sample values, window.__wf debug hook). --- docs/design/issue-99-tape-line-overlay.html | 713 ++++++++++++++++++++ 1 file changed, 713 insertions(+) create mode 100644 docs/design/issue-99-tape-line-overlay.html diff --git a/docs/design/issue-99-tape-line-overlay.html b/docs/design/issue-99-tape-line-overlay.html new file mode 100644 index 0000000..1ee60ae --- /dev/null +++ b/docs/design/issue-99-tape-line-overlay.html @@ -0,0 +1,713 @@ + + + + + + +SlabUploader — tape-line overlay wireframe (issue #99) + + + +
+

SlabUploader · tape-line overlay — issue #99

+
+
+ Viewport + 412 + + + + +
+
+
+
+

Issue #99 — requirement coverage in this wireframe

+ + + + + + + + + + + +
ReqWhat it saysWhere it shows up
1 OverlayBlack ~2pt line + two rifle-scope end ticks; ticks draggable; replaces the cyan bbox + red arrow Tape line step: the black line, its two end ticks, the "was / now" pair below the stage, and the hint copy
2 ControlsPan / zoom / tilt the photo; ticks ≥44×44px, draggable, arrow + Shift+arrow fine nudge; one pointer pathZoom now has a visible row (− / slider / + / Fit) beside the tilt row, plus wheel, pinch, +/− keys and double-click to fit; pan = drag, tilt = handle + arrows
3 Fixed lineThe reference line is fixed in the MIDDLE of the rectangle, and it IS the crop line: its ends are the crop insetsThe line's x is computed from the frame, never from the slab's transform; the crop % moves only its two ends, (1 − fill)/2 of the long axis in from the top and the bottom
4 Crop %Global settings.crop_fill (default 90) replaces both FILL = 0.9 copies, read live, non-retro. It does not change the aspect ratioCrop fill control on the tape step and the Settings step: 90% puts the overlay 5% in from the top and the bottom; the 3:4 rectangle itself never changes
5 Crop contentPost-BG-removal, slab pixels only, transparent background, bounds = slab extentMask step note + the crop frame outline around the stage
6 Transform scopeTilt persists only to the calibration pic and its dimension-overlay clone; siblings keep their own orientationPhotos-ready step lineup: calibration + dimensioned copy tilted, backside sibling untouched
7 Doc fixcapture/types.ts:46 says "80%-fill"; live value is 90%Noted in the Implementation notes card on the Settings step
+
+ + +