We welcome contributions to Teres! This guide will help you get started.
- Download the latest release or build the project.
- Install Python
- Install FFmpeg and add it to PATH
- Install the 64-bit version of VapourSynth
- Install the required VapourSynth plugins using the command "vsrepo.py install ffms2 havsfunc"
- Install vs-frameblender manually by downloading the x64 .dll from here to "VapourSynth/plugins64"
- Install SVPflow v4.2.0.142 manually by downloading the zip from here and moving the files inside "lib-windows/vapoursynth/x64" to "VapourSynth/plugins64"
- Install weighting.py and filldrops.py to "%appdata%/Roaming/Python/Python{your python version}/site-packages"
After installing the requirements above:
# Clone the repository
git clone https://github.com/animafps/teres.git
cd teres
# Build the project
cargo build --release
# Run tests
cargo testFor working on documentation:
# Install Jekyll dependencies
bundle install
# Serve documentation locally
bundle exec jekyll serveSee jekyll docs for more information.
- Format code with
cargo fmtbefore submitting - Run
cargo clippyto check for common mistakes - Follow Rust API Guidelines
- Follow CLI guidelines from https://clig.dev
- Use conventional commit format:
type(scope): description - Examples:
feat: add new blur weighting function,fix: resolve memory leak in interpolation
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-new-feature - Make your changes and test thoroughly
- Run
cargo fmtandcargo clippy - Commit your changes with clear messages
- Push to your fork and submit a pull request
- Add tests for new functionality
- Ensure all tests pass:
cargo test - Test on multiple platforms if possible
When reporting bugs, please include:
- Teres version (
teres --version) - Operating system and version
- Steps to reproduce the issue
- Expected vs actual behavior
- Log output (use
-vflag for verbose logs)
- Join our Discord server
- Check existing GitHub issues
- Read the documentation