71 lines
3.9 KiB
Markdown
71 lines
3.9 KiB
Markdown
# Presenter console
|
||
|
||
For the published AritmoLab site and routine Git updates, see
|
||
[Presentation publishing](../../docs/operations/presentation-publishing.md).
|
||
|
||
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. The reading area contains only the
|
||
spoken narrative, without slide titles or popup headings. Parenthesized numbers
|
||
on slide 2 and slides 7–10 identify the popup button for each passage.
|
||
Screenshot-specific notes still follow the selected popup; use the controls below
|
||
the preview to open popups.
|
||
|
||
Popup controls and clickable images 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 07,
|
||
the five numbered controls 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 08 has four numbered screenshot controls, in the supplied tour order.
|
||
Click a thumbnail or a console button to open
|
||
the original screenshot almost full screen. Keys 1–4 also select screenshots;
|
||
Escape or Close returns to the slide. Preview and audience share the selection.
|
||
The four English descriptions form one continuous script.
|
||
|
||
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.
|