Top-to-bottom once-thru.
Code updated to include aggressive behavior (tangram hurting) from Tear and Nielsen 2014.