☂️ Game engine: Issues of current Lua implementation #3153
Open
Description
Lua is in, but there's still work left to do and issues to solve:
- It would be great to have automated bindings generator. Ideally it'd be cross-platform in order to support our many supported platforms, wouldn't require much setup from developers' and contributors' side, and would require as little manual intervention as possible. Possible candidates:
- https://github.com/congard/solgen Based on LLVM's
libclang
, under heavy development, produces bindings for sol2 which our Lua uses. - http://lua-users.org/wiki/BindingCodeToLua - this page has many generators listed
- https://github.com/congard/solgen Based on LLVM's
- We may want to consider migrating to LuaJIT in the future for performance reasons, this may break some things as LuaJIT aims to be compatible with Lua 5.1, while we have Lua 5.3
- There's always room for adding more bindings
- At the moment, Lua is optional and cannot be embedded into vital parts of the engine
- We'll have to monitor compile times of binding files as
sol2
is template-heavy code - Lua API versioning is done by a single integer, we may want to consider semver or something else in the future
- Would be nice if binding generator also produced documentation for the bindings, so we don't have to rely on template magic to extract signature info from values and functions
Metadata
Assignees
Type
Projects
Status
Todo