chore(release): publish supplemental packages and remove internal reports
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
# Agent 导航与交付验收
|
||||
|
||||
验收基于实际本地代码、CLI、Unity/Godot/.NET 运行,不以文档关键词命中替代事实。CLI 版本 0.1.2,输出格式版本 1。未发布远程版本。
|
||||
|
||||
## 冷上下文 Agent
|
||||
|
||||
仅提供需求、CLI 入口与允许的证据路径;只读执行,未让评估 agent 参与实现。
|
||||
|
||||
- 第一轮:26 次 CLI 查询、14 组源码读取,暴露模组证据路径错误、中文业务问法遗漏、route 链断点、Godot 输入选择和 impact 模块过滤缺口。
|
||||
- 第二轮:13 次查询复测 8 个导航任务与复用边界;修复上述入口问题,仍报告通用外部方法导致扩散、路由链不完整和真实 waiting 证据不足。
|
||||
- 第三轮限定复测:2 次 CLI+1 次既有 JSON 读取,无代码修改、无无关文件正文读取。route 默认深度返回 9 条未截断结果,包含 handler-forward 到 ShrinkNetworkCommandBridge.HandleExecuteAsync;事件 flow 从 155 条降至 52 条,默认页不再经 Dictionary 方法扩散到此前无关模块。并未逐条审核全部 52 条。
|
||||
- waiting fixture 返回 CurrentProviderUid=null、CommittedProviderUid=null、PotentialProviderUids=[]、IsSatisfied=false,没有 provider 绑定边。runtime-bound 修饰真实的 requires 关系,不代表依赖已经满足;该轮读取既有产物,不声称重新捕获实时状态。
|
||||
|
||||
## 8 个导航任务的落点
|
||||
|
||||
| 任务 | 证据/边界 |
|
||||
|---|---|
|
||||
| 启动应用 | Starter 组合、ContextLoaderHost;消费工程自己的组合根 README |
|
||||
| 事件未触发 | publish/subscribe 候选与实际快照绑定分离;无快照不称已注册 |
|
||||
| 远程命令 | route → 消息 → 注册/lambda → HandleExecuteAsync;继续调用 Command.ExecuteAsync 需展开深度 |
|
||||
| provider 缺失 | key 查询、requires、候选 provider、waiting 依赖状态 |
|
||||
| 存档入口 | ShrinkSave、模块采集、LocalStorageProvider;不假装已有任意介质注入 |
|
||||
| 模组退役 | ShrinkModContextHost、fiber、effect lease 撤回 |
|
||||
| Godot 主线程 | --project 加载 Godot 工程,而不是复用 Unity 编译清单 |
|
||||
| 网络服务改动影响 | 直接调用、桥接、验证入口;不保证发现所有反射或动态间接调用 |
|
||||
|
||||
4 个复用任务结论:每帧预算先用宿主已有配置;卸载订阅用 Context EventBus adapter;新存储介质实现 IStorageProvider 后仍需确认/窄扩展宿主注入入口;新怒气玩法没有现成业务模块,基础设施可复用但业务必须设计。不为满足“复用”而虚构能力。
|
||||
|
||||
## 验证记录
|
||||
|
||||
- 独立 .NET 核心回归 64 项、CLI/分析器回归 12 项通过。
|
||||
- Unity 全量 EditMode 226 项通过;实际 Windows Player 10 项通过,包含分配计数器校准、RPC/广播矩阵与存档阶段测试。
|
||||
- Godot 4.6.3 Mono 实际 headless 启动、事件/命令生成合同、存档 42 回读、Context 应用及 .NET JSON golden frame 互通通过。
|
||||
- 独立 NuGet 消费工程用新的隔离包缓存还原,实际运行输出 PASS;CodeGen 合同印记 0.1.0 是格式版本,不是 NuGet 包版本。
|
||||
- justanyproject 安装 22 个本地 SDK UPM 包,新增 Inspection 接入和生成式 MessagePack fixture;.NET 3.1.8 编码与项目既有 MessagePack 3.1.10 生成 formatter 的 Unity PlayMode 字节互通通过。
|
||||
- justanyproject 定向 EditMode 83 项:80 通过、3 失败。两项 ModSpellApi 测试仍调用已停用旧工厂重载;另一项 tooltip 断言期待“◆”,当前正文没有该字符。这些代码不是本次 SDK 迁移修改,未擅自重写玩法使其变绿,不能宣称消费项目全量测试通过。
|
||||
|
||||
从 Entry 启动后已进入 MainMenu,9 个应用 fiber 均 Active。宿主快照明确包含应用 Context、Network 与 Command scope,不把旧服务容器查询失败当作服务不存在。相同构建的 route 查询共 14 条未截断结果,其中 5 条为 runtime-bound;默认候选关系仍保留 candidate 标记。最终安装版本、实际运行状态、原始测试摘要保存在性能数据目录。编译通过与主场景启动不等于完整多人对局或所有内容的端到端验收。
|
||||
|
||||
## 保留的限制
|
||||
|
||||
- 静态 IDE 输入可能过期,buildId 为空时只提供候选证据;Unity 导出清单与运行快照须构建标识一致,源/引用时间戳变化会拒绝合并。
|
||||
- 第三方包只作引用;第三方源生成的成员可能 unresolved,不把覆盖不足当检查通过。
|
||||
- 自定义 Endless 联机协议不属于 SDK Network 运行快照覆盖;其现有协议版本 29 不变,不能与 SDK SHK2 版本 2 混同。
|
||||
- 快照按需生成;没有常驻采集、生产连接、消息正文或令牌导出。按模块、深度、数量与分页控制结果,当前仍每次重新建立索引。
|
||||
- 本次为本地安装和构建验收,没有验证远程 registry/Git tag/Installer 的正式发布路径,也没有发布这些版本。
|
||||
@@ -1,205 +0,0 @@
|
||||
# Thread: ShrinkSDKUnity
|
||||
|
||||
## Alias
|
||||
|
||||
- `ShrinkSDKUnity`
|
||||
|
||||
## Status: OPEN
|
||||
|
||||
## Goal
|
||||
|
||||
持续推进 `D:\UnityBuilds\ShrinkSDK` 的 SDK 基础设施,重点围绕:
|
||||
|
||||
- `ShrinkModFramework`
|
||||
- `ShrinkNetwork`
|
||||
- 独立服务器能力
|
||||
- 权限、RPC、传输层
|
||||
|
||||
## Context
|
||||
|
||||
*Created from conversation on 2026-04-05.*
|
||||
|
||||
本线程当前已经落地:
|
||||
|
||||
- `.planning/codebase/` 中文代码库地图
|
||||
- `Assets/Modules/ShrinkModFramework/`
|
||||
- 模组声明、依赖声明、生命周期
|
||||
- `RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)` 自动启动
|
||||
- 外部 DLL 热插拔
|
||||
- Harmony 自动补丁接入
|
||||
- `Assets/Modules/ShrinkNetwork/`
|
||||
- `[ShrinkNetworkMessage]`
|
||||
- `[ShrinkNetworkSubscriber]`
|
||||
- `[ShrinkNetworkSubscribe]`
|
||||
- `RpcAsync`
|
||||
- 权限模型 `ShrinkNetworkAuthority / ShrinkNetworkPeerKind / Permission`
|
||||
- `ShrinkJsonNetworkSerializer`
|
||||
- `ShrinkMessagePackNetworkSerializer`
|
||||
- `ShrinkLoopbackTransport`
|
||||
- `ShrinkTcpClientTransport`
|
||||
- `ShrinkKcpClientTransport`
|
||||
- `ShrinkKcpPeer`
|
||||
- `ShrinkKcpTransportOptions`
|
||||
- `GeneratedServers/ShrinkNetwork.ServerHost/`
|
||||
- 独立 .NET 控制台服务器
|
||||
- `TcpServerTransport`
|
||||
- `KcpServerTransport`
|
||||
- 同时监听 TCP `17001` 与 KCP `17002`
|
||||
|
||||
## This Round
|
||||
|
||||
这一轮新增与修复:
|
||||
|
||||
- 重构 `ShrinkNetwork` 目录结构:
|
||||
- `Runtime/Core`
|
||||
- `Runtime/Metadata`
|
||||
- `Runtime/Routing`
|
||||
- `Runtime/Serialization`
|
||||
- `Runtime/Transport/*`
|
||||
- `Editor/Scaffolding`
|
||||
- 删除仓库内固定参考工程,改为插件模板 + 生成式独立服务器工程
|
||||
- 独立服务器生成器支持扫描:
|
||||
- `[ShrinkNetworkMessage]`
|
||||
- 显式 `RegisterMessage<T>(opcode, route)`
|
||||
- 新增显式状态同步范式:
|
||||
- `ShrinkNetworkStateSyncAttribute`
|
||||
- `ShrinkNetworkStateSyncRole`
|
||||
- LAN 演示消息补齐:
|
||||
- `[ShrinkNetworkMessage]`
|
||||
- `[ShrinkNetworkStateSync("lan", role)]`
|
||||
- `opcode` / `route` 冲突改为生成阶段直接报错,不由框架静默兜底
|
||||
- `ShrinkNetworkService.BindTransport(...)` 自动接入可选桥接:
|
||||
- 自动注册 `ShrinkNetwork.Integration.EventBus`
|
||||
- `BindTransport(null)` 自动解绑
|
||||
- `ShrinkNetwork.Integration.EventBus` 增加更易用扩展:
|
||||
- `session.PublishEventAsync(...)`
|
||||
- `session.RequestEventAsync(...)`
|
||||
- `service.BroadcastEventAsync(...)`
|
||||
- `service.UseEventBusBridge(...)`
|
||||
- `ShrinkEmbeddedHostNetworkDemoSceneController` 去掉手工 `RegisterService(...)`
|
||||
- 统一重写 README:
|
||||
- `Assets/Modules/ShrinkNetwork/README.md`
|
||||
- `Assets/Modules/ShrinkNetwork.Integration.EventBus/README.md`
|
||||
- `Assets/Modules/ShrinkDataSaver.Integration.EventBus/README.md`
|
||||
|
||||
## This Round Update
|
||||
|
||||
继续补齐的内容:
|
||||
|
||||
- `ShrinkNetwork` 的 RPC 关联 id 从裸 `int rpcId` 重构为强类型 `ShrinkRequestToken`
|
||||
- `ShrinkRpcCallOptions` 增加:
|
||||
- `RequestTokenOverride`
|
||||
- `DebugLabel`
|
||||
- `ShrinkNetworkPacket / ShrinkNetworkContext / ShrinkNetworkRouter / ShrinkNetworkService` 全链路改用 `RequestToken`
|
||||
- `ShrinkNetwork.Integration.EventBus` 的请求结果调用默认带事件类型 `DebugLabel`
|
||||
- TCP 客户端在“远端正常关闭连接”时不再刷异常堆栈,降级为 warning
|
||||
- 独立服务器生成器继续升级:
|
||||
- 不只识别 `[ShrinkNetworkEvent]`
|
||||
- 还会区分:
|
||||
- 广播型网络事件
|
||||
- 远端裁决网络事件
|
||||
- 增量网络事件
|
||||
- 对非状态同步范式接管的网络事件消息,自动生成 handler 模板并自动注册 `RegisterHandler(...)`
|
||||
- 同步更新当前生成产物:
|
||||
- `GeneratedServers/ShrinkNetwork.ServerHost/Generated/UnityGeneratedServerHandlers.g.cs`
|
||||
- `GeneratedServers/ShrinkNetwork.ServerHost/Generated/UnityGeneratedServerModule.g.cs`
|
||||
- `GeneratedServers/ShrinkNetwork.ServerHost/Generated/UNITY_GENERATED_SERVER_SCAFFOLD.md`
|
||||
- 模板说明补齐:
|
||||
- `Assets/Modules/ShrinkNetwork/Editor/Scaffolding/ServerProjectTemplate/README.md.txt`
|
||||
- `Assets/Modules/ShrinkNetwork/README.md`
|
||||
- 商业级可用性第一轮硬化:
|
||||
- `ShrinkNetworkService` / `ShrinkNetworkSession` 改为并发安全集合,断线时自动失败对应的挂起 RPC
|
||||
- TCP 客户端 / 服务端补齐最大包长保护,避免远端伪造长度直接触发大内存分配
|
||||
- 运行时 `ShrinkKcpServerTransport` 补齐远端地址校验,并把会话 `conversationId` 改为随机分配
|
||||
- 独立服务器模板与当前 `GeneratedServers` 宿主改为“默认拒绝匿名登录”,只有显式允许时才在缺少令牌时放行
|
||||
- 同步更新:
|
||||
- `Assets/Modules/ShrinkNetwork/Editor/Scaffolding/ServerProjectTemplate/*`
|
||||
- `GeneratedServers/ShrinkNetwork.ServerHost/*`
|
||||
- 商业级可用性第二轮硬化:
|
||||
- `ShrinkNetworkPacket` 增加 `ProtocolVersion / SchemaVersion`
|
||||
- `ShrinkNetworkService` 增加协议版本窗口校验,必要时通过 `IShrinkNetworkSessionControlTransport` 主动断开违规会话
|
||||
- `ShrinkNetworkService` 增加基础指标快照:
|
||||
- 会话连接/断开
|
||||
- 收发包与字节数
|
||||
- RPC 发起/完成/超时/取消/失败
|
||||
- 协议违规、权限拒绝、处理器异常、未知 opcode、分发 miss、反序列化失败
|
||||
- 独立服务器宿主新增:
|
||||
- `ServerHostOptions.MinProtocolVersion / MaxProtocolVersion`
|
||||
- `ServerHostOptions.MinSchemaVersion / MaxSchemaVersion`
|
||||
- `ServerHostOptions.DisconnectOnProtocolViolation`
|
||||
- `ServerHostOptions.DiagnosticsLogIntervalSeconds`
|
||||
- `Program.cs` 会定期输出指标摘要,并在 `Ctrl+C` 前打印最后一份快照
|
||||
|
||||
## Verified
|
||||
|
||||
已做实际验证:
|
||||
|
||||
- `dotnet build .\\Assembly-CSharp.csproj /m:1 -p:BaseIntermediateOutputPath=Temp\\CliObj\\Assembly-CSharp\\`
|
||||
- `dotnet build .\\Assembly-CSharp-Editor.csproj /m:1 -p:BaseIntermediateOutputPath=Temp\\CliObj\\Assembly-CSharp-Editor\\`
|
||||
- `dotnet build .\\GeneratedServers\\ShrinkNetwork.ServerHost\\ShrinkNetwork.ServerHost.csproj /nr:false`
|
||||
- `dotnet build .\\ShrinkNetwork.Runtime.csproj /m:1`
|
||||
- `dotnet build .\\ShrinkSDK.sln /m:1`
|
||||
|
||||
说明:
|
||||
|
||||
- Unity 侧当前编译为 0 warning / 0 error
|
||||
- 当前 `GeneratedServers\\ShrinkNetwork.ServerHost` 可编译通过,但在 `net8.0` 宿主侧仍有一批既有 nullable warnings
|
||||
- 当前 `GeneratedServers\\ShrinkNetwork.ServerHost` 也已手工同步到新生成器语义
|
||||
- 这轮没有做 Unity 编辑器内按钮点击与 PlayMode 回归
|
||||
- 商业级硬化这一轮已额外验证:
|
||||
- `dotnet build .\\Assembly-CSharp.csproj /m:1 -p:BaseIntermediateOutputPath=Temp\\CliObj\\Assembly-CSharp\\`
|
||||
- `dotnet build .\\GeneratedServers\\ShrinkNetwork.ServerHost\\ShrinkNetwork.ServerHost.csproj /nr:false`
|
||||
- `dotnet build .\\ShrinkSDK.sln /m:1`
|
||||
|
||||
## Notes
|
||||
|
||||
- `D:\UnityBuilds\ShrinkSDK` 是根 Git 仓库;EventBus、DataSaver 与 DataSaver.EventBus 已从 gitlink/嵌套仓库改为根仓库直接跟踪,干净克隆可恢复完整源码。
|
||||
- 当前唯一架构文档是根 `DESIGN.md`;Cordis 完成态和旧 `.planning/codebase` 地图已归档到 `Docs/Archive/`。
|
||||
- 独立服务器生成器已改为扫描 Unity 编译后的 Player 程序集语义,并用 SHA-256 清单保护模板托管文件。
|
||||
- 当前线程里“独立服务器模板仍有 nullable 警告”的记录已过期,至少现有生成工程与解决方案编译均已清零
|
||||
- PowerShell 查看 UTF-8 中文时会出现乱码,但文件本身已按 UTF-8 写入
|
||||
- `ShrinkNetwork.Integration.EventBus` 当前 `HasResult` 只回传:
|
||||
- `EventResult`
|
||||
- `IsCanceled`
|
||||
- `ErrorCode / ErrorMessage`
|
||||
- 还不会自动回传事件对象其它字段的最终改动
|
||||
- 当前生成器虽然已经把网络事件纳入一等公民,但生成结果仍以“可编译、可注册、可继续补业务”为目标,不会替你推断完整业务逻辑
|
||||
- 当前默认安全基线已明显提高,但仍未覆盖 TLS、正式身份体系、协议版本协商、压测与故障演练
|
||||
- 当前协议版本闸门与指标摘要已经具备最小生产辅助价值,但还没有 metrics 导出、trace、dashboard 或告警接入
|
||||
|
||||
## Next Steps
|
||||
|
||||
- 在 Unity 编辑器中实际点击“生成完整独立服务器工程 / 刷新 Generated 合同”并补一轮运行时回归
|
||||
- 继续补商业级缺口时,优先排:
|
||||
- TLS / 安全信道
|
||||
- 正式身份体系与令牌轮换
|
||||
- 更细粒度的协议兼容协商,而不是当前这种“窗口校验 + 直接断开”
|
||||
- metrics 导出 / trace / dashboard / 告警
|
||||
- 压测、模糊包、断线与兼容回归
|
||||
- 后续修改服务器生成器时保持语义扫描、命名空间同名拒绝和模板哈希预检测试。
|
||||
- 如果要继续收口代码层细节,优先处理公开 API 中残留的 nullable 语义不一致,而不是重复消化已不存在的构建警告
|
||||
- 如果后续彻底放弃旧心智,可把公开 API 中残留的 `route = null` 一类签名继续做 nullable 收口
|
||||
|
||||
## Last Update
|
||||
|
||||
- 2026-08-29: 完成第三方合规排查并新增根 `THIRD-PARTY-NOTICES.md`(README 已加"第三方与合规"入口)。结论:NeoForge / Minecraft Forge 与 MessagePipe 仅为概念参考(`Docs/JustAnyProjectArchitectureAudit.md` A.3 有既有声明;EventBus 的五级优先级、`receiveCanceled`、`EventResult{DEFAULT,ALLOW,DENY}`、`Attach(object)` 对应 Forge API 语义,实现为原创未复制代码,不触发 LGPL 衍生义务);MessagePipe 未引入依赖、API 形态不构成高度相似;AlicizaX(GitHub 组织)在代码、文档、git 历史中零引用,`ShrinkInstaller` 子模块历史为自研。真正触发 MIT 归属义务的是 `Assets/Modules/ShrinkNetwork/Plugins/Kcp-CSharp.dll`(Molth/Kcp-CSharp,上游 KCP)与 `System.Runtime.CompilerServices.Unsafe.dll`,两者版权行与 MIT 全文已收录进声明文件;UniTask / MessagePack / Newtonsoft.Json 为外挂包依赖已登记。遗留:根仓库本身尚无 LICENSE(EventBus 模块已有 MIT),且 `ShrinkNetwork` 模块独立发布时需把 DLL 声明同步进该模块仓库。
|
||||
|
||||
- 2026-04-10: 已新增 `Assets/Modules/ShrinkTutorial/` 独立包,落地一套可复用的互动式引导系统,包含 `ShrinkTutorialManager`、`ShrinkTutorialData / ShrinkTutorialStep / ShrinkTutorialDatabase`、默认 `PlayerPrefs` 持久化、`ShrinkTutorialAnchor / ShrinkTutorialTrigger`、遮罩挖洞与提示框 UI、以及 `ShrinkSDK/引导/*` / `ShrinkSDK/Tutorial/*` 编辑器入口。
|
||||
- 2026-04-10: 已新增示例场景 `Assets/Scenes/ShrinkTutorialSample.unity`,并配套生成 `Assets/Modules/ShrinkTutorial/Samples/Resources/ShrinkTutorialSettings.asset`、`Assets/Modules/ShrinkTutorial/Samples/ShrinkTutorialSampleDatabase.asset`、`Assets/Modules/ShrinkTutorial/Samples/ShrinkTutorialSampleTutorial.asset`。示例流程覆盖三类核心路径:静态目标点击、运行时动态锚点等待、`CompleteStep(customEventName)` 自定义事件完成。
|
||||
- 2026-04-10: 示例场景入口脚本为 `Assets/Modules/ShrinkTutorial/Runtime/Samples/ShrinkTutorialSampleSceneController.cs`,一键重建入口为 `Assets/Modules/ShrinkTutorial/Editor/Samples/ShrinkTutorialSampleSceneBuilder.cs`,菜单为 `ShrinkSDK/引导/创建示例场景` 与 ASCII 别名 `ShrinkSDK/Tutorial/Create Sample Scene`。后续如果示例场景被手改或损坏,可直接走该菜单重建。
|
||||
- 2026-04-10: 本轮已做命令行编译验证:`ShrinkTutorial.Runtime.csproj`、`ShrinkTutorial.Editor.csproj`、`ShrinkSDK.sln` 均为 `0 warning / 0 error`。Unity 侧也完成了一轮示例场景 PlayMode 烟测,并修复了 `ShrinkTutorialDialog.Initialize()` 在已有 `RectTransform` 上重复 `AddComponent<RectTransform>()` 导致的运行时空引用。
|
||||
- 2026-04-10: 当前示例场景文案已改为英文,不是产品方向选择,而是临时规避 TMP 默认字体缺少中文字形导致的方块/警告。若后续要把示例或引导系统默认文案恢复成中文,优先补一个可用的中文 TMP 字体资产,再统一改回中文,避免再次出现 `LiberationSans SDF` 缺字警告。
|
||||
|
||||
- 2026-04-07: 已补上给外部模组开发者使用的 `Mod SDK` 导出器。新入口是 `ShrinkSDK/Mod/导出 Mod SDK 开发包`,会先构建 `ShrinkSDK.sln`,再导出 `Libs/ + Templates/ExternalMod/SampleShrinkMod/ + README + manifest.json`;其中外部模板已改成引用导出包里的 DLL,而不再直接引用本地仓库 `csproj`。
|
||||
- 2026-04-07: 因外部独立模组工程在用户 IDE 环境里仍会撞到 `Microsoft.NET.SDK.WorkloadAutoImportPropsLocator` 解析问题,已追加一条更省事的“仓库内模组模板”路径。新入口是 `ShrinkSDK/Mod/生成仓库内模组模板(推荐)`,会直接生成到当前 Unity 项目的 `Assets` 下并复用现有 `ShrinkSDK.sln` / asmdef 编译链,作为当前更推荐的模组开发入口。
|
||||
- 2026-04-07: 已给 `ShrinkModFramework` 补上外部 DLL 模组模板生成器。新入口是 `ShrinkSDK/Mod/生成外部模组模板`,实现位于 `Assets/Modules/ShrinkModFramework/Editor/Scaffolding/`,会生成带 `csproj + build.ps1 + 示例模组代码 + README` 的独立模组工程,方便模组开发者直接构建 DLL 并投放到 `Mods` 目录。
|
||||
- 2026-04-07: 已整理 `Assets/Modules/ShrinkModFramework/Runtime/` 目录结构,把平铺脚本拆成 `Bootstrap / Core / Metadata / Registry / Loading / Network / Integration` 七层;同时同步更新 `Assets/Modules/ShrinkModFramework/README.md` 与 `.planning/codebase/STRUCTURE.md`,把模组框架当前真实目录与推荐阅读顺序补齐。
|
||||
- 2026-04-07: 用户已在实际环境中完成本轮回归,反馈当前 `ShrinkCommand` / `ShrinkNetwork` / 独立服务器生成链路“测试过了没问题”。这意味着前面“还缺 Unity 编辑器内实际回归验证”的记录对当前这条链路已过期;当前可把状态视为:代码编译全绿,且已有用户侧真实验证通过。
|
||||
- 2026-04-07: 已继续把 `ShrinkCommand`/`ShrinkNetwork` 相关 nullable 收口做到当前全绿。先补齐 `Assets/Modules/ShrinkCommand.Integration.EventBus/` 与 `Assets/Modules/ShrinkCommand.Integration.Network/` 的 `#nullable enable`,再把 `Assets/Modules/ShrinkNetwork/Runtime` 的消息元数据、权限、注册器、路由器、会话、服务、序列化器、EventBus 桥接等公共类型按真实可空语义收口;同时把 `GeneratedServers/ShrinkNetwork.ServerHost/Generated/UnityGeneratedNetworkContracts.g.cs` 里 `LanJoinRoomResponse.Players` 的数组默认值补齐,并把源头生成器 `Assets/Modules/ShrinkNetwork/Editor/Scaffolding/ShrinkDedicatedServerScaffoldGenerator.cs` 的 `GetDefaultInitializer(...)` 改成对任意 `T[]` 都自动生成 `Array.Empty<T>()`,避免后续重新生成时 warning 回弹。已实际验证:`dotnet build .\\ShrinkSDK.sln /m:1` 与 `dotnet build .\\GeneratedServers\\ShrinkNetwork.ServerHost\\ShrinkNetwork.ServerHost.csproj /nr:false` 现都为 `0 warning / 0 error`。
|
||||
- 2026-04-07: 已修复 `ShrinkCommand` 在 Unity 侧的兼容性编译断点。`Assets/Modules/ShrinkCommand/Runtime/Core/ShrinkCommandService.cs` 与 `Assets/Modules/ShrinkCommand/Runtime/Metadata/ShrinkCommandTypes.cs` 现已显式开启 `#nullable enable`,并把依赖 `init` 的对象初始化属性改成 Unity 2022 当前编译链可稳定通过的 `set`,避免再次触发 `System.Runtime.CompilerServices.IsExternalInit` 缺失;同时顺手收口了 `ShrinkCommandRegHelper.cs` 与 `ShrinkCommandService.cs` 内部的几处 nullable warning。已实际验证:`dotnet build .\\ShrinkCommand.Runtime.csproj /m:1`、`dotnet build .\\GeneratedServers\\ShrinkCommand.RuntimeSmoke\\ShrinkCommand.RuntimeSmoke.csproj /nr:false` 均为 `0 warning / 0 error`;`dotnet build .\\ShrinkSDK.sln /m:1` 与 `dotnet build .\\GeneratedServers\\ShrinkNetwork.ServerHost\\ShrinkNetwork.ServerHost.csproj /nr:false` 也都恢复到 `0 error`。当前残留 warning 已不在这两个修复点本体,而是在既有的 `ShrinkCommand.Integration.*` 与 `ShrinkNetwork` nullable 收口面。
|
||||
- 2026-04-06: 已补宿主文本配置文件能力。新增 `GeneratedServers/ShrinkNetwork.ServerHost/server.properties` 与模板 `server.properties.txt`,风格对齐 Minecraft 的 `key=value` 配置;`Program.cs` 启动改为先走 `ServerHostProperties.LoadOrCreate()`,首次启动缺文件时自动落默认配置,并打印配置文件路径、是否首次生成、配置告警与最终优先级。当前规则为“代码默认值 < server.properties < 环境变量”;同时补了 `SHRINK_SERVER_CONFIG_PATH` 自定义配置文件路径入口,并把 `UnityAssetsPath` / `ScanOutputDirectory` 的默认解析从易错的 `AppContext.BaseDirectory` 相对跳转改成基于宿主工程目录定位。
|
||||
- 2026-04-06: 已补上运行时烟测闭环。新增 `GeneratedServers/ShrinkNetwork.RuntimeSmoke/` 轻量控制台烟测工具,直接覆盖“登录拿令牌 -> 鉴权后业务 RPC -> `server/auth/refresh` 续期 -> 篡改令牌后被宿主断链”。同时把会话令牌关键配置补成环境变量:`SHRINK_SERVER_ENABLE_SESSION_TOKENS / SHRINK_SERVER_SESSION_TOKEN_TTL_SECONDS / SHRINK_SERVER_SESSION_TOKEN_REFRESH_WINDOW_SECONDS / SHRINK_SERVER_DISCONNECT_ON_INVALID_SESSION_TOKEN`。已实际跑通:宿主在 `SHRINK_SERVER_AUTH_TOKEN=smoke-token`、TTL/续期窗口都为 `120` 秒时,烟测日志确认 `Login ok`、`Join room ok`、`Refresh ok`、`Tampered token rejected with disconnect`、`PASS`;宿主日志也确认坏令牌请求被拒绝并主动踢线。
|
||||
- 2026-04-06: 已补上“正式身份/会话令牌体系”第一版。`ShrinkNetworkPacket` 新增 `SessionToken` 与到期时间戳;`ShrinkNetworkSession` 会自动持有并回传当前令牌;`ShrinkNetworkService` 新增 `IncomingPacketValidator` 与 `AuthRejectedCount` 指标。独立宿主与模板侧新增 `server/auth/refresh`,登录成功后签发内存态会话令牌,并按 `ServerHostOptions.EnableSessionTokens / SessionTokenTtlSeconds / SessionTokenRefreshWindowSeconds / DisconnectOnInvalidSessionToken` 做逐包校验与续期。已实际验证:`dotnet build .\\Assembly-CSharp.csproj /m:1 -p:BaseIntermediateOutputPath=Temp\\CliObj\\Assembly-CSharp\\`、`dotnet build .\\GeneratedServers\\ShrinkNetwork.ServerHost\\ShrinkNetwork.ServerHost.csproj /nr:false`、`dotnet build .\\ShrinkSDK.sln /m:1` 全部通过;Unity 侧与解决方案侧恢复到 `0 warning / 0 error`,宿主仍保留既有 nullable warnings;本轮尚未做真实登录-续期-断链运行时回归。
|
||||
- 2026-04-06: 已补完 TCP TLS 第一版收口。`ShrinkTcpClientTransport` / `ShrinkTcpServerTransport` 与当前 `GeneratedServers`、模板宿主都已接入可选 `ShrinkTcpTlsOptions`,TCP 读包路径统一改为 `Stream` 以兼容 `SslStream`。同时把 `ShrinkTcpTlsOptions` 的实际定义移到 `Runtime/Transport/Abstractions/IShrinkNetworkTransport.cs`,原 `Runtime/Transport/Tcp/ShrinkTcpTlsOptions.cs` 仅保留占位,避免 Unity 尚未刷新工程文件时再次出现“文件已在磁盘上但类型不可见”的构建断点。
|
||||
- 已补记商业级第二轮硬化:协议版本闸门、会话踢除接口、基础指标快照与宿主周期性摘要;Unity 侧命令行构建仍保持 0 warning / 0 error,独立服务器宿主仍存在既有 nullable warnings,下一续接点转向 TLS / 身份体系 / 真正的观测导出
|
||||
- 2026-04-06: 宸茶ˉ涓?Minecraft 椋庢牸鐨勭嫭绔嬪懡浠ょ郴缁熶笌妗ユ帴灞傘€傛柊澧?`Assets/Modules/ShrinkCommand/` 鐙珛鍛戒护杩愯鏃讹紝鏀寔璺緞寮忓懡浠ゃ€佽礊蹇冨弬鏁般€佹潈闄愩€佹潵婧愬垽瀹氥€佸睘鎬佸紡鑷姩娉ㄥ唽锛涘悓鏃舵柊澧?`Assets/Modules/ShrinkCommand.Integration.EventBus/` 涓?`Assets/Modules/ShrinkCommand.Integration.Network/`锛屽墠鑰呮敮鎸佺敤 `ShrinkCommandExecuteRequestEvent` 璇锋眰鎵ц鍛戒护骞跺彂甯?executing / executed / failed 浜嬩欢锛屽悗鑰呮敮鎸佺敤 `command/execute` RPC 鎵ц杩滅▼鍛戒护銆傚綋鍓?`GeneratedServers/ShrinkNetwork.ServerHost` 宸叉敼涓哄叡浜?`ShrinkCommandService`锛屾帶鍒跺彴涓庣綉缁滄ˉ鎺ュ叡鐢ㄥ悓涓€濂楀懡浠わ紱瀹夸富鍦?stdin EOF 鏃朵笉鍐嶇珛鍗抽€€鍑猴紝閫傞厤鍚庡彴杩涚▼鍚姩銆傚凡瀹為檯楠岃瘉锛?`dotnet run --project .\\GeneratedServers\\ShrinkCommand.RuntimeSmoke\\ShrinkCommand.RuntimeSmoke.csproj` PASS锛?`dotnet run --project .\\GeneratedServers\\ShrinkCommand.EventBusSmoke\\ShrinkCommand.EventBusSmoke.csproj` PASS锛屼互鍙婂悗鍙板惎鍔ㄥ涓?+ `dotnet run --project .\\GeneratedServers\\ShrinkNetwork.RuntimeSmoke\\ShrinkNetwork.RuntimeSmoke.csproj -- 127.0.0.1 17777 smoke-token runtime-smoke` PASS锛屽凡鐪熷疄瑕嗙洊鈥滅櫥褰?-> 涓氬姟 RPC -> 杩滅▼ `status` 鍛戒护 -> 绡℃敼浠ょ墝鏂摼鈥濄€?
|
||||
+20
-18
@@ -29,30 +29,32 @@ RPC 响应单独完成挂起请求,避免嵌套调用等待当前处理队列
|
||||
|
||||
`SaveOptions.EncodeInBackground` 默认关闭。开启后,模块采集和 JSON 快照物化仍在调用线程执行,后台只编码独立快照与加密。`CollectTimings` 提供采集、编码、加密、落盘阶段数据;存档格式、原子替换和备份回退保持兼容。
|
||||
|
||||
## 本地安装与消费工程迁移
|
||||
## 从包源升级
|
||||
|
||||
本次未发布 registry 或 Git tag。UPM 通过工作区当前源码生成便携 tarball,NuGet 通过本地 feed 安装,不将相同版本的旧全局缓存当作新包验证。
|
||||
Unity 在 `Packages/manifest.json` 配置 ShrinkSDK scoped registry,使用明确版本号安装:
|
||||
|
||||
~~~powershell
|
||||
python -X utf8 Tools/AgentSupport/Install-Unity.py D:/UnityBuilds/justanyproject --messagepack
|
||||
pwsh Tools/AgentSupport/Pack-Local.ps1
|
||||
~~~
|
||||
```json
|
||||
{
|
||||
"scopedRegistries": [{
|
||||
"name": "ShrinkSDK",
|
||||
"url": "https://git.crash.work/api/packages/ShrinkSDK/npm/",
|
||||
"scopes": ["com.cneicy"]
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
安装器只更新 manifest 的 ShrinkSDK 依赖,包保存在消费工程 Packages/ShrinkSDK。首次原 manifest 备份在 SDK 的 Artifacts/AgentSupport/justanyproject-manifest-before.json。Unity 执行 PackageManager.Client.Resolve,再等编译稳定;最后核对已安装源码与工作区,不仅检查版本字符串。
|
||||
保留工程已有的 registry 和第三方依赖。核心版本为 Context 0.3.0、EventBus 2.2.2、Network 0.4.2、DataSaver 2.4.0、UPM CodeGen 0.2.1;按需添加 `com.cneicy.shrink-inspection` 0.1.0 与 `com.cneicy.shrink-network-messagepack` 0.1.0。完整版本以仓库版本目录及 [Gitea 包列表](https://git.crash.work/ShrinkSDK/-/packages) 为准。
|
||||
|
||||
justanyproject 本次安装 22 包,包括 Inspection 0.1.0 和可选 MessagePack adapter 0.1.0;Context 0.3.0、EventBus 2.2.2、Network 0.4.2、DataSaver 2.4.0、UPM CodeGen 0.2.1。项目已有 MessagePack 3.1.10 与生成器继续保留,adapter 已用其实际 formatter 与 .NET 3.1.8 golden frame 做字节互通验证。不要重新安装冲突的 MessagePack 二进制。
|
||||
.NET 使用 `https://git.crash.work/api/packages/ShrinkSDK/nuget/index.json` 作为 NuGet 源。CLI 安装见 [工具说明](../Tools/AgentSupport/README.md)。
|
||||
|
||||
新增消费侧内容仅为 Assets/Editor/ShrinkInspection 的宿主快照接入、Assets/Tests/ShrinkSDK 的生成 codec fixture 和三个业务能力 README;没有借此次安装覆盖既有玩法、UI、场景或资源修改。自定义 Endless raw TCP 协议 29 不经过 ShrinkNetworkService v2,不需要为了 SDK 编号而改其协议。
|
||||
MessagePack 适配包要求消费项目提供 MessagePack-CSharp 与生成式 formatter,避免重复安装二进制。适配器使用 .NET 3.1.8,已验证 Unity 3.1.10 生成 formatter 的字节互通。
|
||||
|
||||
进入 Entry 后先导出 compilation inputs,再导出 runtime snapshot。接入记录实际应用 Context/Loader 以及 Network/Command 服务;未注册宿主的实例不在默认快照覆盖内。
|
||||
升级后由 Unity Package Manager 解析依赖,等待编译完成并确认包来源为 registry。导出 compilation inputs 后,再从实际宿主导出 runtime snapshot;未注册宿主的实例不在默认快照覆盖内。编译、消息互通和实际启动应分别验证。
|
||||
|
||||
修改 SDK 源码时,可使用 `Pack-Local.ps1` 和 `Install-Unity.py <工程路径>` 测试本地构建;这会把目标项目的 ShrinkSDK 依赖改为本地 tarball,正式消费项目应恢复 registry 版本。
|
||||
|
||||
### 回退
|
||||
|
||||
1. 停止 Play Mode,备份当前工作区与本次 manifest;不要重置消费工程已有未提交工作。
|
||||
2. 将本次新增的 Inspection 编辑器接入、ShrinkSDK codec 测试源及其 asmdef/meta 一并从 Assets 移到工程外备份,避免旧依赖缺少新类型时阻断编译;不移动已有游戏文件。
|
||||
3. 恢复安装前 manifest,运行 PackageManager.Client.Resolve,由 Unity 重建对应 lock/cache;保留原 tarball 以便再次安装,不手工编辑 Library。
|
||||
4. 客户端和使用 ShrinkNetworkService 的服务端共同回退。v1/v2 不兼容,不可只回退单边。纯自定义 transport 协议按其独立策略处理。
|
||||
|
||||
新 manifest/lock、便携包和接入源应作为一个本地交付单元保存。消费工程 .gitignore 已对 Packages/ShrinkSDK 的 tarball 放行,避免 manifest 引用被忽略而没有一起保存的文件。版本目录仍以正式发布流程为准,Inspection/可选 MessagePack 的新增包图另做本地检查;旧发布检查器并未自动替这两个新增入口提供远程发布保证。
|
||||
|
||||
验证结果和三项既有业务测试失败详见 AgentSupportAcceptance.md;本地编译与主场景启动不替代完整多人业务回归。
|
||||
1. 停止 Play Mode,保存当前 manifest、lock 与相关接入代码。
|
||||
2. 同步回退使用新版 API 的业务接入与依赖版本,由 Unity 重建 lock;不手工修改 Library。
|
||||
3. 客户端和使用 ShrinkNetworkService 的服务端共同回退。v1/v2 不兼容,不可只回退单边;自定义 transport 协议按其独立策略处理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 性能与跨宿主验收 — 2026-09-28 UTC
|
||||
# 性能测量 — 2026-09-28 UTC
|
||||
|
||||
本次为本地工作区验收,不代表远程发布、生产容量承诺或所有后端的性能保证。原始测量时间保留在 JSON/XML 中;Windows 本地显示日期可能为 9 月 29 日。
|
||||
测量环境为本地开发机;结果用于比较实现,不代表生产容量。原始测量时间保留在 JSON 中。
|
||||
|
||||
## 方法与证据边界
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
- 单机开发环境、有限样本,非隔离实验机;p99 易受 JIT、GC、系统调度影响。没有可靠的多轮置信区间,不将小幅波动称为普遍提升。
|
||||
- Unity 的 GC.GetAllocatedBytesForCurrentThread 对已知分配返回零,已弃用该结果。Player 改用经已知数组分配校准的 GC.Alloc 事件计数;事件次数不是 B/op。独立 .NET 的字节计数与 Player 分开报告。
|
||||
|
||||
原始数据位于 [Data/2026-09-28](Data/2026-09-28/);Player 完整输出同时保存在 XML 与 player-output.txt。工具、测试源代码保留在 Tools/AgentSupport 与 Assets/AgentSupportTests。
|
||||
原始数据位于 [Data/2026-09-28](Data/2026-09-28/);Player 测量输出保存在 player-output.txt。工具、测试源代码保留在 Tools/AgentSupport 与 Assets/AgentSupportTests。
|
||||
|
||||
## 已量化的核心变化
|
||||
|
||||
@@ -75,6 +75,6 @@ dotnet test Tools/AgentSupport/RuntimeTests
|
||||
dotnet test Tools/AgentSupport/Shrink.Inspect.Tests
|
||||
~~~
|
||||
|
||||
Unity 用 TestRunner 的 StandaloneWindows64 Player 运行 ShrinkSDK.AgentSupport.PlayerTests;Editor 辅助入口 PlayerAcceptance.Run() 将本次结果保存到 Artifacts/AgentSupport/unity-player-results.xml。基线脚本读取子模块 HEAD:以后 HEAD 前进时,应显式使用上述旧提交重建对照,不把新的 HEAD 当成本报告基线。
|
||||
Unity 用 TestRunner 的 StandaloneWindows64 Player 运行 ShrinkSDK.AgentSupport.PlayerTests;Editor 辅助入口 PlayerAcceptance.Run() 将本次结果保存到 Artifacts/AgentSupport/unity-player-results.xml。基线脚本默认固定上述旧提交;使用 `-Revision` 可指定其他对照版本。
|
||||
|
||||
最终功能验收、消费工程已知失败和导航覆盖范围见 [AgentSupportAcceptance](../AgentSupportAcceptance.md);协议和回退见 [迁移说明](../NetworkV2Migration.md)。
|
||||
协议和回退见 [迁移说明](../NetworkV2Migration.md)。
|
||||
|
||||
@@ -1,18 +1,7 @@
|
||||
# 本地验收原始证据
|
||||
# 性能测量原始数据
|
||||
|
||||
JSON/XML 内保留各次采集时间,未把编辑器微基准改名为 Player 结果。
|
||||
- `benchmark-net8.json`、`benchmark-net10.json`:网络编码、队列、Context、EventBus 和存档微基准。
|
||||
- `tcp-net8.json`、`tcp-net10.json`:真实本机 TCP socket 测量。
|
||||
- `player-output.txt`:Unity Standalone Player 的阶段计时与分配事件计数。
|
||||
|
||||
- benchmark-net8/net10:封装、消息编码、Loopback、Context、EventBus、存档阶段和实验性 Pipelines。
|
||||
- tcp-net8/net10:实际本机 socket,串行 RPC 往返;慢消费者行的 DispatchMissCount 见上级报告限制。
|
||||
- unity-player-results.xml、player-output.txt:实际 Windows Player 的 10 项测试和已校准分配事件;不是字节分配计数。
|
||||
- unity-all-editmode-results.json:SDK 全量 226 项 EditMode 通过。
|
||||
- runtime-tests-final.log、cli-tests-final.log:64/12 项独立回归。
|
||||
- godot-run-final.log、nuget-consumer-final.log:实际跨宿主与隔离包消费运行。
|
||||
- justany-tests.json:83 项定向业务测试,80 通过/3 失败,保留失败原因。
|
||||
- justany-messagepack-results.json:Unity 生成 formatter 对 .NET golden frame 的互通。
|
||||
- justany-runtime.json、justany-installed.json:实际应用状态和已注册包路径/版本。
|
||||
- package-validation.json:24 包本地图、22 包安装比较;20 个 NuGet.Config.meta 由消费项目 NuGetForUnity 修改导入标签/平台设置,GUID 相同,其他 1053 个文件一致。
|
||||
- waiting-query.json:当时匹配构建的缺失 provider 查询产物;不是当前实时状态。
|
||||
- sha256.json:上述原始文件的摘要;用于校验证据文件,不充当各基准构建的代码提交标识。
|
||||
|
||||
consumer-runtime-query.json 是最后一次实际宿主导出后立即查询的 route 链,包含 5 条 runtime-bound 关系;justany-play-errors.json 和 justany-compilation.json 记录该次运行后的检查。
|
||||
环境、采样限制、结果解释和复现命令见 [性能报告](../../2026-09-28.md)。
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\Shrink.Inspect.Tests\bin\Debug\net8.0\Shrink.Inspect.Tests.dll (.NETCoreApp,Version=v8.0)的测试运行
|
||||
总共 1 个测试文件与指定模式相匹配。
|
||||
|
||||
已通过! - 失败: 0,通过: 12,已跳过: 0,总计: 12,持续时间: 4 s - Shrink.Inspect.Tests.dll (net8.0)
|
||||
@@ -1,174 +0,0 @@
|
||||
{
|
||||
"success": true,
|
||||
"formatVersion": 1,
|
||||
"toolVersion": "0.1.2.0",
|
||||
"command": "flow",
|
||||
"query": "route:command/execute",
|
||||
"buildId": "793d92f10d38ad8ae6f45cd7365d657b9bc73274c194f761250fb1b98e58d56f",
|
||||
"offset": 0,
|
||||
"limit": 20,
|
||||
"nextOffset": null,
|
||||
"coverage": [
|
||||
"SeedsKey.Game: incomplete compilation: CS0117 “EndlessSnapshotResolver”未包含“Instance”的定义",
|
||||
"SeedsKey.ShrinkSDK.Tests: incomplete compilation: CS0117 “Resolver”未包含“Instance”的定义",
|
||||
"Installed ShrinkSDK package sources are included; other external packages are reference-only.",
|
||||
"Snapshot: Default Context and named EventBus instances only; host-owned instances require CaptureHostState registration.",
|
||||
"Snapshot: Endless multiplayer uses its own session/protocol; SDK Network bindings do not describe that custom channel."
|
||||
],
|
||||
"coverageTruncated": false,
|
||||
"semanticCoverage": {
|
||||
"incompleteCount": 10,
|
||||
"examples": [
|
||||
"ShrinkInspection",
|
||||
"com.cammin.ldtkunity",
|
||||
"com.esotericsoftware.spine.spine-unity",
|
||||
"vHierarchy",
|
||||
"Scripts"
|
||||
]
|
||||
},
|
||||
"validation": [],
|
||||
"total": 14,
|
||||
"truncated": false,
|
||||
"items": [
|
||||
{
|
||||
"From": "route:command/execute",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"Kind": "message",
|
||||
"Evidence": "static",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandContracts.cs",
|
||||
"Line": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "route:command/execute_response",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandResponse",
|
||||
"Kind": "message",
|
||||
"Evidence": "static",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandContracts.cs",
|
||||
"Line": 13
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "route:command/execute",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"Kind": "message [seedskey-network]",
|
||||
"Evidence": "runtime-bound",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Artifacts\\Inspection\\runtime.json",
|
||||
"Line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "route:command/execute_response",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandResponse",
|
||||
"Kind": "message [seedskey-network]",
|
||||
"Evidence": "runtime-bound",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Artifacts\\Inspection\\runtime.json",
|
||||
"Line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"To": "M:ShrinkCommand.Integration.ShrinkNetworkCommandBridge.RegisterService(ShrinkNetwork.ShrinkNetworkService,ShrinkCommand.ShrinkCommandService,ShrinkCommand.Integration.ShrinkNetworkCommandBridgeOptions)",
|
||||
"Kind": "registers",
|
||||
"Evidence": "candidate",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandBridge.cs",
|
||||
"Line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"To": "M:ShrinkCommand.Integration.ShrinkNetworkCommandBridge.(ShrinkNetwork.ShrinkNetworkContext,ShrinkCommand.Integration.ShrinkNetworkCommandRequest)",
|
||||
"Kind": "handler",
|
||||
"Evidence": "candidate",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandBridge.cs",
|
||||
"Line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"To": "M:ShrinkCommand.Integration.ShrinkNetworkCommandBridge.HandleExecuteAsync(ShrinkCommand.ShrinkCommandService,ShrinkCommand.Integration.ShrinkNetworkCommandBridgeOptions,ShrinkNetwork.ShrinkNetworkContext,ShrinkCommand.Integration.ShrinkNetworkCommandRequest)",
|
||||
"Kind": "handler-forward",
|
||||
"Evidence": "candidate",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandBridge.cs",
|
||||
"Line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "T:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"Kind": "declares",
|
||||
"Evidence": "static",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandContracts.cs",
|
||||
"Line": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "opcode:1501",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"Kind": "message",
|
||||
"Evidence": "static",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandContracts.cs",
|
||||
"Line": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "T:ShrinkCommand.Integration.ShrinkNetworkCommandResponse",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandResponse",
|
||||
"Kind": "declares",
|
||||
"Evidence": "static",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandContracts.cs",
|
||||
"Line": 13
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "opcode:1502",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandResponse",
|
||||
"Kind": "message",
|
||||
"Evidence": "static",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e\\ShrinkNetworkCommandContracts.cs",
|
||||
"Line": 13
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "opcode:1501",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"Kind": "message [seedskey-network]",
|
||||
"Evidence": "runtime-bound",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Artifacts\\Inspection\\runtime.json",
|
||||
"Line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "opcode:1502",
|
||||
"To": "type:ShrinkCommand.Integration.ShrinkNetworkCommandResponse",
|
||||
"Kind": "message [seedskey-network]",
|
||||
"Evidence": "runtime-bound",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Artifacts\\Inspection\\runtime.json",
|
||||
"Line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"From": "type:ShrinkCommand.Integration.ShrinkNetworkCommandRequest",
|
||||
"To": "M:ShrinkCommand.Integration.ShrinkNetworkCommandBridge.<>c__DisplayClass3_0.<RegisterService>b__0(ShrinkNetwork.ShrinkNetworkContext,ShrinkCommand.Integration.ShrinkNetworkCommandRequest)",
|
||||
"Kind": "handler [seedskey-network]",
|
||||
"Evidence": "runtime-bound",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\justanyproject\\Artifacts\\Inspection\\runtime.json",
|
||||
"Line": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
Godot Engine v4.6.3.stable.mono.official.7d41c59c4 - https://godotengine.org
|
||||
|
||||
[ShrinkDataSaver] Runtime initialized. Root: C:/Users/im/AppData/Roaming/Godot/app_userdata/ShrinkSDK Godot Sample/
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(1 个模块)
|
||||
[ShrinkDataSaver] 槽位 0 已加载。(v1, 1 个模块)
|
||||
SHRINK_GODOT_SMOKE_PASS CodeGen=0.1.0 DataSaver=42
|
||||
@@ -1 +0,0 @@
|
||||
{"success":true,"message":"No compilation errors detected."}
|
||||
@@ -1 +0,0 @@
|
||||
{"success":true,"message":"Command executed.","data":{"compiler":"Roslyn","logs":[],"created":[],"modified":[],"destroyed":[],"returnValue":{"root":"D:/UnityBuilds/justanyproject/Assets","packages":[{"name":"com.cneicy.shrink-app-starter-basic","version":"0.3.7","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-app-starter-basic@825861e850fb"},{"name":"com.cneicy.shrink-context-eventbus-adapter","version":"0.2.4","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-context-eventbus-adapter@d40b7bbb3332"},{"name":"com.cneicy.shrink-mod-framework","version":"0.3.6","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-mod-framework@bc48d592447c"},{"name":"com.cneicy.shrink-tutorial","version":"0.2.0","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-tutorial@6a0eb37e7cc8"},{"name":"com.cneicy.shrink-app-core","version":"0.2.3","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-app-core@5daf24a2b6e1"},{"name":"com.cneicy.shrink-command","version":"0.4.2","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command@1de427034e91"},{"name":"com.cneicy.shrink-command-integration-app","version":"0.2.5","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-app@9d3134f4b8d1"},{"name":"com.cneicy.shrink-command-integration-eventbus","version":"0.2.5","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-eventbus@d9cc18d67d43"},{"name":"com.cneicy.shrink-command-integration-network","version":"0.2.5","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-command-integration-network@c9fc19bad75e"},{"name":"com.cneicy.shrink-context-app-adapter","version":"0.2.4","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-context-app-adapter@ec1aa00eb681"},{"name":"com.cneicy.shrink-context-core","version":"0.3.0","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-context-core@5fbc0d91d89d"},{"name":"com.cneicy.shrink-datasaver","version":"2.4.0","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-datasaver@d34bd599c3bf"},{"name":"com.cneicy.shrink-datasaver-integration-app","version":"0.2.5","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-datasaver-integration-app@a8252bd56933"},{"name":"com.cneicy.shrink-datasaver-integration-eventbus","version":"2.2.5","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-datasaver-integration-eventbus@580e3f7efbf8"},{"name":"com.cneicy.shrink-eventbus","version":"2.2.2","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-eventbus@d07f074f8df0"},{"name":"com.cneicy.shrink-inspection","version":"0.1.0","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-inspection@149d402d6a43"},{"name":"com.cneicy.shrink-network","version":"0.4.2","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-network@7ed4deb7650f"},{"name":"com.cneicy.shrink-network-integration-app","version":"0.2.5","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-network-integration-app@5988bc288b65"},{"name":"com.cneicy.shrink-network-integration-eventbus","version":"0.2.5","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-network-integration-eventbus@d41d8cd98f00"},{"name":"com.cneicy.shrink-runtime-abstractions","version":"0.1.0","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-runtime-abstractions@380b2a2dc79a"},{"name":"com.cneicy.shrink-shared-codegen","version":"0.2.1","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-shared-codegen@76b281b9f724"},{"name":"com.cneicy.shrink-network-messagepack","version":"0.1.0","resolvedPath":"D:\\UnityBuilds\\justanyproject\\Library\\PackageCache\\com.cneicy.shrink-network-messagepack@b1d0daaa690c"}]}}}
|
||||
@@ -1 +0,0 @@
|
||||
{"success":true,"message":"Test job finished.","data":{"jobId":"7b421e25-0cda-4fda-b68e-ad7638a45f84","status":"finished","mode":"PlayMode","startedAt":"2026-09-29 07:04:55","lastActivityAt":"2026-09-29 07:05:03","testsCompleted":1,"hasFilters":true,"finishedAt":"2026-09-29 07:05:03","resultState":"Passed","passCount":1,"failCount":0,"skipCount":0,"inconclusiveCount":0,"totalTests":1,"durationSeconds":0.08,"failures":[]}}
|
||||
@@ -1 +0,0 @@
|
||||
{"success":true,"message":"No error entries found in cached logs from the last 120 second(s)"}
|
||||
@@ -1 +0,0 @@
|
||||
{"success":true,"message":"Command executed.","data":{"compiler":"Roslyn","logs":[],"created":[],"modified":[],"destroyed":[],"returnValue":{"root":"D:/UnityBuilds/justanyproject/Assets","playing":true,"scene":"Assets/Scenes/MainMenu.unity","fibers":[{"Name":"seedskey.app-services","Status":"Active","Retired":false,"ErrorType":null},{"Name":"seedskey.game-content","Status":"Active","Retired":false,"ErrorType":null},{"Name":"shrink.command","Status":"Active","Retired":false,"ErrorType":null},{"Name":"shrink.datasaver","Status":"Active","Retired":false,"ErrorType":null},{"Name":"shrink.integration.command-eventbus","Status":"Active","Retired":false,"ErrorType":null},{"Name":"shrink.integration.command-network","Status":"Active","Retired":false,"ErrorType":null},{"Name":"shrink.integration.datasaver-eventbus","Status":"Active","Retired":false,"ErrorType":null},{"Name":"shrink.integration.network-eventbus","Status":"Active","Retired":false,"ErrorType":null},{"Name":"shrink.network","Status":"Active","Retired":false,"ErrorType":null}]}}}
|
||||
@@ -1 +0,0 @@
|
||||
{"success":true,"message":"Test job finished.","data":{"jobId":"27800c26-885f-4d33-81fe-2f8f79add11b","status":"finished","mode":"EditMode","startedAt":"2026-09-29 06:02:01","lastActivityAt":"2026-09-29 06:02:05","testsCompleted":83,"hasFilters":true,"finishedAt":"2026-09-29 06:02:05","resultState":"Failed(Child)","passCount":80,"failCount":3,"skipCount":0,"inconclusiveCount":0,"totalTests":83,"durationSeconds":1.5,"failures":[{"test":"Tests.EditMode.ModSpellApiEditModeTests.RegisteredCodeModSpellBecomesCatalogItemAndUsesCustomFactory","message":"System.NotSupportedException : 旧法术工厂 API 已停用,请注册组件并调用 SpellModApi.Register(ownerId, definition)。","stackTrace":" at Tests.EditMode.ModSpellApiEditModeTests.RegisteredCodeModSpellBecomesCatalogItemAndUsesCustomFactory () [0x00000] in D:\\UnityBuilds\\justanyproject\\Assets\\Tests\\EditMode\\ModSpellApiEditModeTests.cs:34 \r\n at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)\r\n at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder b... (+127 chars)"},{"test":"Tests.EditMode.ModSpellApiEditModeTests.RegistrationRejectsSpellOutsideOwnerNamespace","message":" Expected: <System.InvalidOperationException>\r\n But was: <System.NotSupportedException: 旧法术工厂 API 已停用,请注册组件并调用 SpellModApi.Register(ownerId, definition)。\r\n at Tests.EditMode.ModSpellApiEditModeTests+<>c.<RegistrationRejectsSpellOutsideOwnerNamespace>b__3_0 () [0x00000] in D:\\UnityBuilds\\justanyproject\\Assets\\Tests\\EditMode\\ModSpellApiEditModeTests.cs:80 \r\n at NUnit.Framework.Assert.Throws (NUnit.Framework.Constraints.IResolveConstraint expression, NUnit.Framework.TestDelegate code, System.S... (+90 chars)","stackTrace":"at Tests.EditMode.ModSpellApiEditModeTests.RegistrationRejectsSpellOutsideOwnerNamespace () [0x00000] in D:\\UnityBuilds\\justanyproject\\Assets\\Tests\\EditMode\\ModSpellApiEditModeTests.cs:79\r\n"},{"test":"Tests.EditMode.RunModuleCatalogEditModeTests.DraftSpellOptionsShouldExposeCompleteSpellTooltips","message":" Spell_AccompliceMark\r\n Expected: String containing \"◆\"\r\n But was: \"目标标记\r\n品质:传说\r\n模块法力:5\r\n命中标记:命中标记时长 4\n当前及后续攻击\r\n命中标记时长:4\"\r\n","stackTrace":"at Tests.EditMode.RunModuleCatalogEditModeTests.DraftSpellOptionsShouldExposeCompleteSpellTooltips () [0x00020] in D:\\UnityBuilds\\justanyproject\\Assets\\Tests\\EditMode\\RunModuleCatalogEditModeTests.cs:167\r\n"}]}}
|
||||
@@ -1 +0,0 @@
|
||||
PASS NuGet buildTransitive CodeGen 0.1.0
|
||||
@@ -1,109 +0,0 @@
|
||||
{
|
||||
"catalogPackages": 24,
|
||||
"installedPackages": 22,
|
||||
"comparedFiles": 1073,
|
||||
"identicalFiles": 1053,
|
||||
"hostImportMetadataDifferences": [
|
||||
[
|
||||
"com.cneicy.shrink-app-starter-basic",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-context-eventbus-adapter",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-mod-framework",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-tutorial",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-app-core",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-command",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-command-integration-app",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-command-integration-eventbus",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-command-integration-network",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-context-app-adapter",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-context-core",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-datasaver",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-datasaver-integration-app",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-datasaver-integration-eventbus",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-eventbus",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-network",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-network-integration-app",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-network-integration-eventbus",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-runtime-abstractions",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
],
|
||||
[
|
||||
"com.cneicy.shrink-shared-codegen",
|
||||
"NuGet.Config.meta",
|
||||
"consumer NuGetForUnity importer labels/platform flags"
|
||||
]
|
||||
],
|
||||
"errors": []
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\LocalStorageProvider.cs(22,55): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(42,61): warning CS8601: 可能的 null 引用赋值。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(59,85): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(65,122): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(184,88): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(297,89): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkContext.Core\Tests\RetirementRetentionTests.cs(40,28): warning CS8767: “UniTask ChainComponent.ApplyAsync(ShrinkCtx ctx, object config)”的参数“config”类型中引用类型的为 Null 性与隐式实现的成员“UniTask IShrinkComponent.ApplyAsync(ShrinkCtx ctx, object? config)”不匹配(可能是由于为 Null 性特性)。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(37,51): warning CS8604: “JToken JToken.FromObject(object o)”中的形参“o”可能传入 null 引用实参。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(46,30): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(59,34): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(104,28): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(106,25): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\DataSerializer.cs(20,16): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(137,35): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(22,41): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "_storage" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(23,31): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "_filePath" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(25,48): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "_debounceCts" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSettings.cs(28,52): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnChanged" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(16,23): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "ScreenshotBase64" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(78,16): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(26,25): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "Meta" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(28,23): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "EncryptedModules" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(86,24): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(97,24): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(101,24): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(43,46): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(44,69): warning CS8604: “void ISaveModule<T>.Deserialize(T data)”中的形参“data”可能传入 null 引用实参。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(164,24): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(168,24): warning CS8603: 可能返回 null 引用。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkContext.Core\Tests\RetirementRetentionTests.cs(16,33): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkContext.Core\Tests\RetirementRetentionTests.cs(22,47): warning CS8604: “UniTask ShrinkContextRuntime.RetireAsync(ShrinkFiber fiber)”中的形参“fiber”可能传入 null 引用实参。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(85,39): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(76,33): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "LastTimings" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(82,23): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "Screenshot" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(111,25): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "ModuleNames" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(118,23): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "ErrorMessage" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(190,35): warning CS8601: 可能的 null 引用赋值。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(130,25): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "ModuleNames" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\SaveTypes.cs(138,23): warning CS8618: 在退出构造函数时,不可为 null 的 属性 "ErrorMessage" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 属性 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(365,37): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(402,33): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(403,29): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(404,31): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(405,28): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(406,29): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(407,31): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(408,28): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(409,36): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(410,33): warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(520,29): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(545,35): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(592,35): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(635,55): warning CS8601: 可能的 null 引用赋值。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(22,41): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "_storage" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(23,31): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "_savesDir" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(24,31): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "_fileExt" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(34,51): warning CS8618: 在退出构造函数时,不可为 null 的 字段 "_loadedModuleData" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 字段 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(36,58): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnSaveStarted" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(37,60): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnSaveCompleted" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(38,57): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnSaveFailed" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(39,58): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnLoadStarted" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(40,60): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnLoadCompleted" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(41,57): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnLoadFailed" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(42,65): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnMigrationCompleted" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Assets\Modules\ShrinkDataSaver\Runtime\ShrinkSave.cs(43,58): warning CS8618: 在退出构造函数时,不可为 null 的 事件 "OnDeleteCompleted" 必须包含非 null 值。请考虑添加 "required" 修饰符或将该 事件 声明为可为 null。 [D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\RuntimeTests.csproj]
|
||||
D:\UnityBuilds\ShrinkSDK\Tools\AgentSupport\RuntimeTests\bin\Debug\net8.0\RuntimeTests.dll (.NETCoreApp,Version=v8.0)的测试运行
|
||||
总共 1 个测试文件与指定模式相匹配。
|
||||
|
||||
已通过! - 失败: 0,通过: 64,已跳过: 0,总计: 64,持续时间: 524 ms - RuntimeTests.dll (net8.0)
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"benchmark-net8.json": "8744d957712c35f98e761182eb6752c46f36788f1317832e4c15cbcfc2c82726",
|
||||
"benchmark-net10.json": "54d7692db4c452e000d2418790b6d2a43d1ed9ef16c5b989fcf96e654a979eba",
|
||||
"tcp-net8.json": "1b976e29eeaa7a1ae47f0a75f0e704425506ff05b7811a8528c8fcb4513d984a",
|
||||
"tcp-net10.json": "dd92388a8b968ef810af3b73d4aa7a505185ebc7058a71e53cfebb392a29b5f5",
|
||||
"unity-player-results.xml": "b6c590a299647799765f776a5ebdbfdf49a9a6da22c045ffdc26fd7de0812ff8",
|
||||
"unity-all-editmode-results.json": "b847214ab6ebbffa03fd8938c3c207067ce599d3f7b258a328a9b9d9247af4e1",
|
||||
"justany-tests.json": "171c1107fea5d8c7d555770676887098404eaab81ba7f0b9a89cd8c8b7e85112",
|
||||
"justany-messagepack-results.json": "33c59e11dd0730b52d5c86f0c611649eb4c9c165afbafadeed9149de0a742dc6",
|
||||
"justany-runtime.json": "d5b1217c46573980d9c8579c123b9899419638a8afa80a22e1e1130cb2ed97a7",
|
||||
"justany-installed.json": "56f30aee832c2c0c9262ecbe517b0cc728b1de9120a43d5182734d8565424472",
|
||||
"package-validation.json": "20847ac3e9322970fe8ba01495f5eb822e4467b633d4b5c59d462c6e4b02755d",
|
||||
"waiting-query.json": "690436e0090247039a22fea002ad59ff5a86a340148bc8f4f80067687757c7f6",
|
||||
"godot-run-final.log": "c2dab1e7ceadf955ea03cf6b44f7e65492ccf538d94053ac8d67786c743867a9",
|
||||
"nuget-consumer-final.log": "10c7cb6dffcaa885c951796cda3beb4f33fb73a9f9ea26142c81fa8798743cbb",
|
||||
"runtime-tests-final.log": "2b938f9c1331e8abb6272b197fd72caa6dc5054ec2b17d8b0f8c07d0c6f024c6",
|
||||
"cli-tests-final.log": "14470b6b1ab750d073472feb6221ba1d8284b5a329ac131f07f2d3c5446f7482",
|
||||
"consumer-runtime-query.json": "041ef46324bce87070b2df4dff28ba1416483d0506b88d7aa1169dd72e0454b2",
|
||||
"justany-play-errors.json": "60353a33b56d949ecf0aa2fe18f0ba09f86e51d4fc21233a236a8030e7da4f2d",
|
||||
"justany-compilation.json": "4e46d765370580ff07ee8b95ee04e3e6f3c4bf09aba25dfcec7ae3e6dfde0078"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{"success":true,"message":"Test job finished.","data":{"jobId":"fbffc55a-232f-4e3c-b8bf-c37f45dffb39","status":"finished","mode":"EditMode","startedAt":"2026-09-29 07:04:55","lastActivityAt":"2026-09-29 07:05:19","testsCompleted":226,"hasFilters":false,"totalTests":226,"finishedAt":"2026-09-29 07:05:19","resultState":"Passed","passCount":226,"failCount":0,"skipCount":0,"inconclusiveCount":0,"durationSeconds":18.53,"failures":[],"task":{"task_id":"tests:fbffc55a-232f-4e3c-b8bf-c37f45dffb39","kind":"tests","id":"fbffc55a-232f-4e3c-b8bf-c37f45dffb39","status":"finished","phase":"finished","revision":"e8f3bd9db3325822b1334b053ac352179b5b7cd20a295878c2506105b3c0f9ca","changed":true,"wait_complete":true,"poll_after_ms":0,"wait_reason":"completed","waited_ms":0,"snapshot_at":"2026-09-28T23:06:00.8696005Z"}}}
|
||||
@@ -1,206 +0,0 @@
|
||||
<test-suite type="TestSuite" id="1000" name="ShrinkSDK" fullname="ShrinkSDK" runstate="Runnable" testcasecount="19" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:57Z" duration="8.553310" total="10" passed="10" failed="0" inconclusive="0" skipped="0" asserts="0">PLAYER Context 10000 retirements ms=123.6386
|
||||
PLAYER EventBus 10000 posts allocationEvents=10000 ms=0.8038
|
||||
PLAYER EventBus isolated 10000 posts allocationEvents=0
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=False captureMs=11.8073 encodeMs=7.7169 encryptMs=0 writeMs=17.803 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=True captureMs=0.1186 encodeMs=0.2584 encryptMs=0 writeMs=29.4953 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=False captureMs=1.3102 encodeMs=7.8701 encryptMs=0 writeMs=13.9663 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=True captureMs=0.1341 encodeMs=7.7226 encryptMs=0 writeMs=23.1749 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=False captureMs=0.1424 encodeMs=28.173 encryptMs=0 writeMs=32.9821 bytes=10486531
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=True captureMs=0.162 encodeMs=25.6417 encryptMs=0 writeMs=24.231 bytes=10486531
|
||||
PLAYER allocation calibration managedCounterDelta=0 profilerEvents=10; use profiler events, not uncalibrated bytes.
|
||||
PLAYER PERF context-diagnostic/components=10 n=100 ops=71994.24 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=135.00 p50us=13.00 p95us=20.20 p99us=25.60
|
||||
PLAYER PERF context-diagnostic/components=100 n=100 ops=6276.68 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1224.00 p50us=118.80 p95us=190.80 p99us=1980.20
|
||||
PLAYER PERF context-diagnostic/components=1000 n=100 ops=391.93 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=12033.00 p50us=1841.90 p95us=5669.60 p99us=7090.60
|
||||
PLAYER PERF event-async-completed n=10000 ops=1531534.29 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=3.00 p50us=0.30 p95us=0.60 p99us=1.10
|
||||
PLAYER PERF event-bindings n=1000 ops=3377237.42 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=2.00 p50us=0.20 p95us=0.60 p99us=1.00
|
||||
PLAYER PERF event-register-withdraw n=10000 ops=725100.06 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=10.00 p50us=0.80 p95us=1.70 p99us=2.40
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=1 n=128 ops=42139.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=22.40 p95us=32.20 p99us=35.80
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=1 n=20 ops=135777.33 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=37.00 p50us=7.20 p95us=9.20 p99us=9.20
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=32 n=128 ops=22296.16 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=24.60 p95us=46.10 p99us=96.20
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=32 n=20 ops=3283.21 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1060.00 p50us=215.80 p95us=1999.10 p99us=1999.10
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=256 n=128 ops=16764.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=33.90 p95us=42.50 p99us=115.00
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=256 n=20 ops=331.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8452.00 p50us=3052.70 p95us=5858.40 p99us=5858.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=1 n=128 ops=13102.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.70 p95us=302.40 p99us=1201.80
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=1 n=20 ops=117164.62 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=38.00 p50us=8.40 p95us=10.40 p99us=10.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=32 n=128 ops=15497.49 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.60 p95us=62.90 p99us=1200.70
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=32 n=20 ops=1648.17 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1092.00 p50us=361.60 p95us=1577.50 p99us=1577.50
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=256 n=128 ops=12226.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=29.00 p95us=305.10 p99us=1402.90
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=256 n=20 ops=194.15 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8708.00 p50us=4612.30 p95us=10631.00 p99us=10631.00
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=1 n=128 ops=828.26 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1123.40 p95us=3500.10 p99us=3837.10
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=1 n=20 ops=1815.71 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=43.00 p50us=98.60 p95us=3193.40 p99us=3193.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=32 n=128 ops=842.40 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.00 p50us=1163.90 p95us=3475.30 p99us=3500.30
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=32 n=20 ops=65.08 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1252.90 p50us=15096.30 p95us=26400.40 p99us=26400.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=256 n=128 ops=830.36 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1230.40 p95us=3500.80 p99us=3549.90
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=256 n=20 ops=8.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=9995.60 p50us=114364.50 p95us=124433.00 p99us=124433.00
|
||||
PLAYER Queue pending=32 bytes=32768 replaced=96 rejected=0
|
||||
<properties></properties><test-suite type="Assembly" id="1031" name="ShrinkSDK.AgentSupport.PlayerTests.dll" fullname="D:/UnityBuilds/ShrinkSDK/Temp/UnityTempFile-294282e3fce1c354d807cb1cfc078e88/PlayerWithTests/PlayerWithTests_Data/Managed/ShrinkSDK.AgentSupport.PlayerTests.dll" runstate="Runnable" testcasecount="10" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:57Z" duration="8.545408" total="10" passed="10" failed="0" inconclusive="0" skipped="0" asserts="0">PLAYER Context 10000 retirements ms=123.6386
|
||||
PLAYER EventBus 10000 posts allocationEvents=10000 ms=0.8038
|
||||
PLAYER EventBus isolated 10000 posts allocationEvents=0
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=False captureMs=11.8073 encodeMs=7.7169 encryptMs=0 writeMs=17.803 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=True captureMs=0.1186 encodeMs=0.2584 encryptMs=0 writeMs=29.4953 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=False captureMs=1.3102 encodeMs=7.8701 encryptMs=0 writeMs=13.9663 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=True captureMs=0.1341 encodeMs=7.7226 encryptMs=0 writeMs=23.1749 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=False captureMs=0.1424 encodeMs=28.173 encryptMs=0 writeMs=32.9821 bytes=10486531
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=True captureMs=0.162 encodeMs=25.6417 encryptMs=0 writeMs=24.231 bytes=10486531
|
||||
PLAYER allocation calibration managedCounterDelta=0 profilerEvents=10; use profiler events, not uncalibrated bytes.
|
||||
PLAYER PERF context-diagnostic/components=10 n=100 ops=71994.24 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=135.00 p50us=13.00 p95us=20.20 p99us=25.60
|
||||
PLAYER PERF context-diagnostic/components=100 n=100 ops=6276.68 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1224.00 p50us=118.80 p95us=190.80 p99us=1980.20
|
||||
PLAYER PERF context-diagnostic/components=1000 n=100 ops=391.93 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=12033.00 p50us=1841.90 p95us=5669.60 p99us=7090.60
|
||||
PLAYER PERF event-async-completed n=10000 ops=1531534.29 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=3.00 p50us=0.30 p95us=0.60 p99us=1.10
|
||||
PLAYER PERF event-bindings n=1000 ops=3377237.42 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=2.00 p50us=0.20 p95us=0.60 p99us=1.00
|
||||
PLAYER PERF event-register-withdraw n=10000 ops=725100.06 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=10.00 p50us=0.80 p95us=1.70 p99us=2.40
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=1 n=128 ops=42139.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=22.40 p95us=32.20 p99us=35.80
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=1 n=20 ops=135777.33 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=37.00 p50us=7.20 p95us=9.20 p99us=9.20
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=32 n=128 ops=22296.16 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=24.60 p95us=46.10 p99us=96.20
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=32 n=20 ops=3283.21 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1060.00 p50us=215.80 p95us=1999.10 p99us=1999.10
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=256 n=128 ops=16764.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=33.90 p95us=42.50 p99us=115.00
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=256 n=20 ops=331.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8452.00 p50us=3052.70 p95us=5858.40 p99us=5858.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=1 n=128 ops=13102.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.70 p95us=302.40 p99us=1201.80
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=1 n=20 ops=117164.62 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=38.00 p50us=8.40 p95us=10.40 p99us=10.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=32 n=128 ops=15497.49 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.60 p95us=62.90 p99us=1200.70
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=32 n=20 ops=1648.17 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1092.00 p50us=361.60 p95us=1577.50 p99us=1577.50
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=256 n=128 ops=12226.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=29.00 p95us=305.10 p99us=1402.90
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=256 n=20 ops=194.15 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8708.00 p50us=4612.30 p95us=10631.00 p99us=10631.00
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=1 n=128 ops=828.26 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1123.40 p95us=3500.10 p99us=3837.10
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=1 n=20 ops=1815.71 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=43.00 p50us=98.60 p95us=3193.40 p99us=3193.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=32 n=128 ops=842.40 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.00 p50us=1163.90 p95us=3475.30 p99us=3500.30
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=32 n=20 ops=65.08 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1252.90 p50us=15096.30 p95us=26400.40 p99us=26400.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=256 n=128 ops=830.36 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1230.40 p95us=3500.80 p99us=3549.90
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=256 n=20 ops=8.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=9995.60 p50us=114364.50 p95us=124433.00 p99us=124433.00
|
||||
PLAYER Queue pending=32 bytes=32768 replaced=96 rejected=0
|
||||
<properties><property name="_PID" value="360820"></property><property name="_APPDOMAIN" value="Unity Root Domain"></property><property name="platform" value="PlayMode"></property></properties><test-suite type="TestFixture" id="1019" name="PlayerContracts" fullname="PlayerContracts" classname="PlayerContracts" runstate="Runnable" testcasecount="6" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:48Z" duration="0.509556" total="6" passed="6" failed="0" inconclusive="0" skipped="0" asserts="0">PLAYER Context 10000 retirements ms=123.6386
|
||||
PLAYER EventBus 10000 posts allocationEvents=10000 ms=0.8038
|
||||
PLAYER EventBus isolated 10000 posts allocationEvents=0
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=False captureMs=11.8073 encodeMs=7.7169 encryptMs=0 writeMs=17.803 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=True captureMs=0.1186 encodeMs=0.2584 encryptMs=0 writeMs=29.4953 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=False captureMs=1.3102 encodeMs=7.8701 encryptMs=0 writeMs=13.9663 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=True captureMs=0.1341 encodeMs=7.7226 encryptMs=0 writeMs=23.1749 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=False captureMs=0.1424 encodeMs=28.173 encryptMs=0 writeMs=32.9821 bytes=10486531
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=True captureMs=0.162 encodeMs=25.6417 encryptMs=0 writeMs=24.231 bytes=10486531
|
||||
<properties></properties><test-case id="1021" name="BinaryEnvelopeAndLegacyRejection" fullname="PlayerContracts.BinaryEnvelopeAndLegacyRejection" methodname="BinaryEnvelopeAndLegacyRejection" classname="PlayerContracts" runstate="Runnable" seed="790253472" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:48Z" duration="0.037781" asserts="0"><properties></properties></test-case><test-case id="1022" name="ContextTenThousandRetirements" fullname="PlayerContracts.ContextTenThousandRetirements" methodname="ContextTenThousandRetirements" classname="PlayerContracts" runstate="Runnable" seed="931715960" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:48Z" duration="0.135737" asserts="0">PLAYER Context 10000 retirements ms=123.6386
|
||||
<properties><property name="_JOINTYPE" value="UnityCombinatorial"></property></properties><output>PLAYER Context 10000 retirements ms=123.6386
|
||||
</output></test-case><test-case id="1020" name="DotNetGoldenFrameIsIdenticalInPlayer" fullname="PlayerContracts.DotNetGoldenFrameIsIdenticalInPlayer" methodname="DotNetGoldenFrameIsIdenticalInPlayer" classname="PlayerContracts" runstate="Runnable" seed="863403175" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:48Z" duration="0.001355" asserts="0"><properties></properties></test-case><test-case id="1023" name="EventDispatchAllocations" fullname="PlayerContracts.EventDispatchAllocations" methodname="EventDispatchAllocations" classname="PlayerContracts" runstate="Runnable" seed="840396955" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:48Z" duration="0.011583" asserts="0">PLAYER EventBus 10000 posts allocationEvents=10000 ms=0.8038
|
||||
PLAYER EventBus isolated 10000 posts allocationEvents=0
|
||||
<properties></properties><output>PLAYER EventBus 10000 posts allocationEvents=10000 ms=0.8038
|
||||
PLAYER EventBus isolated 10000 posts allocationEvents=0
|
||||
</output></test-case><test-case id="1024" name="LoopbackRpc" fullname="PlayerContracts.LoopbackRpc" methodname="LoopbackRpc" classname="PlayerContracts" runstate="Runnable" seed="1361464745" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:48Z" duration="0.034560" asserts="0"><properties><property name="_JOINTYPE" value="UnityCombinatorial"></property></properties></test-case><test-case id="1025" name="SavePhaseMatrix" fullname="PlayerContracts.SavePhaseMatrix" methodname="SavePhaseMatrix" classname="PlayerContracts" runstate="Runnable" seed="1751938294" result="Passed" start-time="2026-09-28 22:58:48Z" end-time="2026-09-28 22:58:48Z" duration="0.277519" asserts="0">[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=False captureMs=11.8073 encodeMs=7.7169 encryptMs=0 writeMs=17.803 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=True captureMs=0.1186 encodeMs=0.2584 encryptMs=0 writeMs=29.4953 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=False captureMs=1.3102 encodeMs=7.8701 encryptMs=0 writeMs=13.9663 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=True captureMs=0.1341 encodeMs=7.7226 encryptMs=0 writeMs=23.1749 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=False captureMs=0.1424 encodeMs=28.173 encryptMs=0 writeMs=32.9821 bytes=10486531
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=True captureMs=0.162 encodeMs=25.6417 encryptMs=0 writeMs=24.231 bytes=10486531
|
||||
<properties><property name="_JOINTYPE" value="UnityCombinatorial"></property></properties><output>[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=False captureMs=11.8073 encodeMs=7.7169 encryptMs=0 writeMs=17.803 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 102400 background=True captureMs=0.1186 encodeMs=0.2584 encryptMs=0 writeMs=29.4953 bytes=103171
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=False captureMs=1.3102 encodeMs=7.8701 encryptMs=0 writeMs=13.9663 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 1048576 background=True captureMs=0.1341 encodeMs=7.7226 encryptMs=0 writeMs=23.1749 bytes=1049347
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=False captureMs=0.1424 encodeMs=28.173 encryptMs=0 writeMs=32.9821 bytes=10486531
|
||||
[ShrinkDataSaver] 槽位 0 已保存。(2 个模块)
|
||||
PLAYER Save 10485760 background=True captureMs=0.162 encodeMs=25.6417 encryptMs=0 writeMs=24.231 bytes=10486531
|
||||
</output></test-case></test-suite><test-suite type="TestFixture" id="1026" name="PlayerPerformance" fullname="PlayerPerformance" classname="PlayerPerformance" runstate="Runnable" testcasecount="4" result="Passed" start-time="2026-09-28 22:58:49Z" end-time="2026-09-28 22:58:57Z" duration="8.031346" total="4" passed="4" failed="0" inconclusive="0" skipped="0" asserts="0">PLAYER allocation calibration managedCounterDelta=0 profilerEvents=10; use profiler events, not uncalibrated bytes.
|
||||
PLAYER PERF context-diagnostic/components=10 n=100 ops=71994.24 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=135.00 p50us=13.00 p95us=20.20 p99us=25.60
|
||||
PLAYER PERF context-diagnostic/components=100 n=100 ops=6276.68 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1224.00 p50us=118.80 p95us=190.80 p99us=1980.20
|
||||
PLAYER PERF context-diagnostic/components=1000 n=100 ops=391.93 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=12033.00 p50us=1841.90 p95us=5669.60 p99us=7090.60
|
||||
PLAYER PERF event-async-completed n=10000 ops=1531534.29 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=3.00 p50us=0.30 p95us=0.60 p99us=1.10
|
||||
PLAYER PERF event-bindings n=1000 ops=3377237.42 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=2.00 p50us=0.20 p95us=0.60 p99us=1.00
|
||||
PLAYER PERF event-register-withdraw n=10000 ops=725100.06 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=10.00 p50us=0.80 p95us=1.70 p99us=2.40
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=1 n=128 ops=42139.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=22.40 p95us=32.20 p99us=35.80
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=1 n=20 ops=135777.33 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=37.00 p50us=7.20 p95us=9.20 p99us=9.20
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=32 n=128 ops=22296.16 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=24.60 p95us=46.10 p99us=96.20
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=32 n=20 ops=3283.21 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1060.00 p50us=215.80 p95us=1999.10 p99us=1999.10
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=256 n=128 ops=16764.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=33.90 p95us=42.50 p99us=115.00
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=256 n=20 ops=331.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8452.00 p50us=3052.70 p95us=5858.40 p99us=5858.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=1 n=128 ops=13102.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.70 p95us=302.40 p99us=1201.80
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=1 n=20 ops=117164.62 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=38.00 p50us=8.40 p95us=10.40 p99us=10.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=32 n=128 ops=15497.49 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.60 p95us=62.90 p99us=1200.70
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=32 n=20 ops=1648.17 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1092.00 p50us=361.60 p95us=1577.50 p99us=1577.50
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=256 n=128 ops=12226.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=29.00 p95us=305.10 p99us=1402.90
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=256 n=20 ops=194.15 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8708.00 p50us=4612.30 p95us=10631.00 p99us=10631.00
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=1 n=128 ops=828.26 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1123.40 p95us=3500.10 p99us=3837.10
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=1 n=20 ops=1815.71 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=43.00 p50us=98.60 p95us=3193.40 p99us=3193.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=32 n=128 ops=842.40 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.00 p50us=1163.90 p95us=3475.30 p99us=3500.30
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=32 n=20 ops=65.08 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1252.90 p50us=15096.30 p95us=26400.40 p99us=26400.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=256 n=128 ops=830.36 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1230.40 p95us=3500.80 p99us=3549.90
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=256 n=20 ops=8.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=9995.60 p50us=114364.50 p95us=124433.00 p99us=124433.00
|
||||
PLAYER Queue pending=32 bytes=32768 replaced=96 rejected=0
|
||||
<properties></properties><test-case id="1027" name="AllocationCounterDetectsKnownAllocation" fullname="PlayerPerformance.AllocationCounterDetectsKnownAllocation" methodname="AllocationCounterDetectsKnownAllocation" classname="PlayerPerformance" runstate="Runnable" seed="1926787849" result="Passed" start-time="2026-09-28 22:58:49Z" end-time="2026-09-28 22:58:49Z" duration="0.001545" asserts="0">PLAYER allocation calibration managedCounterDelta=0 profilerEvents=10; use profiler events, not uncalibrated bytes.
|
||||
<properties></properties><output>PLAYER allocation calibration managedCounterDelta=0 profilerEvents=10; use profiler events, not uncalibrated bytes.
|
||||
</output></test-case><test-case id="1029" name="ContextAndEventMatrix" fullname="PlayerPerformance.ContextAndEventMatrix" methodname="ContextAndEventMatrix" classname="PlayerPerformance" runstate="Runnable" seed="361131472" result="Passed" start-time="2026-09-28 22:58:49Z" end-time="2026-09-28 22:58:49Z" duration="0.424377" asserts="0">PLAYER PERF context-diagnostic/components=10 n=100 ops=71994.24 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=135.00 p50us=13.00 p95us=20.20 p99us=25.60
|
||||
PLAYER PERF context-diagnostic/components=100 n=100 ops=6276.68 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1224.00 p50us=118.80 p95us=190.80 p99us=1980.20
|
||||
PLAYER PERF context-diagnostic/components=1000 n=100 ops=391.93 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=12033.00 p50us=1841.90 p95us=5669.60 p99us=7090.60
|
||||
PLAYER PERF event-async-completed n=10000 ops=1531534.29 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=3.00 p50us=0.30 p95us=0.60 p99us=1.10
|
||||
PLAYER PERF event-bindings n=1000 ops=3377237.42 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=2.00 p50us=0.20 p95us=0.60 p99us=1.00
|
||||
PLAYER PERF event-register-withdraw n=10000 ops=725100.06 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=10.00 p50us=0.80 p95us=1.70 p99us=2.40
|
||||
<properties></properties><output>PLAYER PERF context-diagnostic/components=10 n=100 ops=71994.24 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=135.00 p50us=13.00 p95us=20.20 p99us=25.60
|
||||
PLAYER PERF context-diagnostic/components=100 n=100 ops=6276.68 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1224.00 p50us=118.80 p95us=190.80 p99us=1980.20
|
||||
PLAYER PERF context-diagnostic/components=1000 n=100 ops=391.93 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=12033.00 p50us=1841.90 p95us=5669.60 p99us=7090.60
|
||||
PLAYER PERF event-async-completed n=10000 ops=1531534.29 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=3.00 p50us=0.30 p95us=0.60 p99us=1.10
|
||||
PLAYER PERF event-bindings n=1000 ops=3377237.42 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=2.00 p50us=0.20 p95us=0.60 p99us=1.00
|
||||
PLAYER PERF event-register-withdraw n=10000 ops=725100.06 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=10.00 p50us=0.80 p95us=1.70 p99us=2.40
|
||||
</output></test-case><test-case id="1028" name="NetworkMatrix" fullname="PlayerPerformance.NetworkMatrix" methodname="NetworkMatrix" classname="PlayerPerformance" runstate="Runnable" seed="1191258313" result="Passed" start-time="2026-09-28 22:58:49Z" end-time="2026-09-28 22:58:57Z" duration="7.587226" asserts="0">PLAYER PERF loopback-rpc/bytes=64/sessions=1 n=128 ops=42139.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=22.40 p95us=32.20 p99us=35.80
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=1 n=20 ops=135777.33 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=37.00 p50us=7.20 p95us=9.20 p99us=9.20
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=32 n=128 ops=22296.16 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=24.60 p95us=46.10 p99us=96.20
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=32 n=20 ops=3283.21 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1060.00 p50us=215.80 p95us=1999.10 p99us=1999.10
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=256 n=128 ops=16764.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=33.90 p95us=42.50 p99us=115.00
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=256 n=20 ops=331.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8452.00 p50us=3052.70 p95us=5858.40 p99us=5858.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=1 n=128 ops=13102.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.70 p95us=302.40 p99us=1201.80
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=1 n=20 ops=117164.62 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=38.00 p50us=8.40 p95us=10.40 p99us=10.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=32 n=128 ops=15497.49 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.60 p95us=62.90 p99us=1200.70
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=32 n=20 ops=1648.17 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1092.00 p50us=361.60 p95us=1577.50 p99us=1577.50
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=256 n=128 ops=12226.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=29.00 p95us=305.10 p99us=1402.90
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=256 n=20 ops=194.15 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8708.00 p50us=4612.30 p95us=10631.00 p99us=10631.00
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=1 n=128 ops=828.26 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1123.40 p95us=3500.10 p99us=3837.10
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=1 n=20 ops=1815.71 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=43.00 p50us=98.60 p95us=3193.40 p99us=3193.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=32 n=128 ops=842.40 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.00 p50us=1163.90 p95us=3475.30 p99us=3500.30
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=32 n=20 ops=65.08 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1252.90 p50us=15096.30 p95us=26400.40 p99us=26400.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=256 n=128 ops=830.36 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1230.40 p95us=3500.80 p99us=3549.90
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=256 n=20 ops=8.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=9995.60 p50us=114364.50 p95us=124433.00 p99us=124433.00
|
||||
<properties><property name="_JOINTYPE" value="UnityCombinatorial"></property></properties><output>PLAYER PERF loopback-rpc/bytes=64/sessions=1 n=128 ops=42139.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=22.40 p95us=32.20 p99us=35.80
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=1 n=20 ops=135777.33 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=37.00 p50us=7.20 p95us=9.20 p99us=9.20
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=32 n=128 ops=22296.16 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=24.60 p95us=46.10 p99us=96.20
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=32 n=20 ops=3283.21 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1060.00 p50us=215.80 p95us=1999.10 p99us=1999.10
|
||||
PLAYER PERF loopback-rpc/bytes=64/sessions=256 n=128 ops=16764.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=100.00 p50us=33.90 p95us=42.50 p99us=115.00
|
||||
PLAYER PERF loopback-broadcast/bytes=64/sessions=256 n=20 ops=331.02 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8452.00 p50us=3052.70 p95us=5858.40 p99us=5858.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=1 n=128 ops=13102.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.70 p95us=302.40 p99us=1201.80
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=1 n=20 ops=117164.62 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=38.00 p50us=8.40 p95us=10.40 p99us=10.40
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=32 n=128 ops=15497.49 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=27.60 p95us=62.90 p99us=1200.70
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=32 n=20 ops=1648.17 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1092.00 p50us=361.60 p95us=1577.50 p99us=1577.50
|
||||
PLAYER PERF loopback-rpc/bytes=1024/sessions=256 n=128 ops=12226.92 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=102.00 p50us=29.00 p95us=305.10 p99us=1402.90
|
||||
PLAYER PERF loopback-broadcast/bytes=1024/sessions=256 n=20 ops=194.15 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=8708.00 p50us=4612.30 p95us=10631.00 p99us=10631.00
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=1 n=128 ops=828.26 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1123.40 p95us=3500.10 p99us=3837.10
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=1 n=20 ops=1815.71 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=43.00 p50us=98.60 p95us=3193.40 p99us=3193.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=32 n=128 ops=842.40 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.00 p50us=1163.90 p95us=3475.30 p99us=3500.30
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=32 n=20 ops=65.08 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=1252.90 p50us=15096.30 p95us=26400.40 p99us=26400.40
|
||||
PLAYER PERF loopback-rpc/bytes=32768/sessions=256 n=128 ops=830.36 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=112.60 p50us=1230.40 p95us=3500.80 p99us=3549.90
|
||||
PLAYER PERF loopback-broadcast/bytes=32768/sessions=256 n=20 ops=8.67 allocBytes=unsupported allocationSamples=10 allocEventsPerOp=9995.60 p50us=114364.50 p95us=124433.00 p99us=124433.00
|
||||
</output></test-case><test-case id="1030" name="SlowConsumerAndBurst" fullname="PlayerPerformance.SlowConsumerAndBurst" methodname="SlowConsumerAndBurst" classname="PlayerPerformance" runstate="Runnable" seed="1818114386" result="Passed" start-time="2026-09-28 22:58:57Z" end-time="2026-09-28 22:58:57Z" duration="0.015841" asserts="0">PLAYER Queue pending=32 bytes=32768 replaced=96 rejected=0
|
||||
<properties><property name="_JOINTYPE" value="UnityCombinatorial"></property></properties><output>PLAYER Queue pending=32 bytes=32768 replaced=96 rejected=0
|
||||
</output></test-case></test-suite></test-suite></test-suite>
|
||||
@@ -1,71 +0,0 @@
|
||||
{
|
||||
"success": true,
|
||||
"formatVersion": 1,
|
||||
"toolVersion": "0.1.2.0",
|
||||
"command": "flow",
|
||||
"query": "key:acceptance.missing",
|
||||
"buildId": "948c506123180e66b99b27e65945088a722988b7be5c5548faeaa46a58966104",
|
||||
"offset": 0,
|
||||
"limit": 20,
|
||||
"nextOffset": null,
|
||||
"coverage": [
|
||||
"Installed ShrinkSDK package sources are included; other external packages are reference-only.",
|
||||
"Snapshot: Default Context and named EventBus instances only; host-owned instances require CaptureHostState registration."
|
||||
],
|
||||
"coverageTruncated": false,
|
||||
"semanticCoverage": {
|
||||
"incompleteCount": 10,
|
||||
"examples": [
|
||||
"Editor",
|
||||
"Runtime",
|
||||
"Core",
|
||||
"Editor",
|
||||
"Rules"
|
||||
]
|
||||
},
|
||||
"validation": [],
|
||||
"total": 2,
|
||||
"truncated": false,
|
||||
"items": [
|
||||
{
|
||||
"From": "fiber:acceptance-waiting:1",
|
||||
"To": "key:acceptance.missing",
|
||||
"Kind": "requires@acceptance.missing [acceptance-waiting]",
|
||||
"Evidence": "runtime-bound",
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\ShrinkSDK\\Artifacts\\Inspection\\runtime.json",
|
||||
"Line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"Scope": "acceptance-waiting",
|
||||
"Name": "Fibers",
|
||||
"Value": {
|
||||
"Uid": 1,
|
||||
"Name": "acceptance-waiter",
|
||||
"Status": 1,
|
||||
"Retired": false,
|
||||
"InTransition": false,
|
||||
"Inject": [
|
||||
"acceptance.missing"
|
||||
],
|
||||
"Provide": [],
|
||||
"Dependencies": [
|
||||
{
|
||||
"Key": "acceptance.missing",
|
||||
"Realm": "acceptance.missing",
|
||||
"CurrentProviderUid": null,
|
||||
"CommittedProviderUid": null,
|
||||
"PotentialProviderUids": [],
|
||||
"IsSatisfied": false
|
||||
}
|
||||
],
|
||||
"ErrorType": null
|
||||
},
|
||||
"Location": {
|
||||
"File": "D:\\UnityBuilds\\ShrinkSDK\\Artifacts\\Inspection\\runtime.json",
|
||||
"Line": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user