chore: resolve merge conflicts and sync sporty&rich meeting minutes

This commit is contained in:
2026-04-29 18:09:09 +09:00
12 changed files with 456 additions and 3 deletions
@@ -0,0 +1,33 @@
# [Report] G1nation Extension Encoding & Engine Rebuilding
**Date**: 2026-04-24
**Author**: PD Kodari (AI)
**Status**: COMPLETED & PACKAGED (v2.2.15)
## 1. 개요 (Overview)
ConnectAI에서 G1nation으로의 브랜딩 전환 이후 발생한 심각한 빌드 오류 및 런타임 불안정성을 해결하기 위한 긴급 수술을 집행함. 소스 코드 내 인코딩 오염과 코드 복제(Duplication)로 인해 `npm run compile`이 불가능한 상태였음.
## 2. 주요 결함 (Critical Issues)
- **인코딩 지뢰 (Encoding Corruption)**: `extension.ts` 내 한글 주석 및 UI 문자열이 UTF-8 형식을 벗어나 깨지면서 따옴표(`'`) 인식을 방해함 -> `Unterminated string literal` 에러 발생.
- **좀비 코드 (Ghost Blocks)**: 함수 외부에 버려진 실행 코드와 닫는 중괄호(`}`)들이 산재하여 문법 파괴.
- **엔진 중복 (Engine Duplication)**: `_executeActions` 함수가 두 군데 이상 중복 정의되어 로직 충돌 및 용량 비대화 초래.
- **문법 오용**: `execSync``.catch()`를 사용하는 등 동기/비동기 혼선 발견.
## 3. 수술 과정 (Surgical Process)
총 20단계에 걸친 **PowerShell 레이저 수술(Line-by-line Patch)**을 통해 표준 `replace` 도구의 인코딩 한계를 극복함.
- **v1~v10**: 설정 메뉴(`_handleSettingsMenu`) 및 브레인 메뉴(`_handleBrainMenu`)의 깨진 텍스트를 영문/표준 UTF-8로 전면 교체.
- **v11~v18**: 중복된 코드 블록들을 찾아내어 삭제하고, 흩어진 액션 핸들러들을 하나로 통합.
- **v19**: 메인 엔진(`_executeActions`)을 중복 없는 최신 구조로 리빌딩.
- **v20**: 함수 외부에 잔존하던 '유령 코드'와 깨진 문자열 최종 소거.
## 4. 최종 결과 (Final Result)
- **빌드 성공**: `esbuild` 컴파일 정상 통과 (30ms 내외).
- **패키징 완료**: `g1nation-2.2.15.vsix` 생성 완료.
- **안정성 확보**: UI 텍스트 영문화 및 표준화를 통해 향후 인코딩 문제 재발 가능성 차단.
## 5. 향후 과제 (Next Steps)
- **모듈화**: 2,500라인이 넘는 `extension.ts``ActionHandlers.ts`, `UIProvider.ts` 등으로 분리하여 유지보수성 향상 필요.
- **i18n 도입**: 한글 UI 재도입 시 직접 하드코딩 대신 별도의 JSON 언어팩 사용 권장.
---
**PD 코다리의 한마디**: "조직이 시스템이다. 엔진이 깨끗해야 비행기가 뜬다!" 😎🐟
@@ -0,0 +1,34 @@
# ISSUE REPORT: [v13.1] Engine Stabilization & Tactical Boundary Overhaul
## 1. 개요
Skybound 엔진의 초기 구동 안정성을 확보하고, 게임의 장르적 성향(전략 슈터)을 강화하기 위한 적기 이동 로직 및 레벨업 시스템의 결함을 해결함.
## 2. 해결된 결함 (Level-Up Loop)
### 2.1 현상
- 게임 시작 직후 `TAC LEVEL UP` 모달이 무한 반복 출력되어 조작 불능 상태 발생.
- 엔진 내부 레벨과 Zustand 스토어 레벨 간의 동기화 불일치.
### 2.2 원인 분석
- `StageDirectorSystem`: 타임라인 이벤트가 최소 시간 가드 없이 초기화 시점에 조기 발동.
- `ProgressionSystem`: 스킬 선택 시 Zustand 구독과 엔진 로직 양쪽에서 레벨을 이중 증가시킴.
### 2.3 수정 사항
- **StageDirectorSystem**: 15초/30초 최소 시간 가드 및 `processedEventSeconds` 중복 발동 방지 락 도입.
- **ProgressionSystem**: 이중 증가 로직 제거 및 Zustand Single Source of Truth(SSOT) 강화.
- **UI**: `LevelUpModal``isChest` 플래그를 추가하여 일반 레벨업과 보급품(Supply Drop) 보상을 시각적으로 분리.
## 3. 기능 개선 (Enemy Tactical Boundary)
### 3.1 현상
- 적기가 격파되지 않은 상태에서 화면 하단으로 유유히 사라짐 (전통적 슈팅 게임 방식).
- 플레이어의 전략적 대응 영역 및 경험치 수급 기회 상실.
### 3.2 수정 사항 (CombatSystem)
- **Boundary Clamp**: 적기의 이동 허용 범위를 `height + 300`에서 `height - 40`으로 타이트하게 조정.
- **Chase Pattern**: 플레이어 추격 시 화면 하단 경계를 인식하도록 가드 추가.
- **Zigzag Pattern**: 화면 하단 도달 시 방향을 반전시키는 '핑퐁(Ping-pong)' 패턴으로 업그레이드.
- **Striker AI**: 하단 돌진 후 상단으로 복귀하는 순찰 로직 추가.
## 4. 기대 효과
- **안정성**: 게임 초기화 및 재개 시 발생하는 상태 데드락 원천 차단.
- **전략성**: 모든 적이 화면 내에 유지됨으로써 플레이어의 통제권 강화 및 생존 슈터로서의 긴장감 극대화.
- **경제**: 경험치 젬 및 루트 아이템의 화면 밖 유실 방지.
@@ -0,0 +1,28 @@
# 🛠️ Combat System: ReferenceError Resolution Guide
## 1. Context (배경)
전투 시스템(`CombatSystem.ts`) 리팩토링 중, 런타임에서 엔진이 중단되는 치명적인 참조 오류가 발생하였습니다. 본 문서는 해당 오류의 원인과 해결 방법, 그리고 향후 유사 사례 방지를 위한 가이드라인을 기록합니다.
## 2. Issue Breakdown (오류 분석)
- **Error Type**: `ReferenceError: damage is not defined`
- **Location**: `CombatSystem.ts` (Collision Detection Loop)
- **Root Cause**: 블록 스코프(`if/else`) 내부에서 `damage` 변수를 사용하기 전에 `let` 혹은 `const`를 통한 명시적 선언이 누락됨. 자바스크립트의 비엄격 모드 혹은 리팩토링 과정에서의 선언부 유실이 원인이었습니다.
## 3. Resolution (해결 방법)
탄환의 공격력을 계산하기 전, 명시적으로 스코프 내에 변수를 선언하도록 수정하였습니다.
```typescript
// Fix logic
let damage = bullet.dmg; // 명시적 선언 및 초기화
if (isCritical) {
damage *= criticalMultiplier;
}
```
## 4. Prevention Policy (재발 방지 대책)
- **Strict Declaration**: 모든 변수는 반드시 `const` 또는 `let`을 사용하여 선언하며, 선언되지 않은 변수의 암묵적 전역화(Implicit Global)를 철저히 금지한다.
- **Linter Integration**: `no-undef` 규칙을 강화하여 빌드 타임에서 미선언 변수 참조를 사전에 차단한다.
- **Unit Test**: 충돌 판정 로직에 대한 단위 테스트를 수행하여 데미지 계산 루프의 무결성을 검증한다.
---
**Related Cluster**: [[01_Core_Engine/Game-Engine-Loop-and-System-Orchestration|Runtime Pipeline]]
**Last Updated**: 2026-04-23
@@ -0,0 +1,37 @@
# 🚀 Skybound Protocol: Implementation Report (V10.5)
## 1. Strategic Objective (전략 목표)
단순 슈팅 게임의 한계를 넘어, **'고유의 성장 곡선'**과 **'도파민 피드백 리듬'**을 갖춘 하이브리드-캐주얼 로그라이크로의 아키텍처 재정립.
## 2. Core System Blueprints (핵심 시스템 설계도)
### 📊 Master Timeline (`StageDirectorSystem`)
긴장감이 고조되는 4단계 페이즈 시스템 구축:
1. **INTRO**: 기본 조작 적응 및 자원 파밍.
2. **ELITE_PRESS**: 정예 기체 중심의 압박 시퀀스.
3. **SWARM**: 대규모 적 물량 습격 (Survivor-like UX).
4. **FINAL_BOSS**: 거대 기체와의 최종 결전.
### 🧬 Data-Driven EVO Engine (`ProgressionSystem`)
로직과 데이터를 분리하여 확장성을 극대화한 진화 시스템:
- **Registry Pattern**: 모든 스킬 메타데이터의 중앙 집중 관리.
- **Graph-based Evolution**: [주무기 + 보조스킬] 조합을 통한 상위 무기 연성 로직.
### 💥 High-Dopamine Feedback Engine
유저의 감각을 자극하는 피드백 루프 구현:
- **Red Critical**: 시각적 전능감 부여.
- **Screen Shake**: 물리적 타격감 전달.
- **Glitch Effect**: 진화 성공 시의 시스템 몰입감 극대화.
### 💎 Meta-Game Economy (Hangar & Crafting)
지속 가능한 리텐션을 위한 외부 루프 구축:
- **7-Tier Grade**: NORMAL ~ ETERNAL 위계 확립.
- **Triple-Merge**: 동일 등급 3개 합성을 통한 상위 등급 연성 엔진.
## 3. Strategic Roadmap (로드맵)
- **Phase 3**: 드론 병합(Merge) 기믹 및 다중 입력 엔진 구현.
- **SS-Grade Expansion**: 메타 재화와 연동되는 특수 제작 트리 설계.
---
**Related Cluster**: [[Skybound-Knowledge-Hub|Strategic Knowledge Mesh]]
**Author**: PD Kodari 😎🐟
@@ -0,0 +1,66 @@
# 🛡️ Skybound: Boss Battle System & Damage Architecture
## 1. Design Philosophy (설계 철학)
Skybound의 보스전은 **'예측 가능한 위협'**과 **'극복하기 힘든 압박'** 사이의 균형을 지향합니다. 유저에게 단순한 슈팅을 넘어, 패턴을 파악하고 최적의 회피 경로를 찾는 '전술적 재미'를 제공하는 것이 핵심입니다.
## 2. Core Damage & Shield System (데미지 체계)
### 📊 기체별 피탄 감쇄율 (Damage Multiplier)
플레이어 기체의 장갑(Shield) 특성에 따른 데미지 적용 계수입니다.
| 플레이어 기체명 | 탄환 피탄 시 (Projectile) | 충돌 시 (Collision/Crash) |
| :--- | :---: | :---: |
| **아즈마 (Azuma)** | 17% 감소 | 34% 감소 (2x) |
| **스피릿 오브 드래곤** | 13% 감소 | 26% 감소 (2x) |
| **물랑 루즈 (Mulang Rouge)** | 20% 감소 | 40% 감소 (2x) |
> [!IMPORTANT]
> 모든 **충돌(Collision)** 데미지는 탄환 피탄 데미지의 정확히 **2배**를 적용하는 것을 원칙으로 합니다.
## 3. Architecture: Boss Implementation Schema
새로운 보스 추가 시 `BossDefinition` 인터페이스를 반드시 준수해야 합니다.
### 🧬 Boss Definition Interface
```typescript
interface BossDefinition {
id: string; // 예: 'STAGE_01_PLATON'
name: string; // 보스 명칭
totalPhases: number; // 총 형태 수
phases: Array<{
phaseIndex: number; // 1, 2, 3...
description: string; // 페이즈 특징
attackPatterns: Pattern[];
transformationTrigger: string | null;
}>;
warningSequence: {
audioSfx: string; // 경고음 ID
cameraEffect: 'ZOOM_IN' | 'SHAKE';
};
}
```
## 4. Stage-specific Boss Registry (스테이지별 보스 명세)
| 스테이지 | 보스명 | 페이즈 | 주요 패턴 요약 |
| :--- | :--- | :---: | :--- |
| **Stage 1** | 플라톤 (Platon) | 2 | 기생기 소환, 본체 정밀 사격 |
| **Stage 2** | 그레이트 혼 | 2 | 드릴/돌덩이 투척, 전방 돌진 |
| **Stage 3** | 크라켄 (Kraken) | 3 | 함선 변형, 고속 방사, 잠수 미사일 |
| **Stage 4** | 스파이스 버드 | 2 | 광역 조준탄, 본체 분리(호버 탱크) |
| **Stage 5** | 블로우 오브 호른 | 3 | 록온 레이저, 중앙 코어 거대 레이저 |
| **Stage 6** | 쉬프트 메시아 | 3 | 열차 와인더 탄줄, CIWS 개틀링, 합동 공격 |
| **Stage 7** | 콜로니 엔젤 | 3 | 다리 파괴 시퀀스, 초고속 이중 회전 탄줄 |
| **Stage 8** | 최종 보스 | 3 | 험프티 덤프티 / 디바인 램파트 (무기 Lv.10 조건) |
## 5. Difficulty Scaling Mechanism (난이도 조절)
### 📈 제어 요소
- **Bullet Density**: `Pattern.complexity` 값을 통해 회피 공간(Safe Zone) 조절.
- **Pattern Layering**: 페이즈가 진행됨에 따라 [단일 방향] -> [다방향/물리방해] -> [환경제약]으로 고도화.
- **Attack Frequency**: `Cooldown` 단축을 통한 압박 타이밍 제어.
---
**Related Cluster**: [[03_Boss_Systems/Boss_Encounter_and_Timeline_Design|Boss Encounter & Timeline Design]]
**Last Audit**: 2026-04-23
@@ -0,0 +1,33 @@
# 🕵️ Skybound: Boss Combat Stability Fix Log (2026-04-23)
## 1. Issue Overview (이슈 개요)
- **Problem**: 보스 기체의 체력이 0이 되었음에도 불구하고 파괴되지 않고 게임이 정지되거나, `STAGE_CLEAR` 페이즈로 전환되지 않는 결함 발생.
- **Occurrence**: 특정 페이즈(BOSS_INTRO) 또는 특정 무기 조합에서 보스 처치 시 간헐적 발생.
## 2. Root Cause Analysis (원인 분석)
### 🔍 Logical Flaws
1. **Scope Restriction**: 기존 사망 판정 로직이 `BOSS` 페이즈 내부에만 존재하여, `BOSS_INTRO` 연출 도중 보스가 파괴될 경우 이를 감지하지 못함.
2. **Entity Lifecycle**: 보스 엔티티 파괴 후에도 `state.boss` 참조가 남아있어, 렌더러와 AI 시스템이 유령 객체를 계속 업데이트하려고 시도함.
3. **HUD Desync**: 보스의 실제 HP와 HUD의 게이지 바 업데이트 주기가 일치하지 않아 유저에게 혼동을 줌.
## 3. Implemented Fixes (수정 사항)
### 🛠️ Core Engine Modification
- **Unified Death Check**: `StageDirectorSystem.checkBossDefeat()` 메서드로 로직을 통합하여 모든 보스 관련 페이즈에서 사망을 실시간 감지하도록 수정.
- **Explicit Nullification**: 보스 파괴 즉시 `state.boss = null`을 수행하여 시스템의 불필요한 참조를 원천 차단.
- **Feedback Reinforcement**:
- 보스 사망 시 8개의 순차적 폭발(`Explosion`) 생성.
- 화면 흔들림(`SHAKE`) 강도 증가 및 지속 시간 조정.
### 📊 HUD Synchronization
- `useGameEngine.ts` 루프 내에 HP 퍼센트(`hp / maxHp`) 동기화 로직 추가.
## 4. Verification (검증 결과)
- **Test Case 1**: 보스 등장 애니메이션 도중 처치 시 정상적으로 스테이지 클리어 전환 확인. (Pass)
- **Test Case 2**: 보스 사망 후 렌더러의 Null 참조 에러 발생 여부 확인. (Pass)
- **Test Case 3**: HUD HP 바 실시간 동기화 확인. (Pass)
---
**Related Cluster**: [[05_Project_Issues/2026-04-21_Stability_and_Optimization_Report|Stability & Optimization]]
**Status**: Resolved & Wikified 🫡
@@ -0,0 +1,35 @@
# 🎮 UX & Gameplay Protocol: V10.0 Upgrade
## 1. Design Philosophy (설계 철학)
기능적 프로토타입을 넘어, 고도의 도파민 자극과 세련된 게임플레이 경험을 제공하는 **'Skybound Protocol V10.0'**의 명세입니다.
## 2. Key Implementations (주요 구현 사항)
### 🛩️ Airframe Streamlining (FALCON Focus)
- **Policy**: 'FALCON' 기체를 단일 영웅 기체로 설정하여 밸런싱 집중도 향상.
- **Impact**: 유저에게 일관된 조작감과 성장 경험을 제공.
### 🎯 Jackpot Critical System (확률 기반 크리티컬)
- **Mechanism**: 15% 기본 확률, 1.5x ~ 5.0x의 데미지 편차 적용.
- **Dynamic**: `Math.pow(Math.random(), 3)`를 활용하여 초고데미지(Jackpot)의 희소성을 확보, 보상 극대화.
### 🔢 Floating Text Feedback Engine
- **Visual Distinction**:
- 일반 타격: 소형 화이트 텍스트.
- 크리티컬: 대형 골드/오렌지 글로우 효과 및 "CRITICAL!" 텍스트 강조.
- **Motion**: 상단 부유 및 알파 채널 페이드아웃을 통한 가독성 확보.
### 📈 Temporal Difficulty Scaling (시간 가변 난이도)
- **Algorithm**: `difficultyMult = 1.0 + (frame / 3600) * 0.1`.
- **Scaling Impact**:
- 적 스폰 쿨다운 단축.
- 적 HP 및 탄환 속도 비례 상승.
- 장애물(Asteroid) 출현 빈도 증가.
## 3. Strategic Debt Resolved (해결된 기술 부채)
- `WorldModel``spawnText` 브리지 동기화.
- `createDefaultState``difficultyMult` 초기화를 통한 SSOT(Single Source of Truth) 확보.
---
**Related Cluster**: [[04_Mechanics_Progression/Combat_Timeline_Difficulty_Scaling|World Tension Scaling]]
**Lead**: PD Kodari 🫡🐟
@@ -0,0 +1,32 @@
# ⚡ Skybound: Stability & Optimization Report (2026-04-21)
## 1. Executive Summary (요약)
대규모 교전 및 아이템 사용 시 발생하는 성능 저하와 런타임 크래시를 해결하기 위한 엔진 안정성 보강 작업을 수행하였습니다.
## 2. Key Optimization Areas (주요 최적화 영역)
### 💥 Particle Effect Management (이펙트 제어)
- **Problem**: 폭탄 사용 시 수천 개의 파편(Shard) 객체가 생성되어 FPS 급락.
- **Solution**:
- **Hard Cap**: 최대 파티클 개수를 500개로 제한.
- **TTL (Time To Live) Acceleration**: 파티클 소멸 속도를 6배 상향(0.1 -> 0.6)하여 자원 회수 주기를 단축.
### 🛡️ Runtime Robustness (런타임 강건성)
- **Problem**: 존재하지 않는 엔티티 배열 접근으로 인한 `TypeError`.
- **Solution**:
- `GameRenderer` 내 모든 순회 로직에 옵셔널 체이닝(`?.`) 및 기본값(`|| []`) 처리 의무화.
- 인터페이스(`types.ts`)와 실제 상태 객체 간의 동기화 정밀 검수.
### 🔄 Entity Pool Intelligence (엔티티 풀 고도화)
- **Problem**: ID(String)와 객체 참조 간의 혼선으로 인한 해제 실패.
- **Solution**:
- `EntityManager``releaseById` 메서드 추가.
- 객체 여부와 관계없이 안전하게 리소스를 반납할 수 있는 추상화 레이어 구축.
## 3. Post-Mortem (사후 분석)
- **Silo Effect**: 엔티티 매니저 도입과 같은 대규모 인프라 변경 시, 관련 인터페이스를 동시에 업데이트하지 않아 발생한 '느슨한 계약(Loose Contract)' 문제가 근본 원인이었습니다.
- **Guideline**: 시스템 간 데이터 교환 방식(ID 기반 vs 참조 기반)을 프로젝트 표준으로 확정하고 준수해야 합니다.
---
**Related Cluster**: [[05_Project_Issues/2026-04-21-Engine-Stability-and-Optimization|Performance Tuning]]
**Status**: Verified by QA 🫡
@@ -0,0 +1,34 @@
# POST-MORTEM: Skybound Meta-Game Stabilization & Loot Economy Overhaul (2026-04-23)
## 1. 프로젝트 개요
보스전 이후 스테이지 전이가 멈추는 치명적 버그를 해결하고, 기획안에 맞춘 전리품(Loot) 경제 밸런스 재조정 및 보급품 시스템의 논리적 결함을 수정한 포스트모텀.
## 2. 주요 해결 과제 및 분석 (Key Issues)
### 2.1 보스 처치 후 진행 불가 (Stage Progression Stall)
- **현상**: 보스를 처치하고 폭발 연출까지 완료되었으나, 다음 스테이지로 넘어가지 않고 화면에 갇히는 현상.
- **원인**: `StageDirectorSystem`에서 보스 사망 시 `NEXT_STAGE` 이벤트를 발행했으나, 엔진의 메인 루프(`useGameEngine`)에 해당 이벤트를 수신하여 UI/상태를 전환하는 핸들러가 누락되어 있었음.
- **해결**: `useGameEngine.ts``emitEvent` 리스너에 `BOSS_ACTION: NEXT_STAGE` 케이스를 추가하고, `finishMission('CLEAR', ...)`을 호출하도록 연결.
### 2.2 전리품 드롭 확률 불균형 (Loot Economy Inflation)
- **현상**: 보스 처치 시 무조건 S급 아이템이 나오거나, 일반 적들의 드롭률이 너무 높아 아이템 희소성이 결여됨.
- **원인**: `LootGenerator.ts` 내부에 하드코딩된 확률 임계값이 초기 테스트용으로 과하게 설정되어 있었음.
- **해결**: 대표님 제시안에 맞춰 보스 드롭률을 **67%**로 제한하고, 등급별 확률(S: 5%, Epic: 1% 등)을 정밀 재조정함. 엘리트 및 일반 적의 드롭률도 대폭 하향하여 파밍의 재미를 강화.
### 2.3 보급 상자 '가짜 업그레이드' (Phantom Upgrades)
- **현상**: 보급 상자(Chest)를 통해 무기를 골라도 실제 무기 레벨이 오르지 않아, 겉모습만 레벨업인 상태(레벨 3에서 무한 업그레이드 느낌)가 지속됨.
- **원인**: UI(`GameSceneRenderer`)에서 `isChest` 플래그가 활성화된 경우, "레벨업이 아니므로 스킬을 적용하지 않는다"는 잘못된 방어 로직이 적용되어 있었음.
- **해결**: `isChest` 유무와 관계없이 선택된 스킬을 엔진과 스토어에 적용(`addSkill`, `applySkill`)하도록 수정하여 보급 상자의 실질적 효용성 확보.
## 3. 잘된 점 (What Went Well)
- **신속한 원인 파악**: 엔진 이벤트 루프와 UI 상태 간의 단절 지점을 정확히 찾아내어 최소한의 코드 수정으로 버그 해결.
- **기획 충실도**: 텍스트로 전달된 복잡한 확률 테이블을 엔진 코드에 오차 없이 반영.
- **동기화 성공**: 엔진 내부 상태와 Zustand 글로벌 스토어 간의 싱크를 맞춰 '가짜 업그레이드' 현상을 원천 해결.
## 4. 교훈 및 향후 과제 (Lessons Learned & Next Steps)
- **이벤트-리스너 쌍 검증**: 새로운 시스템 이벤트를 정의할 때 반드시 수신 측(Listener)이 구현되었는지 체크리스트화 필요.
- **UI/엔진 역할 분담**: `isChest`와 같은 상태 플래그가 비즈니스 로직(스킬 적용)까지 차단하지 않도록 설계 시 주의.
- **모니터링 강화**: 현재 확률에 따른 드롭 현황을 로깅하여 장기적인 밸런싱 데이터 확보 예정.
## 5. 결론
이번 안정화 작업을 통해 Skybound의 **'전술적 긴장감'**과 **'성장 루프'**가 정상 궤도에 진입함. 보스전 - 보급 - 스테이지 전환으로 이어지는 핵심 게임 루프의 기술적 무결성 확인 완료. 🫡🐟
@@ -9,17 +9,22 @@ Skybound 프로젝트의 모든 시스템은 유기적으로 연결되어 있습
- **Master Plan**: [[01_Core_Engine/Skybound-Modular-Game-Architecture|Modular Architecture]]
- **Data Flow**: [[01_Core_Engine/Stat-Injection-and-Visual-Renderer-Pipeline|Stat Injection & Renderer Pipeline]]
- **Engine Loop**: [[01_Core_Engine/Game-Engine-Loop-and-System-Orchestration|Runtime Pipeline]]
- **Implementation**: [[01_Core_Engine/Skybound_Implementation_Report_V10_5|V10.5 Implementation Report]]
- **Fix Log**: [[01_Core_Engine/Combat_System_Reference_Error_Resolution|Combat System ReferenceError Resolution]]
- **Campaign**: [[04_Mechanics_Progression/Campaign_and_Dual_Loop_System|Campaign & Dual-Loop Architecture]]
- **Governance**: [[01_Core_Engine/Git_Synchronization_Protocol|Git & Knowledge Sync Protocol]]
- **Visual Pattern**: [[01_Core_Engine/Visual_Feedback_Signal_Pattern|Visual Feedback Signal Pattern]]
- **State Control**: [[01_Core_Engine/State-Machine-and-Phase-Transition-Events|Global State Machine]]
- **Recent Reports**:
- [[01_Core_Engine/2026-04-23_Engine_Stabilization_Report|V13.1 Engine Stabilization & Tactical Boundary]]
- [[05_Project_Issues/2026-04-23_Post-Mortem_Loot_Rebalance|Post-Mortem: Loot & Progression Rebalance]]
- [[05_Project_Issues/2026-04-22_Engine_Stability_Audit|V12.1 Engine Stability Audit]]
- [[05_Project_Issues/2026-04-21-Project-Report-V11.5-Combat-and-UI-Recovery|V11.5 Project Report (Recovery)]]
## 🏷️ Keyword Cluster: #Battle_Tactics (전투 및 AI)
교전 규칙과 적 기체의 지능적 행동 양식입니다.
- **Physics**: [[02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline|Bullet Collision Pipeline]]
- **Design**: [[03_Boss_Systems/Boss_Battle_Design_System|Boss Battle Design System]]
- **Timeline**: [[03_Boss_Systems/Boss_Encounter_and_Timeline_Design|Boss Encounter & Timeline Design]]
- **Rhythm**: [[02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset|Staggered Firing & Offset]]
- **Implementation**: 10_Wiki/Technical_Reports/2026-04-22_Boss_Battle_System_Implementation
@@ -27,6 +32,7 @@ Skybound 프로젝트의 모든 시스템은 유기적으로 연결되어 있습
## 🏷️ Keyword Cluster: #Dopamine_UX (피드백 및 텐션)
유저가 느끼는 '재미'의 수치화 및 연출 기법입니다.
- **Feedback**: [[05_Project_Issues/2026-04-21-UX-Dopamine-Feedback-Upgrade|Dopamine Feedback Engine]]
- **Upgrade**: [[04_Mechanics_Progression/UX_Gameplay_Protocol_V10_0|V10.0 UX & Gameplay Upgrade]]
- **Visuals**: [[01_Core_Engine/Visual_Feedback_Signal_Pattern|Dynamic Color & Renderer Signal]]
- **Tension**: [[04_Mechanics_Progression/Combat_Timeline_Difficulty_Scaling|World Tension Scaling]]
@@ -41,15 +47,17 @@ Skybound 프로젝트의 모든 시스템은 유기적으로 연결되어 있습
시스템의 무결성을 유지하기 위한 기록입니다.
- **Audit**: [[05_Project_Issues/2026-04-22_Engine_Stability_Audit|V12.1 Engine Integrity Audit]]
- **Optimization**: [[05_Project_Issues/2026-04-22_Engine_Logic_Optimization_Report|Engine Logic & Physics Optimization]]
- **Boss Fix**: [[03_Boss_Systems/Boss_Combat_Stability_Fix_Log|Boss Combat Stability Fix]]
- **Post-Mortem**: [[05_Project_Issues/2026-04-23_Post-Mortem_Loot_Rebalance|Post-Mortem: Loot & Progression Fix]]
- **Report**: [[05_Project_Issues/2026-04-21_Stability_and_Optimization_Report|2026-04-21 Stability & Optimization]]
- **Performance**: [[05_Project_Issues/2026-04-21-Engine-Stability-and-Optimization|Performance Tuning]]
---
**Root Policy**: Ps-Reinforce v2.5 (Graph Expansion)
**Last Audit**: 2026-04-22
**Last Audit**: 2026-04-23
---
**Root Policy**: Ps-Reinforce v2.0
**Project Status**: Knowledge Ingestion Complete (Batch 12.1-A)
**Project Status**: Knowledge Ingestion Complete (Batch 13.1-A)
## 🏷️ Keyword Cluster: #Project_Logs (최근 개발 로그)
- [[Frontend_Mastery/2026-04-24-Skybound_Code_Structure_Audit_and_Stabilization_Plan|2026-04-24-Skybound_Code_Structure_Audit_and_Stabilization_Plan]]
@@ -108,3 +116,4 @@ Skybound 프로젝트의 모든 시스템은 유기적으로 연결되어 있습
- [[Skybound/2026-04-26-Skybound_Skip_Upgrade_and_Weapon_Transform_Reconfiguration|2026-04-26-Skybound_Skip_Upgrade_and_Weapon_Transform_Reconfiguration]]
- [[Skybound/2026-04-26-Skybound_Stage1_to_3_Playtest_Balance_Bomb_and_Visual_Diversity_Pass|2026-04-26-Skybound_Stage1_to_3_Playtest_Balance_Bomb_and_Visual_Diversity_Pass]]
- [[Skybound/2026-04-26-Skybound_Stage_Miniboss_Pattern_Differentiation|2026-04-26-Skybound_Stage_Miniboss_Pattern_Differentiation]]
File diff suppressed because one or more lines are too long
@@ -0,0 +1,43 @@
# 🛡️ Skybound Protocol: 시스템 안정화 및 전술적 경계 고도화 (v13.1)
📌 **Brief Summary**
Skybound 엔진의 초기 구동 안정성을 확보하고, 게임의 정체성을 '전통적 슈팅'에서 '전략 생존 슈터'로 강화하기 위해 핵심 시스템을 재설계한 대규모 업데이트입니다.
---
📖 **Core Content**
## 1. 엔진 구동 안정화 (Engine Stability)
게임 시작 시 발생하는 상태 데드락과 무한 레벨업 모달 루프를 해결했습니다.
* **시간 기반 가드 (Time-based Guards):** `StageDirectorSystem`에서 초기화 시점의 급격한 이벤트 발동을 방지하기 위해 15초/30초의 최소 동작 가드를 도입했습니다.
* **이벤트 중복 발동 방지:** `processedEventSeconds` 셋을 활용하여 동일 시간대의 이벤트가 중복 트리거되지 않도록 락(Lock) 메커니즘을 강화했습니다.
## 2. 상태 동기화의 단일 진실 원천 (Single Source of Truth)
엔진 내부 로직과 UI(Zustand) 간의 레벨 정보 불일치를 제거했습니다.
* **Zustand 중심 설계:** `ProgressionSystem`에서 엔진이 직접 레벨을 올리던 중복 로직을 제거하고, 모든 성장은 Zustand 스토어를 통해서만 이루어지도록 강제했습니다.
* **UI 피드백 분리:** `LevelUpModal``isChest` 플래그를 추가하여 일반 레벨업과 긴급 보급품(Emergency Supply Drop) 보상을 시각적으로 명확히 분리했습니다.
## 3. 전술적 경계 가드 (Tactical Boundary Clamping)
적기가 화면 밖으로 이탈하여 플레이어의 대응 권한을 박탈하는 문제를 해결했습니다.
* **물리적 클램핑:** `CombatSystem`에서 적기의 이동 허용 범위를 화면 하단 `height - 40`으로 제한했습니다.
* **전략적 전환:** 적은 피해야 할 장애물이 아닌, 반드시 격파해야 할 '전술적 목표'로 재정의되었습니다.
## 4. 고도화된 AI 이동 패턴
화면 경계 내에서 유기적으로 움직이는 새로운 이동 로직을 도입했습니다.
| 패턴명 | 상세 설명 | 시각적 흐름 |
| :--- | :--- | :--- |
| **Ping-pong Zigzag** | 화면 경계 충돌 시 반대 방향으로 반전하여 화면 내 상주 시간을 극대화함. | `Left -> Right (Collision) -> Left` |
| **Recursive Striker** | 하단 돌격 후 소멸하지 않고 다시 상단으로 복귀하여 순찰 모드로 전환됨. | `Top -> Bottom (Dive) -> Top (Return)` |
| **Chase Guard** | 플레이어를 추격하는 동안에도 화면 경계를 넘지 않도록 위치 보정 로직이 상시 작동함. | `Player Tracking + Clamp` |
---
🔗 **Knowledge Connections**
- **Related Topics:** [[Skybound Protocol 시스템 아키텍처 및 데이터 흐름 분석]], [[Skybound Protocol 데이터 및 제어 흐름 (Control Flow)]]
- **Issue Log:** `Issue_2026-04-23_Engine_Stabilization_and_Tactical_Boundary.md`
- **Keywords:** `State Synchronization`, `Boundary Clamping`, `Tactical Shooter`, `Zustand SSOT`