Skip to content

Latest commit

 

History

History
103 lines (73 loc) · 3.42 KB

File metadata and controls

103 lines (73 loc) · 3.42 KB

Contributing to Teres

We welcome contributions to Teres! This guide will help you get started.

Development Setup

Requirements

VapourSynth plugins

  1. Download the latest release or build the project.
  2. Install Python
  3. Install FFmpeg and add it to PATH
  4. Install the 64-bit version of VapourSynth
  5. Install the required VapourSynth plugins using the command "vsrepo.py install ffms2 havsfunc"
  6. Install vs-frameblender manually by downloading the x64 .dll from here to "VapourSynth/plugins64"
  7. 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"
  8. Install weighting.py and filldrops.py to "%appdata%/Roaming/Python/Python{your python version}/site-packages"

Building from Source

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 test

Documentation Environment

For working on documentation:

# Install Jekyll dependencies
bundle install

# Serve documentation locally
bundle exec jekyll serve

See jekyll docs for more information.

Development Guidelines

Code Style

Commit Messages

  • Use conventional commit format: type(scope): description
  • Examples: feat: add new blur weighting function, fix: resolve memory leak in interpolation

Pull Requests

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-new-feature
  3. Make your changes and test thoroughly
  4. Run cargo fmt and cargo clippy
  5. Commit your changes with clear messages
  6. Push to your fork and submit a pull request

Testing

  • Add tests for new functionality
  • Ensure all tests pass: cargo test
  • Test on multiple platforms if possible

Reporting Issues

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 -v flag for verbose logs)

Getting Help