I'm fine with starting 2D and moving up, though sometimes if you start N-D it's easier to do it once, right, than to generalize a 2D algorithm. In this case it's probably easier to limit it to 2D.

@ankit-maverick I was thinking more of super-resolution algorithms - marching squares, level set contours, and others can specify vertex/feature coordinates that are finer than the grid and thus must be returned with floats. If we never expect to have a descriptor which does this, some form of `int` would be fine, but it isn't all that uncommon.