|
| auto | name () -> std::string override |
| void | tick () override |
| auto | participatesIn (NodeOwnerParticipation) const noexcept -> bool override |
| | Determines if this owner is elegible for runtime systems.
|
| void | registerDependency (Node &from, Node &to) override |
| | Records a tick ordering constraint between two active nodes.
|
| void | unregisterDependency (Node &from, Node &to) override |
| void | registerInteraction (Node &first, Node &second) override |
| auto | findFrom (const Node &origin, std::string_view query) -> Box< Node > override |
| auto | findFrom (const Node &origin, const UID &uid) -> Box< Node > override |
| auto | searchFrom (const Node &origin, std::string_view query) -> std::vector< Box< Node > > override |
|
auto | dependencyGraphGraphviz () const -> std::string |
| virtual auto | asWorkspace () -> Workspace * |
| | Downcast helper for owners that need Workspace-specific state.
|
| virtual auto | receivesEvents () const noexcept -> bool |
|
void | syncListenerState () noexcept |
|
auto | isEditing () noexcept -> bool |
| | True for a Workspace open for editing: lifecycle callbacks still run there, but the game is not running.
|
|
auto | treeMutex () const noexcept -> std::shared_mutex & |
|
virtual void | nodeEnabledChanged (Node &node) noexcept |
|
void | activateCamera (Camera &camera) |
|
void | setMainCamera (Camera &camera) |
| | Like activateCamera(), but replaces whatever camera is currently active.
|
|
void | deactivateCamera (Camera &camera) |
|
void | activateCameraController (CameraController &controller) |
|
void | deactivateCameraController (CameraController &controller) |
|
auto | requestRuntimeCreate (Node &parent, std::string_view type) -> Box< Node > |
|
auto | requestRuntimeSpawn (Node &parent, UID uid) -> Box< Node > |
|
auto | requestRuntimeSpawn (Node &parent, std::string_view) -> Box< Node > |
|
void | reloadScriptsUsing (UID script_uid) noexcept |
|
void | refreshNodeInfos () noexcept |
|
void | rebindAssetHandles (UID asset_uid) noexcept |
|
| static void | loadNode (UID uid) |
| | Begins asynchronous loading of a prefab into the cache.
|
| static void | loadNode (std::string_view uri) |
| | Begins asynchronous loading of a prefab into the cache.
|
| static auto | setRoot (Node &node) -> Box< Node > |
| | Promotes a cached or global node to be the active world root.
|
| static auto | cacheNode (Node &node) -> Box< Node > |
| | Moves an active node back to the cached state, disabling it and calling its end() lifecycle.
|
| static void | destroyNode (Node &node) |
| | Schedules a cached node for destruction at the start of the next tick.
|
| static auto | findCached (std::string_view name) -> Box< Node > |
| | Linear search for a cached root node by display name.
|
| static auto | graphviz () -> std::string |
| | Serializes the current tick schedule as a Graphviz DOT string.
|
|
static void | hotReload () |
| | Refreshes the NodeInfo pointers on every live node after a game library hot reload.
|
| static void | hotReloadScripts (toast::UID script_uid) |
| | Recomputes the tick schedule after the script runtimes using the given script asset were rebuilt.
|
|
static void | reapOrphanedControlBoxes () noexcept |
|
|
virtual auto | owningPrefabUid () const -> UID |
|
void | seedPrefabContext (InstantiateContext &context, const Node *parent=nullptr) const |
| auto | nodeAllocation (std::string_view type="toast::Node") noexcept -> Box< Node > |
| | Allocates a Node and its ControlBox in one contiguous block.
|
| auto | nodeAllocation (const assets::Prefab::BasicNode &node_data, uint64_t script_group=0, bool build_scripts=true) noexcept -> Box< Node > |
| | Allocates a Node and initializes its name and type from a prefab data record.
|
|
void | buildLeaves (const assets::Handle< assets::Prefab > &file, uint64_t group, const std::vector< size_t > &leaf_slots, std::vector< Box< Node > > &slots) |
| auto | buildTree (std::vector< Box< Node > > &&nodes, const assets::Handle< assets::Prefab > &file) -> Box< Node > |
| | Assembles a flat list of allocated nodes into a parent/child tree.
|
| auto | instantiate (const assets::Handle< assets::Prefab > &file, InstantiateContext &ctx) -> Box< Node > |
| | Allocates and initializes a full node tree from a prefab asset.
|
|
void | applyFields (Node &node, const assets::Prefab::BasicNode &data) |
| | Copies reflected field values from the serialized BasicNode onto the live node; skips fields absent from NodeInfo.
|
|
void | applyLuaOverrides (Node &node, const assets::Prefab::BasicNode &data, const scripting::NodeResolver &find_node) |
| | Restores edited Lua script variables saved in the prefab.
|
|
void | releaseNode (_detail::ControlBox &control) noexcept |
| | Marks the ControlBox as dead and increments tombstones; does not free memory.
|
|
void | reapTombstones () noexcept |
| | Sweeps the nodes set and erases any ControlBox whose ref count is zero; short-circuits if tombstones == 0.
|
|
void | findCamera () |
|
void | findCameraController () |
|
void | tickActiveCameraController () |
|
void | beginCameraShutdown () noexcept |
|
auto | activeCamera () noexcept -> Box< Camera > & |
|
auto | activeRenderCamera () noexcept -> Camera * |
|
template<typename Fn> |
| void | forEachNode (Fn &&fn) const |
|
static void | updateTransforms (Node &root) |
|
static void | generateUid (Node &node) |
| | Assigns a fresh UID to the node; called on every spawned instance to avoid UID collisions.
|
|
static auto | stripNamespace (std::string_view type) -> std::string_view |
| | Removes the "toast::" namespace prefix from a type name; used to derive default display names.
|
|
static auto | uniqueChildName (const Node &parent, std::string_view base) -> std::string |
| | Appends " 2", " 3", etc. to base until the name is unique among the parent's existing children.
|
|
std::mutex | nodes_mutex |
|
size_t | tombstones = 0 |
| | short-circuits the reap sweep when there's nothing to clean
|
|
physics::Accumulator | m_accumulator |