--- id: PLN-0065 ticket: prometeu-hub-ui-direction title: Pixel Operator Font Integration status: open created: 2026-05-15 ref_decisions: [DEC-0028] tags: [hub, ui, shell, system-apps, lifecycle, design-system] --- ## Briefing Integrate the already-available Pixel Operator font asset into the first Hub UI slice when the existing rendering path can support it without creating a new public font system. Source decision: `DEC-0028`. ## Objective Use pixel-style typography for the Hub/Home and fake Shell app labels while keeping font work scoped to the initial UI slice. ## Dependencies - `DEC-0028` must remain accepted. - `PLN-0064` can proceed without this plan if font integration exposes unrelated architecture work. - The asset is expected to exist already under `assets/pixel_operator` or from `assets/pixel_operator.zip`. ## Scope - Locate and verify the extracted Pixel Operator asset. - Determine the current text rendering path available to Hub/System UI. - Add a local font binding or asset loading path if one already fits the runtime. - Use the font for Hub button labels and simple Shell app text. - Document any reason this must be deferred. ## Non-Goals - No general font manager unless one already exists and only needs registration. - No text layout engine. - No multilingual shaping. - No public asset/font spec change unless implementation requires a durable contract. - No dependency download. ## Execution Method 1. Verify the asset. - What changes: confirm exact files and format under `assets/pixel_operator`. - How: inspect asset directory and identify usable font/bitmap files. - Files: `assets/pixel_operator*`. 2. Inspect current text rendering. - What changes: determine whether Hub can draw text through existing HAL/GFX primitives or asset-backed glyph rendering. - How: search current text/glyph/font rendering APIs and examples. - Files: `crates/console/prometeu-hal`, `crates/console/prometeu-system`, current asset/glyph code. 3. Add the narrowest local integration. - What changes: make Hub text use Pixel Operator if the path is straightforward. - How: register/load the asset in the same style as existing assets; keep code local to Hub UI if there is no general font contract. - Files: Hub module and asset-loading modules identified in step 2. 4. Add fallback behavior. - What changes: if font rendering is not currently suitable, keep the visual slice working with existing text/primitive rendering and record a follow-up. - How: do not block `PLN-0064` on broad font architecture. - Files: Hub module and this plan's execution notes. 5. Validate typography use. - What changes: button labels and simple Shell app labels render legibly in 270p. - How: manual visual verification plus any available render tests. - Files: Hub render path. ## Acceptance Criteria - [ ] Pixel Operator asset location and format are verified. - [ ] Hub text rendering uses Pixel Operator when the existing rendering path supports it. - [ ] If deferred, the reason is recorded and `PLN-0064` remains executable. - [ ] No broad font/text toolkit is introduced. - [ ] Text remains legible at 270p. ## Tests - Compile tests for any asset/font binding. - Unit tests only if new parsing/registration logic is added. - Manual visual verification of button labels and Shell labels. ## Affected Artifacts - `assets/pixel_operator*` - `crates/console/prometeu-system/src/programs/prometeu_hub/` - Existing HAL/GFX/asset modules if they already host font or glyph rendering