2.1 KiB
2.1 KiB
| id | ticket | title | status | created | ref_decisions | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0092 | vm-render-parallel-execution-boundary | Add Render Epoch Ownership Transitions | done | 2026-06-05 |
|
|
Briefing
DEC-0031 requires foreground visual-owner transitions to invalidate stale render work using epoch/generation and owner identity.
Objective
Add render epoch/ownership metadata and transition APIs so stale submissions cannot be presented after mode, app, crash, cartridge, or shutdown transitions.
Dependencies
- Source decision:
DEC-0031. PLN-0089provides the handoff abstraction.
Scope
- Add epoch/generation and owner identity to render submission metadata.
- Add central
RenderManagerAPI for applying ownership transitions. - Integrate lifecycle transitions that change visual owner.
- Reject stale pending/current submissions before present.
Non-Goals
- Do not implement smooth visual transitions.
- Do not define Game pause/resume stack semantics from
DSC-0041. - Do not give host/HAL authority to decide ownership.
Execution Method
- Define render owner metadata shape: epoch/generation plus mode/app/surface owner as needed.
- Extend
RenderSubmissionmetadata and constructors. - Add
RenderManagertransition API that increments/applies epoch. - Call the API from SystemOS/firmware lifecycle transition points.
- Update render consumption to check ownership before present.
- Add discard telemetry hook for stale epoch.
Acceptance Criteria
- Game -> Shell, Shell -> Game, crash, splash, cartridge/app swap, and shutdown can invalidate stale render work.
- Worker/current consumer cannot present a submission with stale epoch/owner.
- Host/HAL does not decide semantic ownership.
- Same physical surface can be reused with distinct logical ownership.
Tests
- Unit test stale epoch discard before present.
- Integration test mode transition with pending Game submission.
- Test cartridge/app swap increments ownership even when AppMode remains unchanged.
Affected Artifacts
RenderSubmissionmetadata.RenderManager.- Firmware/SystemOS transition code.
- Render publication path.