2.3 KiB
| id | ticket | title | status | created | completed | ref_decisions | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0103 | real-render-worker-establishment | Introduce RuntimePlatform and TestPlatform | done | 2026-06-06 |
|
|
Objective
Introduce RuntimePlatform/Platform as the aggregate of explicit platform services, and TestPlatform as the default test fixture.
Background
DEC-0032 requires tests and runtime integration to depend on explicit facades rather than Hardware::new() and HardwareBridge.
Scope
Included
- Define aggregate platform access shape.
- Add
TestPlatforminprometeu-drivers. - Start migrating representative VM runtime tests.
Excluded
- Do not migrate all tests in this plan.
- Do not remove
HardwareBridge. - Do not migrate all host code.
Execution Steps
Step 1 - Define platform aggregate
What: Add RuntimePlatform or Platform aggregate facade.
How: Expose accessors for render sink, Game2D composer, audio, input/touch, assets/storage, clock/pacing, and telemetry placeholders.
File(s): crates/console/prometeu-hal/src/platform.rs.
Step 2 - Add TestPlatform
What: Provide ergonomic test fixture implementing the initial platform facades.
How: Reuse current local driver components internally without exposing HardwareBridge.
File(s): crates/console/prometeu-drivers/src/test_platform.rs, crates/console/prometeu-drivers/src/lib.rs.
Step 3 - Migrate representative tests
What: Move a small set of runtime tests from Hardware::new() to TestPlatform.
How: Choose tests covering render, composer, and asset surfaces.
File(s): crates/console/prometeu-system/src/services/vm_runtime/tests.rs, asset/memcard test modules as appropriate.
Test Requirements
Unit Tests
TestPlatforminitializes all required facades.
Integration Tests
- Migrated runtime tests pass with
TestPlatform.
Manual Verification
- New tests do not import
prometeu_drivers::Hardwaredirectly.
Acceptance Criteria
RuntimePlatform/Platformaggregate exists.TestPlatformexists and is used by representative tests.- Test ergonomics remain acceptable.
Dependencies
PLN-0098.PLN-0099.PLN-0102.
Risks
- Overly broad aggregate can recreate
HardwareBridge. Keep domain access explicit and named.