Skip to content

v0.2.0

Choose a tag to compare

@ShawnMcCool ShawnMcCool released this 19 Apr 20:29
· 22 commits to main since this release

Added

  • Syntax highlighting for fenced code blocks via highlight.js (core + 10 languages). Token colours map to the framework palette — no external theme CSS. Lazy-loaded so the linter and tests stay dependency-free.
  • examples/ directory — five runnable mini-decks (essentials, box-diagrams, 3d-scene, svg-scene, title-animation) covering every registered component. Each is served with talk serve examples/<name>/.
  • Top-level README.md — public-facing overview: install, quick start, concepts (deck / scene / slide / step), authoring approach, CLI reference, dev-mode UX, and per-component documentation.

Changed (BREAKING)

  • three-scene renamed to 3d-scene. Author-facing surface affected: the directory (src/components/3d-scene/), the registry descriptor, the factory function (create3DScene — createThreeScene is gone), the example deck, and the typedefs (Scene3DConfig etc.). The renderer implementation file src/rendering/three-scene.js and its createThreeRenderer stay as-is — that layer is a thin Three.js wrapper and the old name reflects what it literally is.

Fixed

  • Stage-proportional typography. Root font-size now scales with the 16:9 stage, so all rem-based typography fits the viewport proportionally instead of overflowing on small screens or leaving huge gutters on large ones. 1rem = 16px at the canonical 1920px stage width.
  • Browser tab title reflects the current deck's talk.toml title instead of the hardcoded legacy string.
  • Saved navigation state is scoped per deck. Loading a different deck starts fresh at scene 1 / slide 1 instead of restoring the prior deck's coordinates.
  • talk serve no longer force-rebuilds. The framework source is bind-mounted, so the built image was always shadowed; the --build flag just added latency. Run docker compose run --rm app npm install when you add or bump a dependency.
  • examples/svg-scene/ redesigned as a memory-hierarchy bar chart (L1 / L2 / main memory drawn to linear scale). Replaces an earlier three-dots-and-a-line that didn't demonstrate anything the box-diagram component couldn't do.

Repo hygiene

  • Added LICENSE (MIT).
  • package.json gained description, keywords, author, repository, homepage, bugs, and engines fields; dropped "private": true; renamed to talk-framework.
  • .gitignore excludes AI/tool-specific state and internal planning docs.
  • Added .nvmrc pinning Node 22.
  • Removed the legacy archive/ directory.

See CHANGELOG.md and the README for details.