Comprehensive HUD system with toggleable displays for day/night cycles, biter evolution, production rates with interactive graphs, and automatic bottleneck detection. Click any item for detailed analysis with historical charts. Customize your interface with only the information you need!
Providing the player with new tools or adjusting the game interface, without fundamentally changing gameplay.
Version: 1.1.18 Date: 2025-09-20 Bugfixes: - Fixed critical crash "No manual crafter" when player dies or has no character - Added proper player validation in handcraft rate calculation to prevent crashes - Added defensive player validation in GUI manager and production module update functions - Added pcall protection around crafting queue access for safer error handling
Version: 1.1.17 Date: 2025-09-19 Optimizations: - MAJOR: Fixed severe performance issue in Research Progress module causing ~1 second lag spikes - Reduced cache time from 30 seconds to 15 seconds for better responsiveness - Added entity status filter to only scan labs missing science packs (major performance boost) - Limited lab scanning to maximum 100 labs per update to prevent lag with large bases - Added intelligent cache invalidation on research start/finish for accurate display updates - Triggers initial scan immediately on game load instead of waiting 15 seconds - Removed redundant calculate_research_speed function that was scanning all labs unnecessarily - Optimized lab counting for idle research display with same caching system - Performance improvements follow multiplayer-safe patterns Features: - Added clickable missing science pack display - click to highlight labs on map • Normal view: Click the warning/status icon (⚠️/✅) to highlight missing labs • Minimal view: Click the research percentage text to highlight missing labs - Added force refresh on button click with 5-second cooldown to prevent spam - Creates temporary map markers showing which labs are missing which science packs - Map markers automatically expire after 60 seconds to avoid clutter - Consolidated overlapping markers to prevent text overlap on map - Limited to 20 marker positions at once to prevent performance issues with massive bases - Added missing science pack indicator to minimal view with subtle red dot • Red dot appears next to percentage when science packs are missing • Provides visual indication without taking up space when not needed - Made research progress percentage clickable in minimal view for map highlighting - Dynamic button sizing eliminates empty space and text truncation issues Bugfixes: - Fixed potential desync issues by ensuring all caching uses storage table properly - Ensured cache is cleared on configuration changes to prevent stale data - Fixed overlapping map marker text by grouping labs in 8x8 tile areas - Fixed missing science pack button showing "..." by implementing natural width sizing - Fixed map markers disappearing by adding proper cleanup system UI Improvements: - Redesigned normal view: warning icon is now clickable, missing bottles show in separate label - Improved minimal view: progress text is clickable with optional red dot for missing packs - Reduced horizontal spacing between elements for more compact display - Better tooltip organization with missing pack details and click instructions
Version: 1.1.16 Date: 2025-09-08 Bugfixes: - Fixed Day Number tooltip showing incorrect progress percentage (was calculating from noon instead of midnight) - Fixed speed multiplier showing 10.1x instead of 10x for modified day lengths - Added current time display to Day Number tooltip for clarity
Version: 1.1.15 Date: 2025-09-08 Bugfixes: - Fixed crash "attempt to concatenate local 'display_name' (a table value)" in research-progress module - Fixed similar localised_name handling issues in production module that could cause crashes - Added proper type checking for all localised_name accesses - handles nested table structures - Added safety checks for string concatenation operations throughout all modules - Fixed potential nil concatenation errors in evolution, daynight, and production modules - Added validation for API return values before use in GUI updates - Fixed bottleneck display crash when item names are nil or invalid - Added defensive programming for all tooltip and caption string operations Changes: - Improved error handling for all sprite path concatenations - Added tostring() conversions for all potentially non-string values - All modules now validate data existence before attempting to display - Updated internal documentation on common runtime errors and fixes
Version: 1.1.14 Date: 2025-09-07 Features: - Added Horizontal Layout option - display modules side-by-side instead of vertically stacked - Added Minimal Mode for ALL modules - compact single-line display option per module - Production module minimal mode shows top producing item and rate (e.g., "Iron-plate: 1.2k/min") - Production minimal mode falls back to total production rates when individual item data isn't ready yet - Horizontal layout toggle in Display Properties settings section - Minimal mode checkboxes appear under enabled modules for ultra-compact display - All modules now support compact single-line display option via per-module checkboxes Bugfixes: - Fixed crash "Require can't be used outside of control.lua parsing" in minimal mode implementation - Fixed inconsistent module heights in minimal mode by standardizing frame and label styling - Fixed minimal mode not working for evolution, movement-speed, research-progress, and production modules - All minimal mode labels now use consistent 20px height and center alignment for perfect horizontal alignment - Fixed Day Number module assuming 25,000 tick day length - now dynamically detects actual day length for mod compatibility Changes: - Minimal mode displays now show single-line compact information for all modules: • Day/Night: "Day 14:30" • Evolution: "Evo: 23.5%" • Movement: "12.3 t/s" • Research: "45.2% (2.3m)" • Production: "Iron-plate: 1.2k/min" • Day Number: "Day 735" • Playtime: "3d 13h 0m" - Production minimal mode intelligently shows "Total: XXX/min" while collecting individual item data - Enhanced production module with immediate feedback using machine/handcraft totals - Standardized all minimal mode styling for consistent visual appearance across all modules
Version: 1.1.13 Date: 2025-09-07 Features: - Added Day Number module showing current game day with progress tracking - Added Total Playtime module displaying player session time with detailed breakdown - New modules positioned at top of display list for easy access to basic game info - Day number calculated from game ticks (25,000 ticks per day cycle) - Playtime formatted intelligently: days/hours/minutes with detailed tooltip breakdown - Both modules disabled by default - enable in Advanced HUD settings as needed Bugfixes: - Fixed crash with invalid sprite references (utility/timer and utility/clock don't exist) - Day Number module now uses solar-panel sprite - Total Playtime module now uses time_editor_icon sprite Changes: - Improved tooltips to clearly explain difference between game days and real playtime - Day Number tooltip now emphasizes this is in-game time affected by speed settings - Total Playtime tooltip clarifies this is real-world time unaffected by game speed - Added cross-references between modules to help users understand the distinction - Day Number now uses radar sprite (unique periodic scanning icon) - Total Playtime now uses repair-pack sprite (represents time investment) - Production module moved to last position in display order to prevent layout shifts - More stable GUI layout since production module's dynamic content no longer pushes other modules
Version: 1.1.12 Date: 2025-09-07 Changes: - GUI layout now dynamically shrinks and expands based on enabled modules - Removed fixed 200-pixel minimum width constraint from main HUD interface - Interface now automatically adjusts size to content, eliminating unnecessary empty space - Improved space efficiency when using fewer modules or smaller displays - Maintains full draggability and positioning functionality with flexible sizing
Version: 1.1.11 Date: 2025-09-07 Bugfixes: - Fixed crash: "attempt to call field 'insert' (a nil value)" in research progress module - Fixed table library shadowing issue when GUI elements conflict with global table reference Changes: - Completely rewrote research ETA calculation system for accuracy - ETA now tracks actual research progress change over time instead of theoretical calculations - Research speed now measured in real progress per minute rather than estimated lab counts - ETA uses rolling average of last 5 samples for smoother, more accurate time estimates - Research tracker automatically resets when switching to different technologies - ETA display will take 10 seconds to calibrate but then shows accurate remaining time
Version: 1.1.10 Date: 2025-09-07 Bugfixes: - Fixed crash with research progress module: "LuaEntityPrototype doesn't contain key researching_speed" - Replaced non-existent researching_speed property with force.laboratory_speed_modifier - Added safe sprite handling for technology and item sprites to prevent crashes with modded content - Added proper validation for localised_name to prevent nil access crashes - Enhanced GUI element validation to prevent crashes when elements are destroyed during updates - Research speed calculation now properly uses force modifiers instead of individual lab properties Changes: - Research speed calculation now more accurate using Factorio 2.0 API - Improved error handling throughout research progress module - Better compatibility with modded technologies and science packs
Version: 1.1.9 Date: 2025-09-06 Features: - Added new Research Progress module showing current research progress and ETA - Missing science bottles detection - shows which bottles are missing from labs - Research completion time estimation based on current lab activity - Research progress percentage and remaining units display - Visual indicators for research status and missing resources - Added Display Properties section to Advanced HUD Settings - New "Hide title and version" option for compact GUI appearance - Custom drag handle implementation for title-less draggable windows Changes: - Research Progress module disabled by default (enable in settings) - Module shows rich text icons for missing science bottles - Integrates seamlessly with existing Advanced HUD modular system - Settings GUI now has organized sections: Display Properties and Module Configuration - Research suggestions display compactly (shows count instead of long tech names) - When no research active, shows useful lab status and available research count - Detailed research suggestions available via tooltip hover Bugfixes: - Fixed sprite validation errors by using documented utility sprites - Fixed table.insert/concat naming conflicts in research progress module - Fixed GUI dragging functionality when title is hidden - Resolved LuaStyle errors with invalid title bar properties - Fixed settings GUI crash with unknown heading_3_label style
Version: 1.1.8 Date: 2025-09-06 Features: - Added evolution notification frequency control with /hud-evolution-cooldown command - Evolution notifications now track per-surface to prevent spam when switching surfaces - Added option to disable evolution notifications entirely (use /hud-evolution-cooldown 0) Bugfixes: - Fixed critical crash when upgrading from 1.1.7 due to evolution storage format change - Added automatic migration from old evolution storage format to prevent errors - Fixed evolution notifications triggering every time you switch surfaces in remote view - Evolution alerts now require meaningful evolution changes (>0.1%) to prevent spam - Added 1-minute default cooldown between evolution notifications per surface - Approaching milestone warnings now have 5-minute cooldown to reduce frequency Changes: - Evolution notifications now include surface name for clarity in multi-surface games - Only one notification per update cycle to prevent notification flooding
Version: 1.1.7 Date: 2025-09-06 Features: - Collapsible sections in item analysis popups for better screen space management - Individual toggle buttons for production statistics and trend graph sections - Dynamic popup sizing - windows now shrink when sections are collapsed - Intuitive expand/collapse icons for clear visual feedback Changes: - Item analysis popups no longer have fixed size constraints - Production statistics and graphs can be hidden independently - Toggle buttons use expand/collapse icons instead of checkmarks for clarity Bugfixes: - Fixed movement speed module context-aware sprites showing incorrect icons - Movement speed sprites now accurately detect actual transport method instead of guessing from speed - Sprites now directly check player.vehicle for vehicle detection and player equipment for on-foot movement - On-foot detection now properly identifies exoskeletons, power armor, and basic walking - Eliminated false vehicle sprites when using high-speed on-foot equipment - Fixed max speed tracking not updating when reaching legitimate high speeds - Increased max speed caps: on-foot from 15 to 50 t/s, vehicles from 80 to 200 t/s Optimizations: - Reduced screen real estate usage when sections are hidden - Improved popup window management and layout efficiency
Version: 1.1.6 Date: 2025-09-06 Features: - Added movement speed tracking module using coordinate-based calculations - Real-time speed display in tiles per second (t/s) with visual progress bar - Smart vehicle detection - separate max speed tracking for on-foot vs in-vehicle - Context-aware sprites (exoskeleton, car, locomotive) based on current speed - Tracks all movement types including walking, vehicles, belts, spaceships, and modded movement - Intelligent filtering prevents teleportation/respawn from affecting speed records - Added module reordering system with up/down buttons in settings GUI - Per-player custom module ordering with persistence across saves Changes: - Improved settings GUI window size (450x400) eliminates need for scrolling - Removed scroll pane from settings window for better user experience - Reduced whitespace and padding in settings interface - Movement speed module disabled by default (consistent with other modules) - Main HUD now respects player's custom module order instead of fixed order Optimizations: - Speed calculations use coordinate-based tracking with smoothing for accuracy - Efficient position tracking with teleportation detection and filtering - Performance-optimized updates every 1 second instead of 2 seconds Bugfixes: - Fixed settings GUI crash when applying frame spacing properties - Resolved nil comparison errors in max speed calculations
Version: 1.1.5 Date: 2025-09-06 Features: - Added comprehensive production statistics module with multi-surface support - New production monitoring displays showing item/fluid production and consumption rates - Configurable update intervals for production statistics (1s, 5s, 1m, 10m, 1h, 10h, 50h, 250h, 1000h) Compatibility: - Full Factorio 2.0 API compatibility for production statistics - Support for quality-aware inventory systems Bugfixes: - Fixed multiplayer desync issues caused by local variable usage in evolution module - Resolved on_load() storage modification errors in module manager - Fixed GUI element naming conflicts with reserved property names Optimizations: - Improved performance with configurable update intervals (default 5 seconds) - Reduced entity scanning overhead by using built-in statistics APIs Changes: - Migrated all persistent state to storage table for multiplayer safety - Updated module system to properly handle on_load events without storage modification
Version: 1.1.0 Date: 2025-09-01 Major Features: - Initial release with modular HUD system - Day/night cycle display with time tracking - Biter evolution monitoring with threshold alerts - Item detail popup system for inventory items Features: - Fully toggleable modules via settings GUI - Customizable display positions - Multiplayer compatible architecture Info: - Comprehensive HUD system for Factorio 2.0 - All modules can be independently enabled/disabled