Library art-directed pin frames for uniform heroes #1492

Closed
opened 2026-10-11 12:21:56 +00:00 by shridhar.sabat · 1 comment
shridhar.sabat commented 2026-10-11 12:21:56 +00:00 (Migrated from gitea.ai-automation-hub.tech)

Library pins read symmetric — art-directed frames

All 41 split heroes are identical 819×1610, so the masonry renders equal-height pins (user: "not looking like trend library, very symmetric").

Fix: deterministic display frames on uniform heroes only (capture_mode='catalog-split', already in the list payload — no backend change): cycle full / 4:5 / 1:1 by grid index (frame={idx%3}), top-anchored object-cover (lookbook crop — head + torso, never decapitated), exact-aspect placeholder (zero reflow). Natural varied photos (camera/scraped/concepts) render full as today. Modal/flight/shot-strip untouched.

Verify: tsc · eslint zero-new · harness (same-image mocks stagger) · live screenshots.

## Library pins read symmetric — art-directed frames All 41 split heroes are identical 819×1610, so the masonry renders equal-height pins (user: "not looking like trend library, very symmetric"). **Fix:** deterministic display frames on uniform heroes only (`capture_mode='catalog-split'`, already in the list payload — no backend change): cycle full / 4:5 / 1:1 by grid index (`frame={idx%3}`), top-anchored `object-cover` (lookbook crop — head + torso, never decapitated), exact-aspect placeholder (zero reflow). Natural varied photos (camera/scraped/concepts) render full as today. Modal/flight/shot-strip untouched. **Verify:** tsc · eslint zero-new · harness (same-image mocks stagger) · live screenshots.
shridhar.sabat commented 2026-10-11 13:41:54 +00:00 (Migrated from gitea.ai-automation-hub.tech)

Shipped — trend-exact garments grid

PR #1496 (08701fc). The user corrected the approach mid-issue: the art-directed crop frames (#1493/#1494) read as passport photos, and the ask is the trend page's exact pins + spacing — not the scraper report's stagger.

Fix:

  • Frontend reverted to #1489: trend's exact multicol (columns-2 → 5 gap-4, mb-4), natural-aspect pins (w-full h-auto), trend caption rhythm. Flex columns + seat frames (#1495, deployed then superseded) deleted. Harness pins object-cover=0 in the grid.
  • Heroes re-cut to 3:5 (819×1365, head-to-thigh): pilot-PROVED an exact-2:3 window of the supplier column spans head-to-WAIST only (shirt-hem/elbow chop). Front/back share the slice (framing-matched modal pair). restore_all now removes split products (restore → apply re-cuts cleanly).

Data: --restore + --apply: 41/41 re-cut on dev, 0 failed.

Verify: 41 backend green · tsc 0 · eslint zero-new · build green · harness ALL PASS @1440+390 · live: natural 3:5 pins, trend captions/spacing, 0 JS errors.

## Shipped — trend-exact garments grid **PR #1496** (`08701fc`). The user corrected the approach mid-issue: the art-directed crop frames (#1493/#1494) read as passport photos, and the ask is the trend page's exact pins + spacing — not the scraper report's stagger. **Fix:** - Frontend reverted to #1489: trend's exact multicol (`columns-2 → 5 gap-4`, `mb-4`), natural-aspect pins (`w-full h-auto`), trend caption rhythm. Flex columns + seat frames (#1495, deployed then superseded) deleted. Harness pins `object-cover=0` in the grid. - Heroes re-cut to **3:5** (819×1365, head-to-thigh): pilot-PROVED an exact-2:3 window of the supplier column spans head-to-WAIST only (shirt-hem/elbow chop). Front/back share the slice (framing-matched modal pair). `restore_all` now removes split products (restore → apply re-cuts cleanly). **Data:** `--restore` + `--apply`: 41/41 re-cut on dev, 0 failed. **Verify:** 41 backend green · tsc 0 · eslint zero-new · build green · harness ALL PASS @1440+390 · live: natural 3:5 pins, trend captions/spacing, 0 JS errors.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sapl/sapl#1492