18#include "../../NodeGraphCore/GraphDocument.h"
ComponentTypeID GetComponentTypeID_Static()
Static validator for BT graph documents.
static void ValidateNodeTypes(const NodeGraph::GraphDocument *graph, std::vector< BTValidationMessage > &messages)
Rule 5: Validate node types are registered.
static void ValidateRootNode(const NodeGraph::GraphDocument *graph, std::vector< BTValidationMessage > &messages)
Rule 1: Check for exactly one root node.
static void ValidateOrphans(const NodeGraph::GraphDocument *graph, std::vector< BTValidationMessage > &messages)
Rule 4: Check for orphan nodes (disconnected from root)
static std::vector< BTValidationMessage > ValidateGraph(const NodeGraph::GraphDocument *graph)
Validate a complete BT graph.
static void ValidateCycles(const NodeGraph::GraphDocument *graph, std::vector< BTValidationMessage > &messages)
Rule 2: Detect cycles in graph.
static void ValidateChildrenCount(const NodeGraph::GraphDocument *graph, std::vector< BTValidationMessage > &messages)
Rule 3: Validate child counts per node type.
Main document class for a node graph.
BTValidationSeverity
Severity level of validation message.
@ Warning
Warning (non-blocking)
@ Info
Informational message.
@ Error
Error (blocking compilation)
< Provides AssetID and INVALID_ASSET_ID
Validation result message.
std::string fix
Suggested fix.
uint32_t nodeId
Node ID (0 if global error)
std::string message
Description of the issue.
BTValidationSeverity severity