bug(photos): length dim still short of wood tips (#73) #73

Closed
opened 2026-09-16 05:14:48 +00:00 by grokbot_ty · 1 comment
Owner

Ty confirmed M2 complete (chat). Closing after UAT.

Ty confirmed M2 complete (chat). Closing after UAT.
grokbot_ty added this to the M2 Photos milestone 2026-09-16 05:14:48 +00:00
Author
Owner

Implemented + deployed for Ty re-UAT (leaving OPEN)

Root cause confirmed: widthAwareAxialRange required maxWidth * 0.32, so legitimate tapered end bins at ~15–25% of body width were discarded. The shared arrow edgeInset then shortened both length endpoints further.

Fix: 03d3fcf4607a2d17d645f938bbf1d428a5abfaf4 on m2-ds

  • lowered the body-width threshold to 0.15, while keeping ~10% fringe whiskers excluded
  • split width vs length inset; width tips retain the #71 protection, length endpoints use half-stroke only
  • added tapered-tip TDD fixture (~20% max width), tight length-span allowance (tip span − 8px max), old-0.32 regression proof, and no-overshoot coverage
  • #69/#70/#71/#72 contracts remain green

Validation: 88/88 unit tests pass; production TypeScript/Vite build passes.

Overnight redeploy (only :10881):

  • container slabuploader-m2-overnight
  • image slabuploader-m2:overnight (sha256:4fee144ddb73e4acb406ec8ed9ff32a42d283caeabe9846afe3ce93b2443f3e9)
  • curl http://100.64.0.9:10881/ → HTTP 200
  • Ty local slabuploader-m1 remains on :18080; :10880 untouched

Ty re-UAT ask

Please use the same tapered/live-edge slab that showed the gap, approve the length axis, Calculate, and confirm both length arrow ends reach the visible wood tips without crossing past them. Leave open until PASS/FAIL.

## Implemented + deployed for Ty re-UAT (leaving OPEN) **Root cause confirmed:** `widthAwareAxialRange` required `maxWidth * 0.32`, so legitimate tapered end bins at ~15–25% of body width were discarded. The shared arrow `edgeInset` then shortened both length endpoints further. **Fix:** `03d3fcf4607a2d17d645f938bbf1d428a5abfaf4` on `m2-ds` - lowered the body-width threshold to `0.15`, while keeping ~10% fringe whiskers excluded - split width vs length inset; width tips retain the #71 protection, length endpoints use half-stroke only - added tapered-tip TDD fixture (~20% max width), tight length-span allowance (tip span − 8px max), old-0.32 regression proof, and no-overshoot coverage - #69/#70/#71/#72 contracts remain green **Validation:** 88/88 unit tests pass; production TypeScript/Vite build passes. **Overnight redeploy (only `:10881`):** - container `slabuploader-m2-overnight` - image `slabuploader-m2:overnight` (`sha256:4fee144ddb73e4acb406ec8ed9ff32a42d283caeabe9846afe3ce93b2443f3e9`) - `curl http://100.64.0.9:10881/` → **HTTP 200** - Ty local `slabuploader-m1` remains on `:18080`; `:10880` untouched ### Ty re-UAT ask Please use the same tapered/live-edge slab that showed the gap, approve the length axis, Calculate, and confirm both length arrow ends reach the visible wood tips without crossing past them. Leave open until PASS/FAIL.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Ty_Tech/SlabUploader#73