Skip to content

Lua API

Reference for every namespace exposed under the global smelt table. Rust-registered signatures come from the closure's argument and return types; bundled Lua signatures come from LuaCATS annotations beside the implementation.

Coverage: 85 namespace(s), 430 function(s), 100 class(es), 14 alias(es).

Supported identifies the primary alpha plugin facade. Advanced identifies lower-level composition primitives that may evolve more freely. These labels guide API design and documentation; the alpha surface is not compatibility-frozen. Internal runtime machinery is excluded from this reference and IDE completion.

IDE completion

Stubs land in runtime/lua/smelt/_meta/ (one file per namespace, plus _types.lua for shared records and aliases). Point lua-language-server at that directory - see runtime/.luarc.json for a working config.

Host namespaces

Available in every runtime, including headless mode.

UiHost namespaces

Requires a terminal UI; calling these from headless mode raises.

Mixed namespaces

Contains both Host and UiHost functions; per-function pages list the exact tier.

Types

  • Classes & aliases - typed opts records and string-literal unions referenced from the namespace pages.