배경
#11 감사 문서는 현재 editor에 ProseMirror식 widget/decoration registry를 추가하지 않는다고 결론냈다. 다만 placeholder, comment marker, inline menu anchor 같은 zero-width widget이 필요해지는 순간에는 cursor side, event ownership, selection ownership, destroy cleanup 계약이 먼저 필요하다.
근거 문서: docs/editor-decoration-boundary-composition-audit.md
설계할 것
- widget identity: role + anchor position + stable id
- cursor side: before/after, collapsed movement, shift-selection 확장 규칙
- event ownership: stopEvent equivalent와 text input/composition owner 분리
- selection ownership: widget 내부 selection을 outer canonical selection으로 읽을지 여부
- mutation ownership: document content mutation과 widget chrome mutation 분리
- destroy cleanup: listener/observer/timer/subscription cleanup
완료 기준
- public/internal 어느 surface에 둘지 결정한다.
- widget DOM을
.text-block child list 안에 넣어도 되는 조건과 금지 조건을 문서화한다.
- 최소 fixture 목록을 작성한다. 실제 producer 구현은 이 이슈 범위가 아니다.
배경
#11 감사 문서는 현재 editor에 ProseMirror식 widget/decoration registry를 추가하지 않는다고 결론냈다. 다만 placeholder, comment marker, inline menu anchor 같은 zero-width widget이 필요해지는 순간에는 cursor side, event ownership, selection ownership, destroy cleanup 계약이 먼저 필요하다.
근거 문서:
docs/editor-decoration-boundary-composition-audit.md설계할 것
완료 기준
.text-blockchild list 안에 넣어도 되는 조건과 금지 조건을 문서화한다.