캡처를 잃은 텍스트 끌기가 다음 클릭에서 드롭되던 것 (1.3 2단계) - #50
Merged
Merged
Conversation
포인터 파이프라인(1단계)으로 그림 손잡이·개체 끌기·텍스트 끌기까지 제스처로 구동해 보니 **결함 1건이 측정으로 드러났다(포트 전용 — 상류엔 문서 내 텍스트 끌기가 없고 외부 파일 드롭만 있다).** - **캡처 상실이 텍스트 끌기를 정리하지 않았다.** `EndPointerDrags`의 옛 주석은 "텍스트 끌기는 건드리지 않는다 — 끝내면 텍스트가 떨어지는데 캡처 상실은 드롭이 아니므로"라고 **의도**로 적혀 있었다. 그러나 *끝내기*와 *떨어뜨리기*는 다르다: 무장이 남아 다음 hover가 드롭 캐럿을 계속 끌고 다녔고, 사용자의 **다음 클릭**이 낡은 미리보기로 `EndTextDrag`를 돌려 선택 영역을 옮겼다(측정). 개체 끌기와 같은 규칙으로 `CancelTextDrag()`를 추가하고 캡처 상실에서 호출한다 — 취소지 완료가 아니다. - **문서 교체에도 같은 정리를 추가**했다. 이쪽 피해는 작다(교체가 선택을 접어 `PerformTextDrop`이 일찍 돌아온다) — 갓 연 파일 위로 드롭 캐럿이 따라다니고 다음 놓기가 일반 클릭 대신 지연된 클릭 경로를 타는 정도. 그래서 테스트도 문서 변화가 아니라 상태를 단정한다. 테스트 826(+5): 그림 손잡이 제스처(놓기·캡처 상실) · 개체 끌기(놓기는 이동, 캡처 상실은 드롭 없음) · 텍스트 끌기 캡처 상실 · 문서 교체 중 개체/텍스트 끌기. 반증 5종 전부 의도한 테스트만 빨강: 텍스트 끌기 취소 제거 · 개체 끌기 놓기 순서 뒤집기 · 캡처 상실의 그림 크기 조절 완료 제거 · 문서 교체의 개체 끌기 취소 제거 · 문서 교체의 텍스트 끌기 취소 제거. ⚠ **하네스 함정 하나를 밟았다(제품 아님)**: 공유 에디터에 같은 좌표를 밀리초 간격으로 누르면 **다중 클릭**으로 판정돼, 두 번째 테스트의 누르기가 끌기 무장 대신 단어 선택이 된다. 실패 메시지는 제품 결함처럼 보였다. `Hosted`가 `_lastPressTime`/`_clickCount`를 초기화한다. 공개 표면 변화 없음. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
1단계에서 만든 포인터 파이프라인으로 그림 손잡이 · 개체 끌기 · 텍스트 끌기까지 제스처를 구동했고, 그 과정에서 결함 1건이 측정으로 드러났다. 공개 표면 변화 없음, 테스트 821 → 826.
결함 (포트 전용)
캡처를 잃은 텍스트 끌기가 무장된 채 남아, 사용자의 다음 클릭이 드롭을 수행했다.
EndPointerDrags의 옛 주석은 이것을 의도라고 적고 있었다 — "텍스트 끌기는 건드리지 않는다: 끝내면 텍스트가 떨어지는데, 캡처 상실은 드롭이 아니므로". 하지만 끝내기와 떨어뜨리기는 다르다. 남은 무장의 대가는:_dropPreview로EndTextDrag를 돌려 선택 영역을 옮긴다개체 끌기와 같은 규칙(
CancelObjectDrag)으로CancelTextDrag()를 만들어 캡처 상실에서 부른다 — 취소지 완료가 아니다. 상류에는 문서 내 텍스트 끌기가 없어(외부 파일 드롭만) 대조할 선례가 없었다.문서 교체에도 같은 정리를 추가했다. 이쪽 피해는 작다(교체가 선택을 접어
PerformTextDrop이 일찍 돌아온다) — 갓 연 파일 위로 드롭 캐럿이 따라다니는 정도라, 테스트도 문서 변화가 아니라 상태를 단정한다.테스트 (+5)
그림 손잡이 제스처(놓기 / 캡처 상실은 크기 유지하고 끌기 종료) · 개체 끌기(놓기는 이동, 캡처 상실은 드롭 없음) · 텍스트 끌기 캡처 상실 · 문서 교체 중 개체 끌기 / 텍스트 끌기.
반증 5종 — 전부 의도한 테스트만 빨강
CancelTextDrag제거FinishImageResize제거ALostCapture_EndsEveryDragCancelObjectDrag제거ADocumentSwapMidDrag_CancelsTheDragCancelTextDrag제거⚠ 하네스 함정 (제품 아님)
공유 에디터에 같은 좌표를 밀리초 간격으로 누르면 다중 클릭으로 판정돼, 두 번째 테스트의 누르기가 끌기 무장 대신 단어 선택이 된다. 실패 메시지("the press inside the selection did not arm the drag")는 제품 결함처럼 보였다.
Hosted가_lastPressTime/_clickCount를 초기화하도록 했고, 이유를 주석에 남겼다.다음: 3단계(모디파이어 의존 동작 — Ctrl 복사 끌기, Ctrl+클릭 링크, 필요하면 휠).
🤖 Generated with Claude Code