• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Contributing to glam
2
3Thanks for contributing to `glam`! These guidelines will try to make the
4process painless and efficient.
5
6The short guide to contributing is [start a discussion] on GitHub.  Pull
7requests are welcome for bug fixes, documentation improvements and
8optimizations. For anything else it would be best to discuss it first.
9
10## Questions
11
12If you have a question about the usage of this library please [ask a question]
13with GitHub Discussions. That's the easiest way to get support right now.
14
15## Bugs
16
17If you find a bug please [open an issue] on GitHub or submit a pull request. A
18unit test for any bug that slipped through existing coverage would also be
19greatly appreciated.
20
21## New functions and methods
22
23If `glam` is missing functionality on existing types, [suggest a new feature]
24with GitHub Discussions describing what feature you would like added and
25ideally what your use case is for it just so I have a better understanding of
26the feature. I'd like to keep `glam` reasonably light functionality wise
27initially but commonly used functionality that is missing is very welcome. If
28you do submit a pull request please ensure any new functionality also has a
29test.
30
31## Optimizations
32
33If you feel some functionality could be optimized please [open an issue] on
34GitHub or submit a pull request. Any optimization pull request should include a
35benchmark if there isn't one already, so I can confirm the performance
36improvement.
37
38## Documentation
39
40If you feel any documentation could be added or improved please
41[open a GitHub issue] or submit a pull request.
42
43## Code contributions
44
45Most of `glam`'s source code is generated. See the [codegen README] on how
46to modify the code templates and generate new source code.
47
48You can run some of `glam`'s test suite locally by running the
49`build_and_test_features.sh` script. It's worth running that before creating a
50PR.
51
52Also run `cargo fmt` and `cargo clippy` on any new code.
53
54[start a discussion]: https://github.com/bitshifter/glam-rs/discussions/new
55[open an issue]: https://GitHub.com/bitshifter/glam-rs/issues/new
56[ask a question]: https://github.com/bitshifter/glam-rs/discussions/new?category=q-a
57[suggest a new feature]: https://github.com/bitshifter/glam-rs/discussions/new?category=ideas
58[ARCHITECTURE]: ARCHITECTURE.md
59[codegen README]: codegen/README.md
60