A two-dimensional esolang: instructions are carved into a grid, and the shape of the path — not a jump table — decides where control flow goes.
Program
| * | No-op. |
| + | Increment memory[dp], then move dp right (odd/scratch convention: pairs with a following - to net a clean BF-style +). |
| - | Decrement memory[dp], then move dp left. |
| ! | DECISION. If memory[dp] == 0, the PC is forced South; otherwise it's forced East — regardless of which neighbouring cells exist. |
| . | Output memory[dp] as an ASCII byte. |
The PC starts on the first non-blank character scanning top-to-bottom, left-to-right, and always steps to whichever orthogonal neighbour has a character — excluding the cell it just came from. A non-DECISION cell with more than one such neighbour is an ambiguous path error; a cell with none halts the program. Memory is a large wrapping byte tape, Brainfuck-style. There's no input instruction — BrainFreeze programs are purely generative.
Visualizer
Memory tape — centred on the data pointer
Output
Brainfuck source
BrainFreeze output
How the layout works
Each BF token expands to BrainFreeze instructions: +→+-, -→-+, >→-+++, <→+---, .→., [→!. A loop's body runs East of its ! and curves back around to re-enter from the North; the exit path runs South. Every loop routes its body and return path through freshly-allocated rows and columns, so unrelated parts of the program never become accidentally adjacent. Generated grids are larger than a hand-optimised BrainFreeze program would be — correctness took priority over compactness.