Improve speech tracking and macOS prompter readability - #119
Open
osmanartuner wants to merge 1 commit into
Open
Conversation
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.
Reading longer scripts on a large display exposed two problems: word tracking could stall after skipped or misrecognized words, and scrolling could stop when the active word moved beyond the rendered rows. This contribution adds bounded phrase recovery and supplies positions for offscreen words so the view can catch up, together with persistent window and typography controls for large-display reading.
Changes
SpeechRecognizermatching path without starting microphone capture.New installations and Reset All now select Floating Window and 48 pt text. A new floating window starts at 720 × 420 points; existing saved mode/font selections are honored. Line spacing defaults to 1.0×, preserving the previous spacing.
The application remains Textream. Bundle identifiers, signing/release configuration, update endpoints, and iOS sources are unchanged. The icon is proposed separately.
Validation
./script/test_preferences.sh: 59 checks passed on this branch, including preference reload in a separate process, disconnected-display recovery, offscreen scroll coordinates, short/long speech recovery, repeated partial transcripts, silence, and the first new word after recovery.macOS Release build passed on Apple Silicon with Xcode 26.1.1:
xcodebuild -project Textream/Textream.xcodeproj -scheme Textream \ -configuration Release -destination 'platform=macOS,arch=arm64' \ -derivedDataPath .build/review build CODE_SIGNING_ALLOWED=NOEarlier manual checks on the personal fork of this behavior covered live resizing, position/size restoration after relaunch, persistent font/spacing settings, and keeping a later reading position visible after changing font size.
Live English speech recognition still needs end-to-end confirmation. Physical external displays, Intel, and distribution signing/notarization were not tested.
Related work
There is overlap with the floating-window persistence and drag affordances in #91 and #93. #73 addresses different manual/smooth-scroll anchor behavior, and #68 concerns conservative speech-alignment gating. These are linked for review context; this proposal combines the changes exercised in a personal large-display reading workflow.