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: [