The marching tetrahedra idea is showing promise for generating the example. Instead of interpolating between the two points of an edge, I simply take the midpoint which results in a blocky input:

center

Remaining to do list:

  • Extend to 4D
  • Fix orientations, some triangles have the wrong orientation.