API reference
Import the root once with local traceless = require("traceless"). Signatures use [...] for optional arguments and ... for variadic values. number is a Lua number, integer is an integer-valued number, and none means no returned values. Unless stated otherwise, invalid required argument types raise a Lua error. Check each function's unavailable result: there is no single failure convention for every module.
Entity methods use entity:method(...); references and IDs are not interchangeable. Live entity methods revalidate the handle and normally return nil, reason for missing or stale objects. Returned tables and vectors are independent snapshots; their contents are editable in Lua but editing them does not update native state.
Start with the root module, events, and UI. Use entity types, callback objects, and returned structures for the values passed between modules.
The reference describes the audited v2 implementation. Older compatibility functions left in the C++ source but not registered in Lua are not public APIs. See the runtime guide for supported built-ins and the source revision.