     /// - Parameters:
     ///   - center: The point the rotation will be applied around.
     ///   - angle: The rotation's angle in radians.
-    @inlinable
-    mutating func rotate(relativeTo center: CGPoint, by angle: CGFloat) {
+    @inlinable mutating func rotate(relativeTo center: CGPoint, by angle: CGFloat) {
         self = self.rotated(relativeTo: center, by: angle)
     }
 }

    ///   - xAxis: The x axis' constraint.
    ///   - yAxis: The y axis' constraint.
    /// - Returns: A properly aligned rect.
    @inlinable
    func aligned(relativeTo rect: CGRect, xAxis: AxisAlignment, yAxis: AxisAlignment) -> CGRect {
        let origin = self.origin
        let coord: [CGFloat] = [(a: xAxis, o: origin.x, lon: self.width, min: rect.minX, max: rect.maxX, mid: rect.midX),
                     (a: yAxis, o: origin.y, lon: self.height, min: rect.minY, max: rect.maxY, mid: rect.midY)].map {
            switch $0.a {
            case .mid:
                return $0.mid - $0.lon / 2
            case .min:
                return $0.min
            case .max:
                return $0.max - $0.lon
            case .none:
                return $0.o
            }
        }
        let newOrigin = CGPoint(x: coord[0], y: coord[1])
        
        return CGRect(origin: newOrigin, size: self.size)
    }
    
    /// Aligns `self` relative to the given rect following x and y axis contraints.



import CoreGraphics
import simd

// MARK: Initializers
public extension CGRect {
    /// Creates a rectangle with the specified size.
    @inlinable init(size: CGSize) {
        self.init(origin: .zero, size: size)
    }
    
    /// Creates a rectangle with the specified center and size.
    @inlinable init(center: CGPoint, size: CGSize) {
        let origin = CGPoint(simd2: center.simd2 - (size.simd2 / 2))
        self.init(origin: origin, size: size)
    }

    @inlinable init(ratio: Ratio, maxSize: CGFloat) {
        let width: CGFloat, height: CGFloat
        switch ratio.orientation {
        case .landscape:
