Spotted during a UI review of the recent grid-layout changes. Files: simalytics/Components/PosterGridCell.swift (posterGridColumns), consumed by SearchResultsView and TrendingListView.
GridItem(.adaptive(minimum: 110, maximum: 130), spacing: 12) is documented as fitting "3-up on the narrowest supported iPhone," but with the surrounding .padding(.horizontal, 12) a 375pt device (iPhone SE 2/3, iPhone 12/13 mini — the narrowest phones that run iOS 17) has 351pt available while 3 columns need 3×110 + 2×12 = 354pt. So those devices fall back to 2 columns (each capped at the 130pt max), leaving a large trailing gap. The pre-toggle code used 3 .flexible() columns and always showed 3-up, so this is a visible regression on 375pt phones — and the code comment is factually wrong.
Fix: the poster content is a fixed 110pt wide, so minimum can't safely drop below 110 — reduce the outer chrome instead: change .padding(.horizontal, 12) → 8 (or drop the GridItem spacing to 8) in SearchResultsView and TrendingListView so 3×110 fits at 351pt. Also correct the comment.
Source: multi-agent UI review, 2026-07-02.
Spotted during a UI review of the recent grid-layout changes. Files:
simalytics/Components/PosterGridCell.swift(posterGridColumns), consumed bySearchResultsViewandTrendingListView.GridItem(.adaptive(minimum: 110, maximum: 130), spacing: 12)is documented as fitting "3-up on the narrowest supported iPhone," but with the surrounding.padding(.horizontal, 12)a 375pt device (iPhone SE 2/3, iPhone 12/13 mini — the narrowest phones that run iOS 17) has 351pt available while 3 columns need 3×110 + 2×12 = 354pt. So those devices fall back to 2 columns (each capped at the 130pt max), leaving a large trailing gap. The pre-toggle code used 3.flexible()columns and always showed 3-up, so this is a visible regression on 375pt phones — and the code comment is factually wrong.Fix: the poster content is a fixed 110pt wide, so
minimumcan't safely drop below 110 — reduce the outer chrome instead: change.padding(.horizontal, 12)→8(or drop theGridItemspacingto 8) inSearchResultsViewandTrendingListViewso 3×110 fits at 351pt. Also correct the comment.Source: multi-agent UI review, 2026-07-02.