--- id: wiki-2026-0508-2026-04-22-engine-stability-audi title: 2026 04 22 Engine Stability Audit category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # πŸ” Skybound μ—”μ§„ ꡬ쑰 μ •λ°€ 감사 λ³΄κ³ μ„œ (V12.1) > **μΉ΄ν…Œκ³ λ¦¬**: Skybound, Software [[Reliability]], Governance & Reliability > **μƒνƒœ**: βœ… 감사 μ™„λ£Œ (Audited) > **μ΅œμ’… μ—…λ°μ΄νŠΈ**: 2026-04-22 --- ## πŸ“Œ κ°œμš” (Overview) μ—”μ§„ μ•ˆμ •μ„±μ— λŒ€ν•œ μ˜κ΅¬μ‹¬(μ½”λ“œ 잘림, μƒνƒœ λ‹¨μ ˆ λ“±)이 μ œκΈ°λ¨μ— 따라, 전체 μ‹œμŠ€ν…œ νŒŒμ΄ν”„λΌμΈ(ECS-like Update, Zustand Sync, Progression Flow)을 μ „μˆ˜ μ‘°μ‚¬ν•˜μ—¬ μ•„ν‚€ν…μ²˜μ  건전성을 검증함. ## πŸ“Š 감사 μš”μ•½ (Audit Summary) | 이슈 ν•­λͺ© | μ‹€μ œ μƒνƒœ | 심각도 | νŒμ • κ²°κ³Ό | | :--- | :--- | :--- | :--- | | **#1 Engine Execution Gap** | **정상** β€” `ctx` 객체 μ™„μ „ ꡬ성됨 | 🟒 Low | λ‹¨μˆœ 파일 읽기 초과둜 μΈν•œ 였판 | | **#2 [[State]]-[[Physics]] Disconnect** | **정상** β€” `setExp/setLevel` μ•‘μ…˜ μ™„κ²° | 🟒 Low | 15ν”„λ ˆμž„ Dirty Checking 동기화 확인 | | **#3 Gimmick Manager 빈 껍데기** | **λΆ€λΆ„ 유효** β€” κ΅¬ν˜„ μ™„λ£Œ, νƒ€μž… 뢈일치 1건 | 🟑 Med | `spawnParticle` 인자 뢈일치 μˆ˜μ • μ™„λ£Œ | | **#4 Collision-to-EXP λ―Έμ—°κ²°** | **정상** β€” Combat β†’ Progression 연결됨 | 🟒 Low | Gem μˆ˜μ§‘λΆ€ν„° μΉ΄λ“œ μƒμ„±κΉŒμ§€ μ—°κ²° 확인 | ## πŸ› οΈ μ •λ°€ 뢄석 (Detailed [[Analysis]]) ### 1. μ—”μ§„ μ»¨ν…μŠ€νŠΈ (`ctx`) 및 루프 ꡬ쑰 - **Context Inte[[Grit]]y**: `useGameEngine.ts` λ‚΄μ—μ„œ ν”Œλ ˆμ΄μ–΄, μƒνƒœ, μž…λ ₯, μ—”ν‹°ν‹° λ§€λ‹ˆμ € 및 각쒅 슀폰 ν•¨μˆ˜κ°€ `ctx` 객체에 μ™„μ „νžˆ λ§΅ν•‘λ˜μ–΄ 각 μ‹œμŠ€ν…œμ— μ „λ‹¬λ˜κ³  있음. - **Loop Flow**: `StageDirector` β†’ `System [[Logic]]` β†’ `Combat/Progression` β†’ `Renderer` 순의 고전적 ECS νŒŒμ΄ν”„λΌμΈμ΄ λ§€ ν”„λ ˆμž„(60FPS) 정상 μž‘λ™ν•¨. ### 2. μƒνƒœ 관리 λΈŒλ¦Ώμ§€ (Store Sync) - **Zustand Interface**: μ—”μ§„ λ‚΄λΆ€ μƒνƒœ(`state.currentExp` λ“±)와 μ™ΈλΆ€ UI μŠ€ν† μ–΄(`useGameStore`) κ°„μ˜ 데이터 λ™κΈ°ν™”λŠ” `useGameEngine.ts`μ—μ„œ 15ν”„λ ˆμž„λ§ˆλ‹€ μˆ˜ν–‰λ˜λŠ” λΈŒλ¦Ώμ§€ λ‘œμ§μ„ 톡해 효율적으둜 관리됨 (λΆˆν•„μš”ν•œ React Re-render λ°©μ§€). ### 3. μ‹€μ œ μˆ˜μ • 사항 (Bug Fix) - **GravityGimmick.ts**: `ctx.spawnParticle` 호좜 μ‹œ μ—”μ§„ μ‹œκ·Έλ‹ˆμ²˜μ™€ λΆˆμΌμΉ˜ν•˜λŠ” 5번째 인자(`'DIR'`)κ°€ μ „λ‹¬λ˜λŠ” 문제λ₯Ό μ‹λ³„ν•˜μ—¬ μ œκ±°ν•¨. μ΄λŠ” μ‹œμŠ€ν…œ 였λ₯˜λ₯Ό μœ λ°œν•˜μ§€λŠ” μ•ŠμœΌλ‚˜ νƒ€μž… 정결성을 μœ„ν•΄ 쑰치됨. ## πŸ“‹ μ΅œμ’… κ²°λ‘  Skybound 엔진은 **ꡬ쑰적으둜 κ±΄κ°•ν•˜λ©°, λͺ¨λ“  핡심 νŒŒμ΄ν”„λΌμΈμ΄ μ™„μ „νžˆ κ΅¬ν˜„λœ μƒνƒœ**μž„. ν–₯ν›„ ν™•μž₯을 μœ„ν•œ μ•„ν‚€ν…μ²˜μ  기반(Intent Protocol, Signal Pattern)이 κ²¬κ³ ν•˜κ²Œ κ΅¬μΆ•λ˜μ–΄ μžˆμŒμ„ 확인함. --- **승인인**: AI κ°œλ°œλΆ€μž₯ 코닀리 🫑 **κ΄€λ ¨ λ¬Έμ„œ**: 02_[[Architecture]]_[[Principles]], [[Visual_Feedback_Signal_Pattern]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > *(TODO: ν•œ λ¬Έμž₯으둜 핡심 톡찰을 μž‘μ„±. "XλŠ” Y μ‘°κ±΄μ—μ„œ Z 효과λ₯Ό λ‚Έλ‹€" ꡬ쑰 ꢌμž₯.)* ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) **μΆ”μΆœλœ νŒ¨ν„΄:** > *(TODO)* **μ„ΈλΆ€ λ‚΄μš©:** - *(TODO)* ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μ—†μŒ - **μ •μ±… λ³€ν™”:** μ—†μŒ ## πŸ”— 지식 μ—°κ²° (Graph) - **Parent:** [[10_Wiki/Topics]] - **Related:** *(TODO: μ΅œμ†Œ 2개)* - **Opposite / Trade-off:** *(TODO)* - **Raw Source:** 직접 μž…λ ₯ ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*