import {getStandeeSet, type AvatarDefinition} from "../../standee-sets";
export type VoicevoxVoice = Readonly<{
speakerName: string;
styleName: string;
}>;
export type CharacterDefinition = Readonly<{
displayName: string;
voicevox: VoicevoxVoice;
avatar: AvatarDefinition;
}>;
export const characters = {
zundamon: {
displayName: "ずんだもん",
voicevox: {
speakerName: "ずんだもん",
styleName: "ノーマル",
},
avatar: {
...getStandeeSet("zundamon_ohnegus_rework_baby_default"),
imageLayout: {
...getStandeeSet("zundamon_ohnegus_rework_baby_default").imageLayout,
sourceWidth: 3000,
sourceHeadWidth: 1600,
targetHeadWidth: 230,
translateY: -72,
},
accentColor: "#79d36f",
nameplatePosition: "none",
idleAnimationType: "none",
speakingAnimationType: "rhubarbLipSync",
},
},
sayo: {
displayName: "小夜",
voicevox: {
speakerName: "小夜/SAYO",
styleName: "ノーマル",
},
avatar: {
...getStandeeSet("sayo_by_sayonaka"),
imageLayout: {
...getStandeeSet("sayo_by_sayonaka").imageLayout,
sourceWidth: 2000,
sourceHeadWidth: 860,
targetHeadWidth: 280,
translateY: -72,
},
accentColor: "#6b5f83",
nameplatePosition: "none",
idleAnimationType: "none",
speakingAnimationType: "rhubarbLipSync",
},
},
} as const satisfies Record<string, CharacterDefinition>;
export type CharacterId = keyof typeof characters;
export const initialVisibleCharacters: CharacterId[] = ["zundamon"];