feat(F-059): completed feature
This commit is contained in:
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user