Conversation
- Add Types.hpp with u32, f64, usize and static_assert validations - Add Platform.hpp with CF_PLATFORM_WINDOWS/LINUX/MACOS macros - Add Compiler.hpp with CF_INLINE, CF_NORETURN, CF_BUILTIN_TRAP - Add Assertions.hpp with CF_ASSERT and CF_UNREACHABLE macros
- Add IAllocator interface with alloc/free/reset/usedMemory methods - Add LinearAllocator with O(1) alloc, reset() clears all - Add PoolAllocator with fixed-size slots, O(1) amortized - Add StackAllocator with markers for nested scopes
- Add Vector.hpp with cache-friendly dynamic array - Add HashMap.hpp with simple O(n) lookup - Add StringView.hpp for zero-copy string references - Add FixedString.hpp for stack-allocated strings - Add Vec2, Vec3, Vec4 for 2D/3D math - Add Mat4 with column-major matrix operations - Add Math.hpp with utility functions (lerp, clamp, etc)
- Add Caffeine.hpp as unified include for all modules - Add CMakeLists.txt with C++20 and test configuration - Add basic test.cpp with allocator verification - Update .gitignore with build artifacts
- Add test system design document to docs/plans/ - Define framework selection (Catch2) - Document file structure and CI integration
- g++-13 with C++20 - g++-12 with C++17 (no C++20 support) - Add explicit CMAKE_CXX_STANDARD to sanitize and coverage jobs
…lete - Destructor: handle null allocator with global delete - reserve(): use global ::operator new when m_allocator is null - Move assignment: handle null allocator with global delete This fixes the segfault when using Vector without passing an allocator.
- Math.hpp: isPowerOfTwo(0) should return false (not true) - test_allocators.cpp: StackAllocator test expects 128 not 96 after realloc - Mat4.hpp: transformPoint was using wrong Vec4 member access (x/y/z/w vs row indexing) The transformPoint bug was using result.x/y/z/w but Vec4 has members not array access.
- Add comprehensive test summary documenting KISS, RHI, ECS, DOD, YAGNI, Lock-free, Archetype, Draw Call, Batch Rendering, SIMD, Cache Locality, Swapchain principles - Document test coverage and fixes applied during development
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Branch: feature/fase-1-test-system
Summary:
Test Coverage:
CI Status: Ready for GitHub Actions validation