Plan: Add cuda_mppi as git submodule
Status: Completed
Overview
Extract the CUDA MPPI implementation from src/cuda_mppi/ into a separate git repository and integrate it as a submodule at third_party/cuda_mppi.
Decisions Made
- New repository:
riccardo-enr/cuda_mppi - Submodule path:
third_party/cuda_mppi - Feature branch:
feat/cuda-mppi-submodule - Track branch:
main(in submodule)
Implementation Steps
1. Create New cuda_mppi Repository
2. Initialize cuda_mppi Repository
-
- CMakeLists.txt (standalone build)
- README.md (usage and build instructions)
- LICENSE (MIT, matching main project)
- .gitignore
3. Create Feature Branch in jax_mppi
4. Add Submodule to jax_mppi
5. Update Build System
-
- Change
add_subdirectory(src/cuda_mppi)toadd_subdirectory(third_party/cuda_mppi)
- Change
-
- Python source files
- CMake files
- Documentation
6. Test Build
7. Update Documentation
-
# Clone with submodules git clone --recursive https://github.com/riccardo-enr/jax_mppi.git # Or if already cloned git submodule update --init --recursive
8. Create Pull Request
Rollback Plan
If issues arise, we can:
- Remove submodule:
git submodule deinit -f third_party/cuda_mppi - Delete from git:
git rm -f third_party/cuda_mppi - Remove from .gitmodules
- Restore original src/cuda_mppi from git history