문제
현재 ScrollManager는 수직 스크롤에만 최적화되어 있어 수평 스크롤 또는 수평+수직 중첩 스크롤 구조에서는 동작하지 않습니다.
scrollTo가 elementRect.top 기반으로 수직 위치만 계산
currentScrollTop이 window.scrollY / element.scrollTop 만 추적
getSections의 정렬 기준도 getBoundingClientRect().top (수직 전용)
- 수평 관련 코드(
scrollLeft, left) 없음
기대 동작
ScrollOptions에 axis?: 'vertical' | 'horizontal' 옵션 추가
axis: 'horizontal' 설정 시 scrollLeft 기준으로 위치 계산 및 스크롤 이동
getSections 정렬도 axis에 따라 left / top 기준 전환
- 중첩 스크롤 컨테이너(
root 옵션)와 함께 수평 모드 동작 보장
영향 범위
packages/core/src/ScrollManager.ts
문제
현재
ScrollManager는 수직 스크롤에만 최적화되어 있어 수평 스크롤 또는 수평+수직 중첩 스크롤 구조에서는 동작하지 않습니다.scrollTo가elementRect.top기반으로 수직 위치만 계산currentScrollTop이window.scrollY/element.scrollTop만 추적getSections의 정렬 기준도getBoundingClientRect().top(수직 전용)scrollLeft,left) 없음기대 동작
ScrollOptions에axis?: 'vertical' | 'horizontal'옵션 추가axis: 'horizontal'설정 시scrollLeft기준으로 위치 계산 및 스크롤 이동getSections정렬도 axis에 따라left/top기준 전환root옵션)와 함께 수평 모드 동작 보장영향 범위
packages/core/src/ScrollManager.ts