2.8 KiB
| id | ticket | title | status | created | completed | ref_decisions | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0117 | real-render-worker-establishment | Integrate Runtime Submission With Worker | open | 2026-06-15 |
|
|
Briefing
DEC-0033 requires VM/render production to submit work without blocking on worker consumption. This plan connects runtime frame closure to the worker handoff while preserving local synchronous fallback.
Decisions de Origem
DEC-0033: Real Render Worker Contract.
Alvo
Route eligible Game render submissions from RenderManager into the real worker handoff and keep Shell/local paths correct.
Escopo
- Add worker-capable runtime path.
- Submit owned
RenderSubmissionto the handoff. - Preserve AppMode policy: Game may use worker; Shell remains local unless a future decision changes it.
- Keep local synchronous fallback.
- Prove VM tick returns without waiting for worker backend completion.
Fora de Escopo
- No desktop host presentation.
- No final stale/repeat behavior beyond integration needed for basic worker use.
- No spec edits.
Plano de Execucao
Step 1 - Add worker ownership to runtime state
What: Store worker controller/handoff in runtime-owned state.
How: Extend VirtualMachineRuntime or RenderManager integration points without moving policy to host.
File(s): crates/console/prometeu-system/src/services/vm_runtime/tick.rs, render_manager.rs, worker modules.
Step 2 - Submit Game frames to worker handoff
What: Replace local worker prototype path with real worker submission.
How: On eligible Game frame closure, publish owned RenderSubmission into the handoff and return to VM tick without waiting for consumption.
File(s): runtime tick/render manager integration.
Step 3 - Preserve local fallback
What: Keep current local synchronous behavior available.
How: Use existing RenderConsumerPath/policy or update it to select local fallback when worker is disabled/unavailable.
File(s): render_manager.rs, tick.rs.
Step 4 - Add non-blocking tests
What: Prove VM producer does not block. How: Use harness to hold backend render, run tick/publish additional frames, assert return and replacement telemetry. File(s): runtime worker tests.
Criterios de Aceite
- Game render submissions can be sent to the real worker handoff.
- VM tick does not wait for worker rasterization.
- Shell/local policy remains unchanged.
- Local synchronous fallback still passes existing tests.
- Replacement telemetry increments when producer outruns worker.
Tests / Validacao
cargo test -p prometeu-systemcargo test -p prometeu-firmware
Riscos
- Accidentally making frame closure wait for worker consumption would violate DEC-0033.
- Mixing Shell lifecycle rendering into the worker path too early would broaden scope.