# AI Performance Training — Visual System (SPEC)

> Status: v1. APT uses NO illustration. The brand has TWO visual modes only: **photographic** (athlete-alone, industrial, B&W) and **vector data graphics** (output scorecards, before/after tables, performance rails, waveforms). The Golden Atomic Brand References in `../golden-atomic-brand-references/` are the canonical set; this spec defines how to add to it so every new asset lands in the same world.

## The job

A reusable visual system that carries the APT register — an elite training facility × an AI lab × a special forces program — across heroes, section graphics, social, slides, and broadcast. Generated through one funnel: the master prompt + a per-asset description + the reference set, so identity rides in stable artifacts and only the per-asset content varies.

## NO illustration

APT has no illustration layer. This is a deliberate constraint. Illustration softens the brand into a consultancy or coaching aesthetic. APT is a performance training program. Everything is either photography (real world, real athletes, real operators) or engineered data graphics (real numbers, real metrics). The line between the two is clean. Do not cross it.

## Inputs (the generation layer)

- **Master prompt:** `../master-prompt.md` (paste first, every render).
- **Banned terms:** `../banned-terms.md` (enforce every render).
- **Reference set:** the Lightning Bolt mark (`../../logos/raster/mark-bolt-yellow.png`) and the nearest existing GABR. Pass these as reference images so the dark palette, the one accent, and the type stay locked.
- **Model:** OpenAI gpt-image-2 via the `chatgpt-images` skill, or Nano Banana Pro via `nano-banana-pro`. Both accept `--input-image` references. **Vector graphics (scorecards, rails, waveforms) are authored as SVG** for crispness — edit the source directly rather than generating.

## Canvas + format

- **Heroes:** 1536x1024 (landscape), composed so a left scrim can carry an uppercase grotesk headline on the live site.
- **Section graphics / diagrams:** SVG source; framed on-site with a 1px steel rule.
- **Social square:** 1:1. **Stat card:** 1:1 or 4:5.
- **Founder/athlete portraits:** black-and-white photography only, subject alone. Never colorize, never illustrate, never a smiling team.

## The asset types in this universe

1. **Athlete-alone hero** (photographic): a single founder/executive in an empty training facility / control room / dark studio, B&W, one Exit-Yellow anchor.
2. **Output scorecard** (vector): before/after output per employee, hours freed, revenue per employee delta.
3. **Before/after table** (vector): UNTRAINED → APT-TRAINED, two columns, the "after" in yellow.
4. **Performance metric rail** (vector): UNTRAINED → AWARE → PRACTICING → PERFORMING → ELITE.
5. **Team dashboard** (vector): multiple individual-contributor metrics on one dark surface.
6. **Waveform chart** (vector): output over time, inflection point in Exit Yellow.
7. **Stat card / social** (vector): one mono number, one yellow accent, faint Lightning Bolt watermark.
8. **Broadcast** (vector): podcast lower-third plate.

## Discipline

- Version-control every prompt next to its output.
- Curate golden examples: when a render nails the register, it becomes a GABR and is passed as a reference on the next render.
- Run an alignment audit after each batch: if a render sharpened the palette or motif, pull `BRAND.md` and `brand.json` up to match.
- **Stamp the real wordmark** on finished/distributed assets; never let the model draw the wordmark text from scratch.

## Done when

Handing the master prompt + reference set to an agent and asking for a hero, a scorecard, and a social square returns three assets that are unmistakably one brand — dark, engineered, athletic, Exit-Yellow at the one value moment — without further direction.
