Skip to content

chore: move some features to core#1682

Merged
davo0411 merged 2 commits into
devfrom
to-core
Jan 6, 2026
Merged

chore: move some features to core#1682
davo0411 merged 2 commits into
devfrom
to-core

Conversation

@doodlum
Copy link
Copy Markdown
Collaborator

@doodlum doodlum commented Jan 5, 2026

Summary by CodeRabbit

  • Updates
    • Core designation updated for key rendering features: Extended Translucency, Interior Sun, Inverse Square Lighting, Terrain Shadows, and Water Effects.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jan 5, 2026

📝 Walkthrough

Walkthrough

This PR adds a virtual IsCore() override method returning true to five feature classes: ExtendedTranslucency, InteriorSun, InverseSquareLighting, TerrainShadows, and WaterEffects. Each method is implemented identically as a simple boolean indicator marking these features as core.

Changes

Cohort / File(s) Summary
Core feature marker additions
src/Features/ExtendedTranslucency.h, src/Features/InteriorSun.h, src/Features/InverseSquareLighting.h, src/Features/TerrainShadows.h, src/Features/WaterEffects.h
Added virtual bool IsCore() const override { return true; } method to each feature class, establishing a core feature designation

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • #1387: Modifies the InteriorSun feature class, adding IsCore() in conjunction with other InteriorSun refactoring.
  • #1396: Adds IsCore() override method to IBL and other Feature-derived classes in similar fashion.

Suggested reviewers

  • alandtse
  • jiayev

Poem

🐰 Five features now proclaim with pride,
Their core identity, deep inside,
IsCore() true on every call,
The finest features of them all! ✨

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 'chore: move some features to core' directly and accurately describes the main change: marking five features (ExtendedTranslucency, InteriorSun, InverseSquareLighting, TerrainShadows, WaterEffects) as core by implementing IsCore() override methods.
✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent 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 a28a512 and 64ce69a.

📒 Files selected for processing (11)
  • features/Extended Translucency/CORE
  • features/Interior Sun/CORE
  • features/Inverse Square Lighting/CORE
  • features/Terrain Shadows - Heightmaps/CORE
  • features/Terrain Shadows/CORE
  • features/Water Effects/CORE
  • src/Features/ExtendedTranslucency.h
  • src/Features/InteriorSun.h
  • src/Features/InverseSquareLighting.h
  • src/Features/TerrainShadows.h
  • src/Features/WaterEffects.h
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{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/TerrainShadows.h
  • src/Features/WaterEffects.h
  • src/Features/ExtendedTranslucency.h
  • src/Features/InteriorSun.h
  • src/Features/InverseSquareLighting.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/TerrainShadows.h
  • src/Features/WaterEffects.h
  • src/Features/ExtendedTranslucency.h
  • src/Features/InteriorSun.h
  • src/Features/InverseSquareLighting.h
**/*

⚙️ CodeRabbit configuration file

**/*: When reviewing PRs, please provide suggestions for:

  1. Conventional Commit Titles (if not following https://www.conventionalcommits.org/ or
    if the existing title does not describe the code changes):
    Format: type(scope): description
    Length: 50 characters limit for title, 72 for body
    Style: lowercase description, no ending period
    Examples:

    • feat(vr): add cross-eye sampling
    • fix(water): resolve flowmap bug
    • docs: update shader documentation
  2. Issue References (if PR fixes bugs or implements features):
    Suggest adding appropriate GitHub keywords:

Otherwise, use your standard review approach focusing on code quality.

Files:

  • src/Features/TerrainShadows.h
  • src/Features/WaterEffects.h
  • src/Features/ExtendedTranslucency.h
  • src/Features/InteriorSun.h
  • src/Features/InverseSquareLighting.h
🧠 Learnings (1)
📓 Common learnings
Learnt from: alandtse
Repo: doodlum/skyrim-community-shaders PR: 0
File: :0-0
Timestamp: 2025-07-05T05:20:45.823Z
Learning: In the skyrim-community-shaders repository, file deletion error handling improvements that replace existence checks and try-catch blocks with std::filesystem::remove error-code-based approaches are considered bug fixes rather than refactoring, as they address inadequate error handling and misleading log messages.
Learnt from: ThePagi
Repo: doodlum/skyrim-community-shaders PR: 1369
File: src/Features/SnowCover.cpp:277-293
Timestamp: 2025-08-05T18:22:40.578Z
Learning: In the skyrim-community-shaders SnowCover feature, the wstrtostr and strtowstr utility functions defined in src/Features/SnowCover.cpp are unused and should be removed rather than fixed, as confirmed by the original author ThePagi.
Learnt from: CR
Repo: doodlum/skyrim-community-shaders PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T18:37:35.839Z
Learning: Applies to features/*/Shaders/**/*.{hlsl,hlsli,fx,fxh} : Place all feature shaders under features/YourFeature/Shaders/
Learnt from: alandtse
Repo: doodlum/skyrim-community-shaders PR: 0
File: :0-0
Timestamp: 2025-06-24T07:17:36.604Z
Learning: When reviewing PRs, always clarify the scope if there are multiple related features or dependencies. WeatherPicker was a separate PR that was already merged, while this PR focuses specifically on WetnessEffects climate preset system enhancements.
Learnt from: ThePagi
Repo: doodlum/skyrim-community-shaders PR: 1369
File: src/Features/SnowCover.cpp:515-515
Timestamp: 2025-10-02T14:20:33.454Z
Learning: In the Community Shaders codebase (skyrim-community-shaders repository), hardcoded shader resource slot numbers are used directly in code rather than being defined as named constants. This is the established convention and should not be flagged as an issue.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build plugin and addons
🔇 Additional comments (5)
src/Features/WaterEffects.h (1)

38-38: LGTM - Consistent with PR pattern.

The IsCore() implementation matches the pattern used across all features in this PR.

src/Features/TerrainShadows.h (1)

99-99: LGTM - Consistent implementation.

The IsCore() override correctly marks TerrainShadows as a core feature, consistent with other features in this PR.

src/Features/InverseSquareLighting.h (1)

59-59: LGTM - Consistent implementation.

The IsCore() override is correctly implemented and consistent with the pattern across all features in this PR.

src/Features/InteriorSun.h (1)

75-75: LGTM - Consistent implementation of core feature flag.

The IsCore() override is syntactically correct and properly matches the base class declaration in Feature::IsCore() const. The override keyword is correctly applied and the method returns the appropriate value for a core feature.

src/Features/ExtendedTranslucency.h (1)

63-64: File does not exist in repository.

The referenced file src/Features/ExtendedTranslucency.h does not exist. This repository contains only shader files (.hlsl, .hlsli); there are no C++ source files (.h, .hpp, .cpp). ExtendedTranslucency is a shader namespace defined in package/Shaders/ExtendedTranslucency/ExtendedTranslucency.hlsli, not a C++ class.

Likely an incorrect or invalid review comment.


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.

Automated formatting by clang-format, prettier, and other hooks.
See https://pre-commit.ci for details.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 5, 2026

Using provided base ref: a28a512
Using base ref: a28a512
Base commit date: 2026-01-05T16:43:17Z (Monday, January 05, 2026 04:43 PM)
No actionable suggestions for changed features.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 5, 2026

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

@davo0411 davo0411 merged commit 45ba37a into dev Jan 6, 2026
18 checks passed
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