跳转至

端口、连接与拓扑校验

GFFlowPort 可为节点声明输入/输出端口、值类型提示和自定义元数据。GFFlowGraph.connections 可描述节点级或端口级连接,validate_graph() 可提前检查缺失后继节点、重复节点 ID、端口 ID、连接端点和单连接端口约束。

graph.add_connection(&"check_door", &"", &"open", &"")
graph.add_connection(&"check_door", &"", &"locked", &"")

GFFlowGraph 默认启用 validate_port_compatibility。它会使用端口的 value_type 和 Object 端口的 class_name_hint 检查端口级连接,避免编辑器或导入流程把明显不兼容的数据线写入资源。

迁移旧资源时可以临时关闭 validate_port_compatibility。需要独立检查时,可调用 check_connection_compatibility()get_connection_compatibility_report()

validate_graph() 还会输出通用拓扑诊断:

  • warn_unreachable_nodes:默认提示从 start_node_id 无法到达的节点。
  • warn_cycles:默认提示循环结构。
  • warn_terminal_nodes:可显式开启,用于提示无后继节点。

这些诊断只作为 warning,不假设循环或终端节点一定错误。项目可以在编辑器、导入流程或 CI 中按自己的资源规范决定是否把某类 warning 提升为错误。