feat(F-059): completed feature

This commit is contained in:
chattie
2026-08-19 15:32:56 +02:00
parent 4cdb5fb487
commit 72ba84456c
32 changed files with 369 additions and 57 deletions

View File

@@ -3057,6 +3057,40 @@
"close": true
},
"completed_at": "2026-08-19T13:17:51Z"
},
{
"id": "F-059",
"type": "fix",
"title": "Image display respects aspect ratio no crop on non-square thumbs",
"problem": "Frontend uses object-cover and aspect-square which crops non-square images; backend resize has no max-height cap so extreme aspects break layouts",
"goal": "Images preserve aspect ratio at every viewport. Backend resize uses fit inside with max-height cap. Frontend uses object-contain and aspect-auto for product images. Cached square thumbs are fine; non-square thumbs display without distortion or cropping.",
"scope_in": [
"Backend resize sharp fit inside with max-h cap; frontend object-cover replaced with object-contain on product images; aspect-square replaced with aspect-auto on product image containers; sensible max bounds on containers; bg fill for empty space"
],
"scope_out": [
"No new endpoints",
"no schema change",
"no thumbnail regeneration of legacy files"
],
"priority": "high",
"risk": "low",
"description": "Problem: Frontend uses object-cover and aspect-square which crops non-square images; backend resize has no max-height cap so extreme aspects break layouts. Goal: Images preserve aspect ratio at every viewport. Backend resize uses fit inside with max-height cap. Frontend uses object-contain and aspect-auto for product images. Cached square thumbs are fine; non-square thumbs display without distortion or cropping.. Scope IN: Backend resize sharp fit inside with max-h cap; frontend object-cover replaced with object-contain on product images; aspect-square replaced with aspect-auto on product image containers; sensible max bounds on containers; bg fill for empty space. Scope OUT: No new endpoints, no schema change, no thumbnail regeneration of legacy files. Type: fix. Priority: high. Risk: low.",
"acceptance": [
"Backend resize uses fit inside so cached thumbnail is bounded by max-width and max-height without crop",
"40px and 200px thumbnails on disk are never square-cropped from a non-square source",
"Frontend product images render with object-contain and aspect-auto, no clipping at any viewport",
"Admin product list table shows the full image (not cropped to square)",
"verify.sh is green"
],
"status": "done",
"created_at": "2026-08-19",
"gates": {
"reviewer": true,
"security": true,
"qa": true,
"close": true
},
"completed_at": "2026-08-19T13:32:56Z"
}
]
}