Skip to content

refactor(flterm): consolidate renderer ownership - #103

Closed
adonm wants to merge 3 commits into
elias8:mainfrom
adonm:upstream/101-render-ownership
Closed

refactor(flterm): consolidate renderer ownership#103
adonm wants to merge 3 commits into
elias8:mainfrom
adonm:upstream/101-render-ownership

Conversation

@adonm

@adonm adonm commented Jul 15, 2026

Copy link
Copy Markdown

Summary

  • make TerminalRenderPipeline own frame buffers, painters, atlas state, Kitty state, paint ordering, and terminal dirtiness
  • delegate terminal defaults, cursor-key encoding, and size reporting to libghostty or cached layout state
  • remove one-use render/widget adapters while preserving the public TerminalView behavior

Why

This removes duplicate ownership and synchronization paths from flterm. The adapter remains responsible for Flutter lifecycle and presentation while libghostty remains authoritative for terminal state.

This is an independent extraction from #101, replayed directly on current main; it has no dependency on the other extracted PRs.

Verification

  • flutter test with the supported prebuilt native-asset provider: 686 passed
  • dart format --output=none --set-exit-if-changed packages/flterm: clean
  • dart analyze packages/flterm: only the 3 existing info-level collection-style lints

@adonm

adonm commented Aug 26, 2026

Copy link
Copy Markdown
Author

Superseded by the upstream controller/view refactors. Closing.

What this PR proposed — consolidate frame buffers, painters, atlas state, Kitty state, paint ordering, and terminal dirtiness in the render pipeline — is now the upstream structure:

Happy to reopen a focused PR if a specific ownership gap remains after #143/#144 — otherwise this is covered.

@adonm

adonm commented Aug 26, 2026

Copy link
Copy Markdown
Author

Closing as superseded; see the comment above for the upstream commits that cover this.

@adonm adonm closed this Aug 26, 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