Skip to content

fix(tui): 고정 상태 레일이 보이면 시작 deck의 status 열을 그리지 않음 - #353

Merged
dmae97 merged 1 commit into
mainfrom
deck-rail-dedupe-20261106
Nov 6, 2026
Merged

dmae97 merged 1 commit into
mainfrom
deck-rail-dedupe-20261106

Conversation

@dmae97

@dmae97 dmae97 commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

요약

고정 상태 레일이 화면에 있으면, 시작 deck이 자기 status 열(RUN, VERIFY, CONTEXT, RESOURCES, TODO, SESSION)을 그리지 않습니다. 지금 main에서는 같은 상태가 deck 열과 고정 레일에 나란히 두 번 그려집니다.

  • ControlPanelMotionOptions.isPinnedRailVisible을 추가했습니다. interactive-mode.ts는 tmux pane이 켜져 있거나 in-process 레일(OpenTUI 포함)이 보일 때 true를 넘깁니다.
  • renderControlPanelLayout(..., deckRail)
    • deckRail이 false이면 compact와 expanded 모두 hero를 전체 폭으로 그립니다.
    • 안내 문구와 onboarding 줄은 그대로 남깁니다.
  • 레일 표시 여부는 deck이 viewport 안에 있을 때만 다시 읽습니다. scrollback으로 넘어간 뒤에는 모양을 유지합니다. 그래서 pin을 바꿔도 transcript가 다시 출력되지 않습니다(DESIGN.md의 scrollback 규칙).
  • 문서: DESIGN.md(startup deck column), CHANGELOG.md.

원래 체크아웃의 미커밋 작업에서 이 부분만 골라 main 기준으로 옮겼습니다.

검증 (로컬, 커밋 4049c80)

  • 새 테스트 control-panel-pinned-rail-dedupe.test.ts(3개)
    • 레일이 보이면 compact와 expanded 모두 TODO/SESSION/RESOURCES 열이 없고 156열 안에 들어가는지
    • 레일을 숨기면 원래 출력으로 돌아오는지
    • scrollback으로 넘어간 뒤에는 출력이 바뀌지 않는지
    • 구현 전에는 3개 모두 실패했습니다.
  • npx vitest --run 51개 파일, 587개 통과
    • 범위: ControlPanelComponent, renderControlPanelLayout, InteractiveMode를 쓰는 파일과 control-panel*, control-plane*, layout-class*, rnode*, status-, keybindings, tui-*
  • 종료 0: npx tsgo --noEmit, npx biome check --error-on-warnings ., check:module-size, check:import-cycles, check:doc-links, check:feature-claims
  • 실제 tmux(170x50, 고정 레일 기본값)
    • 이 브랜치: deck이 hero만 전체 폭으로 그리고, 오른쪽에는 OpenTUI 레일 하나만 보입니다.
    • main 기준: deck의 gov, TODO, SESSION 열과 OpenTUI 레일이 나란히 보입니다.
    • Ctrl+Q로 레일을 풀고 다시 고정해도 deck 열은 생기지 않았습니다. 이 환경은 시작 리소스 목록이 길어서 deck 윗부분이 이미 scrollback으로 넘어가 있고, 그래서 설계대로 모양을 유지한 것입니다. viewport 안에서 열이 다시 생기는 경우는 단위 테스트로만 확인했습니다.

- 고정 레일(in-process, OpenTUI, tmux pane)이 화면에 있으면 deck이 같은 RUN/VERIFY/TODO/SESSION을
  옆에 한 번 더 그리던 것을 막는다. hero를 전체 폭으로 그린다.
- 선택은 deck이 viewport 안에 있을 때만 다시 읽는다. scrollback으로 넘어간 뒤에는 모양을
  유지해 pin 전환이 transcript를 다시 내보내지 않는다.
- DESIGN, CHANGELOG 갱신.
@dmae97

dmae97 commented Nov 6, 2026

Copy link
Copy Markdown
Owner Author

OMK Community

Thanks for opening this pull request. Mention @omk-community with reproduction steps, a question, or the review help you need.

Automated response. No code changes or merges are performed.

@dmae97
dmae97 merged commit a04ebb2 into main Nov 6, 2026
2 checks passed
@dmae97
dmae97 deleted the deck-rail-dedupe-20261106 branch November 6, 2026 07:25
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