Skip to content

feat: 오버레이 위치 초기화와 창 배치 결함 수정 - #131

Merged
lee-sihun merged 4 commits into
masterfrom
fix/overlay-window-placement
Aug 18, 2026
Merged

feat: 오버레이 위치 초기화와 창 배치 결함 수정#131
lee-sihun merged 4 commits into
masterfrom
fix/overlay-window-placement

Conversation

@eun-yeon

Copy link
Copy Markdown
Member

개요

오버레이가 화면 밖으로 나가면 되돌릴 수단이 없던 문제 해소. 모서리 맞추기가 화면 끝에 닿지 않던 문제와 리사이즈 재시도 차단 동반 수정

변경 내용

  • 그리드 배경 우클릭에 오버레이 위치 초기화 추가, 겹침이 가장 큰 모니터의 작업 영역 가운데로 복귀
  • 오버레이가 꺼져 창이 없으면 저장된 위치만 갱신해 다음 표시 때 제자리에 뜨도록 처리, 저장값이 없거나 깨졌으면 기본 크기로 폴백
  • 창 크기 상한을 2000에서 4096으로 확대, 넓은 배치에 트랙 높이를 크게 잡으면 조용히 잘리던 문제 해소
  • 상한에 걸린 요청을 진단 로그로 기록
  • 모서리 맞추기 기준을 작업 영역에서 화면 끝으로 정정, 독·작업 표시줄 자리만큼 떠 있던 여백 제거
  • 창이 화면보다 클 때 우·하단 정렬이 화면 밖으로 밀어내던 계산 보정
  • 리사이즈 실패 시 기준선을 무효화해 같은 크기 재시도가 영구히 차단되던 문제 해소
  • 창이 없는 OBS 오버레이는 리사이즈 호출 자체를 생략, 실패 처리와 맞물려 레이아웃마다 헛호출이 반복되던 경로 차단
  • 리사이즈 반환 타입을 실제 계약에 맞게 정정, 차단 커맨드는 거절이므로 undefined 경로 제거

검증

  • npx tsc --noEmit / npm run lint 오류 0, 경고는 base와 동일 / npm run format:check
  • vitest 2,986 통과, cargo test 690 통과, clippy·fmt 클린
  • 화면 인셋 실측 상단 30 하단 52, 모서리 맞추기 목 테스트를 작업 영역과 다른 값으로 고정해 기준 회귀 차단
  • 실기 macOS: 그리드 우클릭 항목 노출, 위치 초기화 복귀, 모서리 맞추기 상·하단 화면 끝 도달, 오버레이 끈 상태 초기화 후 재표시까지 확인

리뷰 포인트

  • 모서리 맞추기가 독·작업 표시줄에 겹치는 것은 의도. 오버레이는 항상 위 표시라 그 위에 그려지며, 작업 영역 기준은 자동 숨김 독에서 빈 여백으로 보임
  • 위치 초기화는 OBS 모드에서 숨김. OBS 오버레이에는 네이티브 창이 없어 커맨드가 allowlist 밖
  • 반환 타입 정정은 master의 공개 타입을 되돌리는 것. OBS에서 undefined로 resolve된다는 서술이 사실과 달랐고 실제로는 거절
  • Windows 실기 미확인. 모서리 맞추기 기준 변경이 작업 표시줄 겹침으로 나타남

eun-yeon and others added 4 commits August 17, 2026 22:43
overlay_bounds_are_logical은 serde(default) = false라 구버전 store는
physical px를 담고 있다. 창이 없을 때 도는 초기화 폴백 경로에만
convert_physical_bounds_to_logical 환산이 빠져 있어, HiDPI에서 겹침 판정이
scale배로 부풀어 엉뚱한 모니터를 고르고 defer_overlay_bounds가 마커를
true로 굳혀 이후 환산 기회가 영영 사라졌다.

- overlay_reset_fallback_rect가 마커와 MonitorData를 받아 환산 수행
- 환산 실패 시 physical 값을 logical로 오인하는 대신 기본 크기로 폴백
- 창도 모니터 정보도 없으면 임의 좌표로 덮어쓰지 않고 실패 반환
- 레거시 환산·환산 불가 회귀 테스트 추가

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lee-sihun
lee-sihun merged commit 58d37d7 into master Aug 18, 2026
@lee-sihun
lee-sihun deleted the fix/overlay-window-placement branch August 18, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants