v2.1: Add dynamic weather effects, clothing inventory, and bug fixes

Features:
- Add dynamic weather effects system (snow, rain, mist, sunshine, storm, wind, blizzard)
- Add separate Clothing tab in inventory system
- Weather effects auto-update based on Info Box weather field
- Combined effects for storm (rain+lightning) and blizzard (snow+wind)

Improvements:
- Settings migration system for automatic feature enablement
- Weather effects positioned behind chat interface (z-index: 1)
- Dynamic weather enabled by default for new users

Bug Fixes:
- Fix tab visibility issues (disabled tabs now properly hide)
- Fix theme-aware borders (remove hardcoded blue colors)
- Fix double scrollbar in Edit Trackers window
- Fix scroll position jumping when editing Present Characters
- Fix dynamic weather toggle hiding issue

Technical:
- Update inventory schema to v2.1 with clothing field
- Add automatic migration for existing v2 inventories
- Update parsers and prompts to handle clothing separately
- Add translations (EN/ZH-TW) for new features
This commit is contained in:
Spicy_Marinara
2026-01-02 13:58:43 +01:00
parent ddd59d124e
commit 62ed7ffb18
22 changed files with 1035 additions and 88 deletions
+14
View File
@@ -42,6 +42,7 @@
"template.settingsModal.display.showImmersiveHtmlToggle": "Show Immersive HTML",
"template.settingsModal.display.showSpotifyMusicToggle": "Show Spotify Music",
"template.settingsModal.display.showSnowflakesToggle": "Show Snowflakes Effect",
"template.settingsModal.display.showDynamicWeatherToggle": "Show Dynamic Weather Effects",
"template.settingsModal.display.showPlotProgressionButtons": "Show Plot Progression Buttons",
"template.settingsModal.display.showPlotProgressionButtonsNote": "Display buttons above chat input for plot progression prompts",
"template.settingsModal.display.showDiceDisplay": "Show Dice Roll Display",
@@ -90,6 +91,13 @@
"template.trackerEditorModal.buttons.reset": "Reset to Defaults",
"template.trackerEditorModal.buttons.cancel": "Cancel",
"template.trackerEditorModal.buttons.save": "Save & Apply",
"template.trackerEditorModal.buttons.export": "Export Preset",
"template.trackerEditorModal.buttons.import": "Import Preset",
"template.trackerEditorModal.messages.exportSuccess": "Tracker preset exported successfully!",
"template.trackerEditorModal.messages.exportError": "Failed to export tracker preset. Check console for details.",
"template.trackerEditorModal.messages.importSuccess": "Tracker preset imported successfully!",
"template.trackerEditorModal.messages.importError": "Failed to import tracker preset",
"template.trackerEditorModal.messages.importConfirm": "This will replace your current tracker configuration. Continue?",
"template.trackerEditorModal.userStatsTab.customStatsTitle": "Custom Stats",
"template.trackerEditorModal.userStatsTab.addCustomStatButton": "Add Custom Stat",
"template.trackerEditorModal.userStatsTab.rpgAttributesTitle": "RPG Attributes",
@@ -132,6 +140,7 @@
"template.mainPanel.immersiveHtml": "Immersive HTML",
"template.mainPanel.spotifyMusic": "Spotify Music",
"template.mainPanel.snowflakesEffect": "Snowflakes Effect",
"template.mainPanel.dynamicWeatherEffects": "Dynamic Weather",
"template.mainPanel.refreshRpgInfo": "Refresh RPG Info",
"template.mainPanel.updating": "Updating...",
"template.mainPanel.editTrackersButton": "Edit Trackers",
@@ -151,12 +160,17 @@
"infobox.recentEvents.title": "Recent Events",
"infobox.recentEvents.addEventPlaceholder": "Add event...",
"inventory.section.onPerson": "On Person",
"inventory.section.clothing": "Clothing",
"inventory.section.stored": "Stored",
"inventory.section.assets": "Assets",
"inventory.onPerson.empty": "No items carried",
"inventory.onPerson.title": "Items Currently Carried",
"inventory.onPerson.addItemButton": "Add Item",
"inventory.onPerson.addItemPlaceholder": "Enter item name...",
"inventory.clothing.empty": "Not wearing anything",
"inventory.clothing.title": "Clothing & Armor",
"inventory.clothing.addItemButton": "Add Clothing",
"inventory.clothing.addItemPlaceholder": "Enter clothing item...",
"inventory.stored.title": "Storage Locations",
"inventory.stored.addLocationButton": "Add Location",
"inventory.stored.addLocationPlaceholder": "Enter location name...",