Skill Tracer
Skills › HyperFrames › hyperframes › FRAME.md

FRAME.md

278 lines · skills/hyperframes/assets/frame-presets/cartesian/FRAME.md at a595755

Open on GitHub
1---
2version: alpha
3name: Cartesian — Frame (video / frame layer)
4description: >
5 Video-first companion to Cartesian's design.md. The unit is the frame (1920×1080). Atoms are
6 identical and sacred — the five-tone warm-stone palette, Playfair Display 400 + Inter, the
7 universal 1px taupe hairline as the only structural device, compass-drafted geometric rings,
8 and zero shadow / zero fill. Composition, frame scale, and aspect-ratio behavior are rewritten
9 for the frame. Restraint is the rule; motion is out of scope.
10unit: the frame — 1920×1080 primary; 9:16 and 1:1 documented
11principle: atoms are sacred · composition is free · numbers come from the script
13colors:
14 bg-primary: "#EDE8E0"
15 bg-secondary: "#E2DBD1"
16 text-primary: "#1A1A1A"
17 text-secondary: "#5A5A5A"
18 accent: "#8A8178"
19 line: "#B8B0A4"
20 white-overlay: "rgba(255,255,255,0.3)"
22typography:
23 # — reading ramp (Inter) —
24 body: { fontFamily: "Inter", cqw: 1.0, weight: 400, lineHeight: 1.6, color: "text-secondary" }
25 body-sm: { fontFamily: "Inter", cqw: 0.85, weight: 400, lineHeight: 1.6 }
26 subtitle: { fontFamily: "Inter", cqw: 1.3, weight: 400, lineHeight: 1.5 }
27 label: { fontFamily: "Inter", px: 14, weight: 500, tracking: "3px", upper: true, color: "accent" }
28 attribution: { fontFamily: "Inter", px: 15, weight: 400, tracking: "2px", upper: true, color: "accent" }
29 micro: { fontFamily: "Inter", px: 12, weight: 400, tracking: "2px", upper: true, color: "accent" }
30 # — display / hero ramp (Playfair Display 400, sentence case) —
31 h3: { fontFamily: "Playfair Display", cqw: 1.8, weight: 400, lineHeight: 1.1 }
32 timeline-headline:{ fontFamily: "Playfair Display", cqw: 1.9, weight: 400, lineHeight: 1.1 }
33 card-headline:{ fontFamily: "Playfair Display", cqw: 2.0, weight: 400, lineHeight: 1.15 }
34 stat-figure: { fontFamily: "Playfair Display", cqw: 3.0, weight: 400, lineHeight: 1.0 }
35 quote-mark: { fontFamily: "Playfair Display", cqw: 9.0, weight: 400, lineHeight: 0.5, color: "line" }
36 h2: { fontFamily: "Playfair Display", cqw: 4.0, weight: 400, lineHeight: 1.1 }
37 h1: { fontFamily: "Playfair Display", cqw: 6.2, weight: 400, lineHeight: 1.06 }
38 display: { fontFamily: "Playfair Display", cqw: 8.0, weight: 400, lineHeight: 1.04 }
40spacing:
41 pad-x: "7cqw"
42 pad-y: "5cqw"
43 gap-xl: "6cqw"
44 gap-lg: "5cqw"
46components:
47 hairline:
48 rule: "0.07cqw solid {colors.line}"
49 description: "The universal structural device — every separator (agenda rule, timeline connector, card border, stats top) is this 1px taupe line. No thick borders exist."
50 card:
51 backgroundColor: "{colors.white-overlay}"
52 border: "0.07cqw solid {colors.line}"
53 rounded: "0"
54 shadow: "none"
55 description: "Faint white-overlay fill (canvas bleeds through) is what makes a card distinct from a bare region."
56 card-icon:
57 border: "0.07cqw solid {colors.line}"
58 rounded: "50%"
59 size: "40px circle"
60 textColor: "{colors.accent}"
61 typography: "Playfair numeral/letter"
62 description: "Ringed circle mark."
63 agenda-row:
64 borderBottom: "0.07cqw solid {colors.line}"
65 typography: "{typography.h3} (numeral {colors.accent}, label {colors.text-primary})"
66 description: "Numeral left, label right over a taupe rule."
67 timeline:
68 borderTop: "0.07cqw solid {colors.line}"
69 typography: "{typography.timeline-headline} + {typography.body-sm}"
70 description: "A single taupe top rule across items — no nodes, no dots."
71 stats-cluster:
72 borderTop: "0.07cqw solid {colors.line}"
73 typography: "{typography.stat-figure} + uppercase {colors.accent} labels"
74 description: "Inline modest stat figures (no hero numeral)."
75 geo-ring:
76 border: "1px solid {colors.line} (inner dashed ::before ~70–80%)"
77 rounded: "50%"
78 size: "10–50cqw"
79 opacity: "0.2–0.5"
80 description: "Compass-construction rings behind content. 1–2 per frame, never more."
81 horizontal-accent:
82 backgroundColor: "{colors.text-primary}"
83 size: "~18cqw × 1px"
84 description: "The system's only INK-BLACK rule — a strong terminal accent on cover/closing, sparingly."
85 vertical-line:
86 backgroundColor: "{colors.line}"
87 size: "1px × full height, ~5cqw from edge"
88 opacity: "0.3–0.4"
89 description: "Drafting-paper alignment guide. Optional."
90 image-placeholder:
91 backgroundColor: "{colors.bg-secondary}"
92 mark: "crossed +30°/−30° 1px taupe diagonals (an X)"
93 typography: "small uppercase {typography.micro}"
94 description: "The signature image-not-wired mark."
95 team-photo:
96 backgroundColor: "{colors.bg-secondary}"
97 border: "0.07cqw solid {colors.line}"
98 rounded: "50%"
99 typography: "Playfair initial in {colors.accent}"
100 description: "Circular portrait frame."
101---
103# Cartesian — Frame (video / frame layer)

Cartesian — Frame (video / frame layer)

Raw lines 1 to 104
105## Overview
107Cartesian at frame scale is a **quiet museum-catalog editorial system** — restraint through 1px
108lines. Every structural separator is a single 1px taupe hairline; there are no thick borders, no
109fills (save the faint white-overlay card), no shadows, no rounded rectangles. Hierarchy comes from
110**type contrast and negative space**, and atmosphere from **compass-drafted geometric rings**
111drifting behind content.
113The voice is a literary pairing: **Playfair Display** at weight 400 (the thin-stroke didone, never
114bold, always sentence case) carries every headline, numeral, and quote mark in ink; **Inter**
115carries body in warm gray and labels in uppercase taupe with 2–3px tracking. The palette is five
116warm stones plus ink — no populist accent color exists. The correct density is **sparse and
117breathing**: one clear idea, well-framed, on stone paper.
119**Key characteristics at frame scale:**
121- **1px taupe hairline** as the universal structural device — every separator is this one line.
122- **Playfair Display 400** (ink, sentence case) for display; **Inter** body (gray) + labels (taupe, tracked).
123- **Five warm stones + ink** — no red/blue/green; the only "color" is type contrast.
124- **Compass-drafted geometric rings** (solid + dashed, 20–50% opacity) behind content for mood.
125- **Flat** — zero shadow, zero rounded rectangle (circles only); the lone ink line is the `horizontal-accent`.
126- **Sparse and breathing** — generous negative space; crowding reads as broken.

Overview

Cartesian at frame scale is a quiet museum-catalog editorial system — restraint through 1px lines. Every structural separator is a single 1px taupe hairline; there are no thick borders, no fills (save the faint white-overlay card), no shadows, no rounded rectangles. Hierarchy comes from type contrast and negative space, and atmosphere from compass-drafted geometric rings drifting behind content.

The voice is a literary pairing: Playfair Display at weight 400 (the thin-stroke didone, never bold, always sentence case) carries every headline, numeral, and quote mark in ink; Inter carries body in warm gray and labels in uppercase taupe with 2–3px tracking. The palette is five warm stones plus ink — no populist accent color exists. The correct density is sparse and breathing: one clear idea, well-framed, on stone paper.

Key characteristics at frame scale:

  • 1px taupe hairline as the universal structural device — every separator is this one line.
  • Playfair Display 400 (ink, sentence case) for display; Inter body (gray) + labels (taupe, tracked).
  • Five warm stones + ink — no red/blue/green; the only "color" is type contrast.
  • Compass-drafted geometric rings (solid + dashed, 20–50% opacity) behind content for mood.
  • Flat — zero shadow, zero rounded rectangle (circles only); the lone ink line is the horizontal-accent.
  • Sparse and breathing — generous negative space; crowding reads as broken.
Raw lines 105 to 127
128## The Frame
130### Frame Craft Bar
132Three eyeball tests gate every frame before any structural check:
134- **Squint** — one Playfair element dominates at **3–6× its nearest neighbor**; the serif/sans + size contrast carries hierarchy, not weight.
135- **Silence** — declarative frames read **55–60% empty**; Cartesian has **no dense frame** — even the agenda/index breathes (the system breaks when crowded).
136- **Restraint** — **at most two geo rings** per frame; the single INK-BLACK `horizontal-accent` rule used sparingly; no populist accent color ever.
137- **Reference** — aim at a **Vignelli editorial / Cooper Hewitt catalogue / pencil-and-tracing-paper plan**; failure looks like a **shadowed, rounded-card SaaS deck**.
139- **Primary:** 1920×1080 (16:9). Display authored in **`cqw`** (`px ÷ 1920 × 100 = cqw`).
140- **Vertical:** 1080×1920 (9:16). **Square:** 1080×1080 (1:1).
141- **Safe area:** `pad-x` (7cqw) generous gutters; geometry may bleed off an edge.
143**The container law (load-bearing).** Every frame ground sets `container-type: size`; ALL
144frame-relative units are `cqw`/`cqh` against it — never `vw`. The 1px hairlines and geo rings hold
145their proportion against the frame at any render size.

Frame Craft Bar

Three eyeball tests gate every frame before any structural check:

  • Squint — one Playfair element dominates at 3–6× its nearest neighbor; the serif/sans + size contrast carries hierarchy, not weight.
  • Silence — declarative frames read 55–60% empty; Cartesian has no dense frame — even the agenda/index breathes (the system breaks when crowded).
  • Restraint — at most two geo rings per frame; the single INK-BLACK horizontal-accent rule used sparingly; no populist accent color ever.
  • Reference — aim at a Vignelli editorial / Cooper Hewitt catalogue / pencil-and-tracing-paper plan; failure looks like a shadowed, rounded-card SaaS deck.
  • Primary: 1920×1080 (16:9). Display authored in **cqw** (px ÷ 1920 × 100 = cqw).
  • Vertical: 1080×1920 (9:16). Square: 1080×1080 (1:1).
  • Safe area: pad-x (7cqw) generous gutters; geometry may bleed off an edge.

The container law (load-bearing). Every frame ground sets container-type: size; ALL frame-relative units are cqw/cqh against it — never vw. The 1px hairlines and geo rings hold their proportion against the frame at any render size.

Raw lines 130 to 146
147## Colors
149Tokens identical to the source. `{colors.bg-primary}` is the ground; `{colors.text-primary}` ink is
150headlines and the one black accent rule; `{colors.text-secondary}` gray is body; `{colors.accent}`
151taupe is labels, numerals, small text; `{colors.line}` taupe is every 1px structural border.
152`{colors.bg-secondary}` is the only secondary fill (placeholders, photo frames). **No populist
153accent** — when emphasis is needed, grow the type, switch sans→serif, or add a single
154`horizontal-accent` ink line. Headlines are never taupe; small text is never ink.

Colors

Tokens identical to the source. {colors.bg-primary} is the ground; {colors.text-primary} ink is headlines and the one black accent rule; {colors.text-secondary} gray is body; {colors.accent} taupe is labels, numerals, small text; {colors.line} taupe is every 1px structural border. {colors.bg-secondary} is the only secondary fill (placeholders, photo frames). No populist accent — when emphasis is needed, grow the type, switch sans→serif, or add a single horizontal-accent ink line. Headlines are never taupe; small text is never ink.

Raw lines 147 to 155
156## Typography
158Two ramps. The **reading ramp** (Inter body 1.0cqw gray, labels in px taupe) carries copy + chrome;
159the **display ramp** (Playfair `h3` 1.8cqw → `display` 8.0cqw, all weight 400) carries every headline.
161- **Legibility floor:** any load-bearing line ≥ **1.4cqw**; px labels are chrome only.
162- **Fit-to-measure:** size the headline to its length. Cap the block at **≤ 78cqw**; ≤3 words → `display`/`h1`; 4–6 → `h2`; 7+ → `h3`. Cartesian has no hero-stat numeral — stats stay modest (`stat-figure` 3cqw).
163- **Playfair at 400, ink, sentence case** — never bold, never uppercase, never taupe. **Inter labels uppercase, 2–3px tracked, taupe.** Italic via Playfair italic for emphasis only.

Typography

Two ramps. The reading ramp (Inter body 1.0cqw gray, labels in px taupe) carries copy + chrome; the display ramp (Playfair h3 1.8cqw → display 8.0cqw, all weight 400) carries every headline.

  • Legibility floor: any load-bearing line ≥ 1.4cqw; px labels are chrome only.
  • Fit-to-measure: size the headline to its length. Cap the block at ≤ 78cqw; ≤3 words → display/h1; 4–6 → h2; 7+ → h3. Cartesian has no hero-stat numeral — stats stay modest (stat-figure 3cqw).
  • Playfair at 400, ink, sentence case — never bold, never uppercase, never taupe. Inter labels uppercase, 2–3px tracked, taupe. Italic via Playfair italic for emphasis only.
Raw lines 156 to 164
165## Depth & Surface
167The flat plane is the only technique. Hierarchy from:
169- **Type contrast** — Playfair serif vs Inter sans; the 8cqw→0.7cqw scale.
170- **1px taupe hairlines** — every divider, card outline, timeline rule, photo ring.
171- **Tone** — ink vs gray vs taupe.
172- **Negative space** — generous padding.
173- **Geometric atmosphere** — compass rings that suggest depth without creating it.
175**Ceiling:** no box-shadow, no elevated card, no gradient, no rounded rectangle. The single ink line
176(`horizontal-accent`) is the only non-taupe rule.

Depth & Surface

The flat plane is the only technique. Hierarchy from:

  • Type contrast — Playfair serif vs Inter sans; the 8cqw→0.7cqw scale.
  • 1px taupe hairlines — every divider, card outline, timeline rule, photo ring.
  • Tone — ink vs gray vs taupe.
  • Negative space — generous padding.
  • Geometric atmosphere — compass rings that suggest depth without creating it.

Ceiling: no box-shadow, no elevated card, no gradient, no rounded rectangle. The single ink line (horizontal-accent) is the only non-taupe rule.

Raw lines 165 to 177
178## Shapes
180- **50% (circle)** — card-icon, team-photo, nav-dot, every geo ring.
181- **0** — everything else; soft-rounded corners do not exist.

Shapes

  • 50% (circle) — card-icon, team-photo, nav-dot, every geo ring.
  • 0 — everything else; soft-rounded corners do not exist.
Raw lines 178 to 182
183## Components
185- **hairline** — the universal 1px taupe separator (the identity).
186- **card** (1px taupe + white-overlay) / **card-icon** (ringed circle) / **agenda-row** / **timeline** (line, no nodes) / **stats-cluster** — all built on the hairline.
187- **geo-ring** — compass decoration (solid + dashed), 1–2 per frame. **horizontal-accent** — the one ink line, sparingly. **vertical-line** — drafting guide.
188- **image-placeholder** (crossed-X) / **team-photo** (ringed initial) — the stone-fill placeholders.

Components

  • hairline — the universal 1px taupe separator (the identity).
  • card (1px taupe + white-overlay) / card-icon (ringed circle) / agenda-row / timeline (line, no nodes) / stats-cluster — all built on the hairline.
  • geo-ring — compass decoration (solid + dashed), 1–2 per frame. horizontal-accent — the one ink line, sparingly. vertical-line — drafting guide.
  • image-placeholder (crossed-X) / team-photo (ringed initial) — the stone-fill placeholders.
Raw lines 183 to 189
190## Frame Treatments
192> Recipe: ground · container · composes · focal · chrome · accent · silence · Fixed/Free · density.
193> Every frame is sparse and breathing; 1–2 geo decorations max.

Frame Treatments

Recipe: ground · container · composes · focal · chrome · accent · silence · Fixed/Free · density. Every frame is sparse and breathing; 1–2 geo decorations max.
Raw lines 190 to 194
195### 1 · Cover (identity · move: serif + compass ring · left)
197**Ground** `{colors.bg-primary}`, `pad-x`. **Composes** geo-ring (right, ~34cqw, solid+dashed), vertical-line (left), label, display/h1. **Focal** a 2–3 line Playfair `display`/`h1` headline in ink (italic on the key word), left-anchored, with a taupe `label` above and an Inter subtitle below. **Chrome** optional bottom meta row (Playfair value + taupe label). **Accent** the geo ring; optionally one `horizontal-accent` ink line (if it clears the meta). **Silence** ~55% empty. **Fixed** Playfair 400 ink sentence-case, ≤2 geo elements, 1px lines. **Free** title, ring placement, meta. **Density** sparse.

1 · Cover (identity · move: serif + compass ring · left)

Ground {colors.bg-primary}, pad-x. Composes geo-ring (right, ~34cqw, solid+dashed), vertical-line (left), label, display/h1. Focal a 2–3 line Playfair display/h1 headline in ink (italic on the key word), left-anchored, with a taupe label above and an Inter subtitle below. Chrome optional bottom meta row (Playfair value + taupe label). Accent the geo ring; optionally one horizontal-accent ink line (if it clears the meta). Silence ~55% empty. Fixed Playfair 400 ink sentence-case, ≤2 geo elements, 1px lines. Free title, ring placement, meta. Density sparse.

Raw lines 195 to 198
199### 2 · Agenda / Index (index · move: hairline list · left)
201**Ground** `{colors.bg-primary}`, `pad-x`. **Composes** label, h2, agenda-rows. **Focal** a Playfair `h2` over 4–6 agenda rows (Playfair numeral in taupe + Playfair label in ink), each on a 1px taupe rule. **Chrome** taupe `label` eyebrow. **Accent** none — taupe numerals carry it. **Silence** moderate; rows generously spaced. **Fixed** 1px taupe rules, Playfair 400. **Free** items, count. **Density** standard (sparse rows).

2 · Agenda / Index (index · move: hairline list · left)

Ground {colors.bg-primary}, pad-x. Composes label, h2, agenda-rows. Focal a Playfair h2 over 4–6 agenda rows (Playfair numeral in taupe + Playfair label in ink), each on a 1px taupe rule. Chrome taupe label eyebrow. Accent none — taupe numerals carry it. Silence moderate; rows generously spaced. Fixed 1px taupe rules, Playfair 400. Free items, count. Density standard (sparse rows).

Raw lines 199 to 202
203### 3 · Pull Quote (quote · move: centered statement · compass ring)
205**Ground** `{colors.bg-primary}`, centered. **Composes** geo-ring (centered dashed, ~26cqw), quote-mark, h2/display-quote, attribution. **Focal** a 2-line Playfair quote in ink, centered, under a 50%-taupe Playfair quote-mark; a taupe uppercase attribution beneath. **Accent** the faint centered ring. **Silence** ~60% — deliberately open. **Fixed** Playfair 400, one ring, centered. **Free** quote, attribution. **Density** sparse.

3 · Pull Quote (quote · move: centered statement · compass ring)

Ground {colors.bg-primary}, centered. Composes geo-ring (centered dashed, ~26cqw), quote-mark, h2/display-quote, attribution. Focal a 2-line Playfair quote in ink, centered, under a 50%-taupe Playfair quote-mark; a taupe uppercase attribution beneath. Accent the faint centered ring. Silence ~60% — deliberately open. Fixed Playfair 400, one ring, centered. Free quote, attribution. Density sparse.

Raw lines 203 to 206
207### 4 · Closing Plate (closer · move: centered ring · centered)
209**Ground** `{colors.bg-primary}`, centered. **Composes** geo-ring (centered, ~40cqw, solid+dashed), label, h1/display, horizontal-accent. **Focal** a 1–2 line Playfair sign-off in ink (italic key word), centered inside the largest compass ring; a short ink `horizontal-accent` beneath. **Accent** the ring + the one ink line. **Silence** ~60%. **Fixed** Playfair 400, centered, ≤2 geo. **Free** sign-off, ring scale. **Density** sparse.

4 · Closing Plate (closer · move: centered ring · centered)

Ground {colors.bg-primary}, centered. Composes geo-ring (centered, ~40cqw, solid+dashed), label, h1/display, horizontal-accent. Focal a 1–2 line Playfair sign-off in ink (italic key word), centered inside the largest compass ring; a short ink horizontal-accent beneath. Accent the ring + the one ink line. Silence ~60%. Fixed Playfair 400, centered, ≤2 geo. Free sign-off, ring scale. Density sparse.

Raw lines 207 to 210
211### 5 · Two-Column Editorial (content · move: asymmetric split · left)
213**Ground** `{colors.bg-primary}`, `pad-x`, two columns with `gap-xl`. **Composes** label, h2, body, image-placeholder (crossed-X) or card. **Focal** a Playfair `h2` + Inter body in the text column; an image-placeholder or card in the other. **Accent** none. **Silence** generous gutter. **Fixed** 1px taupe card/placeholder borders, white-overlay fill. **Free** which side is text, body copy. **Density** standard.

5 · Two-Column Editorial (content · move: asymmetric split · left)

Ground {colors.bg-primary}, pad-x, two columns with gap-xl. Composes label, h2, body, image-placeholder (crossed-X) or card. Focal a Playfair h2 + Inter body in the text column; an image-placeholder or card in the other. Accent none. Silence generous gutter. Fixed 1px taupe card/placeholder borders, white-overlay fill. Free which side is text, body copy. Density standard.

Raw lines 211 to 214
215### 6 · Stats / Timeline (data · move: hairline rail · left)
217**Ground** `{colors.bg-primary}`, `pad-x`. **Composes** label, h3, stats-cluster or timeline. **Focal** a modest Playfair stat row (or a 1px-rule timeline with year + headline + body, no nodes), framed by a 1px taupe top rule. **Accent** none. **Silence** moderate. **Fixed** modest stat scale, hairline rule, no nodes. **Free** figures, phases. **Density** standard.

6 · Stats / Timeline (data · move: hairline rail · left)

Ground {colors.bg-primary}, pad-x. Composes label, h3, stats-cluster or timeline. Focal a modest Playfair stat row (or a 1px-rule timeline with year + headline + body, no nodes), framed by a 1px taupe top rule. Accent none. Silence moderate. Fixed modest stat scale, hairline rule, no nodes. Free figures, phases. Density standard.

Raw lines 215 to 218
219## Composition Rules

Composition Rules

Raw lines 219 to 220
221### Do
223- Use a **single 1px taupe line** for every separator — the hairline is the identity.
224- Set every **Playfair headline at 400, ink, sentence case**; render labels taupe, uppercase, 2–3px tracked.
225- Layer **one or two compass rings** (solid + dashed, 20–50% opacity) behind content for atmosphere.
226- Let frames **breathe** — sparse, generous negative space; 55–60% empty on declarative frames.
227- Lean centered on quote/closer; asymmetric/left on cover/agenda/editorial. Use `bg-secondary` for placeholder fills.

Do

  • Use a single 1px taupe line for every separator — the hairline is the identity.
  • Set every Playfair headline at 400, ink, sentence case; render labels taupe, uppercase, 2–3px tracked.
  • Layer one or two compass rings (solid + dashed, 20–50% opacity) behind content for atmosphere.
  • Let frames breathe — sparse, generous negative space; 55–60% empty on declarative frames.
  • Lean centered on quote/closer; asymmetric/left on cover/agenda/editorial. Use bg-secondary for placeholder fills.
Raw lines 221 to 228
229### Don't
231- Don't introduce a populist accent color — stone and ink only.
232- Don't bold Playfair, render headlines in taupe, or use thick (2px+) borders.
233- Don't add shadows, elevated cards, or rounded rectangles (circles only).
234- Don't crowd the frame — packed layouts read as broken.
235- Never more than two geo decorations per frame; don't blow a headline edge-to-edge.

Don't

  • Don't introduce a populist accent color — stone and ink only.
  • Don't bold Playfair, render headlines in taupe, or use thick (2px+) borders.
  • Don't add shadows, elevated cards, or rounded rectangles (circles only).
  • Don't crowd the frame — packed layouts read as broken.
  • Never more than two geo decorations per frame; don't blow a headline edge-to-edge.
Raw lines 229 to 236
237## Aspect-Ratio Behavior
239| Treatment | 16:9 | 9:16 | 1:1 |
240| -------------------- | -------------------------- | ----------------------------------- | --------------------------- |
241| Cover | headline left, ring right | headline top, ring below | headline upper, ring behind |
242| Agenda / Index | h2 + rows | h2 + rows (tighter) | h2 + rows |
243| Pull Quote | centered, ring behind | centered, taller | centered |
244| Closing Plate | centered in ring | centered, ring scaled | centered |
245| Two-Column Editorial | text + visual side-by-side | stacked (collapse) | stacked |
246| Stats / Timeline | horizontal rail | vertical stack (drop timeline rule) | compact |
248Generous `pad-x` holds on the short edge; re-step display per ratio above the 1.4cqw floor. On
2499:16, the timeline rule loses meaning when stacked — switch to a vertical list (per source).

Aspect-Ratio Behavior

Treatment16:99:161:1
Coverheadline left, ring rightheadline top, ring belowheadline upper, ring behind
Agenda / Indexh2 + rowsh2 + rows (tighter)h2 + rows
Pull Quotecentered, ring behindcentered, tallercentered
Closing Platecentered in ringcentered, ring scaledcentered
Two-Column Editorialtext + visual side-by-sidestacked (collapse)stacked
Stats / Timelinehorizontal railvertical stack (drop timeline rule)compact

Generous pad-x holds on the short edge; re-step display per ratio above the 1.4cqw floor. On 9:16, the timeline rule loses meaning when stacked — switch to a vertical list (per source).

Raw lines 237 to 250
251## Approved Entities
253No real customers, logos, or vendors are defined in the source — render any such mark as a
254placeholder (the crossed-X image-placeholder, or a ringed initial for portraits).

Approved Entities

No real customers, logos, or vendors are defined in the source — render any such mark as a placeholder (the crossed-X image-placeholder, or a ringed initial for portraits).

Raw lines 251 to 255
256## Numerals & Claims (hard rule)
258Never invent figures, dates, or counts at frame scale. Render slots as `— figure —`, `{metric}`.
259Stats and timeline years carry placeholders until the script supplies them. Agenda ordinals
260(01, 02…) are decorative and may be sequential.

Numerals & Claims (hard rule)

Never invent figures, dates, or counts at frame scale. Render slots as — figure —, {metric}. Stats and timeline years carry placeholders until the script supplies them. Agenda ordinals (01, 02…) are decorative and may be sequential.

Raw lines 256 to 261
262## Pre-Render Self-Audit
264- **Squint** — one Playfair element dominates; the serif/sans contrast carries hierarchy.
265- **Silence** — declarative frames 55–60% empty; nothing is crowded.
266- **Palette** — five stones + ink only; no populist accent; headlines ink, labels taupe.
267- **Lines** — every separator is a 1px taupe hairline; the only ink line is `horizontal-accent`.
268- **Type** — Playfair 400 sentence-case, fit-to-measure; labels uppercase 2–3px; ≥1.4cqw floor.
269- **Depth** — 0 shadow, 0 rounded rectangle; ≤2 geo rings per frame.
270- **Anchor** — centered on quote/closer, left/asymmetric on cover/agenda/editorial; no 3 in a row alike.
271- **Fabrication** — every numeral traces to the script, else placeholder.

Pre-Render Self-Audit

  • Squint — one Playfair element dominates; the serif/sans contrast carries hierarchy.
  • Silence — declarative frames 55–60% empty; nothing is crowded.
  • Palette — five stones + ink only; no populist accent; headlines ink, labels taupe.
  • Lines — every separator is a 1px taupe hairline; the only ink line is horizontal-accent.
  • Type — Playfair 400 sentence-case, fit-to-measure; labels uppercase 2–3px; ≥1.4cqw floor.
  • Depth — 0 shadow, 0 rounded rectangle; ≤2 geo rings per frame.
  • Anchor — centered on quote/closer, left/asymmetric on cover/agenda/editorial; no 3 in a row alike.
  • Fabrication — every numeral traces to the script, else placeholder.
Raw lines 262 to 272
273## Known Gaps
275- **Motion intentionally out of scope.** frame.md specifies composition only; the 0.6s fade in the source is a deck mechanic.
276- **Playfair Display + Inter via Google Fonts.** CJK pairing (Noto Serif SC 700/400) carries over; Playfair has no Hanzi italic — substitute weight/taupe for emphasis.
277- **9:16 / 1:1 are guidance**; verify the legibility floor and that the timeline collapses to a vertical list.
278- Geo rings, the crossed-X placeholder, and the dashed inner ring are CSS-only; no external imagery is required.

Known Gaps

  • Motion intentionally out of scope. frame.md specifies composition only; the 0.6s fade in the source is a deck mechanic.
  • Playfair Display + Inter via Google Fonts. CJK pairing (Noto Serif SC 700/400) carries over; Playfair has no Hanzi italic — substitute weight/taupe for emphasis.
  • 9:16 / 1:1 are guidance; verify the legibility floor and that the timeline collapses to a vertical list.
  • Geo rings, the crossed-X placeholder, and the dashed inner ring are CSS-only; no external imagery is required.
Raw lines 273 to 278