Commit graph

15 commits

Author SHA1 Message Date
Serkyo 4130ebf5f9 fix(client): drop renderer before window on shutdown
Reorder the fields of App so renderer is declared before window. Rust
drops struct fields in declaration order, and the renderer owns a
Vulkan surface tied to the window's display-server handle; tearing the
window down first leaves the surface dangling when Renderer::drop runs.
2026-05-16 19:28:54 +02:00
Serkyo 5659469e17 chore(workspace): fix formatting and clippy warnings 2026-05-16 19:05:53 +02:00
Serkyo 61a7fb0ed5 feat(client): implement face culling and voxel rendering 2026-05-16 19:04:27 +02:00
Serkyo 32ef9ca4c6 chore(workspace): finalize clippy requirements and resolve all warnings 2026-05-12 19:03:39 +02:00
Serkyo 34f1a9d989 chore(workspace): enforce missing_docs and resolve all linting violations 2026-05-12 18:52:30 +02:00
Serkyo fd5d5e4e4b chore(workspace): configure linters and format codebase 2026-05-12 11:43:17 +02:00
Serkyo 1c3eb69cbf fix(renderer): align synchronization with working save and force FIFO 2026-05-09 21:49:40 +02:00
Serkyo 1805ae6aa6 feat(renderer): implement robust synchronized render loop 2026-05-09 21:33:57 +02:00
Serkyo 636c44b29f fix(renderer): handle u32::MAX swapchain extent
Fixed a crash where the renderer would attempt to create a swapchain with u32::MAX dimensions when the OS didn't provide a preferred extent. Updated Renderer::new to accept window dimensions and use them as a fallback. Also renamed InstanceCreateFailed to VulkanError for better generality.
2026-04-30 15:17:38 +02:00
Serkyo 347f868af1 feat(renderer): update new() to accept window handles
Updated the Renderer constructor to accept RawDisplayHandle and RawWindowHandle, and updated the client to pass these handles during resumption. This is a prerequisite for surface creation.
2026-04-30 14:48:03 +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 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 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