Skip to content

v0.4.0 Wave 20: custom layouts + rehearse timings (final v0.4.0 wave) - #18

Merged
900Labs merged 5 commits into
masterfrom
wave-20/layouts-timings
Jul 30, 2026
Merged

900Labs merged 5 commits into
masterfrom
wave-20/layouts-timings

Conversation

@900Labs

@900Labs 900Labs commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Summary

Wave 20 completes the v0.4.0 milestone with two features: a layout picker (building on the Wave 9 template system) and rehearse timings with auto-advance.

What changed

Model (slides-core)

  • Slide.rehearsed_duration_ms: Option<u32> (additive). SetSlideRehearsedDuration command (reversible).

Desktop (apps/desktop/)

  • Layout picker: dropdown in the slide context menu showing the current template's layouts. Selecting one calls set_slide_layout and re-renders placeholder guides.
  • Rehearse mode: "Rehearse" button in the presenter records per-slide durations. "Done" commits them via set_slide_rehearsed_duration.
  • Auto-advance: "Use timings" toggle advances automatically after each slide's rehearsed duration, with a countdown indicator.
  • set_slide_rehearsed_duration Tauri command (transactional). Zero @html.

Review process

Control-tower pipeline applied. Review agent: all 7 checks CLEAN. Two minor NITs (N undo entries per rehearsal; theoretical auto-advance re-entry) — both acceptable.

Test results

  • 374 workspace tests pass (slides-core +1).
  • npm run check (svelte-check): 0 errors, 0 warnings.
  • scripts/verify-local.sh: green. scripts/verify-public-release.sh: green.

v0.4.0 complete

This PR closes the v0.4.0 milestone. All roadmap items shipped across waves 16-20.

@900Labs
900Labs merged commit b720d5d into master Jul 30, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant