mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 02:29:33 +01:00
fix(terminal): end the page-key debt lifetime once travel repays it
pageKeysForGesture kept `prepaid` set after the travel had fully repaid a
pre-paid page, so the one-second debt lifetime still applied: on a 38-row
pane, 19 lines of -1 at 32 ms left { pending: 0, prepaid: true } and a -1
300 ms later sent nothing. `prepaid` now clears as soon as the pending
travel reaches or crosses zero, so the leftover is plain travel and the
150 ms gap applies again. Touch contacts are unaffected (never split by
time). The mixed parity step's reversal grows from 20 to 25 rows because
the -5 rows left after repayment are now plain travel and cancel against it.
This commit is contained in:
1 parent
3ea1e03aaf
commit
d6c87bbd27
3 files changed
+56
-2
No files matched your search
@@ -230,6 +230,10 @@
|
||||
}
|
||||
}
|
||||
const step = pageKeysForTravel(pending, lines, rows);
|
||||
// A debt carries the sign opposite to its direction; once the travel reaches
|
||||
// or crosses zero it is repaid, and what is left is plain travel (so the
|
||||
// one-second debt lifetime no longer applies).
|
||||
if (prepaid && step.pending * dir >= 0) prepaid = false;
|
||||
return { state: { pending: step.pending, lastAt: now, dir, prepaid, touchId }, keys: step.keys };
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user