2.3 KiB
| id | ticket | title | status | created | completed | ref_decisions | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0099 | real-render-worker-establishment | Introduce Owned RenderSubmissionSink | open | 2026-06-06 |
|
|
Objective
Introduce an owned RenderSubmissionSink facade with minimal typed submission errors.
Background
DEC-0032 requires render publication to move away from HardwareBridge and to accept owned RenderSubmission values so the contract is compatible with async handoff.
Scope
Included
- Define
RenderSubmissionSink. - Define minimal
RenderSubmitError. - Implement the facade for the current local driver path.
Excluded
- Do not migrate all publication call sites yet.
- Do not spawn a render worker.
- Do not remove
HardwareBridge::publish_render_submission.
Execution Steps
Step 1 - Define sink and error
What: Add RenderSubmissionSink and RenderSubmitError.
How: submit_render_submission(&mut self, submission: RenderSubmission) -> Result<(), RenderSubmitError>.
File(s): crates/console/prometeu-hal/src/platform.rs or a render-specific HAL module.
Step 2 - Implement local sink
What: Implement the sink for the current local driver implementation.
How: Adapt owned submission to the existing local Hardware publication path.
File(s): crates/console/prometeu-drivers/src/hardware.rs.
Step 3 - Add tests
What: Prove owned submission is consumed by the local sink.
How: Add driver test using RenderSubmission::game2d and RenderSubmission::shell_ui.
File(s): crates/console/prometeu-drivers/src/hardware.rs or platform test module.
Test Requirements
Unit Tests
- Local sink accepts owned Game2D and ShellUi submissions.
- Error type is constructible and debuggable.
Integration Tests
cargo test -p prometeu-hal -p prometeu-drivers.
Manual Verification
- Confirm the sink does not take
&RenderSubmission.
Acceptance Criteria
RenderSubmissionSinktakes ownedRenderSubmission.- Minimal typed error exists.
- Local driver implements the sink.
- Existing publication behavior remains intact.
Dependencies
PLN-0098.
Risks
- Local paths may still need temporary borrow adaptation. Keep it internal to the implementation.