Contributions are welcomed via pull requests on GitHub. Contact the fresnel developers before starting work to ensure it meshes well with the planned development direction and standards set for the project.
New features should be applicable to a variety of use-cases. The fresnel developers can assist you in designing flexible interfaces.
Expensive code paths should only execute when requested.
All pull requests should be based off of master
.
All changes in a pull request should be closely related. Multiple change sets that are loosely coupled should be proposed in separate pull requests.
All contributors must agree to the Contributor Agreement before their pull request can be merged.
The Code style section of the documentation sets the style guidelines for fresnel code.
Use C++ comments for classes, functions, etc… Also comment complex sections of code so that other developers can understand them.
Your changes should compile without warnings.
Add unit tests for all new functionality.
Document public-facing API with Python docstrings in Google style.
Update the credits documentation to list the name and affiliation of each individual that has contributed to the code.
Prepare a concise entry describing the change in CHANGELOG.rst
.