Onboarding
Guide for contributors and users on architecture, workflow, and day-to-day development.
For New Contributors
1. Development Setup
Follow the setup instructions in README based on your platform (macOS, Linux, or Windows).
2. Architecture Overview
- Local CPU Processing: Image tiling and stitching using C/C++ with OpenCV or stb_image
- GPU Acceleration: CUDA (Linux/Windows) or Metal (macOS) for upscaling
- Python Orchestration: Pipeline coordination and testing
3. Development Workflow
- Fork and clone the repository
- Create a feature branch from
main - Implement changes following commit standards
- Run the full test suite (
./scripts/run.sh) - Open a pull request with a clear description
4. Important Files
CMakeLists.txt: Build configurationsrc/preprocess.c: CPU image preprocessingcloud_gpu/upscale.cu: CUDA upscalingsrc/metal/Upscale.metal: Metal shaderscripts/e2e.py: End-to-end testing
5. Testing Requirements
- Unit tests (
ctest) - Integration tests (
pytest) - Cross-platform builds (macOS, Linux, Windows)
- Docker-based isolation tests
For Users
./scripts/setup.sh ./scripts/run.sh
Compatibility
For supported platforms, toolchain versions, and dependency policy, see the dedicated Compatibility guide.