Render whole tutorial sets in parallel, plus authoring-loop fixes.
✨ Parallel batch rendering (#62)
Rendering a set of tutorials is now much faster. The record phase is mostly real-time waiting (each step holds for its narration), so the machine sits near-idle during it — running renders concurrently reclaims that.
- Opt in with
--render-concurrency <n>(orrenderConcurrencyinforge.config.ts). Default is 1 (serial — unchanged). - Measured ~1.95× on a 2-job batch, with byte-identical output (concurrency changes only when jobs run).
- Requires a parallel-safe adapter — concurrent renders each run their own
setup/teardown, so a shared seed DB must isolate per render. See Adapters → Parallel rendering. If unsure, leave it at 1.
🛠 Authoring-loop fixes
render --phase recordworks without a priorttsphase (#50) — the TTS-free--contact-sheetframing check (verify selectors/framing across a whole tutorial before paying for narration) no longer errors on a fresh work dir.- Recap-framing lint nags less (#49) — it no longer false-warns on accomplishment-style recaps ("you created an event, set up ticketing… from here you can…").
⚠️ Upgrade notes
Minor release — additive only (new --render-concurrency flag, renderConcurrency config, and exports mapLimit / silentTTSResult / loadTTSResultIfPresent); no breaking changes. As a 0.x minor, a ^0.12.x range won't auto-pull it:
pnpm up tutorial-forge@latest tutorial-forge-cli@latestSource-available under the PolyForm Small Business License — free for individuals and small businesses.
Full changelog: https://github.com/jbrecht/tutorial-forge/blob/main/CHANGELOG.md