Wires the new scaffolding (intro, discovery, ad slot, sfx/haptic, sprite art)
into existing systems and adds combo + lucky proc to the fusion loop.
- useGameStore: add combo meter (8s window, x1.5/x2/x3 caps), lucky proc
(1% tier-up + gold bonus), sfx/haptic enabled toggles, welcome-gift
selection, screen polish state for new visual systems.
- App.tsx: mount IntroSplash + AdBanner; listen for legendaryImpact event
and apply 0.42s screen-shake keyframes.
- FusionScreen: render combo bar + lucky badge + DiscoveryHero overlay;
trigger SFX, haptic, legendary impact event on fuse results.
- SettingsScreen: add SFX and haptic toggles wired to store flags.
- TutorialOverlay: integrate welcome-gift step at tutorial completion.
- CharacterSprite, ElementsScreen, EvolutionScreen, ShopScreen,
OfflineRewardModal: adopt new sprite art and apply visual polish to
match the discovery / scene aesthetic.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- AchievementToast, PrestigeModal, AchievementsScreen 컴포넌트 추가
- BottomTabBar에 업적 탭 연결
- useGameStore 프레스티지/업적 상태 로직 수정
- pages/index.tsx 라우팅 업데이트
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- PrestigeResult, AchievementStats 타입 추가
- performPrestige(): 프레스티지 시 골드/원소 초기화, 배율·타이틀 업데이트
- achieveUnlock(): 업적 조건 충족 여부 실시간 체크 및 보상 지급
- 업적 통계 (fuseCount, enhanceCount, tiersUnlocked, prestigeCount 등) 상태 추적
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- SettingsScreen 컴포넌트 추가 (언어선택, BGM 토글, 앱 버전, 게임 초기화)
- 게임 데이터 초기화: 2단계 확인 다이얼로그 (localStorage 전체 삭제 후 리로드)
- 언어 설정: 한국어/English 세그먼트 버튼 (language 상태 persist)
- BGM 토글 스위치 (bgmEnabled 상태 persist)
- 마지막 저장 시각 및 오프라인 보상 최대 24시간 안내 텍스트
- BottomTabBar에 ⚙️ 설정 탭 추가
- useGameStore에 TabName 'settings', Language 타입 및 관련 액션 추가
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- useGameStore: localStorage 저장을 최대 10초 간격으로 스로틀링
(매 tick마다 저장하던 것을 개선)
- useGameStore: flushGameState() 내보내기 — beforeunload에서 즉시 저장
- useIdleTick: beforeunload 이벤트에 flushGameState 연결
- ElementsScreen: useGameStore 전체 구독 → 필요한 slice만 selector로 구독
- ElementsScreen: 원소 카드를 memo(ElementCard)로 추출
(count/level 불변 시 리렌더 방지)
Co-Authored-By: Paperclip <noreply@paperclip.ing>