Introducing the core concepts of Ceres.
CeresNode
is the logic and data container.
CeresPort
enables you to get data from other nodes.
Ceres use CeresPort<T>
to set get generic data from other Node and use NodePort
to get a NodeReference
which can convert to CeresNode
at runtime.
CeresGraph
contains everything and acts as a virtual machine.
Ceres serialize node, port and graph to an additional data structure: CeresNodeData
, CeresPortData
and CeresGraphData
which contains the actual serialized data and metadata.
SharedVariable
is a data container that can be shared between nodes and graphs.
Compared with CeresPort
, SharedVariable
can be edited out of graph and not contain any connection data since it not need to know where the data comes from.
Node can be executed in two way:
Forward: Graph can execute nodes one by one.
Dependency: Graph should execute node's dependencies before execute node.
As shown in the figure, to execute Log String
, we need first get the variable message
. However, since Get message
has no outer connect it, it has not been executed before. So the graph need consider Get message
as dependency and execute it before executing Log String
.