Skip to content

Conversation

@jahorton
Copy link
Contributor

@jahorton jahorton commented Oct 24, 2025

While token-splitting is currently implemented on ContextToken, supporting splits (and merges) for a graph of SearchSpaces that converge and diverge as new keystrokes are added gets really tricky if kept in place. A cleaner way forward is to support .split() (and next, also .merge()) on the SearchSpace type itself.

To facilitate this, a few new additional properties are added to the SearchSpace interface; these exist to exchange information with other SearchSpaces and SearchSpace types as necessary to fully implement .split().

Build-bot: skip build:web
Test-bot: skip

@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Oct 24, 2025

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

  • Web
    • KeymanWeb Test Home - build : all tests passed (no artifacts on BuildLevel "build")

@keymanapp-test-bot keymanapp-test-bot bot changed the title refactor(web): implement token splitting on SearchPath / SearchSpace refactor(web): implement token splitting on SearchPath / SearchSpace 🚂 Oct 24, 2025
@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S14 milestone Oct 24, 2025
@darcywong00 darcywong00 modified the milestones: A19S14, A19S15 Oct 24, 2025
@jahorton jahorton force-pushed the refactor/web/manage-true-inputs-on-path branch from f77c477 to 5dd11d5 Compare October 27, 2025 20:23
@jahorton jahorton force-pushed the refactor/web/search-path-splitting branch from b741e1d to a6ccfd0 Compare October 27, 2025 20:25
@keyman-server keyman-server modified the milestones: A19S15, A19S16 Nov 8, 2025
@jahorton jahorton force-pushed the refactor/web/manage-true-inputs-on-path branch 2 times, most recently from 564acba to 3ab72c7 Compare November 10, 2025 19:58
@jahorton jahorton force-pushed the refactor/web/search-path-splitting branch from 347f7ed to fc97837 Compare November 10, 2025 20:50
@jahorton jahorton changed the base branch from refactor/web/manage-true-inputs-on-path to refactor/web/relocate-source-range-key November 10, 2025 20:50
@jahorton jahorton force-pushed the refactor/web/search-path-splitting branch from fc97837 to 2fc98eb Compare November 10, 2025 21:11
@jahorton jahorton changed the base branch from refactor/web/relocate-source-range-key to refactor/web/rename-and-doc-pending-tokenization November 10, 2025 21:11
@jahorton jahorton force-pushed the refactor/web/rename-and-doc-pending-tokenization branch from 461fa4d to 449ebec Compare November 11, 2025 21:48
Once we support modeling of multiple paths to construct individual context tokens, it's notably less straightforward to split or merge the correction-search paths on the token level.  It's instead wisest to implement this via the SearchSpace interface and its implementing types, which are designed to recursively model all relevant paths and thus can facilitate these operations more directly.

Build-bot: skip build:web
Test-bot: skip
@jahorton jahorton force-pushed the refactor/web/search-path-splitting branch from 2fc98eb to e6cbc29 Compare November 11, 2025 22:06
@keyman-server keyman-server modified the milestones: A19S16, A19S17 Nov 22, 2025
@keyman-server keyman-server modified the milestones: A19S17, A19S18 Dec 6, 2025
@keyman-server keyman-server modified the milestones: A19S18, A19S19 Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

4 participants