Outcome
Provide one accessible, scale-aware typography/UI rendering foundation for client and editor while keeping product layouts in their repositories.
Scope and invariants
- Integrate a retained/immediate Rust UI layer with wgpu through Atrinik-owned semantic components and theme roles; validate the chosen egui path during implementation.
- Own font discovery/bundling, shaping/rasterization, fallback, glyph atlases, scale-aware caches, clipping, color/contrast roles, and device recreation.
- Define logical pixels, viewport scale, text scale, focus/semantics hooks, and input/render coordinate agreement with SDL3 platform adapters.
- Expose reusable low-level controls needed by both apps without importing game session or editor document state.
- Support offscreen UI fixtures and deterministic clocks/animations.
Acceptance criteria
- Text/control fixtures render at multiple UI/DPI scales, languages/scripts selected for project support, clipped/long content, missing glyphs, device recreation, and multiple viewports.
- Keyboard/controller focus and accessibility semantics are testable by consumers and agree with rendered geometry.
- Theme/semantic roles support client accessibility issue without hard-coded gameplay RGB literals.
- Glyph/UI caches have bounded memory/invalidation metrics.
- Client/editor can build independent product layouts on the same released integration.
Dependencies and parallelization
Depends on #5/#6. Client controls/settings and editor chrome can prototype against semantic component contracts in parallel.
Licensing
Rendering code, shaders, tests, and newly authored fixtures are MIT. Reuse from atrinik/classic sources is allowed only through the audited approved-grantor grant; all other behavior is independently implemented. Bundled assets require exact compatible licenses and notices.
Outcome
Provide one accessible, scale-aware typography/UI rendering foundation for client and editor while keeping product layouts in their repositories.
Scope and invariants
Acceptance criteria
Dependencies and parallelization
Depends on #5/#6. Client controls/settings and editor chrome can prototype against semantic component contracts in parallel.
Licensing
Rendering code, shaders, tests, and newly authored fixtures are MIT. Reuse from
atrinik/classicsources is allowed only through the audited approved-grantor grant; all other behavior is independently implemented. Bundled assets require exact compatible licenses and notices.