Commit Graph

5 Commits

Author SHA1 Message Date
tkrmagid
c9463fe46b Phase 2+3: full solo app (3 modes, scoring, menus, settings, records)
- engine: 점수 시스템(§5) 추가 — scoreClear/levelForLines/gravityMsForLevel + 테스트(27개 통과).
- 클라이언트를 멀티스크린 PWA로 확장:
  · 메인 ①(라이트 네오브루탈, 3카드+시즌바+탭바+광고 슬롯)
  · 솔로 모드선택 시트 ⑧(SPRINT/TIME ATTACK/ENDLESS + 베스트 기록)
  · 인게임 ②(§11 터치, 모드별 중력/레벨/타이머/점수)
  · 솔로 결과 화면(기록 갱신·NEW RECORD·광고 슬롯)
  · 설정(DAS/ARR/SDF 슬라이더·고스트·햅틱, localStorage)
  · 멀티/커스텀/리더보드/프로필은 서버 단계까지 "준비 중"
- SPRINT(40줄 타임)·TIME ATTACK(2분 점수·레벨가속)·ENDLESS(무한, 톱아웃 시 보드만 리셋) 구현.
- 기록은 localStorage 저장. 헤드리스로 전 화면·플레이·점수·네비게이션 검증(에러 0).
2026-08-22 15:57:36 +09:00
tkrmagid
a8ff780248 Revert to spec's free web plan + PWA install (iPhone/Android, $0)
명세서 준수: 네이티브(Flutter/Kotlin) 경로 폐기 — 유료 iOS 개발자 등록·맥이 필요해 비용 0 원칙과 명세서에 어긋남.
- app/(Flutter) 전부 제거, 원래 웹 클라이언트 복원.
- PWA 추가: manifest.webmanifest + sw.js(오프라인 캐시) + 앱 아이콘(192/512/apple-touch).
  → iPhone Safari·Android Chrome에서 '홈화면에 추가'로 전체화면 앱처럼 실행, 스토어/맥/등록비 불필요.
- Cloudflare Pages 무료 배포 대상. 서버(Workers) 계획 불변.
2026-08-22 15:08:51 +09:00
tkrmagid
2f8c367537 Flat block rendering to match §13 palette exactly
블록 하단 베벨 띠 제거 → 조각이 §13 확정 hex 색 그대로 완전 플랫하게 렌더.
목업 픽셀 대조로 조각·UI 색상이 명세서 §13과 100% 일치함을 확인.
2026-08-22 11:27:54 +09:00
tkrmagid
f026fc3d07 Rebuild in-game client as mobile (UX mockup 화면 ② + §11 터치 버튼)
- 390x844 세로 고정 레이아웃, 기기 화면에 맞춰 스케일
- 목업 ② 대로: 상단 pause/SPRINT/타임/LINES·PPS, 다크 웰 보드+고스트+판정팝업,
  우측 HOLD/NEXT×5, 하단 §11 확정 좌표 가상 버튼(하드드롭 SAFETY 오렌지, 챔퍼컷)
- 포인터/터치 멀티터치 입력 + DAS/ARR, 햅틱; 키보드는 데스크톱 폴백으로 유지
- Phase 2 시작: SPRINT 모드(40줄) + 일시정지/결과 오버레이 연결
- NEXT/HOLD 미니 피스 수직 센터링 수정
2026-08-22 11:21:18 +09:00
tkrmagid
33771e932e Phase 1: core engine (SRS+180 kicks, 7-bag, hold, ghost, lock delay, line clear)
- src/engine.js: 순수 코어 로직 (보드 10x40, 피스 7종, SRS+180 킥테이블,
  T-spin/mini 판정, 콤보/B2B, 7-bag, 홀드, 고스트, 락딜레이 15회 캡)
- test/engine.test.js: 24개 단위 테스트 (킥테이블·T-spin 판정·7-bag·클리어 등) 전부 통과
- src/index.template.html + build.js: 엔진을 인라인한 단일 index.html 생성
  (외부 에셋 0개). 키보드 플레이 가능 (DAS/ARR, 하드/소프트드롭, 판정 팝업)
2026-08-22 11:13:36 +09:00