Commit Graph

222 Commits

Author SHA1 Message Date
dilgenfritz ab320fd708 bug fixes on level 1-5 of campaign 2025-11-30 22:19:24 -06:00
Drew Ilgenfritz c4d6b70b14 more updates to campain 2025-11-30 19:38:30 -06:00
dilgenfritz d2c8c7206d update 2025-11-30 11:37:49 -06:00
dilgenfritz b5856b21ae Fix: Critical syntax error and storage quota issues
- Fixed missing arrow (=>) in interactiveTaskManager.js line 5677
- Added null checks for DOM elements in async intervals (dynamic captions, sensory overload tasks)
- Disabled auto-backup to prevent localStorage quota exceeded errors
- Implemented aggressive emergency cleanup (removes all backups and photo data)
- Added global QuotaExceededError handler with automatic cleanup
- Added BackupManager to training-academy.html with initialization
- Enhanced preference save error handling with user feedback
- Save validation prevents level progression if preferences fail to save
- All photo data now removed from localStorage to conserve space
2025-11-29 22:27:36 -06:00
dilgenfritz 49fc81418d punishment gauntlet ready for release 2025-11-26 22:14:45 -06:00
dilgenfritz cef1980f65 Fixed path_locked_ending - removed invalid routing step, final_submission now routes directly to ending_willing_submission (default) with pathBasedRouting flag for system to override 2025-11-26 21:44:01 -06:00
dilgenfritz 265fd8b0c0 Added mid-game path lock-in at turning_point - player's dominant choice pattern (eager/hesitant/resistant) is locked and determines final ending, no more ending selection at the end 2025-11-26 21:38:17 -06:00
dilgenfritz 335baa6f1f Added dialogue variations to 7 task steps based on player choice paths - each task now has 3-4 different dialogues (eager/hesitant/resistant) for more personalized experience 2025-11-26 21:32:43 -06:00
dilgenfritz 61569291f1 Major humiliation game expansion: Added 6 choice steps, 5 unique endings, expanded from 17 to 29 total steps. Includes determine_ending mechanic for player agency and rare defiant escape path. Duration now 20-25 minutes with natural cascading choices. 2025-11-26 21:26:57 -06:00
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 85e9c9cc5d feat(phase-6): integrate theme system into user-profile, player-stats, and hypno-gallery
- user-profile.html:
  * Import color-variables.css and themeManager.js
  * Remove local :root color definitions
  * Add theme-switcher-container to header
  * Initialize theme switcher in DOMContentLoaded
  * Convert all local variables to theme system:
    - --background  --color-background
    - --surface  --color-surface
    - --text-primary  --color-text
    - --text-secondary  --color-text-secondary
    - --border  --color-border
    - --primary-*  --color-primary/secondary
    - --error/warning/success  --color-error/warning/success
  * Update all CSS classes with new variable names

- player-stats.html:
  * Import color-variables.css and themeManager.js
  * Add theme-switcher-container to stats-container
  * Initialize theme switcher in DOMContentLoaded
  * Replace hardcoded gradient (#667eea, #764ba2)  var(--color-gradient)

- hypno-gallery.html:
  * Import color-variables.css and themeManager.js
  * Add theme-switcher-container to hypno-header
  * Initialize theme switcher in DOMContentLoaded
  * Convert all purple theme colors to CSS variables:
    - Headers, borders, backgrounds  --color-primary variants
    - Gradients  --color-gradient
    - Accents, buttons, controls  --color-primary
    - Progress bars, checkboxes  --color-primary
  * Updated 25+ CSS classes with theme variables

All three pages now fully theme-aware and consistent with platform-wide color system
2025-11-24 13:10:31 -06:00
dilgenfritz 0be5a902f4 feat(phase-5): integrate theme system into Porn Cinema
- Import color-variables.css and themeManager.js in HTML
- Add theme-switcher-container to header
- Initialize theme switcher in DOMContentLoaded event
- Convert porn-cinema.css to use CSS variables:
  * Primary color (pink #ff6b9d)  var(--color-primary)
  * Secondary color (purple #8b63d6)  var(--color-secondary)
  * All transparent/hover/border variants  CSS variables
  * Gradients, scrollbars, and UI accents updated
- All pink/purple colors now theme-aware across cinema mode
2025-11-24 13:04:28 -06:00
dilgenfritz 828e837d83 feat(phase-4): integrate theme system into Training Academy
- Import color-variables.css and themeManager.js
- Add theme toggle switcher to academy header
- Replace header gradient, borders, and title colors with CSS variables
- Update all button styles (btn, btn-secondary, btn-warning)
- Replace training mode cards, status bars, and controls with theme variables
- Update training task styling, complete buttons, and start button
- Replace library status and blue accent colors
- Training Academy now fully theme-aware across all UI elements
2025-11-24 13:00:00 -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 1ae0a37fbf feat(phase-2): integrate color system with theme manager and global styles
- Added 5 theme variants (Electric Blue, Neon Pink, Deep Purple, Matrix Green, Blood Red)
- Created ThemeManager utility with localStorage persistence
- Added theme selector UI components (dropdown and toggle buttons)
- Updated styles.css to import color-variables and use legacy aliases
- Theme changes apply dynamically across entire platform
2025-11-24 12:41:11 -06:00
dilgenfritz 366716da8b feat(phase-1): create centralized color system with CSS variables 2025-11-24 12:37:20 -06:00
dilgenfritz 27b4a52170 feat: standardize Training Academy header to match Quick Play/Porn Cinema - fixed positioning and layout 2025-11-24 12:34:35 -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 fabba36fe6 docs: Update levels.md to reflect actual XP system and add user feedback analysis
- Fixed level XP requirements to match exponential scaling system
- Updated achievements to reflect actual implementation
- Removed unlock features that aren't implemented yet
- Added comprehensive user feedback analysis with actionable items
- Corrected Level 14 name from Hedonistic to Submissive
- Updated progression tips for realistic XP earning strategies
2025-11-24 09:04:25 -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 b9de382bf7 feat: Create comprehensive beta testing distribution package
- Add professional beta testing documentation suite
  * TESTER_GUIDE.md: Complete testing instructions with scenarios
  * INSTALLATION_GUIDE.md: Cross-platform setup documentation
  * BETA_FEEDBACK_FORM.md: Structured feedback collection template
  * DISTRIBUTION_SUMMARY.md: Package overview and contents

- Enhance setup scripts for beta distribution
  * Enhanced setup.bat with progress tracking and auto-launch
  * Cross-platform setup.sh with colors and system detection
  * Comprehensive error handling and troubleshooting

- Add automated distribution packaging system
  * create-distribution.bat: Windows distribution packager
  * create-distribution.sh: Unix/Linux distribution packager
  * .distribution-ignore: Clean packaging rules
  * Automatic ZIP archive creation (37.7MB package)

- Create ready-to-distribute beta package
  * 106 files including all application code and assets
  * Clean user directories with placeholder documentation
  * Professional presentation for external beta testers
  * Cross-platform compatibility (Windows/Mac/Linux)

Package ready for beta testing distribution with comprehensive
documentation, structured feedback collection, and professional
setup experience across all platforms.
2025-11-17 10:38:31 -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 676f06b2f1 feat: Implement TTS (Text-to-Speech) integration in Training Academy
- Add VoiceManager integration with cross-platform voice selection
- Implement TTS controls with toggle, stop, and status display
- Add voice narration for task instructions and scenario stories
- Integrate TTS guidance for focus sessions with progress announcements
- Add TTS feedback for task completion and mode selections
- Include smart text cleaning and queue system for seamless speech
- Reorganize documentation files into archive folder
- Update player stats and webcam manager for better integration
2025-11-17 07:24:40 -06:00
dilgenfritz f686e21ca6 Implement comprehensive backup system
Features:
- Automatic backups every 30 minutes
- Manual backup creation
- Backup export/import to files
- Selective restore options
- Emergency backups before risky operations
- Backup management UI in settings
- Storage usage tracking

 Components:
- BackupManager class with full functionality
- Backup UI in index.html settings
- CSS styling for backup dialogs
- Emergency backup hooks in game.js reset functions
- Auto-cleanup of old backups (keeps 5 most recent)

 Data Coverage:
- All localStorage keys
- Linked directories
- Player stats and achievements
- Custom tasks and content
- Photo gallery
- Theme settings
- Game state

This prevents future data loss incidents like the one that occurred
during game mode cleanup. Users can now restore from automatic
backups or create manual ones before major operations.
2025-11-12 07:05:18 -06:00
dilgenfritz 4d7631355f Complete media library consolidation and dynamic Library theme
-  Archive completed MEDIA_LIBRARY_CLEANUP_PLAN.md
-  Dynamic Library theme with aspect ratio-based container sizing
-  Gap-free image stacking with Pinterest-style layout
-  Perfect column positioning (1px from edges)
-  Enhanced file path encoding for special characters
-  Update ROADMAP.md and README.md with v3.3 features
-  16 character-side elements for extended coverage

Media cleanup phases completed:
- Phase 1: Unified lib-video-gallery system
- Phase 2: Consolidated lib-image-gallery
- Phase 3: Streamlined lib-audio-gallery
- Removed 500+ lines of duplicate code

Theme system now includes:
- hentai, pornstars, BBC, feet themes
- Dynamic Library theme with user's personal images
- Smart container sizing preserving aspect ratios
- No-gap vertical stacking for optimal layout
2025-11-11 21:17:25 -06:00
dilgenfritz cee6711507 image cleanup 2025-11-11 21:09:47 -06:00
dilgenfritz de0d0ab55f Add stacked layout for Library theme - organized columns with proper spacing and styling 2025-11-11 21:00:10 -06:00
dilgenfritz 2a27dee37b Fix Library theme file path encoding - proper URI encoding for special characters and consistent file:// protocol usage 2025-11-11 20:55:56 -06:00
dilgenfritz 9d94fb8695 Add Library theme with user images + fix theme system
New Library Theme Feature:
- Added 'Library (Random)' option to theme dropdown
- Uses random images from user's linked directories
- Fresh random selection on each page load/theme change
- Displays 10 random images from personal collection on home screen

 Theme System Improvements:
- Updated applyTheme() to handle async library theme loading
- Added applyLibraryTheme() function with proper error handling
- Fixed CSS loading to skip image-based themes (library, hentai, etc.)
- Improved file path handling for Electron environment
- Added fallback to hentai theme when no library images found

 Enhanced Dropdown:
- Added BBC and feet themes with proper image mappings
- Added Library theme with folder icon
- All 6 theme options now fully functional

 Result: Personalized home screen using user's own image collection!
2025-11-11 20:54:26 -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 f1132822bf FIX: Remove stray backtick causing syntax error in video gallery
FIXED: JavaScript syntax error in index.html
- Removed extra backtick () at end of template literal on line 4357
- Was breaking video gallery display in setupLibraryGalleryTab function
- Template literal now properly closed, eliminating syntax errors

RESULT: Video gallery integration now works without JavaScript errors
2025-11-10 11:06:03 -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 18087c372d FIX: Move captured videos to primary working video library
CORRECTED: Video library integration location
- Moved captured videos from setupLibraryVideoTab() (slated for deletion) to populateVideoGallery()
- Now integrates with primary lib-video-gallery system that's confirmed working
- Captured videos appear in the main library video tab as intended

ENHANCED: Primary video gallery display
- Added captured videos to populateVideoGallery() function with proper thumbnails
- Videos show with session recording metadata (date, duration, type)
- Maintains consistent gallery-item styling with linked videos
- Includes action buttons (play, download, delete) directly in gallery

FIXED: Video count display
- Updated lib-video-count to include both linked and captured videos
- Shows accurate total count in library header
- Console logging for debugging video counts

RESULT: Captured videos now appear in correct primary library
- Videos show up in the main working library video gallery
- Consistent with library architecture and cleanup plan
- No longer in deprecated/duplicate gallery systems
2025-11-10 10:55:54 -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 4611f03d72 CLEANUP: Remove duplicate character image toggle functionality
- Removed redundant character-toggle-btn since theme system now handles show/hide
- Deleted toggleCharacterImages() function and related JavaScript
- Theme dropdown 'None' option now serves the same purpose as the old hide button
- Eliminates duplicate UI controls and conflicting functionality
- Streamlined character image management through unified theme system
2025-11-08 18:31:29 -06:00
dilgenfritz c674f60c1d COMPLETE: Remove annoyance management + implement theme system
REMOVED ANNOYANCE MANAGEMENT:
- Deleted entire annoyance-management-screen from index.html
- Removed manage-annoyance-btn from start screen navigation
- Deleted all annoyance management methods from game.js:
  - showAnnoyanceManagement()
  - setupAnnoyanceManagementEventListeners()
  - showAnnoyanceTab()
  - saveAllAnnoyanceSettings()
  - loadAnnoyanceSettings()
  - getCurrentAnnoyanceTab()
- Updated remaining method references to work without annoyance tabs

 ORGANIZED HENTAI IMAGES:
- Hentai images already properly organized in assets/hentai/ directory
- Pornstar images confirmed in assets/pornstars/ directory
- Updated default image paths to use assets/hentai/ subdirectory

 IMPLEMENTED THEME SYSTEM:
- Added theme dropdown to options menu with 3 options:
  -  Hentai (default)
  -  Pornstars
  -  None (hides all side images)
- Created JavaScript theme switching functionality:
  - applyTheme() function dynamically updates image paths
  - Saves theme preference to localStorage
  - Loads saved theme on page load
  - Maps character positions to correct image numbers
- Updated character-side elements to use theme-based paths

 RESULT: Clean interface with working theme system
- Annoyance management completely removed from UI and code
- Side images now dynamically switch between hentai/pornstars/none
- Theme preference persisted across sessions
- No broken references or dead UI elements
2025-11-08 18:30:17 -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 c9c33df6fc Add comprehensive bulk photo operations and download functionality
BULK SELECTION: Complete photo selection system
- Added checkboxes to all photos with custom styling
- Select All/Deselect All buttons for easy bulk operations
- Real-time selection counter with visual feedback
- Smooth animations and hover effects for checkboxes

 DOWNLOAD FUNCTIONALITY: Single and bulk photo downloads
- Single photo download with automatic filename generation
- Bulk download creates ZIP file for multiple photos
- JSZip integration for seamless zip creation
- Individual fallback download if ZIP fails
- Success feedback messages for all download operations

 ENHANCED DELETION: Bulk delete operations
- Delete selected photos with confirmation dialog
- Proper index handling for multiple deletions
- Automatic gallery refresh after bulk operations
- Success messages with deletion count

 PROFESSIONAL UI: Polished bulk action interface
- Bulk action toolbar with organized controls
- Disabled state handling for action buttons
- Color-coded action buttons (success/danger)
- Responsive layout with proper spacing
- Custom checkbox styling with checkmark animations

 IMPROVED AUTO-REFRESH: Seamless gallery updates
- Gallery automatically refreshes after all operations
- Maintains selection state where appropriate
- Proper function calls for gallery reloading
- No page refresh required

 TECHNICAL ENHANCEMENTS:
- JSZip integration for zip file creation
- Proper async/await handling for downloads
- Error handling with user feedback
- Console logging for debugging
- Event listener management with initialization

 RESULT: Complete photo management system
- Hover to reveal download/delete buttons on individual photos
- Bulk select with checkboxes for multiple operations
- Download single photos or ZIP multiple photos
- Bulk delete with confirmation dialogs
- Automatic gallery refresh after all operations
- Professional UI with proper feedback messages
2025-11-08 11:32:32 -06:00
dilgenfritz 31cfb7cba5 Add photo deletion capability to library photo gallery
ADDED: Photo deletion functionality
- Added delete button () to each photo in library gallery
- Appears on hover with smooth opacity transition
- Positioned in top-right corner of photo container

 FUNCTIONALITY: Complete delete workflow
- deletePhoto() function removes photos from localStorage
- Confirmation dialog shows photo type and date
- Automatic gallery refresh after deletion
- Support for both All Photos and Dress Up galleries
- Proper index handling for filtered galleries

 STYLING: Professional delete button design
- Red circular button with trash icon
- Hover effects with scale animation and shadow
- Semi-transparent background for visibility
- Positioned with absolute positioning in photo-actions container

 SAFETY: User confirmation and error handling
- Confirmation dialog prevents accidental deletion
- Index validation to prevent errors
- Success flash message after deletion
- Console logging for debugging

 RESULT: Users can now delete unwanted photos
- Hover over any photo to reveal delete button
- Click for confirmation dialog with photo details
- Gallery automatically updates after deletion
- Works for all photo categories in library
2025-11-08 11:23:03 -06:00
dilgenfritz 3b55de325d Enhance training academy video controls with playlist and improved styling
ADDED: Complete video control panel matching quick-play
- Added collapsible video control panel positioned in top-right corner
- Implemented rewind/forward 10s, skip, play/pause functionality
- Added volume control with slider and visual percentage display
- Included video progress bar with time display

 ADDED: Playlist selection dropdown
- Added Source dropdown with Random Videos and Playlist options
- Integrated playlist selection change handler
- Matches quick-play interface for consistency

 IMPROVED: Button styling and spacing
- Optimized button padding and font size for better fit
- Reduced gap between buttons for cleaner layout
- Added proper CSS for playlist dropdown with hover effects

 FIXED: Video info display
- Fixed 'No video loaded' issue by properly calling updateVideoInfo()
- Added metadata loading handlers for initial and subsequent videos
- Enhanced video switching to update info immediately

 RESULT: Training academy now has identical video controls to quick-play
- Fixed positioning with proper z-index and floating panel
- Fully functional collapse/expand with smooth transitions
- Current video name displays correctly
- All control buttons fit properly in the panel
2025-11-08 10:13:42 -06:00
dilgenfritz 9e00f05af3 Add character image toggle for cleaner home screen
ADDED: Character Image Toggle Button
- Added toggle button in bottom left corner (fixed position)
- Button shows  Hide Images /  Show Images with smooth transitions
- Toggles visibility of all .character-side elements (assets/1.png to assets/11.png)
- Saves user preference to localStorage for persistence across sessions

 STYLING:
- Semi-transparent dark background with accent border
- Hover effects with transform and shadow animations
- Backdrop blur for modern glass effect
- Positioned at bottom: 20px, left: 20px with z-index: 1000

 FUNCTIONALITY:
- JavaScript toggleCharacterImages() function
- DOM ready listener to restore saved preferences
- Global function exposure for HTML onclick handler
- Smooth show/hide transitions for all character elements

 RESULT: Users can now toggle character images on/off for cleaner interface
- Simple, non-intrusive solution as requested
- Preference persists between sessions
- Maintains all original functionality while providing clean view option
2025-11-08 09:44:56 -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