From 68fab3b6ceb504dfb428ff0abb999170b91e0e67 Mon Sep 17 00:00:00 2001 From: suzmii Date: Wed, 5 Aug 2026 17:58:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E9=BD=90=E5=9C=BA=E6=99=AF=E4=BA=A7?= =?UTF-8?q?=E7=89=A9=E5=8F=AF=E8=A7=81=E7=B1=BB=E5=9E=8B=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充场景产物在图片信息与导出元数据中的类型映射 增加场景元数据弹窗与导出清单回归测试 --- .../image-editor/ImageCanvasExportModel.test.ts | 9 +++++++++ .../image-editor/ImageCanvasGenerationModel.ts | 3 +++ .../ImageCanvasMetadataModalView.test.tsx | 14 ++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/src/components/image-editor/ImageCanvasExportModel.test.ts b/src/components/image-editor/ImageCanvasExportModel.test.ts index c01a5481f..233361c7e 100644 --- a/src/components/image-editor/ImageCanvasExportModel.test.ts +++ b/src/components/image-editor/ImageCanvasExportModel.test.ts @@ -172,6 +172,15 @@ describe('ImageCanvasExportModel', () => { }); }); + it('preserves game scene semantics in exported layer metadata', () => { + const metadata = buildLayerExportMetadata( + buildLayer({ assetKind: 'scene' }), + 'images/001-scene.png', + ); + + expect(metadata.visible.type).toBe('游戏场景'); + }); + it('filters built-in prompts from exported visible generation inputs', () => { const metadata = buildLayerExportMetadata( buildLayer({ diff --git a/src/components/image-editor/ImageCanvasGenerationModel.ts b/src/components/image-editor/ImageCanvasGenerationModel.ts index 7dea8fea2..21bd1ae32 100644 --- a/src/components/image-editor/ImageCanvasGenerationModel.ts +++ b/src/components/image-editor/ImageCanvasGenerationModel.ts @@ -734,6 +734,9 @@ export function formatLayerImageType(layer: CanvasLayer) { if (layer.assetKind === 'ui-design') { return 'UI设计图'; } + if (layer.assetKind === 'scene') { + return '游戏场景'; + } if (layer.assetKind === 'video' || layer.mediaType === 'video') { return '生成视频'; } diff --git a/src/components/image-editor/ImageCanvasMetadataModalView.test.tsx b/src/components/image-editor/ImageCanvasMetadataModalView.test.tsx index 283468d8f..742f7009d 100644 --- a/src/components/image-editor/ImageCanvasMetadataModalView.test.tsx +++ b/src/components/image-editor/ImageCanvasMetadataModalView.test.tsx @@ -89,6 +89,20 @@ describe('ImageCanvasMetadataModalView', () => { expect(within(dialog).getByText('123')).toBeTruthy(); }); + it('renders game scene semantics for generated scene metadata', () => { + render( + , + ); + + const dialog = screen.getByRole('dialog', { name: '图片信息' }); + + expect(within(dialog).getByText('游戏场景')).toBeTruthy(); + expect(within(dialog).queryByText('生成图片')).toBeNull(); + }); + it('keeps the generation model while hiding internal processing models', () => { const generationInputsWithInternalMattingMetadata = { fields: [