design:
  meta:
    upper:
      v: null
      range:
      - FittedShirt
      - Shirt
      - null
      type: select_null
      default_prob: 0.3
    wb:
      v: null
      range:
      - StraightWB
      - FittedWB
      - null
      type: select_null
      default_prob: 0.5
    bottom:
      v: null
      range:
      - SkirtCircle
      - AsymmSkirtCircle
      - GodetSkirt
      - Pants
      - Skirt2
      - SkirtManyPanels
      - PencilSkirt
      - SkirtLevels
      - null
      type: select_null
      default_prob: 0.3
    connected:
      v: false
      range:
        - true
        - false
      type: bool
  waistband:
    waist:
      v: 1.0
      range:
      - fitted: 1.05
      - slightly-loose: 1.3
      - loose: 1.75
      type: float
      default_prob: 0.7
    width:
      v: 0.2
      range:
      - narrow: 0.2
      - medium: 0.45
      - wide: 0.8
      type: float
      default_prob: 0.5
  fitted_shirt:
    strapless:
      v: false
      range:
        - true
        - false
      type: bool
      default_prob: 0.8
  shirt:
    length:
      v: 1.2
      range:
      - super-cropped: 0.75
      - regular: 1.15
      - long: 1.55
      type: float
      default_prob: 0.7
    width:
      v: 1.0
      range:
      - normal: 1.05
      - relaxed: 1.2
      type: float
      default_prob: 0.4
    flare:
      v: 1.0
      range:
        - tight: 0.7
        - straight: 1.0
        - flared: 1.15
        - very-flared: 1.45
      type: float
      default_prob: 0.4
  collar:
    f_collar:
      v: CircleNeckHalf
      range:
      - CircleNeckHalf
      - CurvyNeckHalf
      - VNeckHalf
      - SquareNeckHalf
      - TrapezoidNeckHalf
      - CircleArcNeckHalf
      - Bezier2NeckHalf
      type: select
      default_prob: 0.4
    b_collar:
      v: CircleNeckHalf
      range:
      - CircleNeckHalf
      - CurvyNeckHalf
      - VNeckHalf
      - SquareNeckHalf
      - TrapezoidNeckHalf
      - CircleArcNeckHalf
      - Bezier2NeckHalf
      type: select
      default_prob: 0.8
    width:
      v: 0.5
      range:
      - very-narrow: 0.0
      - medium: 0.4
      - wide: 0.6
      type: float
      default_prob: 0.4
    fc_depth:
      v: 0.15
      range:
      - shallow: 0.15
      - medium: 0.4
      - deep: 0.6
      type: float
      default_prob: 0.3
    bc_depth:
      v: 0.1
      range:
        - shallow: 0.15
        - medium: 0.4
        - deep: 0.6
      type: float
      default_prob: 0.4
    fc_angle:
      v: 95
      range:
      - acute: 75
      - standard: 90
      - obtuse: 105
      type: int
    bc_angle:
      v: 95
      range:
      - acute: 75
      - standard: 90
      - obtuse: 105
      type: int
    f_bezier_x:
      v: 0.175
      range:
      - left: 0.2
      - center: 0.5
      - right: 0.8
      type: float
      default_prob: 0.4
    f_bezier_y:
      v: 0.55
      range:
      - top: 0.2
      - center: 0.5
      - bottom: 0.8
      type: float
      default_prob: 0.4
    b_bezier_x:
      v: 0.15
      range:
      - left: 0.2
      - center: 0.5
      - right: 0.8
      type: float
      default_prob: 0.4
    b_bezier_y:
      v: 0.1
      range:
      - top: 0.2
      - center: 0.5
      - bottom: 0.8
      type: float
      default_prob: 0.4
    f_flip_curve:
      v: false
      range:
      - true
      - false
      type: bool
      default_prob: 0.8
    b_flip_curve:
      v: false
      range:
      - true
      - false
      type: bool
      default_prob: 0.8
    component:
      style:
        v: null
        range:
        - Turtle
        - SimpleLapel
        - Hood2Panels
        - null
        type: select_null
        default_prob: 0.6
      depth:
        v: 7
        range:
        - shallow: 3
        - medium: 5.5
        - deep: 7.5
        type: float
      lapel_standing:
        v: false
        range:
        - true
        - false
        type: bool
      hood_depth:
        v: 1
        range:
        - shallow: 1.15
        - medium: 1.45
        - deep: 1.8
        type: float
        default_prob: 0.6
      hood_length:
        v: 1
        range:
        - short: 1.0
        - medium: 1.125
        - long: 1.25
        type: float

        default_prob: 0.6
  sleeve:
    sleeveless:
      v: true
      range:
      - true
      - false
      type: bool
      default_prob: 0.7
    armhole_shape:
      v: ArmholeCurve
      range:
      - ArmholeSquare
      - ArmholeAngle
      - ArmholeCurve
      type: select
      default_prob: 0.7
    length:
      v: 0.2
      range:
      - short: 0.2
      - half: 0.5
      - three-quarter: 0.7
      - long: 0.9
      - full: 1.1
      type: float
    connecting_width:
      v: 0.2
      range:
      - narrow: 0.0
      - medium: 0.2
      - loose: 0.528
      - very-loose: 0.85
      type: float
      default_prob: 0.6
    end_width:
      v: 1.0
      range:
        - closing: 0.55
        - straight: 1.0
        - opening: 1.3
      type: float
      default_prob: 0.4
    sleeve_angle:
      v: 10
      range:
        - small: 15
        - medium: 28
        - large: 43
      type: int
    opening_dir_mix:
      v: 0.1
      range:
      - negative-twist: -0.6
      - standard: 0.0
      - positive-twist: 0.55
      type: float
      default_prob: 1.0
    standing_shoulder:
      v: false
      range:
      - true
      - false
      type: bool
    standing_shoulder_len:
      v: 5.0
      range:
      - short: 5.0
      - medium: 7.0
      - long: 9.0
      type: float
    connect_ruffle:
      v: 1
      range:
      - none: 1.0
      - some: 1.35
      - obvious: 1.75
      type: float
      default_prob: 0.4
    smoothing_coeff:
      v: 0.25
      range:
      - very-smooth: 0.15
      - moderate: 0.25
      - less-smooth: 0.35
      type: float
      default_prob: 0.8
    cuff:
      type:
        v: null
        range:
        - CuffBand
        - CuffSkirt
        - CuffBandSkirt
        - null
        type: select_null
      top_ruffle:
        v: 1
        range:
          - straight: 1.3
          - tapered: 1.375
          - very_tapered: 1.575
        type: float
      cuff_len:
        v: 0.1
        range:
        - short: 0.1
        - medium: 0.2
        - long: 0.3
        type: float
        default_prob: 0.7
      skirt_fraction:
        v: 0.5
        range:
        - small: 0.2
        - medium: 0.45
        - large: 0.75
        type: float
        default_prob: 0.5
      skirt_flare:
        v: 1.2
        range:
        - slight: 1.15
        - moderate: 1.325
        - significant: 1.475
        type: float
      skirt_ruffle:
        v: 1.0
        range:
        - none: 1.0
        - some: 1.175
        type: float
        default_prob: 0.3
  left:
    enable_asym:
      v: false
      range:
      - true
      - false
      type: bool
      default_prob: 0.8
    fitted_shirt:
      strapless:
        v: false
        range:
          - true
          - false
        type: bool
        default_prob: 0.8
    shirt:
      width:
        v: 1.0
        range:
        - normal: 1.05
        - relaxed: 1.2
        type: float
        default_prob: 0.4
      flare:
        v: 1.0
        range:
          - tight: 0.7
          - straight: 1.0
          - flared: 1.15
          - very-flared: 1.45
        type: float
        default_prob: 0.4
    collar:
      f_collar:
        v: CircleNeckHalf
        range:
        - CircleNeckHalf
        - CurvyNeckHalf
        - VNeckHalf
        - SquareNeckHalf
        - TrapezoidNeckHalf
        - CircleArcNeckHalf
        - Bezier2NeckHalf
        type: select
        default_prob: 0.4
      b_collar:
        v: CircleNeckHalf
        range:
        - CircleNeckHalf
        - CurvyNeckHalf
        - VNeckHalf
        - SquareNeckHalf
        - TrapezoidNeckHalf
        - CircleArcNeckHalf
        - Bezier2NeckHalf
        type: select
        default_prob: 0.8
      width:
        v: 0.5
        range:
        - narrow: 0.0
        - medium: 0.4
        - wide: 0.6
        type: float
        default_prob: 0.4
      fc_angle:
        v: 95
        range:
        - acute: 75
        - standard: 90
        - obtuse: 105
        type: int
      bc_angle:
        v: 95
        range:
        - acute: 75
        - standard: 90
        - obtuse: 105
        type: int
      f_bezier_x:
        v: 0.3
        range:
        - left: 0.2
        - center: 0.5
        - right: 0.8
        type: float
        default_prob: 0.4
      f_bezier_y:
        v: 0.55
        range:
        - top: 0.2
        - center: 0.5
        - bottom: 0.8
        type: float
        default_prob: 0.4
      b_bezier_x:
        v: 0.15
        range:
        - left: 0.2
        - center: 0.5
        - right: 0.8
        type: float
        default_prob: 0.4
      b_bezier_y:
        v: 0.1
        range:
        - top: 0.2
        - center: 0.5
        - bottom: 0.8
        type: float
        default_prob: 0.4
      f_flip_curve:
        v: false
        range:
        - true
        - false
        type: bool
        default_prob: 0.8
      b_flip_curve:
        v: false
        range:
        - true
        - false
        type: bool
        default_prob: 0.8
    sleeve:
      sleeveless:
        v: true
        range:
          - true
          - false
        type: bool
        default_prob: 0.7
      armhole_shape:
        v: ArmholeCurve
        range:
          - ArmholeSquare
          - ArmholeAngle
          - ArmholeCurve
        type: select
        default_prob: 0.7
      length:
        v: 0.2
        range:
          - short: 0.2
          - half: 0.5
          - three-quarter: 0.7
          - long: 0.9
          - full: 1.1
        type: float
      connecting_width:
        v: 0.2
        range:
          - narrow: 0.0
          - medium: 0.2
          - loose: 0.528
          - very-loose: 0.85
        type: float
        default_prob: 0.6
      end_width:
        v: 1.0
        range:
          - closing: 0.55
          - straight: 1.0
          - opening: 1.3
        type: float
        default_prob: 0.4
      sleeve_angle:
        v: 10
        range:
          - small: 15
          - medium: 28
          - large: 43
        type: int
      opening_dir_mix:
        v: 0.1
        range:
          - negative-twist: -0.6
          - standard: 0.0
          - positive-twist: 0.55
        type: float
        default_prob: 1.0
      standing_shoulder:
        v: false
        range:
          - true
          - false
        type: bool
      standing_shoulder_len:
        v: 5.0
        range:
          - short: 5.0
          - medium: 7.0
          - long: 9.0
        type: float
      connect_ruffle:
        v: 1
        range:
          - none: 1.0
          - some: 1.35
          - obvious: 1.75
        type: float
        default_prob: 0.4
      smoothing_coeff:
        v: 0.25
        range:
          - very-smooth: 0.15
          - moderate: 0.25
          - less-smooth: 0.35
        type: float
        default_prob: 0.8
      cuff:
        type:
          v: null
          range:
            - CuffBand
            - CuffSkirt
            - CuffBandSkirt
            - null
          type: select_null
        top_ruffle:
          v: 1
          range:
            - straight: 1.3
            - tapered: 1.375
            - very_tapered: 1.575
          type: float
        cuff_len:
          v: 0.1
          range:
            - short: 0.1
            - medium: 0.2
            - long: 0.3
          type: float
          default_prob: 0.7
        skirt_fraction:
          v: 0.5
          range:
            - small: 0.2
            - medium: 0.45
            - large: 0.75
          type: float
          default_prob: 0.5
        skirt_flare:
          v: 1.2
          range:
            - slight: 1.15
            - moderate: 1.325
            - significant: 1.475
          type: float
        skirt_ruffle:
          v: 1.0
          range:
            - none: 1.0
            - some: 1.175
          type: float
          default_prob: 0.3
  skirt:
    length:
      v: 0.55
      range:
      - micro: 0.3
      - mini: 0.35
      - above-knee: 0.45
      - knee-length: 0.6
      - midi: 0.725
      - floor-length: 0.875
      type: float
    rise:
      v: 0.75
      range:
      - low: 0.55
      - mid: 0.75
      - high: 0.95
      type: float
      default_prob: 0.3
    ruffle:
      v: 1.4
      range:
      - none: 1.0
      - moderate: 1.35
      - rich: 1.75
      type: float
      default_prob: 0.3
    bottom_cut:
      v: 0.0
      range:
      - none: 0.0
      - shallow: 0.3
      - deep: 0.7
      type: float
      default_prob: 0.3
    flare:
      v: 10
      range:
      - none: 0
      - small: 5
      - medium: 11
      - large: 17
      type: int
      default_prob: 0.5
  flare-skirt:
    length:
      v: 0.6
      range:
      - micro: 0.275
      - mini: 0.3
      - above-knee: 0.4
      - knee-length: 0.525
      - midi: 0.7
      - floor-length: 0.85
      type: float
    rise:
      v: 0.75
      range:
      - low: 0.55
      - mid: 0.75
      - high: 0.95
      type: float
      default_prob: 0.3
    suns:
      v: 1.0
      range:
      - slight: 0.3
      - moderate: 0.6
      - significant: 0.9
      type: float
    skirt-many-panels:
      n_panels:
        v: 8
        range:
        - few: 5
        - medium: 9
        - many: 13
        type: int
      panel_curve:
        v: 0.0
        range:
        - inward: -0.15
        - straight: 0.0
        - outward: 0.15
        type: float
    asymm:
      front_length:
        v: 0.7
        range:
        - highly-asymmetric: 0.1
        - strongly-asymmetric: 0.25
        - moderately-asymmetric: 0.5
        - slightly-asymmetric: 0.75
        - symmetric: 1.0
        type: float
        default_prob: 0.5
    cut:
      add:
        v: false
        range:
        - true
        - false
        type: bool
        default_prob: 0.6
      depth:
        v: 0.5
        range:
        - shallow: 0.2
        - medium: 0.4
        - deep: 0.6
        type: float
        default_prob: 0.6
      width:
        v: 0.1
        range:
        - narrow: 0.1
        - medium: 0.225
        - wide: 0.35
        type: float
      place:
        v: -0.5
        range:
        - back_left: -0.8
        - back_center: -0.5
        - back_right: -0.2
        - front_left: 0.2
        - front_center: 0.5
        - front_right: 0.8
        type: float
  godet-skirt:
    base:
      v: PencilSkirt
      range:
      - Skirt2
      - PencilSkirt
      type: select
      default_prob: 0.7
    insert_w:
      v: 25
      range:
      - narrow: 15
      - medium: 28
      - wide: 43
      type: int
    insert_depth:
      v: 30
      range:
      - shallow: 15
      - medium: 28
      - deep: 43
      type: int
    num_inserts:
      v: 6
      range:
      - 4
      - 6
      - 8
      - 10
      - 12
      type: select
    cuts_distance:
      v: 5
      range:
      - close: 2
      - medium: 5.5
      - far: 10
      type: int
  pencil-skirt:
    length:
      v: 0.575
      range:
      - micro: 0.2
      - mini: 0.225
      - above-knee: 0.325
      - knee-length: 0.45
      - midi: 0.6
      - floor-length: 0.8
      type: float
    rise:
      v: 0.75
      range:
      - low: 0.55
      - mid: 0.75
      - high: 0.95
      type: float
      default_prob: 0.3
    flare:
      v: 1.0
      range:
      - tight: 0.7
      - straight: 1.0
      - slight-flare: 1.35
      type: float
      default_prob: 0.3
    low_angle:
      v: 0
      range:
      - inward: -20
      - straight: 0
      - outward: 20
      type: int
      default_prob: 0.7
    front_slit:
      v: 0.0
      range:
      - none: 0.0
      - shallow: 0.25
      - deep: 0.7
      type: float
      default_prob: 0.4
    back_slit:
      v: 0.0
      range:
      - none: 0.0
      - shallow: 0.25
      - deep: 0.7
      type: float
      default_prob: 0.4
    left_slit:
      v: 0.0
      range:
      - none: 0.0
      - shallow: 0.25
      - deep: 0.7
      type: float
      default_prob: 0.6
    right_slit:
      v: 0.0
      range:
      - none: 0.0
      - shallow: 0.25
      - deep: 0.7
      type: float
      default_prob: 0.6
    style_side_cut:
      v: null
      range:
      - Sun
      - SIGGRAPH_logo
      - null
      type: select_null
      default_prob: 1.0
  levels-skirt:
    base:
      v: Skirt2
      range:
      - Skirt2
      - PencilSkirt
      - SkirtCircle
      - AsymmSkirtCircle
      type: select
    level:
      v: SkirtCircle
      range:
      - Skirt2
      - SkirtCircle
      - AsymmSkirtCircle
      type: select
    num_levels:
      v: 3
      range:
      - 1
      - 2
      - 3
      - 4
      - 5
      type: int
    level_ruffle:
      v: 1.4
      range:
      - none: 1.0
      - moderate: 1.35
      - rich: 1.6
      type: float
    length:
      v: 0.6
      range:
      - micro: 0.225
      - mini: 0.3
      - above-knee: 0.45
      - knee-length: 0.6
      - midi: 0.75
      - floor-length: 0.9
      type: float
    rise:
      v: 0.75
      range:
      - low: 0.55
      - mid: 0.75
      - high: 0.95
      type: float
      default_prob: 0.3
    base_length_frac:
      v: 0.5
      range:
      - short: 0.3
      - medium: 0.5
      - long: 0.7
      type: float
  pants:
    length:
      v: 0.3
      range:
      - micro: 0.15
      - short: 0.275
      - knee-length: 0.45
      - capri: 0.625
      - ankle-length: 0.825
      - full-length: 0.9
      type: float
    width:
      v: 1.1
      range:
      - fitted: 1.05
      - normal: 1.25
      - loose: 1.45
      type: float
      default_prob: 0.5
    flare:
      v: 0.9
      range:
      - tapering: 0.6
      - straight: 0.9
      - slight-flare: 1.15
      type: float
      default_prob: 0.3
    rise:
      v: 0.75
      range:
      - low: 0.55
      - mid: 0.75
      - high: 0.95
      type: float
      default_prob: 0.3
    cuff:
      type:
        v: null
        range:
        - CuffBand
        - CuffSkirt
        - CuffBandSkirt
        - null
        type: select_null
        default_prob: 0.5
      top_ruffle:
        v: 1
        range:
          - straight: 1.3
          - tapered: 1.375
          - very_tapered: 1.575
        type: float
      cuff_len:
        v: 0.1
        range:
        - short: 0.1
        - medium: 0.2
        - long: 0.3
        type: float
        default_prob: 0.7
      skirt_fraction:
        v: 0.5
        range:
        - small: 0.2
        - medium: 0.45
        - large: 0.75
        type: float
        default_prob: 0.5
      skirt_flare:
        v: 1.2
        range:
        - slight: 1.15
        - moderate: 1.325
        - significant: 1.475
        type: float
      skirt_ruffle:
        v: 1.0
        range:
        - none: 1.0
        - some: 1.175
        type: float
        default_prob: 0.3
