Commit graph

44 commits

Author SHA1 Message Date
Serkyo 7ab2488778 chore(client): raise the load radius to 16 2026-08-05 02:04:12 +02:00
Serkyo 51b6b1e5e8 feat(renderer): fade distant geometry into the sky colour 2026-08-05 01:29:06 +02:00
Serkyo 3f1640ce09 fix(client): default the log filter when RUST_LOG is unset 2026-08-02 03:18:49 +02:00
Serkyo cc6b0cada6 refactor(client): drop chunk logging superseded by the statistics panel 2026-08-02 02:29:41 +02:00
Serkyo c3d757f8dc docs(client): document the raster chord key constants 2026-08-02 01:59:02 +02:00
Serkyo 15a3c74bec feat(client): report debug statistics to the terminal 2026-08-02 01:43:27 +02:00
Serkyo d445a29e5e feat(client): add a stackable stats overlay toggle 2026-08-02 00:44:10 +02:00
Serkyo 17e7b465ce feat(client): accumulate frame and host statistics 2026-08-01 23:18:52 +02:00
Serkyo 0c7785d869 feat(client): expose chunk streaming statistics 2026-07-31 01:26:39 +02:00
Serkyo 1d041e035e feat(client): add a solo modifier for debug view chords 2026-07-27 21:36:14 +02:00
Serkyo 5c10aefee9 feat(client): add debug controls for toggling render modes 2026-07-27 21:14:22 +02:00
Serkyo a5af42f119 feat(client): mesh chunks on a background worker pool 2026-07-26 20:19:59 +02:00
Serkyo dae0bafcd3 refactor(client): abstract chunk mesh upload behind a MeshSink trait 2026-07-26 20:19:27 +02:00
Serkyo 5e1b4de98b test(client): relocate chunk streaming tests into src/tests 2026-07-23 03:45:21 +02:00
Serkyo 79543002b1 feat(client): retain chunk voxels and re-mesh neighbours on load and drop 2026-07-23 03:40:16 +02:00
Serkyo d2f4beb5af refactor(client): mesh chunks via the renderer and drop the client copy 2026-07-23 02:49:14 +02:00
Serkyo f465cfeeaf fix(net): bound chunk delivery channel to apply backpressure 2026-07-22 05:27:01 +02:00
Serkyo d01f45ec18 chore(client): modified the radius of chunk generated from 4 to 8 2026-07-22 03:29:40 +02:00
Serkyo 0a2049bbc9 feat(client): render server-streamed chunks around the camera 2026-07-22 00:17:18 +02:00
Serkyo fd6ec10ce5 fix(renderer): recreate swapchain on resize and out-of-date present 2026-07-16 02:54:23 +02:00
Serkyo 2bf140cf02 feat(client): stream local chunk meshes around camera 2026-07-16 02:24:27 +02:00
Serkyo 60fe2fc294 feat(client): upload origin chunk via renderer insert_mesh 2026-07-16 00:05:30 +02:00
Serkyo 7620c3b54e feat(client): connect to server and complete handshake 2026-07-14 01:38:58 +02:00
Serkyo 8a5c662e10 chore(client): add reasons to expect attributes 2026-07-13 00:39:49 +02:00
Serkyo 0fedd1b30b chore(workspace): refactored the way some comments were written across the repository 2026-07-10 17:38:07 +02:00
Serkyo e940cf560e chore(workspace): centralize shared deps and unify glam to 0.33 2026-07-08 15:05:55 +02:00
Serkyo 8045c3cae3 refactor(workspace): use #[expect] over #[allow] for lint suppressions 2026-07-07 01:28:56 +02:00
Serkyo ea6fbf1624 feat(client): add free-fly camera with wasd and mouse-look 2026-07-06 00:20:57 +02:00
Serkyo 102c75a514 refactor(workspace): rename project codename from Catalyst to Synvael 2026-06-27 22:57:08 +02:00
Serkyo cd7ab3a3c5 chore(workspace): add SPDX identifiers to source files 2026-05-17 21:06:39 +02:00
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 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