vecmate

Crates.iovecmate
lib.rsvecmate
version0.2.3
created_at2025-10-27 14:07:31.261808+00
updated_at2025-10-29 16:53:42.718482+00
descriptionLightweight, zero-dependency, type-agnostic library for vector math.
homepage
repositoryhttps://github.com/Ztry8/VecMate
max_upload_size
id1902982
size14,313
AslanD (Ztry8)

documentation

https://docs.rs/vecmate/

README

VecMate

GitHub last commit crates.io docs.rs License

Lightweight, zero-dependency, type-agnostic library for vector math.

let mut position = consts::f32::ZERO;
let target = vec2(10.0, 5.0);
let speed = 2.0;

let direction = (target - position).normalize();
position += direction * speed;

println!("Moving towards {target}");
println!("New position: {position}");

Why?

I didn't find any simple libraries for vector mathematics, so I decided to write my own!
VecMate is focused on minimalism and clarity

Installation

Run in a project root:

cargo add vecmate

Or add it manually to your Cargo.toml:

[dependencies]
vecmate = "*"

Contributing

Any pull-requests and issues are welcome!
Please remember that one of the goals of the library is to be dependency-free,
Therefore, any proposals that contain dependencies will be rejected.
Please adhere to the architecture and style of the project.

TODO

  • More constants
  • More functions
  • 3D vectors
  • 4D vectors
Commit count: 0

cargo fmt