# Sol Clippy Haunted Desktop Demo

The host-side review and cue runner is `/home/david/random/bin/sol98_haunted_demo.py`. Its editable cue sheet is `/home/david/.config/sol98/haunted-demo.json`, and execution status is appended to `/home/david/.local/state/sol98/haunted-demo.log`.

Launching the program only opens the review window. `Dismiss` exits without changing the recorder or VM. `Initiate Recording + Demo` validates and saves the JSON, hides the editor, sends SimpleScreenRecorder's configured `Super+R` global trigger, waits for a `StartOutput` confirmation, and only then begins the VM sequence.

The default sequence gracefully shuts down and boots `win98`, waits for the desktop, stages only Goodtime and Hover as temporary period-styled icons, drives balloon text and allowlisted animations through `/clippy/push`, and launches the existing `C:\WINDOWS\Desktop\Shortcut to Goodtime.lnk` through the VirtualBox keyboard channel. The final cue stops SimpleScreenRecorder, confirms `StopOutput`, presses its Save Recording control, and waits for MP4 finalization. Recording is also stopped and finalized after an orchestration error unless `stop_recording_on_error` is changed.

After boot, the runner dismisses the guest's blank Microsoft Networking password prompt with Escape, allows Explorer to settle, explicitly launches `C:\SOLCHAT98\SOLCLIP.EXE`, and blocks until a server-pushed `Show` command is acknowledged. Every later Clippy cue also waits for its acknowledgement; the sequence stops rather than recording missing character actions. VirtualBox start is retried for up to 45 seconds because the Windows 98 ACPI shutdown can leave a short-lived session lock after the machine first reports `poweroff`. While running, a small always-on-top `STOP DEMO` control cancels interruptible delays, finalizes the recorder, marks only that run's pending Clippy commands failed, and starts the VM again if cancellation caught it between shutdown and boot.

SimpleScreenRecorder must remain configured for PulseAudio source `alsa_output.pci-0000_00_1f.3.analog-stereo.monitor` (`Monitor of Built-in Audio Analog Stereo`). This records the complete host playback mix, including VirtualBox/Clippy effects and guest video audio, rather than either attached microphone.

Run it with:

```bash
/home/david/random/bin/sol98_haunted_demo.py
```

Supported cue actions are `reboot_vm`, `stage_icons`, `clippy`, `clear_clippy`, `pointer`, `launch_shortcut`, `note`, and `stop_recording`. Guest launches are restricted to the built-in `goodtime` and `hover` shortcut names. Clippy animations are validated against the live `/clippy/capabilities` response before recording begins.
