Commit graph

32918 commits

Author SHA1 Message Date
Joshua Horton
4f98dbff7f change(web): avoid main-code internal-hash imports 2026-01-09 10:59:38 -06:00
Joshua Horton
cf862439d5 change(web): track SearchNode last edit-edge type 2026-01-09 10:59:38 -06:00
Joshua Horton
8a165d24b4 change(web): remove duplicate correction-search path filtering
Upon investigation into the code being removed, this mostly triggered whenever an empty transform appeared in the input - during a context reset, at initialization, or when a deadkey is typed.  (Deadkeys aren't sent to the pred-text engine.)  This is generally not a common case within the engine, and there exists other filtering that helps prevent duplicating search results.

Suppose a token that begins tagged with an empty transform.  When the search performs an 'insertion' to better lookup words down a lexical path, the 'insertion' is identical whether before or after an empty transform.  Similarly, insertions after a deletion appear no different than substitutions (or the same insertion before the deletion, then the deletion itself).

The code likely didn't gain us much, as it likely carried some performance overhead - it built a large object that required memory and lookup time that involved constructing and processing strings for hashing.

Build-bot: skip build:web
Test-bot: skip
2026-01-09 10:59:38 -06:00
Joshua Horton
db77619672 docs(web): fix SearchNode.setupSubsetProcessing param doc comments 2026-01-09 10:57:29 -06:00
Joshua Horton
32de0293c5 fix(web): post-rebase patchup 2026-01-09 10:57:27 -06:00
Joshua Horton
92d84b1b91 change(web): use search-space ID to find matching tokenization, preservation transform 2026-01-09 10:56:33 -06:00
Joshua Horton
fa828d4710 feat(web): add correction source search-space identification
When we start supporting more than one "space" for correction-searches, we may need to know which "space" (tokenization) a suggestion arose from.  This way, we have a path forward for applying tokenization-dependent behaviors that may be required.

Build-bot: skip build:web
Test-bot: skip
2026-01-09 10:55:47 -06:00
Joshua Horton
ce3f90dd81 change(web): do not export SPACE_ID_SEED 2026-01-09 10:54:58 -06:00
Joshua Horton
af61a56db9 docs(web): fix doc-comment word omisson per review 2026-01-09 10:54:58 -06:00
Joshua Horton
d0469ff3f0 refactor(web): adds SearchQuotientNode interface
This new interface is being added in preparation for efficient multi-tokenization correction-search.  SearchQuotientSpur has been modified to implement it, and a new type (SearchQuotientNodeImpl) will be added in the near future as an additional implementing type.

Build-bot: skip build:web
Test-bot: skip
2026-01-09 10:54:55 -06:00
Joshua Horton
340406cdfc change(web): rename .searchSpace property to .searchModule
Build-bot: skip build:web
Test-bot: skip
2026-01-09 10:24:29 -06:00
Joshua Horton
4b201870e9 refactor(web): implement simple search-quotient-spur reuse
This changes SearchQuotientSpur to construct new instances whenever the path is extended, treating SearchQuotientSpur as an immutable portion of the search graph that may be extended by new input, creating new instances of SearchQuotientSpur.

This, in turn, removes the need to clone SearchQuotientSpur instances when new input is received for an incoming token; the original instance's represention will remain unchanged and may also be reused by a new instance extending the graph for the newly-received input.

Relates-to: #14445

Build-bot: skip build:web
Test-bot: skip
2026-01-09 10:06:56 -06:00
Joshua Horton
eba03c3ea2 Merge branch 'docs/web/add-search-space-doc' into refactor/web/relocate-search-space 2026-01-09 09:57:55 -06:00
Joshua Horton
1bbbd6f79c docs(web): fix typo 2026-01-09 09:54:51 -06:00
Joshua Horton
ac68b5de92 docs(web): remove excess TODO 2026-01-09 09:37:53 -06:00
Joshua Horton
d493f607c2 docs(web): address review comments 2026-01-09 09:36:50 -06:00
Joshua Horton
be59706d37 docs(web): update graph-doc names for upcoming classes 2026-01-09 09:17:12 -06:00
Joshua Horton
dc1cd3b792 docs(web): fix graph title 2026-01-09 09:03:24 -06:00
Joshua Horton
ca96212ab3 docs(web): enhance left-deletion doc comment 2026-01-09 09:03:24 -06:00
Joshua Horton
8b3356bfb4 docs(web): completes first draft of the alternate approach for correction-search documentation 2026-01-09 09:03:24 -06:00
Joshua Horton
7edf022dee docs(web): adds 'insert', 'delete' quotient graphs 2026-01-09 09:03:24 -06:00
Joshua Horton
e119fe5004 docs(web): adds initial quotient-graph visualizations 2026-01-09 09:03:24 -06:00
Joshua Horton
585e89196f docs(web): add doc updates 2026-01-09 09:03:24 -06:00
Joshua Horton
f3789bbb3a docs(web): start alternate doc using different explanation strategy 2026-01-09 09:03:24 -06:00
Joshua Horton
0c8851f058 docs(web): tweak getBestMatches.tests.ts header comment 2026-01-07 10:12:48 -06:00
Joshua Horton
4d6130e6e2 fix(web): set proper name for test suite 2026-01-05 15:24:00 -06:00
Joshua Horton
65c8c86cd1 change(web): rename test suite for primary correction-space search method testing 2026-01-05 13:36:35 -06:00
Joshua Horton
c02de14e03 Merge branch 'refactor/web/correction-heuristic-and-thresholding' into refactor/web/relocate-search-space 2026-01-05 13:04:32 -06:00
Joshua Horton
574caebea7 change(web): fix comment typo, simplify constructor section 2026-01-05 13:02:40 -06:00
Joshua Horton
4940caa20f change(web): rename SearchPath as SearchQuotientSpur 2026-01-05 12:32:49 -06:00
Joshua Horton
f61cdfb1de change(web): address MD PR review concerns 2025-11-13 08:47:18 -06:00
Joshua Horton
b1811d9a11 Merge branch 'refactor/web/correction-heuristic-and-thresholding' into refactor/web/relocate-search-space 2025-11-10 11:44:30 -06:00
Joshua Horton
4434c22edd Merge branch 'epic/autocorrect' into refactor/web/correction-heuristic-and-thresholding 2025-11-10 11:44:02 -06:00
Joshua Horton
a03601eb71 change(web): do not relocate PathResult type definitions 2025-11-10 11:40:33 -06:00
Joshua Horton
54c76c9271 change(web): rename SearchSpace to SearchPath
SearchSpace itself will become an _interface_ implemented by what is now SearchPath, and another type also implementing it will be introduced in an upcoming PR.
2025-10-20 09:25:38 -05:00
Joshua Horton
8c939416e8
Merge pull request #14885 from keymanapp/change/web/remove-tracker-analyze-state
change(web): remove ContextTracker.analyzeState 🚂
2025-10-20 20:37:19 +07:00
Joshua Horton
1dcbf757b1
Merge pull request #14882 from keymanapp/change/web/remove-old-alignment-and-transform-tokenization
change(web): remove computeAlignment and older transform-tokenization methods 🚂
2025-10-20 20:37:07 +07:00
Joshua Horton
84d22feaa8
Merge pull request #14880 from keymanapp/refactor/web/delayed-reversion-via-tokenization-analysis
refactor(web): use tokenization analysis to maintain delayed reversion feature 🚂
2025-10-20 20:36:55 +07:00
Joshua Horton
7aa03cc87c
Merge pull request #14901 from keymanapp/refactor/web/preservation-transforms
refactor(web): rework preservation transforms to prep for multi-tokenization 🚂
2025-10-20 20:36:47 +07:00
Joshua Horton
5be0ab747d
Merge pull request #14877 from keymanapp/feat/web/link-new-tokenization-transitioner
refactor(web): utilize new tokenization-transition methodology 🚂
2025-10-20 20:36:36 +07:00
Joshua Horton
e0201e4844 fix(web): adjust unit test ContextTokenization constructor use 2025-10-17 10:18:29 -05:00
Joshua Horton
be473a14fa refactor(web): relocate SearchSpace definition, tests to own code file
Build-bot: skip build:web
Test-bot: skip
2025-10-16 14:56:04 -05:00
Joshua Horton
1df3a35a03 refactor(web): maintain correction-path cost thresholding
We now track maximum individual probability for any one input in the full, source fat-finger distribution.  For some tokenizations, the corresponding input will not be considered, but that should not affect thresholding behaviors.

Build-bot: skip build:web
Test-bot: skip
2025-10-16 14:26:59 -05:00
Joshua Horton
3bfe36177d refactor(web): remove lower-level SearchSpaceTier + associated heuristic
This change simplifies the mechanics of each SearchSpace by dropping the complexity of managing an intermediate tier.  This does get rid of a mild boost that assistss the correction-search process in prioritizing nearly-completed correction paths, but we should rework that heuristic anyway - especially in light of upcoming changes and potential complications once we start supporting correction from alternate tokenizations.

Build-bot: skip build:web
Test-bot: skip
2025-10-16 14:24:44 -05:00
Joshua Horton
cf5b2d91fc Merge branch 'change/web/remove-old-alignment-and-transform-tokenization' into change/web/remove-tracker-analyze-state 2025-10-16 11:19:28 -05:00
Joshua Horton
0b34fde05e Merge branch 'refactor/web/delayed-reversion-via-tokenization-analysis' into change/web/remove-old-alignment-and-transform-tokenization 2025-10-16 11:17:29 -05:00
Joshua Horton
646fdc1661 fix(web): adjust unit tests to match change in ContextTokenization constructor parameterization
Build-bot: build
Test-bot: test
2025-10-16 11:09:35 -05:00
Joshua Horton
15e0096069
Merge pull request #14883 from keymanapp/fix/web/base-context-state-validation
fix(web): fix base context-state validation 🚂
2025-10-16 22:35:59 +07:00
Joshua Horton
1ce8b7589a Merge branch 'refactor/web/preservation-transforms' into refactor/web/delayed-reversion-via-tokenization-analysis 2025-10-16 10:18:50 -05:00
Joshua Horton
1942f8f8b1 Merge branch 'feat/web/link-new-tokenization-transitioner' into refactor/web/preservation-transforms 2025-10-16 10:18:06 -05:00