Repository navigation
Add controlled ColorPicker with Inspector Display color - #194
Merged
Merged
Conversation
Add core HsvColor (hue degrees and saturation/value of the sRGB components) with to_color and format_hex_color, and authoring::ColorPicker returning an inline trigger (swatch and #RRGGBB value) and a root-sibling panel. The panel holds a saturation/value area, drawn as the pure hue under white and black gradient overlays, and a hue strip, with input-transparent thumbs and labels stating their values. The additive color_picker role carries the hex value and expanded state through UI JSON v1, semantics, Semantic JSON v1, Replay v1/v2 and inspection/invariant targets; the panel is a group. ColorPickerDispatcher opens at the area, captures primary presses on either control, maps arrows, Home/End and gamepad directions to configurable steps, rounds requested values, moves between the controls with Tab and dismisses like ComboBox, plus Enter. The Inspector adds a per-item Display color on the Display tab, included in the Modified badge and Reset, with window-free and injected native smokes. The owner test bounds the CPU area and hue strip deviation from the sRGB model. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
HsvColor(hue in degrees; saturation/value of the sRGB components) withvalid,to_colorandformat_hex_color.authoring::ColorPickerreturns an inline trigger (swatch +#RRGGBB) and a root-sibling panel with a saturation/value area (pure hue under white/black gradient overlays) and a hue strip, with input-transparent thumbs and labels stating their values.color_pickerrole (hexvalue,expanded) in UI JSON v1, semantics, Semantic JSON v1, Replay v1/v2 and inspection/invariant targets; the panel reusesgroup.ColorPickerDispatcher: opens at the area, captures primary presses on either control (clamped, rounded to 0.0001 / 0.01°), arrows/Home/End/gamepad steps, Tab between the controls, ComboBox-style dismissal plus Enter. Changes apply live; closing does not revert.Gradients interpolate in linear light, so the panel fills approximate the sRGB HSV model. The CPU-measured deviation is at most 24/255 inside the area, 8/255 for the largest/smallest components and 5/255 on the hue strip. The swatch, value and thumbs are exact.
Validation (Windows x64, VS 2026)
inspector_hierarchy_nativehit its 60 s CTest timeout. This is not new: on unmodifiedmainthe same native smoke takes about 2 minutes in Debug on this machine. Run directly, it passes with these changes (133 presentations).color_pickercovers the model, composition, semantics, CPU pixels, codecs, dispatcher input and rejection.Out of scope: hex/channel entry, alpha, revert on Escape, numeric range semantics, GPU comparison, native accessibility.
🤖 Generated with Claude Code