11 lines
94 KiB
HTML
11 lines
94 KiB
HTML
<!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('&','&').replaceAll('<','<').replaceAll('>','>').replaceAll('"','"');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> |