JiWoong Sul
5d38bac79e
refactor(arch): ad_service, iap_service를 core/infrastructure/로 이동
...
- core/engine/ → core/infrastructure/ (프레임워크 오염 제거)
- 18개 파일 import 경로 업데이트
- CLAUDE.md 디렉토리 구조 반영
2026-03-30 20:39:05 +09:00
JiWoong Sul
fd93ad4f90
chore: Phase 1 잔여 — 폰트 라이선스, 중복 파일 제거, CI 파이프라인
...
- assets/fonts/: JetBrainsMono + PressStart2P 라이선스 파일 추가
- arena/widgets/ascii_disintegrate_widget.dart 삭제 (shared/ 중복)
- .github/workflows/ci.yml: format+analyze+test 자동화
2026-03-27 17:15:35 +09:00
JiWoong Sul
863c52600f
fix: 출시 전 검수 이슈 4건 수정
...
- save_data: JSON 캐스팅 시 null 안전 처리 (손상된 세이브 크래시 방지)
- settings_repository: _prefs! 강제 언래핑 제거, _getPrefs() 패턴 적용
- game_session_controller: IAP 구매 상태를 MonetizationState에 동기화
- iap_service: InAppPurchase.instance를 lazy 초기화로 변경
2026-03-24 17:40:39 +09:00
JiWoong Sul
c54681df8c
fix(security): 릴리즈 빌드에서 치트 메뉴 완전 차단
...
- cheatsEnabled getter에 kDebugMode 가드 추가
- 세이브 파일에 cheatsEnabled=true가 저장되어도 릴리즈에서 무조건 false
- tree-shaking으로 릴리즈 바이너리에서 치트 코드 완전 제거
2026-03-19 17:38:05 +09:00
JiWoong Sul
13b698712e
refactor(game): HelpDialog 4개 탭 뷰를 개별 파일로 분리
...
- help_dialog.dart 496줄 → 106줄
- help/ 디렉토리에 5개 파일 생성
(help_section, basics, combat, skills, ui)
2026-03-19 16:56:20 +09:00
JiWoong Sul
d9132a72ea
refactor(game): VictoryOverlay에서 크레딧 콘텐츠 분리
...
- victory_overlay.dart 734줄 → 265줄
- victory_credit_content.dart 475줄 신규 생성
2026-03-19 16:56:12 +09:00
JiWoong Sul
3d5e0af84d
chore: 미사용 StoryService 인스턴스 제거 및 iOS 최소 버전 명시
...
- game_play_screen: 미사용 _storyService 인스턴스 및 import 제거
- iOS Podfile: platform :ios, '13.0' 명시
2026-03-19 16:52:17 +09:00
JiWoong Sul
a45eafa8fc
refactor(game): 데스크톱 레이아웃을 DesktopGameLayout 위젯으로 분리
...
- game_play_screen.dart 873줄 → 745줄 (128줄 감소)
- desktop_game_layout.dart 193줄 신규 생성
- 앱바, 3패널 레이아웃, 키보드 단축키를 독립 위젯으로 추출
- MobileCarouselLayout과 동일한 패턴 적용
2026-03-19 15:00:54 +09:00
JiWoong Sul
7fcae4893e
refactor: 타입 안전성 개선 및 하드코딩 문자열 l10n 적용
...
- return_rewards_dialog: _getRarityColor(dynamic) → ItemRarity? 타입 명시
- stats_section: 하드코딩된 Undo/Rolls 문자열을 l10n으로 교체
- game_text_l10n: uiUndoAndRolls, uiRollsOnly 추가 (한/영/일)
- skill_data: 주석 스킬 개수 70→68 수정
2026-03-19 14:56:58 +09:00
JiWoong Sul
b98451919a
style: dart format 적용
2026-03-09 15:34:35 +09:00
JiWoong Sul
f6799e0243
fix(monetization): 광고/보상 로직 버그 수정 및 오프라인 2배 구현
...
- 인터스티셜 광고 실패 시 onComplete 콜백 미호출 수정
- AdType.rewardReturn 추가, 복귀 보상에 올바른 타입 적용
- SpeedBoostButton 기본 배율 10→5로 수정
- 유료 유저 오프라인 시간 2배 인정 로직 구현
- IAP 상품 ID remove_ads → remove_ads_and 변경
2026-03-09 15:34:21 +09:00
JiWoong Sul
864a866039
refactor(ui): 위젯 분리 및 화면 개선
...
- game_play_screen에서 desktop 패널 위젯 분리
- death_overlay에서 death_buttons, death_combat_log 분리
- mobile_carousel_layout에서 mobile_options_menu 분리
- 아레나 위젯 개선 (arena_hp_bar, result_panel 등)
- settings_screen에서 retro_settings_widgets 분리
- 기타 위젯 리팩토링 및 import 경로 업데이트
2026-02-23 15:49:38 +09:00
JiWoong Sul
d07a0c5554
style: dart format 적용
...
- 전체 Dart 소스 및 테스트 파일 포매팅 통일
- trailing comma, 줄바꿈, 인덴트 정리
2026-02-13 16:08:23 +09:00
JiWoong Sul
d9a2fe358c
refactor(ui): 화면 및 위젯 정리
...
- GamePlayScreen build() 메서드 분할 (300→15 LOC)
- 애니메이션/프로그레스 패널 개선
- 설정 화면 정리
2026-01-21 17:34:47 +09:00
JiWoong Sul
75bc39528f
refactor(ui): new_character_screen.dart 분할 (1016→544 LOC)
...
- NameInputSection: 이름 입력 섹션
- StatsSection: 능력치 섹션 (스탯 타일, 롤/언두 버튼)
- RaceSelectionSection: 종족 선택 섹션
- ClassSelectionSection: 직업 선택 섹션
2026-01-21 17:33:59 +09:00
JiWoong Sul
c5eaecfa6a
refactor(ui): mobile_carousel_layout.dart 분할 (1220→689 LOC)
...
- RetroSelectDialog, RetroOptionItem: 선택 다이얼로그
- RetroSoundDialog: 사운드 설정 다이얼로그
- RetroConfirmDialog: 확인 다이얼로그
- RetroMenuSection, RetroMenuItem, RetroSpeedChip: 메뉴 위젯
2026-01-21 17:33:52 +09:00
JiWoong Sul
c577f9deed
refactor(controller): GameSessionController 분할 (920→526 LOC)
...
- GameStatisticsManager: 세션/누적 통계 추적
- SpeedBoostManager: 광고 배속 부스트 기능
- ReturnRewardsManager: 복귀 보상 기능
- ResurrectionManager: 사망/부활 처리
- HallOfFameManager: 명예의 전당 관리
2026-01-21 17:33:37 +09:00
JiWoong Sul
7b9f1f87a6
fix(monetization): 버프 종료 버그 수정 (게임 시간 기준 통일)
...
- 배속 부스트: 실시간 타이머 → 게임 시간(elapsedMs) 기준 종료
- 자동부활 버프: 만료 시 autoReviveEndMs null 초기화 추가
- 매 틱마다 _checkSpeedBoostExpiry(), _checkAutoReviveExpiry() 호출
- 광고 직후 앱 resume 시 reload 방지 (isRecentlyShowedAd)
- 앱 pause/reload와 무관하게 버프 정상 종료
2026-01-20 18:13:40 +09:00
JiWoong Sul
2b4ea44623
fix(ui): 배속 버튼 오버플로우 수정 (52→56px)
2026-01-20 16:28:23 +09:00
JiWoong Sul
d5c46ad04a
refactor(ui): 화면 UI 정리
...
- front_screen: 프론트 화면 레이아웃 개선
- settings_screen: 설정 화면 간소화
- new_character_screen: 캐릭터 생성 화면 정리
2026-01-19 19:41:01 +09:00
JiWoong Sul
d90543dd86
fix(speed): 배속 관련 버그 수정
...
- 광고 후 배속 적용 안됨: isShowingAd 플래그로 lifecycle reload 방지
- 배속 종료 후 복귀 안됨: setSpeed(_savedSpeedMultiplier) 추가
- 복귀 상자 장비 장착 안됨: _loop?.replaceState() 추가
- 세이브 로드 시 1배속 고정: 명예의 전당 해금 시 최소 2배속 보장
2026-01-19 19:39:32 +09:00
JiWoong Sul
03ff9c1ce8
refactor(ui): 배속 버튼 UI 단순화
...
- 1x/2x 사이클 버튼 + 광고배속 버튼 → 5x/20x 토글 버튼 하나로 변경
- 부스트 활성화 중: 반투명, 비활성 상태
- 부스트 비활성화: 불투명, 클릭 가능
- _RetroSpeedChip에 isDisabled 파라미터 추가
2026-01-19 19:39:25 +09:00
JiWoong Sul
19faa9ea39
feat(ui): 게임 화면 및 UI 컴포넌트 개선
...
- front_screen: 프론트 화면 UI 업데이트
- game_play_screen: 게임 플레이 화면 수정
- game_session_controller: 세션 관리 로직 개선
- mobile_carousel_layout: 모바일 캐러셀 레이아웃 개선
- enhanced_animation_panel: 애니메이션 패널 업데이트
- help_dialog: 도움말 다이얼로그 수정
- return_rewards_dialog: 복귀 보상 다이얼로그 개선
- new_character_screen: 새 캐릭터 화면 수정
- settings_screen: 설정 화면 업데이트
2026-01-19 15:50:35 +09:00
JiWoong Sul
748160d543
feat(ui): 화면 및 컨트롤러 수익화 연동
...
- 앱 초기화에 광고/IAP 서비스 추가
- 게임 세션 컨트롤러 수익화 상태 관리
- 캐릭터 생성 화면 굴리기 제한 UI
- 설정 화면 광고 제거 구매 UI
- 애니메이션 패널 개선
2026-01-16 20:10:43 +09:00
JiWoong Sul
c95fb7f4b4
feat(ui): 스피드 부스트 버튼 위젯 추가
...
- 5배속 버프 활성화 버튼
- 광고 시청으로 버프 획득
- 남은 시간 표시
2026-01-16 20:10:08 +09:00
JiWoong Sul
b6d5cd2abd
feat(death): 사망/부활 시스템 개선
...
- DeathInfo에 lostItem 필드 추가 (광고 부활 시 복구용)
- 세이브 데이터 v4: MonetizationState 포함
- 사망 오버레이 UI 개선
- 부활 서비스 광고 연동
2026-01-16 20:09:52 +09:00
JiWoong Sul
b272ef8f08
feat(rewards): 복귀 보상 시스템 추가
...
- 시간 경과에 따른 골드 보상 계산
- 광고 시청 시 2배 보너스
- 복귀 보상 다이얼로그 UI
2026-01-16 20:09:32 +09:00
JiWoong Sul
93f29f6c33
feat(ui): 사망 화면 잃은 아이템 희귀도 색상 표시
...
- DeathInfo에 lostItemRarity 필드 추가
- 사망 처리 시 아이템 희귀도 저장
- 사망 오버레이에서 희귀도별 색상 적용
- Common: 회색, Uncommon: 녹색, Rare: 파랑
- Epic: 보라, Legendary: 주황
2026-01-16 00:13:24 +09:00
JiWoong Sul
a2b5bb7dc0
refactor(ui): 물약 글로벌 쿨타임 적용 UI 정리
...
- usedPotionTypes/usedInBattle 파라미터 제거
- 전투당 타입별 제한 → 시간 기반 쿨타임 전환
- PotionInventoryPanel 불투명도 로직 제거
2026-01-16 00:12:43 +09:00
JiWoong Sul
7e1936b34f
fix(ui): 사망 화면 장비 슬롯명 표시 및 기타 수정
...
- 사망 시 잃은 아이템에 슬롯명 표시 추가
- progress_service 마이너 수정
- 관련 테스트 업데이트
2026-01-15 23:23:38 +09:00
JiWoong Sul
9599a33a8f
style(ui): HP/MP 바 숫자 오버레이 표시
...
- 웹: hp_mp_bar.dart 숫자를 바 중앙에 오버레이
- 모바일: enhanced_animation_panel.dart 동일 적용
- 텍스트 그림자 추가로 가독성 향상
2026-01-15 23:23:02 +09:00
JiWoong Sul
525e231c06
style(ui): victory_overlay ASCII 아트 정렬 개선
...
- 트로피 ASCII 좌우 공백 균형 조정
- THE END 텍스트 FittedBox로 자동 스케일링
- 폰트 크기 14→12 조정
2026-01-15 21:34:30 +09:00
JiWoong Sul
58cc1fddb5
feat(ui): 스킬 상세 정보 ExpansionTile 구현
...
- _SkillRow → _SkillTile (ExpansionTile 기반)
- 타입별 스탯 그리드 표시 (공격/회복/버프/디버프)
- 메타 행: 티어(로마숫자), 타입명, 속성명
- RetroColors 적용, 타입/속성별 컬러 구분
- 한/영/일 3개 언어 지원
2026-01-15 21:34:24 +09:00
JiWoong Sul
cbf96c2c0e
style(ui): 전체 화면 폰트 크기 증가
...
- arena: 전투/결과/랭크 화면 폰트 조정
- front: 메인 화면 폰트 조정
- game: 게임플레이 위젯 전반 폰트 조정 (스킬, 장비, 인벤토리 등)
- hall_of_fame: 명예의 전당 폰트 조정
- new_character: 캐릭터 생성 화면 폰트 조정
- settings: 설정 화면 폰트 조정
- 전반적인 가독성 향상
2026-01-15 19:07:34 +09:00
JiWoong Sul
ac76060222
feat(animation): Act 기반 몬스터 사이즈 시스템 추가
...
- Act 진행에 따른 몬스터 사이즈 확률 조정
- 보스: Act별 고정 사이즈 (소/중/대)
- 일반/엘리트: Act별 확률 랜덤
- TaskInfo에 monsterSize 필드 추가
- 애니메이션 패널에서 Act 기반 사이즈 사용
2026-01-15 18:01:31 +09:00
JiWoong Sul
133d516b94
refactor(ui): HallOfFameScreen 위젯 분해
...
- HeroDetailDialog: 상세 정보 다이얼로그 분리 (690줄)
- HallOfFameEntryCard: 엔트리 카드 분리 (263줄)
- GameClearDialog: 게임 클리어 다이얼로그 분리 (255줄)
- 메인 화면 264줄로 경량화
2026-01-15 17:05:39 +09:00
JiWoong Sul
f466e1c408
refactor(engine): ActProgressionService 및 UI 컨트롤러 분리
...
- ActProgressionService: Act 진행 로직 추출
- GameAudioController: 오디오 제어 로직 분리
- CombatLogController: 전투 로그 관리 분리
- ProgressService, GamePlayScreen 경량화
2026-01-15 17:05:19 +09:00
JiWoong Sul
c33c1ff470
refactor(ui): 애니메이션 관련 위젯 개선
...
- canvas_battle_composer: 레어리티 색상 매핑 연동
- ascii_animation_card: 코드 정리
- enhanced_animation_panel: 테마 상수 적용
2026-01-15 01:53:45 +09:00
JiWoong Sul
6c92a323c0
feat(ui): 승리 오버레이 스크롤 UX 개선
...
- 터치 시 스크롤 속도업 기능 추가 (5배속)
- 스크롤 완료 후 수동 스크롤 모드 지원
- 속도업 안내 텍스트 표시
2026-01-14 23:23:48 +09:00
JiWoong Sul
de20183b73
style: dart format 적용
2026-01-14 23:07:03 +09:00
JiWoong Sul
85413362a2
fix(ui): 몬스터 사망 애니메이션 상태 리셋 버그 수정
...
- 새 몬스터 등장 시 이전 사망 애니메이션 상태 초기화
- 전투 시작 시 _showDeathAnimation, _deathAnimationMonsterLines 리셋
- 이전 몬스터 사망 애니메이션 도중 새 전투 시작 시 몬스터 숨김 방지
2026-01-14 23:04:45 +09:00
JiWoong Sul
81eb2f8463
feat(ui): 아레나 결과 패널 및 애니메이션 카드 개선
2026-01-14 02:26:22 +09:00
JiWoong Sul
1da377c127
feat(ui): 화면 및 공통 위젯 개선
...
- FrontScreen 개선
- GamePlayScreen, GameSessionController 업데이트
- ArenaBattleScreen, NewCharacterScreen 정리
- AsciiDisintegrateWidget 추가
2026-01-14 00:18:16 +09:00
JiWoong Sul
f65bab6312
feat(ui): 게임 위젯 개선
...
- AsciiAnimationCard 확장
- EnhancedAnimationPanel 개선
- HpMpBar UI 개선
2026-01-14 00:18:10 +09:00
JiWoong Sul
c420331300
refactor(game): 테스트 캐릭터 서비스 및 세션 컨트롤러 정리
2026-01-13 15:11:01 +09:00
JiWoong Sul
1d855b64a2
feat(ui): 게임 화면 및 설정 화면 개선
...
- GamePlayScreen 개선
- GameSessionController 확장
- MobileCarouselLayout 기능 추가
- SettingsScreen 테스트 기능 추가
2026-01-12 20:02:54 +09:00
JiWoong Sul
448f500ca0
refactor(ui): 기타 화면 정리
...
- FrontScreen, HallOfFameScreen 개선
- NewCharacterScreen, SettingsScreen 정리
- App 초기화 로직 정리
2026-01-12 16:17:25 +09:00
JiWoong Sul
cbbbbba1a5
refactor(game): 게임 화면 및 위젯 정리
2026-01-12 16:17:20 +09:00
JiWoong Sul
104d23cdfd
refactor(arena): 아레나 화면 및 위젯 정리
2026-01-12 16:17:16 +09:00
JiWoong Sul
5f9a063ae4
feat(ui): 승리 오버레이 개선
2026-01-08 20:11:03 +09:00