Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Olympe Namespace Reference

< Provides AssetID and INVALID_ASSET_ID More...

Namespaces

namespace  AI
 
namespace  AnimationHelpers
 
namespace  anonymous_namespace{ConditionPresetEditDialog.cpp}
 
namespace  anonymous_namespace{LocalBlackboard.cpp}
 
namespace  anonymous_namespace{MinimapWidget.cpp}
 
namespace  anonymous_namespace{NodeSearchPanel.cpp}
 
namespace  anonymous_namespace{NodeValidator.cpp}
 
namespace  Blueprint
 
namespace  Editor
 
namespace  Examples
 
namespace  NodeGraph
 
namespace  NodeGraphShared
 
namespace  Rendering
 
namespace  SystemColors
 
namespace  Tiled
 

Classes

struct  ActionParameter
 Represents a single parameter of an action task. More...
 
class  ActionParametersPanel
 ImGui sub-panel for editing action node parameters. More...
 
class  AddConnectionCommand
 Records an "add exec connection" operation for undo/redo. More...
 
class  AddDataConnectionCommand
 Records an "add data connection" operation for undo/redo. More...
 
class  AddDynamicPinCommand
 Records "add dynamic exec-out pin" on a VSSequence or VSSwitch node for undo/redo. More...
 
class  AddNodeCommand
 Command to add a node to the tree. More...
 
struct  AnimationBank
 Collection of animations for an entity with multi-spritesheet support. More...
 
class  AnimationEditorWindow
 Main animation editor window. More...
 
struct  AnimationFrame
 Represents a single frame in an animation (DEPRECATED - use SpritesheetInfo + frame ranges) More...
 
struct  AnimationGraph
 Animation state machine (FSM) for managing transitions. More...
 
class  AnimationGraphEditorPlugin
 
struct  AnimationSequence
 Defines a complete animation sequence. More...
 
struct  AnimationState
 Single state in FSM. More...
 
class  AssetBrowser
 
struct  AssetFilter
 
class  AssetInfoPanel
 
class  AssetManager
 Singleton cache for engine assets. More...
 
struct  AssetMetadata
 
struct  AssetNode
 
class  AsyncJSONLoader
 Loads and parses a JSON file on a background thread. More...
 
struct  AtomicTaskContext
 Lightweight context bundle passed to IAtomicTask::ExecuteWithContext(). More...
 
class  AtomicTaskRegistry
 Singleton registry mapping task IDs to factory functions. More...
 
class  AtomicTaskUIRegistry
 Singleton registry mapping task IDs to TaskSpec metadata. More...
 
class  BBVariableRegistry
 Non-singleton registry populated from the active TaskGraphTemplate. More...
 
class  BehaviorTreeDebugWindow
 Main debug window for behavior tree runtime visualization. More...
 
class  BehaviorTreeEditorPlugin
 
class  BehaviorTreeExecutor
 Executes a BehaviorTree and collects trace information. More...
 
class  BehaviorTreeFilePickerModal
 ImGui modal dialog for selecting BehaviorTree .bt.json files. More...
 
class  BehaviorTreeGraphAdapter
 Converts BehaviorTree structures to generic TaskGraphTemplate format for simulation. More...
 
class  BehaviorTreeRenderer
 Adapts the BTNodeGraphManager + NodeGraphPanel to IGraphRenderer. More...
 
struct  BezierPoints
 Four cubic Bezier control points (P0..P3). More...
 
struct  BlackboardEntry
 Single entry in the graph's declared blackboard schema (local or global). More...
 
struct  BlackboardValidationResult
 Result of blackboard key validation (Phase 26). More...
 
struct  BlackboardVariablePreset
 Metadata for a single blackboard variable preset entry. More...
 
class  BlackboardVariablePresetRegistry
 Singleton registry for global blackboard variable presets. More...
 
class  BlueprintEditor
 BlueprintEditor Singleton Backend Manages all business logic, state, and data for the Blueprint Editor Completely separated from UI rendering (handled by BlueprintEditorGUI) More...
 
class  BlueprintEditorGUI
 BlueprintEditorGUI - Frontend UI for Blueprint Editor Renders ImGui interface and interacts with BlueprintEditor backend Contains NO business logic - all data operations go through backend. More...
 
class  BlueprintEditorPlugin
 BlueprintEditorPlugin - Base interface for blueprint type plugins Each plugin handles a specific blueprint type with custom rendering and validation. More...
 
class  BlueprintMigrator
 BlueprintMigrator - Converts v1 blueprints to v2 format Handles automatic position calculation and structure migration. More...
 
struct  BlueprintTemplate
 BlueprintTemplate - Template metadata and data Stores a complete blueprint that can be reused as a template. More...
 
class  BlueprintValidator
 BlueprintValidator - Validates node graphs against catalogs Ensures type safety and parameter consistency Also provides JSON schema validation and normalization. More...
 
struct  BreakpointInfo
 Describes a single breakpoint. More...
 
struct  BreakpointKey
 Uniquely identifies a breakpoint by graphID + nodeID. More...
 
class  BTAddNodeCommand
 Command to add a node to the tree. More...
 
class  BTCommandStack
 Manages undo/redo stacks for editor commands. More...
 
class  BTConnectNodesCommand
 Command to connect two nodes. More...
 
class  BTDeleteNodeCommand
 Command to delete a node from the tree. More...
 
class  BTDisconnectNodesCommand
 Command to disconnect two nodes. More...
 
class  BTEditorCommand
 Base class for all editor commands. More...
 
class  BTEditParameterCommand
 Command to edit a node parameter. More...
 
class  BTGraphLayoutEngine
 Computes clean hierarchical layouts for behavior trees. More...
 
class  BTMoveNodeCommand
 Command to move a node. More...
 
struct  BTNodeLayout
 Layout information for a single behavior tree node. More...
 
class  BTNodePropertyPanel
 UI panel for editing BehaviorTree node properties. More...
 
class  BTtoVSMigrator
 Converts a BT v2 JSON object to a TaskGraphTemplate (VS v4). More...
 
class  CanvasGridRenderer
 Shared utility for rendering grid backgrounds on any canvas editor. More...
 
class  CanvasMinimapRenderer
 Unified minimap renderer for standardized appearance. More...
 
struct  CatalogParameter
 
struct  CatalogType
 
struct  ClipboardNode
 Serializable node data for copy/paste operations. More...
 
class  CommandHistory
 Manages undo/redo stacks for graph operations. More...
 
class  CommentManager
 Singleton that owns all GraphComment instances for the active graph. More...
 
struct  ComponentData
 
struct  ComponentNode
 
class  ComponentNodeRenderer
 
struct  ComponentNodeStyle
 
class  ComponentPalettePanel
 
struct  ComponentPropertyInfo
 
struct  ComponentSchema
 
struct  ComponentType
 
struct  Condition
 Describes a single condition expression for Branch/While nodes. More...
 
class  ConditionEvaluator
 Stateless evaluator for structured Condition expressions. More...
 
struct  ConditionParamSpec
 Describes one parameter of a condition (e.g. More...
 
struct  ConditionPreset
 A globally-stored, reusable condition expression. More...
 
class  ConditionPresetEditDialog
 Modal dialog for creating or editing a single ConditionPreset. More...
 
class  ConditionPresetEvaluator
 Evaluates a ConditionPreset against a RuntimeEnvironment. More...
 
class  ConditionPresetLibraryPanel
 ImGui panel for creating, editing, duplicating, and deleting global condition presets. More...
 
class  ConditionPresetRegistry
 Manages the global pool of ConditionPreset objects. More...
 
struct  ConditionRef
 Stores the complete reference for one condition including operand-to-DynamicDataPin mapping. More...
 
class  ConditionRegistry
 Singleton registry of available condition types. More...
 
struct  ConditionSpec
 Full metadata for a single condition type. More...
 
class  ConnectionCache
 Singleton cache mapping connection IDs to Bezier control points. More...
 
class  ConnectNodesCommand
 Command to connect two nodes. More...
 
class  CopyNodesCommand
 Command to copy selected nodes to clipboard. More...
 
class  CustomCanvasEditor
 
struct  DataPinConnection
 Explicit connection between an output data pin of a source node and an input data pin of a target node. More...
 
struct  DataPinDefinition
 Describes a data pin declared on a Visual Script node. More...
 
struct  DataPinEvaluationResult
 Result of a single data pin evaluation attempt. More...
 
class  DataPinEvaluator
 Evaluates data pin networks using stack-based depth-first recursion. More...
 
class  DebugController
 Singleton that manages runtime debugging of VS graphs. More...
 
class  DebugPanel
 ImGui panel that exposes DebugController UI. More...
 
class  DeleteLinkCommand
 Records a "delete link" operation for undo/redo. More...
 
class  DeleteNodeCommand
 Command to delete a node from the tree. More...
 
class  DisconnectNodesCommand
 Command to disconnect two nodes. More...
 
class  DuplicateNodeCommand
 Command to duplicate selected nodes (copy + paste in one action) More...
 
struct  DynamicDataPin
 A data-input pin created dynamically for a Pin-mode operand. More...
 
class  DynamicDataPinManager
 Generates, tracks, and invalidates DynamicDataPin objects for a node. More...
 
class  EditNodePropertiesCommand
 Records a batch edit of all parameter bindings on a node. More...
 
class  EditNodePropertyCommand
 Records a property edit on a single node for undo/redo. More...
 
class  EditorAutosaveManager
 
struct  EditorCapabilities
 EditorCapabilities - Defines what operations are enabled Used to gate UI elements and functionality. More...
 
class  EditorConfigManager
 
class  EditorContext
 EditorContext - Singleton managing editor mode and capabilities Provides global access to current editor configuration. More...
 
struct  EditorContext_st
 
struct  EditorMetadata
 
struct  EditorPreferences
 
struct  EditorTab
 Represents a single open graph in the editor. More...
 
class  EditParameterCommand
 Command to edit a node parameter. More...
 
class  EntitiesPanel
 EntitiesPanel - ImGui panel for entity list Shows all runtime entities from the World ECS. More...
 
class  EntityBlackboard
 
struct  EntityDebugInfo
 Cached debug information for a single entity. More...
 
struct  EntityInfo
 
class  EntityInspectorManager
 EntityInspectorManager - Manages runtime entity tracking and inspection Singleton that maintains a synchronized list of all entities in the world. More...
 
struct  EntityPrefab
 
class  EntityPrefabEditorPlugin
 
class  EntityPrefabGraphDocument
 
class  EntityPrefabRenderer
 Renderer adapter for Entity Prefab graphs. More...
 
struct  EnumCatalog
 
class  EnumCatalogManager
 EnumCatalogManager - Singleton manager for enum catalogs Loads and manages dynamic type definitions for the node editor. More...
 
struct  ExecPinConnection
 Explicit connection between a named exec-out pin of a source node and the exec-in pin of a target node. More...
 
struct  ExecutionEvent
 A single event recorded during graph execution trace. More...
 
struct  ExecutionLogEntry
 Single entry in the execution log. More...
 
class  ExecutionTestPanel
 ImGui panel for blueprint execution testing and validation. More...
 
struct  ExecutionToken
 Represents a single execution point in graph simulation (Phase 24). More...
 
class  FilePickerModal
 Centralized ImGui modal dialog for file selection across all editors. More...
 
class  FileWatcher
 Polls a single file for modification-time changes. More...
 
class  FontManager
 Singleton manager for custom fonts. More...
 
struct  FrameProfile
 Snapshot of all node metrics for a single frame. More...
 
class  GetBBValuePropertyPanel
 ImGui sub-panel for editing GetBBValue node's blackboard variable selection. More...
 
class  GlobalBlackboard
 Process-wide singleton blackboard storing TaskValue entries. More...
 
struct  GlobalEntryDefinition
 
class  GlobalTemplateBlackboard
 
class  GraphAutoLayout
 Applies a hierarchical layout to a TaskGraphTemplate in place. More...
 
class  GraphCommand
 Abstract base class for all graph modification commands. More...
 
struct  GraphComment
 A rectangular comment box placed on the graph canvas. More...
 
class  GraphExecutionSimulator
 Simulates blueprint graph execution for validation purposes. More...
 
class  GraphExecutionTracer
 Records execution trace during graph simulation. More...
 
struct  GraphLink
 
struct  GraphNode
 
class  GraphRuntimeInstance
 Manages single-threaded step-by-step execution of a TaskGraphTemplate. More...
 
struct  GraphTab
 Represents one open tab in the NodeGraphPanel tab bar. More...
 
struct  GraphValidationError
 A single validation finding. More...
 
class  GraphValidationPanel
 Singleton that validates a TaskGraphTemplate and tracks selected node. More...
 
class  GridSnapping
 Singleton grid-snapping helper. More...
 
class  GroupManager
 Singleton that owns all NodeGroup instances for the active graph. More...
 
class  HFSMEditorPlugin
 
class  HistoryPanel
 HistoryPanel - ImGui panel for command history visualization Shows undo/redo stacks with command descriptions. More...
 
class  IAtomicTask
 Abstract interface for a single atomic unit of work. More...
 
class  ICanvasEditor
 Abstract interface for canvas editors with unified pan/zoom/grid management. More...
 
interface  ICommand
 Abstract base for all reversible editor commands. More...
 
class  IGraphRenderer
 Polymorphic interface for all graph editor renderers. More...
 
struct  ImGuiSettings
 
class  ImNodesCanvasEditor
 
class  InspectorPanel
 InspectorPanel - Adaptive inspector panel Displays properties based on current selection context. More...
 
struct  LayoutNode
 
class  LevelDefinitionEditorPlugin
 
class  LinkCache
 Singleton that caches per-node incoming/outgoing ExecPinConnection lists. More...
 
class  LocalBlackboard
 Simple map-based blackboard for task graph runtime state. More...
 
struct  MathOpOperand
 Represents one arithmetic operand (left A, right B) in a MathOp node. More...
 
class  MathOpPropertyPanel
 ImGui sub-panel for editing MathOp operands and operator. More...
 
struct  MathOpRef
 Complete reference for a MathOp node: left operand, operator, right operand. More...
 
struct  MinimapNode
 A single node represented in the minimap. More...
 
struct  MinimapNodeData
 
struct  MiniMapNodeEntry
 A node represented in the mini-map (normalised coords). More...
 
class  MiniMapPanel
 Singleton mini-map providing normalised graph overview data. More...
 
struct  MinimapViewport
 Normalised rectangle [0..1] representing the visible portion of the graph. More...
 
struct  MinimapViewportData
 Viewport region in normalised coordinates. More...
 
class  MinimapWidget
 Singleton that maintains normalised minimap state. More...
 
struct  MovementComponent
 ECS component: entity velocity and movement constraints. More...
 
class  MoveNodeCommand
 Command to move a node. More...
 
struct  NodeBranchData
 Lightweight snapshot of a NodeBranch required for rendering. More...
 
class  NodeBranchRenderer
 Renders a NodeBranch using ImGui/ImNodes with 4 sections. More...
 
struct  NodeConditionRef
 One entry in a NodeBranch's conditions list. More...
 
class  NodeConditionsEditModal
 Modal dialog for adding, removing, and reordering conditions on a node. More...
 
class  NodeConditionsPanel
 ImGui sub-panel for managing the condition list of a single NodeBranch. More...
 
struct  NodeConnection
 
struct  NodeExecutionMetrics
 Accumulated per-node execution statistics. More...
 
class  NodeGraph
 
class  NodeGraphClipboard
 Singleton clipboard for node-graph copy / paste operations. More...
 
class  NodeGraphManager
 NodeGraphManager - Manages multiple node graphs Allows opening multiple behavior trees/FSMs simultaneously. More...
 
class  NodeGraphPanel
 NodeGraphPanel - ImGui/ImNodes panel for node graph editing Provides visual editor for behavior trees and state machines. More...
 
struct  NodeGroup
 A named set of node IDs that can be collapsed into a single header. More...
 
struct  NodePort
 
struct  NodePreset
 A saved node configuration that can be applied to the active graph. More...
 
class  NodePresetManager
 Singleton that stores, serialises, and retrieves NodePreset instances. More...
 
class  NodePropertiesPanel
 
class  NodeSearchPalette
 Singleton fuzzy-search palette for VS node types. More...
 
class  NodeSearchPanel
 Singleton fuzzy-search panel for adding nodes to the graph. More...
 
struct  NodeSearchResult
 A single match returned by NodeSearchPalette::FuzzySearch(). More...
 
struct  NodeStyle
 Visual descriptor for a single node type. More...
 
class  NodeStyleRegistry
 Singleton providing NodeStyle descriptors per NodeType. More...
 
class  NodeValidator
 Static-only validator for TaskGraphTemplate instances. More...
 
struct  Operand
 One side of a ConditionPreset comparison expression. More...
 
struct  OperandRef
 References one operand of a condition (left or right). More...
 
class  OperatorRegistry
 Static registry of math and comparison operator strings. More...
 
struct  PanelVisibility
 
struct  ParameterBinding
 Describes how a single parameter value is supplied to a task node. More...
 
struct  ParameterDefinition
 
struct  ParameterDescriptor
 Full description of one parameter on a node type. More...
 
class  ParameterEditorRegistry
 Singleton mapping TaskNodeType -> vector of ParameterDescriptor. More...
 
class  ParameterSchemaRegistry
 
class  PasteNodesCommand
 Command to paste nodes from clipboard with offset. More...
 
class  PathfindingManager
 Singleton async pathfinding request manager. More...
 
class  PerformanceProfiler
 Singleton performance profiler for VS graph node execution. More...
 
struct  PositionComponent
 ECS component: entity world-space position. More...
 
class  PrefabCanvas
 
class  PrefabLoader
 
class  PresetDropdownHelper
 ImGui dropdown widget for selecting a ConditionPreset from the registry. More...
 
class  ProfilerPanel
 ImGui panel that visualizes PerformanceProfiler data. More...
 
class  PropertyEditorPanel
 
class  PropertyInspectorPrefab
 
struct  PropertyValue
 Discriminated union of property value types (String / Float). More...
 
class  RemoveExecPinCommand
 Records "remove dynamic exec-out pin" on a VSSequence or VSSwitch node for undo/redo. More...
 
class  RuntimeEnvironment
 Provides Blackboard variable values and dynamic pin values at runtime. More...
 
class  SaveFilePickerModal
 Centralized ImGui modal dialog for file saving across all editors. More...
 
class  ScriptedEventEditorPlugin
 
class  SelectionEffectRenderer
 Encapsule l'effet de sélection des nodes (glow + bordure épaisse) More...
 
class  SetBBValuePropertyPanel
 ImGui sub-panel for editing SetBBValue node's variable selection and value. More...
 
struct  SimulationOptions
 Configuration options for graph simulation. More...
 
struct  SpritesheetInfo
 Metadata for a single spritesheet within an animation bank. More...
 
struct  SubGraphCallStack
 Tracks the SubGraph call chain to detect cycles and enforce depth limits. More...
 
class  SubGraphFilePickerModal
 ImGui modal dialog for selecting SubGraph blueprint files. More...
 
class  SubgraphMigrator
 Converts legacy blueprint JSON to the Phase 8 subgraph flat-dict format. More...
 
struct  SubGraphParameterDef
 Describes an input or output parameter declared on a SubGraph file. More...
 
struct  SubGraphStackFrame
 A single frame in the debugger's SubGraph call stack. More...
 
struct  SwitchCaseDefinition
 Describes a single case branch on a Switch node. More...
 
class  SwitchCaseEditorModal
 Modal dialog for adding, removing, and reordering switch cases on a node. More...
 
class  TabManager
 Singleton that owns and manages all open graph editor tabs. More...
 
class  Task_Attack
 Initiates an attack action on the current target entity. More...
 
class  Task_ChangeState
 Writes a new AI state name to "local:current_state" in the LocalBlackboard. More...
 
class  Task_Compare
 Atomic task that returns Success if a comparison holds, Failure otherwise. More...
 
class  Task_Flee
 Moves an entity away from a 2D threat position until safe distance is reached. More...
 
class  Task_GetDeltaTime
 Writes ctx.DeltaTime to "local:DeltaTime" in the LocalBlackboard. More...
 
class  Task_GetWorldInstance
 Finds an entity by name in World and stores its EntityID in LocalBB. More...
 
class  Task_GotoPosition
 Moves an entity toward a 2D (TargetX, TargetY) destination. More...
 
class  Task_LogMessage
 Atomic task that logs the value of the "message" parameter. More...
 
class  Task_MoveToLocation
 Moves an entity toward a target location each tick. More...
 
class  Task_PlayAnimation
 Requests an animation to play via ECS or LocalBlackboard. More...
 
class  Task_RequestPathfinding
 Async pathfinding task that polls PathfindingManager for completion. More...
 
class  Task_SetAnimation
 Requests an animation clip to play on the entity. More...
 
class  Task_SetPosition
 Sets entity position via ECS or LocalBlackboard. More...
 
class  Task_SetSprite
 Sets the current sprite reference via ECS or LocalBlackboard. More...
 
class  Task_SetVariable
 Atomic task that writes a value into the LocalBlackboard. More...
 
class  Task_Wait
 Atomic task that idles for a fixed duration then succeeds. More...
 
class  TaskExecutionBridge
 Mediator that publishes per-frame task-runner state to the Editor. More...
 
class  TaskGraphLoader
 Static utility that loads TaskGraphTemplate from schema v4 JSON. More...
 
class  TaskGraphMigrator_v3_to_v4
 Converts task graph JSON from schema v3 to schema v4 (VisualScript). More...
 
class  TaskGraphTemplate
 Immutable, shareable task graph asset. More...
 
struct  TaskNodeDefinition
 Full description of a single node in the task graph. More...
 
struct  TaskParameter
 Metadata for a parameter of an atomic task. More...
 
struct  TaskRunnerComponent
 Per-entity runtime state for task graph execution. More...
 
struct  TaskSpec
 Display metadata for a single atomic task type. More...
 
class  TaskSystem
 ECS system responsible for advancing task graph execution each frame. More...
 
class  TaskValue
 C++14-compliant type-safe value container for task parameters. More...
 
struct  TaskWorldFacade
 Lightweight ECS component accessor passed through AtomicTaskContext. More...
 
class  TemplateBrowserPanel
 TemplateBrowserPanel - ImGui panel for template management Provides interface for browsing, searching, applying, and deleting templates. More...
 
class  TemplateManager
 TemplateManager - Manages blueprint templates Singleton manager for template catalog and operations. More...
 
class  UIMenuEditorPlugin
 
class  UndoRedoStack
 Bounded stack of reversible editor commands. More...
 
struct  ValidationError
 
struct  ValidationMessage
 A single finding produced by NodeValidator. More...
 
class  ValidationPanel
 ValidationPanel - ImGui panel for validation error display Shows errors, warnings, and info messages from blueprint validation. More...
 
struct  VariableDefinition
 Declares a single variable in the task graph's blackboard schema. More...
 
class  VariablePropertyPanel
 ImGui sub-panel for editing Variable node's blackboard variable selection. More...
 
struct  VarSpec
 Metadata for a single blackboard variable entry. More...
 
struct  VersionStamp
 
class  ViewportCulling
 Static helpers for AABB-based viewport culling. More...
 
struct  ViewRect
 An axis-aligned rectangle used to describe the viewport or a node bounds. More...
 
class  VisualScriptEditorPanel
 ImNodes graph editor for ATS Visual Script v4 graphs. More...
 
class  VisualScriptNodeRenderer
 Stateless helper class for rendering VS nodes via ImNodes. More...
 
class  VisualScriptRenderer
 Adapts the existing VisualScriptEditorPanel to the IGraphRenderer interface. More...
 
class  VSConnectionValidator
 Stateless validator for exec connections in VS graphs. More...
 
struct  VSEditorLink
 Editor-side representation of an exec or data connection. More...
 
struct  VSEditorNode
 Editor-side representation of a node in the VS graph canvas. More...
 
class  VSGraphExecutor
 Exécute un graphe ATS Visual Scripting pour une entité sur un frame. More...
 
class  VSGraphVerifier
 Stateless global verifier for ATS Visual Script graphs. More...
 
struct  VSVerificationIssue
 
struct  VSVerificationResult
 
struct  WindowConfig
 

Typedefs

using json = nlohmann::json
 
using GraphCommandPtr = std::unique_ptr< GraphCommand >
 
typedef uint32_t NodeId
 
typedef uint32_t PortId
 
using AssetID = uint32_t
 Opaque asset identifier: 32-bit FNV-1a hash of the asset file path.
 
using BridgeSetNodeFn = void(*)(int nodeIndex)
 Callback type: receives the local node index being executed.
 
using BridgeSetBBFn = void(*)(const LocalBlackboard *bb)
 Callback type: receives a non-owning pointer to the frame blackboard.
 
using TaskEditorPublishFn = void(*)(EntityID entity, int nodeIndex, const LocalBlackboard *bb)
 Signature of the editor publish callback.
 

Enumerations

enum class  BTLayoutDirection { TopToBottom , LeftToRight , TopToBottom , LeftToRight }
 Layout direction for behavior tree visualization. More...
 
enum class  BTLayoutDirection { TopToBottom , LeftToRight , TopToBottom , LeftToRight }
 
enum class  ErrorSeverity { Info , Warning , Error , Critical }
 
enum class  NodeType {
  BT_Sequence , BT_Selector , BT_Parallel , BT_RandomSelector ,
  BT_ParallelThreshold , BT_Condition , BT_Action , BT_Decorator ,
  BT_Inverter , BT_Monitor , BT_Repeater , BT_UntilSuccess ,
  BT_UntilFailure , BT_Cooldown , BT_Root , BT_OnEvent ,
  BT_SendMessage , BT_SubGraph , HFSM_State , HFSM_Transition ,
  HFSM_SubGraph , Comment
}
 
enum class  DebugState {
  NotDebugging , Running , Paused , StepNext ,
  StepInto , StepOut
}
 States of the debug controller state machine. More...
 
enum class  CanvasInteractionMode { Normal , DraggingNode , PanningCamera , CreatingConnection }
 
enum class  ParameterType {
  Boolean , Integer , Float , String ,
  Vector2 , Vector3 , Vector4 , Color ,
  Unknown
}
 
enum class  ExecutionEventType {
  NodeEntered , NodeExited , ConditionEvaluated , DataPinResolved ,
  BranchTaken , BranchNotTaken , ErrorOccurred , ExecutionBlocked ,
  ExecutionCompleted
}
 Types of events that can be recorded during graph execution trace. More...
 
enum class  ValidationSeverity { Warning , Error , Critical }
 Indicates how serious a validation finding is. More...
 
enum class  InspectorContext { None , GraphNode , RuntimeEntity , AssetFile }
 
enum class  NodeSearchCategory { All , ControlFlow , Actions , Data }
 Broad category for filtering node search results. More...
 
enum class  AsyncLoadState { Idle , Loading , Ready , Failed }
 Lifecycle state of an AsyncJSONLoader. More...
 
enum class  MinimapPosition { TopLeft = 0 , TopRight = 1 , BottomLeft = 2 , BottomRight = 3 }
 Screen corner positions for minimap overlay. More...
 
enum class  VSNodeStyle {
  EntryPoint , FlowControl , Action , Data ,
  SubGraph , Delay
}
 Visual style category for a VS node. More...
 
enum class  VSVerificationSeverity { Error , Warning , Info }
 
enum class  ComparisonOp {
  Equal , NotEqual , Less , LessEqual ,
  Greater , GreaterEqual
}
 The relational operator used in a ConditionPreset. More...
 
enum class  OperandPosition { Left , Right }
 Identifies which operand side a DynamicDataPin serves. More...
 
enum class  LogicalOp { Start , And , Or }
 How this condition is combined with the one preceding it. More...
 
enum class  OperandMode { Variable , Const , Pin }
 Discriminates which source the operand draws its value from. More...
 
enum class  FilePickerType { BehaviorTree , SubGraph , Audio , Tileset }
 Supported file types for the centralized file picker modal. More...
 
enum class  SaveFileType { BehaviorTree , Blueprint , EntityPrefab , Audio }
 Supported file types for the centralized save modal. More...
 
enum class  NVSeverity { Info , Warning , Error }
 Indicates how serious a NodeValidator finding is. More...
 
enum class  DataPinEvalStatus { Success , CycleDetected , InvalidNode , EvaluationError }
 Result status of data pin evaluation. More...
 
enum class  TaskStatus : uint8_t { Success , Failure , Running }
 Result code returned by IAtomicTask::Execute(). More...
 
enum class  TaskNodeType : uint8_t {
  AtomicTask = 0 , Sequence = 1 , Selector = 2 , Parallel = 3 ,
  Decorator = 4 , Root = 5 , EntryPoint = 6 , Branch = 7 ,
  Switch = 8 , VSSequence = 9 , While = 10 , ForEach = 11 ,
  DoOnce = 12 , Delay = 13 , GetBBValue = 14 , SetBBValue = 15 ,
  MathOp = 16 , SubGraph = 17
}
 Identifies the role of a node in the task graph. More...
 
enum class  VariableType : uint8_t {
  None , Bool , Int , Float ,
  Vector , EntityID , String , List = 7 ,
  GlobalRef = 8
}
 Type tags used by TaskValue to identify stored data. More...
 
enum class  ParameterBindingType : uint8_t {
  Literal = 0 , LocalVariable = 1 , AtomicTaskID = 2 , ConditionID = 3 ,
  MathOperator = 4 , ComparisonOp = 5 , SubGraphPath = 6
}
 Describes how a parameter value is provided to a task node. More...
 
enum class  DataPinDir : uint8_t { Input , Output }
 Direction of a data pin on a Visual Script node. More...
 
enum class  ExecPinRole : uint8_t {
  In , Out , OutElse , OutLoop ,
  OutCompleted , OutCase
}
 Role of an exec pin on a Visual Script node. More...
 

Functions

static std::string GetCurrentTimestamp ()
 
static const charVariableTypeName (VariableType t)
 
const charNodeTypeToString (NodeType type)
 
NodeType StringToNodeType (const std::string &str)
 
static std::string ToLower (const std::string &s)
 
VSNodeStyle GetNodeStyle (TaskNodeType type)
 Returns the VSNodeStyle appropriate for a given node type.
 
unsigned int GetNodeTitleColor (VSNodeStyle style)
 Returns the title-bar RGBA colour for a given style.
 
unsigned int GetNodeTitleHoveredColor (VSNodeStyle style)
 Returns the title-bar hovered RGBA colour.
 
unsigned int GetExecPinColor ()
 
unsigned int GetDataPinColor (VariableType type)
 Returns the RGBA colour for a data pin by variable type.
 
const charGetNodeTypeLabel (TaskNodeType type)
 Returns a human-readable label for a TaskNodeType.
 
const charGetVariableTypeLabel (VariableType type)
 Returns a human-readable label for a VariableType.
 
static std::string GetOperandDisplayString (const OperandRef &operand)
 Builds a display string for a ConditionRef operand.
 
static std::string BuildConditionExpressionString (const ConditionRef &condition)
 Builds the complete condition expression string.
 
static float CalculateSwitchCaseLabelWidth (const std::string &baseName, const SwitchCaseDefinition &caseData)
 Calculates the width of a Switch case output pin label.
 
static float CalculateNodeMinimumWidth (const TaskNodeDefinition &def, const std::vector< std::string > &execInputPins, const std::vector< std::string > &execOutputPins, const std::vector< std::pair< std::string, VariableType > > &dataInputPins, const std::vector< std::pair< std::string, VariableType > > &dataOutputPins)
 Calculates the minimum width required for a node to display all content.
 
static bool NodeTypeAcceptsExecInput (TaskNodeType type)
 
static void WorldBridge_SetBlackboard (const LocalBlackboard *bb)
 
void WorldBridge_RegisterTaskCallback ()
 Registers the TaskExecutionBridge with TaskSystem.
 
void WorldBridge_UnregisterTaskCallback ()
 Unregisters the TaskExecutionBridge so that TaskSystem no longer publishes live state to the editor panels after shutdown.
 
static std::string VariableTypeToString (VariableType t)
 Converts a VariableType to its canonical string representation.
 
static VariableType StringToVariableType (const std::string &str)
 
static TaskValue GetDefaultValueForType (VariableType type)
 Returns a correctly-typed default TaskValue for the given VariableType.
 
float DataPinEvaluator_TaskValueToFloat (const TaskValue &val)
 
TaskValue DataPinEvaluator_ComputeMath (const std::string &op, float left, float right)
 
DataPinEvaluationResult DataPinEvaluator_EvaluateRecursive (int32_t nodeID, const std::string &pinName, const TaskGraphTemplate &tmpl, TaskRunnerComponent &runner, LocalBlackboard &localBB, std::unordered_set< int32_t > &visitedNodes, int32_t recursionDepth)
 
static void PopulateRuntimeEnvironmentFromBlackboard (RuntimeEnvironment &env, const LocalBlackboard &localBB)
 Populates a RuntimeEnvironment with blackboard variables.
 
static void PopulateRuntimeEnvironmentFromDataPins (RuntimeEnvironment &env, const std::unordered_map< std::string, TaskValue > &dataPinCache)
 Populates a RuntimeEnvironment with dynamic pin values.
 

Variables

static constexpr int CLIP_GRAPH_ID_MULTIPLIER = 10000
 
const NodeId InvalidNodeId = 0
 
const PortId InvalidPortId = 0
 
static const std::vector< std::string > s_mathOperators = {"+", "-", "*", "/", "%"}
 
static const std::vector< std::string > s_comparisonOperators = {"==", "!=", "<", "<=", ">", ">="}
 
static LocalBlackboard s_FrameBlackboard
 
static const AssetID INVALID_ASSET_ID = 0u
 Sentinel value indicating an invalid / unloaded asset.
 
static const charBB_KEY_CURRENT_STATE = "local:current_state"
 
static const float DEFAULT_FLEE_DISTANCE = 200.0f
 
static const float FLEE_MOVE_SPEED = 250.0f
 
static const float DEFAULT_GOTO_SPEED = 300.0f
 
static const float ARRIVAL_TOLERANCE = 5.0f
 
static const charBB_KEY_POSITION = "Position"
 
static const charBB_KEY_POSITION = "Position"
 
static const charBB_KEY_PATH = "Path"
 
static const float DEFAULT_DAMAGE = 10.0f
 
static const float DEFAULT_RANGE = 50.0f
 
static const float DEFAULT_FLEE_DISTANCE = 200.0f
 
static const float DEFAULT_SPEED = 100.0f
 
static const float ARRIVAL_TOLERANCE = 0.5f
 
static const charBB_KEY_POSITION = "Position"
 
constexpr int32_t NODE_INDEX_NONE = -1
 Sentinel value for "no node" in node index / ID fields.
 
static const int MAX_STEPS_PER_FRAME = 64
 Maximum steps per frame to prevent infinite loops.
 

Detailed Description

< Provides AssetID and INVALID_ASSET_ID

< Provides TaskValue and NODE_INDEX_NONE

Typedef Documentation

◆ AssetID

Opaque asset identifier: 32-bit FNV-1a hash of the asset file path.

Definition at line 43 of file AssetManager.h.

◆ BridgeSetBBFn

Callback type: receives a non-owning pointer to the frame blackboard.

Definition at line 53 of file TaskExecutionBridge.h.

◆ BridgeSetNodeFn

Callback type: receives the local node index being executed.

Definition at line 50 of file TaskExecutionBridge.h.

◆ GraphCommandPtr

Definition at line 68 of file GraphCommand.h.

◆ json

Definition at line 135 of file blueprinteditor.h.

◆ NodeId

Definition at line 12 of file ComponentNodeData.h.

◆ PortId

Definition at line 13 of file ComponentNodeData.h.

◆ TaskEditorPublishFn

Signature of the editor publish callback.

Called by TaskSystem each frame while an AtomicTask node is Running. The editor registers a function of this type via TaskSystem::SetEditorPublishCallback() to receive live runtime info without creating a compile-time dependency on editor code.

Parameters
entityID of the entity currently executing the task.
nodeIndexCurrent node ID being executed.
bbNon-owning pointer to the LocalBlackboard for this tick. Only valid for the duration of the callback invocation.

Definition at line 62 of file TaskSystem.h.

Enumeration Type Documentation

◆ AsyncLoadState

Lifecycle state of an AsyncJSONLoader.

Enumerator
Idle 

No load has been requested.

Loading 

Background thread is running.

Ready 

Result is available — call GetResult()

Failed 

Load or parse failed — call GetLastError()

Definition at line 32 of file AsyncJSONLoader.h.

◆ BTLayoutDirection [1/2]

Layout direction for behavior tree visualization.

Enumerator
TopToBottom 

Traditional top-down layout (vertical)

LeftToRight 

Horizontal left-to-right layout.

TopToBottom 

Traditional top-down layout (vertical)

LeftToRight 

Horizontal left-to-right layout.

Definition at line 33 of file BTGraphLayoutEngine.h.

◆ BTLayoutDirection [2/2]

Enumerator
TopToBottom 

Traditional top-down layout (vertical)

LeftToRight 

Horizontal left-to-right layout.

TopToBottom 

Traditional top-down layout (vertical)

LeftToRight 

Horizontal left-to-right layout.

Definition at line 28 of file BTGraphLayoutEngine.h.

◆ CanvasInteractionMode

Enumerator
Normal 
DraggingNode 
PanningCamera 
CreatingConnection 

Definition at line 17 of file PrefabCanvas.h.

◆ ComparisonOp

The relational operator used in a ConditionPreset.

Enumerator
Equal 

==

NotEqual 

!=

Less 

<

LessEqual 

<=

Greater 

GreaterEqual 

>=

Definition at line 31 of file ConditionPreset.h.

◆ DataPinDir

Direction of a data pin on a Visual Script node.

Enumerator
Input 

Value consumed by the node.

Output 

Value produced by the node.

Definition at line 148 of file TaskGraphTypes.h.

◆ DataPinEvalStatus

Result status of data pin evaluation.

Enumerator
Success 

Evaluation completed successfully.

CycleDetected 

Circular dependency detected in data pin network.

InvalidNode 

Node ID not found in template.

EvaluationError 

Runtime error during evaluation (e.g., type mismatch)

Definition at line 40 of file DataPinEvaluator.h.

◆ DebugState

States of the debug controller state machine.

Enumerator
NotDebugging 

No active debug session.

Running 

Normal execution.

Paused 

Stopped at a breakpoint or manual pause.

StepNext 

Execute next node then pause.

StepInto 

Step into a SubGraph on next SubGraph node.

StepOut 

Run until the current SubGraph returns.

Definition at line 78 of file DebugController.h.

◆ ErrorSeverity

Enumerator
Info 
Warning 
Error 
Critical 

Definition at line 20 of file BlueprintValidator.h.

◆ ExecPinRole

Role of an exec pin on a Visual Script node.

Enumerator
In 

Triggers execution of the node.

Out 

Normal output / Then.

OutElse 

Else output (Branch)

OutLoop 

Loop body output (While, ForEach)

OutCompleted 

End-of-loop output (While, ForEach, Delay, DoOnce)

OutCase 

Switch case output (dynamically named)

Definition at line 157 of file TaskGraphTypes.h.

◆ ExecutionEventType

Types of events that can be recorded during graph execution trace.

Enumerator
NodeEntered 

Execution entered a node.

NodeExited 

Execution exited a node.

ConditionEvaluated 

A condition was evaluated.

DataPinResolved 

A data pin was resolved.

BranchTaken 

A branch condition was true.

BranchNotTaken 

A branch condition was false.

ErrorOccurred 

An error happened during execution.

ExecutionBlocked 

Execution was blocked (dead-end path, etc.)

ExecutionCompleted 

Graph execution completed.

Definition at line 29 of file GraphExecutionTracer.h.

◆ FilePickerType

Supported file types for the centralized file picker modal.

Enumerator
BehaviorTree 

.bt.json files in ./Gamedata

SubGraph 

.ats files in Blueprints

Audio 

Future: .ogg, .wav files.

Tileset 

Future: .tsj tileset files.

Definition at line 25 of file FilePickerModal.h.

◆ InspectorContext

Enumerator
None 
GraphNode 
RuntimeEntity 
AssetFile 

Definition at line 22 of file InspectorPanel.h.

◆ LogicalOp

How this condition is combined with the one preceding it.

Enumerator
Start 

First condition in the list (no logical combinator)

And 

Combined with AND.

Or 

Combined with OR.

Definition at line 29 of file NodeConditionRef.h.

◆ MinimapPosition

Screen corner positions for minimap overlay.

Enumerator
TopLeft 
TopRight 
BottomLeft 
BottomRight 

Definition at line 59 of file CanvasMinimapRenderer.h.

◆ NodeSearchCategory

Broad category for filtering node search results.

Enumerator
All 
ControlFlow 
Actions 
Data 

Definition at line 31 of file NodeSearchPalette.h.

◆ NodeType

Enumerator
BT_Sequence 
BT_Selector 
BT_Parallel 
BT_RandomSelector 
BT_ParallelThreshold 
BT_Condition 
BT_Action 
BT_Decorator 
BT_Inverter 
BT_Monitor 
BT_Repeater 
BT_UntilSuccess 
BT_UntilFailure 
BT_Cooldown 
BT_Root 

Phase 38b: Root entry point (green, fixed position)

BT_OnEvent 

Phase 38b: Event-driven root (green, event-triggered)

BT_SendMessage 
BT_SubGraph 

Phase 8: references a subgraph by UUID (BehaviorTree)

HFSM_State 
HFSM_Transition 
HFSM_SubGraph 

Phase 8: references a subgraph by UUID (HFSM)

Comment 

Definition at line 40 of file BTNodeGraphManager.h.

◆ NVSeverity

Indicates how serious a NodeValidator finding is.

Named NVSeverity to avoid clashing with ValidationSeverity in GraphValidationPanel.h which is already in namespace Olympe.

Enumerator
Info 

Informational; no action required.

Warning 

May cause unexpected behaviour.

Error 

Will prevent correct execution.

Definition at line 41 of file NodeValidator.h.

◆ OperandMode

Discriminates which source the operand draws its value from.

Enumerator
Variable 

References a blackboard variable by ID (string key)

Const 

Literal numeric constant (double)

Pin 

External data input pin on the node (identified by label)

Definition at line 29 of file Operand.h.

◆ OperandPosition

Identifies which operand side a DynamicDataPin serves.

Enumerator
Left 

Pin provides data for the left operand of the condition.

Right 

Pin provides data for the right operand of the condition.

Definition at line 33 of file DynamicDataPin.h.

◆ ParameterBindingType

Describes how a parameter value is provided to a task node.

Values 0-1 are the original binding types (unchanged). Values 2-6 are Phase 22-C extensions for dropdown-driven parameter editors.

Enumerator
Literal 

Value is embedded directly in the template.

LocalVariable 

Value is read from the local blackboard at runtime.

AtomicTaskID 

ID of an atomic task (from AtomicTaskUIRegistry)

ConditionID 

ID of a condition type (from ConditionRegistry)

MathOperator 

Math operator symbol (+, -, *, /, %) (from OperatorRegistry)

ComparisonOp 

Comparison operator (==, !=, <, <=, >, >=) (from OperatorRegistry)

SubGraphPath 

File path to a sub-graph .ats file.

Definition at line 109 of file TaskGraphTypes.h.

◆ ParameterType

Enumerator
Boolean 
Integer 
Float 
String 
Vector2 
Vector3 
Vector4 
Color 
Unknown 

Definition at line 18 of file PrefabLoader.h.

◆ SaveFileType

Supported file types for the centralized save modal.

Enumerator
BehaviorTree 

.bt.json files

Blueprint 

.ats files (SubGraph/VisualScript)

EntityPrefab 

.pref.json files (Entity Prefab)

Audio 

.ogg files (audio assets)

Definition at line 22 of file SaveFilePickerModal.h.

◆ TaskNodeType

Identifies the role of a node in the task graph.

Values 0-5 are the original BehaviorTree node types (unchanged). Values 6-17 are ATS Visual Scripting node types (Phase 1 - 2026-03-08).

Enumerator
AtomicTask 

Leaf node that executes a single atomic task.

Sequence 

Executes children in order; stops on first failure.

Selector 

Executes children in order; stops on first success.

Parallel 

Executes all children simultaneously.

Decorator 

Wraps a single child and modifies its behaviour.

Root 

Entry point of the graph (exactly one per template)

EntryPoint 

Unique entry node for VS graphs (replaces Root)

Branch 

If/Else conditional (Then / Else exec outputs)

Switch 

Multi-branch on value (N exec outputs)

VSSequence 

Execute N outputs in order ("VS" prefix avoids collision with BT Sequence=1)

While 

Conditional loop (Loop / Completed exec outputs)

ForEach 

Iterate over BB list (Loop Body / Completed exec outputs)

DoOnce 

Single-fire execution (reset via Reset pin)

Delay 

Timer (Completed exec output after N seconds)

GetBBValue 

Data node – reads a Blackboard key.

SetBBValue 

Data node – writes a Blackboard key.

MathOp 

Data node – arithmetic operation (+, -, *, /)

SubGraph 

Sub-graph call (SubTask)

Definition at line 51 of file TaskGraphTypes.h.

◆ TaskStatus

Result code returned by IAtomicTask::Execute().

Enumerator
Success 

Task completed successfully.

Failure 

Task failed.

Running 

Task is still in progress (multi-frame tasks)

Definition at line 38 of file IAtomicTask.h.

◆ ValidationSeverity

Indicates how serious a validation finding is.

Enumerator
Warning 

Informational; graph may still execute.

Error 

Likely to cause incorrect behaviour.

Critical 

Graph cannot be executed.

Definition at line 37 of file GraphValidationPanel.h.

◆ VariableType

Type tags used by TaskValue to identify stored data.

Values 0-6 are the original types (unchanged). Values 7-8 are ATS Visual Scripting extensions (Phase 1 - 2026-03-08).

Enumerator
None 

Uninitialized / empty value.

Bool 

Boolean.

Int 

32-bit signed integer

Float 

Single-precision float.

Vector 

3-component vector (Vector from vector.h)

EntityID 

Entity identifier (uint64_t)

String 

std::string

List 

std::vector<TaskValue> (used by ForEach node)

GlobalRef 

Reference to a global blackboard key (scope "global:")

Definition at line 81 of file TaskGraphTypes.h.

◆ VSNodeStyle

Visual style category for a VS node.

Enumerator
EntryPoint 

Green — single "Out" exec pin.

FlowControl 

Blue — Branch, Sequence, While, ForEach, DoOnce.

Action 

Orange — AtomicTask.

Data 

Purple — GetBBValue, SetBBValue, MathOp.

SubGraph 

Teal — SubGraph call.

Delay 

Yellow — Delay timer.

Definition at line 36 of file VisualScriptNodeRenderer.h.

◆ VSVerificationSeverity

Enumerator
Error 
Warning 
Info 

Definition at line 27 of file VSGraphVerifier.h.

Function Documentation

◆ BuildConditionExpressionString()

static std::string Olympe::BuildConditionExpressionString ( const ConditionRef condition)
static

Builds the complete condition expression string.

Example: "[health] > [50]"

Definition at line 162 of file VisualScriptNodeRenderer.cpp.

References GetComponentTypeID_Static(), and GetOperandDisplayString().

Referenced by Olympe::VisualScriptNodeRenderer::RenderNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CalculateNodeMinimumWidth()

static float Olympe::CalculateNodeMinimumWidth ( const TaskNodeDefinition def,
const std::vector< std::string > &  execInputPins,
const std::vector< std::string > &  execOutputPins,
const std::vector< std::pair< std::string, VariableType > > &  dataInputPins,
const std::vector< std::pair< std::string, VariableType > > &  dataOutputPins 
)
static

Calculates the minimum width required for a node to display all content.

Phase 26-B: Calculate node frame width needed to accommodate all pin labels without truncation. Uses an invisible spacer button to force ImNodes to size the node frame appropriately.

Returns
Width in pixels needed for the node (minimum guaranteed width)

Definition at line 207 of file VisualScriptNodeRenderer.cpp.

References Branch, CalculateSwitchCaseLabelWidth(), Olympe::TaskNodeDefinition::DynamicExecOutputPins, Olympe::TaskNodeDefinition::dynamicPins, GetComponentTypeID_Static(), Olympe::TaskNodeDefinition::NodeName, Switch, Olympe::TaskNodeDefinition::switchCases, Olympe::TaskNodeDefinition::Type, VSSequence, and While.

Referenced by Olympe::VisualScriptNodeRenderer::RenderNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CalculateSwitchCaseLabelWidth()

static float Olympe::CalculateSwitchCaseLabelWidth ( const std::string &  baseName,
const SwitchCaseDefinition caseData 
)
static

Calculates the width of a Switch case output pin label.

Format: "Case_N [customLabel(value)]" or "Case_N (value)" or "Case_N" This includes the full decorated label that might be wider than just the pin name.

Definition at line 180 of file VisualScriptNodeRenderer.cpp.

References GetComponentTypeID_Static().

Referenced by CalculateNodeMinimumWidth().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DataPinEvaluator_ComputeMath()

TaskValue Olympe::DataPinEvaluator_ComputeMath ( const std::string &  op,
float  left,
float  right 
)
inline

Definition at line 44 of file DataPinEvaluator_inline.h.

Referenced by DataPinEvaluator_EvaluateRecursive().

+ Here is the caller graph for this function:

◆ DataPinEvaluator_EvaluateRecursive()

DataPinEvaluationResult Olympe::DataPinEvaluator_EvaluateRecursive ( int32_t  nodeID,
const std::string &  pinName,
const TaskGraphTemplate tmpl,
TaskRunnerComponent runner,
LocalBlackboard localBB,
std::unordered_set< int32_t > &  visitedNodes,
int32_t  recursionDepth 
)
inline

◆ DataPinEvaluator_TaskValueToFloat()

float Olympe::DataPinEvaluator_TaskValueToFloat ( const TaskValue val)
inline

Definition at line 22 of file DataPinEvaluator_inline.h.

References Bool, Float, GetComponentTypeID_Static(), and Int.

Referenced by DataPinEvaluator_EvaluateRecursive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCurrentTimestamp()

static std::string Olympe::GetCurrentTimestamp ( )
static

◆ GetDataPinColor()

unsigned int Olympe::GetDataPinColor ( VariableType  type)

Returns the RGBA colour for a data pin by variable type.

Definition at line 79 of file VisualScriptNodeRenderer.cpp.

References Olympe::SystemColors::DATA_PIN_COLOR.

Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), and Olympe::VisualScriptNodeRenderer::RenderNode().

+ Here is the caller graph for this function:

◆ GetDefaultValueForType()

TaskValue Olympe::GetDefaultValueForType ( VariableType  type)
inlinestatic

Returns a correctly-typed default TaskValue for the given VariableType.

Used when a new blackboard variable is created or when its type is changed, to ensure the Default field is always type-consistent.

Parameters
typeThe VariableType to create a default value for.
Returns
A TaskValue of the matching type, initialized to a zero/false/empty value.

Definition at line 52 of file GlobalTemplateBlackboard.h.

References Bool, EntityID, Float, Int, None, String, and Vector.

Referenced by Olympe::GlobalTemplateBlackboard::AddVariable(), Olympe::GlobalTemplateBlackboard::LoadFromFile(), and Olympe::TaskGraphLoader::ParseBlackboardV4().

+ Here is the caller graph for this function:

◆ GetExecPinColor()

unsigned int Olympe::GetExecPinColor ( )

Definition at line 74 of file VisualScriptNodeRenderer.cpp.

References Olympe::SystemColors::EXEC_PIN_COLOR.

Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), and Olympe::VisualScriptNodeRenderer::RenderNode().

+ Here is the caller graph for this function:

◆ GetNodeStyle()

VSNodeStyle Olympe::GetNodeStyle ( TaskNodeType  type)

Returns the VSNodeStyle appropriate for a given node type.

Definition at line 25 of file VisualScriptNodeRenderer.cpp.

References Action, AtomicTask, Branch, Data, Delay, DoOnce, EntryPoint, FlowControl, ForEach, GetBBValue, MathOp, SetBBValue, SubGraph, Switch, VSSequence, and While.

Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), and Olympe::VisualScriptNodeRenderer::RenderNode().

+ Here is the caller graph for this function:

◆ GetNodeTitleColor()

unsigned int Olympe::GetNodeTitleColor ( VSNodeStyle  style)

Returns the title-bar RGBA colour for a given style.

Definition at line 46 of file VisualScriptNodeRenderer.cpp.

References Action, Data, Delay, EntryPoint, FlowControl, GetComponentTypeID_Static(), and SubGraph.

Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), and Olympe::VisualScriptNodeRenderer::RenderNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNodeTitleHoveredColor()

unsigned int Olympe::GetNodeTitleHoveredColor ( VSNodeStyle  style)

Returns the title-bar hovered RGBA colour.

Definition at line 60 of file VisualScriptNodeRenderer.cpp.

References Action, Data, Delay, EntryPoint, FlowControl, GetComponentTypeID_Static(), and SubGraph.

Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), and Olympe::VisualScriptNodeRenderer::RenderNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNodeTypeLabel()

const char * Olympe::GetNodeTypeLabel ( TaskNodeType  type)

Returns a human-readable label for a TaskNodeType.

Definition at line 87 of file VisualScriptNodeRenderer.cpp.

References AtomicTask, Branch, Delay, DoOnce, EntryPoint, ForEach, GetBBValue, MathOp, Root, Sequence, SetBBValue, SubGraph, Switch, VSSequence, and While.

Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::VisualScriptEditorPanel::RenderCanvas(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().

+ Here is the caller graph for this function:

◆ GetOperandDisplayString()

static std::string Olympe::GetOperandDisplayString ( const OperandRef operand)
static

Builds a display string for a ConditionRef operand.

Format examples:

  • Variable mode: "[health]"
  • Const mode: "[50]"
  • Pin mode: "[pin]"

Definition at line 136 of file VisualScriptNodeRenderer.cpp.

References Olympe::OperandRef::Const, GetComponentTypeID_Static(), Olympe::OperandRef::Pin, and Olympe::OperandRef::Variable.

Referenced by BuildConditionExpressionString().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetVariableTypeLabel()

const char * Olympe::GetVariableTypeLabel ( VariableType  type)

Returns a human-readable label for a VariableType.

Definition at line 110 of file VisualScriptNodeRenderer.cpp.

References Bool, EntityID, Float, Int, String, and Vector.

◆ NodeTypeAcceptsExecInput()

static bool Olympe::NodeTypeAcceptsExecInput ( TaskNodeType  type)
static

Definition at line 31 of file VSConnectionValidator.cpp.

References EntryPoint, GetBBValue, and MathOp.

Referenced by Olympe::VSConnectionValidator::IsExecConnectionValid().

+ Here is the caller graph for this function:

◆ NodeTypeToString()

const char * Olympe::NodeTypeToString ( NodeType  type)
inline

◆ PopulateRuntimeEnvironmentFromBlackboard()

static void Olympe::PopulateRuntimeEnvironmentFromBlackboard ( RuntimeEnvironment env,
const LocalBlackboard localBB 
)
static

Populates a RuntimeEnvironment with blackboard variables.

Copies variable values from localBB into the RuntimeEnvironment for use by Operand resolution during ConditionPresetEvaluator::EvaluateConditionChain().

Parameters
envTarget RuntimeEnvironment to populate.
localBBSource LocalBlackboard.

Definition at line 237 of file VSGraphExecutor.cpp.

References Olympe::TaskValue::AsBool(), Olympe::TaskValue::AsFloat(), Olympe::TaskValue::AsInt(), Bool, Float, GetComponentTypeID_Static(), Olympe::TaskValue::GetType(), and Int.

Referenced by Olympe::VSGraphExecutor::HandleBranch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PopulateRuntimeEnvironmentFromDataPins()

static void Olympe::PopulateRuntimeEnvironmentFromDataPins ( RuntimeEnvironment env,
const std::unordered_map< std::string, TaskValue > &  dataPinCache 
)
static

Populates a RuntimeEnvironment with dynamic pin values.

Copies resolved data pin values from DataPinCache into the RuntimeEnvironment for use by Pin-mode Operand resolution.

Parameters
envTarget RuntimeEnvironment to populate.
dataPinCacheSource DataPinCache (map of "nodeID:pinName" -> TaskValue).

Definition at line 285 of file VSGraphExecutor.cpp.

References Olympe::TaskValue::AsBool(), Olympe::TaskValue::AsFloat(), Olympe::TaskValue::AsInt(), Bool, Float, GetComponentTypeID_Static(), Olympe::TaskValue::GetType(), and Int.

Referenced by Olympe::VSGraphExecutor::HandleBranch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StringToNodeType()

NodeType Olympe::StringToNodeType ( const std::string &  str)
inline

◆ StringToVariableType()

static VariableType Olympe::StringToVariableType ( const std::string &  str)
inlinestatic

Definition at line 41 of file GlobalTemplateBlackboard.h.

References Bool, EntityID, Float, GetComponentTypeID_Static(), Int, None, String, and Vector.

Referenced by Olympe::GlobalTemplateBlackboard::LoadFromFile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ToLower()

static std::string Olympe::ToLower ( const std::string &  s)
static

Definition at line 172 of file NodeSearchPalette.cpp.

References GetComponentTypeID_Static().

Referenced by Olympe::NodeSearchPalette::ComputeFuzzyScore().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VariableTypeName()

static const char * Olympe::VariableTypeName ( VariableType  t)
static

Definition at line 21 of file BBVariableRegistry.cpp.

References Bool, EntityID, Float, GetComponentTypeID_Static(), GlobalRef, Int, List, String, and Vector.

Referenced by Olympe::BBVariableRegistry::FormatDisplayLabel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VariableTypeToString()

std::string Olympe::VariableTypeToString ( VariableType  t)
inlinestatic

Converts a VariableType to its canonical string representation.

Parameters
tThe VariableType to convert.
Returns
String name (e.g. "Bool", "Int"). Falls back to "Int" for unknown values.

Definition at line 26 of file GlobalTemplateBlackboard.h.

References Bool, EntityID, Float, Int, None, String, and Vector.

Referenced by Olympe::GlobalTemplateBlackboard::DebugSummary(), Olympe::EntityBlackboard::GetGlobalValue(), Olympe::GlobalTemplateBlackboard::SaveToFile(), Olympe::VisualScriptEditorPanel::SerializeAndWrite(), and Olympe::EntityBlackboard::SetGlobalValue().

+ Here is the caller graph for this function:

◆ WorldBridge_RegisterTaskCallback()

void Olympe::WorldBridge_RegisterTaskCallback ( )

Registers the TaskExecutionBridge with TaskSystem.

Call once during editor startup so that TaskSystem publishes live state to the editor panels (NodeGraphPanel active-node highlight and InspectorPanel live blackboard display) each frame.

Definition at line 76 of file WorldBridge.cpp.

References Olympe::TaskExecutionBridge::Install(), Olympe::NodeGraphPanel::SetActiveDebugNode(), and WorldBridge_SetBlackboard().

+ Here is the call graph for this function:

◆ WorldBridge_SetBlackboard()

static void Olympe::WorldBridge_SetBlackboard ( const LocalBlackboard bb)
static

Definition at line 56 of file WorldBridge.cpp.

References GetComponentTypeID_Static(), s_FrameBlackboard, and Olympe::InspectorPanel::SetDebugBlackboard().

Referenced by WorldBridge_RegisterTaskCallback().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WorldBridge_UnregisterTaskCallback()

void Olympe::WorldBridge_UnregisterTaskCallback ( )

Unregisters the TaskExecutionBridge so that TaskSystem no longer publishes live state to the editor panels after shutdown.

Definition at line 88 of file WorldBridge.cpp.

References Olympe::TaskExecutionBridge::Uninstall().

Referenced by Olympe::BlueprintEditor::Shutdown().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ ARRIVAL_TOLERANCE [1/2]

const float Olympe::ARRIVAL_TOLERANCE = 5.0f
static

◆ ARRIVAL_TOLERANCE [2/2]

const float Olympe::ARRIVAL_TOLERANCE = 0.5f
static

Definition at line 39 of file Task_MoveToLocation.cpp.

◆ BB_KEY_CURRENT_STATE

const char* Olympe::BB_KEY_CURRENT_STATE = "local:current_state"
static

Definition at line 17 of file Task_ChangeState.cpp.

Referenced by Olympe::Task_ChangeState::ExecuteWithContext().

◆ BB_KEY_PATH

const char* Olympe::BB_KEY_PATH = "Path"
static

◆ BB_KEY_POSITION [1/3]

const char* Olympe::BB_KEY_POSITION = "Position"
static

◆ BB_KEY_POSITION [2/3]

const char* Olympe::BB_KEY_POSITION = "Position"
static

Definition at line 24 of file Task_RequestPathfinding.cpp.

◆ BB_KEY_POSITION [3/3]

const char* Olympe::BB_KEY_POSITION = "Position"
static

Definition at line 40 of file Task_MoveToLocation.cpp.

◆ CLIP_GRAPH_ID_MULTIPLIER

constexpr int Olympe::CLIP_GRAPH_ID_MULTIPLIER = 10000
staticconstexpr

◆ DEFAULT_DAMAGE

const float Olympe::DEFAULT_DAMAGE = 10.0f
static

Definition at line 17 of file Task_Attack.cpp.

Referenced by Olympe::Task_Attack::ExecuteWithContext().

◆ DEFAULT_FLEE_DISTANCE [1/2]

const float Olympe::DEFAULT_FLEE_DISTANCE = 200.0f
static

Definition at line 20 of file Task_Flee.cpp.

Referenced by Olympe::Task_Flee::ExecuteWithContext().

◆ DEFAULT_FLEE_DISTANCE [2/2]

const float Olympe::DEFAULT_FLEE_DISTANCE = 200.0f
static

Definition at line 19 of file Task_Flee.cpp.

◆ DEFAULT_GOTO_SPEED

const float Olympe::DEFAULT_GOTO_SPEED = 300.0f
static

Definition at line 20 of file Task_GotoPosition.cpp.

Referenced by Olympe::Task_GotoPosition::ExecuteWithContext().

◆ DEFAULT_RANGE

const float Olympe::DEFAULT_RANGE = 50.0f
static

Definition at line 18 of file Task_Attack.cpp.

Referenced by Olympe::Task_Attack::ExecuteWithContext().

◆ DEFAULT_SPEED

const float Olympe::DEFAULT_SPEED = 100.0f
static

◆ FLEE_MOVE_SPEED

const float Olympe::FLEE_MOVE_SPEED = 250.0f
static

Definition at line 21 of file Task_Flee.cpp.

Referenced by Olympe::Task_Flee::ExecuteWithContext().

◆ INVALID_ASSET_ID

const AssetID Olympe::INVALID_ASSET_ID = 0u
static

◆ InvalidNodeId

const NodeId Olympe::InvalidNodeId = 0

◆ InvalidPortId

const PortId Olympe::InvalidPortId = 0

◆ MAX_STEPS_PER_FRAME

const int Olympe::MAX_STEPS_PER_FRAME = 64
static

Maximum steps per frame to prevent infinite loops.

Definition at line 28 of file VSGraphExecutor.cpp.

Referenced by Olympe::VSGraphExecutor::ExecuteFrame().

◆ NODE_INDEX_NONE

constexpr int32_t Olympe::NODE_INDEX_NONE = -1
constexpr

Sentinel value for "no node" in node index / ID fields.

Use instead of the magic value -1 wherever a node index or node ID is absent (similar to Unreal Engine's INDEX_NONE).

Definition at line 38 of file TaskGraphTypes.h.

Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::GraphAutoLayout::BuildLayers(), Olympe::GraphValidationPanel::CheckMissingConnections(), Olympe::BTtoVSMigrator::Convert(), Olympe::BTtoVSMigrator::ConvertConnections(), Olympe::BTtoVSMigrator::ConvertNode(), Olympe::GraphExecutionSimulator::DetectPotentialInfiniteLoops(), Olympe::VSGraphExecutor::ExecuteFrame(), Olympe::TaskSystem::ExecuteNode(), Olympe::VSGraphExecutor::FindExecTarget(), Olympe::GraphExecutionSimulator::GetNextNodeId(), Olympe::VSGraphExecutor::HandleAtomicTask(), Olympe::GraphExecutionSimulator::HandleBranchSimulation(), Olympe::VSGraphExecutor::HandleDelay(), Olympe::VSGraphExecutor::HandleDoOnce(), Olympe::VSGraphExecutor::HandleGetBBValue(), Olympe::VSGraphExecutor::HandleMathOp(), Olympe::GraphExecutionSimulator::HandleSequenceSimulation(), Olympe::VSGraphExecutor::HandleSetBBValue(), Olympe::VSGraphExecutor::HandleSubGraph(), Olympe::VSGraphExecutor::HandleSwitch(), Olympe::GraphExecutionSimulator::HandleSwitchSimulation(), Olympe::VSGraphExecutor::HandleVSSequence(), Olympe::GraphExecutionSimulator::HandleWhileSimulation(), Olympe::TaskGraphLoader::ParseDataConnectionsV4(), Olympe::TaskGraphLoader::ParseExecConnectionsV4(), Olympe::TaskGraphLoader::ParseNodeV4(), Olympe::TaskGraphLoader::ParseSchemaV4(), Olympe::VisualScriptEditorPanel::RunGraphSimulation(), Olympe::VisualScriptEditorPanel::RunGraphSimulationRecursive(), Olympe::GraphExecutionSimulator::SimulateExecution(), Olympe::GraphExecutionSimulator::SimulateStep(), Olympe::GraphRuntimeInstance::StartExecution(), Olympe::GraphRuntimeInstance::StepExecution(), Olympe::GraphExecutionSimulator::TraceDataPinEvaluation(), Olympe::VisualScriptEditorPanel::TraceUpstreamDataNodes(), and Olympe::GraphExecutionSimulator::ValidateAllBranches().

◆ s_comparisonOperators

const std::vector<std::string> Olympe::s_comparisonOperators = {"==", "!=", "<", "<=", ">", ">="}
static

◆ s_FrameBlackboard

LocalBlackboard Olympe::s_FrameBlackboard
static

Definition at line 51 of file WorldBridge.cpp.

Referenced by WorldBridge_SetBlackboard().

◆ s_mathOperators

const std::vector<std::string> Olympe::s_mathOperators = {"+", "-", "*", "/", "%"}
static