Skip to content

_pyrepl: switch console refresh to structured rendered screens#146584

Draft
pablogsal wants to merge 7 commits intopython:mainfrom
pablogsal:pyrepl-new
Draft

_pyrepl: switch console refresh to structured rendered screens#146584
pablogsal wants to merge 7 commits intopython:mainfrom
pablogsal:pyrepl-new

Conversation

@pablogsal
Copy link
Copy Markdown
Member

@pablogsal pablogsal commented Mar 28, 2026

No description provided.

Introduce render-cell, rendered-screen, and line-diff helpers for redraw work.
Keep the new abstractions self-contained so later commits can adopt them cleanly.
Teach the reader and terminal backends to refresh from RenderedScreen objects.
This isolates the redraw-planning refactor before layout and styling changes land.
Add structured prompt, content, and wrapped-row helpers for screen calculation.
Move reader layout bookkeeping onto those helpers before styling changes arrive.
Thread StyleRef and styled content fragments through render and reader paths.
Keep semantic color information attached to cells during redraw diffs.
Make buffer, layout, prompt, overlay, and full redraw causes explicit in Reader.
The invalidation matrix is still cursed, but at least now it is visible.
Move completion and message UI onto overlays layered over the base rendered screen.
The completion menu stops pretending it is the base reality.
Finish the refactor with prompt-cell caching, typed aliases, and layout edge-case fixes.
Land the remaining render and reader regressions needed for the final shape.
@pablogsal pablogsal changed the title _pyrepl: fix multiline history recall and sanitize NULs in history files _pyrepl: switch console refresh to structured rendered screens Mar 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant