trait LiftCylinderAxleActuators:
    # Define four axles
    left_lift_barrel_axle is CAT_D10.Assets.Components.Axle
    left_lift_rod_axle is CAT_D10.Assets.Components.Axle
    right_lift_barrel_axle is CAT_D10.Assets.Components.Axle
    right_lift_rod_axle is CAT_D10.Assets.Components.Axle

    # Create bearings on the chassis
    chassis:
        left_lift_bearings is MachineModeling.Components.Composite.BearingPair with MachineModeling.Components.Composite.Traits.BearingsFromConnector:
            separation: 0.28
            body: chassis.body
            connector: chassis.left_lift_connector
        right_lift_bearings is MachineModeling.Components.Composite.BearingPair with MachineModeling.Components.Composite.Traits.BearingsFromConnector:
            separation: 0.28
            body: chassis.body
            connector: chassis.right_lift_connector

    blade:
        left_lift_bearings is MachineModeling.Components.Composite.BearingPair with MachineModeling.Components.Composite.Traits.BearingsFromConnector:
            separation: 0.2
            body: blade.body
            connector: blade.left_mid_connector
        right_lift_bearings is MachineModeling.Components.Composite.BearingPair with MachineModeling.Components.Composite.Traits.BearingsFromConnector:
            separation: 0.2
            body: blade.body
            connector: blade.right_mid_connector

    blade_connection:
        # Upgrade the cylinders
        left_lift_actuator becomes MachineModeling.Actuators.Linear.CylinderBearings with CAT_D10.Assets.Components.Traits.LiftCylinderBearings, CAT_D10.Assets.Components.Traits.VelocityMotor
        right_lift_actuator becomes MachineModeling.Actuators.Linear.CylinderBearings with CAT_D10.Assets.Components.Traits.LiftCylinderBearings, CAT_D10.Assets.Components.Traits.VelocityMotor

        left_lift_connection becomes MachineModeling.Actuators.Linear.Connections.CylinderAxleBearings:
            barrel_axle: left_lift_barrel_axle
            rod_axle: left_lift_rod_axle
            from_bearings: chassis.left_lift_bearings
            to_bearings: blade.left_lift_bearings
            actuator: blade_connection.left_lift_actuator

        right_lift_connection becomes MachineModeling.Actuators.Linear.Connections.CylinderAxleBearings:
            barrel_axle: right_lift_barrel_axle
            rod_axle: right_lift_rod_axle
            from_bearings: chassis.right_lift_bearings
            to_bearings: blade.right_lift_bearings
            actuator: blade_connection.right_lift_actuator
