## 情绪 vs 动作：两种不同的时间语义

情绪是持续状态，动作是一次性手势——应该区别对待

情绪 = 持续性状态
LLM 输出
`[情绪:joy/0.8]
今天天气真好！`
joy 是这整句话的底色
动作时间线：
thinking → celebrate（持续） → speaking（继续celebrate+mouth） → idle
动作 = 一次性手势
LLM 输出
`[动作:nod]
嗯，我同意你的看法`
nod 只是一瞬间的点头
动作时间线：
thinking → nod（播1次） → 回到thinking动画 → speaking → idle

### 结论：两种类型，两种播放模式

| 情绪 (emotion) | 动作 (action/gesture)
--- | --- | ---
语义 | 这段话的情绪基调 | 一个具体的手势/行为
持续时间 | 持续到下一个情绪或状态结束 | 播完即止，回退到当前状态动画
播放模式 | 循环（loop） | 单次（once）
示例 | celebrate, sad, angry, surprised_react | nod, wave, surprised_react（也可以是一次性）
结束条件 | 新情绪到达 / petState 回 idle | 动画播完自动回退

### 动画池按类型重新划分

持续动画（情绪驱动）

- celebrate ← joy
- sad ← sad
- angry ← angry
- surprised_react ← surprised
- waiting ← neutral/default
- hand_talk ← speaking(neutral)

一次性动作（动作标签驱动）

- nod → 点头
- wave → 挥手
- surprised_react → 惊讶一下
- appearing → 登场（启动时）