Serkyo
41ba2e5d5c
feat(shared): add network control-protocol message types
2026-07-12 13:33:36 +02:00
Serkyo
ae33251c70
Merge branch 'dev' into feat/networking-foundation
...
# Conflicts:
# Cargo.lock
2026-07-12 01:04:16 +02:00
Serkyo
fef3d1d549
chore(net): removed redundant licence-file
2026-07-12 01:02:33 +02:00
Serkyo
eb696385b4
Merge branch 'dev' of github.com:Cryoforge-Nexus/Synvael into dev
2026-07-12 00:48:03 +02:00
Serkyo
81c578ad0a
chore(workspace): removed redundant license-file
2026-07-12 00:46:25 +02:00
Serkyo
eefc9a2a5a
docs(workspace): unwrap pre-wrapped module doc comments
2026-07-12 00:41:34 +02:00
Serkyo
2891ff1feb
refactor(workspace): centralize serde/postcard/thiserror pins and use concise dep inheritance
2026-07-12 00:41:34 +02:00
Serkyo
f0d2269e8f
chore(workspace): scaffold net crate for QUIC transport
2026-07-12 00:28:45 +02:00
Serkyo
82cb8513be
chore(workspace): inherit license-file and normalize package key order
2026-07-11 23:52:20 +02:00
Serkyo
8a0a28765c
chore(server): changed test import to be generic
2026-07-11 22:47:20 +02:00
Serkyo
c54eeb2216
feat(server): add dirty-chunk write-back on unload
2026-07-11 21:44:35 +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
955d62bfcf
feat(server): add LRU chunk cache
2026-07-10 13:23:58 +02:00
Serkyo
e0dfcde529
feat(server): add chunk loading pipeline
2026-07-10 13:01:21 +02:00
Serkyo
fa99b6dcea
docs(server): note whole-file rewrite deviation from save spec
2026-07-10 01:15:44 +02:00
Serkyo
085f496898
chore(workspace): removed leftover mod.rs files
2026-07-10 00:26:59 +02:00
Serkyo
54d2f522cc
refactor(server): migrate mod.rs modules to path-style files
2026-07-09 19:47:00 +02:00
Serkyo
b6687dc82b
refactor(shared): migrate mod.rs modules to path-style files
2026-07-09 19:47:00 +02:00
Serkyo
1db124e63b
feat(server): add atomic region-file durability layer
2026-07-09 15:14:24 +02:00
Serkyo
a4f2bb32bc
style(shared): apply rustfmt to save module
2026-07-09 15:00:28 +02:00
Serkyo
8c8c70e990
fix(shared): correct SYNR framing order and widen worldgen version
2026-07-09 14:59:18 +02:00
Serkyo
de6f7dd722
feat(shared): add SYNR region index framing
2026-07-09 00:20:34 +02:00
Serkyo
b676755633
feat(shared): add SYNC per-chunk record encoding
2026-07-08 16:21:54 +02:00
Serkyo
7ce3bb8577
refactor(server): propagate config-load errors via anyhow
2026-07-08 15:14:45 +02:00
Serkyo
e940cf560e
chore(workspace): centralize shared deps and unify glam to 0.33
2026-07-08 15:05:55 +02:00
Serkyo
9a3224d102
feat(shared): add sparse baseline-relative ChunkData
2026-07-08 14:16:02 +02:00
Serkyo
b196dc3152
refactor(shared): split world module into per-concept files
2026-07-08 02:37:19 +02:00
Serkyo
3a3ecc13e2
feat(shared): add palette-compressed chunk representation
2026-07-08 02:16:18 +02:00
Serkyo
12390d3008
refactor(server): drop unused synchronous get_chunk path
2026-07-07 22:47:07 +02:00
Serkyo
ca39d36a81
feat(server): gate startup on initial region streaming
2026-07-07 22:29:50 +02:00
Serkyo
19fdec44d1
test(server): cover async reconcile convergence and eviction race
2026-07-07 22:27:00 +02:00
Serkyo
9001cc6f98
feat(server): generate chunks on worker pool
2026-07-07 22:21:32 +02:00
Serkyo
44511cde75
feat(server): stream chunks around a player entity via ECS
2026-07-07 18:53:24 +02:00
Serkyo
9b4cfccd43
refactor(server): pass EntityPos to load_around
2026-07-07 18:14:52 +02:00
Serkyo
bf55c91e91
feat(shared): derive serde on EntityPos
2026-07-07 18:14:52 +02:00
Serkyo
d0ddc31801
feat(shared): add EntityPos split-coordinate entity position
2026-07-07 18:07:15 +02:00
Serkyo
3b802a542f
perf(server): parallelize chunk generation in load_around
2026-07-07 17:17:54 +02:00
Serkyo
6bd8e5d3ba
feat(server): generate a cylinder of chunks around a center point
2026-07-07 01:47:46 +02:00
Serkyo
8045c3cae3
refactor(workspace): use #[expect] over #[allow] for lint suppressions
2026-07-07 01:28:56 +02:00
Serkyo
d3c75a4454
feat(shared): add ChunkPos::from_world world-to-chunk conversion
2026-07-07 01:17:35 +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
de17b143db
chore(workspace): declare license metadata in Cargo.toml
2026-05-17 21:06:13 +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
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