Files

11 lines
94 KiB
HTML
Raw Permalink 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.
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>NumberSwipe · 50关DEMO设计与难度曲线</title><style>
:root{--bg:#0d1727;--panel:#15253c;--ink:#eaf0f7;--soft:#adc0d6;--line:#30455e;--mint:#76d6c3;--orange:#ffc781}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 system-ui,'Microsoft YaHei',sans-serif}main{max-width:1160px;margin:auto;padding:40px 24px 70px}header{padding:20px 0 24px}h1{font-size:clamp(28px,4vw,44px);line-height:1.3;margin:12px 0}h2{font-size:24px;margin:0 0 14px}h3{font-size:18px;margin:0 0 10px}p{color:var(--soft)}a{color:#9ec6ff}.eyebrow{color:var(--mint);font-size:12px;letter-spacing:.12em}.banner{border-left:4px solid var(--orange);padding:12px 16px;background:#332c32;margin:18px 0}.card{padding:20px;border:1px solid var(--line);background:var(--panel);border-radius:14px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid .card{margin:0}.number{font-size:32px;color:var(--mint);font-weight:750}.muted{font-size:12px;color:var(--soft)}section{margin:34px 0}button,select{font:inherit;color:var(--ink);background:#203752;border:1px solid #49617c;border-radius:8px;padding:8px 12px;min-height:42px}button{cursor:pointer}button.active{background:#2d635f;border-color:var(--mint)}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f0d183}.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.chart svg{width:100%;height:auto;display:block}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:850px;font-size:13px}th{background:#223650;text-align:left;white-space:nowrap}td,th{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}tr:nth-child(even){background:#15253c}tr.peak{background:#293f4c}td.score{font-weight:750;color:var(--mint)}.pill{display:inline-block;background:#274459;color:#bbdbe7;border-radius:20px;padding:2px 8px;font-size:12px;margin:2px}details{margin:15px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}summary{cursor:pointer;font-weight:700}dl{display:grid;grid-template-columns:100px 1fr;gap:10px}dt{color:var(--mint)}dd{margin:0;color:var(--soft)}ul{color:var(--soft);padding-left:24px}li{margin:6px 0}.links{display:flex;gap:18px;flex-wrap:wrap}.callout{padding:14px;background:#173536;border-radius:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:740px){main{padding:20px 14px}.grid,.two{grid-template-columns:1fr}dl{grid-template-columns:1fr}dt{font-weight:700}}@media print{body{background:white;color:#111}p,dd,li{color:#333}.card,details{background:white}.controls,button{display:none}summary{font-size:16px}details{break-inside:avoid}table{min-width:0;font-size:10px}.chart svg{max-height:220px}}
</style></head><body><main><header><div class="eyebrow">NUMBERSWIPE · DEMO DESIGN · 2026-10-14</div><h1>50关DEMO<br>关卡设计与难度曲线</h1><p>外层缓慢成长,章内形成峰谷。前两关完成操作教学;以五关单元引入新机制,再通过结构与组合形成变化。</p><p class="callout"><strong>50关可玩版已制作:</strong><a href="../../campaign-50/index.html">打开50关DEMO →</a> 本页保留原始设计目标,制作验收见试玩目录报告。</p><div class="banner"><strong>制作任务规划 · 尚非可玩关卡包</strong><br>目标分、时间和推理层数是待测试假设。未生成50个具体盘面、未验证50关唯一解,也没有真人难度数据。</div><div class="links"><a href="DEMO_DESIGN.md">完整设计说明</a><a href="difficulty-curve.csv" download>下载曲线CSV</a><a href="VALIDATION_PLAN.md">制作与测试标准</a><a href="demo-design.json" download>设计任务JSON</a><a href="../../index.html">现有40关原型</a></div></header>
<div class="grid"><div class="card"><div class="number">50</div><strong>设计任务</strong><p class="muted">5章×10关;每关有推理意图和诱惑路线</p></div><div class="card"><div class="number">40 → 72</div><strong>阶段目标峰值</strong><p class="muted">策划标尺0–100,给长期扩展留出空间</p></div><div class="card"><div class="number">A / B</div><strong>同题库两种关序</strong><p class="muted">章节第8关峰值/章末峰值对照</p></div></div>
<section class="card"><h2>项目适配与边界</h2><div class="two"><div><h3>采用研究中的方法</h3><ul><li>难度看有效分叉、区域风险、错误发现延迟和推理依赖。</li><li>新技巧单独引入,再练习、变化、组合、巩固。</li><li>目标分、算法指标和真人表现分别保存。</li><li>章节峰谷与参数需测试,不能视为竞品内部标准。</li></ul></div><div><h3>坚持项目实际规则</h3><ul><li>数字是绝对访问步号;拼块整块一步,格数不等于面积。</li><li>方向通道只用于单位方格整盘;不继承到六边或大格。</li><li>奇偶优先用于大格/非双色六边,避免冗余。</li><li>门按落格切换,起点计入;单位方格不能靠随意绕圈补奇偶。</li></ul></div></div><p class="callout">现有Variants尚无奇偶判定,双色启用依赖玩法名称。组合主线需新增独立的features开关及奇偶支持;本次没有改动运行代码或手机体验。</p></section>
<section class="card"><h2>先验证六道桥接样题</h2><p>05异形共边、13拐角端口、18双色与墙、21单奇偶、24双奇偶协作、28大格与门位。均计入50关,不额外增加关数;对应规则先教会,再测试组合。</p><p>教学按课程顺序;难度校准先掌握规则,再交错代表题并隔开同盘形题。补充依据为原项目10月14日深度调研与45关结构审计,该审计不等于Variants的40关验证。</p></section><section><h2>目标难度曲线</h2><p>默认A的峰值在8、18、28、38、48关;末两关释放并顺畅收束。B使用同样50道题,把各章峰值移到章末。曲线不是通过概率。</p><div class="controls"><button id="a" class="active">A · 第8关峰值</button><button id="b">B · 章末峰值</button><button id="csv">导出当前关序CSV</button><span id="orderLabel" class="muted"></span></div><div class="chart" id="chartA"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1060 320" role="img" aria-label="50关策划目标难度曲线,非实测"><rect width="1060" height="320" fill="#101e33"/><line x1="50" y1="265.0" x2="1040" y2="265.0" stroke="#30435d"/><text x="40" y="269.0" fill="#becddd" font-size="12" text-anchor="end">0</text><line x1="50" y1="216.0" x2="1040" y2="216.0" stroke="#30435d"/><text x="40" y="220.0" fill="#becddd" font-size="12" text-anchor="end">20</text><line x1="50" y1="167.0" x2="1040" y2="167.0" stroke="#30435d"/><text x="40" y="171.0" fill="#becddd" font-size="12" text-anchor="end">40</text><line x1="50" y1="118.0" x2="1040" y2="118.0" stroke="#30435d"/><text x="40" y="122.0" fill="#becddd" font-size="12" text-anchor="end">60</text><line x1="50" y1="68.99999999999999" x2="1040" y2="68.99999999999999" stroke="#30435d"/><text x="40" y="72.99999999999999" fill="#becddd" font-size="12" text-anchor="end">80</text><line x1="50" y1="20.0" x2="1040" y2="20.0" stroke="#30435d"/><text x="40" y="24.0" fill="#becddd" font-size="12" text-anchor="end">100</text><text x="50.0" y="290" fill="#becddd" font-size="13" text-anchor="middle">1</text><text x="231.83673469387756" y="290" fill="#becddd" font-size="13" text-anchor="middle">10</text><text x="433.8775510204082" y="290" fill="#becddd" font-size="13" text-anchor="middle">20</text><text x="635.9183673469388" y="290" fill="#becddd" font-size="13" text-anchor="middle">30</text><text x="837.9591836734694" y="290" fill="#becddd" font-size="13" text-anchor="middle">40</text><text x="1040.0" y="290" fill="#becddd" font-size="13" text-anchor="middle">50</text><line x1="50.0" y1="20" x2="50.0" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="252.0408163265306" y1="20" x2="252.0408163265306" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="454.0816326530612" y1="20" x2="454.0816326530612" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="656.1224489795918" y1="20" x2="656.1224489795918" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="858.1632653061224" y1="20" x2="858.1632653061224" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><polyline points="50.00,235.60 70.20,225.80 90.41,216.00 110.61,211.10 130.82,201.30 151.02,191.50 171.22,179.25 191.43,167.00 211.63,206.20 231.84,196.40 252.04,206.20 272.24,196.40 292.45,186.60 312.65,179.25 332.86,171.90 353.06,201.30 373.27,186.60 393.47,152.30 413.67,186.60 433.88,176.80 454.08,191.50 474.29,181.70 494.49,169.45 514.69,159.65 534.90,176.80 555.10,186.60 575.31,171.90 595.51,142.50 615.71,167.00 635.92,162.10 656.12,181.70 676.33,171.90 696.53,159.65 716.73,149.85 736.94,167.00 757.14,157.20 777.35,144.95 797.55,122.90 817.76,162.10 837.96,152.30 858.16,157.20 878.37,147.40 898.57,137.60 918.78,127.80 938.98,122.90 959.18,118.00 979.39,105.75 999.59,88.60 1019.80,147.40 1040.00,132.70" fill="none" stroke="#73d6c3" stroke-width="3"/><text x="1040" y="310" fill="#becddd" font-size="12" text-anchor="end">目标分 · 非实测 · 关序位置</text></svg></div><div class="chart" id="chartB" hidden><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1060 320" role="img" aria-label="50关策划目标难度曲线,非实测"><rect width="1060" height="320" fill="#101e33"/><line x1="50" y1="265.0" x2="1040" y2="265.0" stroke="#30435d"/><text x="40" y="269.0" fill="#becddd" font-size="12" text-anchor="end">0</text><line x1="50" y1="216.0" x2="1040" y2="216.0" stroke="#30435d"/><text x="40" y="220.0" fill="#becddd" font-size="12" text-anchor="end">20</text><line x1="50" y1="167.0" x2="1040" y2="167.0" stroke="#30435d"/><text x="40" y="171.0" fill="#becddd" font-size="12" text-anchor="end">40</text><line x1="50" y1="118.0" x2="1040" y2="118.0" stroke="#30435d"/><text x="40" y="122.0" fill="#becddd" font-size="12" text-anchor="end">60</text><line x1="50" y1="68.99999999999999" x2="1040" y2="68.99999999999999" stroke="#30435d"/><text x="40" y="72.99999999999999" fill="#becddd" font-size="12" text-anchor="end">80</text><line x1="50" y1="20.0" x2="1040" y2="20.0" stroke="#30435d"/><text x="40" y="24.0" fill="#becddd" font-size="12" text-anchor="end">100</text><text x="50.0" y="290" fill="#becddd" font-size="13" text-anchor="middle">1</text><text x="231.83673469387756" y="290" fill="#becddd" font-size="13" text-anchor="middle">10</text><text x="433.8775510204082" y="290" fill="#becddd" font-size="13" text-anchor="middle">20</text><text x="635.9183673469388" y="290" fill="#becddd" font-size="13" text-anchor="middle">30</text><text x="837.9591836734694" y="290" fill="#becddd" font-size="13" text-anchor="middle">40</text><text x="1040.0" y="290" fill="#becddd" font-size="13" text-anchor="middle">50</text><line x1="50.0" y1="20" x2="50.0" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="252.0408163265306" y1="20" x2="252.0408163265306" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="454.0816326530612" y1="20" x2="454.0816326530612" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="656.1224489795918" y1="20" x2="656.1224489795918" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><line x1="858.1632653061224" y1="20" x2="858.1632653061224" y2="265" stroke="#37516f" stroke-dasharray="4 5"/><polyline points="50.00,235.60 70.20,225.80 90.41,216.00 110.61,211.10 130.82,201.30 151.02,191.50 171.22,179.25 191.43,206.20 211.63,196.40 231.84,167.00 252.04,206.20 272.24,196.40 292.45,186.60 312.65,179.25 332.86,171.90 353.06,201.30 373.27,186.60 393.47,186.60 413.67,176.80 433.88,152.30 454.08,191.50 474.29,181.70 494.49,169.45 514.69,159.65 534.90,176.80 555.10,186.60 575.31,171.90 595.51,167.00 615.71,162.10 635.92,142.50 656.12,181.70 676.33,171.90 696.53,159.65 716.73,149.85 736.94,167.00 757.14,157.20 777.35,144.95 797.55,162.10 817.76,152.30 837.96,122.90 858.16,157.20 878.37,147.40 898.57,137.60 918.78,127.80 938.98,122.90 959.18,118.00 979.39,105.75 999.59,147.40 1019.80,132.70 1040.00,88.60" fill="none" stroke="#73d6c3" stroke-width="3"/><text x="1040" y="310" fill="#becddd" font-size="12" text-anchor="end">目标分 · 非实测 · 关序位置</text></svg></div></section>
<section><h2>五章节奏</h2><div class="table-wrap"><table><thead><tr><th>关卡</th><th>章节</th><th>新内容</th><th>主要任务</th><th>峰值</th></tr></thead><tbody id="chapters"></tbody></table></div></section>
<section><h2>50关逐关任务</h2><div class="controls"><label>章节 <select id="chapter"><option value="">全部</option></select></label><label>机制 <select id="feature"><option value="">全部</option></select></label><label>功能 <select id="role"><option value="">全部</option><option>章节峰值</option><option>释放</option><option>收束</option></select></label><span id="count" class="muted"></span></div><p class="muted">列表按当前A/B位置排列。点击“详细设计”查看布局、关键推理与排除依据;切换曲线不会更改关卡身份。</p><div class="table-wrap"><table><thead><tr><th>位置/设计号</th><th>标题/功能</th><th>几何/机制</th><th>节点目标</th><th>目标分</th><th>核心任务</th><th>思考P50目标</th></tr></thead><tbody id="tasks"></tbody></table></div><div id="details"></div></section>
<section class="card"><h2>制作与测试验收</h2><ul><li>每关先写推理,再做盘面:唯一解且所有新机制逐项必要,组合需有跨机制依赖。</li><li>几何邻接度、搜索节点数不能冒充有效分叉或真人难度;原型结构快照只作诊断。</li><li>先少量新玩家定性测试,再以足够样本比较A/B;分组固定,不在同一玩家中随机换曲线。</li><li>记录错误发现延迟、回退、提示、完成后下一关启动和后续返回;区分卡关、无聊和正常会话结束。</li><li>先验证关卡趣味和节奏,之后再调整手机触点、字号、反馈和动效。</li></ul></section>
<section class="card"><h2>51–100关与正式版</h2><p>优先用区域拓扑、对称破局、空洞、枢纽先后和线索位置开发变化,不要求第51关更难,也不要求新增机制。DEMO题目作为内容资产保留,正式首发前按测试筛选重排;上线后按章节与主题包扩展。</p><p>关卡ID、内容修订和显示顺序分开。重排不清空通关记录;实质重做的题有修订或新ID。过难好题可以进入挑战包。</p></section><footer class="muted">来源:用户提供的NumberSwipe_Research_H5.html+当前原型代码与40关数据只读核对。报告外部竞品统计未独立复算。详细一致性检查见plan-check.json。</footer></main>
<script>const PLAN={"schemaVersion": 1, "designVersion": "demo50-design-2026-10-14-v1", "scope": "50关设计与目标曲线;不含可玩盘面或真人实测", "researchSource": {"path": "G:\\下载\\NumberSwipe_Research_H5.html", "sha256": "06522efbed86fd70ea28792af57582d50e4f2a34589d5d3eb14d7d3d1e8ff739", "usedAs": "用户提供研究;未复核外部500关统计"}, "projectSource": "G:\\项目\\NumberSwipe-Variants", "curvePolicy": "外层缓慢提高,章内第8关峰值、9释放、10收束;为待测假设", "difficultyModelVersion": "target-rubric-v1", "scoreSemantics": "0–100策划目标,不是算法测得难度、概率或真人时间", "chapterSize": 10, "chapters": [{"id": 1, "title": "覆盖、大格与墙", "introduced": ["big", "walls"], "focus": "结束操作教学,建立计步与区域收尾", "peak": 8}, {"id": 2, "title": "方向与双色", "introduced": ["direction", "alternation"], "focus": "明确进出边,再规划异色续接", "peak": 18}, {"id": 3, "title": "奇偶与步进门", "introduced": ["parity", "rhythm-door"], "focus": "真实步号与到达状态,五关单元引入", "peak": 28}, {"id": 4, "title": "六边迁移与起点推理", "introduced": ["hex", "unknown-start"], "focus": "旧规则迁移到六向几何,适度减少起点信息", "peak": 38}, {"id": 5, "title": "组合应用与收束", "introduced": [], "focus": "增加推理依赖,不继续增加规则", "peak": 48}], "levels": [{"levelId": "21ceadc1-cd0e-511b-b7d3-d227e01de8a1", "designKey": "demo-001", "displayOrder": 1, "title": "第一笔", "chapter": 1, "chapterSlot": 1, "role": "演示/热身", "geometry": "square", "features": [], "nodeCountTarget": 5, "constraintsBudget": "数字1、5", "unknownStart": false, "introduces": "操作", "layoutIntent": "紧凑小盘;一个浅分叉,终点清晰", "teachingGoal": "理解全格覆盖与固定步号", "temptingRouteIntent": "直接滑向终点,留下一个未走格", "rejectionReason": "终点到达时仍有剩余格,必须先覆盖", "reasoningOutline": "先说明诱惑方向,再用终点到达时仍有剩余格,必须先覆盖排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 12, "targetDifficultyBand": [8, 16], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [8, 18], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": []}, {"levelId": "de71e06d-ed2b-5371-a3dd-7089ccff10b3", "designKey": "demo-002", "displayOrder": 2, "title": "先收短支路", "chapter": 1, "chapterSlot": 2, "role": "练习", "geometry": "square", "features": [], "nodeCountTarget": 8, "constraintsBudget": "数字1+一个中段数字", "unknownStart": false, "introduces": "", "layoutIntent": "主区旁有短支路;支路不是视觉隐藏格", "teachingGoal": "根据端点与剩余区域判断访问顺序", "temptingRouteIntent": "先进入主区,支路失去可续接入口", "rejectionReason": "完整覆盖要求保留支路访问机会", "reasoningOutline": "先说明诱惑方向,再用完整覆盖要求保留支路访问机会排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 16, "targetDifficultyBand": [12, 20], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [8, 18], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号"]}, {"levelId": "f521de33-0d27-54c1-9c04-8fe43955132c", "designKey": "demo-003", "displayOrder": 3, "title": "大块一步", "chapter": 1, "chapterSlot": 3, "role": "变化", "geometry": "blocks", "features": ["big"], "nodeCountTarget": 8, "constraintsBudget": "一个2×2大格;数字1+中段数字", "unknownStart": false, "introduces": "大格一步", "layoutIntent": "两条候选路线视觉长度相近,经过拼块数不同", "teachingGoal": "按拼块而非面积计步", "temptingRouteIntent": "把大格误当多步,选择面积更短的一侧", "rejectionReason": "实际步号对不上中段数字", "reasoningOutline": "先说明诱惑方向,再用实际步号对不上中段数字排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 20, "targetDifficultyBand": [16, 24], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号"]}, {"levelId": "07323e0e-de6c-5d71-8876-e3d88d008b60", "designKey": "demo-004", "displayOrder": 4, "title": "枢纽留后", "chapter": 1, "chapterSlot": 4, "role": "组合", "geometry": "blocks", "features": ["big"], "nodeCountTarget": 10, "constraintsBudget": "一个多出口大格;少量数字", "unknownStart": false, "introduces": "", "layoutIntent": "两片区域通过两个通口连接,大格位于路线中段", "teachingGoal": "决定何时使用大格枢纽", "temptingRouteIntent": "过早进入大格并从近出口离开", "rejectionReason": "剩余区域无法接续或不能按时到数字", "reasoningOutline": "先说明诱惑方向,再用剩余区域无法接续或不能按时到数字排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 22, "targetDifficultyBand": [18, 26], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [12, 30], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形"]}, {"levelId": "0b255856-d185-5314-85e3-4a95eb233b04", "designKey": "demo-005", "displayOrder": 5, "title": "认清异形共边", "chapter": 1, "chapterSlot": 5, "role": "巩固", "geometry": "blocks", "features": ["big"], "nodeCountTarget": 11, "constraintsBudget": "一个L形格+早期引导数字;不加奇偶", "unknownStart": false, "introduces": "异形共边", "layoutIntent": "凹口接触邻格;只新增异形读盘,不同时增加未知起点", "teachingGoal": "异形整块一步,辨认哪些边实际共边", "temptingRouteIntent": "按包围盒把凹口当成块内,错误认定邻接", "rejectionReason": "以真实占地共边判邻接,不能跨空洞", "reasoningOutline": "先说明诱惑方向,再用以真实占地共边判邻接,不能跨空洞排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 26, "targetDifficultyBand": [22, 30], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": true, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形"]}, {"levelId": "23914286-0aa4-5d7a-afd1-b5a31c0c1a6e", "designKey": "demo-006", "displayOrder": 6, "title": "边上的墙", "chapter": 1, "chapterSlot": 6, "role": "演示/迁移", "geometry": "square", "features": ["walls"], "nodeCountTarget": 9, "constraintsBudget": "一堵必要墙;数字1", "unknownStart": false, "introduces": "永久墙", "layoutIntent": "墙封住明显直达边;绕行仍有两种选择", "teachingGoal": "认识永久封边,靠数字选绕行方向", "temptingRouteIntent": "把墙当作一个格,或尝试穿过", "rejectionReason": "墙只封边,另一条真实共边才可通行", "reasoningOutline": "先说明诱惑方向,再用墙只封边,另一条真实共边才可通行排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 30, "targetDifficultyBand": [26, 34], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号"]}, {"levelId": "e85cd2f3-94af-5b5e-bfd5-d513e6a5ba2c", "designKey": "demo-007", "displayOrder": 7, "title": "近路要绕", "chapter": 1, "chapterSlot": 7, "role": "练习/挑战", "geometry": "square", "features": ["walls"], "nodeCountTarget": 11, "constraintsBudget": "一至两堵必要墙;一个中段数字", "unknownStart": false, "introduces": "", "layoutIntent": "空间近而路径远,墙后保留区域出口", "teachingGoal": "先观察墙改变了哪些邻接", "temptingRouteIntent": "先绕进近侧,过早占用唯一续接节点", "rejectionReason": "后段覆盖或步号不成立", "reasoningOutline": "先说明诱惑方向,再用后段覆盖或步号不成立排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 35, "targetDifficultyBand": [31, 39], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 30], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "永久墙"]}, {"levelId": "a2cbcb61-034a-5215-9a31-035c1c0b96f5", "designKey": "demo-008", "displayOrder": 8, "title": "第一座桥", "chapter": 1, "chapterSlot": 8, "role": "章节峰值", "geometry": "blocks", "features": ["big", "walls"], "nodeCountTarget": 13, "constraintsBudget": "一个大格;两堵必要墙", "unknownStart": false, "introduces": "", "layoutIntent": "两片区域有两个通口,墙与大格共同限制跨区顺序", "teachingGoal": "大格必须留到完成一侧之后", "temptingRouteIntent": "先走枢纽,再试图回补区域", "rejectionReason": "大格只能一次,剩余区域被切断", "reasoningOutline": "先说明诱惑方向,再用大格只能一次,剩余区域被切断排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 40, "targetDifficultyBand": [36, 44], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 45], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "永久墙"]}, {"levelId": "c27d6782-9897-56e4-9024-27a725af609a", "designKey": "demo-009", "displayOrder": 9, "title": "绕过去就好", "chapter": 1, "chapterSlot": 9, "role": "释放", "geometry": "square", "features": ["walls"], "nodeCountTarget": 9, "constraintsBudget": "一堵必要墙;起点给定", "unknownStart": false, "introduces": "", "layoutIntent": "小盘面,墙排除一个清楚的诱惑方向", "teachingGoal": "以一次短推理完成释放关", "temptingRouteIntent": "忽略墙尝试直达", "rejectionReason": "正确绕行只需一个局部判断", "reasoningOutline": "先说明诱惑方向,再用正确绕行只需一个局部判断排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 24, "targetDifficultyBand": [20, 28], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [12, 28], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "永久墙"]}, {"levelId": "2a913cf0-2d97-512f-b8d8-bf4b859ac675", "designKey": "demo-010", "displayOrder": 10, "title": "对称小花园", "chapter": 1, "chapterSlot": 10, "role": "收束", "geometry": "blocks", "features": ["big", "walls"], "nodeCountTarget": 12, "constraintsBudget": "一个大格;一堵必要墙", "unknownStart": false, "introduces": "", "layoutIntent": "近似对称外形,内部线索清楚打破对称", "teachingGoal": "迁移已学规则并顺畅结束章节", "temptingRouteIntent": "按外形镜像照走", "rejectionReason": "线索和墙形成可见的不对称依据", "reasoningOutline": "先说明诱惑方向,再用线索和墙形成可见的不对称依据排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 28, "targetDifficultyBand": [24, 32], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 28], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "永久墙"]}, {"levelId": "9edd9ff2-ed54-5fd8-a0e5-8c477b3100bc", "designKey": "demo-011", "displayOrder": 11, "title": "左右通道", "chapter": 2, "chapterSlot": 1, "role": "演示/热身", "geometry": "square", "features": ["direction"], "nodeCountTarget": 9, "constraintsBudget": "一个lr通道;起点给定", "unknownStart": false, "introduces": "横向通道", "layoutIntent": "通道还有上下几何邻格", "teachingGoal": "认识左右两边连接、可反向通过", "temptingRouteIntent": "从上或下进入通道", "rejectionReason": "图示只连接左右边", "reasoningOutline": "先说明诱惑方向,再用图示只连接左右边排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 24, "targetDifficultyBand": [20, 28], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号"]}, {"levelId": "852f0119-285e-5ec3-9569-8e34485bcf74", "designKey": "demo-012", "displayOrder": 12, "title": "上下通道", "chapter": 2, "chapterSlot": 2, "role": "练习", "geometry": "square", "features": ["direction"], "nodeCountTarget": 10, "constraintsBudget": "一个du通道", "unknownStart": false, "introduces": "纵向通道", "layoutIntent": "把横向题的结构改为纵向应用,增加一处分叉", "teachingGoal": "独立区分横线和竖线", "temptingRouteIntent": "从左侧切入纵向通道", "rejectionReason": "进出边必须是上与下", "reasoningOutline": "先说明诱惑方向,再用进出边必须是上与下排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 28, "targetDifficultyBand": [24, 32], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号"]}, {"levelId": "f509046b-a9b3-5f56-9aeb-e5b772115dfe", "designKey": "demo-013", "displayOrder": 13, "title": "认清拐角", "chapter": 2, "chapterSlot": 3, "role": "变化", "geometry": "square", "features": ["direction"], "nodeCountTarget": 11, "constraintsBudget": "一个明确拐角;中段数字", "unknownStart": false, "introduces": "明确拐角", "layoutIntent": "拐角格至少有三个邻格,图形指向两边", "teachingGoal": "辨认拐角连接边,不把它理解成单向右转", "temptingRouteIntent": "使用另一种转弯方向", "rejectionReason": "图形未连接的边不能成为进出边", "reasoningOutline": "先说明诱惑方向,再用图形未连接的边不能成为进出边排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 32, "targetDifficultyBand": [28, 36], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": true, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号"]}, {"levelId": "44f6955d-e999-5c24-8d71-14dc2d16f8f1", "designKey": "demo-014", "displayOrder": 14, "title": "两角相接", "chapter": 2, "chapterSlot": 4, "role": "组合", "geometry": "square", "features": ["direction", "walls"], "nodeCountTarget": 13, "constraintsBudget": "两个不同拐角;一堵必要墙", "unknownStart": false, "introduces": "", "layoutIntent": "前后通道共享一片区域的入口出口选择", "teachingGoal": "用后段出口反推前段入口", "temptingRouteIntent": "先满足第一个通道,却留错第二个入口", "rejectionReason": "两个通道要求必须同时成立", "reasoningOutline": "先说明诱惑方向,再用两个通道要求必须同时成立排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 35, "targetDifficultyBand": [31, 39], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [15, 40], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "方向通道", "永久墙"]}, {"levelId": "8f11cd51-0d6d-584a-9d00-babd8e381410", "designKey": "demo-015", "displayOrder": 15, "title": "直线与拐角", "chapter": 2, "chapterSlot": 5, "role": "巩固", "geometry": "square", "features": ["direction", "walls"], "nodeCountTarget": 14, "constraintsBudget": "一横或竖通道+一拐角;一堵墙", "unknownStart": false, "introduces": "", "layoutIntent": "旧结构换成新方向布局,保持两三个有效分叉", "teachingGoal": "巩固明确边配对与区域收尾", "temptingRouteIntent": "通道局部满足但走过区域出口", "rejectionReason": "剩余区域无法完整覆盖", "reasoningOutline": "先说明诱惑方向,再用剩余区域无法完整覆盖排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 38, "targetDifficultyBand": [34, 42], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [15, 40], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "方向通道", "永久墙"]}, {"levelId": "a9749d13-9881-5ed8-9fcd-d06589e4e7df", "designKey": "demo-016", "displayOrder": 16, "title": "蓝橙第一步", "chapter": 2, "chapterSlot": 6, "role": "演示/迁移", "geometry": "blocks", "features": ["big", "alternation"], "nodeCountTarget": 9, "constraintsBudget": "一个大格;两色全盘;起点给定", "unknownStart": false, "introduces": "双色交替", "layoutIntent": "至少一处同色共边,色彩鲜明", "teachingGoal": "认识每步换颜色,大格仍一步", "temptingRouteIntent": "走向共享边的同色邻格", "rejectionReason": "下一步必须另一种颜色", "reasoningOutline": "先说明诱惑方向,再用下一步必须另一种颜色排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 26, "targetDifficultyBand": [22, 30], "targetDecisionCount": [1, 2], "targetDependencyDepth": 1, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形"]}, {"levelId": "a9742951-1d48-538e-8d10-f37c3492ed6f", "designKey": "demo-017", "displayOrder": 17, "title": "留下另一种颜色", "chapter": 2, "chapterSlot": 7, "role": "练习/挑战", "geometry": "blocks", "features": ["big", "alternation"], "nodeCountTarget": 12, "constraintsBudget": "大格双色;一个必要中段数字", "unknownStart": false, "introduces": "", "layoutIntent": "大格有多个异色出口,只有一个能续接全盘", "teachingGoal": "不能仅以颜色合法判断下一步", "temptingRouteIntent": "走向合法异色近出口", "rejectionReason": "后段区域缺少异色续接机会", "reasoningOutline": "先说明诱惑方向,再用后段区域缺少异色续接机会排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 32, "targetDifficultyBand": [28, 36], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [15, 40], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "双色交替"]}, {"levelId": "7261dec3-e994-5326-8755-2e60168b909c", "designKey": "demo-018", "displayOrder": 18, "title": "双色跨区", "chapter": 2, "chapterSlot": 8, "role": "章节峰值", "geometry": "blocks", "features": ["big", "alternation", "walls"], "nodeCountTarget": 15, "constraintsBudget": "两个多单位块;两堵必要墙", "unknownStart": false, "introduces": "", "layoutIntent": "两个区域的跨区出口同时受颜色和墙影响", "teachingGoal": "先定访问顺序,再选异色出口", "temptingRouteIntent": "选当前合法的异色出口,提前跨区", "rejectionReason": "另一区域无法按交替顺序收尾", "reasoningOutline": "先说明诱惑方向,再用另一区域无法按交替顺序收尾排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 46, "targetDifficultyBand": [42, 50], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [20, 45], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": true, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "双色交替", "永久墙"]}, {"levelId": "21ae0172-eeda-51ab-a66c-2de946d2541b", "designKey": "demo-019", "displayOrder": 19, "title": "短短的接力", "chapter": 2, "chapterSlot": 9, "role": "释放", "geometry": "blocks", "features": ["big", "alternation"], "nodeCountTarget": 10, "constraintsBudget": "一个大格;少量数字", "unknownStart": false, "introduces": "", "layoutIntent": "小盘面,一个明确的同色诱惑与一个收尾判断", "teachingGoal": "以已掌握规则降低认知负担", "temptingRouteIntent": "误走同色共边或留错最后异色格", "rejectionReason": "颜色与覆盖条件给出直接排除", "reasoningOutline": "先说明诱惑方向,再用颜色与覆盖条件给出直接排除排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 32, "targetDifficultyBand": [28, 36], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 28], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "双色交替"]}, {"levelId": "cc92cc4f-1336-544e-81b4-bd6731ed60d3", "designKey": "demo-020", "displayOrder": 20, "title": "双色回环", "chapter": 2, "chapterSlot": 10, "role": "收束", "geometry": "blocks", "features": ["big", "alternation"], "nodeCountTarget": 13, "constraintsBudget": "一个长条或大格;起点给定", "unknownStart": false, "introduces": "", "layoutIntent": "视觉呈回环,但路径不闭合;出口清楚", "teachingGoal": "稳定应用双色和一步大格,顺畅收束", "temptingRouteIntent": "为追求形状闭合而提前封住尾段", "rejectionReason": "完成要求是覆盖路径,不是闭环", "reasoningOutline": "先说明诱惑方向,再用完成要求是覆盖路径,不是闭环排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 36, "targetDifficultyBand": [32, 40], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 28], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "双色交替"]}, {"levelId": "9b9c1633-aedf-51f2-a04b-3818a2c6b7db", "designKey": "demo-021", "displayOrder": 21, "title": "偶数落脚", "chapter": 3, "chapterSlot": 1, "role": "演示/热身", "geometry": "blocks", "features": ["big", "parity"], "nodeCountTarget": 10, "constraintsBudget": "一个必要偶标记;一个大格;数字1", "unknownStart": false, "introduces": "奇偶", "layoutIntent": "两种区域顺序使标记落在不同奇偶步", "teachingGoal": "认识访问步号的偶数要求", "temptingRouteIntent": "按面积或颜色想象奇偶", "rejectionReason": "整块一步,实际访问步号必须为偶", "reasoningOutline": "先说明诱惑方向,再用整块一步,实际访问步号必须为偶排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 30, "targetDifficultyBand": [26, 34], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": true, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形"]}, {"levelId": "2174f62c-3d56-575a-8210-b1535710e9b0", "designKey": "demo-022", "displayOrder": 22, "title": "奇数绕行", "chapter": 3, "chapterSlot": 2, "role": "练习", "geometry": "blocks", "features": ["big", "parity"], "nodeCountTarget": 12, "constraintsBudget": "一个必要奇标记;长条", "unknownStart": false, "introduces": "", "layoutIntent": "换一类结构,保留两个访问顺序", "teachingGoal": "独立应用奇数要求", "temptingRouteIntent": "选择空间较短但步号为偶的路线", "rejectionReason": "拼块步数决定奇偶,距离不决定", "reasoningOutline": "先说明诱惑方向,再用拼块步数决定奇偶,距离不决定排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 34, "targetDifficultyBand": [30, 38], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "奇偶"]}, {"levelId": "82766c6c-a705-5340-acf7-d4d46dc113c1", "designKey": "demo-023", "displayOrder": 23, "title": "凹口的步号", "chapter": 3, "chapterSlot": 3, "role": "变化", "geometry": "blocks", "features": ["big", "parity"], "nodeCountTarget": 13, "constraintsBudget": "L形或T形;一至两个必要奇偶", "unknownStart": false, "introduces": "", "layoutIntent": "凹口新增真实邻接,但不新增块内步数", "teachingGoal": "迁移奇偶到异形区域", "temptingRouteIntent": "把凹口内单位方格拆开数步", "rejectionReason": "异形整块只访问一次", "reasoningOutline": "先说明诱惑方向,再用异形整块只访问一次排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 39, "targetDifficultyBand": [35, 43], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "奇偶"]}, {"levelId": "f872f251-f6cd-5cf4-a8fa-c3619f948f22", "designKey": "demo-024", "displayOrder": 24, "title": "墙后先收尾", "chapter": 3, "chapterSlot": 4, "role": "组合", "geometry": "blocks", "features": ["big", "parity", "walls"], "nodeCountTarget": 15, "constraintsBudget": "两个必要奇偶;一至两堵墙", "unknownStart": false, "introduces": "", "layoutIntent": "区域有两个通口,墙限制一侧,奇偶限制次序", "teachingGoal": "让墙影响区域顺序,再由奇偶筛掉另一选择", "temptingRouteIntent": "先满足一个奇偶却过早离开区域", "rejectionReason": "另一条件或剩余覆盖不成立", "reasoningOutline": "先说明诱惑方向,再用另一条件或剩余覆盖不成立排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 43, "targetDifficultyBand": [39, 47], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": true, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "奇偶", "永久墙"]}, {"levelId": "1bcbf26f-650f-5791-b227-dd5e8f0d2dd0", "designKey": "demo-025", "displayOrder": 25, "title": "少量线索也够", "chapter": 3, "chapterSlot": 5, "role": "巩固", "geometry": "blocks", "features": ["big", "parity"], "nodeCountTarget": 12, "constraintsBudget": "一个必要奇偶;一个中段数字", "unknownStart": false, "introduces": "", "layoutIntent": "比24关更短但保留一个可解释分叉", "teachingGoal": "巩固奇偶,避免连续多条件压力", "temptingRouteIntent": "机械沿边走,忽略到达步号", "rejectionReason": "奇偶直接排除这一条完整路线", "reasoningOutline": "先说明诱惑方向,再用奇偶直接排除这一条完整路线排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 36, "targetDifficultyBand": [32, 40], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "奇偶"]}, {"levelId": "da394472-bef6-53dd-abb2-bc4e7a60f07e", "designKey": "demo-026", "displayOrder": 26, "title": "门随脚步开关", "chapter": 3, "chapterSlot": 6, "role": "演示/迁移", "geometry": "square", "features": ["rhythm-door"], "nodeCountTarget": 9, "constraintsBudget": "一道门;空盘关;数字1", "unknownStart": false, "introduces": "步进门", "layoutIntent": "门在前段;能看到另一侧入口选择", "teachingGoal": "起步也切换,移动前看门位", "temptingRouteIntent": "把门当静态墙或等待自动打开", "rejectionReason": "只有落格才切换,等待无效", "reasoningOutline": "先说明诱惑方向,再用只有落格才切换,等待无效排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 32, "targetDifficultyBand": [28, 36], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": ["rhythm-door/01", "rhythm-door/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号"]}, {"levelId": "d1d36cdb-8e4f-57b9-b53a-754da1264744", "designKey": "demo-027", "displayOrder": 27, "title": "从另一侧通过", "chapter": 3, "chapterSlot": 7, "role": "练习/挑战", "geometry": "square", "features": ["rhythm-door"], "nodeCountTarget": 12, "constraintsBudget": "一道门;一个中段数字", "unknownStart": false, "introduces": "", "layoutIntent": "普通方格中从正确一侧接近门", "teachingGoal": "用步号判断通过方向,不假设绕路能改目标奇偶", "temptingRouteIntent": "从当前关闭的一侧接近,试图靠等待或同侧绕圈补拍", "rejectionReason": "正交单位格固定起点的格奇偶不随绕路改变", "reasoningOutline": "先说明诱惑方向,再用正交单位格固定起点的格奇偶不随绕路改变排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 38, "targetDifficultyBand": [34, 42], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": ["rhythm-door/01", "rhythm-door/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "步进门"]}, {"levelId": "a3f362fb-e070-5340-804a-14cb90fef2d4", "designKey": "demo-028", "displayOrder": 28, "title": "大块改变节拍", "chapter": 3, "chapterSlot": 8, "role": "章节峰值", "geometry": "blocks", "features": ["big", "rhythm-door"], "nodeCountTarget": 15, "constraintsBudget": "一道门;一至两个大格", "unknownStart": false, "introduces": "", "layoutIntent": "经过不同拼块的区域顺序影响到门时的步号", "teachingGoal": "在大格图中规划真实到达状态", "temptingRouteIntent": "选择视觉近但落格次数不合适的接近路线", "rejectionReason": "门在出发前状态关闭", "reasoningOutline": "先说明诱惑方向,再用门在出发前状态关闭排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 50, "targetDifficultyBand": [46, 54], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [30, 75], "sourceCandidates": ["rhythm-door/01", "rhythm-door/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": true, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "步进门"]}, {"levelId": "d09f715e-948a-5ddc-ac89-1e2fa8e917f3", "designKey": "demo-029", "displayOrder": 29, "title": "墙和门分开看", "chapter": 3, "chapterSlot": 9, "role": "释放", "geometry": "blocks", "features": ["big", "rhythm-door", "walls"], "nodeCountTarget": 12, "constraintsBudget": "一道门+一堵墙;短盘面", "unknownStart": false, "introduces": "", "layoutIntent": "永久墙只阻一条边,门保留清楚的跨区判断", "teachingGoal": "以短组合应用释放认知负担", "temptingRouteIntent": "把黑黄墙也当作会切换的门", "rejectionReason": "永久墙始终不可跨越", "reasoningOutline": "先说明诱惑方向,再用永久墙始终不可跨越排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 40, "targetDifficultyBand": [36, 44], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [18, 40], "sourceCandidates": ["rhythm-door/01", "rhythm-door/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "步进门", "永久墙"]}, {"levelId": "ea61da6f-0488-59bd-b1f5-5e4f4efa4bbd", "designKey": "demo-030", "displayOrder": 30, "title": "顺着节拍收尾", "chapter": 3, "chapterSlot": 10, "role": "收束", "geometry": "blocks", "features": ["big", "rhythm-door"], "nodeCountTarget": 14, "constraintsBudget": "一道门;起点给定", "unknownStart": false, "introduces": "", "layoutIntent": "近似对称两区,关键经过时机清楚", "teachingGoal": "巩固大格计步与门位,完成顺畅章节收束", "temptingRouteIntent": "门开就立刻跨区,留下本侧格", "rejectionReason": "需要先完成本侧再合法跨门", "reasoningOutline": "先说明诱惑方向,再用需要先完成本侧再合法跨门排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 42, "targetDifficultyBand": [38, 46], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [18, 40], "sourceCandidates": ["rhythm-door/01", "rhythm-door/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "步进门"]}, {"levelId": "d61b202d-a661-5a76-8b40-0cef0a79480d", "designKey": "demo-031", "displayOrder": 31, "title": "六向邻接", "chapter": 4, "chapterSlot": 1, "role": "演示/热身", "geometry": "hex", "features": ["walls"], "nodeCountTarget": 10, "constraintsBudget": "一堵墙;数字1", "unknownStart": false, "introduces": "六边邻接", "layoutIntent": "紧凑六边盘,保留三角邻接", "teachingGoal": "只新增六向几何,复用熟悉墙规则", "temptingRouteIntent": "漏看斜向共边,或认为碰角也能走", "rejectionReason": "以实际六边共边判断邻接", "reasoningOutline": "先说明诱惑方向,再用以实际六边共边判断邻接排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 34, "targetDifficultyBand": [30, 38], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "永久墙"]}, {"levelId": "2c745dac-0edc-5d14-acda-be7bd80331f9", "designKey": "demo-032", "displayOrder": 32, "title": "六边留出口", "chapter": 4, "chapterSlot": 2, "role": "练习", "geometry": "hex", "features": ["walls"], "nodeCountTarget": 13, "constraintsBudget": "两堵必要墙;一个中段数字", "unknownStart": false, "introduces": "", "layoutIntent": "更多六向出口中保留后续区域连接", "teachingGoal": "识别多出口枢纽,规划区域收尾", "temptingRouteIntent": "先走看似安全的近出口", "rejectionReason": "覆盖余区所需通口被用掉", "reasoningOutline": "先说明诱惑方向,再用覆盖余区所需通口被用掉排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 38, "targetDifficultyBand": [34, 42], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "永久墙"]}, {"levelId": "36adc671-1d28-5c05-96c1-c7f84dff757a", "designKey": "demo-033", "displayOrder": 33, "title": "六边换颜色", "chapter": 4, "chapterSlot": 3, "role": "变化", "geometry": "hex", "features": ["alternation"], "nodeCountTarget": 13, "constraintsBudget": "蓝橙全盘;起点给定", "unknownStart": false, "introduces": "", "layoutIntent": "三角邻接有同色边,两个异色候选都可起手", "teachingGoal": "把交替迁移到六向盘面", "temptingRouteIntent": "以六向相邻为由走同色格", "rejectionReason": "仍必须每步换色", "reasoningOutline": "先说明诱惑方向,再用仍必须每步换色排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 43, "targetDifficultyBand": [39, 47], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "双色交替"]}, {"levelId": "a0bd742b-73c2-5dd6-9df9-a69580e5becd", "designKey": "demo-034", "displayOrder": 34, "title": "颜色之外还有墙", "chapter": 4, "chapterSlot": 4, "role": "组合", "geometry": "hex", "features": ["alternation", "walls"], "nodeCountTarget": 15, "constraintsBudget": "两堵必要墙,均在异色共边上", "unknownStart": false, "introduces": "", "layoutIntent": "颜色先筛候选,墙再影响区域出口", "teachingGoal": "分清颜色阻挡与墙阻挡,两者联动", "temptingRouteIntent": "选异色格却忽略边墙", "rejectionReason": "异色仍可能被永久墙封边", "reasoningOutline": "先说明诱惑方向,再用异色仍可能被永久墙封边排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 47, "targetDifficultyBand": [43, 51], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": ["hex-alternation/04", "hex-alternation/07"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "双色交替", "永久墙"]}, {"levelId": "03398b88-7ed6-5bc3-b001-7bbcb825d963", "designKey": "demo-035", "displayOrder": 35, "title": "六边小花园", "chapter": 4, "chapterSlot": 5, "role": "巩固", "geometry": "hex", "features": ["alternation", "walls"], "nodeCountTarget": 12, "constraintsBudget": "一堵必要墙;起点给定", "unknownStart": false, "introduces": "", "layoutIntent": "比34更短,几何主题清楚,不重教规则", "teachingGoal": "巩固六边迁移,以一次区域判断完成", "temptingRouteIntent": "追随主题外形,留错末端", "rejectionReason": "末端颜色与区域覆盖共同排除", "reasoningOutline": "先说明诱惑方向,再用末端颜色与区域覆盖共同排除排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 40, "targetDifficultyBand": [36, 44], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": ["hex-alternation/04", "hex-alternation/07"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "双色交替", "永久墙"]}, {"levelId": "1a91cff3-d0ef-5abc-b4a1-adbc4d70a208", "designKey": "demo-036", "displayOrder": 36, "title": "六边也有奇偶", "chapter": 4, "chapterSlot": 6, "role": "演示/迁移", "geometry": "hex", "features": ["parity"], "nodeCountTarget": 14, "constraintsBudget": "一至两个必要奇偶;无双色", "unknownStart": false, "introduces": "", "layoutIntent": "保留三角邻接,可改变路线步号关系", "teachingGoal": "把奇偶迁移到非天然黑白图", "temptingRouteIntent": "照搬单位方格天然奇偶规律", "rejectionReason": "三角邻接允许不同访问奇偶,须按路线计步", "reasoningOutline": "先说明诱惑方向,再用三角邻接允许不同访问奇偶,须按路线计步排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 44, "targetDifficultyBand": [40, 48], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [20, 55], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "奇偶"]}, {"levelId": "2e11044e-f88b-5152-bda8-b1eed66a3888", "designKey": "demo-037", "displayOrder": 37, "title": "起点没有写出", "chapter": 4, "chapterSlot": 7, "role": "练习/挑战", "geometry": "hex", "features": ["parity"], "nodeCountTarget": 12, "constraintsBudget": "一个必要奇偶;不给1;其他条件减少", "unknownStart": true, "introduces": "起点未知", "layoutIntent": "有可辨认的端点候选,盘面缩小", "teachingGoal": "首次只增加起点未知的信息负担", "temptingRouteIntent": "任意格起手再穷举", "rejectionReason": "端点结构与奇偶可排除起点候选", "reasoningOutline": "先说明诱惑方向,再用端点结构与奇偶可排除起点候选排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 49, "targetDifficultyBand": [45, 53], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [12, 35], "sourceCandidates": [], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "奇偶", "端点推理"]}, {"levelId": "349e4537-d0e7-545d-be9b-feb7ff23fa2f", "designKey": "demo-038", "displayOrder": 38, "title": "找起点再跨区", "chapter": 4, "chapterSlot": 8, "role": "章节峰值", "geometry": "hex", "features": ["parity", "walls"], "nodeCountTarget": 17, "constraintsBudget": "两个必要奇偶;两堵墙;不给1", "unknownStart": true, "introduces": "", "layoutIntent": "区域连接清楚,但两端和方向需要联合判断", "teachingGoal": "先定端点,再定访问方向与区域次序", "temptingRouteIntent": "选对几何端点却朝错误方向走", "rejectionReason": "奇偶与墙共同排除反向完整路线", "reasoningOutline": "先说明诱惑方向,再用奇偶与墙共同排除反向完整路线排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 58, "targetDifficultyBand": [54, 62], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [30, 75], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "奇偶", "永久墙", "端点推理"]}, {"levelId": "7f895016-a15f-5d1a-b89b-dce54f3f0986", "designKey": "demo-039", "displayOrder": 39, "title": "给回起点的短题", "chapter": 4, "chapterSlot": 9, "role": "释放", "geometry": "hex", "features": ["parity", "walls"], "nodeCountTarget": 12, "constraintsBudget": "一个必要奇偶;一堵墙;恢复1", "unknownStart": false, "introduces": "", "layoutIntent": "短盘面,只保留一个区域收尾问题", "teachingGoal": "移除起点负担,形成明确释放", "temptingRouteIntent": "提前经过跨区口", "rejectionReason": "区域覆盖与奇偶给出短排除", "reasoningOutline": "先说明诱惑方向,再用区域覆盖与奇偶给出短排除排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 42, "targetDifficultyBand": [38, 46], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [18, 40], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "奇偶", "永久墙"]}, {"levelId": "15549f52-37a6-5149-b564-8caf096022fe", "designKey": "demo-040", "displayOrder": 40, "title": "六边收束", "chapter": 4, "chapterSlot": 10, "role": "收束", "geometry": "hex", "features": ["parity", "walls"], "nodeCountTarget": 15, "constraintsBudget": "一至两个必要奇偶;一堵墙", "unknownStart": false, "introduces": "", "layoutIntent": "对称主题外形,线索给出清楚解题入口", "teachingGoal": "熟练应用已学条件,顺畅结束章节", "temptingRouteIntent": "照镜像选择次序", "rejectionReason": "明确线索打破对称", "reasoningOutline": "先说明诱惑方向,再用明确线索打破对称排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 46, "targetDifficultyBand": [42, 50], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [18, 40], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "奇偶", "永久墙"]}, {"levelId": "034f2c11-d092-5280-b22d-dbe2b8ca26c2", "designKey": "demo-041", "displayOrder": 41, "title": "通道再接力", "chapter": 5, "chapterSlot": 1, "role": "演示/热身", "geometry": "square", "features": ["direction", "walls"], "nodeCountTarget": 15, "constraintsBudget": "两个必要通道;一至两堵墙", "unknownStart": false, "introduces": "", "layoutIntent": "横竖与拐角配合,两片区域相互制约", "teachingGoal": "用熟悉机制开始综合阶段", "temptingRouteIntent": "只满足近侧通道,留错远侧入口", "rejectionReason": "后段方向要求反推前段入口", "reasoningOutline": "先说明诱惑方向,再用后段方向要求反推前段入口排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 44, "targetDifficultyBand": [40, 48], "targetDecisionCount": [2, 3], "targetDependencyDepth": 2, "thinkingSecondsP50Target": [25, 65], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "方向通道", "永久墙"]}, {"levelId": "758c22d7-8b75-5110-befe-9b4b71a749b0", "designKey": "demo-042", "displayOrder": 42, "title": "两个双色枢纽", "chapter": 5, "chapterSlot": 2, "role": "练习", "geometry": "blocks", "features": ["big", "alternation", "walls"], "nodeCountTarget": 16, "constraintsBudget": "两个大格或异形;两堵墙", "unknownStart": false, "introduces": "", "layoutIntent": "两个枢纽连接区域,颜色限制各自出口", "teachingGoal": "两个局部选择不能独立处理", "temptingRouteIntent": "先使用更近枢纽的异色出口", "rejectionReason": "远侧区域失去可交替续接通路", "reasoningOutline": "先说明诱惑方向,再用远侧区域失去可交替续接通路排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 48, "targetDifficultyBand": [44, 52], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [25, 65], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "双色交替", "永久墙"]}, {"levelId": "d430c0b6-4d1c-50f0-9365-82f40d6bdcdb", "designKey": "demo-043", "displayOrder": 43, "title": "奇偶分配区域", "chapter": 5, "chapterSlot": 3, "role": "变化", "geometry": "blocks", "features": ["big", "parity", "walls"], "nodeCountTarget": 17, "constraintsBudget": "两个必要奇偶;两堵墙", "unknownStart": false, "introduces": "", "layoutIntent": "两片区域的访问先后影响两个标记步号", "teachingGoal": "协调两处步数条件,不能各自贪心满足", "temptingRouteIntent": "满足第一个条件后直接跨区", "rejectionReason": "第二个奇偶或完整覆盖冲突", "reasoningOutline": "先说明诱惑方向,再用第二个奇偶或完整覆盖冲突排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 52, "targetDifficultyBand": [48, 56], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [25, 65], "sourceCandidates": ["walls/02", "walls/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "奇偶", "永久墙"]}, {"levelId": "09653cbe-4ca9-571d-b976-853ac0ecb886", "designKey": "demo-044", "displayOrder": 44, "title": "六边出口互锁", "chapter": 5, "chapterSlot": 4, "role": "组合", "geometry": "hex", "features": ["alternation", "walls"], "nodeCountTarget": 18, "constraintsBudget": "三堵必要墙;少量数字", "unknownStart": false, "introduces": "", "layoutIntent": "三片逻辑区域由至少两类可选通口衔接,避免三枝单枢纽无解", "teachingGoal": "一个区域选择影响另一个区域的出口", "temptingRouteIntent": "抢先用掉当前合法异色出口", "rejectionReason": "后续区域无法持续交替覆盖", "reasoningOutline": "先说明诱惑方向,再用后续区域无法持续交替覆盖排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 56, "targetDifficultyBand": [52, 60], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [25, 65], "sourceCandidates": ["hex-alternation/04", "hex-alternation/07"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "双色交替", "永久墙"]}, {"levelId": "ba80bb56-a59e-55aa-b586-46d245984ccb", "designKey": "demo-045", "displayOrder": 45, "title": "方向决定门路", "chapter": 5, "chapterSlot": 5, "role": "巩固", "geometry": "square", "features": ["direction", "rhythm-door"], "nodeCountTarget": 16, "constraintsBudget": "两个必要通道+一道门", "unknownStart": false, "introduces": "", "layoutIntent": "方向配对迫使从特定一侧接近门", "teachingGoal": "后段通道反推穿门方向", "temptingRouteIntent": "通道局部满足,但从关闭侧到门", "rejectionReason": "门与通道联合排除路线", "reasoningOutline": "先说明诱惑方向,再用门与通道联合排除路线排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 58, "targetDifficultyBand": [54, 62], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [25, 65], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "方向通道", "步进门"]}, {"levelId": "9ceed4f0-5c12-5251-9cc9-11aafba3e8c3", "designKey": "demo-046", "displayOrder": 46, "title": "先定奇偶,再定节拍", "chapter": 5, "chapterSlot": 6, "role": "演示/迁移", "geometry": "blocks", "features": ["big", "parity", "rhythm-door"], "nodeCountTarget": 17, "constraintsBudget": "两个必要奇偶+一道门", "unknownStart": false, "introduces": "", "layoutIntent": "奇偶格远离门口,避免直接重复门条件", "teachingGoal": "前段奇偶选择影响后段门位", "temptingRouteIntent": "把两处条件分别满足,却忽略次序依赖", "rejectionReason": "路线必须同时满足远处标记与跨门状态", "reasoningOutline": "先说明诱惑方向,再用路线必须同时满足远处标记与跨门状态排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 60, "targetDifficultyBand": [56, 64], "targetDecisionCount": [4, 5], "targetDependencyDepth": 4, "thinkingSecondsP50Target": [25, 65], "sourceCandidates": ["rhythm-door/01", "rhythm-door/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "奇偶", "步进门"]}, {"levelId": "71a70b69-ff59-51a3-a149-1dd88868c0f3", "designKey": "demo-047", "displayOrder": 47, "title": "墙通道门三者联动", "chapter": 5, "chapterSlot": 7, "role": "练习/挑战", "geometry": "square", "features": ["direction", "walls", "rhythm-door"], "nodeCountTarget": 18, "constraintsBudget": "三个必要通道;两堵墙;一道门", "unknownStart": false, "introduces": "", "layoutIntent": "多步入口出口依赖,起点仍给定", "teachingGoal": "从后段限制逐步反推,而非起手试画", "temptingRouteIntent": "走到中段才发现后段通道进不去", "rejectionReason": "需要提前保留满足通道与门的接近路线", "reasoningOutline": "先说明诱惑方向,再用需要提前保留满足通道与门的接近路线排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 65, "targetDifficultyBand": [61, 69], "targetDecisionCount": [4, 5], "targetDependencyDepth": 4, "thinkingSecondsP50Target": [25, 65], "sourceCandidates": ["direction/01", "direction/02", "direction/04"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "方向通道", "永久墙", "步进门"]}, {"levelId": "e96c918b-2f4c-5a18-b443-8ac574f77ad6", "designKey": "demo-048", "displayOrder": 48, "title": "六边综合峰值", "chapter": 5, "chapterSlot": 8, "role": "章节峰值", "geometry": "hex", "features": ["parity", "walls", "rhythm-door"], "nodeCountTarget": 19, "constraintsBudget": "两个必要奇偶;两堵墙;一道门", "unknownStart": false, "introduces": "", "layoutIntent": "保留三角邻接,跨区时机与前段次序联动;不给额外新规则", "teachingGoal": "端点、区域、步号和门状态构成可解释依赖链", "temptingRouteIntent": "局部条件都似乎满足,最后跨门状态不对", "rejectionReason": "前段次序必须为后段合法穿门服务", "reasoningOutline": "先说明诱惑方向,再用前段次序必须为后段合法穿门服务排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 72, "targetDifficultyBand": [68, 76], "targetDecisionCount": [4, 5], "targetDependencyDepth": 4, "thinkingSecondsP50Target": [45, 100], "sourceCandidates": ["rhythm-door/01", "rhythm-door/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "待实现:Variants奇偶判定、提示与校验;不读取原项目运行代码", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "奇偶", "永久墙", "步进门"]}, {"levelId": "a25a4829-f77f-5b4a-9163-4eef9cd3856e", "designKey": "demo-049", "displayOrder": 49, "title": "回到双色小题", "chapter": 5, "chapterSlot": 9, "role": "释放", "geometry": "blocks", "features": ["big", "alternation", "walls"], "nodeCountTarget": 12, "constraintsBudget": "一个大格;一堵墙;恢复清楚起点", "unknownStart": false, "introduces": "", "layoutIntent": "一个异色出口保留判断,明显短于峰值", "teachingGoal": "在挑战后用已掌握能力快速完成", "temptingRouteIntent": "随便选合法颜色的出口", "rejectionReason": "后续收尾给出一个短排除", "reasoningOutline": "先说明诱惑方向,再用后续收尾给出一个短排除排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 48, "targetDifficultyBand": [44, 52], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [20, 45], "sourceCandidates": ["block-alternation/03", "block-alternation/05"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "大格/异形", "双色交替", "永久墙"]}, {"levelId": "f79bf403-764d-57e7-a37f-e85dce3b4505", "designKey": "demo-050", "displayOrder": 50, "title": "继续还有新花园", "chapter": 5, "chapterSlot": 10, "role": "收束", "geometry": "hex", "features": ["alternation", "walls"], "nodeCountTarget": 16, "constraintsBudget": "一至两堵墙;起点给定", "unknownStart": false, "introduces": "", "layoutIntent": "新的主题布局,包含两个短推理,但不做终极考卷", "teachingGoal": "展示机制的可持续变化,顺畅完成DEMO", "temptingRouteIntent": "照搬44关的访问次序", "rejectionReason": "新布局的墙与颜色要求有不同收尾顺序", "reasoningOutline": "先说明诱惑方向,再用新布局的墙与颜色要求有不同收尾顺序排除;最后检查数字、覆盖和全部机制。", "targetDifficulty": 54, "targetDifficultyBand": [50, 58], "targetDecisionCount": [3, 4], "targetDependencyDepth": 3, "thinkingSecondsP50Target": [20, 45], "sourceCandidates": ["hex-alternation/04", "hex-alternation/07"], "reusePolicy": "仅参考构造,未确认可直接复用", "implementationNote": "已有单机制可参考,组合需独立主线支持", "status": "design-only", "geometryValidated": false, "uniqueSolutionValidated": false, "humanDifficultyCalibrated": false, "measuredFeatures": null, "pilotPriority": false, "prerequisiteSkills": ["共边移动", "每格一次", "精确步号", "双色交替", "永久墙"]}], "orders": {"A": {"title": "第8关峰值,末两关释放", "levelIds": ["21ceadc1-cd0e-511b-b7d3-d227e01de8a1", "de71e06d-ed2b-5371-a3dd-7089ccff10b3", "f521de33-0d27-54c1-9c04-8fe43955132c", "07323e0e-de6c-5d71-8876-e3d88d008b60", "0b255856-d185-5314-85e3-4a95eb233b04", "23914286-0aa4-5d7a-afd1-b5a31c0c1a6e", "e85cd2f3-94af-5b5e-bfd5-d513e6a5ba2c", "a2cbcb61-034a-5215-9a31-035c1c0b96f5", "c27d6782-9897-56e4-9024-27a725af609a", "2a913cf0-2d97-512f-b8d8-bf4b859ac675", "9edd9ff2-ed54-5fd8-a0e5-8c477b3100bc", "852f0119-285e-5ec3-9569-8e34485bcf74", "f509046b-a9b3-5f56-9aeb-e5b772115dfe", "44f6955d-e999-5c24-8d71-14dc2d16f8f1", "8f11cd51-0d6d-584a-9d00-babd8e381410", "a9749d13-9881-5ed8-9fcd-d06589e4e7df", "a9742951-1d48-538e-8d10-f37c3492ed6f", "7261dec3-e994-5326-8755-2e60168b909c", "21ae0172-eeda-51ab-a66c-2de946d2541b", "cc92cc4f-1336-544e-81b4-bd6731ed60d3", "9b9c1633-aedf-51f2-a04b-3818a2c6b7db", "2174f62c-3d56-575a-8210-b1535710e9b0", "82766c6c-a705-5340-acf7-d4d46dc113c1", "f872f251-f6cd-5cf4-a8fa-c3619f948f22", "1bcbf26f-650f-5791-b227-dd5e8f0d2dd0", "da394472-bef6-53dd-abb2-bc4e7a60f07e", "d1d36cdb-8e4f-57b9-b53a-754da1264744", "a3f362fb-e070-5340-804a-14cb90fef2d4", "d09f715e-948a-5ddc-ac89-1e2fa8e917f3", "ea61da6f-0488-59bd-b1f5-5e4f4efa4bbd", "d61b202d-a661-5a76-8b40-0cef0a79480d", "2c745dac-0edc-5d14-acda-be7bd80331f9", "36adc671-1d28-5c05-96c1-c7f84dff757a", "a0bd742b-73c2-5dd6-9df9-a69580e5becd", "03398b88-7ed6-5bc3-b001-7bbcb825d963", "1a91cff3-d0ef-5abc-b4a1-adbc4d70a208", "2e11044e-f88b-5152-bda8-b1eed66a3888", "349e4537-d0e7-545d-be9b-feb7ff23fa2f", "7f895016-a15f-5d1a-b89b-dce54f3f0986", "15549f52-37a6-5149-b564-8caf096022fe", "034f2c11-d092-5280-b22d-dbe2b8ca26c2", "758c22d7-8b75-5110-befe-9b4b71a749b0", "d430c0b6-4d1c-50f0-9365-82f40d6bdcdb", "09653cbe-4ca9-571d-b976-853ac0ecb886", "ba80bb56-a59e-55aa-b586-46d245984ccb", "9ceed4f0-5c12-5251-9cc9-11aafba3e8c3", "71a70b69-ff59-51a3-a149-1dd88868c0f3", "e96c918b-2f4c-5a18-b443-8ac574f77ad6", "a25a4829-f77f-5b4a-9163-4eef9cd3856e", "f79bf403-764d-57e7-a37f-e85dce3b4505"]}, "B": {"title": "章末峰值对照", "levelIds": ["21ceadc1-cd0e-511b-b7d3-d227e01de8a1", "de71e06d-ed2b-5371-a3dd-7089ccff10b3", "f521de33-0d27-54c1-9c04-8fe43955132c", "07323e0e-de6c-5d71-8876-e3d88d008b60", "0b255856-d185-5314-85e3-4a95eb233b04", "23914286-0aa4-5d7a-afd1-b5a31c0c1a6e", "e85cd2f3-94af-5b5e-bfd5-d513e6a5ba2c", "c27d6782-9897-56e4-9024-27a725af609a", "2a913cf0-2d97-512f-b8d8-bf4b859ac675", "a2cbcb61-034a-5215-9a31-035c1c0b96f5", "9edd9ff2-ed54-5fd8-a0e5-8c477b3100bc", "852f0119-285e-5ec3-9569-8e34485bcf74", "f509046b-a9b3-5f56-9aeb-e5b772115dfe", "44f6955d-e999-5c24-8d71-14dc2d16f8f1", "8f11cd51-0d6d-584a-9d00-babd8e381410", "a9749d13-9881-5ed8-9fcd-d06589e4e7df", "a9742951-1d48-538e-8d10-f37c3492ed6f", "21ae0172-eeda-51ab-a66c-2de946d2541b", "cc92cc4f-1336-544e-81b4-bd6731ed60d3", "7261dec3-e994-5326-8755-2e60168b909c", "9b9c1633-aedf-51f2-a04b-3818a2c6b7db", "2174f62c-3d56-575a-8210-b1535710e9b0", "82766c6c-a705-5340-acf7-d4d46dc113c1", "f872f251-f6cd-5cf4-a8fa-c3619f948f22", "1bcbf26f-650f-5791-b227-dd5e8f0d2dd0", "da394472-bef6-53dd-abb2-bc4e7a60f07e", "d1d36cdb-8e4f-57b9-b53a-754da1264744", "d09f715e-948a-5ddc-ac89-1e2fa8e917f3", "ea61da6f-0488-59bd-b1f5-5e4f4efa4bbd", "a3f362fb-e070-5340-804a-14cb90fef2d4", "d61b202d-a661-5a76-8b40-0cef0a79480d", "2c745dac-0edc-5d14-acda-be7bd80331f9", "36adc671-1d28-5c05-96c1-c7f84dff757a", "a0bd742b-73c2-5dd6-9df9-a69580e5becd", "03398b88-7ed6-5bc3-b001-7bbcb825d963", "1a91cff3-d0ef-5abc-b4a1-adbc4d70a208", "2e11044e-f88b-5152-bda8-b1eed66a3888", "7f895016-a15f-5d1a-b89b-dce54f3f0986", "15549f52-37a6-5149-b564-8caf096022fe", "349e4537-d0e7-545d-be9b-feb7ff23fa2f", "034f2c11-d092-5280-b22d-dbe2b8ca26c2", "758c22d7-8b75-5110-befe-9b4b71a749b0", "d430c0b6-4d1c-50f0-9365-82f40d6bdcdb", "09653cbe-4ca9-571d-b976-853ac0ecb886", "ba80bb56-a59e-55aa-b586-46d245984ccb", "9ceed4f0-5c12-5251-9cc9-11aafba3e8c3", "71a70b69-ff59-51a3-a149-1dd88868c0f3", "a25a4829-f77f-5b4a-9163-4eef9cd3856e", "f79bf403-764d-57e7-a37f-e85dce3b4505", "e96c918b-2f4c-5a18-b443-8ac574f77ad6"]}}, "hardConstraints": ["每格一次、共边移动、固定数字为绝对访问步号", "完整有序解唯一;解除任意新约束后至少两解", "原始同格数字与奇偶互斥", "不给固定起点的双色+奇偶组合", "方向通道仅用于单位方格整盘", "每关最多一道步进门;起点也切换、移动前判门位、撤销恢复", "N最多20,按拼块数量而非面积", "不上新传送、限时、体力、分数或已放弃机制"], "additionalResearchSources": [{"path": "G:\\项目\\NumberSwipe\\docs\\一笔画竞品调研与关卡编排方案.md", "sha256": "cfb8672367b540a861670e579c53efcce280099b2665a80daef23c53fa8e52cc", "scope": "原项目45关研究,不等于Variants40关验收"}, {"path": "G:\\项目\\NumberSwipe\\docs\\一笔画深度调研-制作与难度证据.md", "sha256": "544637e370b2fba7fcd2ecd2216c43000e7c0b2d1d12c8c8430b8d5e6e45ede0", "scope": "原项目45关研究,不等于Variants40关验收"}, {"path": "G:\\项目\\NumberSwipe\\docs\\research\\level-structure-audit.json", "sha256": "6ba0c9272eda113144e7e9c5655ce935ec7297f618c6c5ec6db14419f8acb191", "scope": "原项目45关研究,不等于Variants40关验收"}], "pilotDesignKeys": ["demo-005", "demo-013", "demo-018", "demo-021", "demo-024", "demo-028"], "skillDependencies": {"big": "共边/覆盖/步号→大格一步→大格出口→异形共边", "direction": "共边/覆盖→横竖端口→明确拐角→方向联合", "alternation": "覆盖/大格一步→双色交替→异色出口保留", "parity": "精确步号/实际拼块邻接→单奇偶→双奇偶协作", "rhythm-door": "步号/撤销→起步切换→穿门方向→大格到达状态", "hex": "共边/墙→六向邻接→旧规则迁移", "unknown-start": "覆盖/端点/步号推理→小盘起点未知→组合反推"}};const names={big:'大格/异形',walls:'墙',direction:'方向',alternation:'双色',parity:'奇偶','rhythm-door':'步进门'};const geo={square:'单位方格',blocks:'拼块',hex:'六边'};const $=id=>document.getElementById(id);let order='A';const lookup=new Map(PLAN.levels.map(l=>[l.levelId,l]));const esc=s=>String(s).replaceAll('&','&amp;').replaceAll('<','&lt;').replaceAll('>','&gt;').replaceAll('"','&quot;');function mechanism(l){return l.features.map(f=>names[f]).join('+')||'数字基础';}function option(el,v,text){const o=document.createElement('option');o.value=v;o.textContent=text;el.appendChild(o);}for(const c of PLAN.chapters)option($('chapter'),c.id,'第'+c.id+'章 · '+c.title);for(const [id,name]of Object.entries(names))option($('feature'),id,name);$('chapters').innerHTML=PLAN.chapters.map(c=>{const ls=PLAN.levels.filter(l=>l.chapter===c.id);return `<tr><td>${(c.id-1)*10+1}–${c.id*10}</td><td>${esc(c.title)}</td><td>${esc(c.introduced.map(k=>names[k]||({hex:'六边几何','unknown-start':'未知起点'})[k]).join('、')||'不新增规则')}</td><td>${esc(c.focus)}</td><td>${Math.max(...ls.map(l=>l.targetDifficulty))}</td></tr>`;}).join('');function render(){const ids=PLAN.orders[order].levelIds;const items=ids.map((id,i)=>({l:lookup.get(id),position:i+1})).filter(({l})=>(!$('chapter').value||l.chapter==$('chapter').value)&&(!$('feature').value||l.features.includes($('feature').value))&&(!$('role').value||l.role===$('role').value));$('count').textContent=`显示 ${items.length}/50关`;$('orderLabel').textContent=PLAN.orders[order].title;$('chartA').hidden=order!=='A';$('chartB').hidden=order!=='B';$('a').className=order==='A'?'active':'';$('b').className=order==='B'?'active':'';$('tasks').innerHTML=items.map(({l,position})=>`<tr class="${l.role==='章节峰值'?'peak':''}"><td>${position}<br><span class="muted">${esc(l.designKey)}</span></td><td><strong>${esc(l.title)}</strong><br>${esc(l.role)}${l.introduces?'<br><span class="pill">引入 '+esc(l.introduces)+'</span>':''}</td><td>${geo[l.geometry]}<br>${mechanism(l)}</td><td>${l.nodeCountTarget}</td><td class="score">${l.targetDifficulty}<br><span class="muted">${l.targetDifficultyBand.join('–')}</span></td><td>${esc(l.teachingGoal)}<br><a href="#detail-${l.designKey}">详细设计 ↓</a></td><td>${l.thinkingSecondsP50Target.join('–')}秒<br><span class="muted">待测目标</span></td></tr>`).join('');$('details').innerHTML=items.map(({l,position})=>`<details id="detail-${l.designKey}"><summary>${position} · ${esc(l.title)} · ${mechanism(l)} · 目标${l.targetDifficulty}</summary><dl><dt>盘面构造</dt><dd>${esc(l.layoutIntent)}</dd><dt>条件预算</dt><dd>${esc(l.constraintsBudget)}</dd><dt>关键顿悟</dt><dd>${esc(l.teachingGoal)}</dd><dt>诱惑路线</dt><dd>${esc(l.temptingRouteIntent)}</dd><dt>排除依据</dt><dd>${esc(l.rejectionReason)}</dd><dt>前置技能</dt><dd>${esc(l.prerequisiteSkills.join("、")||"无需前置")}</dd><dt>推理目标</dt><dd>有效选择${l.targetDecisionCount.join('–')}处;最长依赖约${l.targetDependencyDepth}层;${l.unknownStart?'起点未知':'给定起点'}。</dd><dt>项目落地</dt><dd>${esc(l.implementationNote)}</dd><dt>原型参考</dt><dd>${esc(l.sourceCandidates.join('、')||'新做基础题')};仅作构造参考。</dd><dt>当前状态</dt><dd>设计任务,尚无具体坐标/作者解/唯一性结果/真人测量。</dd></dl></details>`).join('');}for(const id of ['chapter','feature','role'])$(id).addEventListener('change',render);$('a').onclick=()=>{order='A';render();};$('b').onclick=()=>{order='B';render();};$('csv').onclick=()=>{const rows=PLAN.orders[order].levelIds.map((id,i)=>{const l=lookup.get(id);return [i+1,l.levelId,l.designKey,l.title,l.targetDifficulty,l.role];});const quote=x=>'"'+String(x).replaceAll('"','""')+'"';const text='\ufeffposition,level_id,design_key,title,target_difficulty,role\r\n'+rows.map(r=>r.map(quote).join(',')).join('\r\n');const u=URL.createObjectURL(new Blob([text],{type:'text/csv;charset=utf-8'}));const a=document.createElement('a');a.href=u;a.download='NumberSwipe_DEMO50_Order_'+order+'.csv';a.click();setTimeout(()=>URL.revokeObjectURL(u),1000);};render();</script></body></html>