Skip to content

Prepare immutable Markdown rows and sizes without mounting widgets - #130

Merged
trissim merged 9 commits into
mainfrom
refactor/detached-markdown-document-20261008
Oct 9, 2026
Merged

trissim merged 9 commits into
mainfrom
refactor/detached-markdown-document-20261008

Conversation

@trissim

@trissim trissim commented Oct 9, 2026 •

Copy link
Copy Markdown

Preparing Markdown for display meant constructing, mounting, capturing and removing widgets on the UI thread. This change adds document/_markdown.py and document/_paint.py, which build rows and intrinsic sizes for an unchanging document from the same Markdown grammar and block classes without a widget tree. To support this it changes the compositor, box model, extrema, layouts, strip and visual code, adds a node-less path in dom.py, and moves about 500 lines out of widget.py. The mounted widgets remain the path for interaction. Tests are added in test_markdown_document.py and for stylesheet, layout factory, grid and geometry code.

@trissim
trissim marked this pull request as ready for review October 9, 2026 04:04
Copilot AI balanced review requested due to automatic review settings October 9, 2026 04:04
@trissim
trissim merged commit c5b10ea into main Oct 9, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@trissim trissim changed the title Prepare detached Markdown paint through native document owners Prepare immutable Markdown rows and sizes without mounting widgets Oct 11, 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.

2 participants