Commit graph

48 commits

Author SHA1 Message Date
Serkyo 213a113fc9 chore(server): raise the max load radius to 24 2026-08-05 02:09:38 +02:00
Serkyo e6c55cfd6a perf(server): budget per-tick chunk delivery 2026-08-02 22:58:31 +02:00
Serkyo d33fb518fa refactor(server): format the simulation statistics as a panel 2026-08-02 04:36:12 +02:00
Serkyo 4153a0e9a0 refactor(server): rate-limit the chunk streaming logging 2026-08-02 03:07:33 +02:00
Serkyo 7e5fae7e44 feat(server): report simulation statistics to the log 2026-08-02 03:01:15 +02:00
Serkyo e4913dfd09 feat(server): report tick and world statistics 2026-08-01 02:05:44 +02:00
Serkyo c33643027c fix(server): sleep the remainder of the tick period
The simulation loop slept a flat 50 ms after the tick body, so the real period was the tick's work plus 50 ms and drifted with load; the advertised 20 Hz was never the rate actually achieved. The loop now timestamps the top of the tick and sleeps only the unused remainder of the budget, reporting an overrun instead of sleeping when the body exceeds it.
2026-07-30 22:29:43 +02:00
Serkyo 95c798954c perf(server): generate chunk baselines outside the cache lock 2026-07-28 00:22:37 +02:00
Serkyo 9dc7bba3a9 feat(server): stream chunks to clients for their subscribed region 2026-07-22 00:01:57 +02:00
Serkyo 25b088ce0b refactor(server): move region files to 3D (rx, ry, rz) grid 2026-07-21 22:13:58 +02:00
Serkyo e941415836 feat(server): accept QUIC client connections 2026-07-14 01:38:58 +02:00
Serkyo 7b3908dd7f test(workspace): relocate all tests into per-crate src/tests via #[path] 2026-07-14 00:42:42 +02:00
Serkyo 092d546c52 docs(workspace): standardize function doc sections and enforce # Errors 2026-07-13 21:09:27 +02:00
Serkyo 343ea7605b chore(server): add reasons to expect attributes 2026-07-13 00:39:49 +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 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 1db124e63b feat(server): add atomic region-file durability layer 2026-07-09 15:14:24 +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 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 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 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 5659469e17 chore(workspace): fix formatting and clippy warnings 2026-05-16 19:05:53 +02:00
Serkyo ab01c8a033 feat(server): implement authoritative chunk tracking 2026-05-16 19:04:08 +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 a2488d8015 Initial workspace structure 2026-04-28 00:02:00 +02:00