refactor(annotation): 선택·gesture·출력의 정본 경계 통합 - #589
Merged
Conversation
This was referenced Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경
Annotation Demo가 선택·gesture·SVG·댓글·출력 동작을 직접 구현하던 경계를 정리합니다. 공통 선택과 편집 동작은 기존 정본 엔진에 연결하고, 도메인 UI는 단일
@interactive-os/json-document-annotation패키지로 제공합니다.AnnotationSelection형태, 선택한 순서, primary, Undo/Redo 복원을 보존합니다.transformAnnotationSelector,annotationSelectorBounds,annotationResizeHandle을 preview와 commit의 정본으로 제공합니다.AnnotationHand는 공통useInteractionHandle, Web pointer session과 keyboard resolver를 소비합니다. 활성tool, ID 생성, 스타일 값은 Host가 주입합니다.useAnnotationOutput이 직렬화·저장/복원·raster lifecycle을 소유합니다. Host는 기존 출력 탭·CodeBlock·다운로드 링크를 조합하며 JSON은 정확한AnnotationDocument입니다.검증
37f6702c: site unit 138 tests 및 전체 원격 CI 통과ba163a3f: 영향 workbench unit 17 tests, site typecheck·구조 guard·Pages 검증 통과ENOSPC로 중단됐습니다.src, Editingannotation*, Annotation Demo 파일 전체. 기존 이슈의 상한 1,168 LOC 미만입니다.브라우저 검사는 저장소 Playwright로 수행했습니다. 기존 Chrome profile의 자동 제어 연결은 사용할 수 없어 사용자 세션에서의 직접 상호작용 검증은 별도로 완료하지 못했습니다. 최초 합동 browser 실행은 중도 종료되어, 위 결과는 분리한 재실행의 완료 결과입니다.
source 연결 보완 후 로컬 전체 unit 재실행에서는 기존 app-shell/docs-route의 대기 시간 초과가 발생했습니다. 해당 테스트의 대기 한도는 변경하지 않았으며 최신 커밋
ba163a3f의 전체 CI(Plan, Package, Site, External kit)는 모두 통과했습니다: 검증 실행. 추가된 source 탐색 unit과 실제 source 탭 browser 검사는 통과했습니다.새 Selection family나 편집 명령을 추가하지 않았습니다. 저장 상태 복원은 기존 Core commit에 의한 외부 문서 교체이므로 Editing의 외부 변경 history 정책이 적용됩니다.
Closes #588