v0.5.0-alpha
This pull request introduces significant updates to the windowkill project, focusing on achievements functionality, dependency updates, and codebase improvements. The changes include adding new achievements, integrating a notification system, modifying core functionality, and updating project dependencies and metadata.
Achievements and Game Features:
README.md: Updated to reflect the addition of new achievements (e.g., "Open World," "No Space Left," "God of Colors") and their completion status.achievements_schema.json: Added a schema for achievements, detailing their names, descriptions, requirements, and progress tracking.src/html/achievements.html: Created a new HTML page to display achievements with progress bars and descriptions.src/js/gameUtils.js: Enhanced game logic to handle achievements, including tracking progress and handling game-over scenarios based on specific conditions. [1] [2]
Notifications Integration:
src/js/functions.js: Added a utility function_sendNotificationto handle in-game notifications, requesting permissions if necessary.src/js/options.js: Integrated the notification system into theOptionsclass for managing achievements and other game settings.
Dependency and Metadata Updates:
package.jsonandCargo.toml: Updated the project version to0.5.0and replaced thetauri-plugin-shelldependency withtauri-plugin-notification. [1] [2]src-tauri/tauri.conf.json: Updated the version metadata to0.5.0.
Codebase Simplification and Cleanup:
src-tauri/src/lib.rs: Removed unused code (e.g., file encryption logic) and added a new functioncreate_windowfor managing game windows. [1] [2]src-tauri/capabilities/default.json: Removed permissions for shell commands and added permissions for notifications and window management.
UI Enhancements:
src/index.html: Added an achievements display section to the main game interface.
These updates collectively enhance the game's functionality, user experience, and maintainability.