let configCache = null; export const defaultConfig = { initialAngularSpeed: 2.0, // Doubled for better initial motion angularAcceleration: 0.02, // Adjusted for picometer scale radius: 150, // 150 picometers radius squareSize: 20, // 20 picometers square size terminal: { margin: 2, panelMargin: 2, // Reduced from 5 to 2 for top margin panelPadding: 5, // Padding inside the panel for content scrollBarWidth: 16, // doubled from 8 scrollBarMargin: 4, scrollThumbMinHeight: 30, cursorBlinkRate: 0.5, opacity: 0.88, font: '14px "Courier New", Courier, monospace', lineHeight: 18, animationSpeed: 0.3, // seconds heightRatio: 0.33, // 1/3 of screen height panelMarginY: 5, // new setting for top/bottom margin scrollBottomMargin: 20, // new setting for bottom scroll margin panelMarginBottom: 5, // Keep 5px margin for bottom }, camera: { moveSpeed: 10, moveLerpFactor: 0.1, // Lower = smoother, higher = more responsive zoomSpeed: 0.1, zoomLerpFactor: 0.1 }, debug: { showBoundingBoxes: true, showGrid: false, showFPS: true, showColliders: false }, controls: { inverted: false // When true, WASD controls are inverted } }; export function mergeConfig(userConfig) { configCache = { ...defaultConfig, ...userConfig }; return configCache; } export function getConfig() { return configCache; } export function getDefaultConfig() { return { ...defaultConfig }; }