Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions learn/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,33 @@ output/Require-MFA-With-A-Conditional-Access-Policy/**/*.wav
output/Require-MFA-With-A-Conditional-Access-Policy/*_thumbnail.png
output/Require-MFA-With-A-Conditional-Access-Policy/assets/grounds/
output/Require-MFA-With-A-Conditional-Access-Policy/assets/vendor/

# --- videos: source + render inputs tracked, outputs go to a Release ---
!output/
output/*

# video: What-Is-A-Container
!output/What-Is-A-Container/
!output/What-Is-A-Container/**
# INPUTS (narration.wav, end card, grounds — LFS-tracked) stay so the renderer has them;
# OUTPUTS + QA artifacts never enter git (the deliverable MP4/captions/thumbnail -> Release).
output/What-Is-A-Container/fonts/
output/What-Is-A-Container/renders/
output/What-Is-A-Container/_snap*/
output/What-Is-A-Container/snapshots/
output/What-Is-A-Container/anchors.js
output/What-Is-A-Container/What-Is-A-Container.mp4
output/What-Is-A-Container/What-Is-A-Container_thumbnail.png

# video: Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana
!output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/
!output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/**
# INPUTS (narration.wav, end card, grounds — LFS-tracked) stay so the renderer has them;
# OUTPUTS + QA artifacts never enter git (the deliverable MP4/captions/thumbnail -> Release).
output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/fonts/
output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/renders/
output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/_snap*/
output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/snapshots/
output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/anchors.js
output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana.mp4
output/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana/Highway-12-A-Lewis-And-Clark-Road-Trip-To-Montana_thumbnail.png
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Generated media images for this video are large binaries → LFS. In scope for the video branch
# (root .gitattributes already LFS-tracks *.wav, *.mp4, and assets/grounds/*.png).
assets/media/**/*.png filter=lfs diff=lfs merge=lfs -text
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Highway 12: A Lewis and Clark Road Trip to Montana

- **Profile:** `skilling-session` — Skilling session
- **Target:** ~1050s content (900–1200s), word budget 2178–2904 (target 2541) @ 2.42 w/s
- **Scenes:** aim ~23 (chrome 5 stamped + ~18-55 body)
- **Max static hold:** 8.0s · **Voice:** en-US-Ava:DragonHDLatestNeural
- **Source:** NPS Lewis & Clark National Historic Trail (nps.gov/lecl); US-12 Northwest Passage Scenic Byway / Lewis-Clark Highway; NPS Glacier NP; historical route WA I-90 to Vantage, south to Lewiston-Clarkston, US-12 over Lolo Pass to Missoula, Flathead Lake, Glacier

## Fill the placeholders

Every `__FILL__` below must be replaced before render (guarded by `tools/check_placeholders.py`).

- `opening.bumper` → [scenes/01-bumper.html](scenes/01-bumper.html)
- `opening.title` → [scenes/02-title.html](scenes/02-title.html)
- `opening.objectives` → [scenes/03-objectives.html](scenes/03-objectives.html)
- `closing.recap` → [scenes/90-recap.html](scenes/90-recap.html)
- `closing.cta` → [scenes/91-cta.html](scenes/91-cta.html)

## Next steps

1. Write the script + beat plan (script-writer) and fill the chrome placeholders above.
2. Author the teaching-body scenes into `scenes/` and insert them into `scenes.json` between the opening and closing chrome (see `scenes.json` → `body_slot`).
3. Run the gated pipeline (voice → fact-check QA → build → snapshot QA → render).
4. Guard: `py tools/check_placeholders.py --project .` must be clean before render.
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"_comment": "Combined anchor spec: per-scene VO start times (scene tiling + scene-relative cue math) plus every in-scene cue, including the 17 frozen cues from anchors.json. Resolve with tools/word_anchors.py transcript.json --spec anchors.build.json -o anchors.js --lead-in 3.0 (3.0s = the silent bumper before the VO). Phrases are punctuation-free so they match ASR word tokens; note the ASR heard 'Vantage' as 'Advantage', 'Lochsa' as 'Loxa' and 'Nimiipuu' as 'Nemepu', so those beats anchor to neighbouring words.",
"beatWhoseLand": "For thousands of years the mountains",
"beatCharge": "In 1803 President",
"beatCorps": "Then he sent Meriwether",
"beatSacagawea": "They could not have done it alone",
"beatVantage": "Now the drive",
"beatConfluence": "Follow the river down",
"beatLochsa": "From here US Highway 12",
"beatRescue1805": "In September of 1805",
"beatLoloPass": "Hold that mercy in mind",
"beatFlight1877": "72 years later",
"beatTravelersRest": "Just over the pass lies",
"beatMissoula": "A short run beyond it",
"beatFlathead": "Turn north and you enter",
"beatGlacier": "Beyond it waits the finale",
"beatRouteRecap": "So there's the route",
"beatRecap": "you'll have driven the length",
"beatCta": "So go and drive it",
"quoteLand": "we are of this land",
"nations": "Among them the Nez Perce",
"freeAlways": "We have always been free",
"louisiana": "the vast Louisiana Territory",
"neverEmpty": "a continent that was never empty",
"corps": "the Corps of Discovery #1",
"recon": "It was also a military reconnaissance",
"sacagawea": "a young woman named Sacagawea",
"captive": "taken captive around the age of 12",
"gotItWrong": "history got her story wrong",
"vantage": "the road meets the Columbia",
"ginkgo": "Stop at the Ginkgo Petrified Forest",
"confluence": "two towns that face each other",
"hellsCanyon": "the deepest gorge in North America",
"landBelongs": "The land belongs to a people",
"lochsa": "one of the wildest drives",
"roadless": "nearly 100 roadless miles",
"rescue1805": "In September of 1805",
"fedThem": "who chose to feed them",
"loloSummit": "the summit of Lolo Pass",
"flight1877": "later, in 1877",
"drivenOut": "More than 800 people",
"bigHole": "At the Big Hole",
"killed": "Between 60 and 90",
"flightMiles": "a flight of more than 1,000 miles",
"travelersRest": "a quiet meadow, Travelers Rest",
"evidence": "hard archeological evidence",
"missoula": "beyond it is Missoula",
"reservation": "the Flathead Indian Reservation",
"flathead": "Flathead Lake shines",
"glacier": "Glacier National Park, whose eastern",
"goingToTheSun": "Drive the Going to the Sun Road",
"routeRecap": "So there's the route",
"recapHistory": "a story of real courage",
"driveIt": "So go and drive it",
"respect": "Bring your curiosity",
"titleSub": "before there was a map",
"age1617": "She was just 16 or 17",
"horses": "helping win the horses"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"_comment": "cue name -> exact spoken phrase the beat lands on. Multi-word phrases chosen to resolve uniquely against the ASR transcript. NOTE: 'Vantage' transcribed as 'Advantage' and 'Lochsa' did not transcribe, so those beats anchor to neighbouring words.",
"quoteLand": "we are of this land",
"louisiana": "the vast Louisiana Territory",
"corps": "the Corps of Discovery #1",
"sacagawea": "a young woman named Sacagawea",
"vantage": "the road meets the Columbia",
"confluence": "two towns that face each other",
"lochsa": "one of the wildest drives",
"rescue1805": "In September of 1805",
"loloSummit": "the summit of Lolo Pass",
"flight1877": "later, in 1877",
"bigHole": "At the Big Hole",
"travelersRest": "a quiet meadow, Travelers Rest",
"missoula": "beyond it is Missoula",
"flathead": "Flathead Lake shines",
"glacier": "Glacier National Park, whose eastern",
"routeRecap": "So there's the route",
"driveIt": "So go and drive it"
}
Git LFS file not shown
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Loading
Loading