# .gemini/current.md ## TASK_META (수정 금지) - TASK_TITLE: Flight 스타필드(이미지 없이) — “조용한 우주” 점 중심 + 약한 전진감 + 교차 0 (저밀도 튜닝) - TASK_SLUG: flight-starfield-calm-forward-low-density ## 현재 문제(관찰) - 별이 길게 늘어난 스트릭이 많아 산만하고, 교차가 생기면 X자 워프처럼 보인다. - 중앙(타이머) 주변까지 별이 과하게 지나가면 UI 몰입이 깨진다. - 별이 많아 보이는(과밀) 인상이 강하다. ## 작업 목표 `@src/app/flight/page.tsx` 배경 스타필드를 “조용한 우주” 스타일로 재구성한다: 1. 대부분은 **정적인 점**에 가깝고, 2. **아주 약한 전진감(같은 방향의 미세 이동)**만 느껴지며, 3. 별(선) 교차/X자 인상이 **절대** 생기지 않도록 한다. 4. 별 개수를 “저밀도”로 튜닝해 산만함을 줄인다. 5. UI는 변경하지 않는다(배경만). ## 핵심 스타일 규격(이미지 없이 구현 가능한 스펙) ### A. 방향/움직임 (교차 0이 최우선) - 별 이동은 **하나의 주 방향 벡터(vBase)**만 사용한다. - 예: (dx=+0.15, dy=+1.0) 처럼 “아주 약한 대각 + 아래” 한 방향 - 모든 별은 vBase의 **x 부호가 동일**해야 한다(좌/우 반대 섞기 금지) - 별마다 각도 노이즈는 아주 작게(±3~6도)만 허용. - 속도는 “느림 위주”: - 85~95%: 느림 - 5~15%: 중간 - 빠른 레이어 금지 ### B. 별 모양(점 중심) - 90~97%는 “점” 또는 “매우 짧은 꼬리(2~5px)”만 - 3~10%만 “중간 꼬리(6~14px)” 허용 - 매우 긴 꼬리(> 16px) 금지 - 밝기는 절제(대부분 낮게, 소수만 약간 밝게) ### C. 밀도(저밀도) — 이번 작업의 핵심 - 별 개수는 기존보다 확실히 줄인다. - 권장 개수(고정값 상한): - 데스크탑: **18 ~ 45** - 모바일: **12 ~ 30** - 가능하면 개수를 화면 면적에 따라 스케일하되, 위 상한을 넘지 말 것: - `count = clamp(round((width*height)/K), min, max)` - K는 “너무 많아 보이지 않는” 수준으로 크게(예: 30,000~60,000 사이에서 조정) - 중앙 UI 보호: - 타이머 중심 기준 반경 R(예: 150~230px) 영역은 스폰 확률↓ 또는 밝기↓ ### D. 재스폰/리사이클(일관된 흐름 유지) - 별이 화면 밖으로 나가면 재스폰. - 재스폰 위치는 흐름 시작 가장자리에서 생성(방향 일관 유지). - 재스폰 후에도 방향은 동일(반대 방향 튀기 금지). ### E. 기술/성능(권장) - Canvas 기반이면 Canvas 유지 권장. - requestAnimationFrame 유지. - 배경 레이어 `pointer-events: none` 유지. - 과도한 blur/고비용 필터 금지. ### F. 모션 접근성(필수) - prefers-reduced-motion: reduce: - 이동 정지(우선) 또는 속도 10~20%로 감속 ## Non-scope - 타이머/버튼/미션 등 UI 레이아웃 변경 금지(배경만). - 타이머 로직/상태 저장 변경 금지. - 신규 기능 추가 금지. - 다른 페이지 변경 금지. ## 적용 파일 - 필수: `@src/app/flight/page.tsx` ## 완료 조건(AC) - [ ] 별 이동이 “한 방향 전진감”으로만 보이며 X자 교차 인상이 없다(좌/우 반대 혼합 0) - [ ] 별의 대부분이 점(또는 매우 짧은 꼬리)로 보이고, 긴 스트릭이 거의 없다 - [ ] 별 개수가 데스크탑 18~45 / 모바일 12~30 범위로 유지되어 산만함이 감소했다 - [ ] 중앙(타이머) 가독성이 유지된다(중앙 보호 규칙 적용) - [ ] UI는 변경되지 않았다 - [ ] prefers-reduced-motion에서 정지 또는 크게 약화된다 ## 완료 후 출력(최소) - 수정된 파일 경로 목록 - AC 항목별 체크 결과(OK/NO)