Initially, I thought Box<[[[u64; 16]; 16]; 16]> is nice because we know statically the dimensions, and maybe the compiler can do some magic optimizations.
However, in terms of indexing, it seems Box<> has the same amount of indirection as Vec<>, and with Box, there is always this fear I might accidentally overflow the stack in constructors.
Does Box have any advantage over Vec in the above ?
One minor advantage of Box<[T]> over Vec<T> is that it does not store capacity, thus it has size of 2 words instead of 3.
As for using [[[u64; 16]; 16]; 16] instead of u64, I would say it improves indexing code, i.e. foo[i][x][y][z] is better and less error-prone than foo[16*16*16*i + 16*16*x + 16*y + z]. For example, the latter may not result in panic if x, y, or z is bigger or equal to 16.
UPD: I've misread the OP and thought the author meant Box<[[[[u64; 16]; 16]; 16]]>, i.e. boxed slice instead of boxed array.