Skip to main content

Overview

Cerulion Graph Editor is a visual programming tool for building real-time data flow systems. Instead of writing glue code to connect components, you build a graph by placing nodes on a canvas and connecting them with typed data channels. Think of it as a visual IDE where you design your system architecture by drawing connections between components, and the framework automatically generates the communication code for you.

What is Cerulion Graph Editor?

Cerulion Graph Editor is a visual programming platform that lets you design data pipelines and workflows by connecting nodes on a canvas. Each node represents a computation unit (like a function), and you connect them with typed data channels called topics. The editor automatically generates the framework code needed to run your graph, handling all the low-level communication details.
If you’ve used tools like Node-RED, LabVIEW, or visual programming environments, Cerulion Graph Editor follows a similar concept but is specifically designed for high-performance, real-time data processing systems with support for Rust, Python, and C++.

Why Use Cerulion Graph Editor?

Visual Architecture

Design your system architecture visually. See data flow at a glance and understand how components connect without reading through code.

Type-Safe Connections

Typed data channels prevent runtime errors. The editor ensures compatible data types flow between nodes, catching errors before execution.

Multi-Language Support

Write node logic in Rust, Python, or C++ within the same graph. Mix languages based on performance needs and team expertise.

Automatic Code Generation

The framework generates all communication code automatically. Focus on your business logic, not on wiring components together.

Real-Time Performance

Built on Cerulion Core for sub-microsecond latency. Zero-copy local transport and efficient network communication.

Modular Design

Rearrange and modify components without rewriting wiring code. Visual design makes refactoring and iteration fast.

How It Works

Cerulion Graph Editor follows a simple workflow:
  1. Design Your Graph: Place nodes on the canvas and define their inputs and outputs
  2. Define Schemas: Create type-safe message structures that flow between nodes
  3. Connect Nodes: Draw connections between node ports to create data flow paths
  4. Write Node Code: Implement the logic for each node in Rust, Python, or C++
  5. Generate & Run: The editor generates framework code and runs your pipeline
Get started in 10 minutes. You’ll build a working graph (publisher → processor → subscriber), connect nodes with typed topics, and write node code to see data flow through your system.

Key Concepts

Before diving in, here are the fundamental building blocks:

Nodes

Nodes are computation units—like functions—that run code when data arrives. Each node has input ports (on the left) that receive data and output ports (on the right) that send data. Nodes can be written in Rust, Python, or C++.

Topics

Topics are named, typed data channels that connect nodes. When you connect an output port to an input port, you’re creating a topic that carries data between those nodes. Topics ensure type safety—only compatible data types can flow through a connection.

Schemas

Schemas define the structure of data that flows through topics. They’re like type definitions that ensure all nodes understand the data format. Schemas are defined in YAML and can be shared across multiple topics. Ports are connection points on nodes—inputs receive data, outputs send data. Links are the visual connections you draw between ports, creating the data flow paths in your graph.

Triggers

Triggers determine when a node executes. By default, all inputs are triggers—when new data arrives on any input, the node runs. You can configure specific inputs as triggers for more control over execution timing.

Projects and Files

Graphs are organized into projects, and each project can contain multiple graphs. Files in your project define schemas, node implementations, and configuration.

When to Use Cerulion Graph Editor

Cerulion Graph Editor is designed for systems where you care about:
  • Real-time behavior — Low-latency data processing and immediate responses
  • Clear, inspectable data flow — Visual representation makes system architecture easy to understand
  • Performance-oriented messaging — Zero-copy patterns and efficient data transfer
  • Modularity — Rearrange components without rewriting wiring code
  • Multi-language integration — Combine Rust, Python, and C++ components in one system
Cerulion Graph Editor is optimized for real-time, data-flow systems. If you need complex control flow, state machines, or event-driven architectures with many conditional branches, you might find traditional code more suitable.

Prerequisites

You don’t need to be an expert, but you’ll move faster if you have:
  • A basic understanding of programming concepts (functions, inputs/outputs, variables)
  • Familiarity with one of: Rust, Python, or C++
  • Comfort with data structures and types (structs, classes, fields)
These are recommended prerequisites. You can start learning as you go, but having this foundation will help you progress faster.

Next Steps

Ready to get started? Follow these guides: