space-game/src/stores/gameConfig.ts
Michael Mainguy 123b341ed7 Replace debugLog and console.* with loglevel logger
- Create centralized logger module (src/core/logger.ts)
- Replace all debugLog() calls with log.debug()
- Replace console.log() with log.info()
- Replace console.warn() with log.warn()
- Replace console.error() with log.error()
- Delete deprecated src/core/debug.ts
- Configure log levels: debug for dev, warn for production
- Add localStorage override for production debugging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 05:24:18 -06:00

73 lines
1.8 KiB
TypeScript

import { writable, get } from 'svelte/store';
import log from '../core/logger';
const STORAGE_KEY = 'game-config';
interface GameConfigData {
physicsEnabled: boolean;
debugEnabled: boolean;
progressionEnabled: boolean;
shipPhysics: {
maxLinearVelocity: number;
maxAngularVelocity: number;
linearForceMultiplier: number;
angularForceMultiplier: number;
};
}
const defaultConfig: GameConfigData = {
physicsEnabled: true,
debugEnabled: false,
progressionEnabled: true,
shipPhysics: {
maxLinearVelocity: 200,
maxAngularVelocity: 1.4,
linearForceMultiplier: 800,
angularForceMultiplier: 15,
},
};
function loadFromStorage(): GameConfigData {
try {
const stored = localStorage.getItem(STORAGE_KEY);
if (stored) {
const parsed = JSON.parse(stored);
return { ...defaultConfig, ...parsed };
}
} catch (error) {
log.warn('[GameConfig Store] Failed to load from localStorage:', error);
}
return { ...defaultConfig };
}
function createGameConfigStore() {
const initial = loadFromStorage();
const { subscribe, set, update } = writable<GameConfigData>(initial);
return {
subscribe,
update,
set,
save: () => {
const config = get(gameConfigStore);
try {
localStorage.setItem(STORAGE_KEY, JSON.stringify(config));
log.info('[GameConfig Store] Saved to localStorage');
} catch (error) {
log.error('[GameConfig Store] Failed to save:', error);
}
},
reset: () => {
set({ ...defaultConfig });
try {
localStorage.setItem(STORAGE_KEY, JSON.stringify(defaultConfig));
log.info('[GameConfig Store] Reset to defaults');
} catch (error) {
log.error('[GameConfig Store] Failed to save defaults:', error);
}
},
};
}
export const gameConfigStore = createGameConfigStore();