skkeyeandClaude Opus 5.5 e097e53a85 Make branch lines take their parent's color
A node's color now flows down the lines to its children, mind-map style:
Watering's teal colors the lines to Rain barrel and Drip line. It used to
color the line from the root down to Watering itself, which also left the
shared bus of a parent's branches in whichever child's color was drawn
last. Branches follow their parent by default, and stay dim when the
parent has no color.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 01:40:24 -04:00

cumulus

Brainstorm in the terminal: ideas as nodes on a 2D canvas, connected, folded and color-coded, across as many documents as you like. Vim keys first; the mouse works too. Runs on Windows and Linux.

Status: being built, one stage at a time. See DESIGN.md for the plan; this README grows with the app.

Build and run

You need Rust (rustup.rs). The exact version is pinned in rust-toolchain.toml, and rustup installs it by itself the first time.

cargo build --release

The program is target/release/cumulus (cumulus.exe on Windows): copy it to a folder on your PATH.

  • Windows: nothing else to install. The .exe carries its own C runtime and runs on any Windows 10 or 11.
  • Linux (Void, Fedora…): build the same way. You can also build a static Linux binary from Windows with cargo linux: it lands in target/x86_64-unknown-linux-musl/release/cumulus and runs on any distribution.

Keys

The plan for the everyday keys (all of them are in DESIGN.md):

Keys What they do
hjkl move to the nearest node that way
gh gj gk gl parent, next sibling, previous sibling, first child
o O a new sibling below / above, new child
i or Enter edit the title
dd x delete the branch / just the node
u Ctrl-r undo / redo
za zf zi fold, auto-fold, focus
+ - zoom in / out
C M v connect, move, select
<Space> the action menu
: ? command line, help

After the first key of a sequence (g, z, d, <Space>…), a popup lists what can follow.

Development

cargo test    # run the tests
cargo lint    # clippy, treating warnings as errors
cargo fmt     # format the code

While the app is being built, the examples try out each part:

cargo run --example canvas                         # the canvas, on a sample document
cargo test show_canvas -- --ignored --nocapture    # print it at each zoom, as text
S
Description
No description provided
Readme
588 KiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 100%