4/18

feat: Initialize Core system and migrate legacy scripts to Legacy namespace



4/19
feat: ๋Œ€ํ™” ์‹œ์Šคํ…œ ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ” ํŒŒ์‹ฑ ์•ˆ์ •์„ฑ ๊ฐ•ํ™”
ย - ์‹œ๋‚˜๋ฆฌ์˜ค ์ง„ํ–‰์„ ์œ„ํ•œ SpeakExecutor, SpeakView, CharacterView ๊ตฌํ˜„ ์™„๋ฃŒ.
ย - ๋‹ค์–‘ํ•œ XML ๋ฐ์ดํ„ฐ ํ˜•์‹ ๋Œ€์‘์„ ์œ„ํ•ด TableUtil์— ์œ ์—ฐํ•œ Enum/Boolean ํŒŒ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€.
ย - ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์•ˆ์ •์„ฑ ํ™•๋ณด๋ฅผ ์œ„ํ•ด SpeakTable ๊ตฌ์กฐ๋ฅผ ์›๋ณธ ๋ฌธ์ž์—ด ์ง๋ ฌํ™” ๋ฐฉ์‹์œผ๋กœ ๋ฆฌํŒฉํ† ๋ง.
ย - TextIdHolder๊ฐ€ ScenarioTextTable์„ ์ง€์›ํ•˜๋„๋ก ํ™•์žฅํ•˜์—ฌ ๋Œ€ํ™” ํ…์ŠคํŠธ ์ถœ๋ ฅ ๋ฌธ์ œ ํ•ด๊ฒฐ.
ย - ๋””์ž์ธ ๋ช…์„ธ์— ๋งž์ถฐ ์Šคํ”„๋ผ์ดํŠธ ๋กœ๋“œ ๊ฒฝ๋กœ ๋ฐ CardView UI ๋งคํ•‘ ๋กœ์ง ์ •๋ฐ€ํ™”.
ย - ํ”„๋กœ์ ํŠธ ์ฃผ์š” ๋ฌธ์„œ๋“ค์„ ProjectDocs ํด๋”๋กœ ์ด๋™ ๋ฐ ์ฝ๊ธฐ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋„˜๋ฒ„๋ง ์ •๋ฆฌ.


4/25
feat: ์ „ํˆฌ ์‹œ์Šคํ…œ ๊ณ ๋„ํ™” ๋ฐ UI ์—ฐ์ถœ ์‹œ์Šคํ…œ ๊ตฌํ˜„
ย - ์นด๋“œ ์ฒด์ธ ์‹œ์Šคํ…œ(์ตœ๋Œ€ 5์žฅ) ๋ฐ ๋™์ผ ์ข…๋ฅ˜ ์„ ํƒ ์ œํ•œ ๋กœ์ง ์ ์šฉ
ย - ์ „๋žต์  ๋“œ๋กœ์šฐ(Draw) ์•ก์…˜ ๋ฐ NPC AI(๊ฐ€์ค‘์น˜ ๊ธฐ๋ฐ˜) ๋กœ์ง ๊ณ ๋„ํ™”
ย - ActionSequencer ๊ธฐ๋ฐ˜์˜ ์ „ํˆฌ ์—ฐ์ถœ(์นด๋“œ ์ถฉ๋Œ, ์บ๋ฆญํ„ฐ๋ณ„ ๊ณต๊ฒฉ/ํ”ผ๊ฒฉ ์Šคํ”„๋ผ์ดํŠธ) ์ถ”๊ฐ€
ย - GameSetTable ์—ฐ๋™(ํ”ผ๋ฒ„ ํƒ€์ž„, ๋ผ์šด๋“œ ์„ค์ •) ๋ฐ HP ๊ตฌ๊ฐ„๋ณ„ ์บ๋ฆญํ„ฐ ์ƒํƒœ ๋ฐ˜์˜
ย - ์นด๋“œ UI ๋ณต๊ท€ ๋ฒ„๊ทธ ๋ฐ ์ค‘๋ณต ์นด๋“œ ์ œ๊ฑฐ ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ •
ย - ํ•ธ๋“œ์˜ค๋ฒ„ ๋ฌธ์„œ ๊ฐฑ์‹  ๋ฐ ์ „ํˆฌ ์ƒ์„ธ ๋ช…์„ธ ์ถ”๊ฐ€


5/1
์ „ํˆฌ ์นด๋“œ ํ•ธ๋“œ UI ์‹œ์Šคํ…œ ๊ฐœํŽธ ๋ฐ ๊ฒฉ๋Œ ์—ฐ์ถœ ๊ณ ๋„ํ™” (HandContainer ๋„์ž…, ์‹ค์ œ ์นด๋“œ ์˜ค๋ธŒ์ ํŠธ ํ™œ์šฉ ์—ฐ์ถœ, ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๋ฌธ์„œ ์ตœ์‹ ํ™”)
์บ๋ฆญํ„ฐ ์ƒํƒœ UI ๊ณ ๋„ํ™” ๋ฐ ๊ฐœ๋ฐœ ์ปจ๋ฒค์…˜ ์—…๋ฐ์ดํŠธ (BattleStatusView ๋„์ž…, ํ”Œ๋กœํŒ… ํ…์ŠคํŠธ ๊ตฌํ˜„, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐธ์กฐ ๊ทœ์น™ ์ถ”๊ฐ€)
NPC AI ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋„ํ™” ๋ฐ ๋ฐฐํ‹€ ์‹œํ€€์Šค ๋™๊ธฐํ™” ๋ฌด๊ฒฐ์„ฑ ํ™•๋ณด (์นด๋“œ ์„ ์  ์‹œ์Šคํ…œ ๋„์ž…, XML ์Šคํ‚ค๋งˆ ๋ถˆ์ผ์น˜ ํ•ด๊ฒฐ)
์ฒด์ธ ์‹œ์Šคํ…œ ๊ธฐํš ์ƒ์„ธํ™” ๋ฐ ๋””์ž์ธ ์š”์•ฝ ๋ฌธ์„œ ์ตœ์‹ ํ™” (์•ก์…˜ ํƒ€์ž… ์ •์˜, ๋ฐœ๋™ ์กฐ๊ฑด ๊ตฌ์ฒดํ™”, ๋ฐ์ดํ„ฐ ์—ฐ๋™ ๊ตฌ์กฐ ๋ฌธ์„œํ™”)
์นด๋“œ ์ธ์Šคํ„ด์Šค ์‹œ์Šคํ…œ ๋ฐ ์ฒด์ธ ํšจ๊ณผ ๋กœ์ง ๊ตฌํ˜„ (CardInstance ๋„์ž…, ์นด๋“œ ๋น„์ฃผ์–ผ ํ”„๋ ˆ์ž„ ๋ฐ”์ธ๋”ฉ)
์นด๋“œ ํ”„๋ฆฌํŒน ์˜ค๋ฅ˜ ์ˆ˜์ •


5/2
Polish: Refined dialogue typewriter, skip logic, and battle screen shake. Fixed text snapping desync.
Polish: Implemented SoundManager template, full-screen fades, round banners, and hand limit warnings. Restored technical comments.


5/5
[UI/Fix] Implement Global Menu System and Fix Speak Scene stability
- Integrated full Menu [...] with PlayerPrefs persistence.
- Implemented all remaining Speak Scene action commands (Shake, Fade, ShowImage/Effect, etc.).
- Fixed dialogue progression being blocked by UI pointer checks.
- Fixed dialogue text disappearing during language changes by ensuring TextIdHolder state persistence.
- Synchronized DOTween lifecycle with global pause state.



๊ธฐ์กด ์ŠคํŒŒ๊ฒŒํ‹ฐ ์ฝ”๋“œ ๋ณด์ˆ˜ํ•˜๊ธฐ ๊ฐœ ๊ฐ™์•„์„œ ๋ ˆ๊ฑฐ์‹œ๋กœ ์ €์žฅํ•ด๋‘๊ณ  ์ƒˆ๋กœ ์‹œ์ž‘ํ•จ

90% gemini cliํ•œํ…Œ ์ž‘์„ฑํ•˜๊ฒŒ ํ–ˆ๊ณ , ์–˜๊ฐ€ ์–ผํƒ€๋Š” ๋ถ€๋ถ„๋งŒ ์†์ฝ”๋”ฉ ํ•˜๋Š” ์ค‘์ธ๋ฐ ์ง„์งœ ํŽธํ•˜๋„คใ…‹ใ…‹ใ…‹

๊ทผ๋ฐ ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ธฐ์ˆ  ์Šคํƒ์—์„œ ํฌ๊ฒŒ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋Š” ๊ฑฐ ๋ณด๋ฉด, ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์—ญ๋Ÿ‰์„ ํฌ๊ฒŒ ํƒ€๊ธด ํ•˜๋Š” ๋“ฏ