Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PuyL1VJDKFV2CL9XK86onP
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PuyL1VJDKFV2CL9XK86onP
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.
Closes #27
무엇을 바꿨나
트랙 목록이 있는 영상에서 화면 우측 하단에 플로팅 플레이어가 뜬다. 접힘 상태는 아이콘 하나고, 누르면 두 줄짜리 카드가 열린다 — 위는 곡 제목과 접기 버튼, 아래는 이전·재생/일시정지·다음·반복과 목록으로 이동. 제목이 폭을 넘으면 좌우로 흐른다. 목록이 비어 있거나 전체화면이면 DOM에 없다.
새 core 로직은 없다. 조작부는 패널이 쓰던
parts/playbackControls.js를 그대로 재사용해서 두 곳이 어긋날 수 없게 했고,wiring.js는 view 하나를 만들어 패널과 위젯에 나눠 준다(toPanelView→toView).설명이 필요한 선택 다섯:
position: fixed면 브라우저가 알아서 감춰줄 것 같지만, 전체화면이 문서 루트에 걸리면 위젯도 그 자손이라 그대로 그려진다. 어느 요소에 걸렸는지는 따지지 않고document.fullscreenElement가 비었는지만 본다. 자동 스킵은 위젯 없이도 돈다.state를 통해 현재 값을 읽으므로 오래된 뷰에 묶이지 않는다.reveal()이panel.js가 아니라panelReveal.js에 있다.panel.js가 이미 153줄이라 더 넣으면 150줄 기준에서 더 멀어진다.확인
npm test133개 통과,npm run test:e2e19개 통과 (플로팅 12개 신규).전체화면 테스트가 보장하는 것은 위젯이 DOM에서 사라진다는 것이다. Playwright의 가시성 판정은 가려진 요소를 구분하지 못해서(전체화면 요소에 덮인 요소도 "보인다"고 답한다) 칠해지는지는 검증 대상이 아니다.
미확인
픽스처는 셀렉터가 낡은 것을 잡지 못한다. 실제 유튜브에서 확인할 것:
z-index: 2500).f)으로 들어간다 → 위젯이 사라진다. 나오면 다시 뜬다. 체크 해제한 구간은 전체화면에서도 자동으로 넘어간다.t)로 바꾼다 → 위젯이 그대로 보인다.≡를 누르면 패널로 스크롤되며 파란 테두리가 잠깐 켜진다.🤖 Generated with Claude Code
https://claude.ai/code/session_01PuyL1VJDKFV2CL9XK86onP