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:
1 parent
5d58ee4577
commit
f3822a8d98
28 files changed
+3068
-240
No files matched your search
+9
-1
@@ -18,10 +18,12 @@ pub enum Tool {
|
||||
Pen,
|
||||
Text,
|
||||
Brush,
|
||||
Note,
|
||||
Connector,
|
||||
}
|
||||
|
||||
impl Tool {
|
||||
pub const ALL: [Tool; 10] = [
|
||||
pub const ALL: [Tool; 12] = [
|
||||
Tool::Select,
|
||||
Tool::Hand,
|
||||
Tool::Rect,
|
||||
@@ -32,6 +34,8 @@ impl Tool {
|
||||
Tool::Pen,
|
||||
Tool::Text,
|
||||
Tool::Brush,
|
||||
Tool::Note,
|
||||
Tool::Connector,
|
||||
];
|
||||
|
||||
pub fn words(self) -> &'static str {
|
||||
@@ -46,6 +50,8 @@ impl Tool {
|
||||
Tool::Pen => "Pen",
|
||||
Tool::Text => "Text",
|
||||
Tool::Brush => "Brush",
|
||||
Tool::Note => "Note",
|
||||
Tool::Connector => "Connector",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,6 +68,8 @@ impl Tool {
|
||||
Tool::Pen => "p",
|
||||
Tool::Text => "t",
|
||||
Tool::Brush => "b",
|
||||
Tool::Note => "n",
|
||||
Tool::Connector => "c",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user