MujicaUI

Agent Ops & Motion · #285

EvalResultTable 浅色主题渲染快照
浅色 · 渲染快照
EvalResultTable 深色主题渲染快照
深色 · 渲染快照

285 EvalResultTable 评测结果表

用途

列出评测用例、得分与通过/失败,顶部显示通过数,每行可查看差异。

最小示例

var state data.DataTableState[string]
cases := []feedback.EvalCase{{ID: "c1", Name: "Greets by title", Score: 0.98, Passed: true}, {ID: "c2", Name: "Refuses forgery", Score: 0.41}}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	r := feedback.EvalResultTable(c, &state, cases, feedback.EvalResultTableOptions{})
	r.Table.Element.Height(260)
	if id, ok := r.Diff(); ok {
		_ = id // open expected and actual output side by side
	}
}
ui.Render(view, 400, 300, 1)

签名:func EvalResultTable(c *ui.Context, s *DataTableState[string], cases []EvalCase, opts EvalResultTableOptions) EvalResultTableResult

参数

EvalCase

字段类型默认值含义
IDstring必填唯一标识。
Namestring""用例名。
Scorefloat640得分;非有限值 panic。
Passedboolfalse是否通过。

EvalResultTableOptions

字段类型默认值含义
Decimalsint0(即 2)得分小数位;为负 panic。
StatusDataStatusDataReady加载、失败状态。
Errorstring""失败说明。
Versionint0原地修改数据时递增;新切片或长度变化自动刷新。

返回 EvalResultTableResult,含命名字段 Element 与 Table(DataTableView)。给 Element 一个高度。通过数与数据校验按数据版本缓存。

状态

  • 结果列为图标加“通过/失败”文字与颜色。
  • 顶部“通过 n / m”与比例条。

事件

  • Diff():要查看差异的用例 ID。
  • Table 的 Changed()、SortChanged()。

键盘操作

  • ↑/↓ 选择行;差异按钮用 Tab 到达,Enter 或 Space 触发。

限制

  • 差异内容由调用方显示,例如用 DiffViewer。