TermiNexus
|
e71ee95e95
|
feat(session): 静态解析 modelId 注册表,补齐大厅容器模型名
|
2026-10-25 00:16:33 +08:00 |
|
TermiNexus
|
000ad7482a
|
feat(session): 生成下行动作映射表并接入会话路由
|
2026-10-24 22:58:04 +08:00 |
|
TermiNexus
|
56e7577581
|
feat(session): S3 连接层起步,上行编码 golden + 会话解码自检
|
2026-10-24 22:43:35 +08:00 |
|
TermiNexus
|
21e9ffb04b
|
feat(state): 迁移 battleCreateState,状态层 89/89 全部完成
|
2026-10-24 22:24:08 +08:00 |
|
TermiNexus
|
d5f9d50e67
|
feat(state): 迁移 matchmakingGroup
|
2026-10-24 22:18:57 +08:00 |
|
TermiNexus
|
b1e0283a81
|
feat(state): 迁移 itemNotifications(复用 ItemNotificationData)
|
2026-10-24 22:14:50 +08:00 |
|
TermiNexus
|
06a7e6fb44
|
feat(state): 迁移 chatState(复用 ChatMessage 模型)
|
2026-10-24 22:09:49 +08:00 |
|
TermiNexus
|
4c2ed95260
|
feat(state): 迁移 clan(36 字段 / 43 动作)
|
2026-10-24 22:05:19 +08:00 |
|
TermiNexus
|
54ee9ae29f
|
feat(state): 迁移 clansStorage(复用 ClanInfo 模型)
|
2026-10-24 21:58:43 +08:00 |
|
TermiNexus
|
7163f79784
|
feat(state): 迁移 challenges(复用 Challenge 模型)
|
2026-10-24 21:26:43 +08:00 |
|
TermiNexus
|
0ae39eebcd
|
feat(state): 迁移 battleUsers(复用 RemoteUserData/UserStat/TankInfoCC)
|
2026-10-24 21:21:36 +08:00 |
|
TermiNexus
|
ddb3ef324b
|
feat(state): 迁移 battlesSelect(复用 BattleParams/BattleInfoUser)
|
2026-10-24 21:03:47 +08:00 |
|
TermiNexus
|
a6da187ec9
|
feat(state): 迁移 matchmaking
|
2026-10-24 20:42:01 +08:00 |
|
TermiNexus
|
c49d847dd6
|
feat(state): 迁移 remoteUserDataStorage(复用 RemoteUserData 协议模型)
|
2026-10-24 20:23:50 +08:00 |
|
TermiNexus
|
2dbe74d464
|
feat(state): 迁移 battleChat(复用 ChatMessage 协议模型)
|
2026-10-24 20:08:24 +08:00 |
|
TermiNexus
|
d12a38846a
|
feat(state): 迁移 maps 并补地图描述协议模型
|
2026-10-24 19:56:41 +08:00 |
|
TermiNexus
|
f3b7faa9bc
|
feat(state): 迁移 battleMessage 并补战斗消息协议模型
|
2026-10-24 19:46:20 +08:00 |
|
TermiNexus
|
859284cfef
|
feat(state): 迁移 tankBuilderState
|
2026-10-24 17:42:50 +08:00 |
|
TermiNexus
|
677250e44a
|
feat(state): 迁移 contractState
|
2026-10-24 17:30:56 +08:00 |
|
TermiNexus
|
a9916c453a
|
feat(state): 迁移 graphicsSettings/controlSettings/battleSettings
|
2026-10-24 17:24:01 +08:00 |
|
TermiNexus
|
05998cbc8a
|
feat(state): 迁移 soundSettings/gameSettings/keyboardSettings/touchscreenHudSettings
|
2026-10-24 17:13:24 +08:00 |
|
TermiNexus
|
7681672eba
|
feat(state): 迁移 battleStatistics
|
2026-10-24 16:55:21 +08:00 |
|
TermiNexus
|
437c71ccdb
|
feat(state): 迁移 clanChatState/battleSearchState
|
2026-10-24 16:45:20 +08:00 |
|
TermiNexus
|
4c11c3e530
|
feat(state): 迁移 battlePauseState/battleViewState/tankActionsLogState/suppliesTutorial
|
2026-10-24 16:33:38 +08:00 |
|
TermiNexus
|
c117022969
|
feat(state): 迁移 friends/suppliesState/clanUserInfo/battleInviteState/partner/userRenameState
|
2026-10-24 16:00:39 +08:00 |
|
TermiNexus
|
e992ab9b74
|
feat(state): 迁移 system/contextTutorial/battleTutorial/spectator/twoStepVerificationState/antiAddiction/moderation/migrationState/register/userReportsState
|
2026-10-24 15:32:47 +08:00 |
|
TermiNexus
|
b21411cf55
|
feat(state): 迁移 tipsState/rankUpDialogState/battleResult/captchaState/modalScreen/droppableGold/eventGoods/creatorTagState/rewardedVideosState/passwordChangeState
|
2026-10-24 14:43:51 +08:00 |
|
TermiNexus
|
cd99b6241c
|
feat(state): 迁移 icons/questCategories/mainQuest/securitySettings/referralEvent
|
2026-10-24 14:12:19 +08:00 |
|
TermiNexus
|
e060ab87b4
|
feat(state): 迁移 lobbyLoader/purchaseDialogState/promoCode/supportUrl/rulesUpdated/notificationByCountry/availabilityByRank
|
2026-10-24 13:29:41 +08:00 |
|
TermiNexus
|
02812ed407
|
fix(state): quests 的 SetNotCompletedQuests 实际是 no-op(动作字段与 cd 同为 undefined)
|
2026-10-24 13:14:28 +08:00 |
|
TermiNexus
|
792973ef5b
|
feat(state): 迁移 news/notifications/quests 切片
|
2026-10-24 13:05:13 +08:00 |
|
TermiNexus
|
e66636c737
|
feat(state): 批量迁移 accountSettings/proBattle/language/announcement 切片
|
2026-10-24 12:19:13 +08:00 |
|
TermiNexus
|
f6b819a13f
|
feat(state): 迁移 settings 切片(2 字段 / 2 臂)
|
2026-10-23 17:20:56 +08:00 |
|
TermiNexus
|
aff93c89fa
|
feat(state): 迁移 user 切片(32 字段 / 28 臂)
|
2026-10-23 16:36:23 +08:00 |
|
TermiNexus
|
12aab6b4e9
|
feat(state): 迁移 entrance 切片(8 字段 / 7 臂)
|
2026-10-23 15:47:18 +08:00 |
|
TermiNexus
|
7f306a1baa
|
feat(state): 收口 launchParams 切片为强类型透传(11/89)
|
2026-10-23 15:29:05 +08:00 |
|
TermiNexus
|
f2e3d2608f
|
feat(state): 迁移 garagePreview 切片(22 字段 / 25 分支)
|
2026-10-23 15:12:10 +08:00 |
|
TermiNexus
|
df7f3ecee7
|
feat(state): 迁移 garage 切片(31 字段 / 60 分支)
|
2026-10-23 13:58:47 +08:00 |
|
TermiNexus
|
9cab433bd9
|
feat(state): 迁移补给箱切片(18 个动作 + ContainerType)
|
2026-10-23 12:25:43 +08:00 |
|
TermiNexus
|
e6d16ccee0
|
feat(state): 迁移屏幕导航切片(13 个动作 + ScreenId)
|
2026-10-23 03:28:57 +08:00 |
|
TermiNexus
|
9303b0509e
|
test(state): 用真实派发样例回放商店切片
|
2026-10-23 02:38:36 +08:00 |
|
TermiNexus
|
ec89d9c76a
|
feat(state): 全量迁移商店切片(69 个动作 + U7/w3 子状态)
|
2026-10-23 02:13:31 +08:00 |
|
TermiNexus
|
cd680708bd
|
feat(state): 迁移 home 与 localBattleUserState 两个内联切片
|
2026-10-23 01:24:21 +08:00 |
|
TermiNexus
|
fba31fb63c
|
feat(state): 按效果为无 toString 的 o1 定名 ShowShopDiscountNotification
|
2026-10-23 01:19:35 +08:00 |
|
TermiNexus
|
737390a720
|
feat(state): 4 个内联 IIFE 切片按字段具名并补动作名
|
2026-10-23 00:56:50 +08:00 |
|
TermiNexus
|
0d4f12effb
|
feat(state): 迁密码登录与 Twitch 切片,拼出 89 槽位根 reducer
|
2026-10-23 00:38:10 +08:00 |
|
TermiNexus
|
b4ecb80b23
|
feat(state): 迁移登录邀请切片 reducer(InviteState)
1) 动作在 Kotlin 侧不再要求公共基类:原包动作也没有基类,Store/Gateway 改用 Any,817 个生成类无需实现接口。
2) 新增 App/State/Reducers/InviteReducer.kt,逐条对照 module_10032:状态 aD=InviteState(isInviteNeed, invite, status, existsUid, inviteAccepted)、枚举 lD=InviteStatus(UNKNOWN/FREE/NOT_FOUND/ALREADY_ACTIVATED)、reducer pD.er5 的三条分支。默认值取自构造函数(isInviteNeed 默认 true、invite 默认空串、status 默认 UNKNOWN、inviteAccepted 默认 false)。
3) 自检 19 增到 26 项:默认值、三条动作分支(含 FREE 推导 inviteAccepted、ApplyInvite 重置 status/existsUid)、无关动作不动、接 Store 派发后归约。
结果:TANKIOFFLINE_STATE_TEST=1 全通过。
|
2026-10-23 00:05:58 +08:00 |
|
TermiNexus
|
6a07f9a39f
|
feat(state): 用 138 条真实 dispatch 样例回放校验动作目录
1) analyze_action_trace 保留每个动作的第一行原始 toString(Samples),并新增两条类型规则:见过 [object Object] 记为 Opaque(运行时说不出类型,但不能再让调用点猜);字段只要出现过 null 就补可空后缀(Long?/List<String>?)。
2) gen_action_kt 产出 ActionSamples.kt;可选类的判定改用「样例那一行的字段集」,修掉 Configure 选错行(1 字段的 config 版 vs 12 字段的真实版)。
3) 自检加两组:回放对照(138 个动作 × 真实字段值,缺类/缺字段/类型不符三项必须为 0)+ 全目录 817 个动作类注册并验证只路由命中项。
结果:19 项全通过;缺类 0 / 缺字段 0 / 类型不符 0。过程中修出 8 处错型:6 个 Opaque 字段曾被误判成 Long,4 个字段缺少可空性。
|
2026-10-22 14:36:33 +08:00 |
|
TermiNexus
|
1f3be211a5
|
feat(state): 生成动作目录 ActionCatalog,把 817 个类与实际 dispatch 名对上
1) gen_action_kt 现在额外产出 App/State/ActionCatalog.kt:817 条(816 个 module_10032 数据类 + module_10849 的 InitState),每条带类引用与字段类型。
2) State 模块补 InitState(type, action):原 module_10849 的 ct,toString 证据为 InitState(type=…, action=…)。
3) 自检从 10 项扩到 15 项:目录非空、名字唯一、每个条目能拿到 KClass、运行时打点过的 135 个动作名 0 缺口、ByName 与 All 对齐。
结果:TANKIOFFLINE_STATE_TEST=1 全通过(目录 817 条;打点动作名 135 个;缺口 0)。
|
2026-10-22 12:52:18 +08:00 |
|
TermiNexus
|
0de4493074
|
feat(state): 移植 Redux 内核(Store/中间件/网关)并加 10 项自检
对照 module_10849 的 toString 证据实现:vt=ReduxStore(归约+监听器+中间件链)、yt=ReduxToModelGateway(按动作类先通知、再交给 Store;模型/键/游戏对象三级订阅,重复订阅 fail-fast)。
自检 TANKIOFFLINE_STATE_TEST=1:归约累加、通知次数与新状态可见性、中间件由外向内顺序、动作监听器先于归约、模型订阅/退订、重复订阅抛错、派发经过调度器,共 10 项全通过。
state 模块补 js(IR){browser();nodejs()} 使 :app 可依赖;新增 tools/RunStateTest.ps1。
|
2026-10-22 12:47:51 +08:00 |
|