diff --git a/.codex/skills/th1-ios-migration/SKILL.md b/.codex/skills/th1-ios-migration/SKILL.md
new file mode 100644
index 000000000..2bd9617ed
--- /dev/null
+++ b/.codex/skills/th1-ios-migration/SKILL.md
@@ -0,0 +1,244 @@
+---
+name: th1-ios-migration
+description: "TH1 project-specific iOS migration guide for same-mainline dual-platform support: HybridCLR hot update foundation, iOS/IL2CPP compile isolation, Steamworks/Steam SDK platform abstraction without Steam regressions, touch input adaptation, YooAsset AssetBundle/resource migration, iOS build settings, and verification that existing online Steam builds and gameplay behavior remain unaffected. Use whenever Codex works on TH1 iOS packaging, mobile porting, HybridCLR, YooAsset AB/resource loading, removing direct Steamworks references for iOS, platform services, touch controls, or build pipeline changes that must preserve the current Steam version."
+---
+
+# TH1 iOS Migration
+
+## Core Rule
+
+TH1 iOS migration is same-mainline dual-platform work. Do not create a long-lived Steam code line and a separate mobile code line.
+
+Every change must preserve the existing Steam build and gameplay behavior while adding iOS support through platform-specific implementations, build defines, asmdef/platform settings, and no-op/mobile services.
+
+Default target shape:
+
+- Shared gameplay, action logic, AI, `MapData`, config, save data, and localization stay common.
+- Steam SDK, Steam lobby/P2P, Workshop, Steam auth, and Steam-specific UI live behind Steam-only platform boundaries.
+- iOS gets IL2CPP/AOT-compatible code, mobile/no-op platform services, touch input, and platform-specific resources.
+- Steam and iOS may have separate build profiles, resource bundles, and release branches, but not divergent business logic.
+
+## First Reads
+
+Read the relevant files before editing:
+
+- `MD/GameMDFramework/00-主文档-游戏架构总览.md`
+- `MD/GameMDFramework/11-网络与Steam.md`
+- `MD/GameMDFramework/13-配置与数据资产.md`
+- `Unity/Packages/manifest.json`
+- `Unity/ProjectSettings/ProjectSettings.asset`
+- `Unity/Assets/Scripts/TH1_Logic/Core/Main.cs`
+- `Unity/Assets/Scripts/TH1_Logic/Net/ILobby.cs`
+- `Unity/Assets/Scripts/TH1_Logic/Net/LobbyManager.cs`
+- `Unity/Assets/Scripts/TH1_Logic/Steam/SteamLobbyManager.cs`
+- `Unity/Assets/com.rlabrecque.steamworks.net/Runtime/com.rlabrecque.steamworks.net.asmdef`
+- `Unity/Assets/Scripts/TH1_Logic/Input/InputLogic.cs`
+- `Unity/Assets/Scripts/TH1_UI/CameraController.cs`
+- `Unity/Assets/Scripts/TH1_UI/View/Base/View.cs`
+- `Unity/Assets/Scripts/TH1_Logic/Rersource/ResourceManager.cs`
+- `Unity/Assets/AssetBundleCollectorSetting.asset`
+- `Unity/Assets/Scripts/TH1_Resource/ResourceCache.cs`
+- `Unity/Assets/Scripts/TH1_Logic/Config/ConfigManager.cs`
+
+Also use:
+
+- `th1-network-sync` when touching lobby, P2P, `GameNetSender`, `GameNetReceiver`, `NetData`, action sync, reconnect, or multiplayer start/resume.
+- `th1-action-logic` when changing authoritative gameplay, action execution, AI action flow, replay, or deterministic behavior.
+- `th1-multilingual` when changing Workshop/local mod language loading or localization resources.
+- `th1-server-backend` when replacing Steam auth, STS, OSS upload, bug report upload, or backend identity.
+
+## Migration Order
+
+Use this order unless the user explicitly changes it:
+
+1. Add HybridCLR foundation.
+2. Clean iOS compile isolation and Steam platform boundaries.
+3. Add touch/mobile input adaptation.
+4. Migrate resources to YooAsset AssetBundle flow.
+5. Add automated Steam/iOS build and hot-update packaging verification.
+
+Do not use AB/YooAsset migration as a way to hide platform compile errors. iOS compile isolation must become clean before large resource replacement.
+
+## Phase 0: Baseline And Steam Parity Contract
+
+Before editing:
+
+- Run `git status --short` and preserve unrelated user changes.
+- Search direct platform dependencies with `rg -n "using Steamworks|SteamUser|SteamFriends|SteamUtils|SteamUGC|SteamAPI|SteamManager|TH1_Logic\\.Steam|UNITY_IOS|STEAM_CHANNEL|Resources\\.Load|Input\\.Get|mousePosition|safeArea" Unity/Assets/Scripts`.
+- Identify whether the change is platform boundary, hotfix assembly layout, touch input, resource loading, backend auth, or build settings.
+- Write down which Steam behavior must remain identical: lobby, P2P, Workshop, achievements, bug report upload, OSS collect upload, config/save, UI visibility, and multiplayer action sync.
+
+Steam parity rules:
+
+- Do not delete Steamworks.NET or Steam-specific scripts as part of iOS migration.
+- Do not remove `STEAM_CHANNEL` behavior for Standalone.
+- Do not change multiplayer state machines unless the task is explicitly network work and `th1-network-sync` is active.
+- Do not move authoritative action logic into hotfix assemblies unless the user explicitly accepts the extra deterministic and replay risk.
+- Do not modify obfuscation, MemoryPack compatibility, or generated config outputs without repeated explicit confirmation from the user.
+
+## Phase 1: HybridCLR Foundation
+
+Goal: create a hot-update pipeline without changing Steam gameplay.
+
+Preferred first scope:
+
+- Add HybridCLR package/config/build steps.
+- Create hotfix assembly boundaries such as `TH1.Hotfix` only after deciding what belongs there.
+- Keep authoritative turn/action/AI/network contracts in AOT main assemblies at first.
+- Put low-risk UI, presentation helpers, non-networked bug fixes, or feature flags into hotfix first.
+- Generate and commit required AOT metadata/link preservation files only through the documented HybridCLR workflow.
+- Ensure the Steam build can still run without downloading any hotfix package when using local/editor mode.
+
+iOS constraints:
+
+- iOS is IL2CPP/AOT. Assume reflection, generic sharing, MemoryPack formatters, and dynamically referenced types can be stripped unless preserved.
+- Treat code hot update on iOS as sensitive. Do not present it as a way to bypass App Store review. Prefer resources/configs for content updates and use code hotfix cautiously.
+- Keep a rollback path: base app version, hotfix manifest version, minimum compatible app version, and ability to ignore bad hotfix packages.
+
+Checks:
+
+- Steam Standalone compile still succeeds.
+- iOS IL2CPP compile reaches the next real blocker.
+- Hotfix assembly does not reference Steamworks or editor-only assemblies.
+- `link.xml`/preserve additions are minimal and justified.
+
+## Phase 2: iOS Compile Isolation And Steam Boundary
+
+Goal: iOS compiles without Steamworks types while Steam keeps full behavior.
+
+Preferred pattern:
+
+- Move platform-neutral DTOs out of `TH1_Logic.Steam` into `TH1_Logic.Net` or a platform-neutral namespace before sharing them through `ILobby`.
+- Make `ILobby` and shared UI/data contracts free of `Steamworks` types.
+- Keep `SteamLobbyManager`, `SimpleP2P`, `GameNetSender`, `GameNetReceiver`, Workshop browser/uploader, and Steam auth under Steam-only compile/platform boundaries.
+- Add mobile/no-op implementations for services iOS cannot use yet.
+- Hide or disable unsupported iOS UI entries instead of leaving clickable failing paths.
+
+Use platform services for direct SDK access:
+
+- `IPlatformUser`: user id, display name, login state.
+- `IPlatformLobby`/existing `ILobby`: lobby/multiplayer operations.
+- `IPlatformAchievement`: local/Steam/Game Center achievements.
+- `IPlatformWorkshop` or local mod service: Workshop and local mod separation.
+- `IPlatformAuth`: Steam ticket, Game Center/apple/backend/anonymous auth.
+- `IPlatformBackendUpload`: OSS/bug report/collect upload routing.
+
+Compile guard guidance:
+
+- Prefer asmdef include platforms and service implementations over scattered `#if`.
+- Use `#if STEAM_CHANNEL || UNITY_STANDALONE` only around Steam-specific code, not around shared gameplay.
+- Do not make `UNITY_EDITOR` automatically mean Steam behavior if that blocks iOS simulation or mobile service testing in editor.
+- Keep editor-only tooling under editor asmdefs or `#if UNITY_EDITOR`.
+
+Checks:
+
+- `rg -n "using Steamworks|SteamUser|SteamFriends|SteamUtils|SteamUGC|SteamAPI|SteamManager" Unity/Assets/Scripts -g '!Steamworks.NET/**'` should show only Steam-only files or files guarded out of iOS.
+- `LobbyManager` selects Steam for Steam builds and no-op/mobile for iOS.
+- iOS build does not compile against the Steamworks.NET asmdef.
+- Steam multiplayer, Workshop, and Steam upload paths are unchanged or covered by explicit parity tests.
+
+## Phase 3: Touch And Mobile Input
+
+Goal: single-player iOS is playable without keyboard/mouse.
+
+Touch work is a UX layer, not a gameplay mutation layer:
+
+- Do not bypass action construction or `CheckCan`/`CompleteExecute`.
+- Convert tap/drag/pinch/cancel/confirm into the same input/action intentions used by existing UI and `InputLogic`.
+- Keep keyboard/mouse shortcuts working on Steam.
+- Add touch-specific affordances when keyboard shortcuts previously exposed required commands.
+
+Minimum iOS control coverage:
+
+- Tap grid/unit/city selection.
+- Tap action buttons and confirm/cancel flows.
+- Drag camera.
+- Pinch zoom replacing mouse wheel.
+- Long press or explicit UI button for right-click/cancel-equivalent actions.
+- Safe area handling for top/bottom UI.
+- ScrollRect feel and button target size on touch.
+
+Checks:
+
+- Single-player start, select civ/force, generate map, move unit, attack, build/train, end turn, save/load, and finish game remain possible on touch.
+- Steam keyboard/mouse behavior is not removed.
+- UI text and buttons fit common iPhone and iPad aspect ratios.
+
+## Phase 4: YooAsset AssetBundle Flow
+
+Goal: move toward AB/resource hot update without destabilizing the Steam build.
+
+Use the existing YooAsset package and `AssetBundleCollectorSetting.asset` unless there is a clear reason not to.
+
+Recommended sequence:
+
+1. Finish a real `ResourceManager` wrapper around YooAsset package initialization.
+2. Start with `OfflinePlayMode` so resources are packaged with the app.
+3. Add platform-specific package build output: Standalone and iOS must produce separate bundles.
+4. Move high-value resource groups first: UI prefabs, common sprites, audio, config data assets, large visual assets.
+5. Replace `Resources.Load` through local resource/cache entrypoints, not scattered direct YooAsset calls.
+6. Only after Offline is stable, add `HostPlayMode` for CDN/OSS remote resource update.
+
+Resource rules:
+
+- Keep stable logical addresses. Do not make gameplay code depend on platform-specific paths.
+- Do not modify export-flow outputs such as `Unity/Assets/Resources/Export/*`, `Tools/Multilingual.xlsx`, or `Tools/MultilingualTxt.txt` unless the user asked for export/import changes.
+- Use iOS-specific texture/audio compression settings and bundle output. Do not reuse PC texture assumptions blindly.
+- Treat generated config/DataAsset loading as compatibility-sensitive; preserve existing table and localization behavior.
+
+Checks:
+
+- Steam package can still load existing resources in editor and standalone.
+- iOS package uses iOS bundles and does not load PC-only bundle variants.
+- Missing asset failures are logged with package/address/platform.
+- No synchronous remote download is required during deterministic action execution.
+
+## Phase 5: Build Pipeline And Release Discipline
+
+Maintain one main branch with separate build profiles:
+
+- Steam build: Standalone, `STEAM_CHANNEL`, Steamworks.NET, Steam lobby/P2P, Workshop, Steam auth/upload.
+- iOS build: iOS, IL2CPP, mobile platform services, no Steamworks compile dependency, touch enabled, iOS bundles.
+- Hot update build: platform-specific HybridCLR DLL/AOT metadata and YooAsset manifests.
+
+Release branches may exist for stabilization only:
+
+- `release/steam-*` and `release/ios-*` may freeze and cherry-pick fixes.
+- All durable business logic fixes should return to the shared mainline.
+- Avoid copy-pasted Steam/mobile variants of gameplay classes.
+
+## Verification
+
+For ordinary C# changes run:
+
+```powershell
+dotnet build Unity/Assembly-CSharp.csproj --no-restore
+```
+
+For editor/build pipeline/resource tooling changes also run:
+
+```powershell
+dotnet build Unity/Assembly-CSharp-Editor.csproj --no-restore
+```
+
+Also verify the relevant Unity builds when possible:
+
+- Steam Editor/Standalone smoke test.
+- iOS switch-platform compile or Xcode export.
+- HybridCLR generate/compile hotfix artifacts.
+- YooAsset build for the touched package/platform.
+
+Manual smoke checklist:
+
+- Steam: start game, create/join lobby if network touched, Workshop/mod page if Workshop touched, bug report/upload if backend touched.
+- iOS/mobile: launch, start single-player, touch select/move/action/end turn, save/load, rotate/aspect/safe area check.
+- Shared: config load/save, localization, achievements/local progress, no hardcoded game-facing text added.
+
+## Stop Conditions
+
+Stop and ask before continuing if:
+
+- A change would require editing MemoryPack serialization compatibility, obfuscation config, generated config outputs, or Steam backend auth contracts.
+- The only easy path is duplicating gameplay code between Steam and iOS.
+- iOS support would require removing or weakening existing Steam multiplayer guarantees.
+- A hotfix assembly needs to own authoritative action/network/replay logic before the migration baseline is stable.
diff --git a/.codex/skills/th1-ios-migration/agents/openai.yaml b/.codex/skills/th1-ios-migration/agents/openai.yaml
new file mode 100644
index 000000000..519298185
--- /dev/null
+++ b/.codex/skills/th1-ios-migration/agents/openai.yaml
@@ -0,0 +1,4 @@
+interface:
+ display_name: "TH1 iOS Migration"
+ short_description: "HybridCLR, iOS isolation, touch, YooAsset"
+ default_prompt: "Use $th1-ios-migration when making TH1 iOS migration changes that must keep the Steam build and existing gameplay behavior intact."
diff --git a/MD/CrashSight_2026-06-09_0.7.3e_1day/index.md b/MD/CrashSight_2026-06-09_0.7.3e_1day/index.md
new file mode 100644
index 000000000..492f31793
--- /dev/null
+++ b/MD/CrashSight_2026-06-09_0.7.3e_1day/index.md
@@ -0,0 +1,34 @@
+# CrashSight 0.7.3e 最近一天 ERROR 分析
+
+- 捕获时间:2026-06-09 10:58:01
+- 筛选范围:`0.7.3e`,`last_1_day`,ERROR,未处理/处理中
+- CrashSight numFound:23
+- 去重 Issue:23
+- blocking:0 个 Issue,0 次
+- logerror:23 个 Issue,51 次
+- 原始数据:`Temp\CrashSight\Daily_2026-06-09_0.7.3e`
+
+## 阻断家族
+
+未发现包含真实异常对象/栈的 blocking Issue。
+
+## 非阻断高频
+
+| 类别 | Issue 数 | 次数 |
+|---|---:|---:|
+| P2P/大厅连接失败诊断 | 2 | 22 |
+| 多语言 ID 为空 | 2 | 6 |
+| 网络发送失败诊断 | 6 | 6 |
+| AI 计算死循环保护 | 2 | 4 |
+| STS/OSS 上传失败诊断 | 2 | 4 |
+| 其他项目诊断日志 | 4 | 4 |
+| 相似 Action 重复诊断 | 4 | 4 |
+| 受击生命周期格子为空诊断 | 1 | 1 |
+
+## 报告
+
+- [LogError Summary](logerror_summary.md)
+
+## 说明
+
+blocking 的判定只认真实异常类型、异常对象或调用栈;纯 `LogSystem.LogError` 业务状态诊断归入 logerror。
diff --git a/MD/CrashSight_2026-06-09_0.7.3e_1day/logerror_summary.md b/MD/CrashSight_2026-06-09_0.7.3e_1day/logerror_summary.md
new file mode 100644
index 000000000..97d7b2149
--- /dev/null
+++ b/MD/CrashSight_2026-06-09_0.7.3e_1day/logerror_summary.md
@@ -0,0 +1,47 @@
+# LogError Summary
+
+- 筛选范围:`0.7.3e`,`last_1_day`,ERROR,status `0,2`
+- 捕获时间:2026-06-09 10:58:01
+- 非阻断 Issue:23
+- 非阻断次数:51
+
+## 分类汇总
+
+| 类别 | Issue 数 | 次数 | 设备数 | 代码位置 | 示例 Issue |
+|---|---:|---:|---:|---|---|
+| P2P/大厅连接失败诊断 | 2 | 22 | 8 | Unity/Assets/Scripts\TH1_Logic\Steam\SimpleP2P.cs:479: LogSystem.LogError($"Connection failed - Reason: {endReason}"); | 01eaa6aefd9162eccc930c2450a63779, 9b415b4bbb546c66eba3a6b67f916d35 |
+| 多语言 ID 为空 | 2 | 6 | 6 | Unity/Assets/Scripts\TH1_Logic\Multilingual\MultilingualManager.cs:176: LogSystem.LogError($"多语言ID为空");
Unity/Assets/Scripts\TH1_Logic\Multilingual\MultilingualManager.cs:200: LogSystem.LogError($"多语言ID为空"); | f5d6caefc1e5ac72cd5c21a56e3dfddb, 691253c2a412f07945231dd650f58213 |
+| 网络发送失败诊断 | 6 | 6 | 6 | Unity/Assets/Scripts\TH1_Logic\Action\ActionLogic.cs:1230: LogSystem.LogError($"ActionConfirm send failed, abort local execute: {ActionId.GetStringLog()}"); | dbce2880e5ad9287fcca2bf271f97622, 81a5e2896daabc7005cd79ae522de4bf, 2cb3d67ddfe0d9587abd02390f5de041 |
+| AI 计算死循环保护 | 2 | 4 | 4 | Unity/Assets/Scripts\TH1_Logic\AI\AILogic.cs:179: LogSystem.LogError($"死循环了,最终记录点为:{MainEditor.Instance.BTNodeId}");
Unity/Assets/Scripts\TH1_Logic\AI\AIActionBase.cs:528: LogSystem.LogError($"死循环了"); | bb81bce180d8672f500aa9f2021ec9f8, 83c5b5b46447ac4e50101f1148f4ab70 |
+| STS/OSS 上传失败诊断 | 2 | 4 | 4 | Unity/Assets/Scripts\TH1_Logic\Oss\OssManager.cs:124: LogSystem.LogError($"CollectData upload failed: {ex.Message}"); | 4519111d864a8906a22e97fb6b1dafde, 93509b23a954c79d835f4138bab9f3f7 |
+| 其他项目诊断日志 | 4 | 4 | 4 | 未直接定位 | dc8a0a12922d2ba2cd2b232774f909fb, 786bc4b518cd1e0cdb1e4f0b134573b8, 94c57a8beeeb7a5d974d168da2b55836 |
+| 相似 Action 重复诊断 | 4 | 4 | 4 | Unity/Assets/Scripts\TH1_Logic\AI\AILogic.cs:230: if(_sameCount > 5) LogSystem.LogError($"存在相似action ,记录点为:{MainEditor.Instance.BTNodeId} ," + | eef2a9c6d58f5454cecf029ffc2438d3, 284527635e39660c5430a3fe6170231a, f76a1c7293c1f7361bf9545b93892bdb |
+| 受击生命周期格子为空诊断 | 1 | 1 | 1 | Unity/Assets/Scripts\TH1_Logic\Skill\AllSkill\SatoriSeeSkill.cs:45: LogSystem.LogError($"BeforeUnitDamaged Error selfGrid : {selfGrid}, targetGrid : {targetGrid}"); | fec6b9b264a6c8b1fa5ac0591bdf3b41 |
+
+## 明细
+
+| Issue | 类别 | 类型 | 次数 | 设备 | 最近上报 | 消息 |
+|---|---|---|---:|---:|---|---|
+| [9b415b4bbb546c66eba3a6b67f916d35](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/9b415b4bbb546c66eba3a6b67f916d35?pid=10) | P2P/大厅连接失败诊断 | UnityLogError | 14 | 3 | 2026-06-09 10:22:16 | 应用层拒绝连接 - 错误码: 1000,可能原因:1.对方未创建监听套接字 2.对方主动拒绝 3.对方游戏未运行 |
+| [01eaa6aefd9162eccc930c2450a63779](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/01eaa6aefd9162eccc930c2450a63779?pid=10) | P2P/大厅连接失败诊断 | UnityLogError | 8 | 5 | 2026-06-09 10:35:21 | Connection failed - Reason: 1000 |
+| [691253c2a412f07945231dd650f58213](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/691253c2a412f07945231dd650f58213?pid=10) | 多语言 ID 为空 | UnityLogError | 3 | 3 | 2026-06-09 08:11:36 | 多语言ID为空 |
+| [bb81bce180d8672f500aa9f2021ec9f8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/bb81bce180d8672f500aa9f2021ec9f8?pid=10) | AI 计算死循环保护 | UnityLogError | 3 | 3 | 2026-06-09 09:49:28 | 死循环了 |
+| [f5d6caefc1e5ac72cd5c21a56e3dfddb](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/f5d6caefc1e5ac72cd5c21a56e3dfddb?pid=10) | 多语言 ID 为空 | UnityLogError | 3 | 3 | 2026-06-09 08:11:37 | 多语言ID为空 |
+| [4519111d864a8906a22e97fb6b1dafde](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4519111d864a8906a22e97fb6b1dafde?pid=10) | STS/OSS 上传失败诊断 | UnityLogError | 2 | 2 | 2026-06-09 10:27:52 | CollectData upload failed: STS request failed: HTTP/1.1 403 Forbidden |
+| [93509b23a954c79d835f4138bab9f3f7](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/93509b23a954c79d835f4138bab9f3f7?pid=10) | STS/OSS 上传失败诊断 | UnityLogError | 2 | 2 | 2026-06-09 10:27:50 | STS request failed: HTTP/1.1 403 Forbidden, Response: {"error":"Steam verification failed: Steam API 请求失败(重试 2 次): Steam API 请求超时(8000ms)"} |
+| [1d2092e8267a158d39aa1a040041020d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/1d2092e8267a158d39aa1a040041020d?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-09 10:27:06 | P2P broadcast preflight failed: target=76561199140125537, reason=No connection to 76561199140125537 |
+| [284527635e39660c5430a3fe6170231a](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/284527635e39660c5430a3fe6170231a?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-09 10:22:07 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : Aquatism PlayerAction : None AIParam : AllClear Tech : Aquatism CultureCardType : None 重复次数 :6 |
+| [2cb3d67ddfe0d9587abd02390f5de041](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/2cb3d67ddfe0d9587abd02390f5de041?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-09 10:27:09 | ij: 房主广播失败 |
+| [4628d34f3d350cc5201a4b0061d92890](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4628d34f3d350cc5201a4b0061d92890?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-09 09:47:47 | epn: 发送给房主失败 |
+| [4b42e043c64194e31205b4fa1a9b4d2d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4b42e043c64194e31205b4fa1a9b4d2d?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-09 02:19:12 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KomeijiIndianNavigation PlayerAction : None AIParam : AllClear Tech : KomeijiIndianNavigation CultureCar… |
+| [786bc4b518cd1e0cdb1e4f0b134573b8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/786bc4b518cd1e0cdb1e4f0b134573b8?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-09 03:45:07 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=3718009707, ActionIndex=753, DataUnits=10, RenderUnits=11, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[752]: Version=752, MapHash=b3c222fb7630a79e12bd026e1acc5c2a Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : … |
+| [81a5e2896daabc7005cd79ae522de4bf](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/81a5e2896daabc7005cd79ae522de4bf?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-09 10:27:13 | P2P broadcast preflight failed: target=76561199481856121, reason=Target is not a lobby peer: 76561199481856121 |
+| [83c5b5b46447ac4e50101f1148f4ab70](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/83c5b5b46447ac4e50101f1148f4ab70?pid=10) | AI 计算死循环保护 | UnityLogError | 1 | 1 | 2026-06-09 07:18:07 | 死循环了,最终记录点为:194 |
+| [94c57a8beeeb7a5d974d168da2b55836](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/94c57a8beeeb7a5d974d168da2b55836?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-09 02:16:47 | AddUnitData blocked: target grid occupied. gid=29, cid=132, newUnit=Warrior/None/0, existingUnitId=134, existingUnit=Giant/IndianKoishi/1, mapId=1420962692 |
+| [9710b2a3ce8de361e2e1d64f357e1c53](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/9710b2a3ce8de361e2e1d64f357e1c53?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-09 09:47:46 | P2P message send failed: target=76561198078001233, reason=Connection to 76561198078001233 is not active for queueing. State: k_ESteamNetworkingConnectionState_ClosedByPeer, bytes: 36 |
+| [a4a999b4713d79384b69e705f9ea432b](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/a4a999b4713d79384b69e705f9ea432b?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-09 01:46:19 | 房间人数超过玩家槽位数量: member=76561199140125537, playerCount=4 |
+| [dbce2880e5ad9287fcca2bf271f97622](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/dbce2880e5ad9287fcca2bf271f97622?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-09 10:27:15 | ij: 房主广播失败 |
+| [dc8a0a12922d2ba2cd2b232774f909fb](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/dc8a0a12922d2ba2cd2b232774f909fb?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-09 10:31:15 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=3469557537, ActionIndex=478, DataUnits=41, RenderUnits=42, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[477]: Version=477, MapHash=d4f1de5674640aa2ed385ef3664e40fe Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None… |
+| [eef2a9c6d58f5454cecf029ffc2438d3](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/eef2a9c6d58f5454cecf029ffc2438d3?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-09 10:28:57 | 存在相似action ,记录点为:716 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : Strategy PlayerAction : None AIParam : AllClear Tech : Strategy CultureCardType : None 重复次数 :7 |
+| [f76a1c7293c1f7361bf9545b93892bdb](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/f76a1c7293c1f7361bf9545b93892bdb?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-09 05:35:33 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KanakoChivalry PlayerAction : None AIParam : AllClear Tech : KanakoChivalry CultureCardType : None 重复次数 … |
+| [fec6b9b264a6c8b1fa5ac0591bdf3b41](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/fec6b9b264a6c8b1fa5ac0591bdf3b41?pid=10) | 受击生命周期格子为空诊断 | UnityLogError | 1 | 1 | 2026-06-09 03:01:26 | BeforeUnitDamaged Error selfGrid : bsr, targetGrid : |
diff --git a/MD/CrashSight_2026-06-09_0.7.3e_1day/report_manifest.json b/MD/CrashSight_2026-06-09_0.7.3e_1day/report_manifest.json
new file mode 100644
index 000000000..20d1dcf9a
--- /dev/null
+++ b/MD/CrashSight_2026-06-09_0.7.3e_1day/report_manifest.json
@@ -0,0 +1,122 @@
+{
+ "date": "2026-06-09",
+ "version": "0.7.3e",
+ "capture": {
+ "capturedAtUtc": "2026-06-09T02:58:01+00:00",
+ "capturedAtLocal": "2026-06-09 10:58:01",
+ "rawDir": "Temp\\CrashSight\\Daily_2026-06-09_0.7.3e",
+ "reportDir": "MD\\CrashSight_2026-06-09_0.7.3e_1day"
+ },
+ "filter": {
+ "version": "0.7.3e",
+ "date": "last_1_day",
+ "status": "0,2",
+ "exceptionCategoryList": "ERROR",
+ "sortField": "uploadTime",
+ "sortOrder": "desc",
+ "rows": 100
+ },
+ "totalIssues": 23,
+ "blockingIssues": 0,
+ "blockingOccurrences": 0,
+ "logerrorIssues": 23,
+ "logerrorOccurrences": 51,
+ "blockingReports": [],
+ "categories": [
+ {
+ "id": "p2p-lobby-connection-failure",
+ "title": "P2P/大厅连接失败诊断",
+ "class": "logerror",
+ "issueCount": 2,
+ "occurrences": 22,
+ "issues": [
+ "01eaa6aefd9162eccc930c2450a63779",
+ "9b415b4bbb546c66eba3a6b67f916d35"
+ ]
+ },
+ {
+ "id": "multilingual-empty-id",
+ "title": "多语言 ID 为空",
+ "class": "logerror",
+ "issueCount": 2,
+ "occurrences": 6,
+ "issues": [
+ "f5d6caefc1e5ac72cd5c21a56e3dfddb",
+ "691253c2a412f07945231dd650f58213"
+ ]
+ },
+ {
+ "id": "network-send-failure",
+ "title": "网络发送失败诊断",
+ "class": "logerror",
+ "issueCount": 6,
+ "occurrences": 6,
+ "issues": [
+ "dbce2880e5ad9287fcca2bf271f97622",
+ "81a5e2896daabc7005cd79ae522de4bf",
+ "2cb3d67ddfe0d9587abd02390f5de041",
+ "1d2092e8267a158d39aa1a040041020d",
+ "4628d34f3d350cc5201a4b0061d92890",
+ "9710b2a3ce8de361e2e1d64f357e1c53"
+ ]
+ },
+ {
+ "id": "ai-loop-guard",
+ "title": "AI 计算死循环保护",
+ "class": "logerror",
+ "issueCount": 2,
+ "occurrences": 4,
+ "issues": [
+ "bb81bce180d8672f500aa9f2021ec9f8",
+ "83c5b5b46447ac4e50101f1148f4ab70"
+ ]
+ },
+ {
+ "id": "sts-upload-failure",
+ "title": "STS/OSS 上传失败诊断",
+ "class": "logerror",
+ "issueCount": 2,
+ "occurrences": 4,
+ "issues": [
+ "4519111d864a8906a22e97fb6b1dafde",
+ "93509b23a954c79d835f4138bab9f3f7"
+ ]
+ },
+ {
+ "id": "other-logerror",
+ "title": "其他项目诊断日志",
+ "class": "logerror",
+ "issueCount": 4,
+ "occurrences": 4,
+ "issues": [
+ "dc8a0a12922d2ba2cd2b232774f909fb",
+ "786bc4b518cd1e0cdb1e4f0b134573b8",
+ "94c57a8beeeb7a5d974d168da2b55836",
+ "a4a999b4713d79384b69e705f9ea432b"
+ ]
+ },
+ {
+ "id": "duplicate-similar-action",
+ "title": "相似 Action 重复诊断",
+ "class": "logerror",
+ "issueCount": 4,
+ "occurrences": 4,
+ "issues": [
+ "eef2a9c6d58f5454cecf029ffc2438d3",
+ "284527635e39660c5430a3fe6170231a",
+ "f76a1c7293c1f7361bf9545b93892bdb",
+ "4b42e043c64194e31205b4fa1a9b4d2d"
+ ]
+ },
+ {
+ "id": "damage-grid-null-diagnostic",
+ "title": "受击生命周期格子为空诊断",
+ "class": "logerror",
+ "issueCount": 1,
+ "occurrences": 1,
+ "issues": [
+ "fec6b9b264a6c8b1fa5ac0591bdf3b41"
+ ]
+ }
+ ]
+}