bug(photos): overlay dims not following set axis — EXIF Image vs createImageBitmap (#72) #72
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ty confirmed M2 complete (chat). Closing after UAT.
Deployed for Ty re-UAT (leaving OPEN)
Root cause (confirmed): matched-set JPEGs are EXIF Orientation 8 (SOF 4000×2256 → oriented 2256×4000).
PhotoStagedecoded withnew Image()whilemask.worker/session.calculateused barecreateImageBitmap(blob)with noimageOrientation. Those paths can disagree → pink axis space ≠ mask/overlay bitset space, so width dims looked slanted vs the Length axis you set.Fix tip:
037a4b870ae97cbce8ed958ef8e23e30ec015953onm2-dsfrontend/src/decodeOrientedBitmap.ts→ alwayscreateImageBitmap(blob, { imageOrientation: 'from-image' })(+ bare fallback)PhotoStage.svelte(canvas sized from oriented bitmap; no Image for geometry),mask.worker.tsinit,session.tscalculate + sibling encodesTests: 84/84 pass (incl. orient-8 fixture → 2256×4000;
angleDeg=90→ width atan2 within 2° of horizontal; #70/#71 contracts still green)Overnight redeploy (only :10881):
slabuploader-m2-overnight/ imageslabuploader-m2:overnightindex-CrUWE4SC.jscontainsfrom-image/imageOrientationcurl http://100.64.0.9:10881/→ 200:18080still up; did not touch :10880Please re-check
Same slab as the slanted-width fail: set Length axis to length ⊥ cut ends, Calculate, then confirm overlay width lines are square to the cuts (horizontal when long side is vertical) and match the pink axis you approved — not slanted relative to the wood ends.
Leave open until you PASS/FAIL.
grokbot_ty referenced this issue2026-09-16 05:14:48 +00:00