Merge branch 'codex/editor-asset-metadata-migration' into codex/editor-asset-library
# Conflicts: # docs/project-memory/shared-memory/decision-log.md # server-rs/crates/api-server/src/editor_project.rs # src/components/image-editor/ImageCanvasEditorModel.ts # src/components/image-editor/ImageCanvasEditorView.test-utils.ts # src/components/image-editor/ImageCanvasEditorView.tsx # src/components/image-editor/useImageCanvasGenerationSubmissionWorkflow.ts # src/services/image-editor/editorProjectClient.test.ts
This commit is contained in:
@@ -98,6 +98,57 @@ describe('ImageCanvasGenerationLayerModel', () => {
|
||||
expect(layer.generationInputs?.fields[0]?.value).toBe('生成提示词');
|
||||
});
|
||||
|
||||
it('uses backend-persisted resource and asset snapshots for generated layers', () => {
|
||||
const generationInputs = createGenerationInputs();
|
||||
const layer = createGeneratedResultLayer({
|
||||
generated: createGenerated({
|
||||
resource: {
|
||||
resourceId: 'resource-generated-bff',
|
||||
projectId: 'editor-project-1',
|
||||
imageSrc: 'data:image/png;base64,generated',
|
||||
objectKey: 'generated/from-resource.png',
|
||||
assetObjectId: 'asset-object-from-resource',
|
||||
width: 1024,
|
||||
height: 1024,
|
||||
sourceType: 'generated',
|
||||
assetKind: 'character',
|
||||
generationInputs,
|
||||
},
|
||||
asset: {
|
||||
assetId: 'asset-generated-bff',
|
||||
folderId: 'user-1:asset-folder:project',
|
||||
label: '角色形象',
|
||||
imageSrc: 'data:image/png;base64,generated',
|
||||
objectKey: 'generated/from-asset.png',
|
||||
assetObjectId: 'asset-object-from-asset',
|
||||
width: 1024,
|
||||
height: 1024,
|
||||
sourceType: 'generated',
|
||||
assetKind: 'character',
|
||||
generationInputs,
|
||||
},
|
||||
}),
|
||||
generatedIndex: 9,
|
||||
canvasSize: { width: 900, height: 640 },
|
||||
viewport: { x: 0, y: 0, scale: 1 },
|
||||
assetKind: 'spec',
|
||||
generationInputs: {
|
||||
fields: [{ title: '旧输入', value: '本地兜底' }],
|
||||
references: [],
|
||||
},
|
||||
});
|
||||
|
||||
expect(layer).toMatchObject({
|
||||
resourceId: 'resource-generated-bff',
|
||||
sourceAssetId: 'asset-generated-bff',
|
||||
objectKey: 'generated/from-resource.png',
|
||||
assetObjectId: 'asset-object-from-resource',
|
||||
assetKind: 'character',
|
||||
});
|
||||
expect(layer.generationInputs?.fields[0]?.value).toBe('生成提示词');
|
||||
expect(layer.generatedAssetSnapshot?.assetId).toBe('asset-generated-bff');
|
||||
});
|
||||
|
||||
it('creates edit result layers beside the source image', () => {
|
||||
const sourceLayer = createSourceLayer();
|
||||
const layer = createGeneratedResultLayer({
|
||||
|
||||
Reference in New Issue
Block a user