We have the x1, y1, x2, y2, and z coordinate values in Buildings::t_building as uint32_t but DF actually uses int32_t for this, forcing conversions to be explicitly casted every time the boundary is crossed.
We should either update t_building to reflect the actual reality, or remove this type from DFHack's core. Notably, this type is only used by stonesense, and we could readily justify moving it to stonesense.