Simplify custom world result editing controls
This commit is contained in:
@@ -5,6 +5,8 @@ import type {
|
||||
} from './attributes';
|
||||
import type { CharacterBackstoryRevealConfig } from './characters';
|
||||
import {
|
||||
AnimationState,
|
||||
type CharacterAnimationConfig,
|
||||
type EquipmentSlotId,
|
||||
type ItemRarity,
|
||||
type WorldTemplateType,
|
||||
@@ -99,6 +101,87 @@ export interface CustomWorldLockState {
|
||||
lockedFactionIds: string[];
|
||||
}
|
||||
|
||||
export interface CustomWorldSemanticAnchor {
|
||||
genreSignals: string[];
|
||||
conflictForms: string[];
|
||||
institutionTypes: string[];
|
||||
tabooTypes: string[];
|
||||
carrierTypes: string[];
|
||||
forceSystemTypes: string[];
|
||||
atmosphereTags: string[];
|
||||
}
|
||||
|
||||
export interface CustomWorldRuleProfile {
|
||||
attributeSchema: WorldAttributeSchema;
|
||||
resourceLabels: {
|
||||
hp: string;
|
||||
mp: string;
|
||||
maxHp: string;
|
||||
maxMp: string;
|
||||
damage: string;
|
||||
guard: string;
|
||||
range: string;
|
||||
cooldown: string;
|
||||
manaCost: string;
|
||||
currency: string;
|
||||
};
|
||||
economyProfile: {
|
||||
initialCurrency: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface RoleArchetypeProfile {
|
||||
id: string;
|
||||
label: string;
|
||||
combatFocus: string;
|
||||
narrativeFunction: string;
|
||||
sourceRoleIds: string[];
|
||||
sourceTemplateCharacterIds: string[];
|
||||
tags: string[];
|
||||
}
|
||||
|
||||
export interface SceneArchetypeBucket {
|
||||
id: string;
|
||||
label: string;
|
||||
moodTags: string[];
|
||||
keywords: string[];
|
||||
referenceLandmarkIds: string[];
|
||||
}
|
||||
|
||||
export interface CreatureArchetypeProfile {
|
||||
id: string;
|
||||
label: string;
|
||||
threatStyle: string;
|
||||
keywords: string[];
|
||||
}
|
||||
|
||||
export interface CustomWorldReferenceProfile {
|
||||
roleArchetypes: RoleArchetypeProfile[];
|
||||
sceneBuckets: SceneArchetypeBucket[];
|
||||
creatureArchetypes: CreatureArchetypeProfile[];
|
||||
}
|
||||
|
||||
export interface CustomWorldExpressionProfile {
|
||||
themePack: ThemePack;
|
||||
presentationTone: string[];
|
||||
namingDirectives: string[];
|
||||
clueDirectives: string[];
|
||||
revealDirectives: string[];
|
||||
}
|
||||
|
||||
export interface CustomWorldCompatibilityProfile {
|
||||
legacyTemplateWorldType?: WorldTemplateType | null;
|
||||
migrationVersion: string;
|
||||
}
|
||||
|
||||
export interface CustomWorldOwnedSettingLayers {
|
||||
semanticAnchor: CustomWorldSemanticAnchor;
|
||||
ruleProfile: CustomWorldRuleProfile;
|
||||
expressionProfile: CustomWorldExpressionProfile;
|
||||
referenceProfile: CustomWorldReferenceProfile;
|
||||
compatibilityProfile?: CustomWorldCompatibilityProfile | null;
|
||||
}
|
||||
|
||||
export interface CustomWorldRoleSkill {
|
||||
id: string;
|
||||
name: string;
|
||||
@@ -132,6 +215,10 @@ export interface CustomWorldRoleProfile {
|
||||
backstoryReveal: CharacterBackstoryRevealConfig;
|
||||
skills: CustomWorldRoleSkill[];
|
||||
initialItems: CustomWorldRoleInitialItem[];
|
||||
imageSrc?: string;
|
||||
generatedVisualAssetId?: string;
|
||||
generatedAnimationSetId?: string;
|
||||
animationMap?: Partial<Record<AnimationState, CharacterAnimationConfig>>;
|
||||
attributeProfile?: RoleAttributeProfile;
|
||||
narrativeProfile?: ActorNarrativeProfile | null;
|
||||
}
|
||||
@@ -164,7 +251,6 @@ export interface CustomWorldPlayableNpc extends CustomWorldRoleProfile {
|
||||
}
|
||||
|
||||
export interface CustomWorldNpc extends CustomWorldRoleProfile {
|
||||
imageSrc?: string;
|
||||
visual?: CustomWorldNpcVisual;
|
||||
}
|
||||
|
||||
@@ -248,6 +334,7 @@ export interface CustomWorldProfile {
|
||||
creatorIntent?: CustomWorldCreatorIntent | null;
|
||||
anchorPack?: CustomWorldAnchorPack | null;
|
||||
lockState?: CustomWorldLockState | null;
|
||||
ownedSettingLayers?: CustomWorldOwnedSettingLayers | null;
|
||||
generationMode?: CustomWorldGenerationMode | null;
|
||||
generationStatus?: CustomWorldGenerationStatus | null;
|
||||
scenarioPackId?: string | null;
|
||||
|
||||
@@ -77,6 +77,7 @@ export interface QuestLogEntry {
|
||||
issuerNpcId: string;
|
||||
issuerNpcName: string;
|
||||
sceneId: string | null;
|
||||
chapterId?: string | null;
|
||||
actId?: string | null;
|
||||
threadId?: string | null;
|
||||
contractId?: string | null;
|
||||
|
||||
@@ -262,6 +262,8 @@ export interface ChapterState {
|
||||
primaryThreadIds: string[];
|
||||
stage: 'opening' | 'expansion' | 'turning_point' | 'climax' | 'aftermath';
|
||||
chapterSummary: string;
|
||||
sceneId?: string | null;
|
||||
chapterQuestId?: string | null;
|
||||
}
|
||||
|
||||
export interface JourneyBeat {
|
||||
@@ -519,6 +521,7 @@ export interface StoryEngineMemoryState {
|
||||
activeThreadIds: string[];
|
||||
resolvedScarIds: string[];
|
||||
recentCarrierIds: string[];
|
||||
openedSceneChapterIds?: string[];
|
||||
recentSignalIds?: string[];
|
||||
recentCompanionReactions?: CompanionReactionRecord[];
|
||||
currentChapter?: ChapterState | null;
|
||||
|
||||
Reference in New Issue
Block a user