Skip to content

☂️ Game engine: Issues of current Lua implementation #3153

Open
@olanti-p

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:
    1. https://github.com/congard/solgen Based on LLVM's libclang, under heavy development, produces bindings for sol2 which our Lua uses.
    2. http://lua-users.org/wiki/BindingCodeToLua - this page has many generators listed
  • 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

No one assigned

    Type

    No type

    Projects

    • Status

      Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions