80 lines
2.2 KiB
Markdown
80 lines
2.2 KiB
Markdown
---
|
|
id: PLN-0106
|
|
ticket: real-render-worker-establishment
|
|
title: Migrate Desktop Host to Platform Services
|
|
status: done
|
|
created: 2026-06-06
|
|
completed:
|
|
ref_decisions: [DEC-0032]
|
|
tags: [host, desktop, platform]
|
|
---
|
|
|
|
## Objective
|
|
|
|
Move the desktop host from directly exposing `prometeu_drivers::Hardware` as the runtime bridge to owning a platform implementation.
|
|
|
|
## Background
|
|
|
|
The host currently creates `Hardware::new()` and passes it into firmware/runtime paths. `DEC-0032` requires hosts to implement platform services, not to expose a monolithic bridge.
|
|
|
|
## Scope
|
|
|
|
### Included
|
|
|
|
- Introduce desktop/local platform ownership in the host.
|
|
- Replace host usage of `Hardware::W/H` with platform display constants or framebuffer descriptor.
|
|
- Keep the same visual/audio/input behavior.
|
|
|
|
### Excluded
|
|
|
|
- Do not implement render worker thread.
|
|
- Do not change windowing library or presentation policy.
|
|
|
|
## Execution Steps
|
|
|
|
### Step 1 - Add host platform field
|
|
|
|
**What:** Host runner owns a platform implementation rather than raw `Hardware`.
|
|
**How:** Wrap current local driver implementation behind platform facades.
|
|
**File(s):** `crates/host/prometeu-host-desktop-winit/src/runner.rs`.
|
|
|
|
### Step 2 - Replace direct hardware constants
|
|
|
|
**What:** Stop reading `Hardware::W/H` directly in host rendering/input.
|
|
**How:** Use a framebuffer/display descriptor exposed by platform/render service.
|
|
**File(s):** `crates/host/prometeu-host-desktop-winit/src/runner.rs`, `input.rs`.
|
|
|
|
### Step 3 - Update debugger host setup
|
|
|
|
**What:** Debugger paths instantiate platform fixture/implementation.
|
|
**How:** Replace `Hardware::new()` in debugger setup.
|
|
**File(s):** `crates/host/prometeu-host-desktop-winit/src/debugger.rs`.
|
|
|
|
## Test Requirements
|
|
|
|
### Unit Tests
|
|
|
|
- Host crate tests compile.
|
|
|
|
### Integration Tests
|
|
|
|
- `cargo test -p prometeu-host-desktop-winit`.
|
|
|
|
### Manual Verification
|
|
|
|
- Desktop host still runs stress cartridge.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] Desktop host owns platform services.
|
|
- [ ] Host no longer treats `Hardware` as runtime bridge.
|
|
- [ ] Display dimensions come from platform/render descriptor.
|
|
|
|
## Dependencies
|
|
|
|
- `PLN-0105`.
|
|
|
|
## Risks
|
|
|
|
- Desktop host mixes runtime and window concerns. Keep worker threading out of this plan.
|