int? resolveDimension(num? value) { if (value == null) return null; if (value is double && (value.isNaN || value.isInfinite)) return null; return roundClamp(value); }