several tweaks.

remove surface_compound;
finding the intersected surface is directly done by world;
surface_tricompound stores the transformation info.