I would like to know how to even begin building an intuition for writing something in this. I read the entire README and the only thing I understand is glyph start and end ╵ ╷.
Agreed; needs a tutorial.
I think each "line" is a stack expression, where one direction marks what value the stack pushes at that point, and the other direction (or index on the canvas? it's really unclear) marks the operation? So, maybe going down two lines is the number "two", then going right "one" pushes; now if we continue "right" three steps that means "add"?
There's no conditional operator on a single line. Instead, if two lines come "near" each other there's an alternate denotation that compares the values and either terminates (or rolls back?) the line's behavior to some earlier point (perhaps dependent on the value in the stack?)
The glyph start marker ╵ also marks a block of code; if several consecutive glyphs start with the same number of them, they are part of the same block.
When the question strand executes, it looks at whether a list element (or entire list) is zero or below. If so, the entire block is rolled back to its previous state.
So all branching is done as rollbacks. And loops end by rolling back their last iteration.