9.4 KiB
🧹 GAME MODE CLEANUP PLAN
Generated: November 8, 2025
📋 OVERVIEW
After moving all game modes to their own dedicated HTML files (quick-play.html, training-academy.html, etc.), we discovered that all the original game mode infrastructure still exists in index.html. This document outlines a comprehensive cleanup plan to remove obsolete game mode code and screens.
🎮 CURRENT GAME MODE ARCHITECTURE
✅ NEW SYSTEM - Dedicated HTML Files
- quick-play.html - Quick play game mode
- training-academy.html - Training academy mode
- porn-cinema.html - Media viewing mode
- player-stats.html - Statistics and progress
- user-profile.html - User profile management
❌ OLD SYSTEM - Embedded in index.html (TO REMOVE)
All game mode functionality is still embedded in index.html as separate screens and should be removed.
🗂️ OBSOLETE SCREENS ANALYSIS
1. GAME SCREEN (Lines 1632-1677)
- Element:
<div id="game-screen" class="screen"> - Purpose: Main gameplay interface with task display
- Components:
.task-container- Task display and controls.task-image-container- Task image display.task-text-container- Task text display.action-buttons- Complete, Skip, Mercy Skip, Pause buttons.game-stats- Real-time session statistics
- Status: ❌ OBSOLETE - Functionality moved to dedicated mode files
2. PAUSED SCREEN (Lines 1678-1685)
- Element:
<div id="paused-screen" class="screen"> - Purpose: Game pause interface
- Components:
- Resume button
- Quit button
- Status: ❌ OBSOLETE - Handled in dedicated mode files
3. GAME OVER SCREEN (Lines 1686-1700)
- Element:
<div id="game-over-screen" class="screen"> - Purpose: End game statistics and replay option
- Components:
- Final stats display (XP, time, tasks, streaks)
- Play again button
- Status: ❌ OBSOLETE - Handled in dedicated mode files
📜 OBSOLETE SCRIPTS ANALYSIS
4. GAME MODE DATA SCRIPTS (Lines 1705-1710)
- Files:
src/data/modes/mainGameData.jssrc/data/modes/humiliationGameData.jssrc/data/modes/trainingGameData.jssrc/data/modes/enduranceGameData.jssrc/data/modes/dressUpGameData.jssrc/data/gameDataManager.js
- Status: ❌ MAY BE OBSOLETE - Check if still used by dedicated HTML files
5. GAME MODE MANAGER SCRIPT (Line 1843)
- File:
src/core/gameModeManager.js - Status: ❌ MAY BE OBSOLETE - Check if still used by dedicated HTML files
🔧 OBSOLETE FUNCTIONALITY ANALYSIS
6. SCREEN NAVIGATION SYSTEM
- Functions:
showScreen()calls throughout JavaScript - References: Lines 1892, 1893, 3807, 3808, 3872, 3874, 3876, 3899, 3900
- Purpose: Navigate between embedded game screens
- Status: ❌ PARTIALLY OBSOLETE - Still needed for media management screens, but game mode navigation should be removed
7. GAME STATE MANAGEMENT
- Elements: Session stats, final stats, game mode tracking
- Purpose: Track progress within embedded game modes
- Status: ❌ OBSOLETE - Now handled in dedicated HTML files
8. TASK DISPLAY SYSTEM
- Elements: Task images, task text, action buttons
- Purpose: Display and interact with game tasks
- Status: ❌ OBSOLETE - Now handled in dedicated HTML files
🎯 KEEP vs REMOVE ANALYSIS
✅ KEEP - Media Management Screens
These screens are still used for media library management:
start-screen- Home/landing pagelibrary-screen- Media library managementimage-management-screen- Image organizationaudio-management-screen- Audio managementvideo-management-screen- Video managementphoto-gallery-screen- Photo viewingannoyance-management-screen- Settings management
❌ REMOVE - Game Mode Screens
These screens are obsolete after moving to dedicated HTML files:
game-screen- Main gameplay (moved to dedicated files)paused-screen- Game pause (moved to dedicated files)game-over-screen- End game stats (moved to dedicated files)
🗂️ CLEANUP PHASES
PHASE 1: SCREEN REMOVAL
Step 1.1: Remove Game Screens
- Delete
game-screenelement and all contents (Lines 1632-1677) - Delete
paused-screenelement and all contents (Lines 1678-1685) - Delete
game-over-screenelement and all contents (Lines 1686-1700)
Step 1.2: Update Screen Navigation
- Remove game screen references from
showScreen()calls - Keep media management screen navigation intact
- Remove obsolete screen transition JavaScript
PHASE 2: SCRIPT CLEANUP
Step 2.1: Evaluate Game Mode Scripts
- Check if
mainGameData.jsis used by dedicated HTML files - Check if
humiliationGameData.jsis used by dedicated files - Check if
trainingGameData.jsis used by dedicated files - Check if
enduranceGameData.jsis used by dedicated files - Check if
dressUpGameData.jsis used by dedicated files - Check if
gameDataManager.jsis used by dedicated files
Step 2.2: Remove Unused Scripts
- Remove script references from
index.htmlif not used elsewhere - Keep script references if still used by dedicated HTML files
Step 2.3: Evaluate Core Scripts
- Check if
gameModeManager.jsis used by dedicated HTML files - Remove from
index.htmlif not needed for media management
PHASE 3: JAVASCRIPT CLEANUP
Step 3.1: Remove Game Mode Functions
- Remove task display functions
- Remove game state management functions
- Remove game statistics functions
- Remove game navigation functions (skip, complete, pause, etc.)
Step 3.2: Clean Screen Navigation
- Remove references to deleted screens in JavaScript
- Update screen navigation to only handle media management screens
- Clean up obsolete event listeners
Step 3.3: Remove Game Mode Variables
- Remove game state variables
- Remove task management variables
- Remove obsolete game mode tracking variables
PHASE 4: CSS CLEANUP
Step 4.1: Remove Game Screen Styles
- Remove
.task-containerand related styles - Remove
.task-image-containerstyles - Remove
.task-text-containerstyles - Remove
.action-buttonsstyles - Remove
.game-statsstyles
Step 4.2: Remove Game Mode Specific Styles
- Remove paused screen styles
- Remove game over screen styles
- Remove game mode specific animations and transitions
Step 4.3: Keep Media Management Styles
- Keep all styles for media management screens
- Keep start screen and library screen styles
- Keep general screen navigation styles
PHASE 5: HTML CLEANUP
Step 5.1: Remove Obsolete Elements
- Remove task image containers
- Remove action button containers
- Remove game statistics displays
- Remove final stats displays
Step 5.2: Clean Comments and Documentation
- Remove comments referring to removed screens
- Update HTML structure comments
- Clean up obsolete TODO comments
📊 ESTIMATED IMPACT
Code Reduction:
- HTML: ~200 lines removed (obsolete game screens)
- CSS: ~300 lines removed (game mode specific styles)
- JavaScript: ~500 lines removed (game mode functions)
- Scripts: 5-7 script references potentially removed
- Total: ~1,000+ lines of obsolete code cleanup
Performance Benefits:
- ✅ Reduced index.html complexity and load time
- ✅ Cleaner separation of concerns (media management vs gameplay)
- ✅ Reduced JavaScript bundle size
- ✅ Faster startup time for index.html
- ✅ Simplified debugging and maintenance
Architecture Benefits:
- ✅ Clear separation between media management and gameplay
- ✅ index.html focused solely on media library management
- ✅ Dedicated HTML files handle all game mode functionality
- ✅ Reduced code duplication and conflicts
- ✅ Easier to maintain and extend individual game modes
⚠️ TESTING CHECKLIST
After each phase, verify:
- index.html loads and displays correctly
- Start screen navigation works
- Media library screens function properly
- Image, audio, video management still works
- Settings/annoyance management still works
- No JavaScript console errors
- Dedicated HTML files (quick-play.html, training-academy.html) still work
- No broken links or missing resources
- CSS styling remains consistent
🚀 DEPENDENCIES CHECK
Before cleanup, verify which dedicated HTML files use shared resources:
- Check if quick-play.html uses game mode data files
- Check if training-academy.html uses gameModeManager.js
- Check if any dedicated files import from src/data/modes/
- Check if any dedicated files use shared CSS from styles.css
- Ensure cleanup doesn't break shared dependencies
📝 NOTES
- Primary Goal: Remove obsolete game mode infrastructure from index.html
- Secondary Goal: Maintain all media management functionality
- Tertiary Goal: Ensure dedicated HTML files continue working
- This cleanup addresses the architectural shift from embedded game modes to dedicated HTML files
- All game mode functionality has been successfully moved to dedicated files
- index.html should focus solely on being a media library management interface
Document created after successful character image toggle implementation Next: Execute cleanup phases to remove obsolete game mode infrastructure