Thank you for considering contributing the 3D Tiles loader.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into the loader itself.
HINT: Check the Roadmap section in the README, as well as //TODO
comments within the code hinting at pending tasks.
- Use Typescript and proper typings for all of the code that you write.
- Create a test for any new feature.
- Write typedoc comments for new information.
- Ensure cross-browser compatibility for every change. Refer to the
browserslist
field in package.json for target browsers. - Keep feature versions as small as possible, preferably one new feature per version.
- Refer to CODE_OF_CONDUCT.md
Build instructions are available in the main README. To contribute, follow these steps:
-
Create your own fork of the code
-
Do the changes in your fork (don't forget to write tests and generate documentation!).
-
If you like the change and think the project could use it. Send a pull request. Thank you!
If you find a security vulnerability, do NOT open an issue. Please report the vulnerability to the person or team maintaining the code. (refer to SECURITY.md).
When filing an issue, make sure to answer these five questions:
- What version of Three.js you are using?
- What browser and operating system are you using? What graphics card?
- What did you do?
- What did you expect to see?
- What did you see instead?
If you find yourself wishing for a feature that doesn't exist in the 3D tiles loader, you are probably not alone. There are bound to be others out there with similar needs. Open an issue on our issues list on GitHub which describes the feature you would like to see, why you need it, and how it should work.
Thank you for contributing!