3.0 KiB
3.0 KiB
Visual Asset Audit — T03 (Asset Pack)
Date: 2026-03-26
Task: T03 — Visual Asset Pack
Owner: agent-assets
Summary
Implemented a legal-safe asset pack under frontend/public/assets/ to support the redesign with:
- Food imagery placeholders
- Category illustrations/icons
- Empty-state graphics
- Placeholder strategy for missing images
All new visual files are simple, in-repo SVG illustrations generated specifically for this project. No copyrighted third-party photos or icons were imported.
Asset Inventory
Food placeholders
/assets/food/placeholder-recipe.svg(wide hero fallback)/assets/food/placeholder-recipe-4x3.svg(list/card ratio fallback)/assets/food/placeholder-recipe-1x1.svg(square thumb fallback)/assets/food/placeholder-upload-dropzone.svg(upload UI placeholder)
Category icons
/assets/category/icon-breakfast.svg/assets/category/icon-lunch.svg/assets/category/icon-dinner.svg/assets/category/icon-dessert.svg/assets/category/icon-snack.svg
Empty-state graphics
/assets/empty-state/no-recipes.svg/assets/empty-state/no-favorites.svg/assets/empty-state/no-results-search.svg
Source & Attribution Notes
- Source: Created in-house (manual SVG composition)
- Attribution required: None
- Third-party dependencies: None for these files
- Legal status: Safe to use and modify within this repository
Icon Strategy
Current strategy for redesign wave:
- Use lightweight, project-owned SVG icons for category visuals and illustrative states
- Keep semantic UI icons in code (emoji/text) where already present to avoid functional churn during visual phase
- Optionally standardize on one icon library in a later task (e.g., Lucide React) if/when design system tokenization introduces centralized icon components
Placeholder Strategy (Missing Images)
When recipe images are missing or fail to load:
- Primary display: Use
/assets/food/placeholder-recipe-4x3.svgfor list cards - Detail hero fallback: Use
/assets/food/placeholder-recipe.svg - Square contexts (avatars/thumbs): Use
/assets/food/placeholder-recipe-1x1.svg - Upload workflows: Show
/assets/food/placeholder-upload-dropzone.svgbefore image selection - Error fallback: On image load error, swap
srcto matching placeholder and set descriptivealttext (e.g.,"Recipe image placeholder")
Recommended accessibility behavior:
- Keep
alttext contextual to the recipe title when available - For decorative empty-state graphics, use empty alt (
alt="") plus nearby descriptive copy
Usage Guidance
- Public URL pattern:
/assets/<group>/<file>.svg - Prefer SVG scaling with CSS
object-fit: coverfor card contexts - Keep placeholders as deterministic defaults so UI is never image-empty
Follow-up Suggestions
- Wire fallback logic in card/detail components (T04–T06)
- Add visual regression screenshots once integrated
- If future photography is required, only use assets with explicit commercial licenses and record attribution here