feat: integrate performance upgrade and agent inspection tooling
Validate ShrinkSDK Workspace / catalog (push) Successful in 5s
Validate ShrinkSDK Workspace / unity (push) Successful in 3m20s

This commit is contained in:
2026-09-29 10:16:02 +08:00
parent f92105c97d
commit 08246ddb01
114 changed files with 7135 additions and 87 deletions
+36 -21
View File
@@ -85,28 +85,28 @@ ShrinkSDK Workspace/
| 包 | 版本 | 职责 |
|---|---:|---|
| `com.cneicy.shrink-eventbus` | 2.1.0 | 单一事件模型、多 Bus、生成特性订阅、可选 MonoBehaviour 生命周期织入、UniTask 调度与零 GC 热路径 |
| `com.cneicy.shrink-eventbus-entities` | 0.1.2 | ShrinkEventBus 的 ECS/Burst NativeQueue writer 与 playback 适配 |
| `com.cneicy.shrink-datasaver` | 2.3.0 | 多槽位存档、设置、迁移、加密、原子写入与备份 |
| `com.cneicy.shrink-command` | 0.3.0 | 路径式命令、权限与同步/异步执行 |
| `com.cneicy.shrink-network` | 0.3.0 | 消息、RPC、权限、诊断、TCP/KCP/Loopback 与服务器生成 |
| `com.cneicy.shrink-mod-framework` | 0.3.0 | 模组发现、依赖、可逆生命周期、命名空间内容覆盖、外部 DLL revision 与 Harmony lease |
| `com.cneicy.shrink-eventbus` | 2.2.2 | 单一事件模型、多 Bus、生成特性订阅、可选 MonoBehaviour 生命周期织入、UniTask 调度与零 GC 热路径 |
| `com.cneicy.shrink-eventbus-entities` | 0.1.5 | ShrinkEventBus 的 ECS/Burst NativeQueue writer 与 playback 适配 |
| `com.cneicy.shrink-datasaver` | 2.4.0 | 多槽位存档、设置、迁移、加密、原子写入与备份 |
| `com.cneicy.shrink-command` | 0.4.2 | 路径式命令、权限与同步/异步执行 |
| `com.cneicy.shrink-network` | 0.4.2 | 消息、RPC、权限、诊断、TCP/KCP/Loopback 与服务器生成 |
| `com.cneicy.shrink-mod-framework` | 0.3.6 | 模组发现、依赖、可逆生命周期、命名空间内容覆盖、外部 DLL revision 与 Harmony lease |
| `com.cneicy.shrink-tutorial` | 0.2.0 | 数据驱动引导、遮罩、锚点、触发与持久化 |
| `com.cneicy.shrink-context-core` | 0.2.0 | 可逆效应、coeffect、fiber、声明式 loader 与诊断 |
| `com.cneicy.shrink-app-core` | 0.2.0 | App 设置、服务门面、ClassicHost 兼容面与宿主协议 |
| `com.cneicy.shrink-app-starter-basic` | 0.3.0 | 默认 Context 组合根、配置资产和示例入口 |
| `com.cneicy.shrink-context-app-adapter` | 0.2.0 | ContextLoader 宿主、Profile/JSON、诊断与基准 |
| `com.cneicy.shrink-context-eventbus-adapter` | 0.2.0 | EventBus 生成绑定的可逆 EffectAttach 包装 |
| `com.cneicy.shrink-datasaver-integration-eventbus` | 2.2.0 | DataSaver 事件桥 |
| `com.cneicy.shrink-datasaver-integration-app` | 0.2.0 | DataSaver App installer/原生 Context 组件 |
| `com.cneicy.shrink-command-integration-eventbus` | 0.2.0 | 命令请求与生命周期事件桥 |
| `com.cneicy.shrink-command-integration-network` | 0.2.0 | `command/execute` RPC 桥 |
| `com.cneicy.shrink-command-integration-app` | 0.2.0 | Command App installer/原生 Context 组件 |
| `com.cneicy.shrink-network-integration-eventbus` | 0.2.0 | 网络事件广播、裁决结果与 delta 去重 |
| `com.cneicy.shrink-network-integration-app` | 0.2.0 | Network App installer/原生 Context 组件 |
| `com.cneicy.shrink-shared-codegen` | 0.1.1 | App、Command、Network 共用的 Editor-only IL 后处理注册表生成器 |
| `com.cneicy.shrink-context-core` | 0.3.0 | 可逆效应、coeffect、fiber、声明式 loader 与诊断 |
| `com.cneicy.shrink-app-core` | 0.2.3 | App 设置、服务门面、ClassicHost 兼容面与宿主协议 |
| `com.cneicy.shrink-app-starter-basic` | 0.3.7 | 默认 Context 组合根、配置资产和示例入口 |
| `com.cneicy.shrink-context-app-adapter` | 0.2.4 | ContextLoader 宿主、Profile/JSON、诊断与基准 |
| `com.cneicy.shrink-context-eventbus-adapter` | 0.2.4 | EventBus 生成绑定的可逆 EffectAttach 包装 |
| `com.cneicy.shrink-datasaver-integration-eventbus` | 2.2.5 | DataSaver 事件桥 |
| `com.cneicy.shrink-datasaver-integration-app` | 0.2.5 | DataSaver App installer/原生 Context 组件 |
| `com.cneicy.shrink-command-integration-eventbus` | 0.2.5 | 命令请求与生命周期事件桥 |
| `com.cneicy.shrink-command-integration-network` | 0.2.5 | `command/execute` RPC 桥 |
| `com.cneicy.shrink-command-integration-app` | 0.2.5 | Command App installer/原生 Context 组件 |
| `com.cneicy.shrink-network-integration-eventbus` | 0.2.5 | 网络事件广播、裁决结果与 delta 去重 |
| `com.cneicy.shrink-network-integration-app` | 0.2.5 | Network App installer/原生 Context 组件 |
| `com.cneicy.shrink-shared-codegen` | 0.2.1 | App、Command、Network 共用的 Editor-only IL 后处理注册表生成器 |
| `com.cneicy.shrink-runtime-abstractions` | 0.1.0 | Unity 与其他 .NET 宿主共用的平台服务合同 |
| `com.cneicy.shrink-installer` | 0.2.6 | UI Toolkit 包管理器:显示真实安装状态,按 Context 分层提供固定版本单包与推荐组合 |
| `com.cneicy.shrink-installer` | 0.2.13 | UI Toolkit 包管理器:显示真实安装状态,按 Context 分层提供固定版本单包与推荐组合 |
`ShrinkShared.CodeGen` 不反向引用业务 asmdef,只按程序集名与类型全名读取 Cecil 元数据,因此业务包可以依赖它而不形成包循环。
@@ -202,7 +202,9 @@ Mono 中已加载程序集不能真正卸载。系统只回滚组件实例与效
### 8.1 Unity 运行时注册
`ShrinkEventBus/CodeGen/Editor/EventBusILPostProcessor.cs` 为引用方程序集生成实例直接调用绑定和静态模块初始化注册,不运行时枚举方法。`ShrinkShared.CodeGen/Editor/ShrinkRegistryILPostProcessor.cs` 继续负责 Command、Network 和 App 注册表。外部 Mod DLL 必须携带 EventBus 生成合同;没有合同的生产 DLL 不自动反射注册。
Unity 由 ShrinkShared.CodeGen 的 ShrinkRegistryILPostProcessor 作为唯一 IL 后处理入口,统一编织 EventBus、Command、Network 与 App 生成合同;旧分散入口保留兼容类但不再重复处理。运行时仍是生成的强类型绑定,不枚举方法。外部 Mod DLL 必须携带生成合同。
Unity 加载兼容其 Roslyn 3.8 的预构建分析器 DLL;独立 CLI 使用自己的较新 Roslyn,不能把相同源代码直接编译为仅支持新 API 的 DLL 后交给旧 Unity。SHRINK001–004 检查订阅签名、协议 opcode/route、installer 和常量 Context key。编译器分析不代替异步生命周期行为验证。
### 8.2 独立服务器生成
@@ -262,3 +264,16 @@ Mono 中已加载程序集不能真正卸载。系统只回滚组件实例与效
- `Docs/Archive/CORDIS_MIGRATION.completed.md` 保存迁移论证、阶段记录和历史验收数据。
- `Docs/Archive/codebase-map-2026-05-23/` 保存迁移前代码地图,其中关于 Git 状态、模块规模和测试覆盖的描述均已过期。
- `.planning/threads/` 只用于恢复工作上下文;其中历史 Notes 不得覆盖本文和当前源码。
## 12. 本地导航与性能合同
- Tools/AgentSupport/Shrink.Inspect 是无模型 API 依赖的本地 Roslyn CLI;capabilities 用包级职责/入口/复用边界/不负责内容/验证点,symbol、flow、impact 使用语义边而不是把 grep 当调用图。
- Unity 输入由 ShrinkInspection 导出实际源、引用、宏与构建标识;Godot/.NET 通过 MSBuildWorkspace 加载目标工程。static、candidate、runtime-bound、unresolved 分开显示;结果有数量、深度与分页上限,第三方引用和生成成员的缺口显式声明。
- 运行快照只按需导出明确宿主的 Context、Network、EventBus 与 Command 绑定。fiber 标识带 scope;缺失 provider 是未满足依赖,不是假造绑定。快照不保存消息正文/令牌,不常驻连接生产环境。
- Context 仅保留受管理的活跃/过渡 fiber;完全退役后移除运行时与父 effect 的实例引用,有界纯数据历史默认 64。依赖索引用于缩小诊断候选;同步深链转换以队列展开。
- Network 使用 v2 SHK2 封装、消息体单次编码和明确池内存生命周期。自动派发为每服务有界串行队列;主线程手动泵送提供数量/字节/时间预算。可靠操作满队列明确失败,只有显式状态 key 可合并,RPC 响应独立完成以避免嵌套等待死锁。
- MessagePack 为可选生成 resolver 适配器,不由核心反射发现 formatter。TCP 优化单次组合写入;没有把实验性 Pipelines 或 .NET 10 后端带入共享默认依赖。
- DataSaver 主线程采集与后台快照编码分离;后台开关默认关闭,格式、原子替换与备份回退不变。阶段计时按需开启。
使用方式见 Tools/AgentSupport/README.md;新内容先执行 Docs/ReuseFirstDesign.md;跨组件可编译示例入口见 Docs/IntegrationExamples.md;性能结论与限制见 Docs/Performance/2026-09-28.md。本次本地交付未改变远程发布治理规则。