Files
TankIC/3DTank/docs/ObfuscatedSymbols.md

131 lines
20 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TankIC 混淆符号字典(原版 Kotlin/JS UI)
> 范围:`3DTank/src/module_82347.js`(UI 组件/样式/资源)、`3DTank/src/module_63383.js`(CSS DSL)、`3DTank/src/module_37036.js`(Kotlin 运行时)、`3DTank/src/index.json`(资源模块索引)。`3DTank/src` 为原版拆包,`3dtank.com/play/static/js/unpacked` 为同构微修改版;本表行号优先引用前者。
> 方法:静态解析 `Sq` / `Lq` 注册、样式类构造器、`Eq("...")` 字段、`jq(...)` 访问器、IIFE 参数表;并用 `acorn` 作用域分析确认资源参数的真实引用。
> 证据格式:`文件:行号`。资源模块优先引用 `3DTank/src/index.json` 的 `id` / `path` 行;压缩版 `main.6469b966.js` 仅作同构对照,不再作为主证据。
> 同构核对:`3DTank/src/module_82347.js` 与 `3dtank.com/play/static/js/unpacked/module_82347.js` 仅 `137040-137047` 内容不同(本地 SRV 显示补丁),行号一致;`module_63383/37036/59131/24923` 两版哈希一致。
## 0. 读法
- `Sq = To.$_$.ld`(`3DTank/src/module_82347.js:1326`)→ `3DTank/src/module_37036.js:10177` → `ie()`(`3DTank/src/module_37036.js:1276-1277`,内部调用 `ne("object", ...)`;`ne` 定义在 `:1271`)。它是 Kotlin 类元数据注册,不是 CSS 注册。
- 真正的样式字段在样式类构造器内:`this.<field> = this.aux([], <函数>).suv(this, Eq("<语义名>", ...))`。
- 访问器形如 `jq(<类>).<方法> = function () { ... this.<field>.dk(this, Eq("<语义名>"...)) }`;因此 `字段=访问器` 可一一对应。
- 带参数、且不绑定单一字段的方法单列为“参数化/共享样式方法”,不强行归入字段。
## 1. 样式类注册表
| 类名 | 语义名 | 文件:行号 | 已确认的字段/访问器 |
|---|---|---|---|
| `d7n` | `MainScreenComponentStyle` | `3DTank/src/module_82347.js:107879`(def `67488`;acc `173741-173921`) | `containerPanel=k1pz`; `containerForMenuGradient=l1pz`; `gradientBlock=m1pz`; `gradientBlockRight=n1pz`; `buttonPlay=e1o4`; `blockMainMenu=o1pz`; `noNew=p1pz`; `new=q1pz`; `playButtonContainer=r1pz`; `disabled=w1lw`; `disabledButtonPlay=s1pz`; `activeItem=t1pz`; `commonBlock=u1ju` |
| `fni` | `UserInfoContainerStyle` | `3DTank/src/module_82347.js:107924`(def `71520`;acc `177288-177638`) | `rankIconContainer=o1qe`; `containerRightBorder=p1qe`; `rankIconContainerClickable=q1qe`; `userNameRank=r1qe`; `textDecoration=s1qe`; `containerUserNameRank=t1qe`; `blockLeftPanel=y1qd`; `userTitleContainer=u1qe`; `titleRankIcon=v1qe`; `containerProgressMainScreen=w1qe`; `containerParameterProgress=x1qe`; `xpIcon=y1qe`; `progressValue=y1iq`; `tooltipContainer=u1je`; `premiumBenefitsContainer=u1qa`; `tooltipTimer=z1q9`; `grayColor=m1qa`; `regularUser=r1ih`; `friendUser=t1ih`; `clanMateUser=s1ih`; `blockForIconTankiOnline=n1qe`; `accountRemovalTimer=a1qe`;参数化:`u1iz(t)` @`177438` |
| `Yni` | `UserScoreComponentStyle` | `3DTank/src/module_82347.js:107927`(def `72033`;acc `177929-178089`) | `coinsContainer=b1ni`; `temporaryCashContainer=j1qd`; `temporaryCashButton=k1qd`; `blockRightPanel=z1qd`; `iconCrystal=o1k9`; `addRubyCrystal=m1qd`; `addCoins=i1qd`; `coinBlock=g1qd`; `coinIcon=h1qd`;参数化:`n1qd(t)` @`177974`、`l1qd(t)` @`178000`、`z1qc(t)` @`178059` |
| `d9` | `UserGroupTitleButtonComponentStyle` | `3DTank/src/module_82347.js:106987`(def `5061`;acc `110368-110398`) | `userGroupTitle=u1ii`; `commonBlockGroup=w1ii`; `commonUserIconsBlockGroup=v1ii` |
| `d1n` | `BreadcrumbsComponentStyle` | `3DTank/src/module_82347.js:107855`(def `66052`;acc `172496-172601`) | `headerContainer=h1pt`; `backButton=y1ie`; `rightButtonsContainer=d1pt`; `exitGameButton=e1pt`; `logout=i1pt`; `iconLogout=j1pt`; `rootTitle=o1om`; `breadcrumbs=g1pt` |
| `kNi` | `SettingsComponentStyle` | `3DTank/src/module_82347.js:108144`(def `89525`;acc `193943-194138`) | `blockContentOptions=n1s2`; `scroll=r1k3`; `scrollCreateBattle=p1jd`; `settingsBlockOptions=u1rv`; `containerBlock=n1n3`; `borderLineOption=d1rn`; `commonBlock=u1ju`; `rowBlock=q1s2`; `textHeadlineOptions=f1rn`; `scrollingMenu=o1jn`; `dropDownTitle=e1rt`; `dropDown=x1nc`; `dropdownPlaceholder=z1mg`; `slider=e1nj` |
| `EMi` | `SettingsMenuComponentStyle` | `3DTank/src/module_82347.js:108168`(def `90329`;acc `197540-197588`) | `slideMenuOptions=g1s7`; `yellowLineMenuOptions=h1s7`; `menuItemOptions=a1s7`; `activeItemOptions=b1s7`;共享样式:`f1s7()` @`197540` 返回 `zMi`(见 1.1) |
| `UPi` | `SettingsButtonsComponentStyle` | `3DTank/src/module_82347.js:108141`(def `89326`;acc `193821-193851`) | `containerGroupButton=h1s2`; `buttonsWidthBackReset=g1s2`; `buttonSaveLeave=i1s2` |
| `J7t` | `DropDownStyle` | `3DTank/src/module_82347.js:107449`(def `34073`;acc `141248-141385`) | `dropdownRoot=h1mh`; `dropdownControl=i1mh`; `dropdownPlaceholder=z1mg`; `dropdownMenu=k1mh`; `outerContainerStyle=a1md`; `innerContainerStyle=r1mc`; `dataListControl=a1mh`; `arrowDropDown=j1mh`;参数化:`f1mh(t)` @`141263`、`c1mh(t)` @`141338` |
| `u7t` | `ContextMenuStyle` | `3DTank/src/module_82347.js:107442`(def `33638`;acc `140826-140934`) | `menu=y1mf`; `menuItem=z1mf`; `colorText=z1li`; `disabledMenuItem=a1mg`; `menuItemRank=b1mg`; `decoration=c1mg`;参数化:`d1mg(t)` @`140856`、`e1mg(t,n,i,r)` @`140934` |
| `QBi` | `CheckBoxComponentStyle` | `3DTank/src/module_82347.js:108203`(def `92742`;acc `200405-200446`) | `oneSetting=w1md`;参数化:`d1sh(t)` @`200420`、`x1md(t,n)` @`200446` |
| `Z0t` | `CheckBoxStyle` | `3DTank/src/module_82347.js:107431`(def `33272`;acc `140535-140563`) | `checkbox=k1md`;参数化:`l1md(t,n)` @`140550`、`n1md(t,n,i)` @`140553`、`m1md(t,n,i)` @`140563` |
| `EUi` | `InputRangeComponentStyle` | `3DTank/src/module_82347.js:108205`(def `92965`;acc `200584-200614`) | `blockSoundVolume=r1sh`; `soundVolume=s1sh`; `range=hd` |
| `o2n` | `HeaderCommonStyle` | `3DTank/src/module_82347.js:107868`(def `67109`;acc `173096-173111`) | `icons=sdy`; `iconFont=e1ka` |
表中 `acc` 是 `jq(...)` 方法范围,可能包含 1.1 节的参数化方法;`字段=访问器` 只列直接读取 `this.<field>.dk(...)` 的方法。
### 1.1 参数化/共享样式方法(已核对,不是字段)
| 方法 | 参数/返回 | 调用点 | 已核对语义 | 证据文件:行号 |
|---|---|---|---|---|
| `fni.u1iz(t)` | 百分比数值 | `3DTank/src/module_82347.js:177904` | XP 进度条容器;子节点宽度按 `t%` | `3DTank/src/module_82347.js:177438-177460` |
| `Yni.n1qd(t)` | 布尔 cursor 开关 | `3DTank/src/module_82347.js:176977` | 水晶货币行样式 | `3DTank/src/module_82347.js:177974-177980` |
| `Yni.l1qd(t)` | 布尔 cursor 开关 | `3DTank/src/module_82347.js:176951` | 红宝石货币行样式(带底边框) | `3DTank/src/module_82347.js:178000-178009` |
| `Yni.z1qc(t)` | 布尔 cursor 开关 | `3DTank/src/module_82347.js:176918` | 金币按钮行样式 | `3DTank/src/module_82347.js:178059-178069` |
| `EMi.f1s7()` | 返回共享函数 `zMi` | `3DTank/src/module_82347.js:197505` | 设置菜单项共享布局样式 | `3DTank/src/module_82347.js:197540`; `zMi` 定义 `3DTank/src/module_82347.js:90245-90258` |
| `J7t.f1mh(t)` | 布尔 `isWhiteTheme` | `3DTank/src/module_82347.js:141083` | 下拉容器主题样式 | `3DTank/src/module_82347.js:141263-141271` |
| `J7t.c1mh(t)` | 布尔 `isWhiteTheme` | `3DTank/src/module_82347.js:33852` | 下拉滚动条主题样式 | `3DTank/src/module_82347.js:141338-141348` |
| `u7t.d1mg(t)` | 布尔分支 | `3DTank/src/module_82347.js:141061` | 菜单项样式(普通/选中分支) | `3DTank/src/module_82347.js:140856-140868` |
| `u7t.e1mg(t,n,i,r)` | 4 个参数 | `3DTank/src/module_82347.js:143351` | 菜单项复合样式 | `3DTank/src/module_82347.js:140934-140946` |
| `QBi.d1sh(t)` | 布尔 disabled | `3DTank/src/module_82347.js:93016` | 设置行/复选框行样式 | `3DTank/src/module_82347.js:200420-200439` |
| `QBi.x1md(t,n)` | 元素 + 布尔 | `3DTank/src/module_82347.js:33330`, `93020` | 设置输入/开关行样式 | `3DTank/src/module_82347.js:200446-200463` |
| `Z0t.l1md(t,n)` | 元素 + 布尔 | `3DTank/src/module_82347.js:33315`, `140502` | 开关容器基础样式 | `3DTank/src/module_82347.js:140550-140551` |
| `Z0t.n1md(t,n,i)` | 元素 + 两个布尔 | `3DTank/src/module_82347.js:33321`, `140530` | 开关轨道样式 | `3DTank/src/module_82347.js:140553-140561` |
| `Z0t.m1md(t,n,i)` | 元素 + 两个布尔 | `3DTank/src/module_82347.js:140530` | 圆形开关/勾选样式 | `3DTank/src/module_82347.js:140563-140575` |
## 2. CSS DSL 映射表
仅列已由 `module_63383.js` 函数体 `$e("<cssProperty>")` 直接确认的项。
| 压缩名 | 导出键 | 实际函数名 | CSS 属性 | 证据文件:行号 |
|---|---|---|---|---|
| `Wy` | `Ho.$_$.sb` | `Pc` | `width` | `3DTank/src/module_82347.js:1398`; `3DTank/src/module_63383.js:8082`, `5120`, `5126` |
| `Vy` | `Ho.$_$.b9` | `ua` | `height` | `3DTank/src/module_82347.js:1399`; `3DTank/src/module_63383.js:7803`, `3566`, `3571` |
| `R$` | `Ho.$_$.ka` | `rc` | `position` | `3DTank/src/module_82347.js:1440`; `3DTank/src/module_63383.js:7931`, `4528`, `4533` |
| `H$` | `Ho.$_$.b8` | `$h` | `cursor` | `3DTank/src/module_82347.js:1451`; `3DTank/src/module_63383.js:7670`, `2937`, `2942` |
| `o$` | `Ho.$_$.p9` | `za` | `marginRight` | `3DTank/src/module_82347.js:1413`; `3DTank/src/module_63383.js:7885`, `3862`, `3867` |
| `jj` | `Ho.$_$.x6` | `Uu` | `borderBottom` | `3DTank/src/module_82347.js:1541`; `3DTank/src/module_63383.js:7610`, `512`, `517` |
| `fS` | `Ho.$_$.i8` | `Ah` | `flexDirection` | `3DTank/src/module_82347.js:1581`; `3DTank/src/module_63383.js:7694`, `3085`, `3090` |
| `pS` | `Ho.$_$.h6` | `h_` | `alignItems` | `3DTank/src/module_82347.js:1583`; `3DTank/src/module_63383.js:7577`, `1642`, `1647` |
| `cx` | `Ho.$_$.g9` | `oa` | `justifyContent` | `3DTank/src/module_82347.js:1471`; `3DTank/src/module_63383.js:7853`, `3603`, `3608` |
| `_x` | `Ho.$_$.i6` | `c_` | `alignSelf` | `3DTank/src/module_82347.js:1468`; `3DTank/src/module_63383.js:7578`, `1679`, `1684` |
| `Jy` | `Ho.$_$.c8` | `jh` | `display` | `3DTank/src/module_82347.js:1403`; `3DTank/src/module_63383.js:7671`, `2974`, `2979` |
| `LS` | `Ho.$_$.fa` | `Ya` | `paddingLeft` | `3DTank/src/module_82347.js:1608`; `3DTank/src/module_63383.js:7924`, `4380`, `4385` |
| `BS` | `Ho.$_$.ga` | `Ja` | `paddingRight` | `3DTank/src/module_82347.js:1609`; `3DTank/src/module_63383.js:7925`, `4417`, `4422` |
> `Ho` 即模块 `63383`:`3DTank/src/module_82347.js:212990` 的 `i(63383)` 对应参数 `Ho`。`3DTank/src/module_24923.js:1313` 又依赖 `63383` 做样式注入/类名生成;本表只确认 `63383` 中的属性名字面量,不把 `24923` 的生成器内部实现当作语义。13 项导出键→函数→`$e` 属性已逐项机器校验一致。
## 3. 资源模块表
`3DTank/src/module_82347.js` 的资源参数名 → 调用参数 `i(<id>)` → `3DTank/src/index.json` 中同 id 的 `path` 字段(原版拆包索引;压缩版 `main.6469b966.js` 为同构对照)。前 9 行为任务指定资源,后 8 行为同组件/核对项直接引用的补充项。
| 模块 id | static/images/... 文件名 | 用途 | 证据文件:行号 |
|---|---|---|---|
| `32475` | `ruby.ce62efbc.svg` | `ruby` 红宝石图标 | 参数 `cn` `3DTank/src/module_82347.js:123`;`i(32475)` `:212634`;`3DTank/src/index.json:2375-2377`;使用 `3DTank/src/module_82347.js:176956` |
| `91844` | `crystalSmall.242e6c15.svg` | `crystalSmall` 小水晶图标 | 参数 `fo` `3DTank/src/module_82347.js:448`、`I` `:37`;`i(91844)` `:212548`;`3DTank/src/index.json:6245-6247`;使用 `3DTank/src/module_82347.js:96447`, `176985` |
| `39856` | `addRuby.ff47c8be.svg` | `addRuby` 红宝石加号 | 参数 `Ku` `3DTank/src/module_82347.js:375`;`i(39856)` `:212886`;`3DTank/src/index.json:2845-2847`;使用 `3DTank/src/module_82347.js:176972` |
| `33190` | `addCrystal.af9a397c.svg` | `addCrystal` 水晶加号 | 参数 `Yu` `3DTank/src/module_82347.js:376`;`i(33190)` `:212887`;`3DTank/src/index.json:2430-2432`;使用 `3DTank/src/module_82347.js:176996` |
| `17881` | `groupUser.67c9ec61.svg` | `groupUser` 组队成员剪影 | 参数 `m` `3DTank/src/module_82347.js:24`;`i(17881)` `:212535`;`3DTank/src/index.json:1320-1322`;使用 `3DTank/src/module_82347.js:4860` |
| `51963` | `iconButtonPremium.bc17a592.svg` | `iconButtonPremium` 高级账号图标 | 参数 `H` `3DTank/src/module_82347.js:50`;`i(51963)` `:212561`;`3DTank/src/index.json:3610-3612`;使用 `3DTank/src/module_82347.js:176468` |
| `39688` | `iconTankiOnline.2a9c236f.svg` | `iconTankiOnline` Tanki Online 标志 | 参数 `Ju` `3DTank/src/module_82347.js:378`;`i(39688)` `:212889`;`3DTank/src/index.json:2825-2827`;使用 `3DTank/src/module_82347.js:177224` |
| `70556` | `fullscreen.0b4547f5.svg` | `fullscreen` 全屏图标 | 参数 `zn` `3DTank/src/module_82347.js:132`;`i(70556)` `:212643`;`3DTank/src/index.json:4830-4832`;使用 `3DTank/src/module_82347.js:137380` |
| `88309` | `iconBack.62869951.svg` | `iconBack` 返回/退出箭头 | 参数 `g` `3DTank/src/module_82347.js:23`;`i(88309)` `:212534`;`3DTank/src/index.json:5960-5962`;使用 `3DTank/src/module_82347.js:66013`, `4762` |
| `98628` | `iconBackArrow.9f950ca9.svg` | Breadcrumbs 子页返回箭头 | 参数 `kr` `3DTank/src/module_82347.js:239`;`i(98628)` `:212750`;`3DTank/src/index.json:6635-6637`;`IconStyle.iconBackArrow` @`3DTank/src/module_82347.js:211486`,使用 `:172388` |
| `82126` | `back.72d79619.svg` | 触摸控制编辑器返回键 | 参数 `uo` `3DTank/src/module_82347.js:440`;`i(82126)` `:212951`;`3DTank/src/index.json:5555-5557`;使用 `3DTank/src/module_82347.js:92464`(`TouchControlsEditorComponentStyle.backButton` @`:108202`) |
| `91451` | `fullscreenOff.5691cd5d.svg` | 退出全屏图标(与 `fullscreen` 成对) | 参数 `bn` `3DTank/src/module_82347.js:133`;`i(91451)` `:212644`;`3DTank/src/index.json:6200-6202`;使用 `3DTank/src/module_82347.js:137380` |
| `86552` | `coin.3a16e831.svg` | 金币图标 | 参数 `Vi` `3DTank/src/module_82347.js:212`;`i(86552)` `:212640`;`3DTank/src/index.json:5855-5857`;使用 `3DTank/src/module_82347.js:176926` |
| `22511` | `addCoin.cc7a25d3.svg` | 金币加号 | 参数 `Wu` `3DTank/src/module_82347.js:373`;`i(22511)` `:212884`;`3DTank/src/index.json:1695-1697`;使用 `3DTank/src/module_82347.js:176941` |
| `22198` | `caution.b9d12319.svg` | 临时货币按钮图标 | 参数 `Vu` `3DTank/src/module_82347.js:374`;`i(22198)` `:212885`;`3DTank/src/index.json:1665-1667`;使用 `3DTank/src/module_82347.js:176904`(`UserScoreComponentStyle.temporaryCashButton` @`:176901`) |
| `16849` | `empty.c3b3f789.svg` | Tanki Online 标志占位图(`mr4_1` 为真时替代 logo) | 参数 `Xu` `3DTank/src/module_82347.js:377`;`i(16849)` `:212888`;`3DTank/src/index.json:1240-1242`;使用 `3DTank/src/module_82347.js:177224` |
| `30786` | `ic_delete_from_group.bdff6efa.svg` | 组队成员行删除/移出图标 | 参数 `w` `3DTank/src/module_82347.js:21`;`i(30786)` `:212532`;`3DTank/src/index.json:2240-2242`;使用 `3DTank/src/module_82347.js:4765`、`:110194`(`v4.tap` 组队成员行 @`:110022`) |
## 4. 组件渲染表
只记录 `tap` 内可直接读出的层级;节点标签由 `Ry`=`div`(`3DTank/src/module_59131.js:746`)、`jx`=`span`(`3DTank/src/module_59131.js:797`)、`Iq`=`h3`(`3DTank/src/module_59131.js:758`)、`tj`=`img`(`3DTank/src/module_59131.js:770`)确认。
| 组件类/函数 | 渲染函数 tap 行号 | 生成的 DOM 结构(父 → 子) | 关键样式字段 |
|---|---|---|---|
| `x6n`(Premium 购买/入口按钮) | `3DTank/src/module_82347.js:176431` | `div(g6n)` → 可选 `div(k6n)` 文本、`div(z6n)` 高级图标、`span(b6n)` 计时器 | 根:`box-shadow`、`cursor`、`96×96`、未开通 VIP 时金红径向渐变(`176436-176441`);图标使用 `iconButtonPremium`(`176468`);state `p6n` 含 `isPremiumBuyButton` / `hasPremium` / `premiumRemainingTime`(`176382-176393`) |
| `L4`(组队标题按钮) | `3DTank/src/module_82347.js:110273` | `div($4)` → 可选 `div(j4)` 金币文本、`div(E4)` 组队槽容器 → `q4/b4` 成员槽、可选 `Z5` tooltip | `Vy/Wy 96/95`、`border-right`、背景(`110277-110283`);`UserGroupTitleButtonComponentStyle.userGroupTitle/commonBlockGroup/commonUserIconsBlockGroup`(`110307`, `110327`, `110299`);state `d4` 含 `isCanInvite` / `membersGroup` / `onlineStatus` / `maxUsersInGroup`(`110214-110225`) |
| `Eni`(用户信息子组件) | `3DTank/src/module_82347.js:177748` | `div(dni)` → `div(mni)` 等级/头像 → `img` 头像;`div(gni)` → 昵称/称号/XP 区 | `UserInfoContainerStyle`:`rankIconContainerClickable`、`containerUserNameRank`、`containerProgressMainScreen`、`xpIcon`、`progressValue`(`177761`, `177781`, `177789`, `177909-177915`);state `pni` 含 `userId` / `uid` / `userInGroup` / `userScore` / `rank` / `clanTag` / `hasPremium`(`177677-177704`) |
| `rii`(用户信息容器/左侧面板) | `3DTank/src/module_82347.js:178113` | `div(Qni)` → `x6n`、可选 `L4`、`Eni` | `UserInfoContainerStyle.blockLeftPanel`(`178116`);三个子组件均在 `isLobbyLayout` 下装配(`178117-178124`);state `Jni` 仅 `groupButtonActive`(`178104-178106`) |
| `lti`(用户货币/全屏条) | `3DTank/src/module_82347.js:176892` | `div(nti)` → 可选 `div(ati)` 临时货币、`div(sti)` 金币块、`div(iti)` 红宝石行、`div(eti)` 水晶行 | `UserScoreComponentStyle`:`temporaryCashContainer`、`coinsContainer`、`addCoins`、`blockRightPanel`、`addRubyCrystal`、`iconCrystal`、`addRubyCrystal`(`176897-176977`);state `fti` 含 `user` / `isMobileDevice` / `isFullScreen` / `showExitButton` / `removalTimer`(`177000-177014`) |
| `eKt`(全屏按钮) | `3DTank/src/module_82347.js:137348` | `div(nKt)` → `div(iKt)` 全屏图标、可选 `h3(rKt)` 文本 | `FullScreenButtonStyle.b1m0/c1m0`(`107372`, `137351-137363`);图标在 `fullscreen` / `fullscreenOff` 间切换(`137380`);state `JVt` 含 `isFullScreen` / `inputMode`(`137312-137314`) |
| `d9`(样式类,无 `tap`) | 无 `tap`(已核对为样式类) | 渲染在 `L4.tap`(`3DTank/src/module_82347.js:110273`) | `userGroupTitle`/`commonBlockGroup`/`commonUserIconsBlockGroup`(`110368-110398`) |
## 5. 未确认清单
- `x6n` / `L4` / `Eni` / `rii` / `lti` / `eKt` 的官方语义类名:未找到;`Lq` 注册对这些类均传空名(`3DTank/src/module_82347.js:107914`, `106986`, `107926`, `107929`, `107920`, `107371`),本表只用样式归属和渲染内容标注。
- `x6n` 的官方组件名:未找到;state `p6n` 已确认它是 Premium 购买/入口按钮(`isPremiumBuyButton`、`hasPremium`、`premiumRemainingTime`,`3DTank/src/module_82347.js:176382-176393`),本表按 HEAD premium 按钮记录。
- 资源模块的行号以 `3DTank/src/index.json` 的 `id` / `path` 行为准;压缩版 `main.6469b966.js` 为单行,仅用于同构对照。
已核对后移出未确认:
- `d9`:确认是 `UserGroupTitleButtonComponentStyle` 样式类,没有 `tap`;渲染在 `L4.tap`(`3DTank/src/module_82347.js:106987`, `110273`)。
- 14 个参数化/共享方法:确认不是字段访问器,已列入 1.1 节;其中 `EMi.f1s7()` 返回共享函数 `zMi`(`3DTank/src/module_82347.js:197540`, `3DTank/src/module_82347.js:90245-90258`)。
- `iconBack` / `iconBackArrow` / `back` 分工:`iconBack` 用于 Logout(`:66013`),`iconBackArrow` 用于 Breadcrumbs 子页返回(`:172388`),`back` 用于触摸控制编辑器返回(`:92464`)。
## 6. 待核对(仅记录,不改原文档)
- `3DTank/docs/HeadStyleTable.md:64` 的 `head.exit` 写 `back.72d79619.svg`;源码中 Breadcrumbs 子页返回按钮使用 `IconStyle.iconBackArrow`(`3DTank/src/module_82347.js:172388`)→ 资源模块 `98628` `iconBackArrow.9f950ca9.svg`(`3DTank/src/index.json:6635-6637`)。`back.72d79619.svg` 在 `module_82347` 中只用于触摸控制编辑器返回键(`3DTank/src/module_82347.js:92464`)。同文档 `:88` 的 `head.logout.icon` 使用 `iconBack.62869951.svg`,与源码一致;`UI_Rebuild_Plan.md:475` 描述的是 logout,也与源码一致。
- `3DTank/docs/SettingsStyleTable.md` 第 6 节存在行号漂移,语义均正确:`InputRangeComponentStyle` 的 `EUi` 构造器实际在 `3DTank/src/module_82347.js:92965`(表写 `92980`,位于首字段结束);`kUi` 实际在 `92902`(表写 `92930`);`hUi.tap` 实际在 `200482`(表写 `200507`);`SettingsComponentStyle-slider` 的 `z1jp_1 -> slider` 的 `Eq("slider")` 实际在 `89711`(表写 `89620`)。