Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 4.95 KB

CONTRIBUTING.md

File metadata and controls

37 lines (28 loc) · 4.95 KB

Thanks for contributing to TTK!

Please find below a few guidelines that we invite you to consider before making a pull request.

1. Authorship

2. Code formatting

  • To make TTK's source code more homogeneous and readable, we use clang-format. A style file is already available in TTK's source tree. Before creating a new pull request, please make sure that you clang-formatted your local repository by entering the following command at the top of TTK's source tree: $ clang-format -i -style=file core/*/*/*h core/*/*/*cpp core/*/*/*inl standalone/*/*/*cpp

  • To make your life even easier, we recommend that you setup a clang-format pre-commit hook, which will automatically run clang-format on any of your commits to your local repository. For this, we recommend to use scripts such as this one.

3. Continuous integration

  • TTK uses some basic continuous integration, which consists in testing for build success under Linux, Windows and MacOs (with Azure) upon each commit or pull request. Your pull request will not be merged if it fails these tests.
  • To make your life easier, we recommend that you sign up for this (free) service and that you connect your TTK github fork to it. This will run the build tests upon each of your commits to your local TTK repository.

4. Submitting a new module

  • Before submitting a new module, we invite you to read our Guidelines for Developing a New TTK Module.
  • Prepare your pull-request to the dev branch of TTK). Before submitting it, please make sure that your fork is in sync with the latest version of TTK's source tree (typically by entering a command like git pull ttk-public dev, where ttk-public is the name of your remote pointing to TTK's public source tree).
  • Please submit a pull-request with an example to the dev branch of ttk-data:
    • Provide a ParaView state file (*.pvsm) in the states/ directory which runs your new module. This example will be used to both test and demo your module.
    • Provide new data sets if needed. For new data sets, please update the README file to include the corresponding references.
    • Make sure to remove all absolute paths from the state file example generated by ParaView (with a text editor). The state files are supposed to be run with ParaView from the root directory of ttk-data (see TTK's tutorial page for examples).
  • Please submit a pull-request to topology-tool-kit.github.io:
    • For this, generate a screenshot for the above ParaView state file example. Please include on the left of your screenshot a terminal with TTK's output (see examples on TTK's gallery page). Please use a dark color theme if possible.
    • Place that screenshot in img/gallery/
  • Prepare, if possible, a video tutorial, similar to those available on TTK's tutorial page. In this video, you should:
    • Open a terminal and load your state file demo to explain what it does and what it shows.
    • Re-open ParaView and re-create your state file pipeline from scratch (to show people how to put things together)

From our experience, video tutorials are essential to attract users towards new features. So if you want people to use your new module, you want to prepare a video tutorial. There are several excellent software packages for video editing (for instance kdenlive)