CASE 01 · local-passed / runner-pending
Cross-Engine Runtime Foundation
从 Unity 默认实现走向被证明的 Portable Core 与专项 Adapter
local-passed / runner-pending从 Unity 默认实现走向被证明的 Portable Core 与专项 Adapter
Problem
Runtime、配置、并行、存档与输入语义若直接依赖 Unity 类型,就无法在 Godot 或纯 .NET 环境复用。
Constraints
Core 必须保持 no-engine;平台生命周期、资源和 Editor 能力必须留在 Adapter;成熟度不能因文件存在自动晋级。
Naive Approach
复制 Unity API 外形到 Godot,或在 Core 中加入条件编译。
Architecture Decision
以 BCL-only / no-engine Core 表达稳定语义,为 Unity 与 Godot 提供独立宿主和 Adapter,并用 Capability Matrix 分别记录状态。
System Model
Portable Core 定义契约与状态机;Engine Adapter 负责对象、时间和生命周期;Consumer composition root 选择实现。
Failure Model
Adapter 缺失、生命周期未清理、平台能力不等价或证据级别不足时失败关闭,不回退到隐式全局实现。
Trade-offs
接口与装配面增加,且部分引擎特性不会进入公共 Core;换来的是语义边界和可独立测试性。
Implementation
Core、Config Core 与 Parallel 形成可迁移基础;Runtime、Input、Pooling、Save、Localization 和 Card Balance 已有 Godot 专项本地实现。
Evidence
专项 Adapter 具备本地测试与审查记录;整体 Foundation 的 Runner、Release 与 Production 不由这些本地结果替代。
Consumer
Godot tooling 与 STS2/Card Balance 路线证明同一 Core 可被非 Unity 宿主消费,但仅限已列出的能力。
Known Limitations
Unity 是成熟主路线;Godot 仍按能力单元展示 Preview / local-only 状态,不声明完整运行时对等。
What Changed After Validation
验证后把“一套跨引擎 API”收敛为“共享语义 + 平台 Adapter”,并把每个能力的晋级条件拆开。
CONTINUE THE SYSTEM