fix: 合并回归问题
Project CI / Repository checks (pull_request) Failing after 7s
Project CI / Backend tests (pull_request) Failing after 8s
Project CI / Frontend tests (pull_request) Successful in 2m44s
Project CI / Native shell tests (pull_request) Successful in 12m14s

修复文件encoding要求
更新测试
This commit is contained in:
2026-07-31 16:56:49 +08:00
parent 1297ac192e
commit cd159163c5
2 changed files with 5 additions and 4 deletions
@@ -5779,7 +5779,7 @@
- 范围边界:本次只重写左侧素材库选择模式,不改变中央画布舞台和图层列表的选择、框选或下载语义。可选择集合固定为当前搜索结果中已展开、上传完成且媒体地址有效的素材;搜索或折叠变化后立即清理不可见选择。
- 输入语义:桌面普通点击替换选择,`Ctrl / Cmd + 点击` 切换追加,`Shift + 点击` 按当前可见顺序选择连续区间,`Ctrl / Cmd + Shift + 点击` 追加连续区间;触摸和笔输入单击切换选择。退出选择模式、关闭素材栏或切到图层栏统一清空选择、锚点和框选状态,非选择模式不显示历史选中高亮。
- 工具栏与导出:批量工具栏作为素材滚动列表的固定非滚动底栏,提供可见范围全选 / 取消全选、下载、删除和取消;选择模式隐藏单行下载 / 重命名并禁用行拖拽和右键菜单。移动端选择模式使用独立的侧栏高度状态,并让素材列表恢复纵向滚动,避免普通模式 `14rem` 高度上限被固定底栏、标题和搜索区吃完。一个选中素材直接下载,多个选中素材复用画布素材导出管线生成 `项目名-选中素材-YYYYMMDD-HHmmss.zip`,根目录为 `项目名-选中素材/`;单素材、序列帧和两类集合 ZIP 的下载名统一包含到秒的本地时间戳。素材卡整行是统一选择命中区,标题和空白区不得绕过 Ctrl / Cmd / Shift 选择处理。
## 2026-07-29 抽取通用多 Agent Runtime 公共内核第一阶段
- 背景:AI 游戏创作 Runtime 已有独立 Runner、持久任务、Provider 恢复、Goal、计划、静态/隔离协作和 finalization,但实现仍属于 Tauri package;内建 capability、Agent 目录和 Run Profile 缺少第二个产品可直接依赖的公开契约。
@@ -5806,4 +5806,3 @@
- 生产接入:AGC Agent interaction 的 stream、普通请求及原 stream-unavailable/empty/deserialize fallback 已改由 `ProviderRegistry` 执行;对外 `LlmStreamDelta`、function name/schema、错误文案、Runner IPC 和 Provider retry/handoff/finalization 持久协议不变。
- 扩展边界:新 Provider 可直接实现 core `ProviderAdapter` 并注册,不修改 core enum/match。`platform-llm` 当前 DTO 不支持的 tool role/result、toolChoice none/specific 和 reasoning minimal/x-high 在 adapter 转换层零网络失败关闭;工具调用仍以最终 response 为权威。
- 关联文档:`docs/technical/【技术方案】AI游戏创作Agent Runtime V1.1-2026-07-12.md` V1.50。
@@ -1122,7 +1122,9 @@ describe('ImageCanvasEditorView', () => {
await waitFor(() => {
expect(exportedBlob).toBeTruthy();
});
expect(downloadName).toMatch(/^--\d{8}\.zip$/u);
expect(downloadName).toMatch(
/^--\d{8}-\d{6}\.zip$/u,
);
const zip = await JSZip.loadAsync(exportedBlob!);
expect(zip.file('导出项目-画布素材/images/001-素材 A.png')).toBeTruthy();
@@ -1360,7 +1362,7 @@ describe('ImageCanvasEditorView', () => {
fireEvent.click(screen.getByRole('button', { name: '下载按钮' }));
await waitFor(() => {
expect(downloadName).toBe('拼图素材.webp');
expect(downloadName).toMatch(/^-\d{8}-\d{6}\.webp$/u);
});
expect(downloadHref).toBe('blob:layer-download');
expect(globalThis.fetch).toHaveBeenCalledWith(