mainly fixing CAP to not have absent values now that language doesn't do defaults...
fix another lack of value thing in 3D
more guards for 3D stuff