HelloBasic 渲染与交互工作流¶
这个工作流用于批量验证 example/HelloBasic/ 下基础控件的本地渲染与操作行为,目标是把下面几类问题尽量提前拦住:
控件能编译,但录制动作缺失或覆盖不够
控件能出图,但画面接近空白或状态没有变化
交互动作执行了,但回调/状态提交没有真正生效
某些控件只做了静态截图,没有覆盖关键操作路径
入口¶
推荐直接使用 make:
make hello_basic_render_workflow ARGS="--suite basic"
也可以直接调用脚本:
python scripts/checks/hello_basic_render_workflow.py --suite basic
常用套件¶
快速冒烟:
make hello_basic_render_workflow ARGS="--suite smoke --skip-unit-tests"
只跑交互控件:
python scripts/checks/hello_basic_render_workflow.py --suite interactive
只跑指定控件:
python scripts/checks/hello_basic_render_workflow.py --widgets button,checkbox,slider,combobox,textinput
工作流内容¶
先跑
HelloUnitTest清理一次构建产物
逐个构建
HelloBasic子应用,并使用独立TARGET录制运行时帧并检查:
egui_port_get_recording_action()是否存在关键控件是否包含期望的
click/drag/swipe/wait需要自检的控件是否包含
[RUNTIME_CHECK_FAIL]渲染帧是否为空白/近空白
交互过程是否产生了足够的状态变化
配置¶
工作流配置文件:
scripts/checks/hello_basic_render_workflow.json
这里定义:
套件成员
哪些控件必须具备哪些动作
哪些控件必须做运行时自检
交互变化最少需要多少帧切换
输出¶
汇总报告:
runtime_check_output/hello_basic_render_workflow_<suite>.json
每个控件的录制帧:
runtime_check_output/HelloBasic_<widget>/default/
维护规则¶
新增或修改 HelloBasic 控件时,建议按下面顺序处理:
在对应
test.c里补齐egui_port_get_recording_action()对关键状态提交补上
[RUNTIME_CHECK_FAIL]自检如果控件有明显操作行为,不要只保留静态
wait把控件补进
scripts/checks/hello_basic_render_workflow.json跑一遍
make hello_basic_render_workflow ARGS="--suite basic"