# Design Critique — AI Art Director (10 Dimensions)

## What It Does
Scores a UI design screenshot across 10 dimensions using Gemini Vision. Returns structured scores, weaknesses with specific fixes, average, and minimum.

## Engine API (programmatic)
```javascript
const critique = require('./engine');

const res = await critique.critiqueDesign({
  imagePath: './screenshot.png',
  context: 'Mobile home screen for a recipe app, brand colors: green + white',
});
// Returns: { ok, data: { scores: {10 dims}, weaknesses: [...], average, minimum }, meta: {...} }
```

## 10 Dimensions (each scored 1-10)
EMOTIONAL_IMPACT, TYPOGRAPHY, COLOR, COMPOSITION, IMAGERY, BRAND, INNOVATION, CRAFT, CULTURAL_FIT, SCROLL_NARRATIVE

Score 7 = "good enough for App Store feature". Below 8 gets a specific fix recommendation.

## Critical Rules
1. Every function returns `{ ok, data, error, meta }` — universal result contract.
2. Be harsh — scores are meant to drive improvement, not praise.
3. Retries once on 429/500 errors.

## Env Vars
- `GEMINI_API_KEY` — Google Gemini API key (required)
