Appearance
预设元数据归一化
系统概览
预设元数据跨系统归一模块(ADR-130 Phase 2.7 收敛)。四类预设系统(env/render/scene/model)经 ADR-176 的 backend 代理统一走 resolveBackend(),存储共享 presets IDB store,但返回形状不统一。本模块提供读侧归一,将四类 list 结果统一为 PresetMeta[],供未来跨类浏览/排序/标签筛选/搜索复用。
核心职责
preset-meta.ts— 预设读侧归一化
对外 API(节选)
toPresetMeta(category, name, extra?)— 由单条记录构造PresetMeta,id 为${category}:${name}listPresets(category?)— 跨系统枚举预设,归一为PresetMeta[]。不传 category 聚合全部四类,传 category 仅查询该类
与其他子系统关系
- 被 UI 预设面板(settings-graphics、settings-actions、env-menu 等)在枚举预设时调用
- 依赖
@/core/wails-bindings的ListEnvPresets、GetRenderPresets、GetPresetScenes、GetModelPresets
不变量
PresetMeta.id为稳定主键${category}:${name},不可重复- 四类预设存储键前缀分别为
env:/render:/scene:/model: - 对 Go 层 nullable 返回做
?? []守卫,避免 NPE - 读侧归一不影响写侧;写侧保持各系统独立写路径,不强制信封化
验证入口
- 测试:
frontend/src/core/__tests__/preset-meta.test.ts - 命令:
cd frontend && npm run test -- core/__tests__/preset-meta.test.ts