Repository navigation
Conversation
… color field and a channel strip
The Color Wheel panel's menu gains Wheel View and Box View, and Box
Channel with Hue, Saturation, Brightness, Red, Green and Blue while the
box shows. The box takes the wheel's place: a color field with a 22 pt
channel strip at its right. The field shows the other two components on
the Color Picker's axes (Hue: saturation across and brightness up; Red:
blue across and green up). A click or drag in the field sets those two,
and the strip sets the channel; a drag is one undo step, and picks go
through the same paint commands and color model rules as the wheel's.
With no color to edit, the field and the strip show no markers and read
0 to screen readers, as the wheel does.
ui.colorWheel {view?, channel?} sets the view and the channel and
returns them. Params that are not an object, another key or a value off
the list are an error and change nothing. Both settings are kept with
the preferences, and a saved value the build does not know reads as
that key's default without losing the other preferences.
The strip takes the arrow keys after a click and offers screen readers
its increment, decrement and set-value actions. The Color Picker's
channel slider uses the same widget, so it now takes the arrow keys and
offers those actions too. New strings have rows in the complete
catalogs, and docs/mcp.md and docs/control-protocol.md describe the
command.
Contributor
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 6 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
This was referenced Nov 14, 2026
With a None fill, a set-value action, a key or an increment on the box view's channel strip that leaves the number at the last solid color's value now sets the fill, as the field and the hue ring do.
This was referenced Nov 14, 2026
This branch has not been deployed
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.
What and why
Part of #978. The Color Wheel panel (#2279) gains a box view, VectorCraft's own alternative to the wheel.
ui.colorWheel {view?, channel?}sets the view and the channel and returns{view, channel}. Params that are not an object, another key or a value off the list are an error and change nothing. Both settings are kept with the preferences; a saved value this build does not know reads as that key's default without losing the other preferences.channel_slider_stepped), so it now takes the arrow keys and offers those actions too.docs/mcp.md,docs/control-protocol.mdand the Color Wheel line indocs/target-app-parity.mddescribe the change.How it was tested
New tests in
crates/ui-egui/src/panels/tests_color_wheel_box.rs(13) cover the field's axes for Hue and Red, a drag as one undo step, the strip's arrow keys and screen-reader actions, the strip with a None fill,ui.colorWheel's settings and errors, the saved settings read key by key, the panel menu, the box's mapping for every channel, the translated errors, and the Color Picker's channel slider taking the arrow keys. The tests were shown failing with each of these broken in turn: theui.colorWheeldispatch, the param checks, the per-key settings reader, the strip's key handling, the strip's no-color state, the field's vertical axis, a catalog row, and the Color Picker's stepped slider.On Linux, on
mainata47d7eec:cargo fmt --all -- --checkcargo clippy -p vectorcraft-ui-egui -p vectorcraft-mcp --all-targets -- -D warningscargo test -p vectorcraft-ui-egui -p vectorcraft-mcp --no-fail-fast: 4850 passed, 0 failed, 2 ignored, in 11 test binaries.cargo xtask ui-commands --check,cargo xtask brands,cargo xtask assetsandcargo xtask layersChecklist
cargo xtask cipasses (fmt, clippy, tests, assets, brands, layers, wasm).unwrap(),expect(),panic!,unreachable!,todo!orunimplemented!outside tests, and no unchecked indexing on data from files, parameters ormessages. Errors are returned as
Resultand shown to the user(why and how).
ASSETS.md.