Skip to content

chore(UI): weather picker refinement#2456

Merged
SkrubbySkrubInAShrub merged 2 commits into
community-shaders:devfrom
Dlizzio:weather-picker
Jun 2, 2026
Merged

chore(UI): weather picker refinement#2456
SkrubbySkrubInAShrub merged 2 commits into
community-shaders:devfrom
Dlizzio:weather-picker

Conversation

@Dlizzio
Copy link
Copy Markdown
Contributor

@Dlizzio Dlizzio commented Jun 2, 2026

Adds label for weather picker under CS utility.

After weather editor rename, it was not obvious the function of the weather picker anymore.

Summary by CodeRabbit

  • New Features

    • Weather Picker added to the editor settings
    • "Current Climate Preset" indicator and "Rain System State" display
    • New "Open Weather Picker" button with tooltip
  • Improvements

    • Reorganized Weather Details and Wetness/Rain analysis layout and controls
    • Cleaner section headers and toggle behavior in overlays
  • Localization

    • English and Simplified Chinese translations for new weather UI elements

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 2, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 43ed1c8d-21a9-48c0-a00f-2720404c9a30

📥 Commits

Reviewing files that changed from the base of the PR and between 011cac5 and f8d75b0.

📒 Files selected for processing (2)
  • package/SKSE/Plugins/CommunityShaders/Translations/en.json
  • package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json
💤 Files with no reviewable changes (1)
  • package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json
✅ Files skipped from review due to trivial changes (1)
  • package/SKSE/Plugins/CommunityShaders/Translations/en.json

📝 Walkthrough

Walkthrough

Refactors CS Editor weather-details rendering to make section headers configurable, extracts the overlay toggle UI, updates WetnessEffects headings and the weather-picker button/tooltip, integrates the header flag into Menu/feature rendering, and adds English/zh_CN translation keys.

Changes

Weather Picker UI Refactoring

Layer / File(s) Summary
Translation additions for weather picker UI
package/SKSE/Plugins/CommunityShaders/Translations/en.json, package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json
English and Simplified Chinese translation strings added/removed for weather picker label, current climate preset, weather picker button and tooltip, and rain system state.
CSEditor public API: configurable section headers
src/Features/CSEditor.h
CSEditor header extended with optional showSectionHeaders/showSectionHeader parameters and new DrawShowInOverlayToggle() declaration.
CSEditor implementation: section header refactoring
src/Features/CSEditor.cpp
Impl forwards showSectionHeaders to core/details/controls/info rendering, extracts overlay toggle helper, adds Weather Picker separator/spacing, switches feature analysis from CollapsingHeader to TreeNodeEx, and adjusts table flags.
WetnessEffects UI: themed labels and weather picker button
src/Features/WetnessEffects.cpp
Adds DrawWeatherAnalysisLabel() helper; updates CS Utility button to "Open Weather Picker" with new tooltip; introduces "Current Climate Preset" and "Rain System State" headings; changes rain-analysis table flags.
Integration: Menu and FeatureListRenderer
src/Menu.cpp, src/Menu/FeatureListRenderer.cpp
Menu now calls RenderWeatherDetailsWindow with a second argument derived from ShowInOverlay; FeatureListRenderer skips profiling section when rendering CSEditor feature and includes Features/CSEditor.h.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • SkrubbySkrubInAShrub
  • alandtse
  • davo0411

Poem

🐰 A weather picker pops, a header hides with grace,

Sections hop and shuffle to a brighter place.
Labels bloom in color, tooltips softly sing,
Translations whisper meanings in each tongue we bring.
Happy hops — the UI's neat; the overlay finds its space.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore(UI): weather picker refinement' accurately summarizes the main change—UI improvements to the weather picker, specifically adding a label for clarity.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 OpenGrep (1.22.0)

OpenGrep fatal error (exit code 2): [00.11][ERROR]: Error: exception Unix_error: No such file or directory stat package/SKSE/Plugins/CommunityShaders/Translations/en.json
Raised by primitive operation at UTmp.replace_named_pipe_by_regular_file_if_needed in file "libs/commons/UTmp.ml", line 145, characters 8-27
Called from Scan_CLI.replace_target_roots_by_regular_files_where_needed.(fun) in file "src/osemgrep/cli_scan/Scan_CLI.ml", lines 1086-1087, characters 19-65
Called from List_.fast_map in file "libs/commons/List_.ml", line 81

🔧 Checkov (3.2.530)
package/SKSE/Plugins/CommunityShaders/Translations/en.json

2026-06-02 13:30:09,551 [MainThread ] [ERROR] Template file not found: package/SKSE/Plugins/CommunityShaders/Translations/en.json
2026-06-02 13:30:09,554 [MainThread ] [ERROR] Template file not found: package/SKSE/Plugins/CommunityShaders/Translations/en.json
2026-06-02 13:30:09,555 [MainThread ] [ERROR] Template file not found: package/SKSE/Plugins/CommunityShaders/Translations/en.json
2026-06-02 13:30:09,581 [MainThread ] [ERROR] Failed to invoke function /usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner. with package/SKSE/Plugins/CommunityShaders/Translations/en.json
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 88, in func_wrapper
result = original_func(item)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner.py", line 74, in
results = parallel_runner.run_function(lam

... [truncated 2962 characters] ...

yShaders/Translations/en.json
2026-06-02 13:30:09,619 [MainThread ] [ERROR] Exception traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/main.py", line 647, in run
self.scan_reports = runner_registry.run(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/runner_registry.py", line 177, in run
for result in parallel_runner_results:
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 118, in _run_function_multiprocess_fork
raise v.internal_exception.with_traceback(v.internal_exception.traceback)
FileNotFoundError: [Errno 2] No such file or directory: 'package/SKSE/Plugins/CommunityShaders/Translations/en.json'


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

No actionable suggestions for changed features.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json (2)

1-1: ⚡ Quick win

Add an issue reference in the PR body if this change maps to a tracked task.

Suggested pattern: Addresses #<id> (or Implements #<id>).
As per coding guidelines, PRs that implement features or fixes should include GitHub issue-linking keywords.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json` at line 1,
This PR is missing an issue reference; update the PR body to include a linking
keyword like "Addresses #<id>" (or "Implements #<id>") that points to the
tracked task for this change (e.g., reference the issue this translation file
change relates to), so add that line to the PR description for
package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json changes.

1-1: ⚡ Quick win

Normalize PR title to strict conventional-commit style.

Suggested title: chore(ui): refine weather picker labels
As per coding guidelines, use type(scope): description with lowercase description and conventional commit formatting.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json` at line 1,
Update the pull request title to follow strict conventional-commit style by
changing it to "chore(ui): refine weather picker labels"; ensure the commit/PR
title uses the format type(scope): description with the type lowercase, scope as
"ui", and a lowercase short description "refine weather picker labels" so it
matches the repo's conventional-commit guidelines.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json`:
- Line 1: This PR is missing an issue reference; update the PR body to include a
linking keyword like "Addresses #<id>" (or "Implements #<id>") that points to
the tracked task for this change (e.g., reference the issue this translation
file change relates to), so add that line to the PR description for
package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json changes.
- Line 1: Update the pull request title to follow strict conventional-commit
style by changing it to "chore(ui): refine weather picker labels"; ensure the
commit/PR title uses the format type(scope): description with the type
lowercase, scope as "ui", and a lowercase short description "refine weather
picker labels" so it matches the repo's conventional-commit guidelines.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 00c61c1f-a616-42c1-bb6f-7e85babe3b78

📥 Commits

Reviewing files that changed from the base of the PR and between 03096be and 011cac5.

📒 Files selected for processing (7)
  • package/SKSE/Plugins/CommunityShaders/Translations/en.json
  • package/SKSE/Plugins/CommunityShaders/Translations/zh_CN.json
  • src/Features/CSEditor.cpp
  • src/Features/CSEditor.h
  • src/Features/WetnessEffects.cpp
  • src/Menu.cpp
  • src/Menu/FeatureListRenderer.cpp

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

✅ A pre-release build is available for this PR:
Download

@SkrubbySkrubInAShrub SkrubbySkrubInAShrub merged commit 15e4575 into community-shaders:dev Jun 2, 2026
13 checks passed
@Dlizzio Dlizzio deleted the weather-picker branch June 3, 2026 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants