Update interactive presentation and presenter console
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# Presenter console
|
||||
|
||||
Serve `presentation/` using the same local server as the deck:
|
||||
|
||||
```sh
|
||||
python3 -m http.server 8000 --bind 127.0.0.1 --directory presentation
|
||||
```
|
||||
|
||||
Open <http://localhost:8000/presenter/> in Chrome or another modern desktop browser.
|
||||
Select **Open audience window**, move the new window to the HDMI display, then click
|
||||
**Full screen** there. Keep the console on the Mac display. Use extended displays,
|
||||
not mirroring. Both windows must use the same browser profile and origin.
|
||||
|
||||
The console provides interactive slide preview, notes with adjustable type size,
|
||||
slide navigation, per-slide popup buttons, a manually started timer, and a choice
|
||||
between notes beside or below the preview. Notes fill the available horizontal space.
|
||||
Up next includes a live, non-interactive thumbnail of the following slide in both
|
||||
layouts; at the last slide it is replaced by the end-of-presentation message.
|
||||
With notes beside the preview, the current preview keeps the height calculated as
|
||||
65% of the space available without popup controls. It resizes with the window,
|
||||
not with the number of popups. The next preview takes the space left after the
|
||||
current preview, navigation, popup buttons and labels, and never renders larger
|
||||
than the current one.
|
||||
Popup controls contain only numbered
|
||||
buttons and disappear entirely on slides without popups. The current preview omits
|
||||
the 34px slide footer; the audience slide remains unchanged.
|
||||
Arrow keys change slides; Escape closes
|
||||
the popup. Changing slide closes any open popup. Notes scroll independently and
|
||||
return to the beginning when the slide changes.
|
||||
|
||||
Popup controls, clickable images and speaker-note headings open only on click
|
||||
or explicit keyboard activation (Enter, Space or the numbered shortcuts).
|
||||
Hover and keyboard focus may highlight a control but never open or switch a popup.
|
||||
On slide 08,
|
||||
the five numbered headings in the speaker notes also open the corresponding
|
||||
Validation detail, centered on the slide with the shared lens effect. The fifth
|
||||
detail explains all three advantages; on the slide, the advantages panel highlights
|
||||
on hover and opens on click. A detail
|
||||
stays open when the pointer leaves, until another detail is selected, Escape or
|
||||
Close is used, or the slide changes. The preview and audience show the same detail.
|
||||
|
||||
Slide 09 has seven numbered screenshot controls, in the supplied tour order.
|
||||
Click a thumbnail, a console button or a numbered heading in its notes to open
|
||||
the original screenshot almost full screen. Keys 1–7 also select screenshots;
|
||||
Escape or Close returns to the slide. Preview and audience share the selection.
|
||||
The seven English descriptions form one short script (about 90 seconds including
|
||||
brief pauses to change screens).
|
||||
|
||||
The preview and audience communicate over a session-specific `BroadcastChannel`.
|
||||
The session is in the console URL; the latest slide and popup are retained in local
|
||||
storage for refresh recovery. A fresh `/presenter/` URL starts a separate session.
|
||||
The normal `/deck/index.html` page does not join any session. This console is for
|
||||
windows in one browser on one computer, not remote tablet synchronization.
|
||||
|
||||
If the audience window is blocked, allow popups for localhost and click the button
|
||||
again. Closing that window leaves the console usable for rehearsal; reopen it to
|
||||
resume at the current slide. The audience also remains navigable if the console
|
||||
is closed. Keep the local server running throughout the presentation.
|
||||
|
||||
Source files:
|
||||
|
||||
- `index.html`, `presenter.css`, `presenter.js`: presenter interface.
|
||||
- `../deck/presenter-bridge.js`: optional synchronization bridge.
|
||||
- `PresentationControls` in `../deck/index.html`: slide notes and popup interface.
|
||||
Reference in New Issue
Block a user