Developer Guide¶
Documentation for developers contributing to or extending tesseract_robotics.
Migration from SWIG¶
These bindings use nanobind instead of SWIG. Key differences are documented in Migration Notes.
Building from Source¶
See Installation for build instructions.
Architecture¶
graph TD
subgraph "C++ Libraries"
A[tesseract_environment]
B[tesseract_kinematics]
C[tesseract_collision]
D[tesseract_planning]
end
subgraph "nanobind Modules"
E[tesseract_environment]
F[tesseract_kinematics]
G[tesseract_collision]
H[tesseract_motion_planners]
end
subgraph "Python API"
I[tesseract_robotics.planning]
J[Robot, Planner, Composer]
end
A --> E
B --> F
C --> G
D --> H
E --> I
F --> I
G --> I
H --> I
I --> J
Cross-Module Type Resolution¶
nanobind maintains separate type registries per module. When a function accepts a type from another module, special handling is needed. See Migration Notes.
Contributing¶
- Fork the repository
- Create a feature branch
- Run tests:
pytest -n auto - Submit a pull request