bowling-analysis-system
Version:
A comprehensive system for analyzing bowling techniques using video processing and metrics calculation
101 lines (90 loc) • 1.91 kB
JavaScript
/**
* Default configuration values
* @module config/defaults
*/
const path = require('path');
/**
* Application defaults
* @type {Object}
*/
const APP_DEFAULTS = {
// Storage paths
paths: {
data: path.join(process.cwd(), 'data'),
input: path.join(process.cwd(), 'data', 'input'),
output: path.join(process.cwd(), 'data', 'output'),
reference: path.join(process.cwd(), 'data', 'reference'),
temp: path.join(process.cwd(), 'temp')
},
// Processing settings
processing: {
maxConcurrent: 4,
autoSave: true
},
// Metrics calculation settings
metrics: {
includeTimeSeries: true,
timeSeriesDecimation: 1,
includeAggregates: true,
includeRawData: false,
keepRawValues: true
},
// Analysis settings
analysis: {
keepRawValues: true,
includeBiasCalculations: true,
includeRawEvents: true,
includeContextData: true,
outputFormat: 'json'
},
// System settings
system: {
memoryLimit: 0, // 0 = no limit
cpuLimit: 0, // 0 = no limit
logLevel: 'info',
logToFile: true,
logRotation: true,
performanceMonitoring: true,
asyncProcessing: true
}
};
/**
* Command defaults
* @type {Object}
*/
const COMMAND_DEFAULTS = {
// Process command defaults
process: {
inputFile: '',
outputPath: '',
format: 'json',
pipeline: 'full-analysis'
},
// Analyze command defaults
analyze: {
inputFile: '',
outputPath: '',
referenceData: '',
format: 'json',
pipeline: 'metrics-only'
},
// Compare command defaults
compare: {
sourceFile: '',
targetFile: '',
outputPath: '',
format: 'json',
alignBiasFrames: false
},
// Generate bias command defaults
generateBias: {
inputFile: '',
outputPath: '',
referenceData: '',
format: 'json'
}
};
module.exports = {
APP_DEFAULTS,
COMMAND_DEFAULTS
};