Files
heygen-com--hyperframes/skills/hyperframes-creative/frame-presets/editorial-forest/FRAME.md
T
wehub-resource-sync 85453da49f
regression / regression-shards (style-16-prod style-9-prod style-17-prod iframe-render-compat variables-prod mp4-h265-sdr, shard-4) (push) Has been cancelled
regression / regression-shards (style-4-prod style-11-prod style-2-prod animejs-adapter typegpu-adapter parallel-capture-regression, shard-5) (push) Has been cancelled
regression / regression-shards (style-7-prod style-8-prod style-10-prod css-spinner-render-compat webm-transparency mp4-h264-sdr webm-vp9, shard-3) (push) Has been cancelled
regression / regression-shards (sub-composition-video style-18-prod raf-ball-render-compat font-variant-numeric sub-comp-t0 sub-comp-id-selector, shard-7) (push) Has been cancelled
Windows render verification / Detect changes (push) Has been cancelled
Windows render verification / Preflight (lint + format) (push) Has been cancelled
Windows render verification / Render on windows-latest (push) Has been cancelled
Windows render verification / Tests on windows-latest (push) Has been cancelled
CI / Detect changes (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Fallow audit (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Producer: integration tests (push) Has been cancelled
CI / Producer: unit tests (push) Has been cancelled
CI / File size check (push) Has been cancelled
CI / Test: skills (push) Has been cancelled
CI / Skills: manifest in sync (push) Has been cancelled
CI / CLI: npx shim (macos-latest) (push) Has been cancelled
CI / CLI: npx shim (ubuntu-latest) (push) Has been cancelled
CI / CLI: npx shim (windows-latest) (push) Has been cancelled
CI / SDK: unit + contract + smoke (push) Has been cancelled
CI / Test: runtime contract (push) Has been cancelled
CI / Studio: load smoke (push) Has been cancelled
CI / Smoke: global install (push) Has been cancelled
CI / CLI smoke (required) (push) Has been cancelled
CI / Semantic PR title (push) Has been cancelled
Player perf / Detect changes (push) Has been cancelled
Player perf / Preflight (lint + format) (push) Has been cancelled
Player perf / player-perf (push) Has been cancelled
Player perf / Perf: drift (push) Has been cancelled
Player perf / Perf: fps (push) Has been cancelled
Player perf / Perf: parity (push) Has been cancelled
Player perf / Perf: scrub (push) Has been cancelled
Player perf / Perf: load (push) Has been cancelled
preview-regression / Detect changes (push) Has been cancelled
preview-regression / Preflight (lint + format) (push) Has been cancelled
preview-regression / Preview parity (push) Has been cancelled
preview-regression / preview-regression (push) Has been cancelled
regression / regression (push) Has been cancelled
regression / Detect changes (push) Has been cancelled
regression / Preflight (lint + format) (push) Has been cancelled
regression / regression-shards (hdr-regression style-5-prod style-3-prod mov-prores, shard-1) (push) Has been cancelled
regression / regression-shards (overlay-montage-prod style-12-prod chat missing-host-comp-id png-sequence portrait-edge-bleed, shard-6) (push) Has been cancelled
regression / regression-shards (style-13-prod style-6-prod vignelli-stacking gsap-letters-render-compat audio-mux-parity, shard-8) (push) Has been cancelled
regression / regression-shards (style-15-prod hdr-hlg-regression style-1-prod many-cuts vfr-screen-recording render-symlinked-assets, shard-2) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docs / Validate docs (push) Has been cancelled
Sync skills to ClawHub / Publish changed skills (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:58:35 +08:00

17 KiB
Raw Blame History


version: alpha name: Editorial Forest — Frame (video / frame layer) description: > Video-first companion to Editorial Forest's design.md. The unit is the frame (1920×1080). Atoms are identical and sacred — the green/pink/cream editorial triad, Source Serif 4 at weight 500 (optical-size axis) for all display + JetBrains Mono 500 uppercase chrome, flat paper depth (no shadows), 2px hairline rules, 6/8px card radii, and the monogram circle stamp. Composition + frame scale rewritten. Motion out of scope. unit: the frame — 1920×1080 primary; 9:16 and 1:1 documented principle: atoms are sacred · composition is free · numbers come from the script

colors: green: "#2e4a2a" green-deep: "#243a21" green-lite: "#3a5a36" pink: "#e89cb1" pink-deep: "#d27e96" cream: "#efe7d4" cream-2: "#e6dcc4" ink: "#1a1a17"

typography:

— reading + chrome ramp —

body: { fontFamily: "Source Serif 4", cqw: 1.56, weight: 400, lineHeight: 1.38 } body-card:{ fontFamily: "Source Serif 4", cqw: 1.35, weight: 400, lineHeight: 1.34 } label: { fontFamily: "JetBrains Mono", px: 26, cqw: 1.35, weight: 500, tracking: "0.18em", upper: true } caption-mono:{ fontFamily: "JetBrains Mono", px: 24, cqw: 1.25, weight: 500, tracking: "0.14em", upper: true }

— display ramp (Source Serif 4 weight 500, opsz, negative tracking) —

title-card-sm:{ fontFamily: "Source Serif 4", cqw: 2.9, weight: 500, lineHeight: 0.98, tracking: "-0.01em" } title-card:{ fontFamily: "Source Serif 4", cqw: 3.5, weight: 500, lineHeight: 0.96, tracking: "-0.01em" } headline:{ fontFamily: "Source Serif 4", cqw: 4.4, weight: 500, lineHeight: 1.0, tracking: "-0.02em" } headline-xl:{ fontFamily: "Source Serif 4", cqw: 5.0, weight: 500, lineHeight: 0.96, tracking: "-0.02em" } display:{ fontFamily: "Source Serif 4", cqw: 7.3, weight: 500, lineHeight: 1.02, tracking: "-0.02em" } display-hero:{ fontFamily: "Source Serif 4", cqw: 11.5, weight: 500, lineHeight: 0.92, tracking: "-0.02em" } stat-figure:{ fontFamily: "Source Serif 4", cqw: 11.5, weight: 500, lineHeight: 0.92, tracking: "-0.03em" } stat-figure-unit:{ fontFamily: "Source Serif 4", cqw: 5.7, weight: 500, lineHeight: 0.92 } name: { fontFamily: "Source Serif 4", cqw: 2.3, weight: 600, lineHeight: 1.0 }

spacing: slide-pad: "5cqw" rule: "2px" rule-card: "2.5px" radius-card: "6px" radius-step: "8px"

components: topbar: typography: "{typography.label} (JetBrains Mono) + monogram-circle or counter" placement: "top edge, label left, mark right" description: "On EVERY frame — the system's spine; a frame without it reads untreated." footline: typography: "{typography.caption-mono} ×2, space-between" placement: "absolute bottom edge" description: "On cover/data/summary frames." monogram-circle: border: "2px solid {colors.pink}" rounded: "50%" size: "130px" typography: "mono monogram" description: "The identity stamp. Cover/summary only." topic-tile: backgroundColor: "{colors.green} (pink text) / {colors.pink} (green-deep) / {colors.green-lite} (pink) / {colors.cream-2} + 2px {colors.green} border (green)" rounded: "{spacing.radius-card}" shadow: "none" typography: "{typography.caption-mono} ordinal + {typography.title-card-sm} + mono foot" description: "Fills rotate; never repeat one across a grid." step-tile: backgroundColor: "{colors.cream} + green border / {colors.green} / {colors.pink}" border: "2.5px solid" rounded: "{spacing.radius-step}" typography: "mono ordinal + {typography.title-card} + {typography.body-card} + mono marker over a top rule" description: "Framework/process card." kpi-block: typography: "{typography.caption-mono} tag → {typography.stat-figure} (+{typography.stat-figure-unit}) → {typography.body}" rule: "2px accent rule above" description: "Oversized serif figure." meta-dl: borderTop: "2px solid {colors.green}" typography: "{typography.caption-mono} dt + {typography.meta-value} dd" description: "3-column dt/dd grid." bar: backgroundColor: "{colors.pink} / {colors.cream} / {colors.green}" rounded: "3px 3px 0 0" size: "56px wide" typography: "mono value above" description: "Vertical chart bar." rule-thin: rule: "2px solid (green on cream / pink on green / green-deep on pink)" description: "The only separator. Never 1px, never 3px+."

Editorial Forest — Frame (video / frame layer)

Overview

Editorial Forest at frame scale is a serif-led literary-editorial system — the register of a Penguin classic or a quiet annual report. One confident voice, Source Serif 4 at weight 500 (optical-size axis engaged), carries every headline and stat up to ~12cqw; JetBrains Mono at weight 500 uppercase is the editorial chrome (labels, captions, axis ticks, footlines). Three surfaces — forest green, dusty rose, oat cream — and nothing else. Depth is flat and paper-based: no shadows, no gradients; elevation is color-block contrast + 2px hairlines + border-vs-fill.

The unmistakable signature is weight 500 (never 400 display, never 700) and the mono/serif role inversion (mono for chrome, serif for body and display). Body text drops to serif weight 400 — that 500→400 step is the reading rhythm. Every frame carries a mono topbar; the monogram circle is the identity stamp.

Key characteristics at frame scale:

  • Green / pink / cream triad — two surface tones per frame is typical, three is loud.
  • Source Serif 4 weight 500 (opsz, negative tracking) for all display; serif 400 body; JetBrains Mono 500 uppercase chrome.
  • Flat — no shadows, no gradients; elevation is color-block + 2px hairline + border-vs-fill.
  • 2px hairline rules are the only separator (2.5px on step tiles); 6/8px card radii; the monogram circle is the only full round.
  • Topbar on every frame (mono label + monogram/counter); footline on data/cover frames.
  • Spacious & committed — one subject per frame in deep negative space; fewer elements at larger sizes.

The Frame

Frame Craft Bar

Three eyeball tests gate every frame before any structural check:

  • Squint — one Source Serif 4 moment dominates at 36× its neighbor; the surface block centers the eye.

  • Silence — one subject per frame in deep negative space; the topic-tile and step grids are the one dense exception.

  • Restrainttwo surface tones max per frame (three is loud); serif weight 500 display / 400 body; green ground reserved for gravity moments.

  • Reference — aim at a Penguin classic / quiet annual report / art-book spread; failure looks like a shadowed, multi-color web dashboard.

  • 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: slide-pad 5cqw (the source's generous 96140px); the topbar/footline sit inside it.

The container law (load-bearing). Every frame ground sets container-type: size; ALL frame-relative units are cqw/cqh against it — never vw (the source is a fixed 1920 canvas, so its px map cleanly: px ÷ 1920 × 100). Hairlines stay 2px; card radii stay 6/8px.

Colors

Tokens identical to the source. Default ground {colors.cream} for content; {colors.green} for cover/statement/summary gravity. Headlines: green on cream, cream (or pink at hero scale) on green, green-deep on pink. Body: ink on cream, cream on green, green-deep on pink. Labels/rules take the region's accent (pink on green, green on cream, green-deep on pink). Tile fills rotate green / pink / green-lite / cream-2-with-green-border. No fourth color family — the triad + near-duplicates is the whole palette; never rgba transparency on a surface.

Typography

Two ramps. The reading/chrome ramp (Source Serif 4 400 body 1.56cqw; JetBrains Mono labels in px) carries copy + chrome; the display ramp (Source Serif 4 500 title-card-sm 2.9cqw → display-hero/stat-figure 11.5cqw, opsz, negative-tracked) carries every headline + figure.

  • Legibility floor: any load-bearing line ≥ 1.4cqw; mono px labels are chrome only.
  • Fit-to-measure: size the headline to its length. Cap the block at ≤ 78cqw; ≤3 words → display-hero; 46 → headline-xl; 7+ → headline. Reserve the 7.311.5cqw tier for statement/stat/cover.
  • Serif is weight 500 for display, 400 for body (the rhythm), 600 only for an attribution name. Negative tracking (0.01..0.03em), tight line-height (0.921.02). Mono uppercase, 0.080.18em. No italic, no underline, no third face, no serif body at 500.

Depth & Surface

Flat, paper-based. Elevation from:

  • Color-block contrast — a green tile on cream reads elevated by ink-block separation.
  • 2px hairline rules — section separators in the region's accent.
  • Border vs fill — a cream-2 tile + 2px green border reads a different elevation than a solid tile.

Ceiling: zero shadow (none — adding box-shadow shatters the paper feel), no gradient, no glow; surfaces are solid ink-on-paper.

Shapes

  • 6px topic tiles, 8px step tiles, 2px legend swatch, 3px 3px 0 0 bar tops, 50% monogram circle. No square corners, no heavy rounding.

Components

  • topbar (the spine) + footline + monogram-circle (identity stamp) — the chrome set.
  • topic-tile (6px, rotating fills) / step-tile (8px, 2.5px border) — the catalog + framework patterns.
  • kpi-block (oversized serif figure) / meta-dl (3-col, 2px rule) / bar / rule-thin — data + structure.

Frame Treatments

Recipe: ground · container · composes · focal · chrome · accent · silence · Fixed/Free · density. Topbar on every frame; one subject per frame in deep negative space.

1 · Cover (identity · move: oversized serif · green · left)

Ground {colors.green}, slide-pad. Composes topbar (mono label + monogram-circle), display-hero, body lede, footline. Focal a 2-line Source Serif 4 display-hero in pink (one word in cream), left. Chrome mono topbar; mono footline. Accent pink display + the monogram circle. Silence ~50%. Fixed serif 500, flat, monogram 2px pink. Free title, which word is cream. Density low.

2 · Topic Tiles (catalog · move: rotating-fill grid · cream · the dense frame)

Ground {colors.cream}, slide-pad. Composes topbar, headline-xl, 34× topic-tile. Focal a row of 6px tiles, fills rotating green / pink / cream-2-with-border, each a mono ordinal + serif title. Chrome mono topbar. Accent the tile fills (mix 3 of 4, never repeat one). Silence tight — the density exception. Fixed 6px radius, rotating fills, no shadow. Free tile titles, which fills. Density dense-exception.

3 · KPI Stat (data · move: oversized figure · green)

Ground {colors.green}, slide-pad. Composes topbar, kpi-block (mono tag + 220px stat-figure + serif description), footline. Focal a Source Serif 4 stat-figure (~11.5cqw, +unit) in pink over a 2px pink rule. Chrome mono topbar + footline. Accent the pink figure. Silence ~55%. Fixed serif 500 figure, 2px accent rule, flat. Free the figure (from script), tag, description. Density low.

4 · Statement (quote · move: display serif · cream · left)

Ground {colors.cream}, generous pad. Composes topbar, display, name (600), caption-mono role. Focal a 2-line Source Serif 4 display (~7.3cqw) in green; a 600-weight attribution name + mono role beneath. Chrome mono topbar. Accent none — the serif carries it. Silence ~55%. Fixed serif 500 display + 600 name only, no italic. Free quote, name, role. Density low.

5 · Step Framework (process · move: 8px step tiles · cream/green)

Ground {colors.cream} (or green), slide-pad. Composes topbar, headline, 34× step-tile. Focal a row of 8px step tiles (2.5px border) — mono ordinal + serif 68px title + body + mono marker over a top rule; fills rotate cream-with-green-border / green / pink. Accent the tile fills. Silence moderate. Fixed 8px radius, 2.5px border, mono markers. Free steps, fills. Density standard.

6 · Chart (data · move: bars + meta · green)

Ground {colors.green}, slide-pad. Composes topbar, headline, bars + 2px axis rules, meta-dl. Focal 56px pink/cream/green bars on inner-edge 2px rules with mono ticks; an optional 3-col meta-dl beneath. Chrome mono topbar. Accent the bar fills. Silence moderate. Fixed 56px bars, 3px tops, 2px axes, mono ticks. Free values (from script), labels. Density standard.

Composition Rules

Do

  • Run every display in Source Serif 4 weight 500, opsz, negative-tracked, tight line-height; body at 400.
  • Set every label/caption/axis/footline in JetBrains Mono 500 uppercase, 0.080.18em.
  • Give every frame a topbar (mono label + monogram or counter); footline on data/cover.
  • Pick one dominant surface per frame (max two tones); rotate tile fills, never repeat one across a grid.
  • Separate sections with 2px hairlines in the region's accent; reserve the monogram circle for cover/summary.
  • Scale display aggressively (7.311.5cqw) for statement/stat/cover; lean left/editorial, one subject per frame.

Don't

  • No box-shadow, gradient, or glow — flat, paper-based depth only.
  • No third typeface; no italic/underline; no serif body at 500; no mono at headline scale.
  • No fourth color family; no rgba surfaces; no 1px or 4px+ rules (2px / 2.5px only).
  • No two competing content blocks; don't omit the topbar.
  • Don't blow a headline edge-to-edge — step the ramp down.

Aspect-Ratio Behavior

Treatment 16:9 9:16 1:1
Cover display left, monogram top-right display top, monogram below display, monogram corner
Topic Tiles 34 across stacked 2×2
KPI Stat figure left figure centered, taller centered
Statement quote left quote stacked centered
Step Framework 34 across stacked 2×2
Chart bars + meta bars taller, meta stacks square chart

slide-pad holds on the short edge; re-step display above the 1.4cqw floor. Topbar spans the top on every ratio; the monogram may drop to a corner.

Approved Real Entities

No real customers, logos, or vendors are defined in the source — render any such mark as a placeholder. The monogram, footline strings, and tile counters carry per-deck identity; figures are content.

Numerals & Claims (hard rule)

Never invent figures, KPIs, dates, or counts at frame scale. Render slots as — figure —, {metric}, — %. KPI blocks, bars, and meta values especially carry placeholders until the script supplies them. Issue numbers / counters are decorative chrome.

Pre-Render Self-Audit

  • Squint — one serif moment dominates; the surface block centers the eye.
  • Silence — one subject per frame in deep negative space; only the topic-tile/step grids run dense.
  • Triad — two surface tones max; headlines/body/labels use the correct per-surface color; no fourth family.
  • Type — Source Serif 4 500 display (opsz, negative-tracked) / 400 body; mono uppercase 0.080.18em; ≥1.4cqw floor.
  • Depth — 0 shadow, 0 gradient; 2px hairlines; 6/8px radii; monogram the only full round.
  • Chrome — topbar present on every frame; footline on data/cover.
  • Fabrication — every numeral traces to the script, else placeholder.

Known Gaps

  • Motion intentionally out of scope. frame.md specifies composition only; the source relies on deck-stage.js for scaling/nav, no transition spec.
  • Source Serif 4 (opsz 8..60) + JetBrains Mono via Google Fonts — the optical-size axis is critical; a non-opsz fallback flattens the size-aware letterforms. CJK: LXGW WenKai (display) / Noto Serif SC (body) / Noto Sans Mono CJK (chrome).
  • 9:16 / 1:1 are guidance; verify the floor and that two-tone discipline holds per ratio.
  • Bars, hairlines, tiles, and the monogram circle are CSS-only; no external imagery is required.
  • Contrast: green-on-pink / pink-on-green only at display scale (84px+); keep small text cream-on-green or ink-on-cream.