Serkyo
0d2e937acb
chore(workspace): track binary assets via Git LFS
2026-05-17 21:09:38 +02:00
Serkyo
f2977aab7b
docs(workspace): note open-asset philosophy and Git LFS tracking
2026-05-17 21:06:50 +02:00
Serkyo
cd7ab3a3c5
chore(workspace): add SPDX identifiers to source files
2026-05-17 21:06:39 +02:00
Serkyo
d205575659
chore(workspace): add license-header script
2026-05-17 21:06:24 +02:00
Serkyo
de17b143db
chore(workspace): declare license metadata in Cargo.toml
2026-05-17 21:06:13 +02:00
Serkyo
c97e7d2fac
chore(workspace): switch to AGPLv3 for code, CC-BY-NC-SA for assets
2026-05-17 21:01:04 +02:00
Serkyo
928f0103a4
docs(renderer): collapse multi-line comments and note construction leak
2026-05-16 20:30:01 +02:00
Serkyo
7399d554ec
docs(workspace): require comments stay on one line when possible
2026-05-16 20:29:51 +02:00
Serkyo
f968299f24
docs(workspace): clarify commit body policy
2026-05-16 19:45:53 +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
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
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
61a7fb0ed5
feat(client): implement face culling and voxel rendering
2026-05-16 19:04:27 +02:00
Serkyo
203cc2a671
feat(renderer): add dynamic mesh updates via buffer reallocation
2026-05-16 19:04:20 +02:00
Serkyo
ab01c8a033
feat(server): implement authoritative chunk tracking
2026-05-16 19:04:08 +02:00
Serkyo
72b9c9e885
feat(assets): add default worldgen data pack
2026-05-16 19:03:39 +02:00
Serkyo
4724e91281
feat(shared): define base voxel world types and procedural generation
2026-05-16 19:03:29 +02:00
Serkyo
38077c980d
feat(renderer): implement depth testing and indexed 3d rendering
2026-05-12 23:00:30 +02:00
Serkyo
32ef9ca4c6
chore(workspace): finalize clippy requirements and resolve all warnings
2026-05-12 19:03:39 +02:00
Serkyo
28a6b63611
docs(workspace): include Lua linting/formatting in agent guidelines
2026-05-12 18:57:47 +02:00
Serkyo
d30834e14f
chore(workspace): run cargo fmt
2026-05-12 18:53:56 +02:00
Serkyo
34f1a9d989
chore(workspace): enforce missing_docs and resolve all linting violations
2026-05-12 18:52:30 +02:00
Serkyo
6d4435f856
chore(workspace): Changed FUNDING.yml to target patreon
2026-05-12 17:20:02 +02:00
Serkyo
720f969a2c
docs(workspace): add multi-part license with Cryoforge Nexus as author
2026-05-12 15:55:06 +02:00
Serkyo
527e4976e4
fix(workspace): remove std from selene to avoid feature errors
2026-05-12 12:30:52 +02:00
Serkyo
9eff8ffb78
fix(workspace): change selene standard library to lua52
2026-05-12 12:20:33 +02:00
Serkyo
9e81ebb1bf
ci(workspace): use selene-light binary to disable roblox lints
2026-05-12 12:17:55 +02:00
Serkyo
eeb4118041
fix(workspace): correct selene config rule variant to deny
2026-05-12 12:12:06 +02:00
Serkyo
51683c08ac
ci(workspace): clean up lua CI logic and add placeholder scripts
2026-05-12 12:11:03 +02:00
Serkyo
f974112d2b
ci(workspace): add release workflow and fix lua CI scripts
2026-05-12 12:07:39 +02:00
Serkyo
3a6e51d017
docs(workspace): add branching strategy and CI guidelines
2026-05-12 11:47:04 +02:00
Serkyo
fd5d5e4e4b
chore(workspace): configure linters and format codebase
2026-05-12 11:43:17 +02:00
Serkyo
f483d4b981
chore(workspace): update funding links in FUNDING.yml
2026-05-12 10:28:05 +02:00
Serkyo
f989898a18
chore(workspace): add rtk rules for antigravity
2026-05-12 10:07:13 +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
cfb7b7c83c
docs(workspace): update project rules for formal documentation and struct field docstrings
2026-05-10 22:04:23 +02:00
Serkyo
17d06a0423
feat(renderer): add pipeline module for graphics pipeline creation
2026-05-10 22:02:43 +02:00
Serkyo
560b1e4d0f
feat(renderer): add mesh module with Vertex struct
2026-05-10 22:02:09 +02:00
Serkyo
5887b2a2a8
feat(assets): add cube vertex and fragment shaders
2026-05-10 22:00:40 +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
Serkyo
1805ae6aa6
feat(renderer): implement robust synchronized render loop
2026-05-09 21:33:57 +02:00
Serkyo
e005bf1c75
feat(renderer): create synchronization primitives
2026-05-09 21:03:34 +02:00
Serkyo
d0fa203743
feat(renderer): create command pool and buffer
2026-05-09 17:35:09 +02:00
Serkyo
65b43651bb
feat(renderer): create image views for swapchain images
2026-05-09 17:29:47 +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
76450da41f
feat(renderer): finalize swapchain initialization
...
Negotiated swapchain settings (format, present mode, extent), created the swapchain and its images, and ensured correct destruction order. Added comprehensive documentation for all new fields and methods.
2026-04-30 15:15:07 +02:00