refactor(web): differentiate search-space module types 🚂#15413
Merged
jahorton merged 8 commits intoepic/autocorrectfrom Jan 22, 2026
Merged
refactor(web): differentiate search-space module types 🚂#15413jahorton merged 8 commits intoepic/autocorrectfrom
jahorton merged 8 commits intoepic/autocorrectfrom
Conversation
User Test ResultsTest specification and instructions User tests are not required Test Artifacts
|
28ded16 to
3a56e23
Compare
This PR converts SearchQuotientSpur into an abstract base class with specialized forms for different cases. Two implementations are provided: - SearchQuotientRoot - for the root node of the search - LegacyQuotientSpur - for modeling existing behavior before swapping to our target design and model Build-bot: skip build:web Test-bot: skip
8f505b3 to
348e876
Compare
…tor/web/differentiate-module-types
ermshiperete
approved these changes
Jan 16, 2026
web/src/engine/predictive-text/worker-thread/src/main/correction/legacy-quotient-spur.ts
Outdated
Show resolved
Hide resolved
web/src/engine/predictive-text/worker-thread/src/main/correction/legacy-quotient-spur.ts
Outdated
Show resolved
Hide resolved
web/src/engine/predictive-text/worker-thread/src/main/correction/legacy-quotient-spur.ts
Outdated
Show resolved
Hide resolved
web/src/engine/predictive-text/worker-thread/src/main/correction/search-quotient-root.ts
Outdated
Show resolved
Hide resolved
ermshiperete
approved these changes
Jan 16, 2026
mcdurdin
reviewed
Jan 19, 2026
| @@ -0,0 +1,61 @@ | |||
| import { PriorityQueue } from '@keymanapp/web-utils'; | |||
| @@ -0,0 +1,92 @@ | |||
|
|
|||
| // Shallow-copies the array to prevent external modification; the Transforms | ||
| // are marked Readonly to prevent their modification as well. | ||
| return [...this.inputs]; | ||
| return this.inputs ?? []; |
Member
There was a problem hiding this comment.
This no longer matches the comment
…tor/web/differentiate-module-types
…tor/web/differentiate-module-types
Base automatically changed from
refactor/web/use-interface-as-search-parent
to
epic/autocorrect
January 22, 2026 16:00
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.
This PR converts SearchQuotientSpur into an abstract base class with specialized forms for different cases. Three implementations are provided:
SearchQuotientSpurcannot directly use the constructor of any of its subtypes without a runtime JS error occurring.SearchQuotientSpur... which also does give us clearer typing and behavior for it.In the future, the plan is to retire
LegacyQuotientSpurin favor of three new variants:InsertionQuotientSpurDeletionQuotientSpurSubstitutionQuotientSpurThe search graph can then be dynamically built and managed in accordance with our target design as documented at #15161.
Build-bot: skip build:web
Test-bot: skip