Files
gplan-2/design/dev/architecture/code-architecture.json
T
DKChan bbd49abfb0 docs(术语): 设计文档术语刷新批全量入库——2026-10-18 用户裁定(金币/插旗/旗/雷格/惩罚格 五词)design/+tools/ 域落文
- 术语表 v1.13:GP 唯一正式命名(删「局内金币」别名)+旗/控制词条更名封印/控制+封印定性由「插旗的对外表达」更正为正式动作名(全库统一、非比喻)+禁用字面从对外命名扩为全库+删「机制文档内部用语不受限」条款+退役词对照表补三行(金币→GP/插旗→封印/旗→封印印记)+危险格词条「被旗控制」→「被封印控制」+B3 豁免例举去旗
- 机检扩容 tools/doc_term_audit.py:RETIRED_TERMS 新增 金币→GP、插旗|标旗→封印 两行(DEFAULT_DIRS 不变,game/ 扫描归代码批);拔旗|撤旗行继任措辞随批换代(插旗不可逆→封印不可逆)
- GDD 全域正文换代约 200 行/31 文件:金币→GP(金币袋→GP 袋)、插旗/标旗→封印、雷格/惩罚格→危险格(2026-10-11 退役批存量补扫)、旗概念→封印印记(旗判定→封印判定/标中旗→封印标中/标错旗→标错封印/旗格→封印格/旗位→封印位等复合词系);00-游戏概念「封印降级为类型风味词」定性翻转;修订记录/版本历史/禁令引举/更名记载等留档行零动
- registry/entities.yaml(信标网络可达性/事件序/回执驱动三处)+art 五件(art-bible 封印印记六处/comfyui 背旗→背负封印印记/两清单)+dev 七件(architecture 旗集→封印集/code-conventions-cases/test-conventions/架构图 html json 四件)随批换代
- tools 四脚本注释与图内标注换代(clear_dominance_audit/render_sample_sheet×2/analyze_playtest;代码标识符零动归代码批)
- design/qa/代码术语审计报告-2026-10-18.md 随批入库(本批参考素材,06:578 引用闭合 doc_link 死链)
- 06-待办清单/术语表两在途脏件(代码术语批 06 登记+A 表头「不用→禁用」)随批一并入库

自检:doc_term_audit --strict 零疑似现行(45 文件 434 命中全留档类);文档域六闸验收通过无新增红(gdd_lint R3 对 00 正文修订注记一次打回已去注记化改写;doc_link 死链经报告入库闭合);正文残留仅 06:73「拔旗」一处(件派生动词白名单豁免语境、机检同款豁免,设计意图记录不动)
2026-10-18 06:15:38 +08:00

699 lines
12 KiB
JSON
Raw 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.
{
"schema_version": 1,
"diagram_type": "architecture",
"meta": {
"title": "游戏代码实现架构(Godot 场景·脚本·运行时树)",
"output": "code-architecture.html",
"quality_profile": "showcase",
"locale": "zh-CN",
"viewBox": [
1320,
760
]
},
"components": [
{
"id": "config_db",
"type": "database",
"label": "ConfigDB 配置库",
"sublabel": "core/config_db.gd",
"pos": [
1140,
168
],
"size": [
140,
44
]
},
{
"id": "rng_service",
"type": "backend",
"label": "RngService 随机流",
"sublabel": "core/rng_service.gd",
"pos": [
1140,
222
],
"size": [
140,
44
]
},
{
"id": "main",
"type": "frontend",
"label": "组合根 Main",
"sublabel": "main.gd · 运行时建树",
"tag": "main.tscn",
"pos": [
480,
60
],
"size": [
200,
72
]
},
{
"id": "level_map",
"type": "frontend",
"label": "关卡地图屏",
"sublabel": "三停点选路",
"pos": [
1060,
60
],
"size": [
180,
70
],
"tag": "level_map_screen.gd"
},
{
"id": "stage",
"type": "frontend",
"label": "战斗展示区",
"sublabel": "站桩·回合·战斗日志",
"pos": [
40,
260
],
"size": [
170,
88
],
"tag": "battle_stage_view.gd"
},
{
"id": "hero",
"type": "frontend",
"label": "角色信息区",
"sublabel": "攻防·秘宝槽·特性",
"pos": [
250,
260
],
"size": [
170,
88
],
"tag": "hero_info_panel_view.gd"
},
{
"id": "board",
"type": "frontend",
"label": "棋盘区",
"sublabel": "棋盘·AP条·气泡·特效",
"pos": [
510,
260
],
"size": [
170,
88
],
"tag": "board_zone_view.gd"
},
{
"id": "shop_camp",
"type": "frontend",
"label": "商店·营地浮层",
"sublabel": "商品卡·三柜台",
"pos": [
730,
260
],
"size": [
170,
88
],
"tag": "ui_assembler.gd 拼装"
},
{
"id": "settle",
"type": "frontend",
"label": "结算特效",
"sublabel": "跨区飞行演出",
"pos": [
918,
260
],
"size": [
170,
88
],
"tag": "settlement_fx_view.gd"
},
{
"id": "pause",
"type": "frontend",
"label": "状态面板",
"sublabel": "只读入口",
"pos": [
120,
420
],
"size": [
152,
56
],
"tag": "status_panel.gd"
},
{
"id": "settings",
"type": "frontend",
"label": "设置浮层",
"sublabel": "音量·全屏·减动效",
"pos": [
288,
420
],
"size": [
152,
56
],
"tag": "settings_overlay.gd"
},
{
"id": "career",
"type": "frontend",
"label": "生涯浮层",
"sublabel": "六类九项汇总",
"pos": [
464,
420
],
"size": [
152,
56
],
"tag": "career_overlay.gd"
},
{
"id": "curio",
"type": "frontend",
"label": "三选一浮层",
"sublabel": "通关停点·三卡点选",
"pos": [
632,
420
],
"size": [
152,
56
],
"tag": "curio_pick_overlay.gd"
},
{
"id": "confirm",
"type": "frontend",
"label": "确认对话框",
"sublabel": "通用确认弹窗",
"pos": [
800,
420
],
"size": [
152,
56
],
"tag": "confirm_dialog.gd"
},
{
"id": "debug",
"type": "frontend",
"label": "调试浮窗",
"sublabel": "DS_DEBUG 门控",
"pos": [
968,
420
],
"size": [
152,
56
],
"tag": "debug_overlay.gd"
},
{
"id": "save",
"type": "database",
"label": "存档管理",
"pos": [
96,
554
],
"size": [
130,
48
],
"sublabel": "save_manager.gd"
},
{
"id": "meta",
"type": "database",
"label": "元进度",
"pos": [
244,
554
],
"size": [
130,
48
],
"sublabel": "meta_progression.gd"
},
{
"id": "orch",
"type": "backend",
"label": "战斗编排器",
"pos": [
383,
554
],
"size": [
130,
48
],
"sublabel": "battle_orchestrator.gd"
},
{
"id": "rules",
"type": "backend",
"label": "扫雷规则",
"pos": [
540,
554
],
"size": [
130,
48
],
"sublabel": "minesweeper_rules.gd"
},
{
"id": "boardgen",
"type": "backend",
"label": "棋盘生成",
"pos": [
688,
554
],
"size": [
130,
48
],
"sublabel": "board_generator.gd"
},
{
"id": "boarddata",
"type": "database",
"label": "棋盘数据",
"pos": [
836,
554
],
"size": [
130,
48
],
"sublabel": "board_data.gd"
},
{
"id": "effects",
"type": "backend",
"label": "效果引擎",
"pos": [
984,
554
],
"size": [
130,
48
],
"sublabel": "effect_engine.gd"
},
{
"id": "adventure",
"type": "backend",
"label": "冒险运行器",
"pos": [
1132,
554
],
"size": [
130,
48
],
"sublabel": "adventure_runner.gd"
},
{
"id": "levelrun",
"type": "backend",
"label": "关卡运行器",
"pos": [
96,
616
],
"size": [
130,
48
],
"sublabel": "level_runner.gd"
},
{
"id": "dmgctl",
"type": "backend",
"label": "伤害控制",
"pos": [
244,
616
],
"size": [
130,
48
],
"sublabel": "damage_controller.gd"
},
{
"id": "dgmath",
"type": "backend",
"label": "伤害公式",
"pos": [
392,
616
],
"size": [
130,
48
],
"sublabel": "damage_math.gd"
},
{
"id": "reward",
"type": "backend",
"label": "奖励经济",
"pos": [
540,
616
],
"size": [
130,
48
],
"sublabel": "reward_economy.gd"
},
{
"id": "lottery",
"type": "backend",
"label": "技能抽奖",
"pos": [
688,
616
],
"size": [
130,
48
],
"sublabel": "skill_lottery.gd"
},
{
"id": "attune",
"type": "backend",
"label": "同调",
"pos": [
836,
616
],
"size": [
130,
48
],
"sublabel": "attunement.gd"
},
{
"id": "action",
"type": "backend",
"label": "行动经济",
"pos": [
984,
616
],
"size": [
130,
48
],
"sublabel": "action_economy.gd"
},
{
"id": "feats",
"type": "backend",
"label": "特长引擎",
"pos": [
1132,
616
],
"size": [
130,
48
],
"sublabel": "feats_engine.gd"
},
{
"id": "status",
"type": "backend",
"label": "状态容器",
"pos": [
96,
678
],
"size": [
130,
48
],
"sublabel": "status_container.gd"
},
{
"id": "units",
"type": "backend",
"label": "单位容器",
"pos": [
244,
678
],
"size": [
130,
48
],
"sublabel": "unit_container.gd"
},
{
"id": "treasure",
"type": "database",
"label": "秘宝数据",
"pos": [
392,
678
],
"size": [
130,
48
],
"sublabel": "treasure_items.gd"
},
{
"id": "resolver",
"type": "backend",
"label": "配置解析",
"pos": [
540,
678
],
"size": [
130,
48
],
"sublabel": "config_db_resolver.gd"
},
{
"id": "xvalid",
"type": "backend",
"label": "配置交叉校验",
"pos": [
688,
678
],
"size": [
170,
48
],
"sublabel": "config_db_cross_validator.gd"
}
],
"boundaries": [
{
"kind": "region",
"label": "战斗主界面(UiAssembler 拼装)",
"wraps": [
"stage",
"hero",
"board",
"shop_camp",
"settle"
]
},
{
"kind": "region",
"label": "浮层与对话框(组合根挂载)",
"wraps": [
"pause",
"settings",
"career",
"curio",
"confirm",
"debug"
]
},
{
"kind": "region",
"label": "逻辑层 core/(21 件·名称清单)",
"wraps": [
"save",
"meta",
"orch",
"rules",
"boardgen",
"boarddata",
"effects",
"adventure",
"levelrun",
"dmgctl",
"dgmath",
"reward",
"lottery",
"attune",
"action",
"feats",
"status",
"units",
"treasure",
"resolver",
"xvalid"
]
}
],
"connections": [
{
"id": "main-stage",
"from": "main",
"to": "stage",
"fromSide": "bottom",
"toSide": "top"
},
{
"id": "main-hero",
"from": "main",
"to": "hero",
"fromSide": "bottom",
"toSide": "top"
},
{
"id": "board-main",
"from": "board",
"to": "main",
"label": "翻开·封印·和弦",
"fromSide": "top",
"toSide": "bottom"
},
{
"id": "hero-board",
"from": "hero",
"to": "board",
"label": "秘宝两步交互",
"fromSide": "right",
"toSide": "left"
},
{
"id": "main-save",
"from": "main",
"to": "save",
"label": "存档读写",
"variant": "dashed",
"fromSide": "left",
"toSide": "top",
"via": [
[
28,
96
],
[
28,
512
],
[
161,
512
]
],
"labelSegment": 0
},
{
"id": "orch-stage",
"from": "orch",
"to": "stage",
"label": "结算回流",
"variant": "emphasis",
"fromSide": "top",
"toSide": "bottom",
"via": [
[
448,
376
],
[
125,
376
]
],
"labelSegment": 1
},
{
"id": "main-levelmap",
"from": "main",
"to": "level_map",
"label": "挂载",
"fromSide": "right",
"toSide": "left"
}
],
"cards": [
{
"dot": "cyan",
"title": "组合根与建树",
"items": [
"main.tscn 全场景仅 1 个节点,整棵界面树由 main.gd 运行时搭建(1392 行)",
"战斗界面由 UiAssembler 拼装;商店/营地浮层即拼装于战斗根内",
"元进度账本与存档同由组合根持有(main.gd preload)"
]
},
{
"dot": "emerald",
"title": "战斗动作链",
"items": [
"棋盘区 翻开/封印/和弦 → 组合根 → 战斗编排器规则判定",
"结算回流:血量攻防→角色信息区 · 受击演出→展示区 · AP 扣减与提示→棋盘区",
"秘宝槽点击走两步交互:角色信息区 → 棋盘区/即刻生效"
]
},
{
"dot": "rose",
"title": "逻辑层与边界",
"items": [
"core/ 21 件仅列名称,源码出处见各节点 sources 指针",
"ConfigDB/RngService 两单例经 project.godot autoload 全局供给",
"smoke/ 下 13 个测试探针场景属测试基建,不入架构主干"
]
}
]
}