- 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
- 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
Fixed the following issues:
- command-list.md: Shutdown linked to threading/task-system instead of local shutdown.md
- fence.md: Wait linked to threading/task-group instead of local wait.md
- factory/create-rhi-device-string.md: Claimed Vulkan/Metal support but source doesn't support them
- opengl/buffer/buffer.md: GetType linked to command-queue/get-type (wrong type)
- d3d12/device/device.md: Initialize/Shutdown linked to threading/task-system
- d3d12/command-list/command-list.md: Initialize/Shutdown/Reset/Close/Clear linked to wrong docs
- d3d12/texture/texture.md: Initialize/Shutdown linked to threading/task-system
- opengl/command-list/command-list.md: Shutdown linked to threading/task-system
- opengl/device/device.md: GetNativeHandle incorrectly linked to get-window.md
All links validated with fix_links.py - no broken references remaining.
- Create overview page for FileLogSink (filelogsink/filelogsink.md)
- Create constructor page for FileLogSink (filelogsink/construct.md)
- Create overview page for ConsoleLogSink (consolelogsink/overview.md)
- Fix self-referencing links in FileLogSink and ConsoleLogSink constructor pages
The constructor pages were incorrectly linking to themselves as 'overview' pages.
Created proper overview pages that list all public methods and link to their
individual documentation pages.
- Created docs/api/memory/pool-allocator/~pool-allocator.md documenting the destructor
- Created docs/api/memory/proxy-allocator/~proxy-allocator.md documenting the destructor
- Added ~ProxyAllocator entry to proxy-allocator.md overview table
- Verified link validation passes (no broken references)
- Removed broken [FileWriter](FileWriter.md) link from 方法列表 section since the constructor is already documented on the main page and FileWriter.md doesn't exist (file is named filewriter.md)
Also includes link fixes from fix_links.py:
- Fixed relative paths in containers documentation
Added documentation for undocumented classes:
- ResourcePath: Path manipulation and GUID conversion utilities
- FileArchive: Archive file reading support
- ResourcePackage/ResourcePackageBuilder: Resource packaging system
Updated resources.md overview to include new documentation modules
and added ImportSettings and ResourceFileSystem to core components.
- Vector4.md: Add index mapping (0=x, 1=y, 2=z, 3=w) to operator[] description
- Transform.md: Add proper '运算符' subsection header for operator* documentation
Found and fixed missing operator documentation:
- Vector4: operator[] index mapping was undocumented
- Transform: operator* was listed without proper section header
Fixed the following issues in XCEngine Core module documentation:
- Added 'using namespace XCEngine::Core;' to all code examples that use
Core types (Event, FileWriter, etc.) without full namespace qualification
- Added missing '#include <XCEngine/Containers/String.h>' to FileWriter
examples that use Containers::String
- Added '#include <string>' to Flush.md example using std::to_string
Affected files:
- core/core.md: Added using directive and Containers include
- event/*.md: Added using namespace to all 8 event doc files
- filewriter/*.md: Added using namespace and proper includes to all 6 files
- Remove Size() from String docs (does not exist in source, use Length())
- Remove broken links to operator+ and operator==/!= (inline functions)
- Fix string.md to correctly reference Length/Capacity/Empty instead of Size
- Add proper documentation for inline operators in string.md
- Changed include path in debug.md from Logger.h to Debug.h (umbrella header)
- Added XE_ASSERT example in debug.md usage section
- Added documentation for Profiler private types (ProfileNode, ProfileSample)
- Added documentation for Profiler member variables (m_profileStack, m_samples, m_frameStartTime, m_initialized)
- Verified MarkEvent, SetMarker, ExportChromeTracing are correctly marked as stubs
- Add missing MakeResourceGUID helper function to resourcetypes.md
- Add note about GetResourceType<T>() template specializations
- Merge duplicate '缓存控制' section into '内存管理' in resourcecache.md
- Verify all methods documented match source code implementations
Fixed documentation to match:
- ResourceTypes.h: MakeResourceGUID function now documented
- ResourceCache.h: OnZeroRefCount and Clear methods now properly listed
- AsyncLoader.md: Removed duplicate progress query section
- Updated box.md to clarify that Box uses OBB semantics for Contains
but currently uses AABB for Intersects(Box)
- Updated intersects-box.md to document that it uses AABB algorithm
instead of SAT, since the current implementation ignores transform
- Added notes explaining the current limitations of the Box implementation
- Add missing PoolAllocator class overview with methods table
- Add missing LinearAllocator class overview with methods table
- Add missing ProxyAllocator class overview with methods table
- Fix PoolAllocator::Allocate example code and comments
- Clarify ProxyAllocator::Free totalFreed calculation behavior
- Fix CreateLinearAllocator complexity from O(size) to O(1)
- Add note about Reallocate thread safety in ProxyAllocator
- Fix XE_LOG macro parameter order in debug.md (category, level) was reversed
- Add 'Implementation Status' section to profiler.md listing stub methods
(MarkEvent, SetMarker, ExportChromeTracing) that are not yet implemented