Once this project's minimum supported C++ standard reaches C++23, migrate minimumWidth() and maximumWidth() to return std::expected<int, WidthConstraintCase> instead of encoding these cases as negative int sentinels. That removes the possibility of a caller silently misinterpreting a sentinel as a real pixel width – something the current int-based encoding cannot prevent at compile time.