Commit Graph

136 Commits

Author SHA1 Message Date
7a814c724d docs: add C# scripting design and editor issues 2026-03-26 17:23:30 +08:00
2e2316aa55 docs: rebuild Debug API content 2026-03-26 17:21:44 +08:00
6244b586bb refactor api documentation structure 2026-03-26 16:45:24 +08:00
b414bc5326 refactor(docs): Fix broken links across multiple modules
Fixed broken references:
- texture-import-settings: Fix 16 files referencing wrong overview filename
- math/rectint: Fix 9 method links (rectint-* → get*, contains, intersects)
- rhi/opengl/device: Fix 8 cross-references (opengl-* → */**)
- resources/mesh: Fix meshsection and vertexattribute links
- rhi/d3d12/sampler: Fix RHISampler reference path
- math/vector3: Fix projectonplane → project-on-plane
- rhi/opengl/command-list: Remove broken ClearFlag enum ref
- rhi/opengl/device: Create 2 new method docs (MakeContextCurrent, GetNativeContext)
- rhi/device: Fix device-info types reference

All 0 broken references remaining.
2026-03-26 02:41:00 +08:00
10ee1fa3fa docs: 更新 audioclip 和 audio-source-component 文档
- audioclip: 新增 set 方法文档
- audio-source-component: 新增 set-output-mixer 文档
2026-03-26 02:04:27 +08:00
48b73a5045 fix(docs): fix remaining AudioClip setter broken references 2026-03-26 02:04:09 +08:00
a2765a282e fix(docs): fix MeshLoader constructor and Fence doc references 2026-03-26 02:03:53 +08:00
32cf6b8ced fix(docs): fix remaining AudioClip and MaterialLoader broken references 2026-03-26 02:03:38 +08:00
4ca8773eef fix(docs): fix AudioClip links, ResourcePackage path, Fence and Scene broken references 2026-03-26 02:03:19 +08:00
caa5d449fc fix(docs): fix AudioClip method doc links and ResourceTypes header path 2026-03-26 02:02:54 +08:00
582ab2c730 docs: 更新多个模块文档
- resources: 更新 audioclip 和 resourcepath 文档
- rhi: 更新 d3d12 和 opengl 文档
2026-03-26 02:02:42 +08:00
02e48b4766 fix(docs): correct D3D12 Fence cross-references to use local fence links instead of threading 2026-03-26 02:02:33 +08:00
c2354530b9 docs: 新增 light-component 全部方法文档及更新其他模块
- components: 新增 light-component 全部12个方法文档
- resources: 更新 audio-loader, resource-file-system 文档
- rhi: 更新 opengl/fence 文档
2026-03-26 02:02:21 +08:00
ab5ba1d57a docs: 更新 resources 模块多个文档
- importsettings, material-loader, mesh-loader, resourcehandle, resources
2026-03-26 02:01:55 +08:00
ca83267992 docs: 更新 audio-loader 和 audioclip 文档 2026-03-26 02:01:37 +08:00
c8da156352 docs: 更新 resource-package 文档 2026-03-26 02:01:14 +08:00
a1804f4cb0 docs: 更新 resources, rhi, scene 模块及新增 camera-component 方法文档
- resources: 更新 asyncloader, audioclip, mesh-import-settings, texture-loader 文档
- rhi: 更新 opengl render-target-view 文档
- components: 新增 camera-component 全部方法文档 (15个文件)
2026-03-26 02:00:45 +08:00
f778c76325 fix(docs): update Shader header path and RHI source link for engine restructure 2026-03-26 02:00:14 +08:00
92939a85f8 fix(docs): update Material, Mesh, Texture header paths for engine restructure 2026-03-26 01:59:56 +08:00
b849e9edc1 docs: 更新 iresource 文档 2026-03-26 01:59:37 +08:00
5c3566774b docs: 更新 containers 和 threading 模块文档
- containers: 更新 string 类的多个方法文档
- threading: 更新 mutex 和 task-group 方法文档
2026-03-26 01:59:14 +08:00
8df04c120f docs: 更新 API 文档 - 多模块修复和完善
- audio: 更新 audio-system 方法文档
- components: 新增 audio-listener/audio-source 组件方法文档,新增 remove-component 方法
- core: 更新 filewriter, types 文档
- math: 更新 box 方法文档
- memory: 更新 proxy-allocator 文档
- resources: 更新 loader 和 texture 文档
- rhi: 更新 opengl 设备、shader、swap-chain 文档
- threading: 更新 mutex 和 task-system 文档
2026-03-26 01:58:45 +08:00
445876752c docs: 修复 containers 和 rhi 模块的头文件路径
- containers: 修正 Containers.h, Array.h, String.h, HashMap.h 的路径为 Core/Containers/
- rhi: 修正 D3D12 和 OpenGL 后端文档路径
2026-03-26 01:58:16 +08:00
52d5e98f62 refactor(docs): fix Resources module links and add new ResourceManager/ResourceHandle docs 2026-03-26 01:57:22 +08:00
56ee358b5c docs: 修复 RHI 模块中损坏的文档链接
修正 d3d12 和 opengl 后端文档路径引用
2026-03-26 01:57:12 +08:00
efe4f30d85 refactor(docs): fix Resources module paths and cross-references for engine restructure 2026-03-26 01:56:18 +08:00
4b7d05d22d refactor(docs): add AudioListenerComponent IsMute method doc 2026-03-26 01:55:48 +08:00
5047d56080 refactor(docs): add GameObject UUID methods and Component serialization methods 2026-03-26 01:55:34 +08:00
1326860e5d refactor(docs): fix Audio module documentation links and add missing getter docs 2026-03-26 01:54:45 +08:00
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