loop: for each split: grow( tension * 0.5 ) if length > threshold: branch( color = #aa2 ) branch( color = #hair ) branch( color = #v2 )

aa2.hair.v2 init: strand[0] = "split" strand[1] = "split again"

export: aa2.hair.v2.final = "a braid of versions"

(strand logic / recursive braid)

v2 rule: each branch forgets its origin each branch remembers its split

end condition: no split is singular every strand contains the whole head at least twice

Aa2.hair.v2

loop: for each split: grow( tension * 0.5 ) if length > threshold: branch( color = #aa2 ) branch( color = #hair ) branch( color = #v2 )

aa2.hair.v2 init: strand[0] = "split" strand[1] = "split again" aa2.hair.v2

export: aa2.hair.v2.final = "a braid of versions" loop: for each split: grow( tension * 0

(strand logic / recursive braid)

v2 rule: each branch forgets its origin each branch remembers its split aa2.hair.v2

end condition: no split is singular every strand contains the whole head at least twice