Repository navigation
Milestone 6 – Windows Viewer Engine (Phase 1 - Architecture)
Pre-release
Pre-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-viewercrate. - 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
NullRendererbackend 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 fmtcargo clippy --workspace --all-targets -- -D warningscargo 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.