1f97102f33
docs: 更新 audio 和 scene 模块文档
...
- audio: 更新 i-audio-backend, i-audio-effect, wasapi-backend 方法文档
- scene: 更新 scene.md 模块总览
2026-03-26 01:53:04 +08:00
fae7362e9f
docs: 更新 audio 和 resources 模块文档
...
- audio: 更新 audio-mixer, equalizer, fft-filter, hrtf, reverbation 方法文档
- resources: 更新资源管理文档
- debug: 新增 renderdoc-capture 文档
2026-03-26 01:52:36 +08:00
14ffde371e
docs: 修复 audio 模块中指向 components 的错误链接
...
修复 AudioSourceComponent 和 AudioListenerComponent 的文档路径引用
2026-03-26 01:51:43 +08:00
f5a34f8adc
docs: 重构 API 文档 - components 和 scene 模块
...
- components: 修复英文标题为中文,添加缺失组件文档
- 新增 camera-component, light-component, audio-source-component, audio-listener-component 类总览
- 修复 get-position.md 格式
- 更新 components.md 模块总览
- scene: 修复方法文档格式,新增缺失方法
- 修复 find.md, create-game-object.md 英文标题
- 新增 FindByID, SerializeToString, DeserializeFromString 方法文档
- 更新 scene.md 类总览方法列表
2026-03-26 01:50:27 +08:00
7c3f304688
refactor(docs): D3D12模块文档重构 - 修复链接错误并新增Buffer/Texture/SwapChain方法文档
...
- 新增32个方法文档(D3D12Buffer 13个,D3D12Texture 12个,D3D12SwapChain 6个)
- 修复11处跨模块引用错误(rhi-device.md, rhi-texture.md等路径错误)
- 清理d3d12-overview.md移除不存在的类引用
- 修复D3D12Device/D3D12CommandList/D3D12CommandQueue方法列表
- D3D12模块现无broken links
2026-03-26 01:49:24 +08:00
63d0271a5b
Fix broken links in Math API docs
...
Fix 30+ broken cross-references in docs/api/math/:
- viewport: viewport-getaspectratio/getrect -> getaspectratio/getrect
- matrix4: ../color/operator-mul -> operator_mul, operator-index -> operator_index
- matrix4/get-*: gettranslation/getscale/getrotation -> get-translation/-scale/-rotation
- vector3 operator links: operator_*_assign -> operator-*-assign
- vector3 operator links: operator_sub/add -> operator-sub/add
- vector3 operator-eq/neq: swap mutual references to use hyphen naming
- vector4: ../plane/constructor-default -> constructor_default
- Linter fixes: aabb and rectint relative paths corrected
2026-03-26 01:43:14 +08:00
d34d040563
Fix broken links in Threading API docs
...
Fix 14 broken cross-references in docs/api/threading/:
- lambda-task path: lambdatask -> lambda-task (5 occurrences)
- task-system-config path: tasksystemconfig -> task-system-config (6 occurrences)
- read-write-lock self-ref: readwritelock -> read-write-lock (6 occurrences)
- task-system cross-method: createtaskgroup/destroytaskgroup -> create-task-group/destroy-task-group
- thread cross-method: getcurrentid/getid -> get-current-id/get-id
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-26 01:30:37 +08:00
1cf744b755
refactor(docs): RHI模块文档重构 - 修复18处链接错误并新增RHIFramebuffer/RHIRenderPass文档
...
- 修复opengl/下13个文件对overview.md的错误引用,改为opengl.md
- 修复opengl/shader/下2处get-native-handle.md的错误路径引用
- 修复rhi.md中rhifactory路径错误
- 修复opengl.md中对d3d12.md的错误引用
- 修复opengl/README.md中的overview.md引用
- 新增RHIFramebuffer完整文档(7个文件)
- 新增RHIRenderPass完整文档(7个文件)
- 更新rhi.md总览页,添加RHIFramebuffer和RHIRenderPass分类
2026-03-26 01:29:00 +08:00
268daf7bc9
Move design notes into docs/used
2026-03-25 21:55:28 +08:00
605d086bcc
Create ISceneManager interface and fix GetSceneManager return type
...
- Created ISceneManager interface with Editor需要的 SceneManager 方法
- SceneManager now implements ISceneManager
- IEditorContext::GetSceneManager() now returns ISceneManager& instead of void*
- Removed SceneManager::GetSceneManagerConcrete() method
- Updated HierarchyPanel and InspectorPanel to use ISceneManager interface
2026-03-25 16:39:15 +08:00
16e2065c6c
Unified logging: Replace LogSystem with EditorConsoleSink
...
- Created EditorConsoleSink (implements ILogSink interface)
- EditorConsoleSink stores logs in memory buffer (max 1000 entries)
- Added to Debug::Logger in Application::Initialize()
- ConsolePanel now reads from EditorConsoleSink via static GetInstance()
- Removed separate LogSystem singleton
- Removed editor/src/Core/LogEntry.h (no longer needed)
Now Editor and Engine share the same Debug::Logger, with ConsolePanel
displaying logs via EditorConsoleSink.
2026-03-25 16:13:02 +08:00
600892bbe2
Refactor RHI documentation and remove unused files
2026-03-25 01:31:09 +08:00
9fae910854
Editor: 更新编辑器面板和UI控件系统
...
- 添加新的UI控件系统(Core.h, ScalarControls.h, VectorControls.h, UI.h)
- 更新SceneManager支持场景层级管理
- 优化SelectionManager选择管理
- 改进InspectorPanel/GameViewPanel/HierarchyPanel等面板
- 更新RHI文档说明Vulkan实现计划
2026-03-24 20:02:38 +08:00
6ed033890a
docs: 整理 plan 文档,废弃文档移至 used 目录
...
- 废弃的计划文档移动到 docs/plan/used/
- 更新 RHI 抽象层设计文档
- 保留当前有效的计划文档
2026-03-24 18:21:53 +08:00
612342d170
docs: 更正 Editor 设计文档中的 Component 系统描述
...
- 更正: Engine 核心已有完整组件系统,Editor Inspector 只是未完善
- 补充: Editor 和 Engine 使用两套不同的 GameObject/Component 系统 (重大架构问题)
- 补充: Scene 序列化依赖描述修正
- 补充: 架构问题中新增 Editor/Engine 系统差异分析
2026-03-24 18:20:10 +08:00
4daed24a05
docs: 添加 Editor 设计与实现分析文档
...
- 对比分析 XCEngine Editor 与 Fermion Boson Editor 各面板功能
- 详细列出缺失的面板: SettingsPanel, OverlayRenderPanel, MaterialEditorPanel, TextureConfigPanel, AssetManagerPanel
- 分析核心系统差异: Application 架构、SceneManager、UI 控件封装、选择系统、资源系统
- 制定改进计划分阶段实施路线
2026-03-24 18:15:03 +08:00
0dde7234b7
refactor(RHI): remove void* from CommandList interfaces and fix OpenGL MRT bug
...
- Remove void* parameters from RHICommandList abstract interface
- TransitionBarrier, SetVertexBuffer, SetIndexBuffer, SetRenderTargets,
ClearRenderTarget, ClearDepthStencil, CopyResource now use RHIResourceView*
- SetPipelineState now uses RHIPipelineState* instead of void*
- Simplified SetVertexBuffer to 3 params, SetIndexBuffer to 2 params
- Add internal D3D12 APIs for native type support (low-level escape hatch)
- Fix OpenGL SetRenderTargets to call glDrawBuffers for MRT support
- Update tests to match new interface signatures
All 289 RHI tests pass (158 unit + 64 OpenGL backend + 58 D3D12 backend + 8 integration + 1 disabled)
2026-03-24 17:20:51 +08:00
ac5c98584a
refactor: rename ui_editor to editor for consistency
2026-03-24 16:23:04 +08:00
512161bf81
docs: Fix markdown formatting in RHIFence.md
2026-03-24 02:29:52 +08:00
08c01dd143
RHI: Refactor Fence module to pure timeline semantics
...
- Remove IsSignaled() from RHIFence interface (semantic inconsistency)
- Remove Reset() from OpenGL implementation (no D3D12 counterpart)
- OpenGL Fence now uses single GLsync + CPU counters for timeline simulation
- OpenGL Fence Initialize() now accepts uint64_t initialValue (was bool)
- Add comprehensive timeline semantics tests for all backends:
- Signal increment/decrement scenarios
- Multiple signals
- Wait smaller than completed value
- GetCompletedValue stages verification
- Update documentation to reflect actual implementation
2026-03-24 01:53:00 +08:00
f427699ac6
refactor: improve test infrastructure and fix OpenGL GLAD initialization
...
- Rename D3D12Enum.h to D3D12Enums.h for naming consistency
- Fix OpenGL unit test GLAD initialization by using gladLoadGL()
instead of gladLoadGLLoader(wglGetProcAddress) for fallback support
- Migrate remaining tests to use gtest_discover_tests for granular
test discovery (math, core, containers, memory, threading, debug,
components, scene, resources, input, opengl)
- Remove obsolete TEST_RESOURCES_DIR and copy_directory commands
from OpenGL unit test CMakeLists (minimal/Res doesn't exist)
- Update TEST_SPEC.md with performance metrics and per-module
build/test commands for faster development workflow
- Update CMake path references to use lowercase paths
2026-03-23 00:43:02 +08:00
0f0ab8922a
docs: fix naming conventions across threading, math, memory, core, and debug modules
...
threading/:
- Rename 19 camelCase method files to hyphenated names
- task-system: createtaskgroup→create-task-group, etc.
- tasksystemconfig: enabletaskprofiling→enable-task-profiling, etc.
- thread: getcurrentid→get-current-id, etc.
- task: addref→add-ref, getid→get-id, etc.
math/:
- Rename underscore operator files to hyphenated
- vector3: operator_add→operator-add, etc.
- matrix4: gettranslation→get-translation, etc.
- vector4: tovector3→to-vector3, constructor_vector3→constructor-vector3
- sphere: sphere_constructor→sphere-constructor, etc.
memory/:
- Remove duplicate memorymanager/ folder (kept manager/ which was correct)
core/:
- filewriter: Consolidate ctor-default.md and ctor-file.md into constructor.md
- Rename dtor.md→destructor.md
debug/:
- filelogsink: Rename construct.md→constructor.md, ~filelogsink.md→destructor.md
All overview pages updated with new file references.
2026-03-22 23:09:29 +08:00
36d3decef6
feat: 添加独立的输入系统和平台抽象层
...
- 新增 Platform 模块:PlatformTypes.h, Window.h, WindowsWindow
- 新增 Input 模块:InputTypes, InputEvent, InputAxis, InputModule, InputManager
- 新增 WindowsInputModule 处理 Win32 消息转换
- 将 RHI 集成测试从 render_model 迁移到 sphere
- 更新 CMakeLists.txt 添加 Platform 和 Input 模块
2026-03-22 15:21:52 +08:00
6af872e9eb
docs: fix Resources module API docs naming conventions and broken links
...
- Rename constructor/destructor files to follow template spec:
- ctor.md → constructor.md, dtor.md → destructor.md (audioclip)
- texture_constructor.md → constructor.md, texture_destructor.md → destructor.md (texture)
- material-loader-constructor.md → constructor.md, material-loader-destructor.md → destructor.md
- Create missing constructor/destructor docs:
- audio-loader: constructor.md, destructor.md
- texture-loader: constructor.md, destructor.md
- Fix broken links to ResourceManager:
- shader-loader/index.md
- material-loader/index.md
- Remove duplicate folders (keep hyphenated versions):
- Delete shaderloader/ (keep shader-loader/)
- Delete resourcepackage/ (keep resource-package/)
- Merge textureimportsettings/ into texture-import-settings/
- Rename audio-loader method files:
- canload.md → can-load.md
- getdefaultsettings.md → get-default-settings.md
- getsupportedextensions.md → get-supported-extensions.md
- Update overview pages with proper method links and constructor/destructor entries
2026-03-22 14:42:27 +08:00
1797e7fe17
fix: encapsulate OpenGL types in VertexAttribute to eliminate raw GL API usage in tests
...
- Add VertexAttributeType and VertexAttributeNormalized enums in OpenGLVertexArray.h
- Add ToGLAttributeType() converter in OpenGLVertexArray.cpp
- Remove glActiveTexture() call from quad test (already handled by texture.Bind())
- Remove #include <glad/glad.h> from triangle test
- Update unit tests to use encapsulated enums
All three OpenGL integration tests (minimal, triangle, quad) pass with 0% pixel difference.
2026-03-22 14:33:57 +08:00
1f129ed20f
docs: fix README.md project structure to match actual codebase
...
Engine modules:
- Audio: remove AudioSource/Listener components (they belong in Components/), add IAudioEffect.h
- Components: add AudioSourceComponent.h and AudioListenerComponent.h
- Math: remove non-existent OBB.h
- Resources: fix DependencyGraph.h -> ResourceDependencyGraph.h
- Threading: add TaskSystemConfig.h
- RHI: remove incorrect RHIDescriptor.h (already covered by RHIDescriptorPool.h)
Backend fixes:
- OpenGL: add OpenGLScreenshot.h
- D3D12: fix file order (D3D12Enum.h before D3D12Types.h)
2026-03-22 14:18:48 +08:00
7028027adc
Fix Equalizer::ComputeCoefficients pointer arithmetic bug
...
The band index was incorrectly calculated using pointer arithmetic on a
local parameter address, which is meaningless. Now uses the band index
passed as a parameter instead.
2026-03-22 13:36:10 +08:00
750ac95951
docs: update README.md and fix components module docs
...
- Update README.md project structure docs/api section
- Add missing audio/, components/, scene/ directories
- Reorder alphabetically
- Update Components test count from 2+ to 3
- Expand documentation section with module listings
- Remove incomplete audio-source and audio-listener component docs
from components.md (referenced 30+ and 16+ non-existent method docs)
2026-03-22 13:28:14 +08:00
a9d5a68dd6
docs: Add Component, GameObject, TransformComponent and Scene API documentation
...
- Add Component class documentation with lifecycle methods
- Add GameObject class documentation with component system
- Add TransformComponent documentation with transform methods
- Add Scene class documentation with GameObject management
- Add SceneManager singleton documentation with scene loading
- Update components.md overview with all component classes
- Update main.md navigation with Scene module
2026-03-22 03:33:55 +08:00
d83ed56177
fix(rhi): Fix RHI abstraction layer API docs per api-skill.md template
...
- Rename texture/dtor.md to destructor.md per template spec
- Remove duplicate non-hyphenated fence docs (getnativehandle.md, issignaled.md, getcompletedvalue.md)
- Fix template field issues:
- swap-chain, command-queue: 类型 now uses 'class (abstract)'
- sampler: 头文件 now uses full path 'XCEngine/RHI/RHISampler.h'
- types: 类型 fixed from 'structs' to 'struct'
- enums: 类型 fixed from 'enums' to 'enum class'
- Fix include paths in command-queue and pipeline-layout code examples
- Create missing constructor/destructor docs for 11 classes:
buffer, texture, shader, device, command-list, command-queue,
fence, sampler, swap-chain, pipeline-state, pipeline-layout
- Update class overview pages to include constructor/destructor entries
2026-03-22 03:07:41 +08:00
1358bb0a5a
docs: 修复 D3D12 后端 API 文档问题
...
- 修复 texture/dtor.md 和 enums/enums.md 的错误链接
- 重命名 texture/ctor.md → constructor.md, texture/dtor.md → destructor.md
- 创建 command-list, fence, device, query-heap, sampler 的 constructor/destructor 文档
- 创建 D3D12Texture 缺失的 16 个方法文档
- 创建 D3D12CommandList 缺失的 12 个 internal 方法文档
- 补充 shader-resource-view 缺少的头文件和类型字段
2026-03-22 02:08:51 +08:00
161a0896d5
docs: 添加 Audio 模块和 Components 模块 API 文档
...
- 新增 Audio 模块文档 (54 个文件)
- AudioSystem 单例类及 20 个方法页
- AudioMixer 混音器类及 11 个方法页
- IAudioBackend、IAudioEffect 接口
- FFTFilter、Reverbation、Equalizer、HRTF 效果类
- WASAPIBackend Windows 后端
- AudioConfig、Audio3DParams 等结构体
- 9 个枚举类型文档
- 新增 Components 模块文档 (3 个文件)
- AudioSourceComponent 音频源组件
- AudioListenerComponent 音频监听器组件
- 更新 docs/api/main.md 添加模块导航
2026-03-22 01:56:16 +08:00
a172d75e36
Add Music fluctuations project and Chinese plan docs
2026-03-21 15:55:54 +08:00
629455df07
Update API documentation and remove obsolete plan files
2026-03-21 15:55:04 +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
5201638bb1
Docs: Add D3D12 swap chain and texture API docs
2026-03-20 19:43:46 +08:00
60d11f3109
Docs: Add D3D12 API documentation
2026-03-20 19:43:28 +08:00
05a57addc7
Docs: Update UI-Editor GameObject system analysis
2026-03-20 19:43:24 +08:00
f1ad13430b
Docs: Add UI-Editor design and implementation doc
2026-03-20 19:06:20 +08:00
761552273b
Docs: Add UI-Editor design documents
2026-03-20 19:06:11 +08:00
26fe3cd835
D3D12: Add bounds check to GetBackBuffer and update unit tests
...
- Add assert() bounds check to GetBackBuffer() to catch invalid indices
- Include <cassert> in D3D12SwapChain.cpp
- Update test_swap_chain.cpp to use reference return type
- Mark InvalidIndex test as DISABLED (assert aborts on invalid index)
- Update get-back-buffer.md documentation
2026-03-20 18:35:00 +08:00
ad0c265c4c
docs: add blueprint documentation
2026-03-20 02:36:29 +08:00
070b444f8f
docs: update RHI API docs
2026-03-20 02:35:45 +08:00
ea756c0177
docs: update resources API docs
2026-03-20 02:35:35 +08:00
fd792b7df1
docs: update memory and threading API docs
2026-03-20 02:35:24 +08:00
c5b17239ca
docs: update math API docs
2026-03-20 02:35:15 +08:00
e165dbea1c
docs: update core and debug API docs
2026-03-20 02:35:07 +08:00
0c073db4e8
docs: update containers API docs
2026-03-20 02:35:01 +08:00
7e1782e203
docs: 重写 api-skill.md,完善文档规范与生成流程
2026-03-19 12:41:53 +08:00
5257f3d75c
docs: Fix SKILL.md规范 violations - Remove ## 方法列表 and flatten ### sub-headers in ## 公共方法
2026-03-19 02:01:18 +08:00