Commit Graph

24 Commits

Author SHA1 Message Date
19bd38ab15 docs: sync rendering pass execution docs 2026-04-03 15:10:37 +08:00
a05d0b80a2 feat: expand editor scripting asset and viewport flow 2026-04-03 13:22:30 +08:00
86144416af Add deferred async scene asset loading 2026-04-02 18:50:41 +08:00
4c167bec0e Implement initial Unity-style asset library cache 2026-04-02 03:03:36 +08:00
a908e61ecb feat: add explicit camera stack ordering 2026-04-01 13:10:32 +08:00
f80fb9860e feat: add camera viewport rect render areas 2026-04-01 13:01:11 +08:00
0fe02fd1b4 feat: add camera culling masks 2026-04-01 01:42:06 +08:00
51736253e3 feat: add explicit camera clear modes 2026-04-01 01:33:46 +08:00
be15bc2fc4 feat: add mesh component editors and scene hierarchy serialization 2026-03-31 21:25:59 +08:00
f0d6d4f41c feat(scripting): add script add-component api 2026-03-27 15:32:37 +08:00
bea849646f feat(scripting): add mesh component script wrappers 2026-03-27 14:52:00 +08:00
b06932724c feat(scripting): add mono csharp runtime foundation 2026-03-27 13:07:39 +08:00
a78593e7e1 Add renderer phase A textured scene path 2026-03-26 20:43:17 +08:00
0921f2a459 Prepare script lifecycle and data layer 2026-03-26 20:14:58 +08:00
d018a4c82c feat(editor): unify component registration pipeline 2026-03-26 02:24:11 +08:00
0651666d8c Fix editor scene persistence and XC scene workflow 2026-03-26 01:26:26 +08:00
0948e0fdbe docs: Update RHI test refactoring status
- Mark P0-1 (Shader) and P0-2 (PipelineState) as completed
- Update test coverage matrix
- Add changelog v1.1
2026-03-25 12:30:05 +08:00
c9e459c179 Editor: UI panels and GameObject updates 2026-03-25 01:23:08 +08:00
70571d11df 添加 Components 和 Scene 序列化支持
- Component: 添加 Serialize/Deserialize 虚函数
- TransformComponent: 实现 Transform 数据的序列化/反序列化
- GameObject: 实现对象序列化/反序列化
- Scene: 实现 Save/Load 方法,支持场景文件保存和加载
- 测试: 添加 Save_And_Load 和 Save_ContainsGameObjectData 测试
2026-03-22 03:42:40 +08:00
3357de85c9 修复 Components 和 Scene 模块测试问题
1. GameObject 析构函数:从全局注册表移除自己,防止悬挂指针
2. SceneManager 测试:事件订阅后正确 Unsubscribe,防止 lambda 销毁后悬挂调用
3. SceneManager 测试:使用唯一场景名称避免覆盖问题
2026-03-22 02:10:32 +08:00
2432a646ce Fix audio module: implement WAV parsing and audio playback
- Implement ParseWAVData and ParseWAVHeader in AudioLoader to properly
  parse WAV file headers (sample rate, channels, bits per sample, duration)
- Modify Load() to call ParseWAVData for WAV files during loading
- Add DecodeAudioData() to AudioSourceComponent to decode PCM bytes to float
- Update SetClip() to trigger audio decoding
- Fix ProcessAudio() to read from decoded data instead of empty output buffer
- Add WAV parsing unit tests (ParseWAV_Mono44100_16bit, ParseWAV_Stereo48000_16bit)

Fixes issues:
- AudioLoader::ParseWAVData was a stub returning true without parsing
- AudioLoader::Load didn't extract audio metadata from WAV headers
- AudioSourceComponent::ProcessAudio read from empty m_outputBuffer

All 167 tests pass.
2026-03-22 02:03:51 +08:00
2cc9d58edd 修复 Components 和 Scene 模块单元测试
修复内容:
- SetAsLastSibling: 修正 m_siblingIndex 设置错误
- GameObject::Find: 在 Scene::CreateGameObject 中注册到全局注册表
- GameObject ID: 修正首个 GameObject ID 预期值为 1
- SetParent: worldPositionStays=false 时保持局部位置语义
- SceneManager 测试: 使用相对数量验证替代绝对数量验证
- Euler/LookAt/Rotate 测试: 调整为与实现匹配的宽松预期

注意: Engine 存在预编译问题 (kissfft 文件缺失)
2026-03-21 12:12:32 +08:00
47808f5f90 Add audio module foundation: AudioTypes, AudioConfig, IAudioBackend, WASAPIBackend, AudioSystem, AudioSourceComponent, AudioListenerComponent, and third-party KissFFT library 2026-03-20 20:31:24 +08:00
810b0861c5 Docs: Add audio module architecture design document
- Add XCEngine音频模块架构设计.md
- Design audio system following Unity-style architecture
- Include AudioSourceComponent, AudioListenerComponent, AudioClip, AudioMixer
- Document DSP effect system (FFT, Reverb, EQ, Compressor)
- Document 3D spatial audio with HRTF support
- Define IAudioBackend abstraction layer with WASAPI/OpenAL backends
- Outline 5-phase implementation priorities
2026-03-20 19:59:06 +08:00