17 Commits

Author SHA1 Message Date
jongjae0305 c335995a9a feat: update song selection, score UI, and song creator features
- SongSelectManager/SongDetailPanel: 곡 선택 및 상세 패널 개선
- SongCreatorManager: 곡 생성 기능 추가
- FinalScoreLabel/ScoreManager: 결과 화면 점수 UI 업데이트
- MarqueeText: 마퀴 텍스트 컴포넌트 개선
- NoteData/SongController: 노트 데이터 및 컨트롤러 보완

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 17:29:50 +09:00
whdwo798 72dad1ce4c docs: update project handoff 2026-05-29 00:53:49 +09:00
whdwo798 fb59fc36f7 feat: polish result screen UI 2026-05-29 00:51:32 +09:00
whdwo798 b46ccddbdb feat: polish game HUD scoring and results 2026-05-29 00:32:21 +09:00
jongjae0305 c4330aa544 docs: add NAS config template 2026-05-28 19:03:34 +09:00
jongjae0305 03105a4f85 feat: polish VR gameplay and sync tools 2026-05-28 19:01:20 +09:00
jongjae0305 ee34d79a66 docs: update html code review docs 2026-05-26 19:12:06 +09:00
jongjae0305 abd3c9bb36 fix: widen note lanes and clear warnings 2026-05-26 18:54:56 +09:00
jongjae0305 182d2c90b9 fix: stabilize VR UI and song playback 2026-05-26 18:21:58 +09:00
jongjae0305 5e5e918c10 docs: update project handoff status 2026-05-26 17:18:02 +09:00
jongjae0305 10e9ebae45 feat: improve VR menu pointer and BeatSaber flow 2026-05-26 17:13:02 +09:00
whdwo798 58838f0acb docs: add annotated code & code review HTML documents
학습용 HTML 2개 추가 — 전체 15개 스크립트 줄 단위 주석본(annotated_code.html)과
설계 분석/퀴즈 문서(code_review.html). LiberationSans SDF Fallback 에셋 교체.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 00:18:32 +09:00
whdwo798 2f6aff7691 feat: Game scene — SongController bridges custom map to VRBeatsKit
- SongController: loads MP3 + Beat Saber JSON map, runs countdown (3→2→1→GO),
  spawns cubes via VR_BeatManager.Spawn() synced to audioSource.time
- NoteData → SpawnEventInfo mapping: position/lineLayer → x/y, colorType → ColorSide,
  cutDirection → Direction enum
- travelTimeOverride on SpawnEventInfo: each cube's travel time is back-calculated
  from remaining time at spawn moment, so simultaneous notes arrive at hit zone together
  regardless of frame-level spawn delay
- AudioManager: add PlayClip(AudioClip) and CurrentTime property
- VR_BeatManager: respect travelTimeOverride when non-zero
- Settings.asset: targetTravelTime 0.5 → 1.8 for natural Beat Saber approach feel
- SceneBuilder ④: auto-builds Game.unity from SaberStyle, wires SongController refs,
  registers in Build Settings
- LiberationSans SDF fallback updated with NanumGothic for Korean text support
- Remove unused SampleScene

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 14:32:25 +09:00
whdwo798 64ef3d64ec feat: SongSelect UI polish — marquee title, button states, font
- MarqueeText: scrolling title for long song names (RectMask2D clipped)
- SongDetailPanel: difficulty selected = green (img.color direct set)
- SongSelectManager: ALL/OWNED tab active state via img.color
- Card layout: DestroyImmediate + correct rebuild order to fix zero-size title bug
- NanumGothic SDF fallback configured on LiberationSans for Korean support

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 13:31:04 +09:00
whdwo798 1f1100bbd8 feat: NanumGothic font + SongSelect UI fixes
- Add NanumGothic.ttf and NanumGothic SDF.asset for Korean text support
- SongSelectManager: cardFont SerializeField for card title/artist rendering
- SongDetailPanel: difficulty selected color changed from blue to green

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 10:42:04 +09:00
whdwo798 58c88dafff feat: SongSelect panel — NAS song list with download/play in Menu.unity
- Add DownloadManager, SongLibrary, SongSelectManager, SongDetailPanel scripts
- Rebuild SongSelect panel inside Menu.unity using VRBeatsKit style:
  left scroll list (ALL/OWNED tabs) + right detail panel (diff buttons, Download/Delete/Play)
- SceneBuilder replaced: only ③ Menu — Rebuild SongSelect Panel remains
- All UI text in English

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 01:22:16 +09:00
whdwo798 4dad9e5d5b feat: SongCreator 씬 완성 — Beat Sage URL 지원, info.dat 메타데이터 자동 추출
- BeatSageUploader: audio_url 지원(UploadFromUrl), PollAndDownload 공통화, ZIP 500 오류 3회 재시도
- BeatSageConverter: info.dat 파싱(SongMetadata), BPM 자동 감지 → 노트 타이밍 변환에 적용
- SongCreatorManager: title/BPM 필수 입력 제거, 난이도 4개 자동 선택, GenerateFlowFromUrl 버그 수정
- NasPublisher: audioPath null 허용(URL 흐름에서 로컬 파일 없는 경우 스킵)
- .gitignore/.gitattributes 초기 설정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 23:37:34 +09:00