Thank you for your interest in contributing. We welcome issues and pull requests.
- Bug reports and feature ideas: Open an issue.
- Code changes: Open a pull request (PR) against
develop. Use a branch name that matches our CI (e.g.feature/your-feature,fix/fix-description,chore/your-change).
- Rust: In
server/rust, please run before pushing:cargo fmt --allcargo clippy --workspace --all-targets --all-features -- -D warningscargo test --workspace --all-features
- CI runs the same checks on push; keep the pipeline green.
- Point your PR at the
developbranch. - Ensure CI passes (Rust format, clippy, tests).
- Keep changes focused; link related issues where applicable.
By contributing, you agree that your contributions will be licensed under the same MIT License that covers this project.
- Rust (compute node): See server/rust/README.md. Copy
server/rust/.env.exampletoserver/rust/.envand configure for local DDS/DMS if needed. - Docker: From the repo root,
docker build -t splatter-server .then run with--env-file .env.
python3 run.py \
--domain_id {domain_id}
--job_id {job_id} \
--job_root_path {path/to/job/root} \
--log_level {log level}# Input Files
{job_root_path}
├── datasets
│ └── {dataset}
│ └── Frames.mp4
├── refined
│ └── global
│ └── refined_sfm_combined
│ ├── cameras.bin
│ ├── images.bin
│ └── points3D.bin# Output Files
{job_root_path}
├── Frames
│ ├── {images}
│ └── ...
├── refined
│ ├── nerfstudio-data
│ │ └── {converted nerfstudio data from colmap}
│ └── splatter
│ ├── splat.ply
│ ├── splat_rot.ply
│ ├── splat_rot.splat # this is what needs to be uploaded to dmt
│ └── splatfacto
│ └── {splat torch model}