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

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

(strand logic / recursive braid)

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