Skip to content

tracking: text rendering quality at small sizes (upstream gg#174) #34

@kolkov

Description

@kolkov

Summary

Text labels at 12-16px (standard UI sizes) have inconsistent stroke weight — visible in hello example on "Dark mode", "Enable notifications", radio labels. Root cause is in gg's MSDF pipeline.

Upstream Tracking

All implementation work happens in gg: gogpu/gg#174

UI Integration Plan

Once gg delivers the TextMode API (TEXT-QUALITY-004) and GPU vector text (TEXT-QUALITY-005), the UI renderer will:

  1. Set ctx.SetTextMode(gg.TextModeVector) for quality-first rendering
  2. Propagate DPI scale factor from window to gg context
  3. Optional: per-widget text mode (animated counters -> MSDF for performance)

Expected Timeline

  • Phase 0 (gg): MSDF tuning — immediate improvement, no UI changes needed
  • Phase 1 (gg): DPI scaling — UI passes scale factor
  • Phase 2 (gg + ui): TextMode API — UI sets Vector mode
  • Phase 3 (gg): Hinting + regression tests

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: widgetCore widget abstractions & interfacespriority: highImportant for next releasetype: enhancementImprove existing feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions