v2.1.0 — Topic visual programs and executable narration
v2.1.0 — Topic visual programs and executable narration
v2.1.0 closes the two largest gaps in the v2 executable scaffold: topic-specific scene construction and runnable narration synthesis.
Install
pipx install creating-explainer-videos-skill==2.1.0
# or
npm install --global creating-explainer-videos-skill@2.1.0Project and media commands require Node.js 22+, Chrome or Edge, FFmpeg, and ffprobe. The reference real-speech adapter additionally requires a host Python environment with edge-tts installed.
Topic visual program
New projects contain visual-program.json. It describes bounded semantic elements and cue-bound actions, then compiles them into deterministic template-specific DOM/SVG:
explainer-video-skill visual validate .\project --json
explainer-video-skill visual compile .\project --json
explainer-video-skill visual preview .\project --output .\preview.html --jsonThe DSL supports groups, text, nodes, shapes, connectors, local assets, annotations, normalized geometry, six layouts, and seven deterministic action kinds. Raw HTML, scripts, remote resources, traversal, and unsupported references are rejected.
The three existing templates remain visual skins and motion grammars. They now consume the topic program instead of being limited to the generic input/change/output body. Schema-1 v2.0 projects without a visual program retain the legacy fallback.
Executable narration
python -m pip install edge-tts
explainer-video-skill narration doctor .\project --adapter edge-tts --json
explainer-video-skill narration synthesize .\project --adapter edge-tts --voice zh-CN-YunxiNeural --allow-network --jsonThe engine synthesizes cue by cue, normalizes to 48 kHz stereo PCM WAV, removes provider silence, measures speech with ffprobe, adds deterministic gaps, writes the narration master, and rebuilds the caption-identical measured cue timeline.
Valid cached cues are reused by input/audio hash and duration. narration recover selectively regenerates only invalid or changed cues.
The hash-trusted host-command protocol allows additional providers without making declarative extensions executable. Network and provider-cost authorization remain explicit, and credentials stay outside project/request/cache files.
fixture-tts exists only for deterministic tests. Its timing evidence is marked test-only and cannot pass the real-audio production gate.
Evidence and limitations
- Credit-card clearing and quantum tunneling now build different topic-object scene programs.
- CI tests the DSL, path/reference validation, adapters, authorization, host protocol, cache recovery, real FFmpeg/ffprobe synthesis, examples, and the existing Chrome/HyperFrames media pipeline.
- The package still does not infer that a generated diagram is factually or pedagogically correct.
- Real Edge TTS requires an explicit network-authorized run and a complete human pronunciation/listening review.
- Automated QC can produce only
release_candidate_pending_human_listen; a named human must review the exact candidate hash beforepassed.
GitHub Release assets contain the npm tarball, portable Skill ZIP, PyPI wheel/source distribution, and SHA256SUMS built from the tagged commit.