Skip to content

mecatui: track remaining surface migrations #2237

Open

Description

@jbeda

Goal

Track remaining mecatui overlays that should move to the shared surface contract. This complements #1742, which tracks convergence on the bounded scrolling and selection controls.

Desired boundary

A migrated surface owns its open-lifetime interaction state, rendering, geometry-derived view caches, and validation of asynchronous results. The root Model owns modal lifetime, placement, frame-scoped pointer mapping, and effects that change root-owned state. A surface requests a root-owned effect through a narrow intent rather than requiring generic parent routing to inspect its concrete type.

The current contributor rules live in docs/tui.md. Keep enduring conventions there rather than adding migration plans or completed-work records to docs/drafts/.

Scope

  • Inventory overlays that still keep open-lifetime state or interaction routing on Model.
  • Create focused migration issues only where moving to surface improves ownership and simplifies generic routing.
  • Preserve behavior while migrating: one active modal, parent-owned placement and pointer mapping, surface-owned input and asynchronous result handling, and safe zero-offer behavior.
  • Keep bounded adoption decisions in mecatui: track remaining bounded browsing adoption #1742; coordinate when a surface migration also needs a bounded control.

Tracked migrations (2026-10-16)

Shared consistency guidance belongs in docs/tui.md, not in migration status records. #555 tracks the original abstraction; its stack proposal is superseded by the implemented one-active-modal contract.

Out of scope

  • A surface stack, compositor migration, or a generic live dependency-refresh framework.
  • Moving root-owned session, startup, persistence, or cross-view state into a surface.
  • Rewriting overlays that already have a clear and sufficient ownership boundary.

Completion

Close this issue when the remaining overlays have been evaluated and each has either a focused migration issue or a documented reason to remain outside the surface contract.

Activity

  1. added
    tuimecatui terminal UI (rendering, keybindings, footer, panes, scrollback)
    on Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    tuimecatui terminal UI (rendering, keybindings, footer, panes, scrollback)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions