Cut 입력 소유권을 Web 정본으로 통합하고 실패 시 원본을 보존한다 - #730
Merged
Merged
Conversation
added 7 commits
August 27, 2026 01:26
This was referenced Sep 8, 2026
Annotation의 선택·gesture·geometry·출력 책임을 정본 모듈로 연결합니다. 기존 선택 순서와 Undo/Redo 복원, 도구·댓글·raster 동작을 유지하고 Host에는 정책과 화면 조합을 남깁니다. 최신 HEAD ba163a3f의 Plan, Package, Site, External kit 검증이 모두 통과했습니다. Closes #588
EditingSession의 공통 계약과 현재 binding 정책을 분리하고, UI 구독 유무에 따른 local History 무효화 차이를 수정한다. 전체 30개 library typecheck·build 및 1,351개 테스트 통과. unmount 이후 외부 값 왕복 회귀를 포함한다. Closes #735
* fix: JSON 주소와 값 검증을 Core 정본으로 통일한다 * test(site): include canonical JSON validator in source tabs --------- Co-authored-by: 유용태 <teo.v@navercorp.com>
* Core의 중복 patch 경로와 배열 fast path를 축소한다 * 편집 주변의 중복 복사와 배치 재탐색을 줄인다 --------- Co-authored-by: 유용태 <teo.v@navercorp.com>
Co-authored-by: 유용태 <teo.v@navercorp.com>
This was referenced Sep 9, 2026
Co-authored-by: 유용태 <teo.v@navercorp.com>
Calendar 문서 모델·검증·의미 연산·projection을 독립 정본으로 옮기고 선택 회차·붙여넣기·입력 검증을 보강한다. 기존 Editing API 호환 경로, 공통 Editing Grammar, 소유자 문서와 Usage/Source를 연결한다. 관련 테스트 796개와 타입·빌드·외부 tarball 소비·기존 Chrome 검증을 확인했다. Core와 자동 PR CI 정책은 변경하지 않는다. Closes #745
한 장의 Canvas를 Object Document Type, 기존 Editing, Canvas Hand로 구성하고 두 Host를 정본 소비로 통일한다. 공통 아이콘·툴팁 툴바와 문서·Usage·Source 등록 및 회귀 검증을 포함한다. Closes #747.
선택 박스의 모양을 유지하면서 네 변·네 모서리 resize, 반대편 고정, Shift 비율 유지, Alt 중심 기준과 최소 크기 고정을 정본 Affordance에 연결한다. Canvas의 modifier·취소·no-op·Undo 연결과 owner 문서, Usage/Source, 회귀 검증을 포함한다. Closes #757.
Co-authored-by: 유용태 <teo.v@navercorp.com>
재사용 가능한 평면 Select와 복제·외부 Clipboard 기본기를 연결한다
Paste·Image 기본기 TBD 계약과 Composer 이미지 첨부를 연결한다
feat(clipboard): HTML 이미지와 순서 있는 혼합 입력을 연결한다
fix(canvas): 생성 기본 크기가 드래그 전에 노출되는 문제를 고친다
feat(canvas): 선택 스타일 편집을 정본 Object 계약으로 연결한다
기본 단축키 해석을 정본 키맵과 chord로 통일한다
…derivation 편집 문법의 하이라키와 기본 Profile 계약을 구체화한다
…chitecture 사이트 구조·프로토콜 문서와 목표 TBD를 정렬한다
Owner
Author
|
최신 main은 cut callback이 있으면 clipboardData와 payload 유무 확인 전에 기본 Cut을 차단합니다. 이 PR은 clipboardData와 non-null payload를 확인한 뒤에만 차단하며, 빈 선택·데이터 없음은 브라우저에 위임합니다. 인코딩/쓰기 실패 시 삭제 방지는 같은 목적이지만 빈 입력의 event ownership 계약이 서로 달라, 어느 동작을 보존할지 결정 전까지 병합을 보류합니다. |
…al-closure Database saved-view와 편집 표현 책임을 정본화한다
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.
Cut 이벤트의 소유권을 payload 준비 성공 여부로 판단하면, 앱의 쓰기 실패가 native 삭제로 이어지거나 중첩 native 입력을 앱이 가로챌 수 있었습니다. Web 정본
routeWebClipboardEvent가 편집 경계를 먼저 판정하고, 앱 소유 Cut은 준비 전에 취소하도록 통합했습니다.createWebClipboardSurface는 DOM currentTarget/target으로 자동 라우팅합니다. Rich Text와 Canvas도 같은 공개 API를 사용하며, SVG root와 중첩 native 입력을 지원합니다. Calendar와 Clipboard Usage의 중복 경계 판정을 제거했습니다.사용자가 승인한 계약 변경은 이슈 댓글에 기록했습니다. OS clipboard와 문서는 단일 트랜잭션이 아니므로 실패 전에 기록된 표현의 rollback은 보장하지 않습니다.
검증한 head:
95984acd13a9c7bbc3bfbef76eef06411a83d595(mainef860143통합)Closes #729