Productize guarded tracking, attached overlay, and QA coverage#23
Open
Productize guarded tracking, attached overlay, and QA coverage#23
Conversation
- add TrackingGuard, persistent HUD state projection, and QA debug surfaces\n- add attached overlay fallback diagnostics, onboarding, and mockable anchoring\n- add unit/integration/ui test layers, CI workflow, and rollout docs
- keep the UI harness app foreground when the SwiftUI root appears\n- make UI tests explicitly relaunch, reactivate, and tear down the app between cases
fb6cbe1 to
ad128a7
Compare
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
TrackingGuard, structured speech frames, manual aside controls, and backward-compatible remote state expansionWhat Changed
TrackingGuard,TrackingHotkeyController,WindowAnchorService,OverlayStateProjector,PersistentHUDPresenter, and attached overlay state/typesunit / integration / uitest layersWhy
The previous word tracking path still coupled speech recognition directly to highlighted character advancement. That made it too easy for asides or off-script narration to push the prompt forward and reduced trust in the teleprompter experience.
This PR separates recognition from advancement decisions, makes attached overlay failures visible and diagnosable, and adds the QA/testing surface needed to treat these flows as stable product behavior rather than prototype behavior.
Validation
./scripts/test-all.shunit.xcresult:/var/folders/hg/v36fg5jx7_l9jzgv4ywz4pn80000gn/T/textream-tests/results/unit.xcresultintegration.xcresult:/var/folders/hg/v36fg5jx7_l9jzgv4ywz4pn80000gn/T/textream-tests/results/integration.xcresultui.xcresult:/var/folders/hg/v36fg5jx7_l9jzgv4ywz4pn80000gn/T/textream-tests/results/ui.xcresultCovered automatically:
Covered manually via regression checklist:
Backward Compatibility
Notes
upstream/masterso the PR excludes fork-only history