// Angles in degrees. Each joint is local to its parent, so limbs remain connected. export const directorPoses = { 站立: { arms: [0, 0], elbows: [0, 0], legs: [0, 0], knees: [0, 0], lean: 0 }, "T 型": { arms: [0, 0], elbows: [0, 0], legs: [0, 0], knees: [0, 0], lean: 0, spread: 90 }, 行走: { arms: [-30, 30], elbows: [15, 15], legs: [30, -30], knees: [10, 35], lean: 0 }, 跑步: { arms: [-55, 55], elbows: [80, 80], legs: [60, -45], knees: [70, 100], lean: 12 }, 坐姿: { arms: [10, 10], elbows: [75, 75], legs: [-90, -90], knees: [90, 90], lean: 0, height: -0.45, }, 蹲下: { arms: [-65, -65], elbows: [15, 15], legs: [-95, -95], knees: [125, 125], lean: 25, height: -0.65, }, 招手: { arms: [0, -165], elbows: [0, 30], legs: [0, 0], knees: [0, 0], lean: 0 }, 伸手: { arms: [-90, -90], elbows: [0, 0], legs: [0, 0], knees: [0, 0], lean: 0 }, 鞠躬: { arms: [-20, -20], elbows: [0, 0], legs: [0, 0], knees: [0, 0], lean: 40 }, 格斗: { arms: [-50, -75], elbows: [100, 90], legs: [-20, 20], knees: [20, 35], lean: 5 }, 踢球: { arms: [-15, 30], elbows: [20, 20], legs: [-70, 5], knees: [10, 10], lean: -10 }, 看手机: { arms: [-30, -30], elbows: [105, 105], legs: [0, 0], knees: [0, 0], lean: 8 }, } satisfies Record< string, { arms: number[]; elbows: number[]; legs: number[]; knees: number[]; lean: number; spread?: number; height?: number; } >; export type DirectorPoseName = keyof typeof directorPoses;