This commit is contained in:
2026-04-25 13:44:48 +08:00
parent 03acbc5cb1
commit 2ebb7bf253
44 changed files with 1003 additions and 250 deletions

View File

@@ -72,5 +72,53 @@ describe('normalizeCustomWorldProfileRecord role asset descriptions', () => {
expect(profile?.playerPremise).toBe('玩家是返乡调查旧案的守灯人。');
expect(profile?.sceneChapterBlueprints?.[0]?.acts).toHaveLength(1);
});
it('直接读取 Rust 草稿角色字段和形象资源', () => {
const profile = normalizeCustomWorldProfileRecord({
name: '雾港归航',
settingText: '海雾旧案',
playableNpcs: [
{
id: 'playable-cendeng',
name: '岑灯',
title: '返乡守灯人',
role: '主角代理',
publicMask: '深蓝旧雨衣、铜灯和卷边海图。',
currentPressure: '灯塔记录被人改写,旧案正在逼近。',
relationToPlayer: '这是玩家进入世界的第一视角。',
imageSrc: '/generated-characters/playable-cendeng/portrait.png',
generatedVisualAssetId: 'visual-playable-cendeng',
},
],
storyNpcs: [
{
id: 'story-yizhang',
name: '议长甲',
title: '群岛议长',
role: '遮掩者',
publicIdentity: '压住旧档的人。',
hiddenHook: '长期维持群岛议会体面并遮掩沉船旧案。',
relationToPlayer: '会阻止玩家继续追查。',
imageSrc: '/generated-characters/story-yizhang/portrait.png',
},
],
});
expect(profile?.playableNpcs[0]?.description).toBe(
'深蓝旧雨衣、铜灯和卷边海图。',
);
expect(profile?.playableNpcs[0]?.backstory).toContain('灯塔记录');
expect(profile?.playableNpcs[0]?.relationshipHooks[0]).toBe(
'这是玩家进入世界的第一视角。',
);
expect(profile?.playableNpcs[0]?.imageSrc).toBe(
'/generated-characters/playable-cendeng/portrait.png',
);
expect(profile?.storyNpcs[0]?.description).toBe('压住旧档的人。');
expect(profile?.storyNpcs[0]?.backstory).toContain('沉船旧案');
expect(profile?.storyNpcs[0]?.imageSrc).toBe(
'/generated-characters/story-yizhang/portrait.png',
);
});
});