def METHOD_NAME(
    scale: Scale, coord_limits: TupleFloat2, trans: Trans
) -> scale_view:
    if coord_limits:
        coord_limits = trans.transform(coord_limits)
    expansion = scale.default_expansion(expand=self.expand)
    ranges = scale.expand_limits(
        scale.limits, expansion, coord_limits, trans
    )
    sv = scale.view(limits=coord_limits, range=ranges.range)
    sv.range = tuple(sorted(ranges.range_coord))
    sv.breaks = transform_value(
        trans,
        # TODO: fix typecheck
        sv.breaks,  # pyright: ignore
        sv.range,
    )
    sv.minor_breaks = transform_value(trans, sv.minor_breaks, sv.range)
    return sv