Commit Graph

27 Commits

Author SHA1 Message Date
dilgenfritz cbdea7bf3b updated library to be on its own page 2025-11-26 06:15:40 -06:00
dilgenfritz 8789b8e16b fix the color theme in traning academy as well as continuity issues. 2025-11-25 10:15:26 -06:00
dilgenfritz 616237c642 updated unified color palette and changed to a theme selector 2025-11-24 21:07:48 -06:00
dilgenfritz e9fbb2b427 fix(quick-play): replace hardcoded colors with CSS variables
- Replace all cyan (#00d4ff) with var(--color-primary)
- Replace all purple (#8B5CF6) with var(--color-secondary)
- Replace gold (#ffd700) with var(--color-accent-gold)
- Add --color-accent-gold and semantic color aliases to color-variables.css
- Convert 40+ CSS classes to use theme-aware variables
- Fixes theme switching for setup screens, buttons, controls, sliders, modals
- Maintains exclusions: grays, whites, blacks, consequence colors, status colors
2025-11-24 13:27:02 -06:00
dilgenfritz 30c9f12d71 feat(phase-3): integrate theme system into Quick Play
- Import color-variables.css and themeManager.js
- Add theme toggle switcher to header navigation
- Replace all hardcoded colors with CSS variables
- Update header, buttons, setup screens, and floating start button
- Replace inline styles and JavaScript color assignments
- Quick Play now fully theme-aware and customizable
2025-11-24 12:55:06 -06:00
dilgenfritz 983d03cc03 feat: Quick Play UX improvements - task management reorganization, collapsible tags, opacity slider, contextual instructions, floating start button 2025-11-24 10:12:50 -06:00
dilgenfritz c40ed278e0 Major project reorganization: Move docs and scripts to dedicated directories
Documentation Organization:
- Move all documentation (except main README.md) to docs/ directory
- Create docs/README.md as navigation index for all documentation
- Update file structure references in main README.md

 Script Organization:
- Move all scripts to scripts/ directory (setup.bat, setup.sh, Start-webgame.bat, etc.)
- Update script references in documentation
- Update distribution scripts to use new paths

 Hypno Gallery Implementation:
- Implement recursive image directory scanning in main process
- Add readImageDirectoryRecursive IPC handler for proper Node.js fs access
- Clean up complex fallback code in hypno-gallery.html
- Create comprehensive HYPNO-GALLERY-README.md documentation

 File Structure Improvements:
- Clean root directory with only essential application files
- Organized subdirectories: src/, docs/, scripts/, images/, audio/, assets/
- Professional project structure for better maintainability

This reorganization improves project navigation, separates concerns properly,
and provides a solid foundation for future development.
2025-11-18 22:42:32 -06:00
dilgenfritz ec45cf69f8 updated distribution 2025-11-18 06:47:29 -06:00
dilgenfritz bb27735b46 feat: Add webcam recording task overlay system
- Implement canvas-based video compositing for task overlays
- Task information now burned directly into webcam recordings
- Show actual task content instead of generic descriptions
- Remove screen overlay in favor of webcam-embedded overlay
- Auto-enable task overlay for all webcam recordings
- Add real-time task text, type, and timer display on recordings
- Enhance training session documentation and review capabilities
2025-11-17 10:07:19 -06:00
dilgenfritz 37ec5f0f1e Complete media library cleanup - consolidate duplicate gallery systems
Phase 1 - Video Library Consolidation:
- Removed unified-video-gallery, loadUnifiedVideoGallery(), loadStandardVideoGallery(), loadLargeVideoGallery()
- Removed loadVideoGalleryContent() and all category-video-gallery references
- Removed setupVideoItemHandlers(), selectAllVideos(), deleteSelectedVideos(), deleteVideo()
- Consolidated to single lib-video-gallery system

 Phase 2 - Image Library Consolidation:
- Removed task-images-gallery, consequence-images-gallery elements and tabs
- Removed obsolete image selection buttons
- Added task/consequence/reward filtering to lib-image-gallery
- Implemented directory-based category filtering

 Phase 3 - Audio Library Consolidation:
- Removed background-audio-gallery, ambient-audio-gallery elements and tabs
- Removed obsolete audio selection buttons
- Enhanced lib-audio-gallery with background/ambient category filtering
- Implemented efficient audio filtering system

 Impact: ~500+ lines removed, 12+ duplicate functions eliminated, 9+ obsolete UI elements cleaned
 Result: Single consolidated library system per media type with enhanced filtering capabilities
2025-11-11 20:41:53 -06:00
dilgenfritz 76ee56826f FIX: Video storage quota and add videos to photo gallery
FIXED: Storage quota exceeded error
- Reduced video recording bitrate to 250kbps for smaller file sizes
- Added fallback recording options for better browser compatibility
- Implemented thumbnail-only storage for large videos with immediate download option
- Limited stored videos to 5 to prevent quota issues

ADDED: Videos to photo gallery (Gallery tab)
- Integrated captured videos into setupLibraryGalleryTab() alongside photos
- Videos appear in main gallery with photo-like interface and thumbnails
- Added proper video thumbnail generation and display
- Included video duration and metadata in gallery view

IMPLEMENTED: Smart storage management
- Videos stored with thumbnail for gallery display + full video for playback/download
- Graceful fallback when storage quota exceeded (thumbnail only + immediate download)
- Separate delete functions for gallery vs video library
- Updated gallery count to show 'X photos, Y videos'

ENHANCED: Video playback and download
- Updated video playback to use stored videoBlob with fallback messaging
- Download function checks for video availability before attempting
- Added hover effects for video thumbnails with play overlay
- Proper error handling for missing or corrupted video data

RESULT: Videos now appear in photo gallery like photos
- Users can view video thumbnails alongside photos in Gallery tab
- Efficient storage prevents quota errors while maintaining functionality
- Seamless integration with existing photo gallery interface
2025-11-10 11:03:56 -06:00
dilgenfritz 325a71bf75 INTEGRATE: Session recordings into main media library
CHANGED: Session recording storage system
- Modified saveRecordedSession() to use 'capturedVideos' localStorage key (matches photo pattern)
- Updated all Quick Play gallery functions to use consistent 'capturedVideos' key
- Aligned with existing media library architecture for consistency

ADDED: Captured videos to main library video tab
- Integrated captured session videos into index.html video library display
- Added captured videos section with proper metadata (date, duration, type)
- Videos appear alongside game videos (background, task, reward, punishment)
- Updated total video count to include captured session recordings

IMPLEMENTED: Full video management in main library
- Added playCapturedVideo() function with fullscreen player overlay
- Added downloadCapturedVideo() function with proper filename generation
- Added deleteCapturedVideo() function with confirmation and library refresh
- All functions include proper error handling and user feedback

RESULT: Unified media library experience
- Session recordings now appear in main media library alongside photos
- Users can manage all captured media from single location in index.html
- Consistent interface for viewing, downloading, and deleting recordings
- Seamless integration with existing library architecture and styling
2025-11-10 10:49:22 -06:00
dilgenfritz 6381c292e0 ADD: Session recording with gallery system
ADDED: Complete session recording functionality
- Session recording option in Quick Play setup screen with position/size controls
- Automatic recording initialization when enabled during session startup
- Records entire gameplay session using MediaRecorder API (WebM format)
- Privacy-focused: audio disabled, all recordings stored locally only

IMPLEMENTED: Session Videos Gallery
- Gallery accessible from Quick Play results screen via 'Session Videos' button
- Grid view showing video previews with metadata (date, duration, settings)
- Individual video actions: play fullscreen, download, delete
- Bulk actions: clear all videos with confirmation dialog
- Automatic storage management (keeps last 10 recordings)

FEATURES: Advanced video management
- Fullscreen video player with controls for reviewing sessions
- Smart filename generation with timestamps for downloads
- Video previews with hover-to-play overlay effects
- Responsive grid layout with professional styling
- localStorage-based gallery system matching photo capture pattern

RESULT: Complete session documentation system
- Users can record their training sessions for later review
- Gallery provides easy access to download or manage recordings
- Seamless integration with existing Quick Play workflow
- No external dependencies - fully self-contained recording system
2025-11-10 10:38:18 -06:00
dilgenfritz c93be4416e ADD: Webcam photo capture button to Quick Play
ADDED: Quick Play webcam functionality
- Added  Photo button to Quick Play header controls for easy access
- Integrated WebcamManager with Quick Play for photo capture sessions
- Simple one-photo session with progress tracking and user-friendly interface
- Photos stored locally with user consent (privacy-first approach)

IMPLEMENTED: XP rewards for webcam usage
- 1 XP awarded for opening webcam (encourages feature usage)
- 2 XP bonus awarded for completing photo session (total 3 XP per photo)
- XP updates both session stats and game state for consistency
- Console logging for debugging and user feedback

FEATURES: Full webcam integration
- Uses existing WebcamManager.js with startPhotoSessionWithProgress()
- Photo session includes countdown timer, guidelines, and preview
- Captured photos saved to localStorage with metadata
- Event-driven completion handling with photoSessionComplete listener
- Error handling for camera permissions and initialization failures

RESULT: Easy photo capture during Quick Play sessions with XP rewards
- Button available throughout gameplay for spontaneous photo capture
- Maintains existing webcam functionality and privacy controls
- Enhances engagement and provides additional XP earning opportunity
2025-11-10 09:27:34 -06:00
dilgenfritz 0615672872 FIX: Quick Play XP calculation and implement exponential level scaling
FIXED: Quick Play XP calculation bug
- Disabled legacy completeTask() function in quick-play.html that awarded 10-30 XP
- Prevented main game from setting up button handlers when in Quick Play mode
- Quick Play now correctly awards 1-3 XP based on completion time + session bonuses
- Eliminated double/triple XP awards from multiple competing systems

IMPLEMENTED: Exponential XP level scaling
- Updated from linear progression (100 XP per level) to exponential scaling
- Level 2 now requires only 10 XP (was 100 XP) for accessible early progression
- Uses formula: XP = Math.floor(10 * Math.pow(1.5, level - 2)) for levels 2+
- Level scaling: L3=25, L5=82, L10=751, L15=5844, L20=44520 XP
- Each level requires ~50% more XP than previous, making high levels prestigious

CLEANUP: Remove outdated index_temp.html
- Deleted index_temp.html containing obsolete AI task system and old theme code
- File contained outdated character image paths and removed functionality
- Not referenced anywhere in project, was just development cruft

RESULT: Balanced progression system with accessible early levels and challenging endgame
2025-11-08 18:56:50 -06:00
dilgenfritz 1c129de6f6 REMOVED: Complete AI task generation system program-wide
DELETED FILES:
- src/features/tasks/aiTaskManager.js (entire AI task generation system)

 UPDATED FILES:
- index.html: Removed AI Tasks tab from annoyance management, simplified to Import/Export only
- src/core/game.js: Removed aiTaskManager initialization, event handlers, and all AI task methods
- training-academy.html: Removed aiTaskManager.js script import
- src/README.md: Removed aiTaskManager.js documentation
- docs/ANNOYANCE_SETTINGS_DOCUMENTATION.md: Removed AI Tasks section, updated description
- Start-webgame.bat: Removed Ollama service startup commands
- src/styles/styles.css: Removed all AI Tasks tab styling (150+ lines)

 VERIFICATION:
- No remaining references to aiTaskManager, AITaskManager, ollama, or Ollama in JavaScript files
- Annoyance management now only contains Import/Export functionality
- All AI task event handlers and UI elements removed
- Documentation updated to reflect removal
- Startup script no longer attempts to start Ollama service

 RESULT: Clean codebase with AI task generation completely removed as requested
2025-11-08 18:13:32 -06:00
dilgenfritz b5ef5d2c77 Fix video library thumbnail spacing and create media cleanup plan
FIXED: Video library thumbnail spacing issues
- Identified multiple conflicting video gallery systems in index.html
- Applied proper CSS fixes to #lib-video-gallery (gap: 4px, height: 240px)
- Resolved CSS conflicts between unified-video-gallery and lib-video-gallery
- Enhanced video info display visibility and styling
- Successfully created compact layout with visible video titles

 CREATED: Comprehensive media library cleanup plan
- Documented 3 duplicate video library systems requiring consolidation
- Identified duplicate image and audio gallery systems
- Created phased cleanup approach in docs/MEDIA_LIBRARY_CLEANUP_PLAN.md
- Estimated ~1,150 lines of duplicate code to be removed
- Preserved all functionality while simplifying architecture

 RESULT: Working video library with proper spacing and video info display
- lib-video-gallery confirmed as primary system to keep
- All other video gallery systems marked for removal
- Next: Execute cleanup phases to eliminate duplicates
2025-11-08 09:33:51 -06:00
dilgenfritz 5983d4a3bb update ui and fix tasks in quickplay 2025-11-06 13:03:03 -06:00
dilgenfritz c361c308c1 Implement level display system replacing status panels
Features:
- Replace TOTAL XP and SESSION TIME panels with unified level display
- Show current level name and number (Virgin Level 1  Omnipotent Level 20)
- Display total XP with progress bar toward next level
- Real-time updates every 5 seconds and on PlayerStats changes

 UI Improvements:
- Cyberpunk-styled level display card matching billboard aesthetic
- Level name prominently displayed with level number
- XP progress bar showing advancement toward next level
- Responsive design maintaining home page layout

 Technical Implementation:
- Level calculation system using 100 XP per level progression
- Integration with existing PlayerStats XP tracking system
- Performance-optimized updates with event-driven refresh
- Fallback to localStorage if PlayerStats unavailable

 Level System:
- 20 adult-themed levels from Virgin to Omnipotent
- 100 XP required per level advancement
- Progress tracking shows current level XP and next level requirement
- Visual progress indicator for level advancement motivation
2025-11-05 22:18:50 -06:00
dilgenfritz dbadd4a828 feat: Enhanced mirror task timer system and condescending game over dialog
- Fixed mirror task timer display to show actual duration (not hardcoded 60s)
- Added working progress bar with real-time countdown
- Disabled complete button until timer expires - prevents early completion
- Complete button shows countdown and enables only when timer finished
- Changed close mirror button to trigger immediate game over instead of confirmation
- Added condescending but professional game over dialog for training abandonment
- Fixed WebcamManager syntax errors that prevented proper initialization
- Enhanced training academy button styling for professional appearance
- Improved timer synchronization between training academy and webcam interfaces
2025-11-04 19:48:07 -06:00
dilgenfritz 2112142563 feat: Complete training academy integration with photo capture and endurance trials 2025-11-04 15:03:35 -06:00
dilgenfritz 1e55cb3f21 Complete Quick Play background video implementation
- Add independent background video system to Quick Play
- Implement VideoLibrary-style scanning for Quick Play
- Add compact floating video controls with opacity cycling
- Create video visibility toggle button (eye icon)
- Fix Quick Play game mode isolation (prevent main game interference)
- Add proper task loading with GameDataManager integration
- Implement Quick Play-specific task completion functions
- Add random image assignment for tasks from linked directories
- Fix syntax errors and improve error handling
- Complete video settings integration with Quick Play preferences

Features:
 Background videos play independently of Porn Cinema
 46 videos detected and playable
 Minimal UI controls that don't obstruct tasks
 Multiple opacity levels (hidden/dim/normal/bright)
 Quick toggle for video visibility
 Proper countdown timer (fixed from counting up)
 Real task loading (17 mainGameData tasks)
 Task images from 60 linked images
 Isolated game state management
2025-11-03 21:18:17 -06:00
dilgenfritz 0f0147db2a Fix video library initialization for Quick Play
- Replace VideoLibrary dependency with direct directory scanning
- Add scanVideoDirectory method to DesktopFileManager
- Implement buildUnifiedVideoLibrary function
- Add fallback direct directory scanning using Electron API
- Improve error handling for video loading
- Fix VideoLibrary DOM dependency issues in Quick Play mode
2025-11-03 19:45:55 -06:00
dilgenfritz 8fb373afdb Add background video support to Quick Play
- Added video mode selection (none, background, popup, multi-screen)
- Implemented BaseVideoPlayer integration for background videos
- Added video opacity, sound, and control options
- Enhanced video library initialization for Quick Play mode
- Added user-friendly notifications when no videos are available
- Improved video container styling with proper layering
- Added automatic random video loading and rotation
- Enhanced task display readability over background video
2025-11-03 19:44:01 -06:00
dilgenfritz 52cd3329f1 Clean up debugging logs and fix Quick Play image sizing
- Remove excessive debugging logs from desktop-file-manager.js and porn-cinema.html
- Keep essential logging while reducing console noise
- Fix Quick Play task image sizing by removing manual dimension calculations
- Let CSS handle image scaling with object-fit: contain for proper aspect ratio
- Clear previous inline dimensions to prevent CSS conflicts
- Images should now properly fit within container boundaries
2025-11-03 19:04:09 -06:00
dilgenfritz 4b16ce8ff2 Fix Quick Play to load tasks from mainGameData.js
- Added mainGameData.js script to quick-play.html
- Initialize GameDataManager in Quick Play instance
- Modified loadMainTask to use GameDataManager.getTasksForMode()
- Added fallback to legacy gameData if GameDataManager unavailable
- Quick Play should now load the 17 explicit tasks from mainGameData.js
2025-11-03 16:00:13 -06:00
dilgenfritz 8a25b51168 Fix video loading and Quick Play image system migration
- Fixed porn cinema video loading to use correct linkedIndividualVideos storage
- Added CSS !important overrides to ensure video card visibility
- Migrated Quick Play from hardcoded image paths to linked storage system
- Added async getLinkedImages() methods to Game and PopupImageManager classes
- Fixed TypeError crashes from readDirectory async/sync issues
- Added comprehensive debug logging for media loading processes
2025-11-03 15:01:01 -06:00