Canvas · Graphs and boards: node graph, flow chart, mind map, whiteboard

NodeGraph joins Nodes by wires between typed Ports: a title drags a
node, a drag out of an output lands on an input of the same kind, an
input takes one wire, and a press on a wired input lifts its wire.
Links join shapes on the plane and follow them, straight or at right
angles, with an arrow and words; the Connector tool draws them and the
Note tool drops a sticky note. A double press with Select writes on a
shape. FlowChart draws Steps as ellipses, boxes and diamonds with their
words. MindMap lays topics out from a root, half to each side, and asks
the owner to add, remove and rename by key. Whiteboard keeps its own
tool, view and selection over a board it hands back after each change.
Painting moves to canvas::paint; a press on the tool layer goes through
canvas::press, and the layer focuses itself and asks to delete.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-27 08:22:54 -04:00
1 parent 5d58ee4577
commit f3822a8d98
28 files changed
+3068 -240

No files matched your search

+18
View File
@@ -4,20 +4,31 @@ mod autolayout;
mod constraints;
mod edit;
mod export;
mod flow;
mod gesture;
mod graph;
mod history;
mod inspector;
mod layers;
mod links;
mod marks;
mod mindmap;
mod mindmap_view;
mod minimap;
mod nodes;
mod paint;
mod palette;
mod panel;
mod plane;
mod press;
mod shape;
mod style;
mod tools;
mod typography;
mod view;
mod whiteboard;
mod wiring;
mod writing;
mod zoom;
#[cfg(all(test, feature = "test-support"))]
@@ -29,12 +40,18 @@ pub use autolayout::{AutoLayout, AutoLayoutControls, Flow, Place};
pub use constraints::{Constraints, ConstraintsEditor, Pin};
pub use edit::{Handle, Tool};
pub use export::{ExportFormat, ExportPanel, ExportSetting, export_files};
pub use flow::{FlowChart, Step, StepKind};
pub use gesture::Brush;
pub use graph::{Edge, Node, Port};
pub use history::HistoryPanel;
pub use inspector::InspectorPanel;
pub use layers::LayerPanel;
pub use links::Link;
pub use marks::{SelectionBox, SnapIndicator, TransformHandles};
pub use mindmap::Topic;
pub use mindmap_view::MindMap;
pub use minimap::MiniMap;
pub use nodes::NodeGraph;
pub use palette::{BrushSettings, ToolPalette};
pub use plane::InfiniteCanvas;
pub use shape::{Artboard, Corner, Guide, Shape, ShapeKind};
@@ -42,4 +59,5 @@ pub use style::{Border, BorderEditor, ColorPanel, Dash, Shadow, ShadowEditor};
pub use tools::ToolLayer;
pub use typography::{TypeStyle, TypographyPanel};
pub use view::{Frame, Viewport};
pub use whiteboard::{Board, Whiteboard};
pub use zoom::{ZoomControls, ZoomIndicator};