Files

PCG Runtime Orchestration(运行时编排)

在没有 GPU 场景的情况下验证 Pcg 运行时三件套的数值契约:运行时盖章器 (PcgRuntimeStamper)、生成进度(PcgSpawnProgress)与任务队列(PcgTaskQueue)。 窗口只有 640×360、不可热重载,画面是纯 2D 矩形,因此这个示例基本等同于一个脚本级 单元测试,但走的是完整的 eve run 启动路径。

运行

cd examples/pcg-runtime-orchestration
../../build/linux-debug/src/engine/eve run

或:

make run/<platform>-debug GAME=examples/pcg-runtime-orchestration

验证内容

运行时盖章:源高度图 3×3(全部高度 1.0)经 loadStamp 载入,execute 以 (0, 0, 1.0, 1.0) 盖到 5×5、初值 20.0 的目标高度图上;断言 height(2, 2) == 6.0 且 getStatus() == 3。

生成进度:updateRule("Terrain", 10, 3, 4, 1) 加 updateRuleFraction(0.5) 之后 getProgress() 必须等于 0.35(容差 1e-4)。

任务队列:add(0.25) → tick(0.25) → getReadyTaskId() 必须等于 add 返回的 id → resolveReady(true) 收尾。

另外打印宿主系统探测行 PCG_HOST_SYSTEM limitFrame=... type=...。示例保持正常帧循环, 以便 scripts/smoke_examples.sh 能验证它在启动后持续存活。

成功标记:PCG_RUNTIME_ORCHESTRATION_PASS stamp=6 progress=0.35 queue=0

文件

路径 说明
main.nut 三项数值契约的构造、断言与成功标记;2D 矩形绘制
config.nut 引擎 config:640×360、hotReload = false

契约

本示例是可运行示例(main.nut + config.nut),参与 scripts/smoke_examples.sh 的 帧循环契约:CI 在 Linux 上无头启动它,要求至少 2 秒仍然存活且日志中没有错误标记。