You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
```typescript
private updateCaret(): void {
const rect = this.cursor.getRect();
if (rect) {
...
this.scrollCaretIntoView(rect); // ← 본 결함 후보
}
...
}
```
`scrollCaretIntoView` (line 1940) 가 caret 위치 (page X) 가 viewport 밖이면 강제 scroll. 사용자가 scrollbar 로 page Y 로 이동했지만 caret 은 여전히 page X → 어떤 trigger 로 `updateCaret` 호출 시 `scrollCaretIntoView` 가 page X 로 다시 scroll back.
Trigger 후보 (조사 필요)
`document.addEventListener('mouseup', this.onMouseUpBound, { once: true })` (input-handler-mouse.ts:81+): document-level mouseup 이 scrollbar release 도 catch
결함 영역
rhwp-studio: 스크롤바로 페이지 스크롤 후 마우스 release 시 이전 페이지로 자동 복귀.
재현 절차
기대 동작
마우스 release 후 사용자가 스크롤한 위치 (페이지 2) 보존.
실제 동작
마우스 release 시점에 caret 의 원본 페이지 (페이지 1) 로 자동 scroll back.
가설 (본질 추정)
`rhwp-studio/src/engine/input-handler.ts:1609` `updateCaret()` 내 `scrollCaretIntoView(rect)` 호출 추정:
```typescript
private updateCaret(): void {
const rect = this.cursor.getRect();
if (rect) {
...
this.scrollCaretIntoView(rect); // ← 본 결함 후보
}
...
}
```
`scrollCaretIntoView` (line 1940) 가 caret 위치 (page X) 가 viewport 밖이면 강제 scroll. 사용자가 scrollbar 로 page Y 로 이동했지만 caret 은 여전히 page X → 어떤 trigger 로 `updateCaret` 호출 시 `scrollCaretIntoView` 가 page X 로 다시 scroll back.
Trigger 후보 (조사 필요)
본 시나리오는 PR #718 (Task #661, 드래그 selection 영역) 의 정정 패턴과 유사하나 순수 scrollbar 사용 영역 까지 영향 미치는지 추가 조사 필요.
환경
후속
우선순위
사용자 (작업지시자) 가 다중 페이지 문서를 일상적으로 사용 시 본 결함 으로 정상 스크롤 사용 자체 차단 영역 — UX 차단 결함, 우선순위 높음.