diff --git a/docs/architecture/gdd-concept-map.architecture.json b/docs/architecture/gdd-concept-map.architecture.json
new file mode 100644
index 00000000..f9400f15
--- /dev/null
+++ b/docs/architecture/gdd-concept-map.architecture.json
@@ -0,0 +1,413 @@
+{
+ "schema_version": 1,
+ "diagram_type": "architecture",
+ "meta": {
+ "title": "Dungeon Sweeper · GDD 概念结构图",
+ "output": "docs/architecture/gdd-concept-map.html",
+ "quality_profile": "showcase",
+ "locale": "zh-CN",
+ "viewBox": [
+ 1364,
+ 660
+ ],
+ "views": [
+ {
+ "id": "core-loop",
+ "label": "核心循环主链",
+ "focus": [
+ "board-gen",
+ "minesweeper",
+ "action-economy",
+ "settlement",
+ "adventure",
+ "difficulty"
+ ],
+ "note": "主路径:新雷图 → 挖掘计费 → 轮末结算 → 关卡推进 → 难度抬升。"
+ },
+ {
+ "id": "settlement-hub",
+ "label": "结算枢纽与红线",
+ "focus": [
+ "settlement",
+ "enemy",
+ "status",
+ "rewards",
+ "hud"
+ ],
+ "note": "战斗结算是战斗域唯一调用方;呈现层只订阅结算步骤流。"
+ },
+ {
+ "id": "foundation",
+ "label": "支撑底座",
+ "focus": [
+ "data-config",
+ "board-gen",
+ "settlement",
+ "hud"
+ ],
+ "note": "ConfigDB 单点 + RngService 四流,被全部系统取用。"
+ }
+ ]
+ },
+ "components": [
+ {
+ "id": "board-gen",
+ "type": "backend",
+ "label": "棋盘生成",
+ "sublabel": "可推理·可通关",
+ "pos": [
+ 50,
+ 300
+ ],
+ "size": [
+ 130,
+ 64
+ ]
+ },
+ {
+ "id": "minesweeper",
+ "type": "backend",
+ "label": "排雷玩法",
+ "sublabel": "挖格·插旗·连锁",
+ "pos": [
+ 240,
+ 300
+ ],
+ "size": [
+ 136,
+ 64
+ ]
+ },
+ {
+ "id": "action-economy",
+ "type": "backend",
+ "label": "行动经济",
+ "sublabel": "AP 账本·停手/刷新",
+ "pos": [
+ 436,
+ 300
+ ],
+ "size": [
+ 140,
+ 64
+ ]
+ },
+ {
+ "id": "settlement",
+ "type": "backend",
+ "label": "战斗结算",
+ "sublabel": "轮末编排·逐行兑现",
+ "pos": [
+ 648,
+ 300
+ ],
+ "size": [
+ 156,
+ 72
+ ]
+ },
+ {
+ "id": "adventure",
+ "type": "backend",
+ "label": "冒险结构",
+ "sublabel": "关卡序列·大奖励",
+ "pos": [
+ 952,
+ 300
+ ],
+ "size": [
+ 136,
+ 64
+ ]
+ },
+ {
+ "id": "difficulty",
+ "type": "backend",
+ "label": "难度曲线与Boss",
+ "sublabel": "期望值带·Dmax",
+ "pos": [
+ 1152,
+ 300
+ ],
+ "size": [
+ 150,
+ 64
+ ]
+ },
+ {
+ "id": "aux-items",
+ "type": "backend",
+ "label": "魔法道具",
+ "sublabel": "显影·探测类",
+ "pos": [
+ 240,
+ 140
+ ],
+ "size": [
+ 136,
+ 64
+ ]
+ },
+ {
+ "id": "enemy",
+ "type": "backend",
+ "label": "敌人系统",
+ "sublabel": "敌人数据·意图",
+ "pos": [
+ 651,
+ 140
+ ],
+ "size": [
+ 150,
+ 64
+ ]
+ },
+ {
+ "id": "hud",
+ "type": "frontend",
+ "label": "HUD框架",
+ "sublabel": "呈现契约·布局",
+ "pos": [
+ 244,
+ 470
+ ],
+ "size": [
+ 136,
+ 64
+ ]
+ },
+ {
+ "id": "data-config",
+ "type": "database",
+ "label": "数据配置",
+ "sublabel": "ConfigDB·RngService",
+ "pos": [
+ 37,
+ 470
+ ],
+ "size": [
+ 156,
+ 64
+ ]
+ },
+ {
+ "id": "status",
+ "type": "backend",
+ "label": "增益状态",
+ "sublabel": "容器·叠层·衰减",
+ "pos": [
+ 614,
+ 470
+ ],
+ "size": [
+ 130,
+ 64
+ ]
+ },
+ {
+ "id": "rewards",
+ "type": "backend",
+ "label": "地图战斗资源",
+ "sublabel": "格面资源·清图奖励",
+ "pos": [
+ 776,
+ 470
+ ],
+ "size": [
+ 136,
+ 64
+ ]
+ }
+ ],
+ "boundaries": [
+ {
+ "kind": "region",
+ "label": "排雷循环",
+ "wraps": [
+ "board-gen",
+ "minesweeper",
+ "action-economy",
+ "aux-items"
+ ]
+ },
+ {
+ "kind": "region",
+ "label": "战斗循环",
+ "wraps": [
+ "settlement",
+ "enemy",
+ "status",
+ "rewards"
+ ]
+ },
+ {
+ "kind": "region",
+ "label": "冒险循环",
+ "wraps": [
+ "adventure",
+ "difficulty"
+ ]
+ },
+ {
+ "kind": "region",
+ "label": "表现与支撑",
+ "wraps": [
+ "data-config",
+ "hud"
+ ]
+ }
+ ],
+ "connections": [
+ {
+ "id": "gen-to-mines",
+ "from": "board-gen",
+ "to": "minesweeper",
+ "label": "生成雷图",
+ "variant": "emphasis"
+ },
+ {
+ "id": "mines-to-ap",
+ "from": "minesweeper",
+ "to": "action-economy",
+ "label": "挖掘花费 AP",
+ "variant": "emphasis"
+ },
+ {
+ "id": "ap-to-settle",
+ "from": "action-economy",
+ "to": "settlement",
+ "label": "round_end",
+ "variant": "emphasis"
+ },
+ {
+ "id": "settle-to-enemy",
+ "from": "settlement",
+ "to": "enemy",
+ "label": "兑现敌人行动"
+ },
+ {
+ "id": "settle-to-status",
+ "from": "settlement",
+ "to": "status",
+ "label": "兑现增益减益",
+ "fromSide": "bottom",
+ "toSide": "top",
+ "labelAt": [
+ 679,
+ 447
+ ]
+ },
+ {
+ "id": "settle-to-rewards",
+ "from": "settlement",
+ "to": "rewards",
+ "label": "兑现格面奖励",
+ "fromSide": "bottom",
+ "toSide": "top"
+ },
+ {
+ "id": "settle-to-adv",
+ "from": "settlement",
+ "to": "adventure",
+ "label": "结果推进关卡",
+ "variant": "emphasis"
+ },
+ {
+ "id": "adv-to-diff",
+ "from": "adventure",
+ "to": "difficulty",
+ "label": "关卡定级",
+ "variant": "emphasis",
+ "labelDy": 14
+ },
+ {
+ "id": "diff-to-enemy",
+ "from": "difficulty",
+ "to": "enemy",
+ "label": "数值与 Boss Dmax"
+ },
+ {
+ "id": "mines-to-aux",
+ "from": "minesweeper",
+ "to": "aux-items",
+ "label": "挖掘期使用"
+ },
+ {
+ "id": "base-to-gen",
+ "from": "data-config",
+ "to": "board-gen",
+ "label": "种子与表值",
+ "labelAt": [
+ 115,
+ 395
+ ]
+ },
+ {
+ "id": "base-to-settle",
+ "from": "data-config",
+ "to": "settlement",
+ "label": "RNG 流·表值",
+ "fromSide": "top",
+ "toSide": "bottom"
+ },
+ {
+ "id": "settle-to-hud",
+ "from": "settlement",
+ "to": "hud",
+ "label": "结算步骤流",
+ "variant": "dashed",
+ "fromSide": "left",
+ "toSide": "top"
+ },
+ {
+ "id": "adv-to-gen",
+ "from": "adventure",
+ "to": "board-gen",
+ "label": "推进下一关",
+ "variant": "dashed",
+ "fromSide": "bottom",
+ "toSide": "left",
+ "via": [
+ [
+ 1020,
+ 618
+ ],
+ [
+ 15,
+ 618
+ ],
+ [
+ 15,
+ 332
+ ]
+ ]
+ }
+ ],
+ "cards": [
+ {
+ "dot": "cyan",
+ "title": "核心循环",
+ "items": [
+ "主路径:棋盘生成 → 挖掘计费 → 轮末结算 → 关卡推进 → 难度抬升",
+ "难度参数流入下一关雷图,虚线「推进下一关」闭合整局循环"
+ ]
+ },
+ {
+ "dot": "emerald",
+ "title": "结算枢纽与架构红线",
+ "items": [
+ "战斗结算是敌人系统、增益状态、地图战斗资源的唯一调用方",
+ "呈现层只订阅战斗结算步骤流,不直订排雷玩法事件"
+ ]
+ },
+ {
+ "dot": "amber",
+ "title": "支撑底座与未上图",
+ "items": [
+ "数据配置(ConfigDB + RngService 四流)被全部系统引用,图中只画主干两笔",
+ "未上图(已定稿):地形变异、存档序列化、战斗表现、音频、教学引导、设置与本地化",
+ "范围草案:关卡节点地图、元进度"
+ ]
+ }
+ ]
+}
diff --git a/docs/architecture/gdd-concept-map.html b/docs/architecture/gdd-concept-map.html
new file mode 100644
index 00000000..d5897a40
--- /dev/null
+++ b/docs/architecture/gdd-concept-map.html
@@ -0,0 +1,15051 @@
+
+
+
+
+
+
+ Dungeon Sweeper · GDD 概念结构图
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 引导视图
+
+
+
+
+
探索此系统
+
沿精选路径逐步查看,而不改变源图表。
+
+
+ 节点
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 就绪
+ 章节 01 / 01
+
+
+ 引导章节
+
+
+
+
+
+
+
+
+ 图表指南
+ 探索此系统
+
+
+
+
正在检查已编译语义
+
+
+
+
+
+
+
+
+
+ E 导出T 主题S 风格0 重置+ 放大- 缩小Esc 关闭
+
+
+
+
+
+ 查找节点
+
+
+
+ ⌕
+
+ /
+
+
+
没有匹配的节点
+
+
+
+
+
+
语义护照
+
+
+
+
+
+
+
+
+
+
+
+
+
编写可达范围
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 路径探测
+ 选择起点节点
+
+
+
+
+
+
+
+
+ 在图表中选择两个语义节点
+
+
+
+
+
+
+
+
先选择来源,再选择目标;方向很重要。
+
+
+
+
+ 语义透镜
+ 比较系统角色
+
+
+
+
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
+
+
选择一种类型以检查其节点和相连关系。
+
+
+
+
+
+
+
+
+
+ 语义雷达
+ 正在构建总览
+
+
+
+
+
+
点击节点拖动平移
+
+
语义雷达需要更多地图可见空间。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - • 主路径:棋盘生成 → 挖掘计费 → 轮末结算 → 关卡推进 → 难度抬升
+ - • 难度参数流入下一关雷图,虚线「推进下一关」闭合整局循环
+
+
+
+
+
+
+ - • 战斗结算是敌人系统、增益状态、地图战斗资源的唯一调用方
+ - • 呈现层只订阅战斗结算步骤流,不直订排雷玩法事件
+
+
+
+
+
+
+ - • 数据配置(ConfigDB + RngService 四流)被全部系统引用,图中只画主干两笔
+ - • 未上图(已定稿):地形变异、存档序列化、战斗表现、音频、教学引导、设置与本地化
+ - • 范围草案:关卡节点地图、元进度
+
+
+
+
+
+
+
+
+
diff --git a/docs/architecture/gdd-concept-map.visual-check.1440x900.dark.png b/docs/architecture/gdd-concept-map.visual-check.1440x900.dark.png
new file mode 100644
index 00000000..c4640412
Binary files /dev/null and b/docs/architecture/gdd-concept-map.visual-check.1440x900.dark.png differ
diff --git a/docs/architecture/gdd-concept-map.visual-check.1440x900.light.png b/docs/architecture/gdd-concept-map.visual-check.1440x900.light.png
new file mode 100644
index 00000000..aaa90e28
Binary files /dev/null and b/docs/architecture/gdd-concept-map.visual-check.1440x900.light.png differ
diff --git a/docs/architecture/gdd-concept-map.visual-check.2048x1320.dark.png b/docs/architecture/gdd-concept-map.visual-check.2048x1320.dark.png
new file mode 100644
index 00000000..ecd727c5
Binary files /dev/null and b/docs/architecture/gdd-concept-map.visual-check.2048x1320.dark.png differ
diff --git a/docs/architecture/gdd-concept-map.visual-check.2048x1320.light.png b/docs/architecture/gdd-concept-map.visual-check.2048x1320.light.png
new file mode 100644
index 00000000..80d60248
Binary files /dev/null and b/docs/architecture/gdd-concept-map.visual-check.2048x1320.light.png differ
diff --git a/docs/architecture/gdd-concept-map.visual-check.html b/docs/architecture/gdd-concept-map.visual-check.html
new file mode 100644
index 00000000..4a3f7b26
--- /dev/null
+++ b/docs/architecture/gdd-concept-map.visual-check.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+Archify automated browser evidence · gdd-concept-map.html
+
+
+
+
+
+
+
+ LIGHT · 1440×900 · containment pass
+
+
+
+ DARK · 1440×900 · containment pass
+
+
+
+ LIGHT · 2048×1320 · containment pass
+
+
+
+ DARK · 2048×1320 · containment pass
+
+
+
+
diff --git a/docs/architecture/gdd-concept-map.visual-check.json b/docs/architecture/gdd-concept-map.visual-check.json
new file mode 100644
index 00000000..a5595edc
--- /dev/null
+++ b/docs/architecture/gdd-concept-map.visual-check.json
@@ -0,0 +1,548 @@
+{
+ "schemaVersion": 1,
+ "ok": true,
+ "command": "visual-check",
+ "evidenceKind": "automated-browser",
+ "status": "pass",
+ "visualReview": "pending",
+ "artifact": {
+ "path": "D:\\code\\g-plan2\\docs\\architecture\\gdd-concept-map.html",
+ "sha256": "aa7ea12deda2e43cc4d95e8550057f0e4e4d9dc617a968410cd55a0f454dc295",
+ "bytes": 817914
+ },
+ "state": {
+ "detail": "read",
+ "motion": "still"
+ },
+ "chrome": {
+ "status": "available",
+ "executable": "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"
+ },
+ "diagnostics": [],
+ "containment": {
+ "status": "pass",
+ "viewports": [
+ {
+ "width": 1440,
+ "height": 900,
+ "theme": "light",
+ "innerWidth": 1440,
+ "innerHeight": 900,
+ "scrollWidth": 1440,
+ "scrollHeight": 900,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1117,
+ "diagramWidth": 1087,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.172287390029325,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 1600,
+ "height": 1000,
+ "theme": "light",
+ "innerWidth": 1600,
+ "innerHeight": 1000,
+ "scrollWidth": 1600,
+ "scrollHeight": 1000,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1154,
+ "diagramWidth": 1124,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.41642228739003,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 1920,
+ "height": 1080,
+ "theme": "light",
+ "innerWidth": 1920,
+ "innerHeight": 1080,
+ "scrollWidth": 1920,
+ "scrollHeight": 1080,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1320,
+ "diagramWidth": 1290,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 8.511730205278592,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 2048,
+ "height": 1320,
+ "theme": "light",
+ "innerWidth": 2048,
+ "innerHeight": 1320,
+ "scrollWidth": 2048,
+ "scrollHeight": 1320,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1819,
+ "diagramWidth": 1769,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 9,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 41,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ }
+ ]
+ },
+ "readability": {
+ "status": "pass",
+ "minimumProjectedNodeTextPx": 6,
+ "viewports": [
+ {
+ "width": 1440,
+ "height": 900,
+ "theme": "light",
+ "innerWidth": 1440,
+ "innerHeight": 900,
+ "scrollWidth": 1440,
+ "scrollHeight": 900,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1117,
+ "diagramWidth": 1087,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.172287390029325,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 1600,
+ "height": 1000,
+ "theme": "light",
+ "innerWidth": 1600,
+ "innerHeight": 1000,
+ "scrollWidth": 1600,
+ "scrollHeight": 1000,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1154,
+ "diagramWidth": 1124,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.41642228739003,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 1920,
+ "height": 1080,
+ "theme": "light",
+ "innerWidth": 1920,
+ "innerHeight": 1080,
+ "scrollWidth": 1920,
+ "scrollHeight": 1080,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1320,
+ "diagramWidth": 1290,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 8.511730205278592,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 2048,
+ "height": 1320,
+ "theme": "light",
+ "innerWidth": 2048,
+ "innerHeight": 1320,
+ "scrollWidth": 2048,
+ "scrollHeight": 1320,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1819,
+ "diagramWidth": 1769,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 9,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 41,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ }
+ ]
+ },
+ "viewerChrome": {
+ "status": "pass",
+ "viewports": [
+ {
+ "width": 1440,
+ "height": 900,
+ "theme": "light",
+ "innerWidth": 1440,
+ "innerHeight": 900,
+ "scrollWidth": 1440,
+ "scrollHeight": 900,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1117,
+ "diagramWidth": 1087,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.172287390029325,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 1600,
+ "height": 1000,
+ "theme": "light",
+ "innerWidth": 1600,
+ "innerHeight": 1000,
+ "scrollWidth": 1600,
+ "scrollHeight": 1000,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1154,
+ "diagramWidth": 1124,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.41642228739003,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 1920,
+ "height": 1080,
+ "theme": "light",
+ "innerWidth": 1920,
+ "innerHeight": 1080,
+ "scrollWidth": 1920,
+ "scrollHeight": 1080,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1320,
+ "diagramWidth": 1290,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 8.511730205278592,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ },
+ {
+ "width": 2048,
+ "height": 1320,
+ "theme": "light",
+ "innerWidth": 2048,
+ "innerHeight": 1320,
+ "scrollWidth": 2048,
+ "scrollHeight": 1320,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1819,
+ "diagramWidth": 1769,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 9,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 41,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light"
+ }
+ ]
+ },
+ "captures": {
+ "status": "pass",
+ "screenshots": [
+ {
+ "width": 1440,
+ "height": 900,
+ "theme": "light",
+ "innerWidth": 1440,
+ "innerHeight": 900,
+ "scrollWidth": 1440,
+ "scrollHeight": 900,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1117,
+ "diagramWidth": 1087,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.172287390029325,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light",
+ "file": "gdd-concept-map.visual-check.1440x900.light.png"
+ },
+ {
+ "width": 1440,
+ "height": 900,
+ "theme": "dark",
+ "innerWidth": 1440,
+ "innerHeight": 900,
+ "scrollWidth": 1440,
+ "scrollHeight": 900,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1117,
+ "diagramWidth": 1087,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 7.172287390029325,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 51,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "dark",
+ "file": "gdd-concept-map.visual-check.1440x900.dark.png"
+ },
+ {
+ "width": 2048,
+ "height": 1320,
+ "theme": "light",
+ "innerWidth": 2048,
+ "innerHeight": 1320,
+ "scrollWidth": 2048,
+ "scrollHeight": 1320,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1819,
+ "diagramWidth": 1769,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 9,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 41,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "light",
+ "file": "gdd-concept-map.visual-check.2048x1320.light.png"
+ },
+ {
+ "width": 2048,
+ "height": 1320,
+ "theme": "dark",
+ "innerWidth": 2048,
+ "innerHeight": 1320,
+ "scrollWidth": 2048,
+ "scrollHeight": 1320,
+ "overflowX": false,
+ "overflowY": false,
+ "ok": true,
+ "readerWidth": 1819,
+ "diagramWidth": 1769,
+ "viewBoxWidth": 1364,
+ "minimumProjectedNodeTextPx": 9,
+ "minimumProjectedNodeText": "可推理·可通关",
+ "minimumProjectedNodeTextDetail": "context",
+ "minimumRequiredNodeTextPx": 6,
+ "readabilityOk": true,
+ "hasLegend": false,
+ "hasNavigationDock": true,
+ "legendDockIntersectionArea": 0,
+ "dockStageIntersectionArea": 0,
+ "dockStageGap": 10.21875,
+ "requiredDockStageGap": 10,
+ "viewerChromeStageOk": true,
+ "viewerChromeReserve": 41,
+ "viewerChromeActive": true,
+ "viewerChromeOk": true,
+ "resolvedTheme": "dark",
+ "file": "gdd-concept-map.visual-check.2048x1320.dark.png"
+ }
+ ],
+ "contactSheet": "gdd-concept-map.visual-check.html"
+ },
+ "sidecars": {
+ "receipt": "gdd-concept-map.visual-check.json",
+ "contactSheet": "gdd-concept-map.visual-check.html"
+ }
+}