Skip to content

#595 Stage 2c — render_content: window/group dividers, tab-drag overlay, tab-hover tooltip #609

Description

@JDonaghy

Part of epic #595, milestone #9 TUI ShellApp Migration. Follow-on to
#601 (Stage 2), scoped out during its planning. Depends on #601.

Goal

Paint the pieces #601 explicitly skipped because they were raw
frame.buffer_mut()/set_cell writes with no Backend::draw_*
equivalent at the time: window/editor-group divider lines
(render_impl.rs::render_separators and the split-group vertical divider
loop in draw_frame), the tab-drag ghost overlay
(render_tab_drag_overlay), and the tab-hover tooltip overlay.

Scope / known gap

AppShell::render's own generic divider (app_shell.rs::render, the
divider_bounds block) already proves the pattern: a solid-color
StatusBar segment through Backend::draw_status_bar can stand in for a
plain rule line, with no new quadraui primitive needed. Try that first
for the divider-line gap before concluding a new trait method is required.

The tab-drag overlay is coupled to Stage 3's mouse-handling gap (#602,
quadraui#467) — drag state isn't reachable from handle() yet either, so
coordinate sequencing with #602 (this issue can paint the overlay once
drag state exists to paint from, even if #602 lands the input side
separately).

Acceptance

  • driver_with_shell assertion(s) covering at least the divider-line case
    (easiest to verify headlessly — open two windows/a split and assert the
    separator glyph appears at the expected column).
  • cargo test --no-default-features green.
  • Anything still deferred called out explicitly in shell_app.rs's module
    doc.

Dependencies

Depends on #601 (and coordinate with #602 for the tab-drag overlay piece
specifically). Blocks #605 (Stage 6 cutover).

Activity

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

    coordTracked by coord-tui pipelineenhancementNew feature or requestinfrastructureBuild, CI, distributionstatus:queuedstatus:readyRefined and ready to enter the work pipelinetest-mode:autocoord: per-issue test-mode policy

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions