3.1 KiB
3.1 KiB
Photo-First Asset Strategy (Correction Wave)
Date: 2026-03-27
Scope: Art direction + asset structure only (no page redesign)
1) Decision
Move Recipe Manager from illustration-first to photo-first for food storytelling.
- Primary storytelling media: real food photography
- Secondary/support media: restrained UI icons
- Legacy custom illustrations: fallback/decorative only
2) Deprecation matrix (from T03)
Deprecate as primary visuals
/assets/hero/hero-kitchen-light.svg/assets/hero/hero-fresh-produce.svg/assets/food/curated/*/assets/category/illustrations/*
These are visually clean but feel stylized/childlike relative to modern recipe products.
Retain
/assets/category/icon-*.svg(small utility icons)/assets/food/placeholder-recipe*.svg(safe local fallback)/assets/empty-state/*.svg(temporary until photo-backed empty states are added)
3) Page-level photo strategy
Homepage
- Use one high-quality hero photo (landscape, 16:9 or 3:2) with warm food context.
- Optional supporting strip of 2–3 photos for social proof/variety.
- Avoid illustrated hero artwork for main CTA section.
Recipe list/grid
- Recipe cards should show photo thumbnails (4:3 preferred).
- If recipe has no image, use deterministic placeholder fallback.
- Keep overlays minimal (chip badges + subtle gradient for text legibility).
Recipe detail
- Hero image near top (16:9 preferred) with metadata chips.
- Support additional gallery images only if available; do not require for MVP.
- Fallback to placeholder for legacy/imported entries without images.
4) Asset architecture
New canonical path for photo-first pipeline:
frontend/public/assets/photos/manifest.jsonfrontend/public/assets/photos/{hero,list,detail,category,empty-state,credits}/
Manifest-first model:
- UI consumes slots by semantic keys, not hardcoded filenames.
- Each slot can specify:
localPath(vendored file in repo)remoteCandidate(approved source candidate)licenseattributionRequiredstatus
5) Sourcing and licensing policy
Recommended source order:
- Pexels (free commercial use, attribution generally not required)
- Unsplash (free use under Unsplash License; attribution recommended)
- Owned/internal photos (best legal clarity)
Guardrails:
- Validate license terms at download time and record snapshot metadata.
- Avoid editorial-only assets and recognizable private persons unless releases are clear.
- Keep a source record in manifest and, when required, add attribution notes in
assets/photos/credits/.
6) Icon direction (explicit)
- Standardize on
lucide-reactfor UI actions/navigation. - Icon role: functional affordance only (filter, search, timer, servings, favorite).
- Style: 18–20px for controls, 24px section accents, stroke 1.75–2.0, no emoji, no decorative food doodles.
7) Implementation readiness
This correction wave is implementation-ready for Wave 2.5 UI workers because:
- deprecations are explicit,
- photo slots are defined via manifest,
- legal/source workflow is documented,
- fallback behavior is preserved.
Ready-for-implementation: YES