Move fast mode to a bolt button in the traits pane - #440
Merged
Merged
Conversation
Fast mode leaves the traits option list: a lightning bolt pinned to the pane's top-right corner owns it for both Claude (fastMode boolean) and Codex (serviceTier fast tier). Filled amber when on, muted outline when off, dimmed and inert with a tooltip when the model has no fast mode. The wrapper occludes the scrolling list beneath it so hover and clicks never reach an option row. `FastMode` in core::provider_models is the one owner of "does this spec support fast / which value switches it / is it on"; the Orchestrate Fast switch uses it instead of its own descriptor scan. Also fixes a pre-existing sidebar test initializer missing `title_generating` and a stale fmt in codex.rs so the workspace checks pass.
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 changes
Fast mode is pulled out of the traits (reasoning) picker's option list and becomes a persistent lightning-bolt button pinned to the pane's top-right corner.
#F5A524, one hard-coded colour inTheme::fast_mode_accent, deliberately not a theme token) = on; outline bolt in muted foreground = off. Click toggles and keeps the pane open.cursor_default, no handler. On desktop a tooltip reads "Current model cannot enable fast mode"; in the compact layout tapping does nothing and there is no tooltip..occlude()s it;on_clickstops propagation. Hovering or clicking the bolt never reaches an option row scrolled underneath it.FastModeincrates/core/src/provider_models.rsis the single owner of "does this model have fast mode / is it on / which selection toggles it" (ClaudefastModeboolean, or CodexserviceTierselect with afast-valued or "Fast"-labelled tier, which the app-server reports aspriority). The composer bolt and the Orchestrate settings Fast switch both use it; the duplicatemodel_fast_supportedis removed.assets/icons/zap.svg/zap-filled.svg(Lucide, currentColor).toolbar_icon_buttonnow accepts anyIcon.composer.fast_modeandcomposer.fast_mode_unsupportedin bothen.ymlandzh-CN.yml.docs/DESIGN.mdcomposer section updated.The chip label is untouched: the desktop chip still shows Fast/Normal or the tier name.
Tests
fast_mode_keys_on_claude_boolean_and_codex_fast_tiercovers the boolean shape, the app-server select shape (default/priority), and an unsupported spec, replacing the Orchestrate settings test that exercised the same rule.Visual verification (macOS,
TCODE_DATA_DIRthrowaway profile)Checks run
cargo fmt --all --check— passcargo clippy --workspace --all-targets --locked -- -D warnings— passcargo build --workspace --locked— passcargo test --workspace --locked— pass (core 128, ui 413, runtime 170)