You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I checked existing issues and PRs for duplicate or overlapping work.
This PR addresses one focused problem or request.
Summary
Clarify the intended use of the existing public abstraction classes:
Registerable is public because public API classes inherit it. Modders should use the appropriate API base class rather than inherit this infrastructure class directly.
Saveable is a supported modder-facing persistence base despite its internal namespace. Its documentation now describes standalone save data, SaveableField, lifecycle callbacks, load timing, and inherited NPC/quest persistence support.
The final diff contains only XML comments in these two existing files.
Compatibility
Public/protected API: No changes to types, namespaces, inheritance, accessibility, attributes, signatures, or virtual member shape.
Existing defaults and behavior: Unchanged; executable source matches the beta baseline.
Stable IDs, saves, and network payloads: Unchanged.
Source and binary compatibility are unchanged. No namespace migration, deprecation, IntelliSense attributes, compatibility shim, or planned type removal is introduced.
Matching restore/build with Il2CppMelon passed with zero warnings/errors. Local deployment was disabled.
Runtime evidence
No gameplay smoke or contract-suite rerun was needed for the final documentation-only scope. Verified that every added/removed line against beta baseline beed831 is an XML comment. The diff against that baseline passes whitespace checks.
Documentation
Update the class summaries and remarks for S1API.Internal.Abstraction.Registerable and S1API.Internal.Abstraction.Saveable.
Auto reviews are disabled on base/target branches other than the default branch.
Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Advanced
Run ID: b66ff5ad-173d-4ca7-852a-5d2fd0bf1b91
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Use the checkbox below for a quick retry:
🔍 Trigger review
Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Autopilot is currently an internal CodeRabbit preview.
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.
ifBars
changed the title
feat(saveables): expose public Saveable with legacy compatibility
docs(abstraction): clarify Registerable and Saveable usage
Oct 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
betaA game update on the beta & alternate-beta steam branchesdocumentationImprovements or additions to documentationsaveablesNative game save system
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked issue
Refs #343
Contributor checklist
Summary
Clarify the intended use of the existing public abstraction classes:
Registerableis public because public API classes inherit it. Modders should use the appropriate API base class rather than inherit this infrastructure class directly.Saveableis a supported modder-facing persistence base despite its internal namespace. Its documentation now describes standalone save data,SaveableField, lifecycle callbacks, load timing, and inherited NPC/quest persistence support.The final diff contains only XML comments in these two existing files.
Compatibility
Validation
Mono
dotnet restore S1API/S1API.csproj -p:Configuration=MonoMelon -p:AutomateLocalDeployment=falsedotnet build S1API/S1API.csproj -c MonoMelon --no-restore -p:AutomateLocalDeployment=falseBuild passed with zero warnings/errors.
IL2CPP
Matching restore/build with
Il2CppMelonpassed with zero warnings/errors. Local deployment was disabled.Runtime evidence
No gameplay smoke or contract-suite rerun was needed for the final documentation-only scope. Verified that every added/removed line against beta baseline
beed831is an XML comment. The diff against that baseline passes whitespace checks.Documentation
Update the class summaries and remarks for
S1API.Internal.Abstraction.RegisterableandS1API.Internal.Abstraction.Saveable.