Commit graph

201 commits

Author SHA1 Message Date
Serkyo 9001cc6f98 feat(server): generate chunks on worker pool 2026-07-07 22:21:32 +02:00
Serkyo 45c3351d7d docs(workspace): add adr for split-coordinate entity positions 2026-07-07 20:06:09 +02:00
Serkyo 4399e88412 chore(assets): recompile cube shader spir-v 2026-07-07 19:01:16 +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 2cd3932c8d docs(workspace): document lint-suppression policy 2026-07-07 01:28:57 +02:00
Serkyo 8045c3cae3 refactor(workspace): use #[expect] over #[allow] for lint suppressions 2026-07-07 01:28:56 +02:00
Serkyo 645ba6d301 docs(workspace): add testing policy to AGENTS.md 2026-07-07 01:17:35 +02:00
Serkyo d3c75a4454 feat(shared): add ChunkPos::from_world world-to-chunk conversion 2026-07-07 01:17:35 +02:00
Serkyo e8585bc852 chore(workspace): ignore tokensave state and machine-local files 2026-07-06 00:23:26 +02:00
Serkyo ea6fbf1624 feat(client): add free-fly camera with wasd and mouse-look 2026-07-06 00:20:57 +02:00
Serkyo eb7a297f3e docs(workspace): replace unicode ellipsis with ascii in docs 2026-06-28 03:33:07 +02:00
Serkyo f7abc1bb10 docs(workspace): fix comma splice in license asset note 2026-06-28 03:29:49 +02:00
Serkyo 4d462ac3d5 chore(workspace): remove remaining em-dashes from gitattributes and tooling 2026-06-28 03:29:49 +02:00
Serkyo 9daf95a503 docs(workspace): replace em-dashes with plain punctuation across docs 2026-06-28 03:19:59 +02:00
Serkyo ed280e656b docs(workspace): move coordinate-system rendering notes to docs/rendering.md 2026-06-28 00:51:32 +02:00
Serkyo 4b5fa4345e docs(workspace): move data/resource pack design to docs/packs.md 2026-06-28 00:50:10 +02:00
Serkyo 0416aa35ca docs(workspace): backfill architecture decision records 0002-0006 2026-06-28 00:46:47 +02:00
Serkyo 1b8dcdced3 docs(workspace): scrub minecraft comparisons from public docs 2026-06-28 00:36:58 +02:00
Serkyo e7f0a215db docs(workspace): scaffold docs/ tree with ADRs and documentation map 2026-06-27 23:48:00 +02:00
Serkyo d3572eeef8 chore(workspace): gitignore CLAUDE.local.md 2026-06-27 23:25:47 +02:00
Serkyo 77f5f78c1e docs(workspace): consolidate agent docs into public AGENTS.md 2026-06-27 23:25:47 +02:00
Serkyo 3787be97c4 chore(workspace): gitignore serena mcp tooling state 2026-06-27 23:01:58 +02:00
Serkyo f7a17c022d chore(workspace): remove antigravity rtk agent rules 2026-06-27 23:00:07 +02:00
Serkyo a73a36829d chore(workspace): gitignore graphify-out knowledge-graph artifacts 2026-06-27 22:58:52 +02:00
Serkyo 168acf4300 docs(workspace): require graph refresh after large features 2026-06-27 22:58:27 +02:00
Serkyo 48d4224a80 docs(workspace): add mandatory header and companion design vault guidance 2026-06-27 22:58:08 +02:00
Serkyo 102c75a514 refactor(workspace): rename project codename from Catalyst to Synvael 2026-06-27 22:57:08 +02:00
Serkyo 09bce1abf4 chore(workspace): drop duplicate spv rule added by lfs migrate 2026-05-17 21:41:04 +02:00
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