# Engine Stability and [[Optimization|Optimization]] (2026-04-21)

Skybound 엔진의 성능 저하 및 런타임 크래시 이슈에 대한 해결 및 방지 가이드입니다.

## 1. Issue: Effect Overload (이펙트 폭주)
- **증상**: 대폭발 시 수백 개의 파편(Shard) 객체가 화면에 잔존하여 프레임 드랍 발생.
- **해결책**:
    - **Hard Cap**: 파편 최대 생성 개수를 500개로 제한.
    - **Resource Recycling**: 파편의 수명 감소 속도를 6배 상향(0.1 -> 0.6)하여 자원 회수율 증대.

## 2. Issue: Rendering and API Type Mismatch
- **증상**: `undefined` 배열 순회 시 발생하는 런타임 에러.
- **해결책**:
    - **Optional Chaining**: `GameRenderer.ts` 내 모든 엔티티 순회 로직에 `?.` 및 `|| []` 적용.
    - **Interface Sync**: `WorldModel`에 `items`, `expGems` 등 누락된 필드를 정식 등록하여 정적 분석 강화.

## 3. Lesson Learned (조직적 교훈)
- **Silo Warning**: 엔진 고도화 중 인터페이스 명세서를 동시에 업데이트하지 않을 경우, '느슨한 계약 관리'로 인해 대규모 런타임 에러가 발생할 수 있음.
- **Defensive Programming**: 외부 주입 데이터가 언제든 `undefined`일 수 있음을 가정하고 순회 로직을 작성해야 함.

---
**Status**: Resolved
**Context**: Infrastructure / Performance Tuning
