Skip to content

기본 편집 Profile의 전체 선택·확정·Undo 계약을 보강한다 - #728

Merged
developer-1px merged 2 commits into
mainfrom
issue-727-default-editing-profile
Sep 8, 2026
Merged

기본 편집 Profile의 전체 선택·확정·Undo 계약을 보강한다#728
developer-1px merged 2 commits into
mainfrom
issue-727-default-editing-profile

Conversation

@developer-1px

Copy link
Copy Markdown
Owner

전체 선택을 반복하면 해제되는 입력과, 확정 결과를 확인하기 전에 draft를 닫는 callback 때문에 기본 편집 관습을 조합하기 어려웠다. 기본 Usage가 반복 전체 선택을 유지하고 domain의 확정 거절 후에도 편집을 이어 갈 수 있도록 기존 owner의 계약을 보강한다.

계약 구현과 증거
반복 전체 선택 selectAllAffordance(..., { repeat: "preserve" }). 옵션 생략·명시적 toggle은 기존 동작을 유지한다.
전체 범위를 한 번에 선택 Document·Order·Tree·Sheet에 selection.select-all. 기존 Range family를 사용해 최종 선택을 한 번 발행한다. 빈 대상, visible/행·열 topology, 반복 및 Undo/Redo 보존을 검사한다.
거절 후 재시도 createRenameSession의 동기 tryCommit과 기존 onCommit은 상호 배타적이다. 실패 시 draft 유지, 성공·취소 시 종료를 검증하고 Order Usage가 domain 결과를 전달한다.
공통 Undo 해석 Rich Text Web이 Web keyboard adapter를 소비하며 기존 Alt modifier 수용을 유지한다. 정·역방향 범위 교체, Undo의 선택 복원, 선택 이동 후 Redo를 domain·binding·browser에서 검사한다.

공개 API reference, owning README, Site Usage와 Source 탭을 갱신했다. Core six-member 계약과 Stable profile은 유지한다. 설계 문서 PR #726과 별개의 runtime 변경이다.

검증:

  • 전체 library build, 변경 owner 4개의 테스트 타입 검사 통과.
  • 관련 package 63개 파일 / 583개 테스트 통과.
  • Site 타입·정본 module guard, 단위 테스트 138개 통과.
  • Chrome browser 60개 통과. Firefox·WebKit Rich Text 41개 통과, Chromium 전용 IME 2개는 기존 조건으로 skip.
  • workspace:check, standard:check, docs:evaluate, docs:api:check, site:verify:pages 통과.
  • 사용자의 기존 Chrome 프로필에서도 Order 전체 선택 반복 → 이름 확정 → Undo → 전체 선택 → Redo 경로를 확인했다.

학습 기록과 범위: #727, 의미·입력 정책·확정 실패의 경계.

Closes #727

@developer-1px developer-1px self-assigned this Sep 8, 2026
@developer-1px
developer-1px merged commit aae30a6 into main Sep 8, 2026
4 checks passed
@developer-1px
developer-1px deleted the issue-727-default-editing-profile branch September 8, 2026 02:05
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.

기본 편집 Profile의 전체 선택·확정·Undo 연결을 구현한다

1 participant