Presenter console
For the published AritmoLab site and routine Git updates, see Presentation publishing.
Serve presentation/ using the same local server as the deck:
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.PresentationControlsin../deck/index.html: slide notes and popup interface.