* Implemented `resolveColor` to improve color matching with exact matches, white threshold handling, and chroma penalty adjustments.
* Enhanced `extractAvailableColors` to parse RGB values robustly and skip invalid color elements with warnings.
* Refactored progress data management with `buildPaintedMapPacked`, `buildProgressData`, and `migrateProgress` for better organization and version handling.
* Added migration logic to support progress data from versions 1.x, 2.0, and 2.1 to 2.2.
* Improved error handling and logging during progress saving and loading operations.
* Updated progress file structure to include additional state details like coordinate modes, block dimensions, and painted map packing.
* Refactored progress migration to use a unified `Utils.migrateProgress`, reducing redundancy and improving maintainability.
* Simplified color matching by moving inline functions to utilities for readability and reusability.
* Enhanced `updateStats` with optional `isManualRefresh` for granular UI updates and alerts.
* Added utility functions `getRemainingMsToThreshold`, `startChargesThresholdTicker`, and `updateChargesThresholdUI` to modularize charge-related logic.
* Added coordinate generation logic supporting various modes, directions, and block configurations.
* Fixed potential issues with color filtering and invalid cache management.
* Ensured alerts and notifications are displayed correctly when colors or thresholds change.
* Simplified coordinate generation logic, removing redundant code and improving readability.
* Introduced `flushPixelBatch` for modular batch pixel processing.
* Added detailed pixel eligibility checks in `processImage` to ensure valid pixels are processed.
* Configurable transparency thresholds and strict color availability checks for flexibility.
* Improved error handling for unsupported modes and directions.
* Refactored pixel processing for readability and maintainability.
* Consolidated batch flushing logic and simplified batch size calculations.
* Enhanced logging with debug information for pixel eligibility, existing colors, and batch processing.
* Added safeguards to clear intervals and prevent memory leaks during state cleanup.
These changes improve color resolution accuracy, progress tracking, coordinate generation flexibility, and pixel processing robustness, while making the codebase more modular, maintainable, and easier to debug.
* Enabled PAINTING\_SPEED\_ENABLED by default to improve painting performance.
* Disabled desktop notifications by default to reduce interruptions.
* Lowered overlay opacity from 0.6 to 0.2 for better visibility.
* Commented out theme variable assignments for future cleanup or removal.
* Added new state properties for coordinate generation (coordinateMode, coordinateDirection, etc.) to support advanced painting strategies.
* Introduced dynamicSleep utility for more efficient sleep handling during cooldowns.
* Added msToTimeText utility to format time durations in a human-readable way.
* Implemented migration logic to version 2.2 for backward compatibility with saved progress data.
* Enhanced saveProgress and loadProgress methods to include new coordinate generation settings.
* Improved error handling in getCharges to provide default values when API calls fail.
* Refactored notification messages for better clarity and consistency.
* Added multiple coordinate generation modes including rows, columns, circle-out, circle-in, blocks, and shuffle-blocks.
* Implemented UI controls for selecting generation modes, setting block sizes, toggling snake patterns, and choosing directions.
* Enhanced settings panel with collapsible sections and improved styling for better user experience.
* Added dynamic visibility logic to show/hide relevant controls based on the selected generation mode.
* Integrated state management to persist user preferences for generation modes, directions, snake pattern toggling, and block dimensions.
* Improved logging and user feedback with success alerts when changing coordinate-related settings.
* Implemented functionality to track full charge progress using a dynamic timer.
* Displays remaining time until full charge in the UI, updating every second.
* Ensures charges are calculated accurately based on elapsed time and cooldown intervals.
* Added support for pausing and resuming charge updates when the user interacts with the system.
* Improved UI feedback for charge-related information, including current charges and full charge status.
* Refactored the pixel batch processing logic to improve readability and maintainability.
* Introduced a generateCoordinates function to handle coordinate generation for various modes (rows, columns, circle-out, etc.).
* Added support for configurable block-based painting modes (blocks and shuffle-blocks) with customizable block dimensions.
* Improved logic for handling region transitions during batch painting.
* Updated delay calculations for batch processing to better align with painting speed settings.
* Enhanced transparency and white pixel skipping logic with customizable thresholds.
* Added detailed logging for debugging and monitoring purposes.
* Ensured proper cleanup of intervals and state updates when stopping or pausing painting.
* Refactored pixel painting logic to include smarter batch processing.
* Added checks to skip already painted pixels, reducing redundant operations.
* Improved batch size calculation and handling, ensuring batches are sent optimally.
* Enhanced error handling for failed batches, preventing infinite loops in case of persistent failures.
* Introduced dynamic sleep functionality during cooldown periods to optimize resource usage.
* Updated UI interactions to reflect batch progress and cooldown states more accurately.
* Added new coordinate mode and direction settings for greater flexibility in pixel painting.
These changes improve the bot's configurability, performance, maintainability, and user experience while ensuring backward compatibility with existing progress data, accurate charge tracking, and efficient pixel painting across multiple modes.
Updated CSS variables for button border-radius across themes and adjusted layout spacing for sections and settings footer.
* Introduced `--wplace-btn-radius` for consistent button rounding in all themes.
* Reduced margins and padding for `.wplace-section` and `.wplace-status-section` for tighter layout.
* Added collapsible section behavior with arrow rotation and hidden controls.
* Made settings footer sticky with proper background and padding.
* Minor spacing and formatting fixes for better visual alignment.
* Set up a linter for local use only; changes are not pushed to the branch.
* Reformatted project files according to local linter rules.
* Improves local code consistency and readability without affecting the shared codebase.
- Add a bug report template with sections for describing the bug, expected behavior, reproduction steps, and system information.
- Add a feature request template with sections for problem description, proposed solution, alternatives, and additional context.
- Add a pull request template with fields for summary, related issues, change type, checklist, and additional notes.
- Configure issue templates to disable blank issues and provide a link to community support on Discord.
Benefits:
- Standardize issue reporting to improve clarity and consistency.
- Guide contributors in providing necessary details for bug reports and feature requests.
- Streamline pull request submissions by prompting key information.
- Reduce ambiguity in contributions and improve collaboration efficiency.