old_contents: var consts = module.exports = {
    gen: {},
    cluster: {},
    rank: {}
  };
  
  consts.gen.projections = {
    type: 'object',
    properties: {
      addCountIfNothingIsSelected: {
        type: 'boolean',
        default: true,
        description: 'When no field is selected, add extra count field'
      }
    }
  };
  
  consts.gen.aggregates = {
    type: 'object',
    properties: {
      genBin: {
        type: 'boolean',
        default: true,
        description: 'Generate Binning'
      },
      genTypeCasting: {
        type: 'boolean',
        default: true,
        description: 'Include type casting e.g., from Q to O'
      },
      omitMeasureOnly: {
        type: 'boolean',
        default: true,
        description: 'Omit aggregation with measure(s) only'
      },
      omitDimensionOnly: {
        type: 'boolean',
        default: true,
        description: 'Omit aggregation with dimension(s) only'
      },
      aggrList: {
        type: 'array',
        items: {
          type: ['string']
        },
        default: [undefined, 'avg']
      },
      timeFnList: {
        type: 'array',
        items: {
          type: ['string']
        },
        default: ['year']
      }
    }
  };
  
  consts.gen.DEFAULT_OPT = {
    genAggr: true,
    genBin: true,
    genTypeCasting: true,
  
    aggrList: [undefined, 'avg'], //undefined = no aggregation
    marktypeList: ['point', 'bar', 'line', 'area', 'text'], //filled_map
  
    // PRUNING RULES FOR ENCODING VARIATIONS
  
    /**
     * Eliminate all transpose
     * - keeping horizontal dot plot only.
     * - for OxQ charts, always put O on Y
     * - show only one OxO, QxQ (currently sorted by name)
     */
    omitTranpose: false,
    /** remove all dot plot with >1 encoding */
    omitDotPlotWithExtraEncoding: false,
  
    /** remove all aggregate charts with all dims on facets (row, col) */
    //FIXME this is good for text though!
    omitAggrWithAllDimsOnFacets: false,
  
    // PRUNING RULES FOR TRANFORMATION VARIATIONS
  
    /** omit field sets with only dimensions */
    omitDimensionOnly: false,
    /** omit aggregate field sets with only measures */
    omitAggregateWithMeasureOnly: false
  };
  
  
  
  
new_contents: var consts = module.exports = {
    gen: {},
    cluster: {},
    rank: {}
  };
  
  consts.gen.projections = {
    type: 'object',
    properties: {
      addCountIfNothingIsSelected: {
        type: 'boolean',
        default: true,
        description: 'When no field is selected, add extra count field'
      }
    }
  };
  
  consts.gen.aggregates = {
    type: 'object',
    properties: {
      genBin: {
        type: 'boolean',
        default: true,
        description: 'Generate Binning'
      },
      genTypeCasting: {
        type: 'boolean',
        default: true,
        description: 'Include type casting e.g., from Q to O'
      },
      omitMeasureOnly: {
        type: 'boolean',
        default: true,
        description: 'Omit aggregation with measure(s) only'
      },
      omitDimensionOnly: {
        type: 'boolean',
        default: true,
        description: 'Omit aggregation with dimension(s) only'
      },
      aggrList: {
        type: 'array',
        items: {
          type: ['string']
        },
        default: [undefined, 'avg']
      },
      timeFnList: {
        type: 'array',
        items: {
          type: ['string']
        },
        default: ['year']
      }
    }
  };
  
  consts.gen.DEFAULT_OPT = {
    genAggr: true,
  
    marktypeList: ['point', 'bar', 'line', 'area', 'text'], //filled_map
  
    // PRUNING RULES FOR ENCODING VARIATIONS
  
    /**
     * Eliminate all transpose
     * - keeping horizontal dot plot only.
     * - for OxQ charts, always put O on Y
     * - show only one OxO, QxQ (currently sorted by name)
     */
    omitTranpose: false,
    /** remove all dot plot with >1 encoding */
    omitDotPlotWithExtraEncoding: false,
  
    /** remove all aggregate charts with all dims on facets (row, col) */
    //FIXME this is good for text though!
    omitAggrWithAllDimsOnFacets: false,
  };
  
  
  
  
subject: remove moved constants