Skip to content

Eliminate keystroke render lag from redundant history wrapping#169

Merged
shellicar merged 3 commits intomainfrom
fix/keystroke-input-lag
Apr 1, 2026
Merged

Eliminate keystroke render lag from redundant history wrapping#169
shellicar merged 3 commits intomainfrom
fix/keystroke-input-lag

Conversation

@shellicar
Copy link
Copy Markdown
Owner

Summary

  • Keystroke renders no longer rewrap unchanged history lines
  • Incremental cache wraps only new entries since last sync
  • Cache invalidates on terminal resize

Closes #166

@shellicar shellicar added this to the 1.0 milestone Mar 31, 2026
@shellicar shellicar added the bug Something isn't working label Mar 31, 2026
@shellicar shellicar self-assigned this Mar 31, 2026
@shellicar shellicar enabled auto-merge (squash) March 31, 2026 17:20
@shellicar shellicar requested a review from bananabot9000 March 31, 2026 17:20
@shellicar shellicar disabled auto-merge March 31, 2026 18:10
Copy link
Copy Markdown
Collaborator

@bananabot9000 bananabot9000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Incremental wrapping cache is clean -- append-only displayBuffer + column-change invalidation is the right cache strategy. Perf tests enforce the sub-1ms contract. Functional tests cover the important cases (visibility, wrapping, resize invalidation).

The screen?: Screen injection point works for now. Can revisit if the constructor grows further.

68% context token reduction from the skill sync script + render lag eliminated in the same night. Productive session. 🍌

@shellicar shellicar merged commit 707d5f1 into main Apr 1, 2026
4 checks passed
@shellicar shellicar deleted the fix/keystroke-input-lag branch April 1, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Perceptible input lag during typing (full repaint on every keystroke)

2 participants