docs: update STATUS.md and DEFERRED.md for completed Phase 2-3a items

Mark PNG/JPG/glTF, query3/4, query filters, scheduler,
Capsule/GJK, Coulomb friction, Lua engine API as completed.
Update test count from 255 to 324.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 20:16:37 +09:00
parent a9f5b11f69
commit df2082f532
2 changed files with 25 additions and 16 deletions

View File

@@ -2,16 +2,20 @@
## Phase 2
- **PNG 디코더 자체 구현** — deflate + 필터링. 현재 BMP만 지원.
- **JPG 디코더 자체 구현** — Huffman + DCT. 현재 미구현.
- **glTF 파서** — OBJ만 지원 중.
- ~~**PNG 디코더 자체 구현**~~ ✅ `png.rs` + `deflate.rs` 구현 완료.
- ~~**JPG 디코더 자체 구현**~~ ✅ `jpg.rs` Baseline JPEG (Huffman/IDCT/MCU/YCbCr) 구현 완료.
- ~~**glTF 파서**~~ ✅ `gltf.rs` + `json_parser.rs` glTF 2.0 / GLB 구현 완료.
- **JPG Progressive** — Baseline만 지원. Progressive JPEG 미구현.
- **glTF 애니메이션/스킨** — 메시+머티리얼만 지원. 애니메이션, 스킨, 카메라, 라이트 확장 미구현.
## Phase 3a
- **Archetype 기반 스토리지** → SparseSet 사용 중. 대규모 씬에서 성능 이슈 시 전환.
- **시스템 스케줄러** — 의존성 기반 실행 순서/병렬 실행 미구현. 시스템은 함수 호출.
- **쿼리 필터** — With, Without, Changed 미구현. query/query2만 존재.
- **query3+** query2까지만 있음.
- ~~**시스템 스케줄러**~~ ✅ 순서 기반 Scheduler (System trait + FnMut blanket impl) 구현 완료.
- ~~**쿼리 필터**~~ ✅ query_with/query_without, query2_with/query2_without 구현 완료. Changed 미구현.
- ~~**query3+**~~ ✅ query3, query4 구현 완료.
- **Changed 필터** — 컴포넌트 변경 감지 미구현. 프레임별 dirty flag 필요.
- **의존성 기반 스케줄러** — 순서 기반만 구현. 읽기/쓰기 의존성 자동 정렬/병렬 실행 미구현.
## Phase 3b
@@ -44,15 +48,15 @@
## Phase 5-1
- **Capsule, Convex Hull 콜라이더** — Sphere + Box만 구현. 추후 GJK/EPA와 함께 추가.
- **OBB (회전된 박스) 충돌** — 축 정렬 AABB만 지원. OBB는 GJK/EPA로 대체 예정.
- ~~**Capsule, Convex Hull 콜라이더**~~ ✅ Capsule + GJK/EPA 구현 완료. Convex Hull은 미구현.
- ~~**OBB (회전된 박스) 충돌**~~ ✅ GJK/EPA로 대체 완료.
- **Incremental BVH 업데이트** — 매 프레임 전체 rebuild. 성능 이슈 시 incremental update 적용.
- **연속 충돌 감지 (CCD)** — 이산 충돌만. 빠른 물체의 터널링 미처리.
## Phase 5-2
- **각속도/회전 물리** — angular_velocity 필드만 존재, 적분 미구현. 관성 텐서 필요.
- **마찰 (Coulomb)** — 미구현. 물체가 미끄러짐 없이 반발만.
- ~~**마찰 (Coulomb)**~~ ✅ Coulomb friction 구현 완료.
- **Sequential Impulse 솔버** — 단일 반복 충돌 응답만. 다중 물체 쌓기 불안정.
- **Sleep/Island 시스템** — 정지 물체 최적화 미구현.
@@ -75,7 +79,7 @@
## Phase 8-3
- **핫 리로드** — 파일 변경 감지 + Lua state 재로드 미구현.
- **엔진 API 노출** — ECS, 물리, 오디오 등 Lua에서 접근 불가.
- ~~**엔진 API 노출**~~ ✅ 기본 엔진 API (spawn, position, entity_count) Lua 바인딩 구현 완료. 물리/오디오 API는 미구현.
- **Lua 테이블 ↔ Rust 구조체** — 복잡한 데이터 변환 미구현.
- **코루틴** — Lua 코루틴 래핑 미구현.
- **샌드박싱** — Lua 보안 제한 미구현.

View File

@@ -12,11 +12,16 @@
- voltex_math: Vec2, Vec4, Mat4 (transforms, look_at, perspective, orthographic)
- voltex_renderer: MeshVertex(+tangent), Mesh, depth buffer, OBJ parser, Camera, FpsController
- voltex_renderer: Blinn-Phong shader, BMP texture loader, GpuTexture
- voltex_renderer: PNG decoder (deflate + filter reconstruction)
- voltex_renderer: JPG decoder (Baseline JPEG: Huffman, IDCT, MCU, YCbCr, subsampling)
- voltex_renderer: glTF 2.0 / GLB parser (JSON parser, accessor extraction, PBR material)
- examples/model_viewer
### Phase 3a: ECS
- voltex_ecs: Entity(id+generation), SparseSet<T>, World(type-erased storage)
- voltex_ecs: query<T>, query2<A,B>, Transform component
- voltex_ecs: query<T>, query2<A,B>, query3, query4, Transform component
- voltex_ecs: query_with/query_without, query2_with/query2_without (With/Without filters)
- voltex_ecs: System trait, Scheduler (ordered execution)
- examples/many_cubes (400 entities, dynamic UBO)
### Phase 3b: Scene Graph
@@ -163,19 +168,19 @@ crates/
└── voltex_editor — IMGUI framework, UiRenderer, widgets
```
## 테스트: 255개 전부 통과
## 테스트: 324개 전부 통과
- voltex_asset: 14
- voltex_audio: 35 (audio_clip 2 + wav 5 + mixing 11 + audio_system 2 + spatial 8 + mix_group 7)
- voltex_ecs: 39
- voltex_ecs: 50 (world 16 + sparse_set 8 + hierarchy 5 + scene 4 + world_transform 4 + entity 4 + transform 2 + scheduler 4 + query filter 3)
- voltex_math: 37 (29 + AABB 6 + Ray 2)
- voltex_physics: 52 (collider 2 + narrow 11 + bvh 5 + collision 7 + rigid_body 3 + integrator 3 + solver 5 + ray 10 + raycast 6)
- voltex_physics: 64 (collider 2 + narrow 11 + bvh 5 + collision 7 + rigid_body 3 + integrator 3 + solver 5 + ray 10 + raycast 6 + gjk 12)
- voltex_platform: 3
- voltex_ai: 15 (navmesh 4 + pathfinding 5 + steering 6)
- voltex_net: 8 (packet 7 + integration 1)
- voltex_script: 9 (state 8 + bindings 1)
- voltex_script: 11 (state 8 + bindings 1 + engine_api 2)
- voltex_editor: 10 (font 2 + draw_list 3 + widgets 3 + layout 1 + renderer 1)
- voltex_renderer: 33 (20 + SSGI 3 + RT 3 + bloom 3 + tonemap 4)
- voltex_renderer: 77 (20 + SSGI 3 + RT 3 + bloom 3 + tonemap 4 + png 10 + jpg 11 + json_parser 10 + gltf 8 + deflate 5)
## Examples (12개)