Skip to content

UI architecture umbrella: vision delivery gap, v1 primitives, Panel render, vertical bands, tabs #2478

Open

Description

@Xuepoo

Track the owner's UI architecture review as one umbrella, with dedicated issues where noted:

  1. Design-vs-delivery gap: panel-vision.md is largely candidate/hypothetical (PanelSurface, Panel trait, seven modes, inter-panel event bus); shipped = state machine, identity newtypes, ViewContent variant, budgets, top/bottom band only. Left/right bands remain E_UI_UNAVAILABLE ([CTX-1341] fix(ui): fail closed for unwired left/right band slots (#2226) #2234). Audit and label every vision item as implemented/candidate/deferred in the doc itself.
  2. Declarative v1 expressiveness: Text/Row/Column/List cannot express file trees, diffs, charts, rich text, or self-drawn controls. Define an extension strategy (compound primitives vs a safe drawing tier) without breaking the sandbox; coordinate with RFC: plugin drawing capability (separate from the Panel RFC) #2477 (drawing capability RFC).
  3. Panel::render(&mut Frame) contradiction: the trait is marked "not a plugin API" yet would hand plugins a Frame/GPU handle. Remove or replace it with the declarative/drawing boundary; document why.
  4. Missing vertical layout: top/bottom bands only; IDE-style left tree + right terminal + bottom status is impossible. Track through [CTX-1341] fix(ui): fail closed for unwired left/right band slots (#2226) #2234 and add a layout acceptance test for left/right + top/bottom combinations.
  5. Tabs structure without interaction: LayoutNode::Stack is documented as tabs, but no user-facing tab create/switch/close/reorder. Either wire it or stop describing it as tabs; add UX and tests.

Also add explicit "not implemented" markers to candidate docs so users/reviewers cannot read vision as shipped behavior.

Priority: P2 | Area: panel | Labels: feat,area:panel,P2 | Milestone: v0.1.0 | Task: CTX-2467

Activity

  1. added this to the v0.1.0 milestone on Oct 22, 2026
  2. Xuepoo commented on Oct 25, 2026

    @Xuepoo
    ContributorAuthor

    Metadata audit — unresolved task reference: Task: CTX-2467 in the footer does not resolve (not found in the bitty project or any workspace project; current task range tops out at CTX-1571). A real task ID is needed before work starts; the footer is left unchanged so the original reference stays traceable.

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

    P2Priority: mediumarea:panelArea: panel surfacefeatFeature

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions