mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-19 09:41:24 +02:00
Split monolithic RPGScene.js (1210 lines) into modular manager classes: - WorldManager, PlayerManager, NPCManager, ChatUI, StorageManager, SoundManager, TouchControls Key improvements: - Constants config (GAME_CONFIG) replacing all magic numbers - JSDoc types + jsconfig.json for IDE type-safety - LocalStorage persistence for progress, stats, and custom avatars - Synthesized sound effects via Web Audio API - 26 NPCs (up from 10) in 3 categories - Stats/leaderboard in main menu - Pixel editor avatar integration with RPG game - Mobile touch controls (virtual joystick + interact button) - Chat UI with typing indicator and conversation history - Interactive tutorial overlay for first-time players - Floating question mark over NPCs in range - Server hardened: rate limiting, input sanitization, CORS restrictions, API timeouts, conversation history cap - Particle effect object pooling - i18n framework with DE/EN and language switcher Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
54 lines
1.8 KiB
JSON
54 lines
1.8 KiB
JSON
{
|
|
"name": "@context/web",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"prepare": "svelte-kit sync || echo ''",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"lint": "eslint .",
|
|
"format": "prettier --write .",
|
|
"type-check": "echo 'Skipping type-check for now'"
|
|
},
|
|
"devDependencies": {
|
|
"@manacore/shared-pwa": "workspace:*",
|
|
"@manacore/shared-vite-config": "workspace:*",
|
|
"@sveltejs/adapter-node": "^5.0.0",
|
|
"@sveltejs/kit": "^2.47.1",
|
|
"@sveltejs/vite-plugin-svelte": "^5.0.0",
|
|
"@tailwindcss/vite": "^4.1.7",
|
|
"@types/node": "^20.0.0",
|
|
"@vite-pwa/sveltekit": "^1.1.0",
|
|
"prettier": "^3.1.1",
|
|
"prettier-plugin-svelte": "^3.1.2",
|
|
"svelte": "^5.41.0",
|
|
"svelte-check": "^4.3.3",
|
|
"tailwindcss": "^4.1.7",
|
|
"tslib": "^2.4.1",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^6.0.0"
|
|
},
|
|
"dependencies": {
|
|
"@manacore/shared-api-client": "workspace:*",
|
|
"@manacore/shared-app-onboarding": "workspace:*",
|
|
"@manacore/shared-auth": "workspace:*",
|
|
"@manacore/shared-auth-ui": "workspace:*",
|
|
"@manacore/shared-branding": "workspace:*",
|
|
"@manacore/shared-feedback-service": "workspace:*",
|
|
"@manacore/shared-feedback-ui": "workspace:*",
|
|
"@manacore/shared-i18n": "workspace:*",
|
|
"@manacore/shared-icons": "workspace:*",
|
|
"@manacore/shared-profile-ui": "workspace:*",
|
|
"@manacore/shared-stores": "workspace:*",
|
|
"@manacore/shared-subscription-ui": "workspace:*",
|
|
"@manacore/shared-tailwind": "workspace:*",
|
|
"@manacore/shared-theme": "workspace:*",
|
|
"@manacore/shared-theme-ui": "workspace:*",
|
|
"@manacore/shared-ui": "workspace:*",
|
|
"svelte-i18n": "^4.0.1"
|
|
},
|
|
"type": "module"
|
|
}
|