# ๐ŸŽฎ NovaFarma - Accessibility Features Quick Reference ## ๐ŸŽฌ Visual Sound Cues ### Quick Commands: ```javascript const visualCues = game.scene.scenes[1].visualSoundCues; // Subtitle size visualCues.setSubtitleSize('small'); // 16px visualCues.setSubtitleSize('medium'); // 20px (default) visualCues.setSubtitleSize('large'); // 28px visualCues.setSubtitleSize('very-large'); // 36px // Opacity visualCues.setSubtitleOpacity(0.8); // 0.0 - 1.0 // Show subtitle visualCues.showSubtitle('Text', 3000, 'Speaker', 'direction'); // Toggles visualCues.toggleSubtitles(true/false); visualCues.toggleSpeakerNames(true/false); visualCues.toggleDirectionalArrows(true/false); visualCues.toggleFishingBobber(true/false); // Custom speaker color visualCues.addSpeakerColor('Merchant', '#ffa500'); ``` --- ## ๐ŸŽฎ Input Remapping ### Quick Commands: ```javascript const inputSystem = game.scene.scenes[1].inputRemapping; // Switch profile inputSystem.switchProfile('default'); inputSystem.switchProfile('left-handed'); inputSystem.switchProfile('arrows'); // Rebind action inputSystem.startRebinding('interact', (action, key) => { console.log(`Rebound ${action} to ${key}`); }); // Check binding inputSystem.getBindingDisplay('move_up'); // Check if pressed inputSystem.isActionPressed('sprint'); inputSystem.isActionJustPressed('attack'); // Reset inputSystem.resetAction('interact'); inputSystem.resetAllBindings(); // Save/Load inputSystem.saveToProfile('custom-1'); const json = inputSystem.exportBindings(); inputSystem.importBindings(json); // Controller inputSystem.isControllerConnected(); inputSystem.getControllerInfo(); ``` --- ## ๐Ÿ”Š Screen Reader System ### Quick Commands: ```javascript const sr = game.scene.scenes[1].screenReader; // Speech sr.speak('Text to speak'); sr.speak('Alert!', 'alert', true); // Interrupt // Settings sr.setRate(1.5); // Speed (0.1 - 10) sr.setPitch(1.2); // Pitch (0 - 2) sr.setVolume(0.8); // Volume (0 - 1) // Announcements sr.announceStats(); sr.announceInventory(); sr.announcePosition(); sr.announceNearby(); sr.announceAction('pickup', 'carrot'); // Toggles sr.toggleVerboseMode(); sr.toggleSoundCues(); sr.toggleAutoNarrate(); // Audio cues sr.playAudioCue('success'); sr.playAudioCue('error'); // Voices sr.getAvailableVoices(); sr.setVoice('Microsoft David Desktop'); ``` ### Keyboard Shortcuts: - **Ctrl+H**: Help - **Ctrl+R**: Repeat last - **Ctrl+S**: Settings - **Ctrl+P**: Position - **Ctrl+I**: Inventory - **Ctrl+N**: Nearby - **Ctrl+T**: Stats - **Ctrl+V**: Verbose mode --- ## ๐Ÿ“‹ Available Profiles 1. **default** - WASD + mouse 2. **wasd** - WASD movement 3. **arrows** - Arrow keys 4. **left-handed** - Numpad + left side 5. **right-handed** - Standard WASD 6. **custom-1** - User-defined 7. **custom-2** - User-defined 8. **custom-3** - User-defined --- ## ๐ŸŽจ Speaker Colors - ๐ŸŸข **Player**: Green - ๐ŸŸก **NPC**: Yellow - ๐Ÿ”ด **Enemy**: Red - ๐Ÿ”ต **System**: Cyan - โšช **Narrator**: White --- ## ๐Ÿ“ Subtitle Sizes | Size | Main | Speaker | Arrows | |------|------|---------|--------| | Small | 16px | 12px | 24px | | Medium | 20px | 16px | 32px | | Large | 28px | 20px | 40px | | Very Large | 36px | 24px | 48px | --- ## ๐Ÿ”Š Sound Effects 1. [DAMAGE TAKEN] 2. [PICKED UP: Item] 3. [CROP HARVESTED] 4. [BUILDING PLACED] 5. [DIGGING SOUND] 6. [PLANTING SOUND] 7. [FOOTSTEPS] 8. [DOOR OPENS] 9. [CHEST OPENS] 10. [WATER SPLASH] 11. [FIRE CRACKLING] 12. [EXPLOSION!] 13. [NPC TALKING] 14. [ENEMY GROWL] 15. [FISH BITING!] 16. [DANGER NEARBY] 17. [NIGHT IS FALLING] 18. [ACHIEVEMENT UNLOCKED] 19. [CLICK] 20. [HOVER] --- ## ๐Ÿงช Quick Test ```javascript // Copy-paste this to test everything: const visualCues = game.scene.scenes[1].visualSoundCues; const inputSystem = game.scene.scenes[1].inputRemapping; // Test subtitles visualCues.setSubtitleSize('large'); visualCues.showSubtitle('Testing!', 3000, 'NPC', 'left'); // Test input console.log('Move Up:', inputSystem.getBindingDisplay('move_up')); inputSystem.switchProfile('left-handed'); console.log('Move Up (left-handed):', inputSystem.getBindingDisplay('move_up')); inputSystem.switchProfile('default'); ``` --- ## ๐Ÿ“– Full Documentation - `docs/guides/CLOSED_CAPTIONS_TESTING.md` - `docs/guides/INPUT_REMAPPING_TESTING.md` - `docs/sessions/ACCESSIBILITY_IMPLEMENTATION_12_12_2025.md` --- **Version**: 2.5.0 **Last Updated**: 12.12.2025