Commit graph

9 commits

Author SHA1 Message Date
94105daca1
♻️🧪 vanth: Add From impl, make struct public, refactor tests
- Implemented `From<Value>` for `HashedValue`
- Made `ReferenceRetrievalTask` struct public
- Removed extraneous space in `#[derive]` attribute for `ReferenceValue`
- Consolidated integration tests into `tests/integration` directory
- Added new `test_derive` function with debug output
- Deleted obsolete test files: `main.rs`, `store.rs`, and `test_node.rs`
2025-08-05 11:40:56 +03:00
8b76fcb659
♻️💩 cli, vanth, Cargo.toml, Cargo.lock: Add CLI framework and refactor vanth crate structure
- Added a new `vanth_cli` crate with `clap` command structure for `vanth fs open/save` commands.
- Removed `main.rs` from `vanth` crate as it is now a library without a binary target.
- Added `fs.rs` module and new structs `HashedValue`, `Value`, `Ty` with `Vanth` trait to support serialization.
- Updated `Cargo.toml` to include `clap` as a workspace dependency and added `vanth_cli` as a new crate.
- Added multiple dependencies (`anstream`, `anstyle`, `clap`, `heck`, etc.) in `Cargo.lock` to support the CLI.
- Created placeholder test files `tests/fs/mod.rs` and `tests/main.rs` in `vanth` crate for future use.
- Marked CLI command implementations with TODOs as functionality is not yet implemented.
2025-08-04 21:36:25 +03:00
45a68865b6
♻️🍱💩👷 crates/vanth, project: Refactor entity system and setup; migrate to Nix flakes
- Add `.cargo/config.toml` with target directory and rustflags configuration.
- Remove devenv files and set up Nix flake configuration with `flake.nix` and `flake.lock`.
- Add dependencies on `blake3`, `digest`, and hashing-related crates for content hashing functionality.
- Implement `EntityId` as hashed representation and `ContentHash` component using Blake3.
- Add `hashing_serializer` module for serializing and hashing components.
- Remove unused `parser` module and restructure lib.rs with new `Reference` type and storage interfaces.
- Add test files for `store` and `reference` functionality with TODOs for implementation.
- Introduce `VanthPlugin` skeleton and entity save/load interfaces with placeholder implementations.
- Add `Reference` type with retrieval state machine and async handling stubs.
2025-08-04 21:03:15 +03:00
be75844fdd
vanth, workspace: Add entity ID system and serialization dependencies
- Added new modules `entity` and `store` to `vanth` crate for ECS foundations
- Implemented generic `Id` type with serialization/deserialization support
- Introduced `serde` and `serde_json` dependencies in workspace and vanth crate
- Defined `Vanth` struct and `ContentHash` component in `lib.rs`
- Added placeholder `Store` component in new module
- Updated workspace configuration with `resolver = "3"` and dependency versions
2025-07-23 10:40:23 +03:00
93e114a23a
Implement entity_count and remove the todo macro
The `entity_count` method in the `Node` struct now correctly returns the
number of entities in the world by querying for all entities. I've removed
the `todo!()` macro which was preventing proper compilation and execution.
2025-07-13 23:39:58 +03:00
11a87bcf5e
Move to crates 2025-07-13 00:21:46 +03:00
ccad41ab9e
Refactor: Convert project to a Bevy-based workspace and node
This commit refactors the Vanth project to utilize a `Cargo.toml` workspace,
encapsulating the core logic within a `vanth` library crate. The existing
`src` files are moved into the new `vanth/src` directory.

The primary change is the integration of the Bevy game engine as the
underlying framework for the Vanth node, shifting from the previous
`whirlwind` dependency. This transition is reflected in `Cargo.toml`
updates, adding `bevy_app` and `bevy_ecs` as dependencies and removing
`whirlwind`.

A new test file `vanth/tests/test_node.rs` is introduced to cover the
initial functionality of the `Node` struct. The `LICENSE` year range is
also updated.

This refactoring sets the stage for Vanth's evolution into a distributed
ECS-based database model, leveraging Bevy's robust ECS capabilities.
2025-07-12 22:59:41 +03:00
5bd3a07a61
Add object override idea 2024-11-14 23:41:13 +00:00
f7d089e64d
Init commit 2024-11-14 23:24:15 +00:00