# GlitchSlide Content Budget

This document defines content budgets for GlitchPlayer slide templates.

The goal is not just to keep slides short. The goal is to force clarity.

A good GlitchSlide should:

- express one visual idea
- support the spoken script rather than repeat it
- fit the template cleanly
- be short enough to scan instantly
- be specific enough that an AI can generate it reliably

These limits are for both human authors and AI agents.

## Core Principle

Every slide should answer one of these:

- What is the one thing I want the viewer to notice?
- What is the one comparison I want the viewer to hold?
- What is the one definition I want the viewer to remember?
- What is the one process I want the viewer to understand?

If a slide tries to do two or three of these at once, it should usually be split.

## Global Rules

Across all templates:

- Prefer one idea per slide.
- Do not restate the exact sentence currently being spoken.
- Assume the narration carries detail; the slide carries structure.
- Keep wording concrete and visual.
- Prefer nouns and verbs over abstract qualifiers.
- Avoid paragraphs unless the template is specifically meant for prose.
- If a slide uses an image, the image should do explanatory work, not decorative work.

## Character Budgets

These are hard or near-hard limits.

- `header`: target 8-28 characters, hard max 36
- `title`: target 12-36 characters, hard max 48
- `eyebrow`: target 6-18 characters, hard max 24
- `body`: target 18-48 characters, hard max 60
- `quote`: target 18-55 characters, hard max 72
- `definition`: target 20-55 characters, hard max 70
- `example`: target 16-45 characters, hard max 60
- `step label`: target 8-24 characters, hard max 32
- `chart label`: target 4-12 characters, hard max 14
- `latexString`: one expression only, hard max 80 characters unless clearly justified

Important:

- The hard max exists only for edge cases.
- The target range is the real design intention.

## Template Budgets

### 1. `SquareYellow`

Purpose:

- one strong image
- one short framing phrase

Fields:

- `header`
- `imageSrc`
- `imageAlt`

Budget:

- `header`: target 10-24 characters, hard max 32
- no body text
- image must carry the explanatory weight

Good:

- `GROWTH LOOKS FINE`
- `LIFE FEELS TIGHT`
- `OUTPUT IS NOT SECURITY`

Bad:

- `This chart suggests that maybe people do not experience economic growth as safety`

### 2. `FullscreenSplit`

Purpose:

- one image
- one short text block
- often used for transitions and seam masking

Fields:

- `eyebrow`
- `title`
- `body`
- `imageSrc`
- `imageAlt`
- `imagePosition`

Budget:

- `eyebrow`: target 6-14 characters
- `title`: target 16-34 characters, hard max 44
- `body`: target 18-42 characters, hard max 56
- title + body together should usually stay under 75 characters

Good:

- title: `Fullscreen hides the stitch`
- body: `The talk keeps moving underneath.`

Bad:

- title: `A fullscreen explanatory slide can be used to conceal the visible segment transition`

### 3. `EquationFocus`

Purpose:

- one mathematical expression
- one short framing line

Fields:

- `eyebrow`
- `title`
- `latexString`
- `annotation`

Budget:

- `title`: target 14-32 characters
- `latexString`: one expression only
- `annotation`: target 18-42 characters, hard max 56

Rules:

- no derivations
- no multi-line proofs
- no second equation unless the template changes
- use this slide only when the equation itself is the visual object

Good:

- title: `Definition of the mean`
- latex: `\\bar{x} = \\frac{1}{N}\\sum_{i=0}^{N} x_i`
- annotation: `Add values. Divide by count.`

### 4. `QuoteImage`

Purpose:

- a short line worth holding in memory
- reinforced by a meaningful image

Fields:

- `eyebrow`
- `quote`
- `attribution`
- `imageSrc`
- `imageAlt`
- `imagePosition`

Budget:

- `quote`: target 20-50 characters, hard max 70
- `attribution`: target 4-18 characters, hard max 24

Rules:

- prefer one sentence
- avoid long punctuation-heavy quotes
- the quote should be memorable enough to stand alone

### 5. `ChartSingle`

Purpose:

- one simple directional comparison

Fields:

- `eyebrow`
- `title`
- `body`
- `points[]`

Budget:

- `title`: target 14-30 characters
- `body`: target 12-36 characters, hard max 48
- number of bars: 3-5 preferred, hard max 6
- each `label`: target 4-10 characters

Rules:

- if the story requires 2+ caveats, this is the wrong template
- if the chart needs a legend, it is probably too complex
- if the spoken narration explains the trend, the body can be extremely short

### 6. `ProcessFlow`

Purpose:

- show a sequence
- show a pipeline

Fields:

- `eyebrow`
- `title`
- `steps[]`

Budget:

- `title`: target 14-34 characters
- steps: 3-5 preferred, hard max 6
- each step: target 8-22 characters, hard max 30

Rules:

- each step should be a short action phrase
- do not use full sentences
- if the process is too dense, break it into two slides

Good:

- `Write the script`
- `Record the talk`
- `Align slide cues`
- `Compare variants`

### 7. `DefinitionCard`

Purpose:

- define one important term

Fields:

- `eyebrow`
- `term`
- `definition`
- `example`

Budget:

- `term`: target 6-22 characters
- `definition`: target 20-50 characters, hard max 65
- `example`: target 16-40 characters, hard max 52

Rules:

- the definition should feel like a distilled sentence
- the example should be concrete, not another abstraction

## AI Authoring Strategy

An AI agent that knows the full script should not begin by writing slide text.

It should do this:

1. Segment the script into beats.
2. Decide whether a beat needs a slide at all.
3. For each beat, decide the job of the slide:
   - emphasize
   - compare
   - define
   - quantify
   - show process
   - frame transition
4. Choose the simplest template that can do that job.
5. Generate the shortest possible text that still makes the visual legible.
6. Generate or choose an image only if the image advances the concept.
7. Reject outputs that exceed the template budget.

The AI should think:

- What information is already handled by the narration?
- What should the viewer be able to grasp in under one second?
- What can be implied visually instead of written?

## AI Success Criteria

An AI agent is successful when it produces slides that:

- are shorter than a human expects
- fit the template cleanly
- create contrast with the spoken script instead of duplication
- feel intentional at a glance
- are consistent across many variants

The AI is not successful when it:

- fills every available text field
- writes explanatory paragraphs
- repeats what the speaker is already saying
- chooses verbose abstraction over concrete contrast
- generates decorative images unrelated to the spoken idea

## Content Selection Heuristics

When an AI has the full script, it should prefer:

- compression over coverage
- framing over redundancy
- contrast over completeness
- structure over explanation

Examples:

- If the script explains a formula, the slide should show the formula and one short gloss.
- If the script gives a long example, the slide should usually show only the key noun, image, or comparison.
- If the speaker is already listing steps verbally, the slide should show only the short step labels.

## Image Guidance

For templates with images:

- images should represent the concept, not merely the topic
- avoid generic “people in office” stock unless the point is collaboration itself
- prefer clear compositional silhouettes and readable subjects
- image prompts should be optimized for one strong central concept

Bad image prompt:

- `A professional office environment showing people working together in a modern setting`

Better image prompt:

- `Overhead crowd crossing a city square, motion blur, sense of pressure`

## Validation Rules

Before accepting a slide, a human or AI validator should check:

- does each field stay within budget?
- does the text visually fit the template?
- is the slide saying one thing?
- is the slide too close to the spoken line?
- does the image help?
- would removing 20% of the words improve it?

If the answer to the last question is yes, revise it.

## Recommended Future Enforcement

Later, GnommoEditor should encode these budgets in schema or validation rules.

That would let:

- human authors get inline warnings
- AI agents get explicit failure signals
- slide generation become more predictable

Recommended future shape:

- every template exposes field budgets
- editors validate them live
- AI generators receive the budgets as part of the prompt contract
- ranking systems can penalize overcrowded slides

## Bottom Line

The content budget is not an inconvenience.

It is the mechanism that forces both humans and AI to become visually intelligent.

Shorter slides are harder to write, but much easier to understand.
