You want to contribute to LÖVR? That's awesome!
GitHub issues are used for reporting bugs and requesting new features or improvements. Questions about using LÖVR should go in Matrix or Discord.
Documentation improvements are very much appreciated! All of the documentation pages have a handy "Edit" button in the upper right which can be used to suggest changes. These are submitted as pull requests to the lovr-docs repo, which contains all the guides, examples, and API pages. Documentation changes can also be suggested using a lovr-docs GitHub issue or in chat.
To contribute patches to the C code, you can fork LÖVR, commit to a branch, and submit a pull
request. The target branch for the patch should be master
for patch-level fixes, and dev
for
new functionality or API changes. Note that contributions to the repository will be released under
the terms in the LICENSE. For larger changes, it is a good idea to engage in initial discussion via
issues or Matrix/Discord before submitting. Try to stick to the existing coding style:
Texture* texture
.if (data == NULL) return;
.while (condition) {
.An overview of the folder structure:
deps
contains submodules for external dependencies.etc
is a sort of "junk drawer" containing shaders, icons, scripts, etc.src/api
contains Lua bindings. There's a file for each module and object.src/core
contains shared engine code. It's usually lower-level and not specific to LÖVR.src/lib
contains smaller third party libraries.src/modules
has a folder for each module.test
contains unit tests, used to catch bugs introduced by changes. Run them with lovr test
.Branches other than dev and stable may be force-pushed during development to keep history clean.