# Stage S5: Asset Reference Sheets

You are creating production reference sheets for a multi-episode microdrama series. These sheets will be used by the video generation pipeline to maintain visual consistency across all episodes.

## Story Bible

Read: `{bible_path}`

## Visual Style

Read: `{style_path}`

Also study the style board at `references/style/style_board.jpg` and title artwork at `references/style/title_artwork.jpg` — all asset sheets must be visually consistent with these.

## Task

Create an **assets plan** listing every character, location, and key object that needs a reference sheet. For each asset, write a detailed NanoBanana prompt.

### Asset Types

**Characters** — 7-panel turnaround sheet:
- Top row: 4 full-body standing views (front, left profile, right profile, back)
- Bottom row: 3 close-up portraits (front, left profile, right profile)
- A-pose, consistent scale, clean panel separation, neutral background
- Identity must be perfectly consistent across all 7 panels
- Art style MUST match the style board — same rendering, line quality, color approach

**Locations** — Multi-angle reference sheet:
- Main view (large, top): Wide establishing shot
- Three smaller views below: Different angles/details of the same location
- NO PEOPLE in the image (empty environment only)
- Consistent lighting and color palette matching style board

**Objects** — Multi-angle product sheet:
- Main view (largest, centered): Clear view of the object
- Three smaller views: Different angles + detail close-ups
- Consistent condition, textures, lighting across all panels

### Dependencies

Some assets depend on others for visual consistency. For example:
- A vehicle interior location depends on the vehicle object (must look like the same vehicle)
- A location may contain key objects (an office with a telephone on the floor)

Specify `depends_on` in the plan — a list of other asset IDs whose reference sheets should be used as visual reference when generating this asset. The pipeline will pass those sheets as reference images to the image generator.

**Rules:**
- Objects are usually standalone (no dependencies)
- Characters may depend on signature objects (weapon, tool, uniform detail)
- Locations often depend on objects that appear in them (vehicles, furniture, devices)
- Only list direct, meaningful dependencies — not everything tangentially related

### Prompt Structure for Characters

```
Create a professional character reference sheet in [STYLE FROM STYLE.JSON] style.
Use a clean, neutral plain background. Present as a technical model turnaround.

CHARACTER: [Detailed description — age, build, face, hair, clothing, accessories, distinguishing features.
Use specific colors from the style palette.]

Arrange into two horizontal rows.
Top row: four full-body standing views side-by-side: front view, left profile, right profile, back view.
Bottom row: three detailed close-up portraits: front portrait, left profile portrait, right profile portrait.

Maintain perfect identity consistency across every panel. Relaxed A-pose, consistent scale,
accurate anatomy, clear silhouette. Even spacing, clean panel separation, uniform framing.
Consistent lighting across all panels. Crisp, print-ready reference sheet.
```

### Prompt Structure for Locations

```
Create a location reference sheet in [STYLE FROM STYLE.JSON] style.
LOCATION: [Detailed description — architecture, lighting, atmosphere, key details, colors]
Layout:
- Main view (large, top): Wide establishing shot
- Three smaller views below: Different angles/details
NO PEOPLE in the image. Environment only.
Consistent lighting and color palette. Clean presentation for video production reference.
```

### Prompt Structure for Objects

```
Create an object reference sheet in [STYLE FROM STYLE.JSON] style.
OBJECT: [Detailed description — materials, condition, size context, distinguishing features]
- Main view (largest, centered)
- Three smaller views: front angle, side angle, detail close-up
Consistent across all views. Even studio lighting. Crisp, detailed reference sheet.
```

## Output

Write these files:

1. **assets_plan.json** — Complete asset plan:
```json
{
  "characters": [
    {
      "id": "character_id",
      "name": "Character Name",
      "role": "protagonist/supporting/minor",
      "depends_on": [],
      "prompt_file": "characters/character_id/prompt.txt",
      "description_file": "characters/character_id/description.md"
    }
  ],
  "locations": [
    {
      "id": "location_id",
      "name": "Location Name",
      "depends_on": ["object_id_that_appears_here"],
      "prompt_file": "locations/location_id/prompt.txt"
    }
  ],
  "objects": [
    {
      "id": "object_id",
      "name": "Object Name",
      "depends_on": [],
      "prompt_file": "objects/object_id/prompt.txt"
    }
  ]
}
```

2. For each asset, write the NanoBanana prompt file at the path specified in the plan.

3. For each character, write a **description.md** at the path specified in the plan, with:
   - Physical Appearance (detailed)
   - Clothing (specific, with colors)
   - Voice (age, gender, timbre, default_tone, default_pacing — the voice signature)
   - Personality Notes
   - Continuity Notes (appearance changes across episodes)

4. **user_message.txt** — Summary of all assets being generated.
