import { AnimationState } from '../../types'; export type EditableCustomWorldRole = { id: string; name: string; title: string; role: string; visualDescription?: string; actionDescription?: string; sceneVisualDescription?: string; description?: string; backstory?: string; personality?: string; motivation?: string; combatStyle?: string; tags?: string[]; templateCharacterId?: string; imageSrc?: string; generatedVisualAssetId?: string; generatedAnimationSetId?: string; animationMap?: Record; }; export type CustomWorldAiActionConfig = { animation: AnimationState; label: string; templateId: string; fps: number; frameCount: number; durationSeconds: number; loop: boolean; required: boolean; fallbackStatusLabel?: string; }; export const CORE_ACTIONS: CustomWorldAiActionConfig[] = [ { animation: AnimationState.RUN, label: '奔跑', templateId: 'run', fps: 12, frameCount: 8, durationSeconds: 4, loop: true, required: true, }, { animation: AnimationState.ATTACK, label: '攻击', templateId: 'attack_slash', fps: 12, frameCount: 8, durationSeconds: 4, loop: false, required: true, }, { animation: AnimationState.IDLE, label: '待机', templateId: 'idle', fps: 8, frameCount: 8, durationSeconds: 4, loop: true, required: false, fallbackStatusLabel: '默认静止', }, { animation: AnimationState.DIE, label: '死亡', templateId: 'die', fps: 8, frameCount: 8, durationSeconds: 4, loop: false, required: false, fallbackStatusLabel: '默认倒地动画', }, ];