Contributing to BSDF
There are several ways that you can contribute to BSDF. From contributing bugs in the issue tracker, to providing fixes and improvements, or even contributing new implementations.
Organization of the code
Since BSDF is designed to be simple, implementations are usually restricted to a single module. The BSDF Gitlab repo contains implementations for several languages, organized in sub directories. This allows testing each implementation using a "test service", and ensures compatibility between the different implementations.
Development dependencies
The tooling around BSDF is implemented in Python. For development, you
need Python 3.x and the invoke library (pip install invoke
).
To run tasks such as tests, run invoke
from the root repo to get
started.
Workflow
To start contributing an enhancement or new implementation, please start by making an issue to start the discussion. The actual code will be contributed via pull requests.
It is expected that each implementation will be more or less maintained by its own group of contributors.
Code of conduct
BSDF does not have an official code of conduct yet, but let's just say that we expect respect from and towards all contributors, and will not tolerate discrimination or trolling.