This repository contains the documentation for LÖVR.
There are four main types of documentation here:
- The
apifolder contains a Lua table with metadata for all LÖVR functions and objects.- Each function, object, module, etc. has a Lua file that exports its metadata.
api/init.luacontains a single Lua table with all the aggregated documentation.- This data is used to generate the documentation on the website, but there are also scripts to generate type definitions for other tools, like LuaLS and TypeScriptToLua.
- Run
lovr apito regenerateinit.lua - Run
lovr api catsto generate CATS definitions (output toapi/cats). - Run
lovr api typescriptto generate TypeScriptToLua definitions (output toapi/typescript). - The individual generator scripts are located at
api/generators.
- The
examplesfolder contains small LÖVR projects demonstrating a specific task/technique. They aim to be minimal and easy to understand/copy.- The ones listed in the
init.luafile are shown on the website.
- The ones listed in the
- The
showcasefolder contains full LÖVR projects that implement entire games or demos. The code is less important for these and it is more about the end result.- The ones listed in the
init.luafile are shown on the website. - Also, each showcase project may contain its own
init.luawith metadata about the project. Currently, this can contain anauthortable withnameandlinkstrings.
- The ones listed in the
- The
guidesfolder contains markdown files that explain LÖVR-related concepts in depth.- Similarly,
init.luacontains a manifest used to populate the sidebar on the website.
- Similarly,
Note that each release of LÖVR has its own branch. Cherry picks are used to propagate fixes to relevant branches as needed. Which will totally scale.
All the code in the example/showcase projects is released under CC0. However, the models, textures, sounds, and other assets used may use different licensing, so be sure to double check those.