Commit Graph

2 Commits

Author SHA1 Message Date
Vantz Stockwell
6c65f171f8 feat: RDP service with mock backend for development
Add RDPService with session lifecycle management (connect, disconnect,
input forwarding, frame retrieval) using an injected backend factory.
Implement MockBackend that generates animated test frames with a
blue-purple gradient, bouncing color-cycling rectangle, pulsing circle,
and grid overlay for canvas renderer verification on macOS without
FreeRDP. The real FreeRDP purego bindings are deferred to Windows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 07:17:26 -04:00
Vantz Stockwell
14b780c914 feat: RDP types, pixel buffer, and scancode mapping
Define the RDPBackend interface, RDPConfig, and FrameUpdate types that
abstract FreeRDP behind a pluggable backend. Add PixelBuffer for shared
RGBA frame management with partial-update support and dirty tracking.
Implement full 104-key US keyboard scancode map (JS KeyboardEvent.code
to RDP hardware scancodes) with extended-key detection helpers and
mouse event flag constants matching MS-RDPBCGR.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 07:17:12 -04:00