feat(UI): delete theme button#1940
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review infoConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a delete-confirmation popup and Delete button for non-preset themes in SettingsTabRenderer; deletion calls SafeDelete on the theme file, refreshes themes, loads the "Default" preset, updates currentThemeInfo/currentThemePreset usage, and clears modal state. Also adjusts ImGui spacing for Selected Theme display. (41 words) Changes
Sequence DiagramsequenceDiagram
participant User
participant UI as SettingsTabRenderer
participant Modal as DeleteModal
participant FS as ThemeFileSystem
participant Manager as ThemeManager
User->>UI: Click Delete button for selected theme
UI->>Modal: Open "Delete Theme" popup (deleteThemePopup = true)
Modal->>User: Show theme name and Confirm/Cancel
alt Confirm
User->>Modal: Click Confirm
Modal->>FS: SafeDelete(theme file path)
FS-->>Modal: success/failure
Modal->>Manager: Refresh themes
Manager-->>Modal: themes reloaded
Modal->>Manager: Load "Default" preset
Manager-->>Modal: Default loaded
Modal->>UI: Close popup, reset deleteThemePopup and related UI state
else Cancel
User->>Modal: Click Cancel
Modal->>UI: Close popup, reset deleteThemePopup
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
No actionable suggestions for changed features. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/Menu/SettingsTabRenderer.cpp`:
- Around line 749-754: Before deleting, save the current preset string (e.g.,
previousPreset = currentThemePreset); after SafeDelete succeeds, check the
boolean return of globals::menu->LoadThemePreset("Default") and if it returns
false then attempt to restore state by calling themeManager->RefreshThemes() and
trying globals::menu->LoadThemePreset(previousPreset) and resetting
currentThemePreset = previousPreset; if that restore also fails then clear
currentThemePreset (or set to an explicit fallback like "") and log an error so
the UI/state is consistent. Ensure you reference Util::FileHelpers::SafeDelete,
themeManager->RefreshThemes(), globals::menu->LoadThemePreset(...) and
currentThemePreset in the change.
- Around line 728-762: BeginPopupModal is being combined with additional
conditions which can skip calling ImGui::EndPopup() and corrupt ImGui's popup
stack; change the conditional so ImGui::BeginPopupModal("Delete Theme",
&showDeleteThemePopup, ImGuiWindowFlags_AlwaysAutoResize) is evaluated on its
own and then inside that block check currentThemeInfo and
currentThemeInfo->filePath.empty() before rendering the delete UI. Ensure
ImGui::EndPopup() is always called when BeginPopupModal returns true; keep the
delete logic that calls
Util::FileHelpers::SafeDelete(currentThemeInfo->filePath, "Theme '" +
currentThemePreset + "'"), themeManager->RefreshThemes(),
globals::menu->LoadThemePreset("Default") and the logger::warn(...) in the inner
conditional that verifies currentThemeInfo.
There was a problem hiding this comment.
♻️ Duplicate comments (2)
src/Menu/SettingsTabRenderer.cpp (2)
749-754:⚠️ Potential issue | 🟠 MajorIgnoring
LoadThemePreset("Default")return leaves UI in an inconsistent state on failure.If
LoadThemePresetfails (e.g. the Default theme file is missing or corrupt),currentThemePresetis still unconditionally set to"Default"and no error is surfaced, leaving the user looking at a stale or blank theme.🔧 Proposed fix
if (result.success) { themeManager->RefreshThemes(); - globals::menu->LoadThemePreset("Default"); - currentThemePreset = "Default"; + if (globals::menu->LoadThemePreset("Default")) { + currentThemePreset = "Default"; + } else { + logger::error("Deleted theme '{}' but failed to load fallback 'Default'", currentThemePreset); + globals::menu->GetSettings().SelectedThemePreset = "Default"; + } } else {As per coding guidelines
src/**/*.{h,hpp,cpp}: "Include proper resource management and graceful degradation for DirectX 11 resources and user input validation to prevent crashes from malformed configurations".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Menu/SettingsTabRenderer.cpp` around lines 749 - 754, When deleting a theme, the code calls themeManager->RefreshThemes() and then unconditionally calls globals::menu->LoadThemePreset("Default") and sets currentThemePreset = "Default" even if LoadThemePreset fails; change this by capturing the boolean return of globals::menu->LoadThemePreset("Default"), check its success, and only set currentThemePreset when LoadThemePreset returns true; if LoadThemePreset fails, log an error (use logger::error or logger::warn with the failure context and include the failure reason if available) and avoid changing currentThemePreset so the UI stays consistent (optionally trigger a graceful fallback or user notification instead of silently proceeding).
728-761:⚠️ Potential issue | 🔴 Critical
EndPopup()will be skipped whencurrentThemeInfois null — ImGui popup stack corruption.The condition on line 728 short-circuits
EndPopup()on line 760 whenevercurrentThemeInfois null orfilePathis empty. ImGui requiresEndPopup()to be called unconditionally wheneverBeginPopupModalreturnstrue; skipping it corrupts the internal popup stack and can produce assertion failures or rendering glitches.🐛 Proposed fix
-if (ImGui::BeginPopupModal("Delete Theme", &showDeleteThemePopup, ImGuiWindowFlags_AlwaysAutoResize) && currentThemeInfo && !currentThemeInfo->filePath.empty()) { - ImGui::Text("Are you sure you want to delete the theme "); - // ... rest of content ... - ImGui::EndPopup(); -} +if (ImGui::BeginPopupModal("Delete Theme", &showDeleteThemePopup, ImGuiWindowFlags_AlwaysAutoResize)) { + if (currentThemeInfo && !currentThemeInfo->filePath.empty()) { + ImGui::Text("Are you sure you want to delete the theme "); + // ... rest of content ... + } else { + showDeleteThemePopup = false; + ImGui::CloseCurrentPopup(); + } + ImGui::EndPopup(); +}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Menu/SettingsTabRenderer.cpp` around lines 728 - 761, The BeginPopupModal/EndPopup pairing is conditional on currentThemeInfo and its filePath which can skip ImGui::EndPopup() and corrupt the popup stack; change the code so ImGui::BeginPopupModal("Delete Theme", &showDeleteThemePopup, ImGuiWindowFlags_AlwaysAutoResize) is the only condition for entering the block and ensure ImGui::EndPopup() is always called before exiting that block, while performing null/filePath checks only for the UI elements and delete logic (references: currentThemeInfo, currentThemeInfo->filePath, currentThemePreset, themeManager->RefreshThemes(), Util::FileHelpers::SafeDelete).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@src/Menu/SettingsTabRenderer.cpp`:
- Around line 749-754: When deleting a theme, the code calls
themeManager->RefreshThemes() and then unconditionally calls
globals::menu->LoadThemePreset("Default") and sets currentThemePreset =
"Default" even if LoadThemePreset fails; change this by capturing the boolean
return of globals::menu->LoadThemePreset("Default"), check its success, and only
set currentThemePreset when LoadThemePreset returns true; if LoadThemePreset
fails, log an error (use logger::error or logger::warn with the failure context
and include the failure reason if available) and avoid changing
currentThemePreset so the UI stays consistent (optionally trigger a graceful
fallback or user notification instead of silently proceeding).
- Around line 728-761: The BeginPopupModal/EndPopup pairing is conditional on
currentThemeInfo and its filePath which can skip ImGui::EndPopup() and corrupt
the popup stack; change the code so ImGui::BeginPopupModal("Delete Theme",
&showDeleteThemePopup, ImGuiWindowFlags_AlwaysAutoResize) is the only condition
for entering the block and ensure ImGui::EndPopup() is always called before
exiting that block, while performing null/filePath checks only for the UI
elements and delete logic (references: currentThemeInfo,
currentThemeInfo->filePath, currentThemePreset, themeManager->RefreshThemes(),
Util::FileHelpers::SafeDelete).
There was a problem hiding this comment.
♻️ Duplicate comments (1)
src/Menu/SettingsTabRenderer.cpp (1)
747-753:LoadThemePreset("Default")return value is still unchecked.This was raised in a previous review. If the "Default" theme fails to load after a successful delete, the UI state (
currentThemePreset = "Default") may not match the actual loaded theme. Consider checking the return value and logging on failure for graceful degradation.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Menu/SettingsTabRenderer.cpp` around lines 747 - 753, After deleting a theme, the call to globals::menu->LoadThemePreset("Default") is unchecked so currentThemePreset may be set incorrectly; modify the block handling result.success to capture and check the boolean return of LoadThemePreset("Default") (or its equivalent return type), log an error with context if it fails (including result.errorMessage where relevant), and only set currentThemePreset = "Default" when LoadThemePreset succeeds; keep themeManager->RefreshThemes() as-is but ensure failure paths do not alter UI state.
🧹 Nitpick comments (1)
src/Menu/SettingsTabRenderer.cpp (1)
744-756: EnsurecurrentThemeInfois explicitly invalidated afterRefreshThemes()to prevent accidental reuse in future edits.
GetThemeInfo()returns a pointer into thethemescontainer. WhenRefreshThemes()is called, it clears that container (viaDiscoverThemes()at line 456), invalidating the pointer. While the current code doesn't dereferencecurrentThemeInfoafter the refresh, assigning it tonullptrmakes this invalidation explicit and prevents subtle bugs if the code is edited later.Proposed safeguard
if (result.success) { themeManager->RefreshThemes(); + currentThemeInfo = nullptr; // invalidated by RefreshThemes globals::menu->LoadThemePreset("Default"); currentThemePreset = "Default"; } else {Since
currentThemeInfois declared asconst auto*(i.e.,const ThemeInfo*—a non-const pointer to const data), reassignment tonullptris valid.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Menu/SettingsTabRenderer.cpp` around lines 744 - 756, After calling themeManager->RefreshThemes() (inside the Delete button handler), explicitly invalidate the pointer returned by GetThemeInfo by assigning currentThemeInfo = nullptr immediately after RefreshThemes(); do this before calling globals::menu->LoadThemePreset("Default")/changing currentThemePreset to ensure you don't hold a dangling const ThemeInfo* after the container is cleared.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@src/Menu/SettingsTabRenderer.cpp`:
- Around line 747-753: After deleting a theme, the call to
globals::menu->LoadThemePreset("Default") is unchecked so currentThemePreset may
be set incorrectly; modify the block handling result.success to capture and
check the boolean return of LoadThemePreset("Default") (or its equivalent return
type), log an error with context if it fails (including result.errorMessage
where relevant), and only set currentThemePreset = "Default" when
LoadThemePreset succeeds; keep themeManager->RefreshThemes() as-is but ensure
failure paths do not alter UI state.
---
Nitpick comments:
In `@src/Menu/SettingsTabRenderer.cpp`:
- Around line 744-756: After calling themeManager->RefreshThemes() (inside the
Delete button handler), explicitly invalidate the pointer returned by
GetThemeInfo by assigning currentThemeInfo = nullptr immediately after
RefreshThemes(); do this before calling
globals::menu->LoadThemePreset("Default")/changing currentThemePreset to ensure
you don't hold a dangling const ThemeInfo* after the container is cleared.
|
✅ A pre-release build is available for this PR: |
|
Looks good, definitely a good idea to have a delete option for themes. |
* fix(weather overrides): ensure json format for features (community-shaders#1748) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(terrain blending): tweak defaults (community-shaders#1771) * fix(lighting): vanilla envcolor mult the correct value (community-shaders#1775) * fix(water): remove final colour saturate (community-shaders#1778) * fix(unified-water): LOD water cache mismatch (community-shaders#1779) * fix(weather editor): override desync with weather transitions (community-shaders#1782) * fix(weather editor): no-override weather file deletion (community-shaders#1777) * fix(weather editor): apply weather settings post-load (community-shaders#1776) * fix(weather editor): handling of weathers without overrides (community-shaders#1773) * feat(UI): feature headings (community-shaders#1786) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(VR): add wand pointing (community-shaders#1790) * chore(UI): theme consistency (community-shaders#1787) * fix(upscaling): warn about max nvidia resolution (community-shaders#1795) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore(linear lighting): UI settings changes (community-shaders#1785) Co-authored-by: Jiaye <l936249247@hotmail.com> * fix(grass-lighting) better basic grass brightness default (community-shaders#1780) * chore(UI): remove settings and about tabs (community-shaders#1794) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(terrain shadows): fix compiler warnings (community-shaders#1798) * fix: fix flickering particles (community-shaders#1791) * fix(terrain blending): disable vr support (community-shaders#1799) * refactor(upscaling): standardize behavior and tune settings (community-shaders#1783) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): add auto-hide featurelist option (community-shaders#1793) * fix: match grass brightness of vanilla (community-shaders#1801) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor(perfoverlay): remove color from "Other" and "Total" (community-shaders#1806) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(unified water): fix for mesh water jitter (community-shaders#1809) * fix: clear shader cache on plugin version change (community-shaders#1739) * feat(filewatcher): add hlsli tracking (community-shaders#1796) * feat(linear lighting): add ambient multiplier (community-shaders#1805) * fix(unified-water): underwater fog flicker (community-shaders#1807) * fix(UI): conflicting esc key on welcome hotkey dialogue (community-shaders#1811) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(UI): add subtext font to tooltips (community-shaders#1810) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump streamline to 2.10.3 (community-shaders#1813) * build: resolve shader warnings (community-shaders#1818) * feat(ui): add combo hotkey support (community-shaders#1808) * feat: add feature constraints (community-shaders#1804) * build: update version to 1.4.8 (community-shaders#1802) * fix(VR): apply per eye upscaling (community-shaders#1819) - Split upscaling across each eye for correctness and to avoid DLSS failing over 8k x 8k limit - Changes HMD mask color to black to hide artifacts with fast movement * build: bump common lib to 4.2.0 (community-shaders#1821) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(grass collision): catch trashed actor pointers (community-shaders#1765) * fix(weather editor): desynced override transitions (community-shaders#1820) * fix(upscaling): fix preset and allocation handling (community-shaders#1824) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * build: remove linear lighting from core whilst in development (community-shaders#1826) * chore: bump version to 1.4.9 (community-shaders#1827) * fix: add back LLF core file and remove LL core file (community-shaders#1828) * fix: dont save shader debug toggles (community-shaders#1831) * fix: remove IBL from core, unfinished (community-shaders#1830) * chore: update version to 1.4.10 (community-shaders#1832) * chore(dynamic cubemaps): lessen normalisation darkening (community-shaders#1833) * chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834) * revert: "fix: dont save shader debug toggles (community-shaders#1831)" This reverts commit f55f195. * revert: "chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834)" This reverts commit b3db5a7. * fix: default enabledClasses true * build: bump version * feat(upscaling): custom DLSS preset (community-shaders#1837) * fix(weather editor): sync UI for full transition (community-shaders#1822) * fix(linearlighting): return correct buffer when ll feature off (community-shaders#1838) * fix(PBR): skip IrradianceToLinear on specular in vanilla (community-shaders#1839) * feat(weather editor): adjust slider ranges (community-shaders#1847) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): replace volumetric Lighting RGB sliders with color picker (community-shaders#1846) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix(grass collision): collision radius math (community-shaders#1849) * chore: move new feature information into docs (community-shaders#1848) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(ui): background blur with upscaling (community-shaders#1815) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor: move some features to core (community-shaders#1852) * fix: fix blown out water specular (community-shaders#1853) * feat(weather editor): toggle hotkey (community-shaders#1856) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(color picker): add an original color reference to all color pickers (community-shaders#1857) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(emat): alternate tweaks (community-shaders#1850) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather-editor): merge weather picker and editor (community-shaders#1845) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(llf): remove LLF settings loading (community-shaders#1859) * feat: exponential height fog (community-shaders#1708) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): block editor access in loading screens (community-shaders#1871) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): improve weather picker UI and functionality (community-shaders#1863) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): repurpose unsaved changes tracking (community-shaders#1860) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix: sync grass lighting defaults to match ENB (community-shaders#1844) * fix: stop shader compilation on game exit (community-shaders#1867) closes community-shaders#1130 * fix(weather editor): prevent inputs when editor is open (community-shaders#1872) * fix(weather editor): add ctd guards (community-shaders#1864) * feat(weather editor): remove WorldSpace widget and associated code (community-shaders#1878) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(vr): add OpenComposite menu support (community-shaders#1880) * revert: "feat(vr): add OpenComposite VR menu" (community-shaders#1881) * revert: "fix: stop shader compilation on game exit" (community-shaders#1882) * feat(vr): add OpenComposite menu support (community-shaders#1883) * feat(weather editor): add time controls (community-shaders#1877) * feat: add shadowmap rasterizer override (community-shaders#1690) * fix(weather editor): clear feature overrides with revert (community-shaders#1884) * feat(UI): Interior Only (community-shaders#1854) * fix(VR): fix Shadowmap Cascade Rasterizer (community-shaders#1888) * fix(unified water): distance calculation for raindrops & LOD fade (community-shaders#1890) * refactor: clarify core feature version mismatch text (community-shaders#1886) * fix: stop shader compilation on game exit (community-shaders#1885) * build: exclude hlsl tests from packaging (community-shaders#1894) * chore: disable feature constraints in dev mode (community-shaders#1893) * fix(vr): improve stereo UV handling (community-shaders#1899) * fix(weather editor): move esc key to native input system (community-shaders#1897) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix: move ResolveMonoUVForEye outside VR guard (community-shaders#1906) * fix(grass collision): validate actor (community-shaders#1905) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(terrain shadows): height map regression (community-shaders#1911) * fix: util vertical fov math (community-shaders#1904) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * test: add float4 overload test (community-shaders#1902) * refactor: move all features to globals::game::calendar (community-shaders#1909) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(UI): resolution based font (community-shaders#1907) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): make objects window be independently scrollable (community-shaders#1908) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): consolidate searchbar to util and add to weather editor (community-shaders#1898) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): add filled star for favourites. (community-shaders#1913) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): add delete json button to objects window (community-shaders#1914) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(VR): resolution-based font (community-shaders#1923) * refactor: use depthbuffer helper (community-shaders#1925) * refactor: move TurboColormap into Color.hlsli (community-shaders#1924) * fix(weather editor): expand clickable area of feature override (community-shaders#1921) * feat(weather editor): enable snapping to viewport (community-shaders#1917) * feat(weather editor): highlight enabled cloud layers (community-shaders#1916) * fix(VR): SSGI discrepancies (community-shaders#1926) * feat: volumetric shadows (community-shaders#1874) * ci: enhance feature version audit (community-shaders#1927) * feat(weather editor): add filter options for objects window (community-shaders#1922) * feat(weather editor): sticky headers and scrollable content (community-shaders#1930) * fix(UI): ImGui scaling for borderless mode (community-shaders#1929) * ci: don't fail on feature audits (community-shaders#1934) * fix(pbr): use scrap heap allocation (community-shaders#1928) * chore(UI): add subsurface scattering to Interior Only (community-shaders#1932) * fix(weather editor): align highlights, fix tooltip (community-shaders#1918) * fix(ssgi): guard VR only compilation (community-shaders#1938) * build: update template to avoid extra directory (community-shaders#1812) * style: fix hlsl formatting (community-shaders#1939) * fix(UI): improve theme management UI flow (community-shaders#1933) closes community-shaders#1919 * build(deps): update pre-commit hooks (community-shaders#1768) * feat(UI): delete theme button (community-shaders#1940) * feat(UI): open log file button (community-shaders#1942) * fix(hair): marschner volumetric shadow tint (community-shaders#1944) * fix(VR): screen space shadows desync (community-shaders#1946) closes community-shaders#1840 * fix(VR): depth culling during upscaling/Terrain Blending (community-shaders#1858) * feat(VR): add edge detection for stereo blending (community-shaders#1948) * refactor: allocate trampoline once (community-shaders#1951) * fix(UI): PBR MATO color scale RGB settings corrected (community-shaders#1957) * fix(weather editor): guard against loadorder changes (community-shaders#1953) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: davo0411 <davidkehoe0411@outlook.com> * fix(UI): feature description text wrapping (community-shaders#1960) * fix(VR): exponential height fog stereo mismatch (community-shaders#1961) * chore: pbr consistency changes (community-shaders#1841) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(skylighting): remove PBR lighting scale (community-shaders#1963) * fix(skysync): effect mesh blackout during shadow caster transitions (community-shaders#1965) * ci: fix wiki deletion with buffer update (community-shaders#1967) * feat(weather-editor): option to hide viewport (community-shaders#1970) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * test(shader): fallback to warp on invalidarg (community-shaders#1956) Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat: triplanar projected materials (community-shaders#1950) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(ao): better ao calculations (community-shaders#1968) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(pbr): fix improper kD terms (community-shaders#1971) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * perf(emat): tweak fade and shadow intensity (community-shaders#1892) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(ibl): revamp ibl and dalc sh (community-shaders#1947) * build: bump commonlib to 4.7.1 (community-shaders#1977) * fix: upscaling monitor detection fixes (community-shaders#1978) * fix(weather editor): prevent overrides resetting settings (community-shaders#1980) * fix(VR): bad llf offset (community-shaders#1984) * perf: cache frequent ui checks (community-shaders#1985) * fix: preserve vanilla water TAA when no upscaler is active (community-shaders#1986) Co-authored-by: jturnley <jturnley@users.noreply.github.com> * fix(UI): first-time dialog fade affects all overlays (community-shaders#1976) * fix(skysync): remove sunlight fade and volumetric lighting overrides (community-shaders#1966) * refactor(HLSL): standardize epsilon constants (community-shaders#1992) closes community-shaders#1227 * feat(UI): require Shift to dock windows (community-shaders#1989) * fix(UI): input spam after alt-tab (community-shaders#1993) * fix(sky sync): early return for invalid cells (community-shaders#1991) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(sky sync): remove undeclared variable (community-shaders#1994) * refactor(pbr): clear up semantics (community-shaders#1995) * fix(UI): scale layout values for high-DPI (community-shaders#1987) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(water): hdr water taa blend (community-shaders#1988) * refactor(color): clarify gamma conversion functions (community-shaders#1996) * feat(ISL-editor): add light counters and fix filtering (community-shaders#1997) * fix(UI): DPI-aware window layouts (community-shaders#2000) * fix(weather-editor): save color palette window (community-shaders#2001) * refactor: centralize feature category names (community-shaders#2007) closes community-shaders#1265 Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * chore: bump versions (community-shaders#2010) * fix(water): sample history mask from current mask (community-shaders#2011) * chore(wetness-effects): set default MaxPuddleWetness to 1.5 (community-shaders#1981) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather-editor): add free camera and play mode (community-shaders#2008) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump versions and reduce false positives (community-shaders#2013) * fix(VR): LLF cluster building and culling (community-shaders#2012) * build: update to VS 2026 (community-shaders#1990) * ci: fix preset in vs2022 mode (community-shaders#2015) * ci: remove v2022 from shader jobs (community-shaders#2016) * feat(upscaling): integrate Streamline Reflex controls (community-shaders#1958) * fix(unified-water): BSWaterShaderProperty.plane (community-shaders#1998) --------- Co-authored-by: Skrubby Skrub In A Shrub <87662196+SkrubbySkrubInAShrub@users.noreply.github.com> Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> Co-authored-by: Dlizzio <77717521+Dlizzio@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Bruce <44987693+brucenguyen@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Dawntic <197450198+Dawntic@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@gmail.com> Co-authored-by: Vanni Giachin <vanni.giachin@qlik.com> Co-authored-by: zxcvbn <66063766+zndxcvbn@users.noreply.github.com> Co-authored-by: ParticleTroned <248299730+ParticleTroned@users.noreply.github.com> Co-authored-by: soda <130315225+soda3000@users.noreply.github.com> Co-authored-by: YtzyFvra <59631290+YtzyFvra@users.noreply.github.com> Co-authored-by: LukeFrankio <lorenzogrutzmann@gmail.com> Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: jturnley <32892261+jturnley@users.noreply.github.com> Co-authored-by: jturnley <jturnley@users.noreply.github.com> Co-authored-by: Igor Alan Albuquerque de Sousa <50077829+IgorAlanAlbuquerque@users.noreply.github.com> Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(weather overrides): ensure json format for features (community-shaders#1748) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(terrain blending): tweak defaults (community-shaders#1771) * fix(lighting): vanilla envcolor mult the correct value (community-shaders#1775) * fix(water): remove final colour saturate (community-shaders#1778) * fix(unified-water): LOD water cache mismatch (community-shaders#1779) * fix(weather editor): override desync with weather transitions (community-shaders#1782) * fix(weather editor): no-override weather file deletion (community-shaders#1777) * fix(weather editor): apply weather settings post-load (community-shaders#1776) * fix(weather editor): handling of weathers without overrides (community-shaders#1773) * feat(UI): feature headings (community-shaders#1786) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(VR): add wand pointing (community-shaders#1790) * chore(UI): theme consistency (community-shaders#1787) * fix(upscaling): warn about max nvidia resolution (community-shaders#1795) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore(linear lighting): UI settings changes (community-shaders#1785) Co-authored-by: Jiaye <l936249247@hotmail.com> * fix(grass-lighting) better basic grass brightness default (community-shaders#1780) * chore(UI): remove settings and about tabs (community-shaders#1794) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(terrain shadows): fix compiler warnings (community-shaders#1798) * fix: fix flickering particles (community-shaders#1791) * fix(terrain blending): disable vr support (community-shaders#1799) * refactor(upscaling): standardize behavior and tune settings (community-shaders#1783) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): add auto-hide featurelist option (community-shaders#1793) * fix: match grass brightness of vanilla (community-shaders#1801) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor(perfoverlay): remove color from "Other" and "Total" (community-shaders#1806) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(unified water): fix for mesh water jitter (community-shaders#1809) * fix: clear shader cache on plugin version change (community-shaders#1739) * feat(filewatcher): add hlsli tracking (community-shaders#1796) * feat(linear lighting): add ambient multiplier (community-shaders#1805) * fix(unified-water): underwater fog flicker (community-shaders#1807) * fix(UI): conflicting esc key on welcome hotkey dialogue (community-shaders#1811) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(UI): add subtext font to tooltips (community-shaders#1810) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump streamline to 2.10.3 (community-shaders#1813) * build: resolve shader warnings (community-shaders#1818) * feat(ui): add combo hotkey support (community-shaders#1808) * feat: add feature constraints (community-shaders#1804) * build: update version to 1.4.8 (community-shaders#1802) * fix(VR): apply per eye upscaling (community-shaders#1819) - Split upscaling across each eye for correctness and to avoid DLSS failing over 8k x 8k limit - Changes HMD mask color to black to hide artifacts with fast movement * build: bump common lib to 4.2.0 (community-shaders#1821) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(grass collision): catch trashed actor pointers (community-shaders#1765) * fix(weather editor): desynced override transitions (community-shaders#1820) * fix(upscaling): fix preset and allocation handling (community-shaders#1824) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * build: remove linear lighting from core whilst in development (community-shaders#1826) * chore: bump version to 1.4.9 (community-shaders#1827) * fix: add back LLF core file and remove LL core file (community-shaders#1828) * fix: dont save shader debug toggles (community-shaders#1831) * fix: remove IBL from core, unfinished (community-shaders#1830) * chore: update version to 1.4.10 (community-shaders#1832) * chore(dynamic cubemaps): lessen normalisation darkening (community-shaders#1833) * chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834) * revert: "fix: dont save shader debug toggles (community-shaders#1831)" This reverts commit f55f195. * revert: "chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834)" This reverts commit b3db5a7. * fix: default enabledClasses true * build: bump version * feat(upscaling): custom DLSS preset (community-shaders#1837) * fix(weather editor): sync UI for full transition (community-shaders#1822) * fix(linearlighting): return correct buffer when ll feature off (community-shaders#1838) * fix(PBR): skip IrradianceToLinear on specular in vanilla (community-shaders#1839) * feat(weather editor): adjust slider ranges (community-shaders#1847) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): replace volumetric Lighting RGB sliders with color picker (community-shaders#1846) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix(grass collision): collision radius math (community-shaders#1849) * chore: move new feature information into docs (community-shaders#1848) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(ui): background blur with upscaling (community-shaders#1815) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor: move some features to core (community-shaders#1852) * fix: fix blown out water specular (community-shaders#1853) * feat(weather editor): toggle hotkey (community-shaders#1856) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(color picker): add an original color reference to all color pickers (community-shaders#1857) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(emat): alternate tweaks (community-shaders#1850) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather-editor): merge weather picker and editor (community-shaders#1845) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(llf): remove LLF settings loading (community-shaders#1859) * feat: exponential height fog (community-shaders#1708) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): block editor access in loading screens (community-shaders#1871) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): improve weather picker UI and functionality (community-shaders#1863) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): repurpose unsaved changes tracking (community-shaders#1860) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix: sync grass lighting defaults to match ENB (community-shaders#1844) * fix: stop shader compilation on game exit (community-shaders#1867) closes community-shaders#1130 * fix(weather editor): prevent inputs when editor is open (community-shaders#1872) * fix(weather editor): add ctd guards (community-shaders#1864) * feat(weather editor): remove WorldSpace widget and associated code (community-shaders#1878) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(vr): add OpenComposite menu support (community-shaders#1880) * revert: "feat(vr): add OpenComposite VR menu" (community-shaders#1881) * revert: "fix: stop shader compilation on game exit" (community-shaders#1882) * feat(vr): add OpenComposite menu support (community-shaders#1883) * feat(weather editor): add time controls (community-shaders#1877) * feat: add shadowmap rasterizer override (community-shaders#1690) * fix(weather editor): clear feature overrides with revert (community-shaders#1884) * feat(UI): Interior Only (community-shaders#1854) * fix(VR): fix Shadowmap Cascade Rasterizer (community-shaders#1888) * fix(unified water): distance calculation for raindrops & LOD fade (community-shaders#1890) * refactor: clarify core feature version mismatch text (community-shaders#1886) * fix: stop shader compilation on game exit (community-shaders#1885) * build: exclude hlsl tests from packaging (community-shaders#1894) * chore: disable feature constraints in dev mode (community-shaders#1893) * fix(vr): improve stereo UV handling (community-shaders#1899) * fix(weather editor): move esc key to native input system (community-shaders#1897) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix: move ResolveMonoUVForEye outside VR guard (community-shaders#1906) * fix(grass collision): validate actor (community-shaders#1905) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(terrain shadows): height map regression (community-shaders#1911) * fix: util vertical fov math (community-shaders#1904) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * test: add float4 overload test (community-shaders#1902) * refactor: move all features to globals::game::calendar (community-shaders#1909) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(UI): resolution based font (community-shaders#1907) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): make objects window be independently scrollable (community-shaders#1908) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): consolidate searchbar to util and add to weather editor (community-shaders#1898) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): add filled star for favourites. (community-shaders#1913) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): add delete json button to objects window (community-shaders#1914) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(VR): resolution-based font (community-shaders#1923) * refactor: use depthbuffer helper (community-shaders#1925) * refactor: move TurboColormap into Color.hlsli (community-shaders#1924) * fix(weather editor): expand clickable area of feature override (community-shaders#1921) * feat(weather editor): enable snapping to viewport (community-shaders#1917) * feat(weather editor): highlight enabled cloud layers (community-shaders#1916) * fix(VR): SSGI discrepancies (community-shaders#1926) * feat: volumetric shadows (community-shaders#1874) * ci: enhance feature version audit (community-shaders#1927) * feat(weather editor): add filter options for objects window (community-shaders#1922) * feat(weather editor): sticky headers and scrollable content (community-shaders#1930) * fix(UI): ImGui scaling for borderless mode (community-shaders#1929) * ci: don't fail on feature audits (community-shaders#1934) * fix(pbr): use scrap heap allocation (community-shaders#1928) * chore(UI): add subsurface scattering to Interior Only (community-shaders#1932) * fix(weather editor): align highlights, fix tooltip (community-shaders#1918) * fix(ssgi): guard VR only compilation (community-shaders#1938) * build: update template to avoid extra directory (community-shaders#1812) * style: fix hlsl formatting (community-shaders#1939) * fix(UI): improve theme management UI flow (community-shaders#1933) closes community-shaders#1919 * build(deps): update pre-commit hooks (community-shaders#1768) * feat(UI): delete theme button (community-shaders#1940) * feat(UI): open log file button (community-shaders#1942) * fix(hair): marschner volumetric shadow tint (community-shaders#1944) * fix(VR): screen space shadows desync (community-shaders#1946) closes community-shaders#1840 * fix(VR): depth culling during upscaling/Terrain Blending (community-shaders#1858) * feat(VR): add edge detection for stereo blending (community-shaders#1948) * refactor: allocate trampoline once (community-shaders#1951) * fix(UI): PBR MATO color scale RGB settings corrected (community-shaders#1957) * fix(weather editor): guard against loadorder changes (community-shaders#1953) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: davo0411 <davidkehoe0411@outlook.com> * fix(UI): feature description text wrapping (community-shaders#1960) * fix(VR): exponential height fog stereo mismatch (community-shaders#1961) * chore: pbr consistency changes (community-shaders#1841) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(skylighting): remove PBR lighting scale (community-shaders#1963) * fix(skysync): effect mesh blackout during shadow caster transitions (community-shaders#1965) * ci: fix wiki deletion with buffer update (community-shaders#1967) * feat(weather-editor): option to hide viewport (community-shaders#1970) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * test(shader): fallback to warp on invalidarg (community-shaders#1956) Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat: triplanar projected materials (community-shaders#1950) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(ao): better ao calculations (community-shaders#1968) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(pbr): fix improper kD terms (community-shaders#1971) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * perf(emat): tweak fade and shadow intensity (community-shaders#1892) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(ibl): revamp ibl and dalc sh (community-shaders#1947) * build: bump commonlib to 4.7.1 (community-shaders#1977) * fix: upscaling monitor detection fixes (community-shaders#1978) * fix(weather editor): prevent overrides resetting settings (community-shaders#1980) * fix(VR): bad llf offset (community-shaders#1984) * perf: cache frequent ui checks (community-shaders#1985) * fix: preserve vanilla water TAA when no upscaler is active (community-shaders#1986) Co-authored-by: jturnley <jturnley@users.noreply.github.com> * fix(UI): first-time dialog fade affects all overlays (community-shaders#1976) * fix(skysync): remove sunlight fade and volumetric lighting overrides (community-shaders#1966) * refactor(HLSL): standardize epsilon constants (community-shaders#1992) closes community-shaders#1227 * feat(UI): require Shift to dock windows (community-shaders#1989) * fix(UI): input spam after alt-tab (community-shaders#1993) * fix(sky sync): early return for invalid cells (community-shaders#1991) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(sky sync): remove undeclared variable (community-shaders#1994) * refactor(pbr): clear up semantics (community-shaders#1995) * fix(UI): scale layout values for high-DPI (community-shaders#1987) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(water): hdr water taa blend (community-shaders#1988) * refactor(color): clarify gamma conversion functions (community-shaders#1996) * feat(ISL-editor): add light counters and fix filtering (community-shaders#1997) * fix(UI): DPI-aware window layouts (community-shaders#2000) * fix(weather-editor): save color palette window (community-shaders#2001) * refactor: centralize feature category names (community-shaders#2007) closes community-shaders#1265 Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * chore: bump versions (community-shaders#2010) * fix(water): sample history mask from current mask (community-shaders#2011) * chore(wetness-effects): set default MaxPuddleWetness to 1.5 (community-shaders#1981) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather-editor): add free camera and play mode (community-shaders#2008) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump versions and reduce false positives (community-shaders#2013) * fix(VR): LLF cluster building and culling (community-shaders#2012) * build: update to VS 2026 (community-shaders#1990) * ci: fix preset in vs2022 mode (community-shaders#2015) * ci: remove v2022 from shader jobs (community-shaders#2016) * feat(upscaling): integrate Streamline Reflex controls (community-shaders#1958) * fix(unified-water): BSWaterShaderProperty.plane (community-shaders#1998) --------- Co-authored-by: Skrubby Skrub In A Shrub <87662196+SkrubbySkrubInAShrub@users.noreply.github.com> Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> Co-authored-by: Dlizzio <77717521+Dlizzio@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Bruce <44987693+brucenguyen@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Dawntic <197450198+Dawntic@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@gmail.com> Co-authored-by: Vanni Giachin <vanni.giachin@qlik.com> Co-authored-by: zxcvbn <66063766+zndxcvbn@users.noreply.github.com> Co-authored-by: ParticleTroned <248299730+ParticleTroned@users.noreply.github.com> Co-authored-by: soda <130315225+soda3000@users.noreply.github.com> Co-authored-by: YtzyFvra <59631290+YtzyFvra@users.noreply.github.com> Co-authored-by: LukeFrankio <lorenzogrutzmann@gmail.com> Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: jturnley <32892261+jturnley@users.noreply.github.com> Co-authored-by: jturnley <jturnley@users.noreply.github.com> Co-authored-by: Igor Alan Albuquerque de Sousa <50077829+IgorAlanAlbuquerque@users.noreply.github.com> Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 564b00f)
Now that we can detect shipped versus user presets, we can show a delete button.
Summary by CodeRabbit
New Features
Style