Current Status
NodeBraid is at an early implementation stage, but it already has a working headless Canvas Runtime backbone. This page describes only capabilities committed on the current branch; it does not infer completion from the target architecture.
Delivered
- NodeBraid-owned Plugin Host, Runtime Services, Activations, and resource disposal;
- Structured errors, Diagnostic Events, Sinks, and the Fault Reporter contract;
- Renderer-independent Kernel, synchronous Transactions, Canvas Views, Queries, and Change Sets;
- Kernel, Command, Session, History, and Renderer Runtime Plugins;
- Selection, Viewport, and backend-neutral Renderer value contracts;
- Backend-neutral Interaction Projections plus Selection, Box Selection, Delete Selection, independent Duplicate Selection, multi-Node Drag, Pan, Wheel Zoom, and Port-aware/node-level Edge Connection Runtime behavior;
- Pure in-memory
@nodebraid/canvas-fragmentvalues and explicit Clipboard Copy/Paste with application-owned codec and transport; - The reference-quality
@nodebraid/renderer-svgProvider, with real-Chromium verification of SVG projection, input, Hit Testing, and lifecycle; - Layout Input/Engine/Proposal contracts and Runtime Command integration; Dagre and ELK both accept Node topologies mixing ordinary and Port-qualified Edges, preserve Port connections, and support one-step History without a Port Plugin;
- Dagre full Layout Provider;
- ELK full, incremental, and Fixed Node Layout Providers;
- The backend-neutral
@nodebraid/preset-basicBasic Canvas Composition and a real SVG canonical example; - The public
@nodebraid/adapter-reactRuntime Mount and stable Snapshot Hooks with real-Chromium lifecycle verification; - A private
@nodebraid/examplesReact/TanStack Router Examples Application; Basic SVG provides manual whole-canvas Dagre/full/LR layout that preserves Selection, Viewport, and original Port connections, with real UI + Canvas Chromium acceptance; - A public facade aggregated through
@nodebraid/core.
See All modules for the complete inventory.
The pure @nodebraid/document package supports complete graph files, explicit application data codecs and manual Example export/import with a fresh History Baseline.
Current gaps
No product-level editor shell yet
The current branch delivers the Basic Canvas Composition, Duplicate/Delete Selection, explicit Clipboard Copy/Paste, the Port Capability, Port-aware/node-level Edge Connection, the SVG Renderer loop, the React Adapter, and a developer-reference Examples Application. It still has no Vue or other framework adapter and no product-level editor shell. It does not include automatic/cloud Persistence, a cross-version Clipboard format, Edge/Port box selection, lasso, snapping, pinch/touch tools, arbitrary HTML/React component Nodes and inline text editing, or an extensible Tool Registry.
Versioned complete Document serialization and manual Example file export/import are available. There is no automatic/cloud Persistence, Collaboration, or remote synchronization. A name appearing in the target architecture does not mean it has become a public package.
Layout for graphs with Ports only arranges Nodes. Port-aware layout that uses Port sides, order, or Geometry in the algorithm remains unimplemented; the Renderer continues to own Port Geometry.
Package publication status
This repository's source declares @nodebraid/* names, but those packages have not been publicly released. This project does not currently provide an npm installation command. Use a source checkout through the Quick Start.
The initial npm release must verify and update package identities, site notices, and examples together. This rename does not publish packages.
Verification level
Each capability is evidenced by current public exports, package tests, declaration isolation, and real Runtime composition. The repository's aggregate checks cover linting, type checking, formatting, Bun tests, real-browser tests, builds, the Quick Start, and the production documentation build.
The site does not treat README counts, link existence, or design documents as proof of runtime behavior. When evidence conflicts, the current implementation and tests take precedence, while design intent remains documented separately.
Generic Node creation, strict data editing and one-shot placement are available. SVG custom content retains rectangular interaction bounds; the Example owns its Apply/Cancel property form. See Node Editing.