Initial import of IC.Rebuild

This commit is contained in:
2026-10-13 22:55:05 +08:00
commit 16d61f7a5e
87 changed files with 17054 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
using System.Collections.Frozen;
namespace ICRebuild.Core;
public static class ValidationCatalog
{
public const string ClientVersion="2026.10.06.0000.0000";
public const string BaselineClientVersion="2026.09.15.0000.0000";
public static bool IsAuditedVersion(string? version) => version is ClientVersion or BaselineClientVersion;
// Explicit user confirmation, 2026-10-11. This is not inferred from compilation or hook startup.
public static readonly FrozenSet<int> UserConfirmed = new[] {1,2,3,9,10,11,13,14,15,16,17,19,27,28,29}.ToFrozenSet();
public static void Apply(ModuleManager modules,string clientVersion)
{
if(!IsAuditedVersion(clientVersion)) return;
foreach(var id in UserConfirmed)
if(modules.Status.TryGetValue(id,out var state) && state.HasImplementation) state.Adaptation=Adaptation.Verified;
}
}
public static class StatusPresentation
{
public static string Summary(ModuleStatus state)
{
var validation=state.Adaptation switch
{
Adaptation.Verified=>"已实测有效",
Adaptation.KnownBroken=>"已知问题",
_ when !state.HasImplementation=>"暂不可用",
_ when state.Feature.Id==14=>"待复测",
_=>"待实测"
};
var running=state.State switch {ModuleState.Enabled=>"已开启",ModuleState.Failed=>"运行异常",_=>"已关闭"};
return $"{validation} · {running}";
}
public static bool ShowDetail(ModuleStatus state) => !state.HasImplementation || state.State==ModuleState.Failed || state.Adaptation==Adaptation.KnownBroken;
}