7.9 KiB
7.9 KiB
| from | to | type | status | date | subject |
|---|---|---|---|---|---|
| 개발팀장 | 총괄PM | 상태보고 | 대기 | 2026-04-16 | BT.Framework git 통합 상태 점검 보고 |
BT.Framework git 통합 상태 점검 보고
작성일: 2026-04-16 작성자: 개발팀장 수신: 총괄PM 목적: BT.Framework 저장소의 git 관리 상태 전수 점검 및 현황 정리
1. 저장소 기본 정보
| 항목 | 값 |
|---|---|
| 로컬 경로 | D:/BurningTimes/BT.Framework |
| 원격 URL (fetch) | ssh://git@burning.i234.me:30030/BurningTimes/BT.Framework.git |
| 원격 URL (push) | ssh://git@burning.i234.me:30030/BurningTimes/BT.Framework.git |
| 현재 브랜치 | main |
| 원격 동기화 상태 | up to date with 'origin/main' |
| 로컬 변경 사항 | 없음 (working tree clean) |
| 패키지 이름 | com.nerdnavis.framework |
| 패키지 버전 | 0.1.0 |
| Unity 호환 버전 | 2022.3 이상 |
2. git 원격 연결 상태
2-1. fetch 결과
git fetch origin → 성공
origin/main HEAD: efde844
판정: 원격 저장소 연결 정상. push/pull 모두 가능한 상태.
2-2. 최근 커밋 이력 (최신순 5건)
| SHA | 커밋 메시지 |
|---|---|
efde844 |
feat(core/patterns): add ServiceLocator + ServiceNotRegisteredException |
b106cae |
feat(core/patterns): add MonoSingleton unifying 4 legacy variants |
0a60587 |
feat(core/coroutine): add CoroutineRunner with pause/resume/key dedup |
e47221d |
feat(core/util/log): add central Log, LogLevel, ILogSink |
c916d1c |
chore: initial skeleton for BT.Framework |
판정: 총 5커밋. 로컬 HEAD = origin/main HEAD 일치. 미push 변경 없음.
3. 설계 문서 vs 실제 코드 구조 정합성 점검
3-1. 설계 문서 목록 (프로젝트/코어프레임워크/)
01_아키텍처_개요_v1.md— 네임스페이스 체계, Tier 분류, 폴더 구조02_수상한잡화점_추출대상_v1.md— 추출 대상 분류표 (A/B/C/D 등급)03_배포방식_안건_v1.md— OI-2 배포 방식 안건서 (PD님 결정 대기 중)
3-2. 폴더 구조 정합성
| 설계 문서 기술 | 실제 존재 여부 | 비고 |
|---|---|---|
Runtime/Core/Patterns/ |
✅ | MonoSingleton.cs, ServiceLocator.cs, ServiceNotRegisteredException.cs, InitMode.cs |
Runtime/Core/Coroutine/ |
✅ | CoroutineRunner.cs, CoroutineHandle.cs, DuplicatePolicy.cs |
Runtime/Core/Util/Log/ |
✅ | Log.cs, LogLevel.cs, ILogSink.cs |
Runtime/Core/Container/ |
❌ | 미구현 (ObservableList 등) |
Runtime/Core/Event/ |
❌ | 미구현 (EventBus) |
Runtime/Core/Data/ |
❌ | 미구현 (DataTable, DataTableSO, CSV 로더) |
Runtime/Core/Util/ (범용 유틸) |
🟡 | .gitkeep만 존재 (MathEx/ValidationEx 등 미구현) |
Runtime/Core/Attribute/ |
❌ | 미구현 (ReadOnly/ShowIf 속성) |
Runtime/Core/Optimization/ |
❌ | 미구현 (EnumToInt 등) |
Runtime/UI/UGUI/ |
🟡 | .gitkeep만 존재 (UIView UGUI 미구현) |
Runtime/UI/UIToolkit/ |
🟡 | .gitkeep만 존재 |
Runtime/UI/Components/ |
🟡 | .gitkeep만 존재 (SafeAreaBorder 미구현) |
Runtime/Addressable/ |
🟡 | .gitkeep만 존재 |
Runtime/Security/ |
🟡 | .gitkeep만 존재 |
Editor/ |
✅ | 폴더 존재, asmdef 파일 포함 |
Tests/Runtime/Core/ |
✅ | CoroutineRunner, MonoSingleton, ServiceLocator, Log 테스트 존재 |
package.json |
✅ | com.nerdnavis.framework 0.1.0 |
CHANGELOG.md |
✅ | Keep a Changelog 형식 준수 |
Documentation~/ |
✅ | 폴더 존재 (내부 비어있음) |
판정: 설계 문서의 폴더 구조 뼈대와 일치. Tier 1 기반 Core 4종만 구현, 나머지는 스켈레톤 상태.
4. 구현 완료 모듈 vs 미완료 모듈
4-1. 구현 완료 (Tier 1 기반 Core 4종)
| # | 모듈 | 네임스페이스 | 주요 기능 | 테스트 |
|---|---|---|---|---|
| 1 | Log | BurningTimes.Core.Util.Log |
카테고리·레벨 필터, Conditional 스트리핑, ILogSink 외부 연동 | ✅ LogTests.cs |
| 2 | CoroutineRunner | BurningTimes.Core.Coroutine |
핸들 기반 시작/중단/일시정지/재개, 키 중복 정책(Replace/Ignore/Allow) | ✅ CoroutineRunnerTests.cs |
| 3 | MonoSingleton<T> | BurningTimes.Core.Patterns |
4종 통합(Sync/Async/Inner/Ready), Persistent/AutoCreate/InitMode 옵션, ResetForTests | ✅ MonoSingletonTests.cs |
| 4 | ServiceLocator | BurningTimes.Core.Patterns |
Register/Resolve/TryResolve/Unregister/Clear, Lazy 팩토리 지원, ServiceNotRegisteredException | ✅ ServiceLocatorTests.cs |
설계 문서 기술 내용과 구현체 완전 일치 확인.
4-2. 미완료 (구현 대기 중)
Tier 1 잔여 (설계 완료, 구현 미착수)
| # | 모듈 | 네임스페이스 | 비고 |
|---|---|---|---|
| 1 | EventBus | BurningTimes.Core.Event |
타입 안전 Pub/Sub (설계 §4-2) |
| 2 | ObservableList/Dictionary/Queue | BurningTimes.Core.Container |
옵저버 컨테이너 통합 (설계 §4-3) |
| 3 | ObjectPool<T> | BurningTimes.Core.Patterns |
오브젝트 풀 |
| 4 | EnumToInt<T> | BurningTimes.Core.Util |
박싱 회피 캐싱 (02문서 §4-4) |
| 5 | EnumEx | BurningTimes.Core.Util |
StringToEnum 캐싱 등 |
| 6 | FormatEx / ValidationEx / MathEx 등 | BurningTimes.Core.Util |
Toolkit 해체 분리 (설계 §4-7) |
| 7 | SafeAreaBorder | BurningTimes.UI.Components |
UGUI SafeArea (02문서 #A-5) |
| 8 | SpriteAtlasRegistry | BurningTimes.UI.UGUI |
UIAtlasMgr 범용화 |
| 9 | DataTable / DataTableSO / CSV 로더 | BurningTimes.Core.Data |
데이터 테이블 |
| 10 | Attribute (ReadOnly/ShowIf) | BurningTimes.Core.Attribute |
Inspector 속성 |
Tier 2 (신규 설계 필요)
| # | 모듈 | 네임스페이스 | 비고 |
|---|---|---|---|
| 1 | Economy (Goods) | BurningTimes.Economy |
재화 모델 |
| 2 | Save / ISaveProvider | BurningTimes.Save |
JSON + AES 레이어 |
| 3 | Localization | BurningTimes.Localization |
Unity Localization 래퍼 |
| 4 | Audio | BurningTimes.Audio |
BGM/SFX 채널 풀링 |
| 5 | Addressable 래퍼 | BurningTimes.Addressable |
참조 카운팅 Handle |
Tier 3 (서버팀 셋업 이후)
| # | 모듈 | 네임스페이스 |
|---|---|---|
| 1 | Network | BurningTimes.Network |
| 2 | Security | BurningTimes.Security |
5. 배포 방식 결정 현황 (OI-2)
- 안건 문서:
프로젝트/코어프레임워크/03_배포방식_안건_v1.md - 권장안: C + H1 (UPM Git URL + 로컬 file: 오버라이드)
- 현재 상태: PD님 의사결정 대기 중 (정식 보류)
- 영향 범위: v0.1.0 태그 부여·차기 프로젝트 manifest.json 연결 등 배포 관련 액션은 PD님 승인 전 유보
6. 종합 판정
| 항목 | 상태 | 비고 |
|---|---|---|
| git 원격 연결 | ✅ 정상 | fetch/push/pull 모두 가능 |
| origin/main 동기화 | ✅ 완료 | 로컬 = 원격 동일 |
| 설계 문서 정합성 | ✅ 일치 | 구조 설계와 코드 구조 부합 |
| Tier 1 기반 Core 구현 | 🟡 4/9종 완료 | 잔여 5종 이상 구현 대기 |
| 테스트 | ✅ 구현 완료 모듈 전수 테스트 | 28건 추정 (커밋 메시지 기준) |
| 배포 방식 | 🟡 안건 대기 | OI-2 PD님 결정 필요 |
| 버전 태그 | ❌ 미부여 | OI-2 결정 후 v0.1.0 태그 예정 |
7. 다음 작업 건의
- Tier 1 잔여 모듈 구현 재개: EventBus, ObservableContainer, ObjectPool 등 — PD님 OI-2 결정과 독립적으로 진행 가능
- OI-2 배포 방식 PD님 결정 요청:
03_배포방식_안건_v1.md7절 의사결정 4항목 승인 수령 후 v0.1.0 태그 부여 착수 - Documentation~ 정비: 각 구현 모듈의 API 문서 작성 (구현 병행 또는 후속)
본 보고서는 C13·P19 의무에 따라 PD_지시_트래킹 로그에도 등록됩니다.