public class MaskedStarRenderable: ConfiguredQuadRenderable<MaskedStarRenderable.Config> {
    public struct Config: QuadRenderConfiguration {
        let radius: ADFloat
        let arm_ratio: ADFloat
        let rounding: ADFloat
        let rotation: ADFloat
        let space_scale: ADFloat
        let x_offset: ADFloat
        let y_offset: ADFloat

        public init(
            starRadius: ADFloat = 0.1,
            armRatio: ADFloat = 1.0,
            rounding: ADFloat = 0.0,
            rotation: ADFloat = 0.0,
            spaceScale: ADFloat = 0.0,
            xOffset: ADFloat = 0.0,
            yOffset: ADFloat = 0.0
        ) {
            self.radius = starRadius
            self.arm_ratio = armRatio
            self.rounding = rounding
            self.rotation = rotation
            self.space_scale = spaceScale
            self.x_offset = xOffset
            self.y_offset = yOffset
        }

        public static var defaultConfiguration: Config {
            return Config()
        }
    }

    override public var configureAction: ConfigureAction {
        return { encoder in
            super.configureAction(encoder)
        }
    }

    override var fragmentShaderName: String {
        return "masking_star_frag"
    }
}
