NeonSturm
StormMaker
JavaScript:
for each (block which has air|space above it)
+x -x +z -z = // true for sides where adjacent surface is 1 block lower
if only( +x or -x )
if only( +y or -y ) render (a corner, penta or wedge)
shape and 1 of 2 possible orientations dependent on adjacent (wedge, block | wedge, wedge | block, block)
else render a wedge
else if only( +y or -y ) render a wedge
else render a block