Skip to content

fix: GUI框架同步遗留问题清理 + 体力计划修复 - #603

Open
pared2021 wants to merge 2 commits into
OneDragon-Anything:mainfrom
pared2021:fix/gui-framework-sync-cleanup
Open

fix: GUI框架同步遗留问题清理 + 体力计划修复#603
pared2021 wants to merge 2 commits into
OneDragon-Anything:mainfrom
pared2021:fix/gui-framework-sync-cleanup

Conversation

@pared2021

@pared2021 pared2021 commented Jun 16, 2026

Copy link
Copy Markdown

说明

⚠️ 改动由模型生成,请仔细检查后再决定是否合并。

本 PR 包含两个本地修复提交,整理 GUI 框架同步后的遗留问题与体力计划相关 bug。


1. GUI 框架同步遗留问题清理(53a66da8

  • 开发工具页重复注册子界面:同步 commit f7eaf392 引入了重复的 DevtoolsImageAnalysisInterface import 与重复的 add_sub_interface 调用,导致 stackedWidget 页面数(4)与 Pivot 导航项数(3)错位(qfluentwidgetsPivot.insertWidget 会静默跳过重复 routeKey,但 addWidget 不会)。已去除重复项,恢复为 3 个子页面(图像分析 / 模板助手 / 屏幕管理)。
  • div_uni 迁移不彻底app/div_uniapplication/div_uni,并更新 ornamenet_extraction.py 内部 import 与 trailblaze_power_app.py 外部引用。
  • 删除死代码 treasures_lightward:整包使用远古 sr.* 路径(非 sr_od.*),早已无法运行,全项目零引用。
  • 清理 app/ 下 107 个 .pyc 缓存残留:源码迁移到 application/ 后遗留的编译缓存(.py=0,仅 .pyc)。
  • 删除 app/sr_application_launcher.py 空壳及整个 app/ 目录:启动器实际使用的是 sr_od.application.sr_application_launcher(新路径),旧转发壳无人引用,迁移彻底统一到 application/

净改动+3 / -2633,删除 22 个废弃文件,移动 5 个文件到统一路径。
验证compileall src/sr_od 通过;7 个受影响模块 import 全部 OK;全项目零 sr_od.app 残留引用。

2. 体力计划循环开关 / 返回大世界缺参 / 仪表盘静态背景(fd16cd95

之前的本地修复,一并带上。


⚠️ 合并前请重点检查

  • 开发工具页(sr_devtools_interface.py)子页面装配是否符合预期
  • div_uni 路径迁移后饰品提取流程是否正常
  • 大量文件删除是否影响打包配置(deploy/*.spec

如发现问题请直接关闭本 PR 或要求修改,感谢审阅。

Summary by CodeRabbit

发行说明

  • Bug Fixes

    • 改进体力计划的循环模式控制,优化非循环场景下的行为
    • 调整背景下载器对视频内容的处理逻辑,优先选择非视频背景
    • 修复返回世界操作中的模拟宇宙退出逻辑
  • 新增功能

    • 开发工具界面新增模板助手和屏幕管理子页面
  • 重构

    • 调整虚构叙事相关功能的代码结构和导入路径

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f01285ca-b640-4e86-8590-7bd687115ade

📥 Commits

Reviewing files that changed from the base of the PR and between ba58910 and 53a66da.

📒 Files selected for processing (30)
  • src/sr_od/app/div_uni/operations/__init__.py
  • src/sr_od/app/sr_application_launcher.py
  • src/sr_od/app/treasures_lightward/__init__.py
  • src/sr_od/app/treasures_lightward/op/__init__.py
  • src/sr_od/app/treasures_lightward/op/challenge_mission.py
  • src/sr_od/app/treasures_lightward/op/check_max_unlock_mission.py
  • src/sr_od/app/treasures_lightward/op/check_mission_star.py
  • src/sr_od/app/treasures_lightward/op/check_star.py
  • src/sr_od/app/treasures_lightward/op/choose_character.py
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/__init__.py
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/choose_mission.py
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/choose_team_in_fh.py
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/get_reward_in_fh.py
  • src/sr_od/app/treasures_lightward/op/tl_battle.py
  • src/sr_od/app/treasures_lightward/op/tl_wait.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_app.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_config.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_const.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_record.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_team_module.py
  • src/sr_od/application/div_uni/__init__.py
  • src/sr_od/application/div_uni/operations/__init__.py
  • src/sr_od/application/div_uni/operations/choose_oe_file.py
  • src/sr_od/application/div_uni/operations/choose_oe_support.py
  • src/sr_od/application/div_uni/operations/ornamenet_extraction.py
  • src/sr_od/application/trailblaze_power/trailblaze_power_app.py
  • src/sr_od/application/trailblaze_power/trailblaze_power_config.py
  • src/sr_od/gui/interface/devtools/sr_devtools_interface.py
  • src/sr_od/gui/interface/home/home_interface.py
  • src/sr_od/operations/back_to_normal_world_plus.py
💤 Files with no reviewable changes (18)
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/get_reward_in_fh.py
  • src/sr_od/app/treasures_lightward/op/tl_battle.py
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/choose_mission.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_const.py
  • src/sr_od/app/sr_application_launcher.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_config.py
  • src/sr_od/app/treasures_lightward/op/choose_character.py
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/choose_team_in_fh.py
  • src/sr_od/app/treasures_lightward/op/forgotten_hall/init.py
  • src/sr_od/app/treasures_lightward/op/check_mission_star.py
  • src/sr_od/app/treasures_lightward/op/challenge_mission.py
  • src/sr_od/app/treasures_lightward/op/check_star.py
  • src/sr_od/app/treasures_lightward/op/check_max_unlock_mission.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_record.py
  • src/sr_od/app/treasures_lightward/op/tl_wait.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_app.py
  • src/sr_od/gui/interface/devtools/sr_devtools_interface.py
  • src/sr_od/app/treasures_lightward/treasures_lightward_team_module.py

代码概述

本次 PR 整体移除了 src/sr_od/app/treasures_lightward/ 下约 2300 行的旧版"逐光捡金"功能实现(含应用主类、所有操作子类、配置、记录与配队模块),同步修正了两处残留的旧路径导入,并包含三处独立小修复:体力计划非循环模式下的早返回、模拟宇宙退出参数显式化、静态背景优先选非视频条目,以及开发工具界面新增两个子页面。

变更内容

逐光捡金旧模块整体删除

Layer / File(s) Summary
数据结构、配置与常量删除
src/sr_od/app/treasures_lightward/treasures_lightward_config.py, treasures_lightward_const.py, treasures_lightward_record.py, treasures_lightward_team_module.py
移除 TreasuresLightwardTypeEnumTreasuresLightwardConfigTreasuresLightwardScheduleRecordTreasuresLightwardRunRecord,以及配队评分模型与 search_best_mission_team 函数的全部定义。
操作子类与应用主类删除
src/sr_od/app/sr_application_launcher.py, treasures_lightward/treasures_lightward_app.py, treasures_lightward/op/...
删除 TreasuresLightwardApp 及其依赖的全部操作类(挑战任务、星数检查、关卡选择、配队、战斗、等待等共 10+ 类)和 OCR 辅助函数,移除旧脚本入口。
导入路径从 app 迁移到 application
src/sr_od/application/div_uni/operations/ornamenet_extraction.py, application/trailblaze_power/trailblaze_power_app.py
ChooseOeFileChooseOeSupportChallengeOrnamentExtraction 的导入路径由 sr_od.app.* 更新为 sr_od.application.*

独立小型行为修复

Layer / File(s) Summary
体力计划 loop=False 时不重置运行次数
src/sr_od/application/trailblaze_power/trailblaze_power_config.py
check_plan_run_timesloopFalse 时新增早返回,保持已完成计划状态不重置,使计划序列在末尾自然终止。
sim_uni_exit 显式传入 is_in_x=False
src/sr_od/operations/back_to_normal_world_plus.py
check_screen 识别到模拟宇宙退出按钮时,将 sim_uni_exit 调用改为显式传入 is_in_x=False,与差分宇宙暂离分支区分。
静态背景优先跳过视频封面
src/sr_od/gui/interface/home/home_interface.py
_extract_media_urlstatic_background 分支改为遍历列表并跳过 BACKGROUND_TYPE_VIDEO 条目,无非视频条目时兜底取第一个。
开发工具界面去重导入并挂载新子界面
src/sr_od/gui/interface/devtools/sr_devtools_interface.py
移除重复导入,create_sub_interface() 新增挂载 DevtoolsTemplateHelperInterfaceDevtoolsScreenManageInterface

估计代码审查工作量

🎯 2 (Simple) | ⏱️ ~10 minutes

绝大多数变更为纯删除行,剩余少量行为修复逻辑简单且相互独立。

可能相关的 PR

  • OneDragon-Anything/StarRailOneDragon#586:同样修改了 BackToNormalWorldPlus 对模拟宇宙/差分宇宙退出状态分支的处理,与本 PR 中 sim_uni_exit(is_in_x=False) 的调整直接相关。

小诗

🐇 旧代码如秋叶飘,
逐光捡金已成烟。
删去千行轻装行,
路径更新换新颜。
背景跳过视频帧,
兔子欢呼代码清! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR标题准确总结了两个主要变更:GUI框架同步遗留问题清理和体力计划修复,与raw_summary中的实际改动相符。
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant