01 Welcome.

I made this toy to share an idea that I couldn't explain another way.

You'll need a keyboard to play. Press the down key to come in, or press "" to skip ahead to free play mode.

02 Pause

This toy makes ethical graphs. It starts with a few values and elaborates them into a worldview.

Let me explain...


I started with a line. {depth: 1}

Then I measured 30° either side. {offset: 30}

I added two shorter lines branching off the first one. {depth: 2}


Repeating those instructions again adds new branches to each existing branch. {depth: 3}



{depth: 6}


What if I start again with a 60° spread instead of 30°?

{depth: 6, offset: 60}


Imagine this a diagram of your ethics. Instead of math-words like "depth" and "offset", supply your own ethics-words.

Maybe instead of {offset: 60}, you rate yourself {conservative: 60}.


Let's say this diagram is a simplified fingerprint of your unique ethical identity.

The labels are not important: individual/ collective, or spiritual/ secular, pragmatic/ idealistic, whatever words you use to describe your core values.

{depth: 6, offset: 60}


People are too complex to model with 2 attributes. Let's add a few more.

{depth: 6, offset: 60, repeat: 2}


{depth: 6, offset: 60, repeat: 2, twist: 30 }


{depth: 6, offset: 60, repeat: 2, twist: 30, size: 5 }


{depth: 6, offset: 60, repeat: 2, twist: 30, size: 5, opacity: 75% }


Now with 6 attributes, this machine generates a huge amount of diversity.

Press any of the number keys to test a few samples. Try 4, or 2, 6...


Maybe you experience life through a filter that looks a bit like 3, but your dad's brain is more 4-shaped. You have different settings on a couple of core values, and the result is a completely different understanding of how the world works.


It makes more sense when you play with it yourself. Press down to enter free play mode. Then down again to reach the next stage, or up to return here.


Select an attribute with Q W E R T Y, or use A/Z to cycle through them.

Modify the value with J/N


Let's add some animation. Use K/M to alter the amplitude and L/, to modify frequency.

Change the overall speed with U.

Play or pause with space.

Show/hide the text interface with I.


This project is free software, open for contributions.

Discussion on #fractal-tree on Scuttlebutt.

{ depth: 10, offset: 60, repeat: 6, twist: -60, size: 10, opacity: 0.75 }
quirkk [Q] 0 0 0
widthh [W] 0 0 0
energy [E] 0 0 0
repeat [R] 0 0 0
tensor [T] 0 0 0
yessss [Y] 0 0 0
huuuue [H] 255R 0G 150B
urgncy [U] 0
orbitt [O] 0
points [P] 0