Skip to content

Milestone 6 – Windows Viewer Engine (Phase 1 - Architecture)

Pre-release
Pre-release

Choose a tag to compare

@Ad1th Ad1th released this 05 Aug 17:25
· 276 commits to main since this release

Milestone 6 Progress Update

Release: v0.6.0-alpha.1

This pre-release marks the completion of the initial Windows Viewer architecture for Renderd.

The foundational application structure is now in place, providing the framework that future Milestone 6 work will build upon. While networking, rendering, decoding, and presentation are not yet fully integrated, the viewer now has a production-oriented architecture capable of supporting the remaining implementation work.


Highlights

Windows Viewer Architecture

  • Scaffolded the renderd-viewer crate.
  • Established the primary application lifecycle.
  • Added centralized configuration and error handling.
  • Introduced shared application state and runtime metrics.

Window Management

  • Implemented the Win32 application lifecycle using winit.
  • Added Per-Monitor V2 DPI awareness.
  • Added native window creation.
  • Added resize event handling.
  • Added fullscreen abstraction.
  • Introduced platform-specific initialization.

Renderer Abstraction

  • Added a renderer trait defining the graphics lifecycle.
  • Implemented a NullRenderer backend for testing.
  • Defined initialization, resize, rendering, presentation, and shutdown interfaces.

Decoder Abstraction

  • Added a decoder trait.
  • Implemented a NullDecoder.
  • Defined decoded frame representations.
  • Established the decoder lifecycle.

Frame Pipeline

  • Added a bounded thread-safe frame queue.
  • Implemented automatic queue overflow handling.
  • Added stale frame eviction.
  • Prepared the producer/consumer pipeline for future networking integration.

Application State

  • Added centralized viewer state management.
  • Added connection state tracking.
  • Added runtime metrics.
  • Prepared shared state for future transport integration.

Internal Improvements

  • Refactored viewer modules into well-defined abstractions.
  • Improved separation of concerns throughout the viewer crate.
  • Applied workspace formatting.
  • Maintained zero Clippy warnings.
  • Maintained passing CI across Linux, macOS, and Windows.

Verification

Verified with:

  • cargo fmt
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo nextest run --profile ci
  • GitHub Actions CI

Current Milestone Status

Milestone 6 remains in progress.

Completed work includes the foundational viewer architecture and platform integration. Remaining work will focus on graphics rendering, media decoding, transport integration, and end-to-end frame presentation before the milestone is considered complete.