Skip to content

Domain widgets Tier 2: add ColorWheels (lift/gamma/gain trackballs) #511

Description

@matt-edmondson

Part of the domain widget shortlist (docs/plans/2026-09-29-domain-widget-shortlist.md), ranked 13th of 13: medium-high value, medium effort. It's rare in .NET ImGui, so it would set the library apart.

Work is already underway on this in another thread of the "New widget opportunities" project. Check for an open PR before picking it up, so it isn't built twice.

What

Three colour-grading wheels (lift, gamma, gain). Each is a trackball offsetting hue and saturation, with a master slider for luminance and a double-click to reset.

Reuses

  • An XYPad-style state class for the trackball puck, tested without an ImGui context.
  • The colour maths comes from ktsu.Semantics.Color, converted at the seam through ImGui.Color.

Done when

  • The trackball state and colour mapping are unit-tested without an ImGui context.
  • The widget calls ImGuiProbes.MarkItem.
  • There's an isolation suite in tests/ImGui.Widgets.UITests/.
  • There's a demo in examples/ImGuiWidgetsDemo/.
  • The widget list in CLAUDE.md and the README is updated.

Activity

  1. matt-edmondson commented on Sep 29, 2026

    @matt-edmondson
    ContributorAuthor

    Triage

    • Category: Feature Request
    • Priority: Low. It is a Tier 2 entry on the domain-widget shortlist.
    • Area / suggested assignment: ImGui.Widgets/.
    • Duplicates: none.
    • In progress: yes. Open PR [minor] Add lift/gamma/gain colour wheels #515 ("[minor] Add lift/gamma/gain colour wheels") implements this. Review and merge it there rather than starting separate work.

    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions