Files
deckcraft/docs/slideshow-parity.md
T
2026-10-14 13:48:31 -04:00

9.9 KiB
Raw Blame History

Slide show and presenter view: parity with PowerPoint

Last reviewed: 2026-10-10 · Last updated: 2026-10-13 · Change: minor (interactive-deck clicks in the slide show; previous: major (created; measured from crates/ui-egui/src/show.rs and crates/anim/src/show.rs against PowerPoint 16.113's Slide Show tab and menu)) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365) Last reviewed: 2026-10-10 · Last updated: 2026-10-13 · Change: minor (video seek frame-loss race fixed, upstream #416; previous: major, created; measured from crates/ui-egui/src/show.rs and crates/anim/src/show.rs against PowerPoint 16.113's Slide Show tab and menu) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365) Last reviewed: 2026-10-10 · Last updated: 2026-10-14 · Change: minor (keyboard navigation from Presenter View) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365) Last reviewed: 2026-10-10 · Last updated: 2026-10-13 · Change: minor (laser pointer in the show; the presenter window still does not move it; previous: major, created) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365) Last reviewed: 2026-10-14 · Last updated: 2026-10-14 · Change: trivial (Show Media Controls hides the show's playback bar and GIF button; breadth stays 66%) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365) Last reviewed: 2026-10-14 · Last updated: 2026-10-14 · Change: minor (See All Slides and zoom during the show; black and white from the presenter window; previous: major, created) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365) Last reviewed: 2026-10-14 · Last updated: 2026-10-14 · Change: minor (presenter timer pause/reset, clock and notes size; previous: minor, See All Slides and zoom) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365)

Presenting is the job PowerPoint is hired for. This doc covers the show window, presenter view, rehearsal and recording. Transition and animation playback are in animation-parity.md; display hardware in hardware-parity.md. Area score: checklist breadth 68% (measured), ~60% ready (estimated), 10–16 h to parity.

Running the show

Feature PowerPoint DeckCraft Notes
Play from Start / from Current Slide (F5, Shift+F5, Cmd+Enter) yes yes
Next/previous by click, arrows, Space, Page Up/Down, Enter, Backspace yes yes #17 reported arrows not working in v0.3.0 AppImage; recheck
Go to slide (number + Enter), first/last yes yes
Black / white screen (B / W) yes yes
End screen, Esc to leave yes yes
Step clock: a click after a long pause plays its step (#11) yes yes
Hidden slides skipped yes yes
Hyperlinks and action settings followed (slides, web, mail, End Show, Last Viewed) yes yes Only http(s) and mailto open outside the show, by design (safe_url)
A shape with a triggered animation plays it when clicked; shapes an animation has hidden cannot be clicked; a shape without an action on top of one with an action blocks it; the pointer is a hand over what can be clicked yes yes Click boxes are bounding boxes; "play sound" actions (ppaction://media) do nothing yet
A slide the show returns to (link, arrow keys) looks as it was left; a triggered animation goes on where it stopped yes yes A main-sequence step still playing when the show leaves is finished
"Advance on click" off: a click never leaves the slide (animation steps still play, keys still move on) yes yes
Media playback with controls, play across slides, full-screen video yes yes WMA/WMV not decodable
Media playback with controls, play across slides, full-screen video yes yes Seeks and loops preserve new-generation video frames and end-of-stream; queue regression and repeated seeks across H.264/HEVC/VP9/AV1 in crates/media. WMA/WMV not decodable
Media playback with controls, play across slides, full-screen video, Play/Pause/Stop in the click sequence yes yes WMA/WMV not decodable; click sequence since #116
Animated GIFs play; pause from their corner button yes yes (#39)
Media playback with controls, play across slides, full-screen video yes yes WMA/WMV not decodable. Slide Show ▸ Show Media Controls (on by default) hides the playback bar
Animated GIFs play; pause from their corner button yes yes (#39) The corner button hides with Show Media Controls
See All Slides grid during the show yes no
Zoom into part of a slide during the show yes no
See All Slides grid during the show yes yes: G, or All on the show bar and in presenter view; click a thumbnail, Esc closes the grid Hidden slides are labelled; the first 48 slides are shown
Zoom into part of a slide during the show yes yes: Z, then click the slide (or the presenter slide); 2×, Esc or another click leaves it The presenter keeps the whole slide and draws a frame on the zoomed part
Pen and highlighter ink yes pen only (Cmd+P pen, Cmd+A arrow, E erases all ink) No highlighter, per-stroke eraser, ink colours, or keep/discard annotations prompt
Laser pointer yes yes in the show Cmd/Ctrl+L and the on-screen button draw the show's laser colour and leave no ink. The presenter window does not move that dot
Subtitles and live captions yes (cloud speech) no AI dimension
Custom shows yes yes
Set Up Show: loop until Esc, kiosk (browsed at a kiosk), show without animation/narration, pen colour, slides range yes yes, most options
Use rehearsed timings yes yes

Presenter view

Feature PowerPoint DeckCraft Notes
Separate presenter window with current slide, next slide, notes yes yes (an egui viewport, 1100×700)
Elapsed timer yes yes
Pause / reset timer, clock yes yes: Pause/Resume and Reset in presenter view (T pauses, R resets); the clock is local time, --:-- where there is no clock Pausing the timer does not pause the show, animations or rehearsal
Slide counter, previous/next/end buttons yes yes
Keyboard navigation while Presenter View has focus yes yes Shares the audience window's key handling; handled keys are consumed before buttons, and the presenter stays available at the end screen
Notes font size, scrolling yes scrolling only
Placed on the presenter's display automatically, show on the projector yes no: opens wherever the OS puts it Beta blocker, 3–5 h
Swap displays yes no
Notes font size, scrolling yes yes: A- / A+ (and [ / ]), 12–48 pt in steps of 4, default 18; the notes scroll
Placed on the presenter's display automatically, show on the projector yes no: opens wherever the OS puts it Open PR #433 places the show on a second display when one is attached. This change does not
Swap displays yes no Still open on #433
Pen, laser, black screen, zoom from presenter view yes Black, White and Zoom buttons; the audience zoom is framed on the presenter slide Pen and the laser pointer are still keys only; there is no laser yet
See all slides from presenter view yes yes: All slides opens the grid on the show
Rehearse with Coach (Speaker Coach) yes (cloud) no AI dimension

Rehearse and record

Feature PowerPoint DeckCraft
Rehearse Timings, keep timings yes yes
Record Slide Show (narration, ink, laser, camera; Cameo) yes no
Clear timing / narration yes timings only
Export the recorded show to video yes no (see file-format-parity.md)

Reading View

Reading View in a window with navigation: present (checklist row done).

Estimates

Work Hours
Presenter view on the right display, swap displays, pause/reset timer, clock, notes size 3–5
Highlighter, eraser, keep-annotations prompt, laser from presenter view 2–4
See All Slides and zoom during the show 2–3
Presenter view on the right display and a swap-displays command 2–4
Laser pointer, highlighter, eraser, keep-annotations prompt 2–4
Record slide show with narration (no camera) 5–8
Total ~9–16 (the slide-show row of the feature table carries 10–16 h; recording overlaps the Media row)

Revision history

Date Change Summary
2026-10-13 minor Click handling for interactive decks: triggers, per-slide state kept across visits, visible-shape hit testing with hand cursor, advance on click
2026-10-13 minor Video seek handoff no longer discards freshly decoded frames or end-of-stream (upstream #416); deterministic queue and four-codec seek regression tests
2026-10-14 minor Presenter View handles slideshow keys in its own viewport, including returning from the end screen and Escape; regression tests cover navigation and avoiding duplicate button activation
2026-10-11 minor Media effects (Play, Pause, Stop) in the click sequence play with their step (#116)
2026-10-13 minor The show has a laser pointer (Cmd/Ctrl+L, the show's laser colour, no ink). Presenter view still does not drive it
2026-10-14 trivial Show Media Controls hides the show's playback bar and GIF button
2026-10-14 minor Presenter view pauses and resets its timer (T, R) and changes notes size (A-/A+, brackets). The clock shows local time. Second-display placement and swap stay with #433. Checklist breadth stays 66%
2026-10-14 minor See All Slides (G) and click-to-zoom (Z) during the show. Presenter view opens that grid and sets black, white and zoom. Checklist breadth stays 66%
2026-10-10 major Created: show, presenter view, rehearse and record, compared with PowerPoint 16.113's Slide Show tab and menu