Commit graph

5395 commits

Author SHA1 Message Date
Joshua Horton
d5f08330fb Merge branch 'fix/web/wordbreak-shift-at-head' into fix/web/fat-finger-index-0 2025-09-02 10:32:12 -05:00
Joshua Horton
40ffbf2cd8 Merge branch 'feat/web/edit-path-ranking' into fix/web/wordbreak-shift-at-head 2025-09-02 10:31:26 -05:00
Joshua Horton
ccf51a6b47 Merge branch 'feat/web/visualize-distance-calculation' into feat/web/edit-path-ranking 2025-09-02 10:30:07 -05:00
Joshua Horton
8cf438c8bc Merge branch 'change/web/map-transform-tokenization' into feat/web/visualize-distance-calculation 2025-09-02 10:29:41 -05:00
Joshua Horton
e584d6a4a2 feat(web): add unit tests for handling multiple adjacent whitespaces before caret 2025-09-02 10:29:02 -05:00
Joshua Horton
79b063d39d fix(web): always place true input at lead of fat-finger distribution
This removes a few places where the distribution was sorted, as there are cases where a different key can have higher probability than the one actually tapped.
2025-09-02 10:07:18 -05:00
Joshua Horton
41de8888ce fix(web): improve context transition handling when wordbreaking shifts at sliding-context start 2025-09-02 08:55:45 -05:00
Joshua Horton
1f3d270846
change(web): apply code-styling suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-08-28 21:38:59 +07:00
Joshua Horton
2c42308c84 change(web): address PR comments 2025-08-28 09:23:57 -05:00
Joshua Horton
ae404501a8 Merge branch 'feat/web/visualize-distance-calculation' into feat/web/edit-path-ranking 2025-08-27 15:27:42 -05:00
Joshua Horton
62e664369f Merge branch 'change/web/map-transform-tokenization' into feat/web/visualize-distance-calculation 2025-08-27 15:27:14 -05:00
Joshua Horton
4e8b7c8ad4 Merge branch 'refactor/web/independent-compute-alignment' into change/web/map-transform-tokenization 2025-08-27 15:26:45 -05:00
Joshua Horton
8b3b0affd4 Merge branch 'fix/web/sliding-tokenization-alignment' into refactor/web/independent-compute-alignment 2025-08-27 15:26:02 -05:00
Joshua Horton
aa1fff193c fix(web): handle backward context-slides (as from backspaces) 2025-08-27 15:25:00 -05:00
Joshua Horton
e5a816d7bc feat(web): determine all equal-cost edit-paths & rank them by quality
After digging through repo history, I couldn't find an actual reference for .editPath(), the method producing a sequence of edits represented by the edit-distance calculation.

After further thought and investigation, I realized that there can be more than one possible edit sequence... and that the best approach for future stability is to calculate and return _all_ of them.  The trick is to rank them based on the qualities we most look for - and for predictive-text's sliding context window, what we want is a long, unbroken sequence of 'match'-ed tokens, followed by substitutions on the edges.

Previously, I'd finagled the editPath() function to check certain edit types before others, but it always felt hacky and brittle.  This new approach seems like a much more robust way forward, even if it probably is a bit more costly to perform.
2025-08-27 15:06:42 -05:00
Joshua Horton
50d9c1fb0f Merge branch 'refactor/web/independent-compute-alignment' into change/web/map-transform-tokenization 2025-08-27 15:04:54 -05:00
Joshua Horton
fae2dec1fe Merge branch 'fix/web/sliding-tokenization-alignment' into refactor/web/independent-compute-alignment 2025-08-27 15:04:29 -05:00
Joshua Horton
9ef70559a4 feat(web): add method that provides visualization for edit-distance calculations
The new method is implemented separately from the `ClassicalDistanceCalculation` class in order to facilitate tree-shaking.  It can easily be imported for local builds or referenced in a temporary class property as needed.
2025-08-27 15:03:33 -05:00
Joshua Horton
045ad30094 docs(web): Fix comment in alignment-helpers.ts
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-08-27 15:03:33 -05:00
Joshua Horton
27f7a4727b change(web): clarify path-last-match assertions 2025-08-27 15:03:33 -05:00
Joshua Horton
0937d0da4c Merge branch 'fix/web/post-bksp-applies' into fix/web/sliding-tokenization-alignment 2025-08-26 08:54:45 -05:00
Joshua Horton
1d2b9be778 Merge remote-tracking branch 'origin/fix/web/post-bksp-applies' into fix/web/post-bksp-applies 2025-08-26 08:53:26 -05:00
Joshua Horton
5546843254 change(web): clarify path-last-match assertions 2025-08-26 08:52:50 -05:00
Joshua Horton
9362f2e0a0 fix(web): fix tokenization indices for niche suggestion-application cases
This also has the benefit of _greatly_ simplifying how we compute the tokenized transform indices.  Kinda sad I didn't land on this approach the first time.  (I actually felt like there _had_ to be something simpler... and it turns out there was!)
2025-08-26 08:35:55 -05:00
Joshua Horton
1f0fd8c8fe Merge branch 'refactor/web/independent-compute-alignment' into change/web/map-transform-tokenization 2025-08-25 15:55:57 -05:00
Joshua Horton
1044d90e47 Merge branch 'fix/web/sliding-tokenization-alignment' into refactor/web/independent-compute-alignment 2025-08-25 15:55:29 -05:00
Joshua Horton
d35bd80a90 fix(web): fix last commit's fix - missed the return keyword a few times 2025-08-25 15:48:05 -05:00
Joshua Horton
e3510b9e51 Merge branch 'fix/web/sliding-tokenization-alignment' into refactor/web/independent-compute-alignment 2025-08-25 15:31:53 -05:00
Joshua Horton
4680295108 fix(web): fix error that occurs when applying suggestion to empty token 2025-08-25 15:22:45 -05:00
Joshua Horton
31e4a932d1
docs(web): Fix comment in alignment-helpers.ts
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-08-21 20:04:41 +07:00
Joshua Horton
1c28eeaf7c docs(web): doc enhancements related to recent work in this PR 2025-08-20 12:44:36 -05:00
Joshua Horton
ef99dd49a9 change(web): map tokenized transform by index relative to context tail
With this change, the transform-tokenization methods now indicate which token (relative to the original context's tail token) each of the resulting tokenized transforms affects (and/or creates) in the output tokenization.

Fixes: #14361.
Fixes: #14480.
2025-08-20 12:21:13 -05:00
Joshua Horton
625f734223 refactor(web): move computeAlignment core to standalone method
Relates-to: #14480

This is being done to prepare for a fix to #14480, which is needed to better handle complex input transforms and tokenization scenarios.  The easiest way to consistently index the tokenized transforms... is to perform context alignment on the results of transform application.
2025-08-20 10:18:29 -05:00
Joshua Horton
e794f34dc9 Merge branch 'fix/web/post-bksp-applies' into fix/web/sliding-tokenization-alignment 2025-08-20 09:45:01 -05:00
Joshua Horton
9fbe0f4c40 fix(web): handle suggestion application after backspacing 2025-08-20 09:39:47 -05:00
Joshua Horton
dc230f68bc fix(web): improve logic check for deleted token before attempting correction-search 2025-08-19 12:39:43 -05:00
Joshua Horton
307da5fef1 Merge remote-tracking branch 'origin/fix/web/sliding-tokenization-alignment' into fix/web/sliding-tokenization-alignment 2025-08-19 12:06:21 -05:00
Joshua Horton
9b28fb8e63 Merge branch 'change/web/cache-states-selectively' into fix/web/sliding-tokenization-alignment 2025-08-19 12:05:20 -05:00
Joshua Horton
fc0348585c Merge branch 'refactor/web/analyze-state-transition' into change/web/cache-states-selectively 2025-08-19 12:04:54 -05:00
Joshua Horton
0b9d1018e5 Merge branch 'refactor/web/tokenization-transition' into refactor/web/analyze-state-transition 2025-08-19 12:00:21 -05:00
Joshua Horton
cc5a5fc38d Merge branch 'change/web/suggestion-tracking' into refactor/web/tokenization-transition 2025-08-19 11:58:08 -05:00
Joshua Horton
b714dc37fb Merge branch 'change/web/cache-context-transitions' into change/web/suggestion-tracking-alt 2025-08-19 11:52:49 -05:00
Joshua Horton
5b379a82f4 chore(web): remove extra duplicated line 2025-08-19 10:52:48 -05:00
Joshua Horton
59158cb9f7
chore(web): fix count in comment
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-08-19 20:26:04 +07:00
Joshua Horton
109f216c7b change(web): adjustments per PR review
Removes duplicate line, fixes doc-comment.
2025-08-19 08:17:10 -05:00
Joshua Horton
6dd1ff39a2 fix(web): restore temp-disabled unit test 2025-08-18 14:03:47 -05:00
Joshua Horton
08670c2e68 Merge branch 'change/web/cache-context-transitions-alt' into change/web/suggestion-tracking-alt 2025-08-18 13:56:24 -05:00
Joshua Horton
e3c4983031 fix(web): temporarily disable unit test 2025-08-18 13:51:00 -05:00
Joshua Horton
d6d44c4d1d change(web): remove .get, force key type to number, base rewind on key value 2025-08-18 13:50:49 -05:00
Joshua Horton
4d66ff671d change(web): drop redundant ordering-set (per review)
Co-authored-by:  Marc Durdin <marc@durdin.net>
2025-08-18 12:05:39 -05:00