Commit Graph

28 Commits

Author SHA1 Message Date
dilgenfritz 84b17a7930 Implement simplified XP system with overall counter
- Replace scoring system with XP-based progression
- Task-based XP: 2 XP per regular task, 5 XP per scenario step
- Overall XP counter for rankings/leveling (persistent across sessions)
- No overall XP awarded for quit/abandoned sessions (only completed sessions)
- Session XP always displayed but only added to overall on completion
- Simplified from time/activity bonuses to pure task completion rewards
- Updated UI with dual XP display: Session XP / Total XP
- Audio playlist system continues in background during gameplay
2025-10-30 11:41:26 -05:00
dilgenfritz 3e59456aff Clean up theme dropdown - remove old pink-orange and gold-amber themes 2025-10-30 07:44:37 -05:00
dilgenfritz 78d093129d Phase 3H: Add unified click-anywhere-to-select behavior across all galleries
- Updated photo gallery to support click-anywhere-to-select like image gallery
- Added click-anywhere-to-select functionality to video gallery
- Preserved existing functionality: image click shows photo detail, buttons work as before
- Added .selected state styling for video-item with primary color border
- Added cursor: pointer to all gallery items (image-item, photo-item, video-item)
- Unified user experience: click anywhere on item to select/deselect across all galleries
- Maintains individual checkbox and button functionality while adding intuitive selection
2025-10-29 18:45:37 -05:00
dilgenfritz c43737a71d Save current state: Fixed text readability in scenarios and interactive tasks 2025-10-29 17:04:42 -05:00
dilgenfritz 559c9e69f1 Implement loading overlay system and focus interruption features
- Add comprehensive loading overlay with progress tracking (0-100%)
- Disable all interactive elements during app initialization
- Prevent rapid clicking issues during startup
- Add focus-hold interruption system for scenarios (0-50% configurable)
- Fix photo step completion bugs in interactive tasks
- Add conditional keyboard shortcut disabling during scenarios
- Implement loading progress updates for all major components
- Add visual feedback for disabled states during loading
- Complete scenario state preservation during interruptions
2025-10-29 11:40:13 -05:00
dilgenfritz 6ab1153635 Major content update: Remove scenario mode, implement progressive endurance training
REMOVED:
- Removed scenario game mode completely
- Deleted scenarioGameData.js and scenarios folder
- Cleaned up all scenario-adventures references

 NEW GAME MODES:
- Added 5 new specialized game modes with rich content
- Training Academy: Gooning-focused training with advanced scenarios
- Punishment Gauntlet: Intense humiliation challenges
- Endurance Trials: Progressive endurance training system
- Photography Studio: Enhanced webcam sessions
- Standard/Timed/Scored: Classic game modes

 ENDURANCE TRAINING SYSTEM:
- Progressive assessment (Beginner  Expert levels)
- Adaptive timers from 30 seconds to 10 minutes
- Experience-based training paths
- Timer-only focus (removed slider/rhythm minigames)
- Certification system with graduation

 CONTENT TRANSFORMATION:
- Training mode: Gooning and edging focused content
- Removed typing tasks and minigames
- Performance-based stroking/edging activities
- Progressive difficulty and endurance building

 TECHNICAL IMPROVEMENTS:
- New modular data system with mode-specific files
- Enhanced interactive task management
- Universal task interface support
- Comprehensive scenario navigation fixes
- Rich content preservation from original files

 All modes tested and working with enhanced functionality
2025-10-28 14:22:28 -05:00
dilgenfritz 96c846cf8b feat: Add comprehensive photo gallery and management system
NEW FEATURES:
 Photo Gallery:
- Accessible via new 'Photo Gallery' button on main menu
- Grid view of all captured photos with thumbnails
- Filter by session type (dress-up, studio, custom)
- Sort by date (newest/oldest) or session type
- Click photos to view full-size detail modal

 Persistent Photo Storage:
- User consent dialog on first photo capture
- Photos saved to localStorage with metadata
- Privacy-first design (local storage only)
- Automatic photo metadata tracking (date, session, task, size)

 Download Functionality:
- Download individual photos as JPEG files
- Batch download all photos (staggered to prevent browser blocking)
- Proper filename generation with dates
- Progress notifications during downloads

 Photo Management:
- Delete individual photos with confirmation
- Clear all photos option with confirmation
- Photo storage settings modal
- Storage statistics (count, size, date range)
- Toggle photo storage consent on/off

 Professional UI:
- Responsive photo grid layout
- Hover effects and smooth transitions
- Modal dialogs for photo details and settings
- Filter and sort controls
- Storage usage indicators
- Empty state messaging

TECHNICAL IMPROVEMENTS:
- Enhanced WebcamManager with persistent storage methods
- Comprehensive error handling and user feedback
- Storage quota monitoring with warnings
- Proper photo metadata structure
- Browser-compatible download implementation

Users can now capture photos during photography sessions and:
 View them later in a beautiful gallery
 Download their favorites
 Manage storage and privacy settings
 Organize by session type and date
2025-10-28 07:49:55 -05:00
dilgenfritz 5b3920ff0a feat: Modularize scenario system and fix game mode configuration
Major Features:
- Extract scenario data from gameModeManager.js into individual files
- Create modular scenario loading system with browser compatibility
- Fix timed challenge and score target configuration options

� New Scenario Files:
- src/data/scenarios/index.js - Scenario loader and registry system
- src/data/scenarios/training-regimen.js - Personal Training Academy
- src/data/scenarios/dress-up-photo.js - Photography Studio scenario
- src/data/scenarios/creative-tasks.js - Creative Arts Academy
- src/data/scenarios/punishment-session.js - Disciplinary training

 Improvements:
- Removed 1976+ lines of embedded scenario data from gameModeManager.js
- Added browser-compatible module system using window.scenarioRegistry
- Fixed configuration dropdowns for timed and score target modes
- Enhanced game.js with proper event handling for custom inputs
- Added comprehensive logging and debugging capabilities

 Technical Changes:
- Updated gameModeManager.js to include config options in dynamic HTML
- Fixed event listener targeting for custom time/score inputs
- Added scripts for scenario extraction and management
- Maintained backward compatibility with existing game.js scenarios

 Benefits:
- Game content now easily editable in separate files
- Modular system allows easy addition/removal of scenarios
- Clean separation between game logic and content
- Improved maintainability and organization
2025-10-28 06:41:01 -05:00
dilgenfritz 3a57f1ce71 Refactor file structure with feature-based organization
New Structure:
- src/core/ - Core game engine (game.js, gameModeManager.js, main.js, preload.js)
- src/features/ - Feature modules organized by functionality:
  - webcam/ - Photography system (webcamManager.js)
  - tasks/ - Task management (interactiveTaskManager.js, aiTaskManager.js)
  - audio/ - Audio system (audioManager.js)
  - images/ - Image management (popupImageManager.js, image-discovery-fix.js)
  - ui/ - UI components (flashMessageManager.js)
- src/data/ - Game data and configuration (gameData.js)
- src/styles/ - CSS stylesheets (styles.css and variants)
- src/utils/ - Utility functions (desktop-file-manager.js)

 Benefits:
- Feature-based organization for better maintainability
- Clear separation of concerns
- Easier testing and debugging
- Scalable architecture for future development
- Self-contained feature modules

Updated package.json, index.html paths, and main.js for new structure.
Added comprehensive README.md documenting the architecture.
2025-10-27 14:46:30 -05:00
dilgenfritz 6752097979 Implement complete webcam photo gallery system
- Add WebcamManager for camera access and photo capture
- Replace timer steps with camera buttons for photography tasks
- Add photo count validation and progress tracking
- Remove quit options to ensure photo requirements are met
- Implement game-end photo gallery with full-size viewer
- Add Photography Studio game mode with dedicated scenarios
- Include responsive design with professional styling
- Maintain local photo storage for privacy

Features:
- Step-based photo requirements with visual progress
- Interactive photo gallery with navigation
- Comprehensive session metadata tracking
- Privacy-focused local-only photo storage
2025-10-27 12:27:04 -05:00
dilgenfritz 395c79363c Restore original game modes and fix missing scenario steps - Added back Timed Challenge and Score Target modes alongside scenario modes - Updated gameModeManager to map new mode names to original engine functionality - Removed interactive tasks from standard/timed/scored modes as requested - Fixed missing scenario continuation steps (slutty_continuation, photo_series_continuation) - Added complete branching paths for dress-up photo scenarios - All 7 game modes now working: Standard, Timed, Scored, and 4 scenario modes - Maintained periodic popup system across all modes - Preserved original time/score configuration UI 2025-10-27 11:51:38 -05:00
dilgenfritz a80224aebd Fix Content Security Policy for Ollama Connection
CSP Fix Applied:
 Added connect-src 'self' http://localhost:* ws://localhost:* to CSP
 Updated default-src to include http://localhost:*
 This allows fetch requests to Ollama API on localhost:11434

 Error Resolved:
 'Refused to connect' CSP violation error fixed
 AI connection should now work properly
 Fetch requests to localhost now permitted

 Status:
 CSP now allows AI connections while maintaining security
 Local AI integration should be fully functional
2025-09-29 07:19:54 -05:00
dilgenfritz e7bfabac9b Complete AI Integration with Ollama
Features Added:
 Full AITaskManager class with NSFW task generation
 Complete AI Tasks tab with configuration interface
 Connection testing and model selection
 User preference customization for personalized tasks
 Temperature, max tokens, and difficulty controls
 Auto-generation toggle and privacy-focused design
 Comprehensive setup help and troubleshooting guide

 AI Capabilities:
 Local Ollama integration for uncensored content
 Personalized edging task generation
 Multiple model support (llama3.2, mistral, etc.)
 Configurable difficulty levels (easy/medium/hard/extreme)
 Personal preference integration
 Real-time connection status monitoring

 Technical Implementation:
 AITaskManager class with full error handling
 Debounced user input for performance
 Responsive UI design for AI configuration
 Flash message integration for user feedback
 Settings persistence and validation
 Complete event listener setup

 UI Enhancements:
 Professional AI Tasks tab design
 Status indicators with color coding
 Interactive configuration controls
 Task preview functionality
 Comprehensive help documentation
 Mobile-responsive design elements
2025-09-29 07:06:05 -05:00
dilgenfritz 243d037924 rebrand: Transform to 'Edge & Punishment' - The Ultimate Edging Challenge
Complete rebranding from generic task game to focused edging experience:

- Updated app name: 'Task Challenge Game'  'Edge & Punishment'
- Added tagline: 'How long can you last?'
- Rebranded package.json with adult-focused keywords (edging, adult, nsfw, punishment)
- Updated Electron app title and product name
- Redesigned main heading with stylized tagline
- Added elegant tagline CSS styling (italic, subtle color)
- Completely rewrote README.md focusing on edging/punishment features
- Updated desktop README with NSFW content management focus
- Enhanced descriptions to emphasize the consequence flooding system
- Added adult content keywords for discoverability

 Perfect positioning for the adult gaming market with clear value proposition:
'An edging challenge game where skipping tasks floods your screen with consequences'
2025-09-28 22:19:25 -05:00
dilgenfritz 7824629631 feat: Increase maximum popup images to 40 with smart performance optimizations
- Updated image count slider max from 8 to 40
- Increased range mode max from 10 to 40
- Updated random mode from 1-5 to 1-10 images
- Added dynamic delay calculation: faster delays for larger popup counts
- Added performance warning for counts >20 popups
- Enhanced UI with warning indicators and updated help text
- Added smart timing to prevent long delays with many popups
2025-09-28 22:01:44 -05:00
dilgenfritz 22a1642faa feat: Add dynamic aspect ratio sizing to punishment popups
- Modified PopupImageManager to calculate popup size based on image aspect ratio
- Added size configuration options (min/max width/height, viewport ratios)
- Enhanced popup positioning to handle variable-sized popups with collision detection
- Added comprehensive size controls to Annoyance Management interface
- Implemented asynchronous image loading to determine proper dimensions
- Added padding between popups to prevent visual overlap
- Updated default configuration with size constraints and viewport ratio settings
2025-09-28 21:53:58 -05:00
dilgenfritz 6fad5af73f feat: Phase 2 - Advanced Flash Message System & Annoyance Management
- Added comprehensive FlashMessageManager class with full CRUD operations
- Implemented 4-tab Annoyance Management interface (Messages, Appearance, Behavior, Import/Export)
- Enhanced message management: add/edit/delete/enable/disable with categories and priorities
- Advanced appearance controls: position, animation, colors, fonts, opacity
- Sophisticated behavior settings: timing, variation, event-based triggers
- Complete import/export system with merge/replace modes and reset options
- Added 20 default encouraging messages across 4 categories
- Integrated flash messages into game events (task completion, streaks, skips)
- Added responsive CSS with animations and professional styling
- Enhanced data persistence and error handling
- Game integration: messages start/pause/resume with game state

Phase 1-2 Complete: Core infrastructure + Advanced management ready for Phase 3
2025-09-28 21:33:54 -05:00
fritzsenpai f1f88d5f23 Implement streak bonus system with visual feedback
- Added streak tracking: currentStreak, totalStreakBonuses, lastStreakMilestone
- 10 bonus points awarded every 10 consecutive completed regular tasks
- Streak resets to 0 when task is skipped (consequence tasks don't affect streak)
- Real-time streak display in game stats with fire emoji and milestone highlighting
- Animated streak bonus notification with fire icon and gradient background
- Final stats display includes best streak and total streak bonus points earned
- Enhanced visual feedback with glowing effects for streak milestones (10+)
- Auto-save functionality preserves streak data across game sessions
2025-09-26 11:47:40 -05:00
fritzsenpai a74fefd1a3 Add custom options to game mode dropdowns with user-defined values - Added Custom option to time limit and score target dropdowns - Updated score presets to 100, 200, 300 points - Fixed JavaScript handlers for custom inputs 2025-09-26 11:39:34 -05:00
fritzsenpai 25d855c813 Implement compact interface design with hover-expandable controls
- Clean centered header with prominent title
- Compact timer in top-right corner with subtle styling
- Hover-expandable music controls replacing cluttered header layout
- Single music icon () expands to full control panel on hover
- Organized controls: play/loop/shuffle, track selection, volume
- Modern design with backdrop blur and smooth animations
- Maintains all functionality while dramatically reducing visual clutter
- Fixed textarea input issues in task management
2025-09-26 11:31:21 -05:00
fritzsenpai cc853ad667 Implement 3 Game Modes: Complete All, Timed Challenge, and Score Target
Complete game mode system with dynamic UI and win conditions:

##  Three Game Modes:

### 1. Complete All Tasks (Default)
- Finish every main task in the game
- Original gameplay experience
- Game ends when all tasks completed

### 2. Timed Challenge
- Race against the clock to complete as many tasks as possible
- Configurable time limits: 5, 10, 15, 20, or 30 minutes
- Countdown timer with color warnings (red < 30s, orange < 60s)
- Game ends when time runs out

### 3. Score Target
- Reach a target score to win
- Configurable targets: 500, 1000, 1500, 2000, or 3000 points
- Game ends immediately when target reached
- Strategic gameplay focusing on high-value tasks

##  Enhanced UI Features:

### Game Mode Selection:
- Beautiful radio button interface on start screen
- Mode-specific configuration options (time/score targets)
- Dynamic show/hide of relevant settings
- Visual feedback with hover effects and selection states

### Smart Timer Display:
- Elapsed time for Complete All and Score Target modes
- Countdown timer for Timed Challenge mode
- Color-coded time warnings (red/orange when running low)
- Dynamic timer status indicators

### Dynamic Game Over Screen:
- Mode-specific victory messages and titles
- Shows selected game mode in final stats
- Different celebration text based on completion reason
- Comprehensive final statistics display

##  Technical Implementation:

### Game State Enhancement:
- Added gameMode, timeLimit, scoreTarget to gameState
- Proper game state reset handling for all modes
- Mode persistence and configuration management

### Win Condition Logic:
- Score target checking on task completion
- Timer countdown with automatic game end
- Complete-all detection (existing functionality preserved)
- Multiple end game reasons ('time', 'score-target', 'complete-all')

### Event System:
- Game mode selection event listeners
- Dynamic configuration updates
- Real-time UI state management
- Mode-specific timer updates

**Ready to challenge yourself in 3 different ways! **
2025-09-25 22:00:44 -05:00
fritzsenpai 9c8876b89f Implement Phase 2: Complete Audio Management UI
Major audio management interface implementation:

HTML Structure (index.html):
- Added complete audio-management-screen after image management
- Audio import buttons for background/ambient/effects categories
- Audio gallery with tabbed interface (background, ambient, effects)
- Audio preview section with HTML5 audio player
- Gallery controls: select all, deselect all, delete, preview
- Manage Audio button added to main start screen
- Professional layout matching image management design

CSS Styling (styles.css):
- Complete audio management styling system
- Audio gallery grid layout with 280px cards
- Audio item cards with icons, titles, controls
- Tabbed interface styling with active states
- Audio preview section with integrated player
- Category-specific icons ( background,  ambient,  effects)
- Hover effects, selection states, and responsive design
- Consistent with image management visual patterns

JavaScript Functionality (game.js):
- showAudioManagement() - main screen initialization
- setupAudioManagementEventListeners() - comprehensive event handling
- loadAudioGallery() - populate all three category galleries
- Audio tab switching (background/ambient/effects)
- Audio selection/deselection with click handlers
- Audio preview system with HTML5 player integration
- Delete functionality for selected audio files
- Enable/disable audio file toggles
- Audio storage info modal with desktop/web mode details
- Complete event listener management with duplicate prevention
- Audio discovery initialization in constructor

Features:
- Three-category audio organization (background, ambient, effects)
- Click-to-select audio items with visual feedback
- Preview selected audio files with integrated player
- Bulk operations: select all, deselect all, delete selected
- Enable/disable individual audio files
- Desktop file management integration
- Automatic audio directory scanning
- Storage information with category breakdowns
- Professional gallery layout with metadata display

Ready for Phase 3: Integration with MusicManager for playlist functionality
2025-09-25 21:27:21 -05:00
fritzsenpai aa3b7d8a1c Fix game freeze with no images loaded
Critical fix for desktop startup:
- Fixed startGame() function to properly handle new customImages object format
- Previously trying to call .length on object instead of array
- Added proper backward compatibility checking for both old array and new object formats
- Added comprehensive logging to debug image management screen freeze
- Now correctly counts custom images from both task and consequence categories

Fixes error where:
- User clicks Start Game with no images
- Game redirects to image management screen but freezes
- TypeError: customImages.length when customImages is {task: [], consequence: []}

Error resolved with proper object structure handling and logging.
2025-09-25 21:03:12 -05:00
fritzsenpai 0a7bcc91e9 Final interface cleanup and improvements
Interface updates:
- Removed 'Open Image Folders' button - functionality wasn't implemented
- Updated Storage Info to show desktop vs web-specific information
- Desktop mode now shows unlimited storage info with file system details
- Web mode shows traditional browser storage limitations

Storage Info improvements:
- Shows image counts by category (tasks/consequences)
- Desktop version highlights unlimited storage benefits
- Clearer information about native file system vs browser storage
- Better visual organization with emojis and sections

.gitignore updates:
- Added comprehensive image file exclusions (jpg, png, gif, webp, etc.)
- Added audio file exclusions (mp3, wav, ogg, m4a, etc.)
- Excluded user imported images directories (images/tasks/*, images/consequences/*)
- Prevents user content from being committed to repo

Benefits:
- Cleaner interface with fewer non-functional buttons
- Context-aware storage information based on platform
- Better repository hygiene by excluding user content files
2025-09-25 20:28:48 -05:00
fritzsenpai 18d0f8bba2 Clean up image management interface
Automatic scanning and button cleanup:
- Added automatic directory scanning on desktop app startup
- Removed manual 'Scan Image Directories' button - no longer needed
- Removed 'Clear Image Cache' button - functionality not useful in desktop mode
- Updated scan info text to reflect automatic scanning behavior
- Cleaned up setupImageManagementEventListeners by removing unused button handlers

Benefits:
- Cleaner, more streamlined interface
- Images automatically available without manual intervention
- Reduced cognitive load - fewer buttons to understand
- More professional desktop application experience
2025-09-25 20:24:57 -05:00
fritzsenpai 45adf1b757 Fix desktop application errors
Security and functionality fixes:
- Added Content Security Policy to index.html to address Electron security warning
- Fixed function name errors: updateImageGallery() -> updateImageGalleryControls()
- Enhanced error handling in desktop-file-manager.js path operations
- Added null checks for directory initialization to prevent undefined path errors
- Fixed category mapping for task/consequence directory access
- Improved error logging and user feedback for file operations

Fixes resolve:
- Electron CSP security warnings
- TypeError with undefined path arguments
- Missing function reference errors
- Desktop import button functionality
2025-09-25 20:17:30 -05:00
fritzsenpai 8e7cf0d4bf Refactor to desktop application with Electron
Major Changes:
- Convert web game to cross-platform desktop app using Electron
- Add complete desktop file management system
- Implement native file dialogs and unlimited storage
- Create secure IPC bridge for file operations

New Files Added:
- main.js: Electron main process with native OS integration
- preload.js: Secure IPC bridge between main and renderer
- desktop-file-manager.js: Full file system access and operations
- package.json: Electron dependencies and build configuration
- setup.bat/setup.sh: Installation scripts for all platforms
- README-DESKTOP.md: Comprehensive desktop application guide

Desktop Features:
- Native file import dialogs (no browser limitations)
- Unlimited disk space for image storage
- Direct folder access and file management
- Cross-platform builds (Windows/Mac/Linux)
- Full offline functionality
- Native performance without web constraints

Benefits:
- Solves browser security sandbox limitations
- Unlimited image storage using file system
- Professional native application experience
- Easy installation and distribution
- True cross-platform compatibility
2025-09-25 20:07:45 -05:00
fritzsenpai 1879a8970f Initial commit: Task Challenge Game v1.4
Core Features:
- Complete task management game with point system
- Theme system with multiple visual styles
- Background music with playlist controls
- Comprehensive keyboard shortcuts (Enter/Ctrl/Shift+Ctrl/Space/P/M/H/Escape)

Image Management System:
- Categorized upload system (Task/Consequence images)
- High-quality image processing (1600x1200, 95% quality)
- Batch operations (select all, delete multiple)
- Storage quota management (50 image limit)
- Support for JPG/PNG/WebP up to 20MB

Technical Architecture:
- DataManager class for localStorage management
- TaskChallengeGame main controller
- Canvas-based image compression
- Cross-browser compatibility
- No dependencies - pure HTML/CSS/JS

Data Management:
- Local storage with auto-migration
- Export/import functionality
- Statistics tracking
- Game state persistence
2025-09-25 19:41:06 -05:00