3.1 KiB
| id | ticket | title | status | created | completed | ref_decisions | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0111 | real-render-worker-establishment | Define Read-Only Render Resource Access | done | 2026-06-15 |
|
|
Briefing
DEC-0033 requires the worker backend to resolve render resources by stable ids through compact read-only access, without copying banks, snapshotting banks, requiring Arc in the public contract, or accessing mutable Hardware/Gfx/FrameComposer.
Decisions de Origem
DEC-0033: Real Render Worker Contract.
Alvo
Define shared read-only render resource traits in HAL and implement them over existing local bank storage without changing bank ownership semantics.
Escopo
- Define compact HAL traits for read-only glyph and scene bank access by id.
- Keep the public contract id-based and read-only.
- Implement the traits in the local driver/resource owner currently used by rendering.
- Add tests proving banks are read through the new interface.
Fora de Escopo
- No worker thread.
- No bank copying or snapshotting.
- No public
Arcrequirement. - No asset residency policy changes.
Plano de Execucao
Step 1 - Define HAL read-only traits
What: Add worker-facing resource access contracts.
How: Define traits for resolving glyph and scene banks by stable ids. Return borrowed read-only references or compact read-only views, not mutable handles.
File(s): crates/console/prometeu-hal/src/*, likely a new render resource module.
Step 2 - Implement local resource access
What: Expose current local bank storage through the new traits.
How: Implement the read-only traits for the existing memory bank/resource owner used by prometeu-drivers.
File(s): crates/console/prometeu-drivers/src/memory_banks.rs, frame_composer.rs, or adjacent resource modules.
Step 3 - Thread access through backend-facing APIs
What: Make future backends able to receive resource access without Hardware.
How: Add narrow parameters/types where needed so a backend can be given read-only resources independently from the full platform.
File(s): HAL contracts and driver modules touched above.
Step 4 - Add resource access tests
What: Prove id lookup and read-only behavior. How: Add tests for resident/missing glyph and scene banks through the new traits and verify no mutable API is exposed. File(s): HAL/driver tests.
Criterios de Aceite
- Worker-facing render resource access is defined in
prometeu-hal. - Resource access is by stable id and read-only.
- The public contract does not require
Arc, bank copies, bank snapshots,Hardware,Gfx, orFrameComposer. - Local driver storage implements the traits.
Tests / Validacao
cargo test -p prometeu-hal -p prometeu-driversrg "Arc<.*RenderResource|snapshot.*bank|&mut Hardware|&mut Gfx|FrameComposer" crates/console/prometeu-hal crates/console/prometeu-drivers -n
Riscos
- Returning concrete bank internals may overexpose driver implementation.
- Accidentally requiring
Arcin the trait would make a storage strategy part of the public contract.