diff --git a/tools/gdstyle_baseline.txt b/tools/gdstyle_baseline.txt index 87d30af9..73bc3976 100644 --- a/tools/gdstyle_baseline.txt +++ b/tools/gdstyle_baseline.txt @@ -5,171 +5,19 @@ # 判定=键不在基线红(NEW)、同键数值较登记值恶化红(WORSENED)、改小/持平不红。 # 重生成=人工专用:python tools/gdstyle_gate.py --refresh(禁清基线换绿;改规则口径/工具升级须随批 # 重生成;新键数较旧基线少逾 10% 须加 --force 显式确认)。 -game/core/action_economy.gd|quality/max-class-variables = 18 game/core/adventure_runner.gd|quality/max-class-variables = 28 game/core/battle_orchestrator.gd|quality/max-class-variables = 38 -game/core/battle_orchestrator.gd|quality/max-file-length = 1037 -game/core/board_generator.gd|quality/max-branches|measure_inferability = 12 -game/core/board_generator.gd|quality/max-function-length|_attempt = 51 -game/core/board_generator.gd|quality/max-function-length|generate = 62 -game/core/board_generator.gd|quality/max-function-length|measure_inferability = 64 -game/core/board_generator.gd|quality/max-local-variables|generate = 14 -game/core/board_generator.gd|quality/max-local-variables|measure_inferability = 13 -game/core/board_generator.gd|quality/max-nesting-depth|measure_inferability = 5 -game/core/board_generator.gd|quality/max-parameters|_finalize = 6 -game/core/config_db.gd|quality/max-class-variables = 25 -game/core/config_db.gd|quality/max-public-methods = 44 -game/core/config_db_cross_validator.gd|quality/max-branches|cross_validate = 21 -game/core/config_db_cross_validator.gd|quality/max-function-length|cross_validate = 107 -game/core/config_db_cross_validator.gd|quality/max-local-variables|cross_validate = 24 -game/core/config_db_cross_validator.gd|quality/max-nesting-depth|cross_validate = 5 -game/core/config_db_resolver.gd|quality/max-branches|_resolve_progress = 16 -game/core/config_db_resolver.gd|quality/max-branches|resolve_enemy_rowset = 12 -game/core/config_db_resolver.gd|quality/max-function-length|_resolve_progress = 52 -game/core/config_db_resolver.gd|quality/max-local-variables|_resolve_progress = 11 -game/core/effect_engine.gd|quality/max-branches|validate_trigger_row = 14 -game/core/effect_engine.gd|quality/max-function-length|_cond_ok = 52 -game/core/effect_engine.gd|quality/max-function-length|rebuild = 55 -game/core/effect_engine.gd|quality/max-local-variables|validate_trigger_row = 11 -game/core/effect_engine.gd|quality/max-nesting-depth|_cond_ok = 5 -game/core/effect_engine.gd|quality/max-nesting-depth|rebuild = 5 -game/core/effect_engine.gd|quality/max-returns|_cond_ok = 19 -game/core/effect_engine.gd|quality/no-else-return|unnecessary 'elif' after 'return' +game/core/battle_orchestrator.gd|quality/max-file-length = 1035 game/core/level_runner.gd|quality/max-class-variables = 30 game/core/level_runner.gd|quality/max-public-methods = 50 game/core/level_runner.gd|quality/max-returns|_enter_node = 7 -game/core/meta_progression.gd|quality/max-public-methods = 31 -game/core/meta_progression.gd|quality/max-returns|tree_can_buy = 8 -game/core/minesweeper_rules.gd|quality/max-function-length|_do_dig = 53 -game/core/node_map_generator.gd|quality/max-branches|_assign_types = 11 -game/core/node_map_generator.gd|quality/max-branches|check_params = 12 -game/core/node_map_generator.gd|quality/max-branches|validate_output = 34 -game/core/node_map_generator.gd|quality/max-function-length|validate_output = 132 -game/core/node_map_generator.gd|quality/max-local-variables|_add_forks = 12 -game/core/node_map_generator.gd|quality/max-local-variables|_build = 15 -game/core/node_map_generator.gd|quality/max-local-variables|validate_output = 22 -game/core/node_map_generator.gd|quality/max-nesting-depth|_check_fork_rules = 5 -game/core/node_map_generator.gd|quality/max-returns|validate_output = 7 -game/core/reward_economy.gd|quality/max-function-length|roll_board = 52 -game/core/reward_economy.gd|quality/max-local-variables|_skewed_cell_rows = 13 -game/core/reward_economy.gd|quality/max-local-variables|roll_board = 11 -game/core/save_manager.gd|quality/max-public-methods = 52 -game/core/save_manager.gd|quality/max-returns|_peek_summary_at = 7 -game/core/save_manager.gd|quality/max-returns|load_from_disk = 8 -game/core/status_container.gd|quality/max-nesting-depth|apply_effect = 5 -game/core/status_container.gd|quality/max-parameters|_new_instance = 7 -game/core/status_container.gd|quality/max-returns|apply_effect = 9 -game/core/treasure_items.gd|quality/max-branches|validate_use = 11 -game/core/treasure_items.gd|quality/max-nesting-depth|validate_use = 5 -game/core/unit_container.gd|quality/max-function-length|spawn = 68 -game/core/unit_container.gd|quality/max-local-variables|spawn = 16 -game/core/unit_container.gd|quality/max-parameters|spawn = 10 -game/data/schemas/adventure_table.gd|quality/max-class-variables = 44 -game/data/schemas/board_gen_table.gd|quality/max-branches|validate = 20 -game/data/schemas/board_gen_table.gd|quality/max-function-length|validate = 67 -game/data/schemas/board_gen_table.gd|quality/max-local-variables|validate = 16 -game/data/schemas/enemy_table.gd|quality/max-branches|validate = 30 -game/data/schemas/enemy_table.gd|quality/max-function-length|validate = 110 -game/data/schemas/enemy_table.gd|quality/max-local-variables|validate = 28 -game/data/schemas/forge_table.gd|quality/max-branches|validate = 30 -game/data/schemas/forge_table.gd|quality/max-function-length|validate = 95 -game/data/schemas/forge_table.gd|quality/max-local-variables|validate = 20 -game/data/schemas/level_gen_params.gd|quality/max-branches|validate = 15 -game/data/schemas/level_gen_params.gd|quality/max-function-length|validate = 59 -game/data/schemas/level_gen_params.gd|quality/max-local-variables|validate = 18 -game/data/schemas/meta_table.gd|quality/max-branches|validate = 14 -game/data/schemas/meta_table.gd|quality/max-function-length|validate = 60 -game/data/schemas/meta_table.gd|quality/max-local-variables|validate = 14 -game/data/schemas/meta_tree_table.gd|quality/max-branches|validate = 26 -game/data/schemas/meta_tree_table.gd|quality/max-function-length|validate = 86 -game/data/schemas/meta_tree_table.gd|quality/max-local-variables|validate = 13 -game/data/schemas/meta_tree_table.gd|quality/max-nesting-depth|validate = 5 -game/data/schemas/reward_table.gd|quality/max-branches|validate = 30 -game/data/schemas/reward_table.gd|quality/max-function-length|validate = 99 -game/data/schemas/reward_table.gd|quality/max-local-variables|validate = 20 -game/data/schemas/skill_table.gd|quality/max-branches|validate = 26 -game/data/schemas/skill_table.gd|quality/max-function-length|validate = 76 -game/data/schemas/status_effect_table.gd|quality/max-branches|validate = 12 -game/data/schemas/treasure_item_table.gd|quality/max-branches|validate = 44 -game/data/schemas/treasure_item_table.gd|quality/max-function-length|validate = 147 -game/data/schemas/treasure_item_table.gd|quality/max-local-variables|validate = 26 -game/data/schemas/treasure_item_table.gd|quality/max-nesting-depth|validate = 6 -game/data/schemas/variation_table.gd|quality/max-branches|validate = 20 -game/data/schemas/variation_table.gd|quality/max-function-length|validate = 58 -game/presentation/battle_narrator.gd|quality/max-returns|bonus_card_text = 9 -game/presentation/camp_flow_context.gd|quality/max-parameters|_init = 12 -game/presentation/curio_flow_context.gd|quality/max-class-variables = 16 -game/presentation/curio_flow_context.gd|quality/max-parameters|_init = 16 -game/presentation/curio_interact_controller.gd|quality/max-class-variables = 18 -game/presentation/hud_presenter.gd|quality/max-parameters|_refresh_out_of_battle = 6 -game/presentation/hud_presenter.gd|quality/max-parameters|refresh = 8 -game/presentation/hud_presenter.gd|quality/max-parameters|tune_sim_report = 10 game/presentation/main.gd|quality/max-class-variables = 49 -game/presentation/playtest_logger.gd|quality/no-debug-print|debug 'print()' call found game/presentation/tune_sim_controller.gd|quality/await-in-loop|'await' used inside a loop -game/presentation/tune_sim_controller.gd|quality/max-local-variables|run = 11 -game/presentation/tune_sim_controller.gd|quality/no-debug-print|debug 'print()' call found -game/presentation/ui_assembler.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop -game/presentation/ui_assembler.gd|quality/max-function-length|build_start_overlay = 83 -game/presentation/ui_assembler.gd|quality/max-local-variables|build_start_overlay = 16 -game/presentation/views/ap_bar_view.gd|quality/max-function-length|_init = 69 -game/presentation/views/battle_end_overlay.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop -game/presentation/views/battle_end_overlay.gd|quality/max-class-variables = 20 -game/presentation/views/battle_end_overlay.gd|quality/max-function-length|_init = 81 -game/presentation/views/battle_end_overlay.gd|quality/max-parameters|open_victory = 8 -game/presentation/views/battle_log_view.gd|quality/max-branches|_format_row = 9 -game/presentation/views/battle_log_view.gd|quality/max-function-length|_format_row = 68 -game/presentation/views/battle_log_view.gd|quality/max-local-variables|_format_row = 21 -game/presentation/views/battle_log_view.gd|quality/max-returns|_format_row = 13 -game/presentation/views/battle_stage_view.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop -game/presentation/views/battle_stage_view.gd|quality/max-function-length|_init = 97 -game/presentation/views/battle_stage_view.gd|quality/max-returns|_enemy_portrait_tex = 9 -game/presentation/views/board_cell_unit.gd|quality/max-branches|_draw = 29 -game/presentation/views/board_cell_unit.gd|quality/max-class-variables = 31 -game/presentation/views/board_cell_unit.gd|quality/max-function-length|_draw = 147 -game/presentation/views/board_cell_unit.gd|quality/max-local-variables|_draw = 19 -game/presentation/views/board_fx_view.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop +game/presentation/views/board_cell_unit.gd|quality/max-class-variables = 30 game/presentation/views/board_view.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop game/presentation/views/board_view.gd|quality/max-branches|_paint_cell = 24 game/presentation/views/board_view.gd|quality/max-class-variables = 32 game/presentation/views/board_view.gd|quality/max-function-length|_paint_cell = 139 game/presentation/views/board_view.gd|quality/max-local-variables|_paint_cell = 22 game/presentation/views/board_view.gd|quality/max-public-methods = 27 -game/presentation/views/board_zone_view.gd|quality/max-function-length|_init = 59 -game/presentation/views/camp_overlay_view.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop -game/presentation/views/camp_overlay_view.gd|quality/max-class-variables = 19 -game/presentation/views/camp_overlay_view.gd|quality/max-function-length|_init = 149 -game/presentation/views/camp_overlay_view.gd|quality/max-function-length|_rebuild_forge = 72 -game/presentation/views/camp_overlay_view.gd|quality/max-function-length|_rebuild_tree = 61 -game/presentation/views/camp_overlay_view.gd|quality/max-function-length|refresh_camp = 61 -game/presentation/views/camp_overlay_view.gd|quality/max-local-variables|_init = 28 -game/presentation/views/camp_overlay_view.gd|quality/max-local-variables|_rebuild_forge = 20 -game/presentation/views/camp_overlay_view.gd|quality/max-local-variables|_rebuild_tree = 21 -game/presentation/views/camp_overlay_view.gd|quality/max-local-variables|refresh_camp = 17 -game/presentation/views/curio_pick_overlay.gd|quality/max-function-length|_init = 52 -game/presentation/views/curio_pick_overlay.gd|quality/max-returns|_icon_for_id = 7 -game/presentation/views/debug_overlay.gd|quality/max-class-variables = 17 -game/presentation/views/debug_overlay.gd|quality/max-function-length|_build = 124 -game/presentation/views/debug_overlay.gd|quality/max-local-variables|_build = 22 -game/presentation/views/hero_info_panel_view.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop -game/presentation/views/hero_info_panel_view.gd|quality/max-function-length|_init = 74 -game/presentation/views/hero_info_panel_view.gd|quality/max-function-length|set_treasure_inventory = 57 -game/presentation/views/hero_info_panel_view.gd|quality/max-local-variables|set_treasure_inventory = 13 -game/presentation/views/legend_overlay.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop -game/presentation/views/level_map_screen.gd|quality/max-branches|_draw_graph = 9 -game/presentation/views/level_map_screen.gd|quality/max-class-variables = 21 -game/presentation/views/level_map_screen.gd|quality/max-function-length|_draw_graph = 78 -game/presentation/views/level_map_screen.gd|quality/max-function-length|_init = 135 -game/presentation/views/level_map_screen.gd|quality/max-local-variables|_draw_graph = 27 -game/presentation/views/level_map_screen.gd|quality/max-local-variables|_init = 21 -game/presentation/views/settings_overlay.gd|quality/max-function-length|_build = 77 -game/presentation/views/settings_overlay.gd|quality/max-local-variables|_build = 13 -game/presentation/views/standee_body.gd|quality/allocation-in-loop|object allocation '.new()' inside a loop -game/presentation/views/standee_body.gd|quality/max-class-variables = 29 -game/presentation/views/standee_body.gd|quality/max-function-length|_draw = 84 -game/presentation/views/standee_body.gd|quality/max-local-variables|_draw = 26 -game/presentation/views/ui_kit.gd|quality/max-local-variables|beams_rect = 13 -game/presentation/views/ui_kit.gd|quality/max-parameters|_init = 6 -game/presentation/views/ui_kit.gd|quality/max-parameters|bcard = 6 -game/presentation/views/ui_kit.gd|quality/max-parameters|modal_shell = 6 -game/presentation/views/ui_kit.gd|quality/max-public-methods = 26 +game/presentation/views/standee_body.gd|quality/max-class-variables = 19 diff --git a/待办清单.md b/待办清单.md index f721fe07..8ae0fdb1 100644 --- a/待办清单.md +++ b/待办清单.md @@ -60,14 +60,6 @@ **状态**:待执行 -#### gdstyle 基线死键 refresh 清账——152 键人工专用(2026-10-29 登记,来源=批次移交) - -**实况**:迭代 41 两卡合回(合并提交 eb9bb537)后 S13 键账终局=16 键在册、全部基线内——构成:两卡之外 12 键(board_view 6/level_runner 3/battle_orchestrator 2〔类变量键为 architecture v1.22 S13 豁免第三条〕/adventure_runner 1)+呈现层两豁免(main 组合根类变量、tune_sim 测速 await——v1.22 豁免登记在册)+2 键「改善未消」(board_cell_unit/standee_body 类变量——gdstyle 对宿主内状态件成员按宿主展平计数,独立状态类形态被拆分边界纪律禁用)。基线文件 `tools/gdstyle_baseline.txt` 尚余 152 死键待清账:命令=`python tools/gdstyle_gate.py --refresh`(只降不升纪律、骤降守卫须 --force 显式确认,人工专用禁闸内自动重生成),执行时机归用户发令。证据=迭代 41 键账终局对拍(git 提交 eb9bb537 一线可考)。 - -**改动面**:工具代码 - -**状态**:待执行 - #### 迭代 41 测试债修复——9 个套件失败与静态扫描三项红(2026-10-29 登记,来源=批次移交) **实况**:证据=能力审计上电批(worktree 分支 `capgate-20261029`,提交 48e6e551)全量闸复跑,首次实测迭代 41 两卡合回(合并提交 eb9bb537,测试特许移交+直接合回,见 roadmap 收口注脚)后的代码面真实状态:①02 单元与集成测试 9 套件失败——`config_db_test`(`if` 块内声明的变量在块外引用,解析错误)、`config_db_fatal_oob_test`(退出码 2≠期望 1)、`table_structure_guard_test`(`_TreeSaveMock` 缺 `meta_state`)、`treasure_items_test`(`StubDB` 缺 `crossrun`)、`standee_fx_sweep_test`(`set_trans` 空引用)、`forge_workbench_test`(120 秒超时挂死)、`tree_requires_level_test`(`row_by_id` 在空基址)、`save_manager_domain_test`(缺 `_migrate_legacy_save`)、`theme_projection_test`(`CampOverlay` 缺 `_recent_list`);②09 静态扫描红项清单与基线不一致——S9 类型闸 24 处(迭代 41 拆出的新件缺 `# type-hint: ignore` 注解与参数类型)、S10 文件头 4 处(`config_db` 与三个域容器头注日期)、S11 注释禁用词 1 处(`adventure_table.gd:55`),而 gdstyle 与 S13 已随迭代 41 还清(基线两条存量红已过期,须随修复实测重生成)。本条目只修测试与注解债、不改游戏行为。本批合入经用户 2026-10-29 裁带红合并:能力审计上电批只动闸件与规约(代码域零新增红),代码域现存红全部由本条目承接。**2026-10-29 用户裁(「表结构版本」数值冲突甲案+孤儿常量可删)**:文档侧已随文档域直改落地——数据配置.md 删「表结构版本」调参行、依赖表与验收项中的版本常量表述,存档序列化.md 迁移链「表结构版本对齐」改「随表结构变化」,architecture.md 两处常量名改现役 `SAVE_FORMAT_VERSION`;代码侧 `game/core/config_db.gd` 的死常量 `SCHEMA_VERSION`(全仓零引用,值为 1,与文档原载 2 无对应)随本批删除。