Skip to content

v0.13.0 — parallel batch rendering

Latest

Choose a tag to compare

@jbrecht jbrecht released this 16 Jun 06:13
21d55b5

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> (or renderConcurrency in forge.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 record works without a prior tts phase (#50) — the TTS-free --contact-sheet framing 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@latest

Source-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