quad/.claude/research/fastscroll-plan.md
2026-08-18 10:09:39 +09:00

37 lines
2.1 KiB
Markdown

# `quad-roblox-fastscroll` — 스크롤 최적화 유틸 (아이디어 메모)
**상태**: research 착수 전 — 사용자 노트를 그대로 옮겨 적은 **아이디어
메모**. 설계 논의는 아직 없었고, 사용자가 "quad가 잘 작동하게 될 때"
직접 검토하겠다고 못박은 **아주 나중** 항목. 지금은 잊지 않게 적어두는
것 자체가 목적.
## 아이디어
리스트/그리드 컨테이너 안에서 각 항목의 상대 위치를 구해, **실제로
움직여야 하는 것만** 같이 움직이게 하는 유틸. 스크롤 자체는 배경 위의
**빈 공간만** 스크롤시키고, 그 결과 absolute position이 필요한 요소만
갱신되게 한다 — 이 방향이 성립하려면 항목들의 원래 레이아웃을 계산해줄
**가상 레이아웃(virtual layout) 유틸**이 선행 요구사항으로 보인다(원문:
"이걸 위하여 가상 레이아웃 유틸이 필요하긴 함").
## 패키지 경계
**완전 외부 요소**로 `quad-roblox-fastscroll`(quad 코어/quad-roblox 코어와
분리된 별도 패키지) — 원문 그대로. quad 코어 설계에 영향을 주는 항목이
아니라, quad 위에 얹는 최적화 유틸리티로 스코프됨.
## 선행 확인 필요 — 실측 전제
사용자가 명시적으로 지목한 첫 확인 사항: **`Visible = false`일 때
`AbsoluteSize`/`AbsolutePosition`이 계속 업데이트되는지 여부**부터
확인해야 한다. 이 최적화 전략 전체가 "안 보이는 요소는 레이아웃 계산에서
빼도 좌표가 정확한가"에 의존하므로, Roblox UI 레이아웃 엔진이
`Visible = false`인 인스턴스도 계속 계산하는지 아니면 멈추는지가 접근
방식을 가른다. 이건 `.claude/luau-test/`류 추론이 아니라 **Roblox Studio
실측**이 필요한 항목 — quad-doc-auditor/luau-test 스파이크로 대신할 수
없고, MCP 연결 이후 사용자가 직접(또는 요청 시) 확인해야 함.
## 우선순위
최하 — 사용자가 "아주 나중에 quad가 잘 작동하게 될 때 내가 검토해볼
예정"으로 직접 후순위 지정. 지금 단계에서 추가 설계 논의 불필요.