whatisgithub

What is laznodeeditor?

cynicrus/laznodeeditor — explained in plain English

Analysis updated 2026-06-24

12PascalAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A visual node graph editor component for Lazarus and Pascal, add a drag-and-drop node-based interface like Blender's editor to your own desktop app with no external dependencies.

Mindmap

mindmap
  root((LazNodeEditor))
    What it does
      Visual node canvas
      Drag and drop nodes
      Connect data and flow
      Save and load JSON
    Features
      Snap to grid
      Zoom and pan
      Undo redo
      Inspector panel
    Tech stack
      Pascal
      Lazarus IDE
      LCL toolkit
    Use cases
      Visual scripting
      Shader editors
      Game logic editors
      Automation tools
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add a visual scripting node editor to a Lazarus desktop app so non-technical users can build logic without writing code.

USE CASE 2

Build a custom shader or game logic node editor as a reusable Lazarus component for a game engine project.

USE CASE 3

Create a node-based automation workflow builder by registering custom node types with defined input and output pins.

USE CASE 4

Use the built-in JSON save and load support to persist and restore user-designed node graphs between sessions.

What is it built with?

PascalLazarusLCL

How does it compare?

cynicrus/laznodeeditorcoldzer0/luadecompilerregyssilveira/radia-plugin
Stars121213
LanguagePascalPascalPascal
Setup difficultymoderatehardmoderate
Complexity3/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires the Lazarus IDE installed, add the component as a single file to your project with no external library dependencies.

So what is it?

LazNodeEditor is a visual node graph editor component for the Lazarus IDE, which is a free development environment for Pascal. A node graph is the kind of interface you see in tools like Blender or game engines: boxes representing operations connected by lines representing data flow. This component provides that type of interface as a reusable building block you can drop into your own Lazarus application. The component supports two kinds of connections between nodes: execution flow pins, which control the order operations run, and data pins, which pass values like numbers, text, or booleans between nodes. Nodes can be moved, copied, duplicated, connected, and disconnected through standard mouse interactions. The editor includes snap-to-grid, zoom, pan, and the ability to frame all nodes or fit the view to a selection. An undo and redo system tracks changes, and graphs can be saved and loaded as JSON files. Building custom node types is the intended use case. You write a class that inherits from the base node type, define its input and output pins in one method, and register it with the editor. From that point it appears in the context menu and can be dragged onto the canvas like any built-in node. An inspector panel can be connected to the editor and automatically displays the properties of whichever node is selected, including editable values for numbers, text, and toggle options. The component has no external library dependencies and uses only the standard Lazarus LCL toolkit for drawing and interaction. It runs on Windows 10 and 11, as well as Linux with several different graphical backends. Installation is a single file added to a project. The README lists possible uses as visual scripting, shader editors, game logic editors, and automation tools.

Copy-paste prompts

Prompt 1
Help me create a custom node type in LazNodeEditor by subclassing the base node, defining input and output pins in the required method, and registering it so it appears in the context menu.
Prompt 2
I want to save my LazNodeEditor graph to a JSON file and reload it when the app restarts. Show me how to use the built-in save and load functionality.
Prompt 3
Walk me through connecting an inspector panel to LazNodeEditor so that clicking a node automatically displays its editable properties in a side panel.
Prompt 4
I want to add a color picker data pin type to LazNodeEditor. Show me how to define a new custom pin type and render it on the node canvas.

Frequently asked questions

What is laznodeeditor?

A visual node graph editor component for Lazarus and Pascal, add a drag-and-drop node-based interface like Blender's editor to your own desktop app with no external dependencies.

What language is laznodeeditor written in?

Mainly Pascal. The stack also includes Pascal, Lazarus, LCL.

How hard is laznodeeditor to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is laznodeeditor for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.