CASE 01 · local-passed / runner-pending

Cross-Engine Runtime Foundation

从 Unity 默认实现走向被证明的 Portable Core 与专项 Adapter

local-passed / runner-pending从 Unity 默认实现走向被证明的 Portable Core 与专项 Adapter

01

Problem

Runtime、配置、并行、存档与输入语义若直接依赖 Unity 类型,就无法在 Godot 或纯 .NET 环境复用。

02

Constraints

Core 必须保持 no-engine;平台生命周期、资源和 Editor 能力必须留在 Adapter;成熟度不能因文件存在自动晋级。

03

Naive Approach

复制 Unity API 外形到 Godot,或在 Core 中加入条件编译。

04

Architecture Decision

以 BCL-only / no-engine Core 表达稳定语义,为 Unity 与 Godot 提供独立宿主和 Adapter,并用 Capability Matrix 分别记录状态。

05

System Model

Portable Core 定义契约与状态机;Engine Adapter 负责对象、时间和生命周期;Consumer composition root 选择实现。

06

Failure Model

Adapter 缺失、生命周期未清理、平台能力不等价或证据级别不足时失败关闭,不回退到隐式全局实现。

07

Trade-offs

接口与装配面增加,且部分引擎特性不会进入公共 Core;换来的是语义边界和可独立测试性。

08

Implementation

Core、Config Core 与 Parallel 形成可迁移基础;Runtime、Input、Pooling、Save、Localization 和 Card Balance 已有 Godot 专项本地实现。

09

Evidence

专项 Adapter 具备本地测试与审查记录;整体 Foundation 的 Runner、Release 与 Production 不由这些本地结果替代。

10

Consumer

Godot tooling 与 STS2/Card Balance 路线证明同一 Core 可被非 Unity 宿主消费,但仅限已列出的能力。

11

Known Limitations

Unity 是成熟主路线;Godot 仍按能力单元展示 Preview / local-only 状态,不声明完整运行时对等。

12

What Changed After Validation

验证后把“一套跨引擎 API”收敛为“共享语义 + 平台 Adapter”,并把每个能力的晋级条件拆开。