Skip to content

앱 사례와 정착한 편집 관습에서 최소 프로토콜과 하이라키를 도출한다 #725

Description

@developer-1px

Goal Anchor

  • Outcome: 레포에 모인 앱·편집 사례와 오랫동안 정착한 편집 관습에서, 장기간 호환성을 지킬 최소 개념·공통 불변 조건·profile별 차이·책임 하이라키를 도출한 설계 초안을 만든다.
  • Done: 사례 → 외부 근거와 반례 → 공통 계약 또는 profile 선택 → 기존 책임과의 연결을 검토할 수 있는 문서로 정리한다. 확정할 수 있는 결론과 아직 동결할 수 없는 질문을 구분하고, 이슈 댓글에는 학습에 필요한 근거·대안 비교·판단 요약·검증 결과·원문 자료를 남긴다.
  • Don't: runtime 구현, 공개 API, Stable profile, package 배치를 변경하지 않는다. 새 범용 editor·command bus·profile registry를 도입하지 않는다. 조사 결과를 표준 완성이나 독립 구현 간 상호운용 인증으로 주장하지 않는다.

사용자에게 위임받은 설계 범위

사용자는 편집 문법을 이미 장기간 정착한 사실상 표준으로 보고, 여러 앱과 개념을 모아 그 공통 문법을 도출하려 한다. “디테일 전에 프로토콜과 하이라키를 먼저” 정하고 “30분 정도 알아서 진행”하도록 요청했다. 이어 “과정을 학습할 수 있게 이슈와 댓글”에 공부할 내용을 남기도록 요청했다.

이 작업의 산출물은 설계 초안이다. 기존 논의에서 나온 대상·선택·focus·편집 맥락, 편집 행위, 작업 경계, 결과·복원은 검증할 후보이며 새 API로 확정한 목록이 아니다. 앱별 기능의 합집합을 Core로 옮기는 것으로 해석하지 않는다. 특히 한 앱 안에서 객체·셀·내부 텍스트 편집이 중첩되는 사례를 살펴본다.

기존 자산과 경계

  • standards/editing-grammar.md: 공통 규칙 EG-SELECT부터 EG-RESULT, profile별 결정, 적합성 증거와 장기 호환성을 연결하는 기존 Design Draft. 이번 초안도 이 정본 설계 문서를 발전시킨다.
  • json-document의 여섯 member, Selection family, Editing session/history, 각 editor와 플랫폼 adapter의 기존 책임을 근거로 삼는다.
  • Document·Rich Text·Order·Tree·Sheet·Database·Object·Kanban·Calendar·Annotation·Composer를 편집 사례로 조사한다. 같은 내부 구현 기반의 여러 사례를 독립 생태계 구현 증거로 세지 않는다.
  • 외부 근거는 역사적 편집 지침, 현재 제품의 공식 동작 문서, W3C의 관련 명세·구현 지침을 구분해 사용한다. 단축키 일치와 의미 계약 일치를 구별한다.
  • 편집 문법의 공통 규칙과 Hands profile을 적합성 테스트로 연결한다 #721 / #722의 적합성 구현과 Document의 동일 블록 내 offset 선택과 범위 확장을 반영한다 #723 / #724의 선택 보존 수정은 기존 자산이다. 이번에는 새 동작을 추가하거나 미구현 사례를 완료했다고 표시하지 않는다.

검토 가능한 완료 증거

  1. 편집 사례별 대상·위치·선택·행위·중첩 맥락과 차이를 읽을 수 있다.
  2. 공통 후보마다 근거와 반례 또는 성립 조건이 있고, 공유 의미와 profile 정책을 구분한다.
  3. 의미의 분류, 계약의 구체화 관계, 실제 구현 의존 관계를 혼동하지 않는 하이라키를 제시한다.
  4. 기존 EG 규칙·owner·적합성 증거와 연결하며, 새로 도출한 사항의 실행 검증 여부를 명시한다.
  5. 문서 검사와 전체 diff 검토를 마치고 문서 PR로 제공한다. 조사 단계별 학습 댓글에는 확인 가능한 출처와 판단 요약을 남긴다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions