Skip to content

ExoSnap 0.3.0

Choose a tag to compare

@Exoridus Exoridus released this 14 Jun 00:02
Immutable release. Only release title and notes can be modified.
afd1990

Summary

ExoSnap 0.3.0 is the presence and notifications release. It ships the complete capture-excluded
on-screen overlay layer (recording status, diagnostics, and countdown), a tray icon with
recording/paused state and unread badge, transient notification toasts for every key lifecycle
event, a refined region-selection overlay, close-to-tray, and an opt-in interactive quick-control
pill. These features are all excluded from the captured frame via WDA_EXCLUDEFROMCAPTURE.

The reliability foundation from 0.2.0 (MKV + MP4-via-remux, crash recovery, low-disk guard,
MP4 split) ships unchanged as the base.

This is a pre-v1 preview. Settings, preset, and recording-history file formats are not frozen
and may change incompatibly before 1.0.0.


Highlights

Capture-excluded on-screen overlays

All overlays use SetWindowDisplayAffinity(WDA_EXCLUDEFROMCAPTURE) — they appear on the user's
desktop but are invisible inside the captured frame, the recording file, and screen-sharing
sessions. If the capture-exclusion API fails (e.g. an older Windows build), the overlay hides
itself and logs the failure rather than leaking into the recording.

  • Recording overlay — top-right corner of the recorded monitor: status badge (REC/PAUSED)
    and elapsed timer. Visible only while recording or paused.
  • Diagnostics overlay — top-left corner of the recorded monitor, stacked below the REC pill:
    live fps, dropped frames, A/V drift, and output file size; muted-source glyphs (MIC/SYS) when a
    track is muted. Toggle in Advanced settings (off by default).
  • Countdown overlay — center of the recorded monitor: a 3-2-1 countdown displayed before
    each recording starts (class-1: fixed position, non-interactive, capture-excluded).
  • Overlay re-skin — both overlays updated to the Mappe wave-03 design tokens (pill shape, coral
    accent, refined typography). An anti-cheat compatibility note is included in the documentation
    (click-through, no code injection — low anti-cheat risk; opt-out for competitive titles is on the
    roadmap).

Tray icon + unread badge

A tray icon appears in the system notification area showing recording state:

  • Idle / Recording / Paused — distinct icon states so the recording state is always visible.
  • Unread badge — increments each time an actionable toast notification becomes visible (toasts
    that carry a button action, e.g. Recover, Open folder). Badge clears when the tray icon is clicked
    (no persistent notification panel in this release; a history panel is planned for a future wave).

Notification toasts

Transient toast notifications appear in the bottom-right corner of the primary monitor. Issued for:

  • Saved — when a recording (including remux) finishes successfully. Auto-dismisses after 5 s.
  • Low storage — mirrors the 2 GB Diagnostics warning for users not watching the Diagnostics page.
    Sticky (does not auto-dismiss).
  • Unexpected stop — when recording is stopped by the low-disk hard-stop or any non-user event.
    Sticky (does not auto-dismiss).
  • Recovery available — on launch, when one or more recovery candidates exist in the manifest.
    Sticky (does not auto-dismiss).

The notification layer is intentionally lightweight: no persistent notification center panel, no
interaction model beyond dismiss. The tray unread badge provides the lightweight running count.
Toast notifications may be suppressed by Windows Focus Assist / Do Not Disturb mode — this is a
system behavior and is not controlled by ExoSnap.

Countdown overlay

A 3-2-1 countdown is shown on the recorded monitor before each recording starts. The overlay is
capture-excluded and centered on the recorded monitor. On multi-monitor setups it follows the
selected monitor. Not configurable in this release.

Capture-frame dock button and preview integration

  • A round camera button in the Transport Dock triggers a single-frame capture (NV12 GPU readback →
    PNG). This replaces the previous DXGI-occluded preview overlay approach for the capture-frame
    action and keeps the dock layout consistent.
  • The existing capture-frame hotkey (index 2) remains fully functional.

Refined region-selection overlay

The RegionSelectionOverlay is reskinned to the Mappe wave-03 spec: darker scrim, coral
corner handles, improved typography for the dimension/position readout. The interaction model
(click-drag to select, resize handles, confirm/cancel) is unchanged.

Close-to-tray

Closing the main window sends ExoSnap to the tray rather than terminating it (opt-in, off by
default). When enabled:

  • Clicking the tray icon restores the main window.
  • A right-click tray menu offers Show/Hide window, Start/Stop recording, and Quit.
  • A recording in progress is not affected by close-to-tray — the recording continues.
  • The exit guard for in-progress saves (remux-on-stop phase) remains active.

Opt-in quick-control pill

An interactive capture-excluded overlay pill anchored to the bottom-center of the primary display.
Off by default; enable in Advanced settings. Visible only while recording is active. When enabled:

  • Shows a drag grip (click to collapse/expand) plus three action buttons: Pause/Resume, Stop,
    and Capture Frame (no marker button; markers are deferred to 0.11.0).
  • Fully interactive — accepts mouse input (drag to reposition, click to act). Not click-through.
  • Capture-excluded via WDA_EXCLUDEFROMCAPTURE.
  • Designed for situations where the user cannot see the main ExoSnap window (e.g. full-screen
    application recording).

Fixes and internal changes

  • ADR 0016 updated: all 0.3.0 overlay implementations recorded; DIAGNOSTICS-OVERLAY-R1,
    COUNTDOWN-OVERLAY-R1, QUICK-PILL-R1 marked IMPLEMENTED.
  • Build: EXOSNAP_CONFIG_DIR isolation wired through all smoke/validation environments.
  • Version: canonical version bumped to 0.3.0 in project(exosnap VERSION 0.3.0) (root
    CMakeLists.txt); all derived metadata (VERSIONINFO, About surface, artifact names) update
    automatically.
  • KNOWN_LIMITATIONS.md updated: overlay/notification limitations section added; deferred
    features list updated from 0.2.0 to 0.3.0 boundary.

Known limitations

See KNOWN_LIMITATIONS.md (shipped with the package) for the full current boundary.

  • NVIDIA NVENC only — no AMD/Intel/software encoding fallback.
  • No persistent notification center — the tray unread badge is the notification history; a
    panel is not shipped in this release.
  • Fullscreen/exclusive capture matrix deferred — capturing games that use exclusive fullscreen
    or borderless-window exclusion is deferred to 0.12.x (RC stabilization wave). The overlays work
    correctly with windowed and monitor-capture targets.
  • Countdown not configurable — duration and position are fixed in 0.3.0.
  • Quick-control pill is opt-in — disabled by default; enable in Advanced settings.
  • Toast suppression — Windows Focus Assist / Do Not Disturb may suppress toast notifications;
    this is OS behavior.
  • Poll-based disk monitor: a very fast sequential write burst could exceed the hard-stop
    threshold between 5 s polls.
  • No automatic update checking or in-app updater.
  • No code signing (portable ZIP and MSI both unsigned); Windows SmartScreen may warn on first launch.
  • No Replay Buffer.
  • No built-in editor, trimming, or Quick Trim.
  • No HDR10 / 10-bit pipeline (8-bit 4:2:0 only).
  • Display identity uses the GDI device name and may be reassigned on a monitor topology change;
    re-select a saved Region/Display target after a reboot or reconnect.
  • Hot-swap during recording is not supported.

Supported formats (0.3.0)

Container Video Audio Notes
MKV (default) AV1, H.264 (NVENC) Opus, AAC-LC Crash-tolerant recording format; split supported
WebM AV1 (NVENC) Opus Split supported
MP4 AV1, H.264 (NVENC) AAC-LC Remuxed from MKV on stop; split supported

HEVC, PCM, and FLAC are not implemented. Exact codec availability depends on your GPU generation,
driver, and the selected container/codec combination; invalid combinations are not offered.


Pre-v1 notice

ExoSnap 0.3.0 is a pre-v1 preview. Configuration, preset, and recording-history file schemas are
not frozen and may change in incompatible ways before 1.0.0. Keep your own backups of presets
you care about.


Install

Portable ZIP and MSI are attached to this release. The portable build needs no installer — extract
the ExoSnap-0.3.0-windows-x64-portable folder and run exosnap.exe. The Microsoft Visual C++
2022 x64 Redistributable
is required (usually already present); the WinGet package installs it
automatically, other distributions do not bundle it. Neither artifact is code-signed; Windows
SmartScreen may warn on first launch.

Verify a download with Get-FileHash <file> -Algorithm SHA256 against the published .sha256
sidecar.


Reporting issues

Please open an issue at https://github.com/Exoridus/exosnap/issues. Including your Windows
version, GPU model, NVIDIA driver version, and the startup log
(%TEMP%\exosnap-recorder-app-startup.log) helps a lot.


ExoSnap is licensed under GPL-3.0-or-later. Third-party component licenses are listed in
THIRD_PARTY_NOTICES.md, with full texts under licenses/. The bundled FFmpeg libraries are
LGPL-2.1 dynamically linked builds from
Exoridus/exosnap-ffmpeg-build; see
licenses/ffmpeg.txt for the full text.