3.7 KiB
3.7 KiB
.gemini/current.md
TASK_META (수정 금지)
- TASK_TITLE: Flight 스타필드(이미지 없이) — “조용한 우주” 점 중심 + 약한 전진감 + 교차 0 (저밀도 튜닝)
- TASK_SLUG: flight-starfield-calm-forward-low-density
현재 문제(관찰)
- 별이 길게 늘어난 스트릭이 많아 산만하고, 교차가 생기면 X자 워프처럼 보인다.
- 중앙(타이머) 주변까지 별이 과하게 지나가면 UI 몰입이 깨진다.
- 별이 많아 보이는(과밀) 인상이 강하다.
작업 목표
@src/app/flight/page.tsx 배경 스타필드를 “조용한 우주” 스타일로 재구성한다:
- 대부분은 정적인 점에 가깝고,
- **아주 약한 전진감(같은 방향의 미세 이동)**만 느껴지며,
- 별(선) 교차/X자 인상이 절대 생기지 않도록 한다.
- 별 개수를 “저밀도”로 튜닝해 산만함을 줄인다.
- UI는 변경하지 않는다(배경만).
핵심 스타일 규격(이미지 없이 구현 가능한 스펙)
A. 방향/움직임 (교차 0이 최우선)
- 별 이동은 **하나의 주 방향 벡터(vBase)**만 사용한다.
- 예: (dx=+0.15, dy=+1.0) 처럼 “아주 약한 대각 + 아래” 한 방향
- 모든 별은 vBase의 x 부호가 동일해야 한다(좌/우 반대 섞기 금지)
- 별마다 각도 노이즈는 아주 작게(±3~6도)만 허용.
- 속도는 “느림 위주”:
- 85~95%: 느림
- 5~15%: 중간
- 빠른 레이어 금지
B. 별 모양(점 중심)
- 90
97%는 “점” 또는 “매우 짧은 꼬리(25px)”만 - 3
10%만 “중간 꼬리(614px)” 허용 - 매우 긴 꼬리(> 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 / 모바일 1230 범위로 유지되어 산만함이 감소했다 - 중앙(타이머) 가독성이 유지된다(중앙 보호 규칙 적용)
- UI는 변경되지 않았다
- prefers-reduced-motion에서 정지 또는 크게 약화된다
완료 후 출력(최소)
- 수정된 파일 경로 목록
- AC 항목별 체크 결과(OK/NO)