Commit graph

165 commits

Author SHA1 Message Date
Serkyo 92764f6f2d feat(renderer): implement logical device creation
Created the logical device handle, enabled Vulkan 1.3 features (dynamic rendering, synchronization2), and retrieved the graphics queue. Added documentation for the new fields and helpers.
2026-04-30 14:19:16 +02:00
Serkyo 7034a24498 feat(renderer): implement physical device selection
Added logic to enumerate and score physical devices, preferring discrete GPUs. Added NoSuitableGpu error variant and documentation for the selection process.
2026-04-30 13:46:46 +02:00
Serkyo edcde4ffd1 feat(renderer): wire vulkan debug messenger to tracing
Implemented the Vulkan debug callback to intercept internal driver warnings and validation layer errors, converting them into tracing logs. Resolved unused assignment and unsafe pointer 2024 edition warnings. Added doc comments for the Renderer and its initialization logic.
2026-04-30 12:26:38 +02:00
Serkyo e20126fea5 docs(workspace): require useful comments before committing
Updated the Verify-then-commit loop to mandate that function doc comments and important inline comments are present before any code is committed to the repository.
2026-04-30 12:10:12 +02:00
Serkyo 83dde5a794 feat(renderer): enable vulkan validation layers in debug builds
Configured InstanceCreateInfo to request the VK_LAYER_KHRONOS_validation layer and the VK_EXT_debug_utils extension when compiling in debug mode. This lays the foundation for wiring Vulkan debug callbacks to tracing.
2026-04-30 11:33:07 +02:00
Serkyo 9ceefc6654 feat(client): initialize renderer and extract vulkan extensions
Added ash-window dependency to bridge winit and Vulkan. Extracted raw display handle in the event loop and queried required Vulkan extensions to pass down to the renderer initialization.
2026-04-30 01:38:24 +02:00
Serkyo d60ccd7918 feat(renderer): implement base Vulkan instance initialization
Added ash and thiserror dependencies to the renderer crate. Defined RendererError for typed Vulkan failure handling. Implemented the Renderer struct with basic Vulkan Entry and Instance creation.
2026-04-30 01:29:04 +02:00
Serkyo 1979308cbb docs(workspace): add verify-then-commit loop to agent guides 2026-04-30 01:12:50 +02:00
Serkyo 9e56bccb05 feat(client): implement main event loop and tracing initialization
Added winit event loop with ControlFlow::Poll for continuous rendering, and initialized tracing-subscriber for standardized logging. Also integrated anyhow for robust error handling in the client binary.
2026-04-30 01:02:42 +02:00
Serkyo fdf39ceaa3 docs(workspace): copied CLAUDE.md into a generic AGENTS.md 2026-04-28 18:31:21 +02:00
Serkyo 648024f494 docs(workspace): expand CLAUDE.md with project conventions 2026-04-28 01:37:14 +02:00
Serkyo bdc8d2a79b Added CLAUDE.md to help on the project 2026-04-28 01:17:39 +02:00
Serkyo c92592600e Added an empty window using winit 2026-04-28 01:17:27 +02:00
Serkyo a2488d8015 Initial workspace structure 2026-04-28 00:02:00 +02:00
Serkyo 16c1fd93c0 Initial commit 2026-04-27 23:53:41 +02:00