Yeah, nice demo!
btw: if faces are flipped you can use a quick hack:
=> go to the primitive class and peruse the 'build....()' method.
=> you'll see something like 'new Face3D( [p0, p1, p2] ) '
=> just invert the array => [p2, p1, p0]
When I find back primitive-motivation I'll look into it ;-)
Tim