{ "campaign": { "id": "experience-v04", "revision": 1, "chapterSize": 5, "chapters": [ "第一眼的惊喜", "清开一条长路", "轻轻转出新风景", "让整盘一路盛放" ] }, "note": "Authored v0.4 recipes. All layouts are new deterministic seeds. Experience actions highlight the intended payoff and must replay completely. Targets are this sample batch’s selection bands, not universal rules. Run npm run levels:v04 after changes.", "seeds": [ { "level": 1, "name": "跟着它绕出去", "kind": "tour", "seed": 9400010, "options": { "radius": 2, "target": 4, "allFree": true, "minHeroBends": 6, "maxBends": 9, "clearBlockers": true, "startRotation": 0 }, "targets": { "rotations": 0, "minMaxBends": 6, "minLongPaths": 1, "maxHidden": 0, "maxExperienceHidden": 0 }, "feature": { "id": "t0", "action": 0, "stage": 0, "bends": 9, "cells": 11 }, "experienceActions": [ { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" } ], "lesson": "先点一枚棋子,看它沿弯弯绕绕的轨道开出去", "designIntent": "4 枚棋子开局都能离场。用直接可点的长绕行建立“箭头起步、轨道转向”的感受;不要求先找顺序,首关就完整赠送巡游。" }, { "level": 2, "name": "朝里面,也能出去", "kind": "contrast", "seed": 9421815, "options": { "radius": 2, "target": 5, "allFree": false, "minHeroBends": 6, "maxBends": 9, "clearBlockers": false, "startRotation": 1 }, "targets": { "rotations": 1, "minMaxBends": 6, "minLongPaths": 1, "maxHidden": 0, "maxExperienceHidden": 2 }, "feature": { "id": "t4", "direction": -1, "before": "blocked", "blocker": "t2", "bends": 6, "cells": 7 }, "experienceActions": [ { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t0" } ], "lesson": "留意右下角向上的箭头,向左转一下,再让它出发", "designIntent": "右下角的目标朝内,被路线上的另一枚棋子阻挡。一次左转直接放出它,并完整经过多处弯道;几枚外围棋子提供可自由尝试的入口。" }, { "level": 3, "name": "让开,长路就通了", "kind": "gate", "seed": 9440081, "options": { "radius": 3, "target": 7, "allFree": false, "minHeroBends": 8, "maxBends": 14, "clearBlockers": true, "startRotation": 0 }, "targets": { "rotations": 0, "minMaxBends": 8, "minLongPaths": 2, "maxHidden": 0, "maxExperienceHidden": 0 }, "feature": { "action": 4, "removed": "t6", "id": "t1", "bends": 10, "cells": 14, "onRoute": true }, "experienceActions": [ { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" } ], "lesson": "交叉处沿同一条线走;先移走挡路棋子,长路就通了", "designIntent": "用短出口承担让路作用,清除关键阻挡后放出至少 8 弯的路线。保持无需旋转,集中体验一次消除给后面带来的变化。" }, { "level": 4, "name": "转出另一段风景", "kind": "route", "seed": 9460655, "options": { "radius": 3, "target": 9, "allFree": false, "minHeroBends": 10, "maxBends": 14, "clearBlockers": false, "startRotation": 1 }, "targets": { "rotations": 1, "minMaxBends": 10, "minLongPaths": 2, "maxHidden": 1, "maxExperienceHidden": 1 }, "experienceActions": [ { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t8" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t0" } ], "lesson": "先放出能走的棋子,再转动底盘,看看新路线", "designIntent": "把一次必要换路引入小规模的分段清理。旋转前后都保留长路径的观看回报,避免只有末子为转而转。", "feature": { "id": "t0", "action": 9, "stage": 1, "bends": 14, "cells": 18 } }, { "level": 5, "name": "尽情绕一圈", "kind": "tour", "seed": 9480081, "options": { "radius": 3, "target": 7, "allFree": true, "minHeroBends": 10, "maxBends": 14, "clearBlockers": true, "startRotation": 0 }, "targets": { "rotations": 0, "minMaxBends": 12, "minLongPaths": 3, "maxHidden": 0, "maxExperienceHidden": 0 }, "feature": { "id": "t0", "action": 0, "stage": 0, "bends": 14, "cells": 17 }, "experienceActions": [ { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" } ], "lesson": "这些弯路已经畅通,选喜欢的一枚看它走完", "designIntent": "本组放气关。全部棋子开局可走,没有先后要求,让多条长路线直接供玩家启动;通过观看内容收束前面的学习。" }, { "level": 6, "name": "里面藏着一条长路", "kind": "gate", "seed": 9500532, "options": { "radius": 3, "target": 11, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": true, "startRotation": 1 }, "targets": { "rotations": 1, "minMaxBends": 10, "minLongPaths": 3, "maxHidden": 3, "maxExperienceHidden": 3 }, "feature": { "action": 6, "removed": "t7", "id": "t3", "bends": 9, "cells": 10, "onRoute": true }, "experienceActions": [ { "type": "tap", "id": "t10" }, { "type": "tap", "id": "t4" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t8" }, { "type": "tap", "id": "t9" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t0" } ], "lesson": "先找到一枚能出去的,给里面的长路腾出位置", "designIntent": "少量初始出口形成明确突破口。清挡和旋转共同打开深处路线,让一枚短路棋子的移除释放长绕行;比上一关增加关系负担。" }, { "level": 7, "name": "轻轻一转就放行", "kind": "contrast", "seed": 9521176, "options": { "radius": 3, "target": 7, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 1 }, "targets": { "rotations": 1, "minMaxBends": 10, "minLongPaths": 2, "maxHidden": 1, "maxExperienceHidden": 3 }, "feature": { "id": "t5", "direction": -1, "before": "blocked", "blocker": "t3", "bends": 9, "cells": 13 }, "experienceActions": [ { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t0" } ], "lesson": "朝内不等于出不去,试着换一个方向", "designIntent": "用较少棋子表现看似受困的内向箭头。开局一次正确旋转就能直接启动目标的长路径,允许先转后消,降低实际前置操作。" }, { "level": 8, "name": "转过去,再转回来", "kind": "return", "seed": 9540052, "options": { "radius": 3, "target": 12, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 0, "placementTurns": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ] }, "targets": { "rotations": 2, "minMaxBends": 10, "minLongPaths": 3, "maxHidden": 8, "maxExperienceHidden": 8 }, "experienceActions": [ { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t8" }, { "type": "tap", "id": "t10" }, { "type": "tap", "id": "t11" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t0" }, { "type": "rotate", "direction": 1 }, { "type": "tap", "id": "t9" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t4" } ], "lesson": "转过去让开位置,再转回来,原来的路就通了", "designIntent": "两次相反方向的必要旋转形成完整往返。中间确实移走棋子,因此回到原朝向后新增出口;长轨道贯穿清理过程。", "feature": { "id": "t1", "action": 12, "stage": 2, "bends": 11, "cells": 13 } }, { "level": 9, "name": "一路弯到出口", "kind": "tour", "seed": 9560021, "options": { "radius": 3, "target": 8, "allFree": true, "minHeroBends": 10, "maxBends": 18, "clearBlockers": true, "startRotation": 0 }, "targets": { "rotations": 0, "minMaxBends": 12, "minLongPaths": 3, "maxHidden": 0, "maxExperienceHidden": 0 }, "feature": { "id": "t0", "action": 0, "stage": 0, "bends": 16, "cells": 19 }, "experienceActions": [ { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t7" } ], "lesson": "路都通了,慢慢看它们绕出去", "designIntent": "往返判断后的释放关。开局全可出,任意消除顺序都安全;保持长路径内容,减少推理要求。" }, { "level": 10, "name": "把整片路打开", "kind": "stages", "seed": 9580854, "options": { "radius": 3, "target": 14, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 2 }, "targets": { "rotations": 2, "minMaxBends": 12, "minLongPaths": 4, "maxHidden": 6, "maxExperienceHidden": 6 }, "experienceActions": [ { "type": "tap", "id": "t8" }, { "type": "tap", "id": "t11" }, { "type": "tap", "id": "t12" }, { "type": "tap", "id": "t13" }, { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t10" }, { "type": "tap", "id": "t9" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t5" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" } ], "lesson": "每打开一片出口,就让它们先走一段", "designIntent": "用两次必要旋转分段清开棋盘。各阶段持续提供巡游内容,长路线分布在多个成功消除中,避免前段只有准备动作。", "feature": { "id": "t1", "action": 15, "stage": 2, "bends": 12, "cells": 14 } }, { "level": 11, "name": "原来近在眼前", "kind": "contrast", "seed": 9600019, "options": { "radius": 3, "target": 8, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 1 }, "targets": { "rotations": 1, "minMaxBends": 10, "minLongPaths": 2, "maxHidden": 2, "maxExperienceHidden": 4 }, "feature": { "id": "t7", "direction": -1, "before": "blocked", "blocker": "t3", "bends": 3, "cells": 4 }, "experienceActions": [ { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t0" } ], "lesson": "看似往里走,换条路就近出去了", "designIntent": "独立展示短路型反差:朝内目标开局一次旋转后只经过 3 弯即可离场。其他棋子保留长路巡游,使轻巧反差不依赖长路线长度。" }, { "level": 12, "name": "小出口,大巡游", "kind": "gate", "seed": 9620035, "options": { "radius": 3, "target": 12, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": true, "startRotation": 0 }, "targets": { "rotations": 0, "minMaxBends": 12, "minLongPaths": 4, "maxHidden": 0, "maxExperienceHidden": 0 }, "feature": { "action": 1, "removed": "t7", "id": "t2", "bends": 10, "cells": 11, "onRoute": true }, "experienceActions": [ { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t8" }, { "type": "tap", "id": "t9" }, { "type": "tap", "id": "t10" }, { "type": "tap", "id": "t11" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t0" } ], "lesson": "先放走短路棋子,后面的长回廊就打开了", "designIntent": "无需旋转的清挡组合。开局提供多个入口,一枚短路棋子解除真实路线占用,立即放行长路径;用更深的内容承接短路反差。" }, { "level": 13, "name": "两次转机", "kind": "stages", "seed": 9644665, "options": { "radius": 3, "target": 16, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 2 }, "targets": { "rotations": 2, "minMaxBends": 12, "minLongPaths": 4, "maxHidden": 8, "maxExperienceHidden": 8 }, "experienceActions": [ { "type": "tap", "id": "t9" }, { "type": "tap", "id": "t13" }, { "type": "tap", "id": "t14" }, { "type": "tap", "id": "t15" }, { "type": "tap", "id": "t12" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t10" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t11" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t8" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t0" } ], "lesson": "清开一段,转出一段,再接着解开", "designIntent": "两次必要旋转与较多棋子形成中段小峰。不是延长空转,而是在每次旋转后获得可消除出口,并将多条长绕行组织进清场。", "feature": { "id": "t0", "action": 17, "stage": 2, "bends": 17, "cells": 22 } }, { "level": 14, "name": "向内出发,向外远行", "kind": "contrast", "seed": 9666742, "options": { "radius": 3, "target": 8, "allFree": true, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 1 }, "targets": { "rotations": 1, "minMaxBends": 12, "minLongPaths": 3, "maxHidden": 3, "maxExperienceHidden": 5 }, "feature": { "id": "t0", "direction": -1, "before": "blocked", "blocker": "t2", "bends": 12, "cells": 16 }, "experienceActions": [ { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t7" } ], "lesson": "这个朝内的箭头,一转也能接上长路", "designIntent": "看似朝内的目标开局一次旋转即可出发,接上一条长绕行;基准朝向的布局全部可出,发现方向后进入持续放行。" }, { "level": 15, "name": "给眼睛一段旅行", "kind": "tour", "seed": 9950063, "options": { "radius": 3, "target": 7, "allFree": true, "minHeroBends": 10, "maxBends": 18, "clearBlockers": true, "startRotation": 0 }, "targets": { "rotations": 0, "minMaxBends": 14, "minLongPaths": 3, "maxHidden": 0, "maxExperienceHidden": 0 }, "feature": { "id": "t0", "action": 0, "stage": 0, "bends": 14, "cells": 19 }, "experienceActions": [ { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" } ], "lesson": "先不用转盘,把这段长风景看完", "designIntent": "本组观看回报关。全盘开局可出,直接放送更长的绕行与多条巡游,收回上一段的操作与判断负担。" }, { "level": 16, "name": "回来时,路已不同", "kind": "return", "seed": 9705461, "options": { "radius": 3, "target": 16, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 0, "placementTurns": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ] }, "targets": { "rotations": 2, "minMaxBends": 13, "minLongPaths": 4, "maxHidden": 10, "maxExperienceHidden": 10 }, "experienceActions": [ { "type": "tap", "id": "t11" }, { "type": "tap", "id": "t12" }, { "type": "tap", "id": "t14" }, { "type": "tap", "id": "t15" }, { "type": "tap", "id": "t8" }, { "type": "tap", "id": "t9" }, { "type": "rotate", "direction": 1 }, { "type": "tap", "id": "t13" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t10" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" } ], "lesson": "同一个方向,少了一枚挡路棋子,就不一样了", "designIntent": "复习往返换路,扩大剩余棋子关系。转过去处理关键阻挡,再回到原方向形成新的放行条件;不靠增加棋盘面积表现进展。", "feature": { "id": "t0", "action": 12, "stage": 2, "bends": 14, "cells": 18 } }, { "level": 17, "name": "一个转角,全盘松开", "kind": "contrast", "seed": 9722368, "options": { "radius": 3, "target": 7, "allFree": true, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 1 }, "targets": { "rotations": 1, "minMaxBends": 12, "minLongPaths": 3, "maxHidden": 4, "maxExperienceHidden": 6 }, "feature": { "id": "t0", "direction": -1, "before": "blocked", "blocker": "t5", "bends": 13, "cells": 15 }, "experienceActions": [ { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" } ], "lesson": "轻轻一转,朝内的棋子也有了出口", "designIntent": "用一次旋转把明显受阻的内向目标变成可直接消除的棋子。基准朝向保留大量同时可出的路线,让反差之后衔接连续长路巡游。" }, { "level": 18, "name": "畅通的弯弯长路", "kind": "tour", "seed": 9980001, "options": { "radius": 3, "target": 7, "allFree": true, "minHeroBends": 10, "maxBends": 18, "clearBlockers": true, "startRotation": 0 }, "targets": { "rotations": 0, "minMaxBends": 14, "minLongPaths": 3, "maxHidden": 0, "maxExperienceHidden": 0 }, "feature": { "id": "t0", "action": 0, "stage": 0, "bends": 18, "cells": 22 }, "experienceActions": [ { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t6" } ], "lesson": "不用解结了,让它们一条条绕出去", "designIntent": "在最后的组合关前安排明确放气。全盘开局畅通,多枚长轨棋子任意点击离场,增加观看内容而不增加清挡门槛。" }, { "level": 19, "name": "逐层放出长回廊", "kind": "stages", "seed": 9767920, "options": { "radius": 3, "target": 18, "allFree": false, "minHeroBends": 10, "maxBends": 18, "clearBlockers": false, "startRotation": 2 }, "targets": { "rotations": 2, "minMaxBends": 14, "minLongPaths": 5, "maxHidden": 10, "maxExperienceHidden": 10 }, "experienceActions": [ { "type": "tap", "id": "t11" }, { "type": "tap", "id": "t12" }, { "type": "tap", "id": "t13" }, { "type": "tap", "id": "t14" }, { "type": "tap", "id": "t16" }, { "type": "tap", "id": "t17" }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t9" }, { "type": "tap", "id": "t10" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t15" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t5" }, { "type": "rotate", "direction": -1 }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t8" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t4" }, { "type": "tap", "id": "t1" }, { "type": "tap", "id": "t0" } ], "lesson": "给短路让位,长回廊会一层层打开", "designIntent": "以两次必要旋转和多层占用组织较完整的清场。保留开局入口与多条长路径,让不同阶段都有实际离场回报。", "feature": { "id": "t0", "action": 19, "stage": 2, "bends": 18, "cells": 21 } }, { "level": 20, "name": "最后,一路盛放", "kind": "finale", "seed": 10000872, "options": { "radius": 3, "target": 16, "allFree": false, "minHeroBends": 12, "maxBends": 22, "clearBlockers": false, "startRotation": 3 }, "targets": { "rotations": 3, "minMaxBends": 15, "minLongPaths": 5, "maxHidden": 24, "maxExperienceHidden": 24 }, "experienceActions": [ { "type": "tap", "id": "t12" }, { "type": "tap", "id": "t13" }, { "type": "tap", "id": "t14" }, { "type": "tap", "id": "t15" }, { "type": "tap", "id": "t9" }, { "type": "rotate", "direction": 1 }, { "type": "tap", "id": "t7" }, { "type": "tap", "id": "t11" }, { "type": "tap", "id": "t6" }, { "type": "tap", "id": "t3" }, { "type": "tap", "id": "t0" }, { "type": "tap", "id": "t5" }, { "type": "tap", "id": "t10" }, { "type": "tap", "id": "t8" }, { "type": "rotate", "direction": 1 }, { "type": "tap", "id": "t4" }, { "type": "rotate", "direction": 1 }, { "type": "tap", "id": "t2" }, { "type": "tap", "id": "t1" } ], "lesson": "最后几枚,也藏着长长的出口", "designIntent": "20 关收束:三次必要旋转之间都有消除进展,后段连续释放多条至少 10 弯的路线。以清开整盘后获得的长绕行完成庆祝。", "feature": { "id": "t8", "action": 13, "stage": 1, "bends": 18, "cells": 20 } } ] }