Toast Engine
Loading...
Searching...
No Matches
script_runtime.hpp File Reference

Per-node Lua script execution environment. More...

#include <any>
#include <atomic>
#include <cstdint>
#include <lua.hpp>
#include <luabridge3/LuaBridge/LuaBridge.h>
#include <memory>
#include <optional>
#include <set>
#include <span>
#include <string>
#include <string_view>
#include <toast/assets/script.hpp>
#include <toast/export.hpp>
#include <toast/reflect/reflect_node.hpp>
#include <toast/scripting/lua_signal.hpp>
#include <toast/scripting/node_proxy.hpp>
#include <toast/scripting/script_context.hpp>
#include <toast/scripting/script_schema.hpp>
#include <toast/world/box.hpp>
#include <unordered_map>
#include <vector>
Include dependency graph for script_runtime.hpp:

Go to the source code of this file.

Classes

struct  scripting::ScriptBinding
 Shared between a ScriptInstance and the closures installed in its self table; the closures never see a dangling instance. More...
class  scripting::ScriptInstance
class  scripting::ScriptRuntime

Functions

auto scripting::nodeOfSelfTable (const luabridge::LuaRef &table) -> NodeProxy
 The node a script self table belongs to; empty when the table is not the self table of a live script instance.

Detailed Description

Per-node Lua script execution environment.

Author
Xein
Date
10 Jul 2026

Everything in here that touches Lua happens while the calling thread owns the interpreter the runtime lives on Calls that arrive while it is busy on another thread are queued in ScriptDispatch