♻️ bevy_vanth, vanth, vanth_derive, vanth_transport: Many changes in preparation for networking

- Created new crate `bevy_vanth` with basic plugin structure for Bevy integration.
- Refactored `Id` generation in `vanth` to use `OsRng` and removed redundant `to_u128_pair`/`from_u128_pair` methods.
- Moved networking functionality into new `net` module with `Node`, `Packet`, and `Message` types.
- Updated `vanth_derive` to use `proc-macro-crate` for reliable crate path resolution.
- Added `rand` dependency to replace custom ID generation logic.
- Updated `Cargo.toml`/`Cargo.lock` with new dependencies: `bevy_app`, `nix`, `cfg_aliases`, `proc-macro-crate`.
- Modified `README.md` with improved project description.
- Added commented clippy check in `flake.nix`.
- Added `smol`, `async-process`, and `async-trait` dependencies in root and `vanth` crate.
- Integrated `vanth` crate into `bevy_vanth` and added serde dependency.
- Reorganized test files into module structure for `cli` and `vanth` crates.
- Created new modules `compress` and `ecc` in `vanth`.
- Implemented `Node` with async `run` method and `Backend` trait for networking in `vanth`.
- Renamed `Memory` backend to `InMemoryStore` in `vanth` store module.
This commit is contained in:
Markus Scully 2025-08-17 11:56:34 +03:00
parent 5262a266c0
commit 5afe3b61fb
Signed by: mascully
GPG key ID: 93CA5814B698101C
34 changed files with 1887 additions and 483 deletions

View file

@ -0,0 +1,42 @@
use bevy_app::App;
use bevy_vanth::BevyPluginModule;
use serde::{Deserialize, Serialize};
use vanth::{Module, Vanth};
mod bevy_tests {
use bevy_app::Plugin;
use vanth::Root;
use super::*;
#[derive(Deserialize, Serialize, Vanth)]
struct TestData {
number: u32,
}
#[derive(Deserialize, Serialize, Vanth)]
struct TestTask {
a: TestData,
b: TestData,
}
#[derive(Deserialize, Serialize, Vanth)]
struct TestModule {}
impl Module for TestModule {
}
#[test]
fn test_bevy() {
let root = Root::local();
let module = TestModule {};
let module_bevy_plugin = bevy_vanth::creation_bevy_plugin(module);
let bevy_vanth_plugin = bevy_vanth::BevyVanthPlugin::from_root(root);
let mut app = App::new();
app.add_plugins(module_bevy_plugin);
// app.add_plugins(bevy_vanth_plugin);
}
}