See: #16450
As epic/boundary-correction will also be removing the LegacyQuotientSpur class, which is where the current transposition-handling code resides, we'll need to adapt #16450's contents to better model how the search quotient graph is constructed, placing them where appropriate within its specialized node types.
Suspected development path needed:
|
this.incomingTransposeRootNodes = [...grandparentNode.previousResults]; |
As any individual SearchQuotientNode may have multiple parent nodes and/or grandparent nodes in epic/boundary-correction, we'll need to adjust this. The core idea is the same, though - we apply the local inputs after the grandparent path state, then append the parent inputs.
So, we'd want to capture all grandparent sources and request node-path forwarding from them. We'd also want a way to remember which parent quotient nodes follow from which grandparent quotient nodes - likely via some sort of lookup table or hash map. And, of course, a way to remember which grandparent nodes each SearchNode passed through. (So, SearchNode -> grandparent node it came from -> allowed parent quotient node(s) -> the input(s) to transpose.) .spaceID values may prove useful here for linking everything together.
See: #16450
As epic/boundary-correction will also be removing the
LegacyQuotientSpurclass, which is where the current transposition-handling code resides, we'll need to adapt #16450's contents to better model how the search quotient graph is constructed, placing them where appropriate within its specialized node types.Suspected development path needed:
keyman/web/src/engine/predictive-text/worker-thread/src/main/correction/legacy-quotient-spur.ts
Line 54 in 45e3df9
As any individual SearchQuotientNode may have multiple parent nodes and/or grandparent nodes in epic/boundary-correction, we'll need to adjust this. The core idea is the same, though - we apply the local inputs after the grandparent path state, then append the parent inputs.
So, we'd want to capture all grandparent sources and request node-path forwarding from them. We'd also want a way to remember which parent quotient nodes follow from which grandparent quotient nodes - likely via some sort of lookup table or hash map. And, of course, a way to remember which grandparent nodes each SearchNode passed through. (So, SearchNode -> grandparent node it came from -> allowed parent quotient node(s) -> the input(s) to transpose.)
.spaceIDvalues may prove useful here for linking everything together.