featherstone 0.1.0

Robotics dynamics engine — O(n) forward/inverse dynamics for kinematic trees, contact solvers, and time integration
Documentation
# featherstone Documentation

## User Guides

- **[Getting Started]getting-started.md** — Build your first robot, set state, simulate
- **[Algorithms Guide]algorithms.md** — ABA, RNEA, CRBA explained with code
- **[Contact Dynamics]contacts.md** — Ground contacts, LCP solver, smooth contacts
- **[Integration Methods]integration.md** — Choosing the right integrator, split-phase API
- **[URDF Loading]urdf.md** — Load robots from URDF files
- **[API Patterns]api-patterns.md** — Common recipes: serial chains, floating base, control, FK

## API Reference

Full rustdoc: [docs.rs/featherstone](https://docs.rs/featherstone)

## Quick Reference

### Core types
- `ArticulatedBody` — kinematic tree of rigid bodies
- `GenJoint` — joint types (Revolute, Prismatic, Spherical, Floating, Planar, Fixed)
- `SpatialInertia` — 6x6 spatial inertia matrix
- `SpatialTransform` — coordinate frame transform

### Algorithms
- `aba_forward_dynamics(&mut body)` — O(n) forward dynamics
- `rnea_inverse_dynamics(&body)` — O(n) inverse dynamics
- `crba_mass_matrix(&body)` — mass matrix computation
- `gravity_compensation(&body)` — static torques
- `forward_kinematics(&body)` — world-frame transforms

### Simulation
- `step(&mut body, &config)` — one timestep
- `IntegrationMethod::SemiImplicitEuler` — default, symplectic
- `IntegrationMethod::RK4` — 4th-order, smooth dynamics

### Contacts
- `ground_plane_contacts(&body, height, normal, friction, restitution)` — detect contacts
- `solve_contact_lcp(&body, &constraints, dt, &config)` — rigid contact impulses
- `smooth_contact_forces(&body, &constraints, &config)` — differentiable contacts