动画面板:新增两个动画测试按钮 + 把动画模型 API 全部落进对照表

## 功能(面板源码,重启后仍在)
- 新增 AnimationTools:
  - Animate Random Props:随机骨骼/插槽/附件 → ani_api_test
    旋转 0°→90°、位移 (0,0)→(120,-60)、缩放 (1,1)→(1.6,0.6)、斜切 (0,0)→(25,15)
    插槽颜色 (1,1,1,1)→(1,0.2,0.2,0.25)、附件 显示→隐藏;全部只在 0f/30f
  - Curve Test 6 Modes:curve_test,6 根骨骼各一条旋转轴(0°→45°,0f/30f),
    分别 linear / curve 平滑(0.25,0,0.75,1) / stepped / ease-in(0.42,0,1,1) /
    ease-out(0,0,0.58,1) / 对称自动(0.25,0.25,0.75,0.75)
- ObjectPanel.build 里挂载这两个按钮,复用面板自己的 wire() 点击轮询

## 对照表(tools/deobf/anchors.tsv + 混淆名对照表.md 第十一节)
- GP.I=animations、GP.D:LFT;.D:F=fps、Gl=动画(name/skeleton/timelineGroups/register)
- Gl.D/B/L/I(Gp)=旋转/位移/缩放/斜切;Gl.D/B(Gp,GU)=插槽颜色/附件;Gl.D()=绘制顺序
- FH=组;FI=时间轴(runtimeTimelineClass、keys、findKey、insertKey、invalidateRuntime)
- FN=关键帧(time、curve、c2x/c2y/c3x/c3y、setAngle/setX/setY、Color、Gn)
- FV=曲线枚举(linear/curve/stepped;'自动'=curve+控制值)
- 踩坑记录:
  * 关键帧数值写在 FN.D()/B()/L() 的 float 字段,**不是** FN.D():ga(ga 是 deform 的),
    否则会出现'有帧但运行时不变'
  * 编辑器时间轴刻度就是**帧**,关键帧时间写 0/30,不要按 1 秒=30 帧换算
  * FI.D(float,int) 建帧要求时间轴已有关键帧(先有鸡问题)
  * fI.removeRange 两个 (int,int) 重载都不缩容 → 清空动画直接换新 fI
names.tsv 合并成 380 条,payload-named.zip 重产(7271 处成员引用)。

验证:全部在运行中的编辑器里逐条读回(时间轴/关键帧/曲线枚举/控制值),
重启后 pid 94663 单实例,日志确认 '[animtool] 两个动画按钮已加入'。
This commit is contained in:
tianmo committed 2026-10-17 12:57:17 +08:00
1 parent 8df990a058
commit 6580611012
5 files changed
+583

No files matched your search

+42
View File
@@ -1,5 +1,34 @@
# 合并后的名字映射表:确定(=)指纹 + 手动/实测锚点
# owner name desc newName
FH D LGl; animation
FH D LGp; bone
FH D LfI timelines
FI D (F)LFN; findKey
FI D (FI;LFH;)V copyFrom
FI D (LFN;Z)V insertKey
FI D LfI keys
FI D Ljava/lang/Class; runtimeTimelineClass
FI L ()V invalidateRuntime
FN B ()F getX
FN B (F)V setX
FN B F curveC2x
FN D ()F getAngle
FN D ()Lga; values
FN D (F)V setAngle
FN D F time
FN D LFV; curve
FN D LGn; attachment
FN D LOr; valueSchema
FN D Lcom/badlogic/gdx/graphics/Color; color
FN I F curveC3x
FN L ()F getY
FN L (F)V setY
FN L F curveC2y
FN S F curveC3y
FT D F fps
FV B LFV; curve
FV D LFV; linear
FV L LFV; stepped
GD D F position
GD D LGU; target
GD D Ljava/lang/String; name
@@ -25,6 +54,8 @@ GO L F scaleX
GO S F rotation
GO Z F height
GP D (LGp;)V addBone
GP D LFT; projectSettings
GP I LfI animations
GP L (LGn;ZZ)V removeAttachment
GP L LfI attachments
GP Z LfI slots
@@ -51,6 +82,17 @@ GX SourceFile F rotation
GX StackMapTable F scaleX
GX Z F scaleMix
GX init F scaleY
Gl B (LGp;)LFI; translateTimeline
Gl B (LGp;LGU;)LFI; slotAttachmentTimeline
Gl D ()LFI; drawOrderTimeline
Gl D ()V register
Gl D (LGp;)LFI; rotateTimeline
Gl D (LGp;LGU;)LFI; slotColorTimeline
Gl D LGP; skeleton
Gl D LfI timelineGroups
Gl D Ljava/lang/String; name
Gl I (LGp;)LFI; shearTimeline
Gl L (LGp;)LFI; scaleTimeline
Gn D LHi; placeholderRef
Gn D Ljava/lang/String; name
Gn I ()Ljava/lang/String; type
1 # 合并后的名字映射表:确定(=)指纹 + 手动/实测锚点
2 # owner
3 FH
4 FH
5 FH
6 FI
7 FI
8 FI
9 FI
10 FI
11 FI
12 FN
13 FN
14 FN
15 FN
16 FN
17 FN
18 FN
19 FN
20 FN
21 FN
22 FN
23 FN
24 FN
25 FN
26 FN
27 FN
28 FT
29 FV
30 FV
31 FV
32 GD
33 GD
34 GD
54 GO
55 GO
56 GP
57 GP
58 GP
59 GP
60 GP
61 GP
82 GX
83 GX
84 GX
85 Gl
86 Gl
87 Gl
88 Gl
89 Gl
90 Gl
91 Gl
92 Gl
93 Gl
94 Gl
95 Gl
96 Gn
97 Gn
98 Gn