Thanks for contributing! HJCD-IK is a batched GPU IK solver built on GRiD + GLASS.
- Read
CLAUDE.mdanddocs/development/agent_debugging_guide.md. - Initialize submodules:
git submodule update --init --recursive.
- Branch from
main; keep PRs focused. Short, single-line commit messages; noCo-Authored-Byfooter. - Changes that belong upstream (kinematics → GRiD, linear algebra → GLASS) should be PR'd to those repos rather than patched locally — keep HJCD-IK thin and the dependencies modular.
- Never hand-edit
csrc/generated/grid.cuh— it is GRiD codegen output. Regenerate viapython scripts/codegen/generate_grid.py <urdf> -t <target>and rebuild. - Keep math warp-scoped. The solver is warp-per-candidate; use warp primitives, not block-scoped ones.
- No regressions. Run
python benchmark/hjcd_ik_bench.py --skip-grid-codegenand compare to the committed baseline before/after kernel changes; isolate timing runs (no concurrent GPU load).
pytest tests/— regression (solved-rate / pos-ori error vs baseline) + FK-equivalence.- Docs:
cd docs && make all(Sphinx + Doxygen/Breathe).