Polish: an experimental Processing toggle instead of a hotkey - #62
Merged
Merged
Conversation
Closes #61. The 'Dictate and polish' chord is gone; the polish step is now a Processing-tab toggle, off by default, that puts every dictation through the refiner. A stored polish chord migrates to the toggle on load, so the feature turns on with the update. The release path is unchanged: the Bool is read at key-down and the refiner is still prewarmed before the user stops speaking.
With the polish toggle on, the pill is held up across .transcribing and .polishing, and the idle hide only flew out for the clipboard hint, so the polished pill faded in place with no dive. Its model state is .polishing by then; include it with the flight path.
The bird-dive out had been moved solely elsewhere once the spinner- re-entry experiment scoped; now the keep-up runs across the whole model pass from .transcribing, the spinner only re-enters for plain transcriptions, .polishing morphs the row in place, and the finish's flight matches the settled move to its style.
dinooo13
marked this pull request as draft
September 24, 2026 21:46
With polish on, a transcript under the polish minimum never reaches .polishing, so the pill held up on the Transcribing row faded in place at idle. The controller now remembers that it is holding the pill for a polish pass and dives it out however the pass ended. Reverts the spinner guard's .polishing case, which no path reached. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Pladder --overlay-demo plays a plain, slow, clipboard, polish and short polish dictation through the real coordinator and pill, with stand-ins for the engine, microphone, paste, refiner and hotkey, and logs each state change with its wall-clock time. scripts/overlay-demo.sh records the screen around it and cuts a labelled contact sheet per path from the release to the end of the fly-out. It is how the polished pill's dive was checked, and it never touches a copy of Pladder in use. Co-Authored-By: Claude Opus 5.5 (1M context) <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.
Closes #61.
Summary
HotkeyRole.polish), its chord registration, its gesture-tracker mode, its settings row and its warnings. No second chord any more.Settings.polishDictationsand an "Experimental" section on the Processing tab: a toggle, off by default, so the cost never lands on someone who did not ask for it.DictationCoordinator.willPolishis now read offsettings.polishDictationsat key-down instead of being derived from the chord role. The release path itself is untouched — counting the branch, it is the same one Bool read.polishHotkeydecodes intopolishDictations = true(empty chord → off), so a user who recorded a polish chord gets the feature switched on with the update. Nothing is written back under the old key.willPolish, still off the release-to-paste path; the 8 s cap and the paste-as-dictated fallback are unchanged, and thepolished release-to-pastelog line is unchanged.Overlay
.transcribingand used to fade in place.scripts/overlay-demo.sh(Pladder --overlay-demo) plays the plain, slow, clipboard, polish and short-polish paths through the real coordinator and pill with stand-ins for the engine, microphone, paste, refiner and hotkey, records the screen and cuts a labelled contact sheet per path. The dive was checked with it and by hand.Tests
swift test: 325 tests pass.PolishHotkeyTestsbecamePolishToggleTests(same coverage, driven through the normal hotkey); the chord-registration tests for the polish chord are replaced by a legacy-migration decode test and a check that a toggle chord still registers beside the polish setting.Critical-path note
No change to code between
recordingStoppedandinserted: the polish branch keeps its on/off Bool read and the refiner call. Not benchmarked for that reason; worth a quick release-to-paste check when you try it, especially with the toggle on (that path is now the normal hotkey's route and its prewarm moved unchanged to at-press).