feat: implement core Roku ECP adapter

Add SSDP discovery plus the main ECP app, state, and key control flows so
Milestone 2 has a working Roku foundation with parser and key-mapping tests.
This commit is contained in:
44r0n7
2026-04-14 09:15:17 -04:00
parent 584da2d825
commit ca9a6c509a
5 changed files with 1450 additions and 42 deletions
+3 -4
View File
@@ -19,7 +19,7 @@ script and control smart TVs through a stable, brand-agnostic API.
## Project Status
**Phase:** Milestone 1 scaffolded. Foundation compiles; runtime logic not started.
**Phase:** Milestone 2 in progress. Core Roku ECP support exists; daemon and CLI wiring are still pending.
**Platform v1:** Roku only (via ECP HTTP API)
**Language:** Rust
**Crate type:** Binary (single binary distribution target)
@@ -56,7 +56,7 @@ tvctl/
│ │ └── mod.rs
│ └── adapters/ ← Platform adapters and shared types
│ ├── mod.rs ← Adapter trait definition and core data shapes
│ └── roku/ ← Roku ECP adapter scaffold
│ └── roku/ ← Roku ECP adapter implementation
│ └── mod.rs
└── cache/ ← Runtime cache (gitignored)
```
@@ -332,11 +332,10 @@ enabled = true
## What Has NOT Been Started
- Roku ECP transport and device discovery logic
- Daemon runtime, socket transport, and persistence logic
- HTTP route handlers and request validation
- Real CLI command handling beyond skeleton parsing
- Any tests
- Integration and hardware validation coverage
- CI/CD configuration
- Release/packaging