smolworld / src /js /config.js
p3nGu1nZz's picture
✨ Refactor physics module; add math utilities and event handling classes; update state structure for 3D entities
7ffaa9e
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 };
}