Onboarding
Use the crate that fits the problem.
RustUse keeps adoption precise. Start with the smallest public crate that solves the job, then compose outward only when a broader entry point makes your codebase clearer.
RustUse organizes focused utility crates into composable sets. Each crate can stand alone, while each set forms part of a larger reef of reusable Rust utilities. The current public surface begins with the use-math set, including use-geometry, use-combinatorics, and the use-math facade crate.
Choose the crate that matches the work
Section titled “Choose the crate that matches the work”Choose the crate by the shape of the immediate problem. Add more surface area only when it makes the system easier to understand, not just broader.
- Start with
use-geometryfor direct 2D primitives, measurements, and related helpers. - Start with
use-combinatoricsfor counting, permutations, combinations, factorials, and other discrete helpers. - Start with
use-mathwhen you want one facade dependency that can expose curated functionality through features and a sharedprelude.
Install from the shared repository first
Section titled “Install from the shared repository first”The current public crates are scaffolded, so the shared use-math workspace repository is the clearest installation path while publication metadata remains staged.
[dependencies]use-geometry = { git = "https://github.com/RustUse/use-math", package = "use-geometry" }Switch the package name when you want a different crate from the same workspace.
[dependencies]use-combinatorics = { git = "https://github.com/RustUse/use-math", package = "use-combinatorics" }use-math = { git = "https://github.com/RustUse/use-math", package = "use-math" }Treat each crate README as the source of truth for versioning, feature flags, examples, and any crate-specific setup notes.
Read the docs in this order
Section titled “Read the docs in this order”Onboarding moves fastest when you go from scope, to API surface, to workspace context.
- Read the crate overview page to confirm what belongs in the crate.
- Open the crate API docs for the concrete modules, functions, and types you need.
- Use the workspace Rustdocs when you want to trace re-exports or browse the set as a whole.
- use-geometry crate page
- use-combinatorics crate page
- use-math crate page
- use-geometry API docs
- use-combinatorics API docs
- use-math API docs
- use-math workspace Rustdocs
Common adoption paths
Section titled “Common adoption paths”A few starting points map cleanly to the current surface.
- A rendering, layout, or CAD-adjacent tool usually starts with
use-geometry. - A scheduling, allocation, or enumeration-heavy tool usually starts with
use-combinatorics. - An application or library that wants one shared math dependency surface usually starts with
use-math.
What stays stable
Section titled “What stays stable”RustUse keeps the adoption path predictable even while the current crates remain scaffolded.
- The curated crate pages explain intended scope and role.
- The stable
/api/routes host the generated rustdocs. - External registry pages and
docs.rsstay secondary until publication is fully live.
Expand only when it helps
Section titled “Expand only when it helps”RustUse favors small crates over premature consolidation. Start with one dependency, confirm that it fits the problem, and compose outward only when an additional crate or facade layer makes the system clearer.