Skip to content

fix(sss): disable burley, broken#1484

Closed
doodlum wants to merge 1 commit into
devfrom
disable-burley
Closed

fix(sss): disable burley, broken#1484
doodlum wants to merge 1 commit into
devfrom
disable-burley

Conversation

@doodlum
Copy link
Copy Markdown
Collaborator

@doodlum doodlum commented Sep 18, 2025

Summary by CodeRabbit

  • Bug Fixes

    • Disabled the broken “Burley” subsurface scattering mode to prevent visual issues.
    • Removed the subsurface scattering mode selector from the settings UI to avoid choosing unsupported modes.
  • Chores

    • Updated the default subsurface scattering mode to “Separable” for new installations or fresh settings.

@github-actions
Copy link
Copy Markdown

Using provided base ref: 3f462fa
Using base ref: 3f462fa
Base commit date: 2025-09-18T00:36:38+01:00 (Thursday, September 18, 2025 12:36 AM)
No actionable suggestions for changed features.

@github-actions
Copy link
Copy Markdown

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

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Sep 18, 2025

Walkthrough

The UI controls for switching Subsurface Scattering modes were removed by commenting out the radio buttons in the CPP. A note marks Burley as disabled. The default SSMode in the header was changed from 1 to 0. No other logic or public interfaces were modified.

Changes

Cohort / File(s) Summary of changes
UI: Remove SSS mode toggles
src/Features/SubsurfaceScattering.cpp
Commented out ImGui radio buttons (Separable SSS and Burley) and related SameLine; added comment that Burley is disabled; no behavioral logic altered.
Defaults: SSMode
src/Features/SubsurfaceScattering.h
Changed Settings::SSMode default initializer from 1 to 0; no other declarations modified.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • jiayev
  • Pentalimbed

Poem

In shaders’ shade I thump with glee,
Two buttons hushed—less choice for me!
Burley naps, a sleepy mode,
Default drifts to safer road.
I nudge the light, then hop away—
Subsurface dreams another day. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly captures the primary change: disabling the Burley subsurface scattering (SSS) mode because it is broken. The PR hides Burley-related UI controls and changes the default SSMode from 1 to 0, which aligns with the title's intent. The title is concise and relevant to the changeset.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch disable-burley

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.

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.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/Features/SubsurfaceScattering.cpp (1)

72-97: Burley path still reachable via config (SSMode=1) — not truly disabled.

Hiding the radios is insufficient; existing configs can still select the Burley branch. Clamp on load.

Add a hard clamp in LoadSettings:

void SubsurfaceScattering::LoadSettings(json& o_json)
{
    settings = o_json;
    // Force-disable Burley mode regardless of saved value
    if (settings.SSMode != 0) {
        settings.SSMode = 0;
        logger::info("[SSS] Burley disabled — forcing SSMode=0 from loaded settings.");
    }
}

Optionally also sanitize when saving to prevent stale “1” persisting:

void SubsurfaceScattering::SaveSettings(json& o_json)
{
    if (settings.SSMode != 0) settings.SSMode = 0;
    o_json = settings;
}
🧹 Nitpick comments (2)
src/Features/SubsurfaceScattering.cpp (2)

33-36: UI: Replace commented controls with an explicit disabled notice.

Avoid dead UI space and make the state obvious.

-        // Burley currently broken, disabled
-        // ImGui::RadioButton("Separable SSS", &settings.SSMode, 0);
-        // ImGui::SameLine();
-        // ImGui::RadioButton("Burley", &settings.SSMode, 1);
+        ImGui::TextDisabled("SSS mode: Burley is disabled (broken).");

284-296: Ensure Burley dispatch is unreachable.

If you don’t clamp on load, this branch will still run. Either keep the load‑time clamp (preferred) or guard here with a runtime fallback.

Example fallback at the start of DrawSSS’s dispatch section:

if (settings.SSMode == 1) {
    logger::warn("[SSS] Burley mode requested but disabled; falling back to separable SSS.");
    settings.SSMode = 0;
}
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3f462fa and 36268fc.

📒 Files selected for processing (2)
  • src/Features/SubsurfaceScattering.cpp (1 hunks)
  • src/Features/SubsurfaceScattering.h (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{cpp,cxx,cc,c,h,hpp,hxx,hlsl,hlsli,fx,fxh,py}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Do not include TODO/FIXME placeholders; provide complete, working solutions

Files:

  • src/Features/SubsurfaceScattering.cpp
  • src/Features/SubsurfaceScattering.h
src/**/*.{cpp,cxx,cc,h,hpp,hxx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

src/**/*.{cpp,cxx,cc,h,hpp,hxx}: Ensure SE/AE/VR runtime compatibility; use runtime detection patterns (e.g., REL::RelocateMember())
Include robust error handling and resource management with graceful degradation in the plugin code

Files:

  • src/Features/SubsurfaceScattering.cpp
  • src/Features/SubsurfaceScattering.h
🔇 Additional comments (1)
src/Features/SubsurfaceScattering.h (1)

23-23: Clamp SSMode on config load; ensure legacy JSON can't re-enable Burley.

Defaulting SSMode = 0 is fine; enforce/override it during configuration deserialization so pre‑existing JSON with SSMode=1 cannot re-enable Burley. I could not locate src/Features/SubsurfaceScattering.h or any SSMode occurrences in this repository — confirm the file path or add the clamp in the config parser (after parsing set/limit SSMode to 0).

@doodlum doodlum closed this Sep 18, 2025
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.

1 participant