Add a tracker
- Create
crates/uify-<name>/ with Cargo.toml depending on
uify-core and nalgebra.
- Pick the geometric primitive
G and its covariance type C.
- Implement
uify_core::Tracker with Geometry = G, Covariance = C.
- Add property tests for the associated manifold (if any) in
crates/uify-core/tests/.
- Add a synthetic GT scene for the new tracker under
tests/synthetic/.
- Register the crate in the workspace
Cargo.toml and (if the CLAP
plugin should expose it) in uify-clap-plugin.
- Document at
docs/reference/trackers/<name>.mdx.
Add a camera backend
- Implement
uify_runtime::camera::Backend in a new module
uify-runtime/src/camera/<platform>.rs, feature-gated by
#[cfg(target_os = "...")].
- Deliver frames zero-copy where possible.
- Add platform-specific system dependencies to
nix/uify.nix.
- Document at
docs/development/platform.mdx.
Add an inference backend
- Add an execution provider to
uify-runtime::inference behind a
Cargo feature.
- Expose per-EP tolerances in the GT suite; do not compare numeric
outputs across backends with
==.
- Document at
docs/reference/runtime/inference.mdx.
Add a transport
- Create
crates/uify-transport-<name>/.
- Implement
Sink<G, C> for the relevant Gs.
- Document the wire schema at
docs/reference/transports/<name>.mdx.
Add a language binding
- Use
UniFFI for Swift / Kotlin, pyo3 for Python, wasm-bindgen for
web, napi-rs for Node.
- Regenerate the binding artifact in CI and attach to releases.
- Document at
docs/reference/ffi/<language>.mdx.