Copy the height fields to the points of an octahedron to shape a cube, apply noise there and assign them to a cross.
Alternatively try sampling the world position noise from a cube mesh right away:
int index[] = array(0,2,1,3,5,4);
vector bb = relbbox(0, v@P);
vector uvw = set(bb.x, bb.z, 0.0);
vector pos = primuv(1, 'P', index[i@primnum], uvw);
float height = noise(pos * 50.0) * 200.0;
f@density = height;
heightfield_cube.hipnc