scenix v0.3.0
Install
[dependencies]
scenix = "0.3.0"
Highlights
- New
scenix-mesh crate for renderer-agnostic CPU geometry.
- Built-in primitive generators for boxes, spheres, planes, cylinders, cones, capsules, torus meshes, torus knots, icospheres, circles, rings, lathe surfaces, extrusions, tubes, and 2D shapes.
- Geometry utilities for validation, face-weighted normals, tangent generation, bounds, indexed merging, morph targets, instanced meshes, and batched meshes.
- The facade crate now enables the
mesh feature by default alongside scene.
Crates published to crates.io
| Crate |
Version |
Description |
scenix-math |
0.3.0 |
Custom no_std 3D math primitives |
scenix-core |
0.3.0 |
Shared IDs, colors, errors, and traits |
scenix-input |
0.3.0 |
Platform-agnostic input state types |
scenix-scene |
0.3.0 |
GPU-free scene graph and traversal APIs |
scenix-mesh |
0.3.0 |
CPU-side geometry, primitive generation, instancing, and batching |
scenix |
0.3.0 |
Facade crate for scenix Geometry APIs |
Geometry example
use scenix::{MaterialId, Mesh, SceneNode, sphere_geometry};
let geometry = sphere_geometry(1.0, 32, 16);
let material = MaterialId::new(1);
let mesh = Mesh::new(geometry, material);
let node = SceneNode::mesh("planet", scenix::MeshId::new(1), material);
assert!(!mesh.geometry.positions.is_empty());
assert!(matches!(node.kind, scenix::NodeKind::Mesh { .. }));
Verification
cargo test --workspace --all-features
cargo test -p scenix-math -p scenix-core -p scenix-input -p scenix-scene -p scenix-mesh --no-default-features
cargo clippy --workspace --all-features -- -D warnings
cargo fmt --check
cargo doc --workspace --all-features --no-deps
cargo publish --dry-run for every crate before publish