双语新闻阅读 · Caption News (reading)
A 60-second social-news video that is secretly a Gaokao reading passage. One topic, five chunks (one sentence each), each with a graphic above and the caption landing phrase by phrase as it is spoken. Every number on screen carries its source. Then a main idea / detail question with the evidence line, and the key words of the passage.
Read ../_shared/HOUSE_RULES.md and ../_shared/DIRECTING.md first. Look rules: references/style.md. Reference episode: reading-episodes/002_teen_sleep_news (58 s, CDC/AASM sources in FACTS.md).
Exams. The template serves Gaokao, CET-4, and CET-6. Set exam with npm run new -- reading-caption-news <id> --exam gaokao|cet4|cet6, then follow ../_shared/EXAMS.md. The audience, word levels, difficulty, and question label change with the exam; the exam labels on screen change by themselves. The reference episode is a Gaokao episode.
Workflow (from remotion-template/)
npm.cmd run plan
npm.cmd run new -- reading-caption-news 003_<topic>_news --exam gaokao # or cet4 / cet6
# FACTS.md first (sources), then brief.md, TREATMENT.md, data/captionNews.ts, data/voiceScript.ts
npm.cmd run episode:use -- ../reading-episodes/003_<topic>_news
npm.cmd run check # fix every ERROR (blank brief/TREATMENT and copied reference data fail too)
npm.cmd run produce # voice → voice:check → check → timeline → audio → render + QA; stops at the first failure
Facts first
- Choose a topic students care about and the exam likes (health, school life, science, environment, technology).
- Find 1–3 primary sources (CDC, WHO, NIH, a government statistics page, a peer-reviewed journal). Not blogs, not other videos.
- Write
FACTS.md: for each claim, the URL, the page date, and the exact quoted wording. A number on screen must match the quote (rounding stated: "about 1 in 4" for 24 %). - Health topics: report what the source says; no advice of your own, no diagnosis.
Writing the passage
- 5 chunks, one sentence each, 10–20 words, Gaokao level (B1–B2). Original sentences; don't copy the source's text.
- Arc: what experts say → the surprising number → why (the mechanism) → the consequence → one simple step.
- 3–6 recap words (
vocab), all curriculum-standard but at most one extension. - Question: main idea or detail, one correct option,
evidenceLineId= the chunk that proves it.
Structure
| Scene kind | Lines | What happens | Seconds |
|---|---|---|---|
headline | 1 | kicker chips, the headline slams word by word, Chinese headline, the pig | 3–5 |
chunk × 4–6 | 1 each | graphic, caption phrase by phrase, keyword block, Chinese line, SOURCE tag | 5–8 each |
question | 2 (question, answer) | options, thinking timer, answer highlighted, evidence line box | 10–12 |
recap | 2 (recap, signoff) | key words with part of speech and meaning, comment prompt | 9–12 |
Data (data/captionNews.ts)
kicker,headline:{en, zh}.chunks: voice line id →{zh, keyword?, graphic, sourceId?}.keywordmust be a phrase of the subtitle exactly.sourceIdis required on any line that states a number (npm run check).graphickinds:clock(a night clock with a highlighted range,label),people(of,highlight,label— e.g. 1 of 4 with a rolling percentage),brain,trend(directionup/down),phone.sources[]:{id, label (short, on the tag), url, quote}— the same as in FACTS.md.vocab[]:{word, pos, meaning, level}.question:{stem, stemZh, options[4], answerIndex, evidenceLineId, sourceNote}.score: a tight pulse (100–116 BPM).
Voice
- English for the passage, the question and the answer (
instruction: a calm news presenter for teenage learners). - Numbers are spelled out in
text("eight to ten hours", "one in four") and written as digits insubtitle("8 to 10 hours", "1 in 4"). The caption times phrases by their position in the subtitle, so they still land with the voice. asrAcceptonly after listening (e.g. "aged" transcribed as "age").
Variation knobs
- Graphic sequence and ground colours (
NEWS.groundsrotate per scene). - Arc: myth → fact, a question headline ("Is ... really ...?"), or a number-first cold open.
- Question type (main idea / detail / inference / vocabulary guess) and recap position.
- Score BPM and key; where the music stops.
Files
src/captionnews/ReadingCaptionNewsVideo.tsx,ReadingCaptionNewsCover.tsx— compositions; ground with grain, HUD (series name, No., topic)src/captionnews/schedule.ts—CAPTION_NEWS,phrasesOf,phraseTimes,subtitleSpokenAtsrc/captionnews/scenes.tsx— graphics, caption (phrase slam, keyword block, Chinese, SOURCE tag in the caption's flow), headline, chunk, question, recapsrc/captionnews/theme.ts— colours, fonts, layout