docs(p9-fb-10): InputBuffer follow-up — spec completed + HOTFIXES checklist done
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -37,15 +37,17 @@ helper 는 **rendering width** 만 정정.
|
||||
로만 도달. macOS / Windows / Linux (ibus/fcitx) 모두 동일. preedit
|
||||
handling 은 out-of-scope (spec 도 "not in scope" 로 명시).
|
||||
|
||||
**Follow-up shipped 2026-05-03 in PR #?? — InputBuffer struct + Search/Ask/FilterEdit pane migrations + display-column-aware cursor placement + Korean FTS5 smoke pin. spec status flipped `in_progress` → `completed`.**
|
||||
|
||||
**후속 PR 체크리스트** (별 PR 에서 cover, 본 HOTFIXES 항목이 owner —
|
||||
새 spec 파일을 만들지 않고 기존 `tasks/p9/p9-fb-10-tui-cjk-input.md`
|
||||
의 status `in_progress` 가 유지되는 동안 본 체크리스트를 참조):
|
||||
|
||||
- [ ] `kebab-tui::input::InputBuffer { content: String, cursor_col: usize }` struct
|
||||
- [ ] Ask / Search / Editor pane 의 String + cursor 를 InputBuffer 로 교체
|
||||
- [ ] cursor render 가 wide-char 위에서 column 단위로 정렬 (현재 char-count 기반)
|
||||
- [ ] 한글 query → SQLite FTS5 검색 fixture 추가 (이미 NFC 정규화 됨, 단순 smoke pin)
|
||||
- [ ] DoD 체크박스 3 개 모두 채우고 spec status `in_progress` → `completed`
|
||||
- [x] `kebab-tui::input::InputBuffer { content: String, cursor_col: usize }` struct
|
||||
- [x] Ask / Search / Editor pane 의 String + cursor 를 InputBuffer 로 교체
|
||||
- [x] cursor render 가 wide-char 위에서 column 단위로 정렬 (현재 char-count 기반)
|
||||
- [x] 한글 query → SQLite FTS5 검색 fixture 추가 (이미 NFC 정규화 됨, 단순 smoke pin)
|
||||
- [x] DoD 체크박스 3 개 모두 채우고 spec status `in_progress` → `completed`
|
||||
|
||||
## 2026-05-03 — p9-fb-13 cheatsheet: `?` → `F1` rebind
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ phase: P9
|
||||
component: kebab-tui
|
||||
task_id: p9-fb-10
|
||||
title: "CJK input + wide-char rendering audit"
|
||||
status: in_progress
|
||||
status: completed
|
||||
depends_on: [p9-fb-12]
|
||||
unblocks: []
|
||||
contract_source: ../../docs/superpowers/specs/2026-04-27-kebab-final-form-design.md
|
||||
@@ -43,9 +43,9 @@ source_feedback: p9-dogfooding-feedback.md item 8
|
||||
|
||||
## DoD
|
||||
|
||||
- [ ] `cargo test -p kebab-tui` 통과
|
||||
- [ ] 한글 fixture 추가
|
||||
- [ ] README — CJK 입력 동작 정상 명시
|
||||
- [x] `cargo test -p kebab-tui` 통과
|
||||
- [x] 한글 fixture 추가
|
||||
- [x] README — CJK 입력 동작 정상 명시
|
||||
|
||||
## Out of scope
|
||||
|
||||
@@ -55,3 +55,4 @@ source_feedback: p9-dogfooding-feedback.md item 8
|
||||
## Notes
|
||||
|
||||
- 2026-05-03 partial: `kebab-tui::input::{display_width, truncate_to_display_width}` helper 모듈 + Korean/Japanese fixture render audit + 9 unit tests + library.rs 의 중복 truncate 제거 (단일 source). `InputBuffer` struct 도입은 follow-up — Ask/Search/Editor pane 의 String + cursor 를 일괄 마이그레이션하면 회귀 표면이 커서 위 helper 만 먼저 머지. 백스페이스는 `String::pop()` 이 char-aware 라 byte-boundary 안전성은 이미 확보된 상태. 후속 spec issue 는 HOTFIXES.md 참조.
|
||||
- 2026-05-03 follow-up: `InputBuffer { content, cursor_col }` struct landed; Search/Ask/FilterEdit migrated; cursor column-aligned via `f.set_cursor_position` in each render fn (block.inner-derived coordinates, right-edge clamp). Korean FTS5 end-to-end smoke pin in `crates/kebab-app/tests/search_korean.rs`. `lexical_query` test helper 가 `crates/kebab-app/tests/common/mod.rs` 로 promotion. spec status `in_progress` → `completed`.
|
||||
|
||||
Reference in New Issue
Block a user