prometeu-runtime/discussion/workflow/plans/PLN-0065-pixel-operator-font-integration.md
2026-05-15 17:50:59 +01:00

3.5 KiB

id ticket title status created ref_decisions tags
PLN-0065 prometeu-hub-ui-direction Pixel Operator Font Integration open 2026-05-15
DEC-0028
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