Serkyo
89887c5b98
feat(renderer): expose per-frame draw statistics
2026-07-30 23:31:18 +02:00
Serkyo
324d1b144d
feat(renderer): compose render modes from raster passes
2026-07-27 21:36:14 +02:00
Serkyo
5f4b30a4dc
feat(renderer): add selectable debug render modes
2026-07-27 21:10:26 +02:00
Serkyo
d8d6635f37
refactor(renderer): rename mesh module to vertex
2026-07-23 02:49:14 +02:00
Serkyo
a20d98a107
feat(renderer): cull chunk meshes outside the view frustum
2026-07-22 05:17:41 +02:00
Serkyo
fd6ec10ce5
fix(renderer): recreate swapchain on resize and out-of-date present
2026-07-16 02:54:23 +02:00
Serkyo
dd8a969828
feat(renderer): render keyed collection of chunk meshes with per-chunk offset
2026-07-16 00:05:30 +02:00
Serkyo
092d546c52
docs(workspace): standardize function doc sections and enforce # Errors
2026-07-13 21:09:27 +02:00
Serkyo
6b3ae06031
chore(renderer): add reasons to expect attributes
2026-07-13 00:39:49 +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
cd7ab3a3c5
chore(workspace): add SPDX identifiers to source files
2026-05-17 21:06:39 +02:00
Serkyo
928f0103a4
docs(renderer): collapse multi-line comments and note construction leak
2026-05-16 20:30:01 +02:00
Serkyo
f04912df70
fix(renderer): plug shader-module and stale-handle leaks
...
create_graphics_pipeline now destroys its shader modules on the error
path as well, and update_mesh nulls the buffer handles after destroying
them so a later Drop or retry cannot redestroy freed buffers.
2026-05-16 19:43:16 +02:00
Serkyo
19f79080b1
fix(renderer): correct resource teardown ordering in Drop
...
Replace ptr::read-based field consumption with Option<T> + take() for
sync primitives, GPU allocations, and the allocator itself. The prior
pattern left bitwise-duplicated values in the original fields, so Rust's
automatic field drop after Drop::drop returned freed the same heap
buffers (Vec backings inside SyncPrimitives) and Allocations twice.
The allocator is now explicitly dropped before destroy_device so its
own Drop impl, which releases vk::DeviceMemory blocks, runs while the
logical device is still valid. Swapchain image views are also now
destroyed before the swapchain, as required by the Vulkan spec.
2026-05-16 19:28:47 +02:00
Serkyo
5659469e17
chore(workspace): fix formatting and clippy warnings
2026-05-16 19:05:53 +02:00
Serkyo
203cc2a671
feat(renderer): add dynamic mesh updates via buffer reallocation
2026-05-16 19:04:20 +02:00
Serkyo
38077c980d
feat(renderer): implement depth testing and indexed 3d rendering
2026-05-12 23:00:30 +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
e6f8414817
feat(renderer): implement vertex buffer allocation and memory mapping
2026-05-11 00:04:42 +02:00
Serkyo
8af89292b6
feat(renderer): integrate graphics pipeline and initialize gpu allocator with centralized frames in flight
2026-05-10 22:56:14 +02:00
Serkyo
c7fc5de690
docs(renderer): add detailed docstrings for all struct fields and logic
2026-05-10 22:16:53 +02:00
Serkyo
1c3eb69cbf
fix(renderer): align synchronization with working save and force FIFO
2026-05-09 21:49:40 +02:00
Serkyo
3997fa5fd9
refactor(renderer): modularize crate and enable vulkan 1.3 features
2026-05-09 21:43:30 +02:00