{"round": 1, "at": "2026-09-16", "title": "第一片可以走进去的春夜江上", "changed": "手写 Canvas 2D 起手（零依赖、零构建）：与天同色的江面、从水天之际升起的大月与月晕、滟滟碎在波上的月路、宛转的江流线、白沙汀（可走、走到水边为止）、月下像霰的花林、对岸江树与只亮一扇窗的明月楼、一叶慢慢漂过的扁舟。WASD/拖拽/触控摇杆三套操作；八个意象站点触发中英字幕与底部段落刻度；右栏用 shared/timeline.js 读 log.jsonl，file:// 回落 log.js。 截图按 2026-09-17 两条裁定改为 3 机位、960×600、nice -n 10、开工前查 load 与内存、共用 mkdir 锁、perl alarm 90 + shell 看门狗双重硬超时的一次性 headless CTF。", "why": "先做到能走进去：地面、水、天、相机、字幕、时间线都在，后面每轮只补一个最大缺口。", "critic": "第 1 轮独立 critic（4/10）：月与月晕、天水同色做对了；但缺「滟滟随波」那条通向观者的月路，水面是死的；流霜成了均匀方块粒子，对岸像栅栏不像花林；5-boat 里字幕所指的两个主体都不存在。", "gap": "5-boat 打出「扁舟子 / 明月楼」的字幕，画面里却既没有扁舟也没有那扇亮着的窗，文字与世界脱节。", "version": "versions/1/index.html", "shots": ["shots/1/1-moonrise.png", "shots/1/4-sandbar.png", "shots/1/5-boat.png"], "noticed": "截图通道换过一次：Chrome for Testing 的 --screenshot 在本机连空白页都不写文件、进程也不退，改用同版本 chrome-headless-shell 后一张约 4 秒，round 1 的 3 张补齐。", "score": 4}
{"round": 2, "at": "2026-09-17", "title": "让「扁舟子 / 明月楼」这一站的两个主体真的存在", "changed": "把扁舟与明月楼挪到 boat 机位真正看得见的位置，并把它们做出来：扁舟是一条浅月牙形的船身加篷子、一盏小灯，水里有几道被打碎的倒影；明月楼改为两层带起翘飞檐的楼，只亮一扇暖窗，窗光沿江面躺下去一段（玉户帘中卷不去）。船身按观感放大到 45 米外仍读得出，并横向错开，不与楼叠在一起。", "why": "critic 说这一站的字幕所指在画面里根本不存在；一轮只补这一个缺口。", "critic": "第 2 轮独立 critic（5/10）：月从水天之际升起、有月晕，对岸楼只亮一扇窗，这条稳；但月下水面几乎是死平的暗色块，没有「滟滟随波」的月路、也看不出潮在推；白沙汀只是一条灰白边线，花林不见踪影，只剩一排像栅栏的竖杆。", "gap": "先把月下水面做出来——月正下方一条随波碎动、由远及近收窄的高光月路 + 缓慢横向推进的潮纹。", "version": "versions/2/index.html", "shots": ["shots/2/1-moonrise.png", "shots/2/4-sandbar.png", "shots/2/5-boat.png"], "score": 5}
{"round": 3, "at": "2026-09-17", "title": "月路、潮纹，和一片终于让出画面的江", "changed": "沿月亮方位角重写月路：按 1.037^n 由近及远取样、随距离张开、每处几点碎光按确定性哈希抖动并随波闪烁（滟滟随波千万里）；加 26 道横过月路、缓缓向汀推来的潮纹（春江潮水连海平）。为了让江真的占住画面：白沙汀从半径 34 缩到 17、抬成一座 5 米的矮沙丘，八个意象站点与六个机位同比例收拢；花林移到对岸（绕芳甸）；对岸江树由等距直杆改成有疏有密的树丛、顶端渐隐。另修掉一个渲染缺陷：沙汀原先按屏幕列重建轮廓，会梳出一排齿缝漏出江面，改为把汀缘闭合环做近平面裁剪后一次填充。", "why": "critic 说诗的第一句落空了——月下水面是死的；水面要读得出来，先得有水面可读。", "critic": "第 3 轮独立 critic（4/10）：月这一项是对的；但「滟滟随波」仍缺席，水面几乎是平涂的暗色；汀上什么都没有——不是白到分不清，而是纯黑加一条突兀的直线；扁舟只是几个模糊小方块，水纹是笔直细线而不是宛转。", "gap": "先把水做出来——月光碎鳞从月亮脚下一直铺到画面底部，加弯曲水纹，让每一帧的下半屏都是活的江水而不是暗色底板。", "version": "versions/3/index.html", "shots": ["shots/3/1-moonrise.png", "shots/3/4-sandbar.png", "shots/3/5-boat.png"], "score": 4}
{"round": 4, "at": "2026-09-17", "title": "一整片会动的江：碎鳞、弯纹、以及不再漏底的汀", "changed": "把月路和水纹合并成一个铺满全江的波鳞场：1400 片锚在世界坐标上的小波，每片是一道弯的（而非直的）短弧，随涌缓慢漂移；任何方向都有底噪般的细鳞，靠近月亮方位角时同一片场烧成一条由远及近收窄的月路，另有 22 道横过月路、缓缓向汀推来的潮纹。顺手修掉沙汀多边形封口方式导致的一道竖直缺口。", "why": "critic 连着两轮说水面是死的暗色底板；这一轮只做水。", "critic": "第 4 轮独立 critic（5/10）：江、月、楼一扇灯的骨架有了，但江面是一层灰白弧线贴图而非活水；月路只落在极短的横带上，没有千万里的纵深，那团橙光比冷白月色更抢眼；白沙汀看不到质感；扁舟在 boat 帧完全找不到。", "gap": "把同形同大的月牙贴片换成随距离衰减、随视角透视压扁、并连成一条从月亮直铺到脚下的碎光带。", "version": "versions/4/index.html", "shots": ["shots/4/1-moonrise.png", "shots/4/4-sandbar.png", "shots/4/5-boat.png"], "score": 5}
{"round": 5, "at": "2026-09-17", "title": "一条真的从月亮脚下铺到你脚下的碎光带", "changed": "月路改为沿月亮方位角单独取样（2.2×1.028^n 一路到 520 米，共 260 段，每段 5 道碎光），每道按透视压成扁长的鳞、长度与线宽随距离衰减并设上限，越近越稀、越靠轴心越亮，遇到沙汀就断开——从月亮脚下一直铺到你脚下。铺满全江的底噪波纹同时由弯月牙改成掠射角下的扁鳞，不再是同形贴片。另把被世界缩小落在画外的扁舟挪回 boat 机位视野、船身缩回与 40 米距离相称的尺度，并把那盏灯的光晕收小——critic 把它误读成了月色。", "why": "critic 连续三轮指着同一处：水面不活、月路不成立。", "critic": "第 5 轮独立 critic（5/10）：潮与月路那一口气对了——月从水天之际升起、月光碎成一条通向观者的窄路，「海上明月共潮生」「滟滟随波」立住了；但 4-sandbar 本该是「汀上白沙看不见」，画面却是一整片深蓝近黑，没有白沙也没有似霰的花林，字幕说的和看到的正相反；楼与舟仍是贴在黑底上的剪影。", "gap": "给第 4 站做出真正的白——月下发白的沙汀和似霰的花林，让「白沙看不见」是因为太白而不是太黑。", "version": "versions/5/index.html", "shots": ["shots/5/1-moonrise.png", "shots/5/4-sandbar.png", "shots/5/5-boat.png"], "score": 5}
{"round": 6, "at": "2026-09-17", "title": "让「白沙看不见」是因为太白", "changed": "沙汀改成月下发白的沙：填色由近乎墨蓝提到 #7d88a0→#b3bccd，汀缘不再描一条硬线，改成三层渐淡的雾边，眼睛抓不住边界；沙粒一半亮一半暗地铺在坡面上，最亮的一成升到沙面上方一点点缓缓横移，作「空里流霜不觉飞」。花林从只在对岸改成隔一条水道就有一丛（江流宛转绕芳甸），每株的花点加密到 54 点、收进树冠、缩小提亮，读起来是霰不是叶。另修掉沙汀多边形两个下角被斜切成暗楔的问题。", "why": "critic 说字幕写着白沙，画面却是一整片近黑，正好相反。", "critic": "第 6 轮独立 critic（5/10）：骨架对了——月出、月路、扁舟、明月楼都在；但花林写成了悬在黑底上的白色点阵加垂直拖尾，像烟花或星雨，不是「皆似霰」的白亮林子；白沙仍是一条深灰带；boat 机位的江面近乎静止无纹。", "gap": "把汀上白沙真正提亮成一片近白的沙汀，并让花林从散点变成有树形的白色林冠。", "version": "versions/6/index.html", "shots": ["shots/6/1-moonrise.png", "shots/6/4-sandbar.png", "shots/6/5-boat.png"], "score": 5}
{"round": 7, "at": "2026-09-17", "title": "白色的林冠，和一片真的白沙", "changed": "花林重写成有树形的白冠：每株一团横向压扁、边缘化开的白光作树冠，冠下一段短而暗的树干撑住它，花点只落在冠内（不再从冠一路拖到地面），读起来是月照下的霰而不是星雨。沙汀提到近白（#aab4c6→#dde3ec），与江水只差一线。", "why": "critic 说这是目前最伤「像不像」的一处。", "critic": "第 7 轮独立 critic（5/10）：月自水天之际升起、碎光成路铺向观者，「滟滟随波」成立；但下缘那片白沙是一块无质感的纯白色块、压掉近一半画面，读起来像遮罩；花林成了浮在半空的灰白棉团加直杆树干；舟与楼都没有在水里留下倒影或晃动。", "gap": "让白沙汀不再是一块实心白色块——渐隐的边界、极低对比的沙面微粒与湿沙反光。", "version": "versions/7/index.html", "shots": ["shots/7/1-moonrise.png", "shots/7/4-sandbar.png", "shots/7/5-boat.png"], "score": 5}
{"round": 8, "at": "2026-09-17", "title": "沙面要有边界、颗粒和湿痕", "changed": "沙汀不再是一块贴上去的白：上缘用一层由深到无的水色渐变化进江里，不再有硬边；沙粒从 1500 增到 3400 并把明暗对比压到极低，只剩质感不剩噪点；汀缘内侧叠五道逐渐变淡的湿沙痕，是潮刚退下去留的那一条。沙丘同时从 5.2 米降到 3.6 米，前景不再压掉半幅画面。", "why": "critic 说「看不见」变成了「被涂白」。", "critic": "第 8 轮独立 critic（5/10）：月与月路对了，白沙也确实白到几乎无边界，花林「皆似霰」的质感很好；但月亮像一个白色实心圆盘、边缘太干净，缺「皎皎孤月轮」的晕与呼吸；1-moonrise 左下角有半截被切掉的船；5-boat 几乎看不到月亮本体和它在水上的反射，「明月楼」失去了月。", "gap": "让月亮本身立起来——月盘加柔晕与层次，并让每个机位（尤其 5-boat）都看得见这同一轮月与它在水面的倒影。", "version": "versions/8/index.html", "shots": ["shots/8/1-moonrise.png", "shots/8/4-sandbar.png", "shots/8/5-boat.png"], "score": 5}
{"round": 9, "at": "2026-09-17", "title": "一轮立得住的孤月，每个机位都看得见", "changed": "月亮重画：四层由内到外的晕（各自以不同相位极缓地呼吸）、月轮边缘不再是干净的剪纸而是让位给晕、盘面上九处几乎看不见的斑，让它有表面而不是天上的一个洞；月轮本身按 0.23 Hz 微微起伏。同时把 boat 机位转到正对月亮方位角，扁舟与明月楼分列月的两侧——这一站终于能同时看见月、舟、楼和月光在水上的碎路；扁舟也从 moonrise 机位的边角挪进画内，不再被切掉半条。", "why": "critic 说月是一个白色实心圆盘，而「明月楼」那一站根本没有月。", "critic": "第 9 轮独立 critic（5/10）：月、月路、江面的骨架已经对了；但扁舟是硬边多边形加一个方块灯，明月楼是两个色块方框，两个主体都像占位图形，倒影也断在船身之下。", "gap": "把扁舟和明月楼从几何块升级为有轮廓的实体——弯翘的舷线、篷、晃动，屋檐与栏杆的剪影，以及随波拉长的倒影。", "version": "versions/9/index.html", "shots": ["shots/9/1-moonrise.png", "shots/9/4-sandbar.png", "shots/9/5-boat.png"], "score": 5}
{"round": 10, "at": "2026-09-17", "title": "扁舟有了舷线，楼有了飞檐，水里都留下了影", "changed": "扁舟改为两端翘起的舷线（贝塞尔勾的船身轮廓）+ 弓形篷顶 + 一支拖在水里的篙 + 篷下一盏灯，船身随涌轻晃；明月楼改为两层带起翘飞檐与一圈栏杆的楼，只亮一扇窗。新增一个公用的倒影函数：任何立在江上的东西都把自己的光还给水面，14 道随波左右错动、越往下越淡越断的横纹——舟、灯、楼、窗各有一份。月亮同时降低并放大（y 128→96，r 46→56），更像刚从水天之际升起。", "why": "critic 说两个主体都像占位图形，倒影断在船身之下。", "critic": "第 10 轮独立 critic（5/10）：月、月路、扁舟、明月楼都在，静气也对；但明月楼的轮廓偏符号化像帐篷，5-boat 里舟与楼的大小关系让空间深度塌了；花林与流霜糊成一团横贯画面的白雾。", "gap": "江面缺少连续起伏的水体感——波纹集中在月路带上，其余仍是平涂暗色，「春江潮水连海平」的主体还不够实。", "noticed": "留给以后：楼台需要真正的进深（现在只有正立面），花林要能分出单株，水体需要一层全局的起伏而不只是碎光。", "stop": "满 10 轮停止（critic 未连续两轮判「我们赢」，最高 5/10）", "version": "versions/10/index.html", "shots": ["shots/10/1-moonrise.png", "shots/10/4-sandbar.png", "shots/10/5-boat.png"]}
{"round": 11, "at": "2026-09-17T03:58Z", "title": "扁舟上终于有一个人，和不再是灰色板条的近水", "changed": "扁舟的篙从一个人的手里出去：船尾站一个纯剪影的舟子——长袍一笔，头一个圆，近侧一条手臂顺着篙伸向水里，没有脸也没有多余的肢体；他由甲板和头顶两个世界点投影出来，所以跟着船一起晃、一起倾，每个机位都是天空衬着的一个形。篙尾入水处补了一小圈倒影。另外把近处的波片收住：长度封顶、线宽封顶、圆头、带一点弓，越近越淡——原先最近的几片会长成横在水面上的灰色板条。", "why": "船长说各世界小人的形象糟糕，这里则是根本没有人迹；按裁定取剪影路线，宁可简也不要恐怖谷。", "critic": "第 11 轮独立 critic（6/10）：孤月、静水、孤舟、一扇窗的气氛对了七分，但月路是一条硬边白矩形拼出来的「马赛克条」，两端直角、条间有黑缝；江面除月路外没有波也没有潮，只有几条贯穿全幅的笔直横线；花林是几团高斯白云插在灰棍上，右侧两株又换了一种画法。舟子本身未被点名——形象这一关过了。", "score": 6, "gap": "月路的硬边色块与整片江面的「没有水」：波纹要是弯的、随距离收束的，潮要真的推过来，月光要顺着这些波的相位碎开。", "noticed": "留给以后：花林要用可数的白颗粒凝成树冠而不是高斯团，沙汀的亮白描边正好画反了「白沙看不见」，远处地平线上还有一排像残影的矩形色块，灯晕能看见一圈硬边。", "shots": ["shots/11/1-moonrise.png", "shots/11/4-sandbar.png", "shots/11/5-boat.png"], "version": "versions/11/index.html"}
{"round": 12, "at": "2026-09-17T04:06Z", "title": "月路不再是条码，潮头终于是弯的", "changed": "月路重做：原先是 1.028^i 的等距列、每列五根等宽白条，列与列之间留出黑缝，整条路看上去像坏掉的视频帧。现在每一片碎光在自己那一列里错开距离，列与列互相咬住；每片都短、圆头、更暗，并且分两道画——底下一道宽而淡，上面一道窄而亮，于是两端是散开的而不是直角切断的；亮度跟着水面同一支涌浪的相位走。潮头重做：原来四十米宽的浪只给一两米的起伏，投影出来就是一条横贯全幅的直线；现在用两个谐波把它弯到自身宽度的十分之一，逐段画、两端自己淡出去，每道浪各有相位，没有两道是平行的。", "why": "第 11 轮 critic 说月路的硬边色块是「任何人第一眼看到的就是 bug」，整片江面除月路外没有波也没有潮。", "critic": "第 12 轮独立 critic（5/10）：氛围对了，但画面语言还是「图标贴图」不是「江」。近景沙汀是一块脏灰实心块、边缘是整张图里对比最强的一条锐线，正好把「白沙看不见」画反了；花林是一排离散的高斯椭圆云团，下面吊着等宽笔直的灰竖线当树干，树干与冠不接，右侧两棵是同一个椭圆缩小复制，跟同画面里极精细的水纹是两种画法；月路的碎片仍是等宽小矩形，像虚线条码。", "score": 5, "gap": "近景沙汀：脏灰、平涂、硬边，是画面里对比最强的东西——而诗要的是白到分不出边界。", "noticed": "留给以后：1-moonrise 里楼台悬在半空，下缘没有落在任何水岸上，和 5-boat 的处理不一致。", "shots": ["shots/12/1-moonrise.png", "shots/12/4-sandbar.png", "shots/12/5-boat.png"], "version": "versions/12/index.html"}
{"round": 13, "at": "2026-09-17T04:06Z", "title": "花林是可以数的霰，白沙是白的，树终于站在芳甸上", "changed": "花林重做：去掉当树冠用的大团径向渐变，改成一条配方走到底——一层极淡的光晕坐住它在空气里的位置，一根主干加两条伸进冠里的枝，再加一片白颗粒，颗粒数随树冠投影面积涨，所以远树近树在屏幕上的疏密一样，不再是「近看棉花糖、远看小圆点」两种画法；颗粒按 sqrt 铺开不堆在中心，外缘用一个随角度起伏的项咬成花的轮廓而不是圆。沙汀：亮度带原先铺在固定的屏幕区间（0.40H..H），从沙汀又高又浅的机位看只取到渐变最灰的头部，整片就成了一块平灰板——现在铺在沙汀自己的上下缘上，并且起点就淡得多；汀线的三道描边从 .15 降到 .066、加宽近一倍，因为「看不见」意味着眼睛不该抓得住这条边。沙粒放大到随距离缩放、铺到 130 米，并且用沙汀本身的屏幕路径 isPointInPath 挡住——沙洲是个环，环那一侧的沙粒会投到水面上去，原先只按距离裁剪，结果一片白点洒满整条江。新增芳甸：花林原先站在开阔水面上、树干垂到半空就断了；现在补一块和江面同一个平面（y=0）的岸，树脚正好落在它表面上，远缘用雾化掉不横着切一刀。", "why": "critic 连着两轮点名沙汀的脏灰硬边和花林的棉花糖，说这两处是「渲染质量」而不是构图的问题。", "critic": "第 13 轮独立 critic（5.5/10）：调子对了，孤月、月路、霰白花林都在，5-boat 的月路是全片唯一有「滟滟」感的地方；但画面被几条硬直线和大片平涂切成「矢量插画」。1-moonrise 中部偏左有一条从左边缘拉到 x≈450 的完全水平、像用尺子画的深浅分界线，右侧同高度还有一条，两条之间是一块整体提亮的灰蓝长条，边缘无羽化、没有波纹穿过去；前景沙汀仍是无质感的中灰大块，边缘光滑得像 SVG 路径，是全图对比最强最「实」的一块，语义正好和「白沙看不见」相反；4-sandbar 里花林的点云漂亮，但树干是几条直上直下、下端悬空的细杆，点云与杆之间没有过渡，右侧两棵密度明显小一档；「落月摇情满江树」的水中倒影完全没有。", "score": 5.5, "gap": "江面上那几条贯穿画面的水平假边——尤其芳甸从远机位看过去变成一条两边用尺子切齐的提亮长条；以及沙汀那块平涂灰和那条矢量曲线边。", "noticed": "芳甸这块岸曾经画出来却看不见：颜色取在 (21,32,48)，和它底下的水只差一两点；而且渐变的两个端点取自同一段的首个采样点，可能落在同一个 y 上，退化的 linearGradient 什么也不画。用红色实心做了一次一次性探针才定位到——几何一直是对的。", "stop": null, "shots": ["shots/13/1-moonrise.png", "shots/13/4-sandbar.png", "shots/13/5-boat.png"], "version": "versions/13/index.html"}
{"round": 14, "at": "2026-09-17T04:21Z", "title": "水平假边、水泥灰沙汀，和一条真的绕着芳甸走的江", "changed": "把雾从水里拿出来单独走一遍，铺在远岸和芳甸之上——铺在它们之下时，芳甸的远缘会以一条从画框左缘拉到画面正中的直线压在江上。芳甸本身改成一次填充、靠 alpha 淡出：原先是不透明的岸再盖一层近似水色，接缝仍是一道台阶。芳甸内缘从 18 推到 28、花林跟着外移，中间让出一条真正的水道——「绕芳甸」的绕。沙汀：亮暗颗粒各占一半、都提到看得见的权重，因为沙必须是沙上的颗粒而不是暗底上的白点；颗粒数提到 46000，一粒一点，不再让一粒代表一片去散开（散开过三版：先是卵石，再是苔藓斑，最后直接是看得出来的矩形）；补三条顺着汀形走的沙丘明暗带；汀线外再撒一条跨着水陆的湿沙带。倒影全部压细压淡——舟身的十四道曾经并成一块白板压在船底下。", "why": "critic 连续两轮把「贯穿画面的水平直线」和「平涂脏灰的沙汀」列为最刺眼的两条。", "critic": "第 14 轮独立 critic（5/10，看的是本轮修掉树冠倒影之前的那组图）：花林是悬浮粒子团加直杆，背后一片水平直条纹色块（即后来删掉的树冠倒影），点阵、线框、条纹三种风格同框；江面的波纹仍是贯穿全宽的长直线，像 CAD 等高线；前景沙汀是大面积平涂灰加一条硬边亮线，边界锐利，正和「白沙看不见」相反；又说月路虽已碎光，仍是一条居中对称的竖带，缺少「随波千万里」的横向铺展。", "score": 5, "gap": "水面上那些贯穿画框的长直线，和沙汀那条高对比的硬边。", "noticed": "树冠倒影用通用的 reflect() 做会变成一排条码方块——水中的花林要用树冠自己那套颗粒压扁去画，而且得先有水道。", "shots": ["shots/14/1-moonrise.png", "shots/14/4-sandbar.png", "shots/14/5-boat.png"], "version": "versions/14/index.html"}
{"round": 15, "at": "2026-09-17T04:24Z", "title": "潮头改成一片弧，沙与水在江里相遇而不是在一条线上", "changed": "潮头不再画成长折线：一道宽到能横过画面的浪，投影出来就是一条直线，两端淡得再软也没用——眼睛读的是中间那段直的。改成一片短弧，每道浪碎成十五段互不相连的弓形，单段不超过屏幕的一小截，连起来仍是一条弯的浪。汀线：湿沙带原先在汀线上取权重最高，等于沿着水陆交界画了一条最亮的绳子，改成整条带内均匀、宽度沿岸起伏；汀顶那层化开的暗色原先是按整条汀线最高点铺的一条通栏渐变，从花林机位看下去等于把半片沙压暗，改成顺着汀线自己走的几道宽描边。最要紧的是补了浅滩：白沙几乎是月亮的颜色而江水不是，所以无论汀线画得多软，两个调子还是会在一条线上相遇——现在汀外一段水做成同样的浅白，两个调子改在江里某处汇合，那里没有边可给眼睛抓。花林改成有疏有密的丛，高矮拉开，树干分四段逐段变细变淡，不再是一根戳在冠下面的直棍。", "why": "critic 说沙汀是「大面积平涂灰加一条硬边亮线」，和「白沙看不见」正好相反；水纹像 CAD 等高线。", "critic": "第 15 轮独立 critic（5.5/10）：沙汀右半幅是一整片近乎 #e8eaee 的均匀白，和左半幅带颗粒的沙是两种画法，接缝处一条几乎笔直的横向硬边横贯全宽；字幕正好压在这块白上，英文副标几乎读不出来。花林的冠是点云、干是实心直条，两者不属于同一世界，冠形还都是同样的蘑菇形、间距近乎等距。远景水平线上散布着若干矩形淡色竖块，像未处理的贴图残片。月路碎了，但仍是一条笔直的竖带，两侧有可见的直切边。", "score": 5.5, "gap": "沙汀那条横贯全宽的硬边（其实是汀形多边形在画框两侧被拉平成的一段水平线），以及压在白沙上读不出来的字幕。", "noticed": "浅滩做过三版才成：整段一次填充的屏幕渐变会被跑到画框外几千像素的采样点拉垮，可见的那一条只落在渐变头上的百分之几里；最后改成顺着汀形走的一圈圈宽描边，才不需要任何渐变。", "shots": ["shots/15/1-moonrise.png", "shots/15/4-sandbar.png", "shots/15/5-boat.png"], "version": "versions/15/index.html"}
{"round": 16, "at": "2026-09-17T04:28Z", "title": "汀形不再从画框边上斜着爬过江面，远岸不再是一排小矩形", "changed": "汀的多边形原先在画框两侧直接拉平到角上，留下一段死平的水平硬边——改成顺着汀线自己的斜率延出去，并且钳住：坡度封顶，而且延出去的点永远不高于汀线最后一个真实点。这一条是必须的，只钳坡度时汀会从右边爬上去，一度把右半幅连着扁舟一起盖掉。远岸的树原先是带平头的粗竖线，投影出来就是一排淡色小矩形立在地平线上——改成圆头加一团自己的冠晕。沙的亮度压下来（原先比月亮还白），并且截图模式下把底部那层压字幕的暗罩留着：它本来就是页面上字幕的衬底，为截图关掉等于让诗句直接躺在白沙上读不出来。月路的轴心跟着涌浪左右走，不再是一条笔直垂下、两侧带切边的竖带。", "why": "critic 说沙汀有一条横贯全宽的硬边、字幕压在白沙上读不出来、远景地平线上有矩形贴图残片。", "critic": "第 16 轮独立 critic（5/10，看的是汀形回归之前的那组图）：白沙汀是一条从左下贯到右上的直线硬边，把画面对角劈成两半，像贴了一张亮色蒙版——这正是延出去的汀爬上江面的那个 bug，本轮已修。另说花林仍是十来个同尺寸同形状的点团，间距近乎相等，像同一个 sprite 复制平移；1-moonrise 里明月楼的暖橙光晕直径接近月亮，比月亮还抢眼。", "score": 5, "gap": "花林还是一排等距同形的棉花糖；明月楼的灯晕抢过了月亮。", "noticed": "汀形延出画框这一步很容易把整片沙掀上江面，改动之后必须看 1-moonrise 这一机位。", "shots": ["shots/16/1-moonrise.png", "shots/16/4-sandbar.png", "shots/16/5-boat.png"], "version": "versions/16/index.html"}
{"round": 17, "at": "2026-09-17T04:45Z", "title": "每棵树自己的形，明月楼不再比月亮亮", "changed": "树冠不再共用一个宽高比和一个压扁系数：每棵各有自己的宽、扁、倾斜和颗粒密度，十三棵排在一起才不再像同一个 sprite 贴了十三次。明月楼的窗晕直径近乎月亮、中心还更亮——这首诗里没有东西该盖过月亮，晕收到三分之一强度、直径减半。远岸的树原先是很宽的竖笔画：笔画不管颜色怎么沿长度渐变，两侧永远是硬边，两百米外就是一根根立在地平线上、带干净竖边的淡色矩形；改成每棵一团椭圆光晕，各个方向都是软的。", "why": "critic 说花林像等距排列的同款图标，明月楼的暖橙光晕比月亮还抢眼，地平线上有矩形贴图残片。", "critic": "第 17 轮独立 critic（5.5/10）：说「像的是一张清冷的 UI 插画」。沙汀是平涂色板，几条平滑贝塞尔曲线切出来的灰蓝色带，边缘贴着一条发光白细线——「这条白细线是全图最刺眼的假边」；花林的点云画法与其余元素割裂，那根光秃秃的直杆树干尤其出戏；月路是一条贴上去的竖直光斑，整片江面大面积平涂。", "score": 5.5, "gap": "沙汀边上那条发光白细线，以及沙汀本身像色板不像沙。", "noticed": "「沙汀是色板、边上一条亮线」其实不是画法问题，是几何 bug 的表象——见下一轮。", "shots": ["shots/17/1-moonrise.png", "shots/17/4-sandbar.png", "shots/17/5-boat.png"], "version": "versions/17/index.html"}
{"round": 18, "at": "2026-09-17T04:45Z", "title": "沙汀一直是坏的：多边形自己折了起来，只剩一条亮边浮在水上", "changed": "顺着 critic 连着四轮指的那条「最刺眼的假边」查下去，发现它根本不是描边，是沙汀的几何。汀是一圈环，近平面裁剪出来的点是按环的顺序排的，这个顺序在弧的两端会在 x 上折回去；直接填充，多边形自己压在自己身上、绕数相消，于是整片沙消失了，只剩汀线本身留下一条两像素的亮绳浮在敞水上——四位 critic 看见的「白细线」「硬边亮线」「贴上去的亮色蒙版」都是这一条。按 x 排序会把折叠变成一排梳子似的黑齿，也不行。改成按屏幕列取上包络：脚站在环内，沙面从画面底缘一直铺到远处那道汀线，所以每一列的边界就是这一列里汀线最高的那个点；再加一道 min 滤波（侧面的列只吃得到身旁的近汀，单独取最小值会掉下去变成一根黑齿）和两遍平滑。包络顺带把画框两侧那段死平的水平接缝也一起去掉了。沙汀修好之后是全的，于是把汀半径从 17 收到 11、沙的亮度压回接近水面——「白沙看不见」说的是对比度，不是亮度。另外湿沙带以米计只有一两米宽，在五十米外不到一个像素，整条带塌在同一行上又是一条白绳，现在加宽并且只在近处画；芳甸的岸息原先画在自己的裁剪里，每一笔只剩靠岸的半边、沿多边形边缘齐齐切断，是一道四十级的硬台阶，改到裁剪外面画。", "why": "critic 第 11、12、13、15、16、17 轮都点了沙汀的那条硬边，一直当成描边在调，其实是几何。", "critic": "待第 18 轮独立 critic 判定。", "score": null, "gap": "待判。", "shots": ["shots/18/1-moonrise.png", "shots/18/4-sandbar.png", "shots/18/5-boat.png"], "version": "versions/18/index.html"}
{"round": 19, "at": "2026-09-17T05:00Z", "title": "沙上的直折痕、水面的死黑，和一条终于绕得过来的江", "changed": "沙丘的明暗原先是沿着汀形描出来的几道宽笔画，近处看就是几条笔直的浅色折痕横过沙面，整片汀读成一张没上色的低多边形网格——改成三十几团按自身序号定位的软斑，斑没有边可以露。潮痕那五道线同理，从 3.5 像素的实线改成十几像素的圆头淡带。水面的碎波原先按「到月亮方向的投影距离」裁剪，于是任何不朝着月亮的机位拿到的都是一片完全没有表面的江——改成按真实距离裁剪，月亮那条轴只决定哪些会烧起来；碎波本身也加大了弓度，左右交替地弯。浅滩从汀外 0.7 倍半径一路推到 1.45 倍、权重提高：汀与芳甸之间那条水道本来就是几尺深的水盖着同一片白沙，画成黑的等于在花林机位正中拉了一条死黑的带子。芳甸整体提亮，并沿它自己的岸也给了一道水上的月光。沙的亮度再压一档——它一度比月亮还白。", "why": "critic 说沙汀「是未着色的低多边形网格」「白得比月亮还抢」，4-sandbar「整体过暗，『白沙看不见』被做成了『什么都看不见』」。", "critic": "第 19 轮独立 critic（6/10，本段最高）：1-moonrise 的前景沙滩仍是一块平涂色块，上缘沿 y≈335 有一条从左边框直拉到右边框的近乎水平的硬边，右侧 x≈830 附近还折出一个尖角；4-sandbar 一张图里三种材质语言——点云的花林、细直棍的树干、和一层层等距丝状等高线的江面；明月楼在两张图里都是几何积木，悬在水平线上方、下缘不接水也不接岸，像一枚 icon 贴上去。", "score": 6, "gap": "沙汀那条横贯全宽的硬边（这次是新的：包络画法换了，而化开那几笔还跟着老的汀线走）；江面像等高线；明月楼像 icon。", "shots": ["shots/19/1-moonrise.png", "shots/19/4-sandbar.png", "shots/19/5-boat.png"], "version": "versions/19/index.html"}
{"round": 20, "at": "2026-09-17T05:00Z", "title": "让化开的那几笔跟着真正画出来的那条岸走", "changed": "汀的轮廓改成按屏幕列取包络之后，负责把这条边化开的几道宽描边还跟着原来那圈汀线走，两条曲线已经不在一起了，于是填充自己的上缘赤裸裸地留在那儿——一条横贯画框的近水平硬边，中间还带一个包络转弯处的尖角。现在化开的暗笔和水线的淡笔都改走 barShore（就是画出来的那条岸本身）。浅滩那三十来圈原先是严格同心的，读起来像地形图的等值线，现在每一圈按角度自己进出摆动。汀半径从 11 回到 14.5：六个机位是冻结的，最远的一个站在 12 米处，汀比这个小，人就站到江里去了。沙的明暗掉过头来——靠水线最亮，往脚下暗下去，既是掠射角真正聚月光的方式，也是让江重新拿回画面的唯一办法；并且这条渐变原先按裁剪前的汀线取上下端，那些点落在画框下方几千像素，整条渐变几乎都在屏幕外，可见的沙只吃到开头百分之一二，所以怎么调都是一个平值。沙丘的软斑也封了顶：两米外的一团会投出将近一千像素宽的斑，三十几团五个百分点的白叠起来，把前景整个洗回一个平值。", "why": "critic 说沙汀上缘是「从左边框直拉到右边框的近乎水平的硬边」，江面像等高线。", "critic": "待第 20 轮独立 critic 判定。", "score": null, "gap": "待判。", "shots": ["shots/20/1-moonrise.png", "shots/20/4-sandbar.png", "shots/20/5-boat.png"], "version": "versions/20/index.html"}
{"round": 21, "at": "2026-09-17T05:16Z", "title": "江面终于有水：一万一千片碎波，和一条铺到岸边的月路", "changed": "碎波从七百片提到一万一千片、并且铺到三百米——两百五十米的江面上七百片，等于每几米才有一片，眼睛要找的那个尺度上根本没有细节，江就成了平面上的一层雾。月路原先在最后十六米里被一个近距衰减抹掉，于是它离岸还有一大截就断了，月亮和你脚边的水没有连上；去掉这个衰减，「滟滟随波千万里」才算落到某个地方。浅滩的摆动收到原来的三分之一：十分之一半径的摆幅让三十来圈聚成一片片淡灰的大瓣浮在江上，像油。明月楼补了一块它自己站的岸——原先它的脚正落在水天线上，读起来像贴在远岸上方天空里的一枚 icon；楼的描边也全部压淡，雾里的远楼该只剩剪影和一点窗光。", "why": "critic 连续两轮说江面「像一块打了雾的塑料布，缺水」、月路「到 y≈360 就戛然而止」。", "critic": "第 21 轮独立 critic（5.5/10）：近景江面是平涂灰带加直纹假边；1-moonrise 左侧有一块矩形亮斑（约 x 200–350、y 315–340），边缘是竖直硬边；4-sandbar 上半的花林是细腻噪点堆出的霰状光团（很好），下半的沙汀却是大块平滑灰绸带加突兀的直线折痕，同一画面一半颗粒一半丝绸。", "score": 5.5, "gap": "沙与水交界那八个像素里的硬台阶，以及江上那块带竖直硬边的亮斑。", "shots": ["shots/21/1-moonrise.png", "shots/21/4-sandbar.png", "shots/21/5-boat.png"], "version": "versions/21/index.html"}
{"round": 22, "at": "2026-09-17T05:16Z", "title": "让岸自己淡进江里，而不是拿暗笔去盖", "changed": "沙与水的交界一直是「水 40、沙 120，中间八个像素」，无论压多宽多淡的暗笔盖上去，它都还是一条横过画面的线。改成两件事：一，沙汀的填充用自己的 alpha 从零升起来，五十个像素里没有一处是线（这和早先修芳甸远缘用的是同一招——不透明的底再盖近似色，接缝一定还在）；二，浅滩那三十来圈原先在汀线上权重最高，而最里面几圈在任何距离上都落在相邻的一两个像素里，叠起来就是那一步——改成在汀线处为零、往外升一段再落下去。量过：交界从八个像素拉到四十五个。明月楼站到了自己的岸上，描边也压淡了。", "why": "critic 说 1-moonrise「y≈330 和 y≈360 那两条亮暗交界横贯全屏成一条直线」。", "critic": "待第 22 轮独立 critic 判定。", "score": null, "gap": "待判。", "noticed": "critic 报的「x 200–350 的矩形亮斑」确实存在：x≈210 处有一道十级左右的竖直台阶，跨好几行。把沙汀填充改成红色探针后那里毫无变化，说明它落在水上而不在沙上；逐一排除了浅滩（加密到每度采样）、芳甸、远岸。还没找到，留给下一轮。", "shots": ["shots/22/1-moonrise.png", "shots/22/4-sandbar.png", "shots/22/5-boat.png"], "version": "versions/22/index.html"}
{"round": 23, "at": "2026-09-17T05:26Z", "title": "树干和树冠是同一种东西，月路越近越宽越疏", "changed": "树干改成颗粒。画成线的时候它永远是一根发丝似的直棍，上头停着一团粒子云，看过这些树的 critic 每一位都说同一句话：两张互不相干的画，冠浮着，棍吊着。现在树干也是白点——脚下密而暗，往上越来越稀越来越淡，直到花把它接过去，中间没有哪一处能指出「这里由干变成了冠」。月路：碎片长度上限从 16 提到 46，并且在三十来米内按哈希抽掉一部分，于是它越靠近你越宽、碎片越大越疏，而不是以一个宽度直直地铺下来；路本身的半宽起点也从 0.8 提到 2.4。明月楼按距离淡出——从花林机位它在一百八十米外，画满了就是一小块灰白方块，读不出是什么。潮头的长段改成随长度淡出而不是直接丢掉。", "why": "critic 说树干与冠「完全脱节，像贴纸悬空」（连着五轮），月路「宽度几乎不变、边缘是两条近乎平行的直边」。", "critic": "第 22 轮独立 critic（6/10）：江面大面积平涂加带状色阶断层；月路不通向你，只从 y≈300 延到 y≈460 就整条消失；花林与全画风格不统一，冠是噪点团、干是 1–2px 细直线，两者完全脱节；4-sandbar 右侧 x≈750–800 有一小块模糊的灰白方块状物体，读不出是什么。", "score": 6, "gap": "树干与树冠脱节；月路不通向你。", "noticed": "critic 报的「x≈208 处一道竖直台阶」仍未找到。已逐一排除：沙汀填充（红色探针证明那个位置根本不在沙上）、浅滩（整体关掉仍在）、芳甸、远岸、雾、潮头的长段裁剪、包络的平滑遍数。是水上的、约 13/255、跨几行的一道台阶。留给以后：下一个该查的是汀线上那几道跟着包络走的宽淡描边，以及包络在真实采样用尽处改为平推的那个接点。", "shots": ["shots/23/1-moonrise.png", "shots/23/4-sandbar.png", "shots/23/5-boat.png"], "version": "versions/23/index.html"}
{"round": 24, "at": "2026-09-17T05:33Z", "title": "那块「带竖直硬边的亮斑」终于抓到了：它根本不在沙上", "changed": "连着四位 critic 报同一件事——江上一块偏亮的区域，右侧一条方方正正的竖边，「像贴图没接上」。前面几轮一直当成沙汀的问题在查：把沙汀填充涂成红色（证明那个位置压根不在沙上）、整体关掉浅滩、关掉芳甸、关掉远岸和雾、把潮头长段的硬裁剪改成淡出、把包络的平滑从两遍加到十遍——那几个像素的值一次都没变过。今天把芳甸岸外那条水上月光逐个关掉，值立刻塌了：是它。那是二十二道三十四像素宽的描边，顺着芳甸近岸画，而芳甸的采样一旦用尽，二十二道笔就在同一个位置齐齐收住，于是江上多了一块有一条方边的亮斑。现在这两组（水道的月光、芳甸的岸息）都改成逐段画、两端按比例淡出去。顺带把包络在真实采样用尽之后的延伸从「平推」改成「沿自己的斜率推」并钳住：平推会在江上画出一条从画框边缘笔直伸到采样起点的水平岸线，critic 这轮也点了。", "why": "同一个瑕疵被四位互相独立的 critic 连着报了四轮。", "critic": "第 23 轮独立 critic（6/10）：江面是大面积平涂加直线假边，5-boat 下半 y≈360 和 y≈460 各横贯一条几乎笔直的深浅分界；1-moonrise 左侧 y≈320 处有一条从左缘直插到 x≈420 的硬直边。树的画法和整幅画不是一个系统，点子颗粒大、边缘炸开像喷枪噪点。沙汀上沿是一条黑色描边似的锐利曲线。", "score": 6, "gap": "江面横贯画框的那几条直线分界。", "noticed": "教训：一个瑕疵看上去在 A 上，不等于它是 A 画的。逐个关掉每一支笔、量像素，比盯着图猜快得多。任何沿着一条采样链画的宽描边，都必须两端淡出——这个世界里已经因此栽了三次（芳甸远缘、芳甸岸息、水道月光）。", "shots": ["shots/24/1-moonrise.png", "shots/24/4-sandbar.png", "shots/24/5-boat.png"], "version": "versions/24/index.html"}
{"round": 25, "at": "2026-09-17T05:37Z", "title": "任何顺着采样链走的宽笔，两端都得淡出去", "changed": "浅滩那三十来圈也犯了跟芳甸一样的毛病：环绕到眼睛背后必然要断，一道五十二像素宽的描边在断处直接收笔，就是一条硬头躺在江上；三十圈在相近的位置断，江面上就横了一条带。改成逐段画，并且按段长淡出——段会变长，恰恰就发生在临近断点的地方，所以按长度淡就等于让每一圈自己安静地退场。量过之后，江面上贯穿画框的深浅分界没有了，剩下的跳变都在十来级以内且互不成行。", "why": "critic 说 5-boat 下半「y≈360 和 y≈460 各横贯一条几乎笔直的深浅分界，把水切成三条灰带」。", "critic": "待第 25 轮独立 critic 判定。", "score": null, "gap": "待判。", "shots": ["shots/25/1-moonrise.png", "shots/25/4-sandbar.png", "shots/25/5-boat.png"], "version": "versions/25/index.html"}
{"round": 26, "at": "2026-09-17T05:49Z", "title": "江上那张「布」：浅滩不再是三十圈五十像素宽的描边", "changed": "近水一直有一层斜向的织纹，像一块布盖在江上。挨个关掉去找：不是碎波（关掉仍在），不是潮头（把它们的格点打散仍在），不是芳甸。是浅滩——三十圈沿汀形描出来的五十二像素宽的线，近处一度采样之间已经隔得很开，圆头之间不再互相盖住，于是圆头和圈与圈的交叉织出了那张布。改成按屏幕列画：浅滩的外缘也取自己的一条包络，每一列就是两条包络之间的一小段竖直渐变——汀线上什么也没有，往外一点最亮，到外缘归零。列没有圆头，也没有一圈线去跨另一圈线。顺带：碎波的位置原先是用 sin(i*12.9898) 这一类哈希现算的，七百片时看着是噪声，一万一千片时哈希自身的准周期会浮出来；改成和沙粒、花林同一支 LCG 预先排好。", "why": "critic 说 4-sandbar 中部「浅滩边缘是一圈梳子齿状的规则短划」「像被同一支笔以固定间距扫出来的程序纹理」。", "critic": "第 25 轮独立 critic（5.5/10）：浅滩边缘是梳子齿状的规则短划，从左边缘一直排到 x≈800；花林的冠是点画、干是单像素灰直线、江面是平涂，一张图里三种语言；月路是一条有明确竖直边界的地毯，由一格格近似等宽的水平亮块堆成，越靠下越像阶梯 JPEG 块，路外的水根本没有波。", "score": 5.5, "gap": "近水那层斜向织纹。", "noticed": "又一次同样的教训：宽描边沿着一条链走，近处一定会散架。这个世界里凡是「沿着某条曲线扫过去」的东西，现在要么逐段淡出，要么干脆改成按屏幕列画。", "shots": ["shots/26/1-moonrise.png", "shots/26/4-sandbar.png", "shots/26/5-boat.png"], "version": "versions/26/index.html"}
{"round": 27, "at": "2026-09-17T05:57Z", "title": "扫描线、满江树的影，和一张不再有两块灰斑的月面", "changed": "浅滩那层按列画的水洗为了「盖住接缝」左右各多压了一两个像素，重叠处就吃了两遍，江上被拉出一条四像素的等距节拍——critic 说像 CRT 扫描线。改成整像素、严丝合缝地挨着，量下来只剩一条平滑的斜坡。月路之外的江面权重再提一档：原先只有月路一条有纹理，两边全是纯色。补上「落月摇情满江树」——对岸那排树和你之间隔着整条江，这是全诗唯一一句能真的还给水面的：树自己的光被拉下来、拉宽、按涌浪错开，永远不成树的形状。月面重做：原先九块斑的半径取自 mi*37%11 和 mi*53%7，脸上就固定挂着两块灰疤，每张截图都是同样两块；改成三十八块小的、位置大小都出自这个世界自己那支 LCG。", "why": "critic 说江面有「等间距的细竖线，像 CRT 扫描线」，月亮「表面那两块灰斑纹样重复可见」，「落月摇情满江树」始终缺席。", "critic": "待第 27 轮独立 critic 判定。", "score": null, "gap": "待判。", "shots": ["shots/27/1-moonrise.png", "shots/27/4-sandbar.png", "shots/27/5-boat.png"], "version": "versions/27/index.html"}
{"round": 28, "at": "2026-09-17T06:01Z", "title": "明月楼不再像一顶礼帽，花林成丛，潮痕不再是三条等高线", "changed": "楼重做：原先两层矮身加一圈大檐，剪影差不多宽等于高，每一位看过它的 critic 都用同一个词——礼帽。改成三层、收窄、逐层往里收，两道翘檐两圈栏杆，仍旧只亮一扇窗。花林：角度原先是等步长排开的，整片林子就是一行间距一样的绒球；现在步长本身不匀、散布放大三倍，半径也拉开，于是树聚成丛、丛与丛之间漏出夜色，也有前后深浅。潮痕原先是同一条汀线往里平移五次，读起来就是几条等高线横在沙上；改成十几段各管一小截岸、两端淡出、宽窄各不同的湿痕。浅滩的水洗在外缘采样够不到的那些列上淡到零——碾平了带出去就是一条平直的亮线躺在江上，这是同一个毛病在这个世界里的第三处。", "why": "critic 说楼「像一顶礼帽」，花林「是一串等间距的烟花」，沙汀上「三条几乎是同一曲线平移出来的深浅带，边界锐利到像等高线」。", "critic": "第 27 轮独立 critic（6/10）：花林被画成一排彩纸屑、沿一条水平基线等距重复，冠与干完全不是一种画法；前景白沙汀是三层硬边色带，不是沙；1-moonrise 左侧 y≈310–340 有一条横贯到左边缘的水平亮线，月盘是一个边缘干净的实心圆加一圈均匀光晕。", "score": 6, "gap": "楼的比例、花林的排布、沙上的等高线。", "noticed": "1-moonrise 左侧那条水平亮线本轮又淡了一层但没断根；这个机位是从汀的一头望穿整片汀，沙注定占掉画面下半，只能靠明暗压住。", "shots": ["shots/28/1-moonrise.png", "shots/28/4-sandbar.png", "shots/28/5-boat.png"], "version": "versions/28/index.html"}
{"round": 29, "at": "2026-09-17T06:05Z", "title": "月路开成一张口，沙粒随远近变大，浅滩把手交给沙", "changed": "月路一直被读成一根两边齐整的竖直灯管——因为世界里的半宽虽然随距离变大，投到屏幕上几乎抵消成等宽。改成让「宽度比距离」这个比值随距离衰减：路到你脚边是一张开着的口，往月亮脚下收细。沙粒的尺寸上限原先是两像素，二十米内的每一粒都顶到这个上限，于是整片汀盖着一层大小完全一样的点，明摆着是噪声贴图；改成随距离长大（同时越大越淡，否则脚边的沙会变成一地淡色小方砖）。沙与水之间那条深色硬边找到了原因：浅滩的水洗和沙自己的填充都在汀线那一条上淡到零，两个零之间露出了底下的暗江——正是诗里说不该有边的地方出现了全画最锐的一条线。现在水洗到汀线还留着，由沙的渐变接过去。", "why": "critic 说月路「是一根贴着屏幕的竖直光柱」，沙「只撒了一层大小完全相同的白点」，沙与水之间「是一条一刀切的深色硬边」。", "critic": "第 28 轮独立 critic（6/10）：月路是一根宽度几乎不变、两边界限分明的亮带，左右江面纯黑；三张图的前景白沙都是一整块无质感的浅灰色块，边缘是一条过分光滑的数学曲线，沙与水之间一刀切；花林是九团几乎同款的白点云，大小几乎不随远近变化；天水交界有可数的水平色阶带。", "score": 6, "gap": "月路的形，沙的颗粒，沙水之间那条暗边。", "shots": ["shots/29/1-moonrise.png", "shots/29/4-sandbar.png", "shots/29/5-boat.png"], "version": "versions/29/index.html"}
{"round": 30, "at": "2026-09-17T06:09Z", "title": "月路不再有行，舟与楼回到同一种雾里", "changed": "月路彻底改掉排班制：原先是按几何级数排的一圈圈「列」，每列七片碎光，不管每片在列内怎么抖，近处两列之间在屏幕上已经隔得很开，眼睛读到的就是一行一行的亮片——扫描线。现在是二千六百片各自独立的碎光，每片自己的距离（按对数分布，近密远疏）、自己的横向偏移、自己的长短和自己的明灭。舟和楼一直是这个世界里仅有的两样硬线：改成宽而极淡的一道压在窄而安静的一道下面，宽的那道是舷上的雾，窄的那道只够把船形留住；楼的翘檐同理。窗子从一块纯橙方块改成带窗棂、左右暗中间亮的一扇。", "why": "critic 说月路「由一节节近乎等宽的短横杠堆成，呈规则行距，像扫描线残留」，楼与舟「是硬线矢量小图标，和周围的柔雾画法完全两套语言」。", "critic": "第 29 轮独立 critic（6.5/10，本段最高）：4-sandbar 中景那条汀线是一条粗细均匀、边缘发亮、内部平涂的带子，上下两侧各是一整片无质感的渐变，三层之间只有硬转折；花林全部是同一种「喷点球」，横向排成一行、间距近乎等距，点子大小单一，没有枝、没有明暗、没有被月光照到的一侧；月路由一节节近乎等宽的短横杠堆成，越靠下越规则。", "score": 6.5, "gap": "月路的行距；舟与楼的硬线。", "shots": ["shots/30/1-moonrise.png", "shots/30/4-sandbar.png", "shots/30/5-boat.png"], "version": "versions/30/index.html"}
{"round": 31, "at": "2026-09-17T06:16Z", "title": "花挂在枝上，不再是一团匀噪声", "changed": "花林重做。原先每棵树的花是在一个圆盘里均匀撒点，于是每一团都是同一种均匀噪声球——连着六位 critic 分别叫它烟花、喷枪、彩纸屑、绒球、雪花烟花、喷点球。现在每棵树从树干顶上甩出五到八条枝，每条枝是一条有自己方向和长度的曲线，花沿着枝铺：靠近枝最密，离开枝渐稀，往枝梢又渐稀一次。枝本身画一小段，只在花盖不住的地方露出来。另外补了「月照」这一层：每一粒花按它相对树心的方向朝不朝着月亮定亮度，所以整片林子是被同一个月亮从同一侧打白的，树因此有了形和朝向；花粒的大小也拉开了——满屏一个尺寸正是粒子场读起来像噪声贴图的原因。树冠在树干上坐低了一截，底下那段光秃的干不再像一根吊着树的杆子。", "why": "critic 反复说「粒子应沿枝分布而不是团成球」「没有枝、没有明暗、没有被月光照到的一侧」。", "critic": "第 30 轮独立 critic（6/10）：花林是七八团粒子云，每团都是同一个圆形高斯散点加几根近乎垂直的细线做树干，周期性重复肉眼可辨；1-moonrise 下半幅是一大片平涂加噪点，占掉画面 45%；月路的碎光是一堆近乎水平、长度相仿的小横杠，越靠下越明显地形成网格状阵列。", "score": 6, "gap": "花林的球状噪声；前景白沙占掉开篇镜头的半屏。", "shots": ["shots/31/1-moonrise.png", "shots/31/4-sandbar.png", "shots/31/5-boat.png"], "version": "versions/31/index.html"}
{"round": 32, "at": "2026-09-17T06:25Z", "title": "开篇那一幕终于是江，不是沙：汀让到了机位背后", "changed": "六个机位是冻结的，第一个站在 +z 方向十二米处；汀在每个方向上都伸得比它远，于是这个机位——它的那句是「春江潮水连海平」——要望穿二十六米的沙才见到水，画面下面四成五全是沙，连着三位 critic 都指着这一条。汀的形加了一项正弦：上游一侧伸到机位背后去，下游一侧退回来，站在那里就成了near 水而望江。六个机位逐个验算过，全都还站在沙上。另外沙丘的明暗改成一亮一暗成对：一道亮面配一道背光面，暗的那一侧一律背着月亮，整片汀这才有起伏而不只是有斑。", "why": "critic 说 1-moonrise「整块浅灰蓝汀洲占了画面 45%，几乎零质感」，且这是开篇镜头。", "critic": "第 31 轮独立 critic（5.5/10）：1-moonrise 下半张整块汀洲占画面 45%，一条近乎水平的硬边把水和沙一刀切开；花林仍被读成「喷雾罐打的白点」，丛与丛之间没有遮挡没有透视深浅；明月楼「轮廓线粗细均一、没有材质与月光方向」。", "score": 5.5, "gap": "开篇机位的构图：沙压掉了江。", "shots": ["shots/32/1-moonrise.png", "shots/32/4-sandbar.png", "shots/32/5-boat.png"], "version": "versions/32/index.html"}
{"round": 33, "at": "2026-09-17T06:32Z", "title": "月亮照到了楼上，屋檐终于是檐；花林不再自带一圈光", "changed": "楼的每一层原先是一块纯色，整座楼是画面里唯一没被月亮碰过的东西——现在每一面横着一道渐变，朝月亮那侧亮、背面沉下去，受光的那条棱上落一道细的月光边。屋檐重做：原先一条外凸的曲线画出来是个圆顶，三层等宽的圆筒顶着三个圆顶，读起来是灯塔或棋子；现在檐是一块又扁又宽、底面近乎平直、只在两端最后一截往上翘的板，顶上另加一个带宝顶的四注顶。花林的那圈光晕压到几乎没有——任何有分量的光晕都会在树冠外围成一个发光的环，这正是六位 critic 先后把这片林子叫成烟花、蒲公英、喷雾罐的原因：树不该自带一圈光。浅滩的水洗改成横贯整幅的十三条连续曲线，而不是一列一个矩形——列矩形会在那条带上留下等距的竖纹，正是「程序纹理」四个字。沙粒加到九万六千粒，因为按世界均匀分布的颗粒在最近处屏幕密度最低，脚边总是空的。", "why": "critic 说楼「轮廓线粗细均一、没有材质与月光方向」「像灯塔/棋子多过楼台」，花林「边缘带一圈发光 halo」，岸带是「等距重复的程序纹理」。", "critic": "第 32 轮独立 critic（6.5/10；「5-boat 一张可到 8，4-sandbar 拖到 5」）：花林画成粒子爆炸团，每丛都是从一点向外炸开的圆形散点、边缘带一圈发光 halo；前景白沙是平涂色块加假直边，上缘一条极其干净、粗细均匀的亮描边横贯全宽；中景那条岸带是等宽灰带、内部均匀间隔的短竖纹，从左到右节奏不变。", "score": 6.5, "gap": "花林的发光环；岸带的等距竖纹；楼的几何感。", "shots": ["shots/33/1-moonrise.png", "shots/33/4-sandbar.png", "shots/33/5-boat.png"], "version": "versions/33/index.html"}
{"round": 34, "at": "2026-09-17T06:42Z", "title": "把画到天上去的浅滩收回水里", "changed": "上一轮把浅滩改成横贯全幅的十三条连续曲线，想去掉列矩形留下的竖纹；结果更糟：曲线没有地平线约束，在机位侧后方顺着包络甩上夜空，5-boat 右上角出现了几道等距的同心弧压过地平线和远岸——critic 一眼就点了。加宽到互相盖住之后又把整条水道洗白。三版比下来，唯一量得干净的还是按列画的那一版（逐列一小段竖直渐变，整像素严丝合缝），于是退回去，并且补上一直缺的那道地平线裁剪，外加对「带高大得离谱」的列直接跳过。", "why": "critic 说 5-boat 右上角有「几条明显的、等距的浅色同心圆弧叠在夜空上……像程序化生成的涟漪／雾环被误画到了天上」。", "critic": "第 33 轮独立 critic（6/10）：5-boat 右上角那一圈同心弧压过地平线、盖住远岸；4-sandbar 下半幅的沙丘被一组等距同相位的平行细条纹填满；花林是同尺寸同密度几乎等间距排开的点云团，整排亮度一致，看不出光从哪来。", "score": 6, "gap": "画到天上去的浅滩（本轮修掉）。", "noticed": "教训记下来：任何在画面上铺一层的东西都必须先被地平线裁一刀。这一层前后试了三种画法——列矩形、连续曲线、加宽的连续曲线——只有第一种在像素上量得干净；改画法之前应该先量一遍旧的到底有多脏。", "shots": ["shots/34/1-moonrise.png", "shots/34/4-sandbar.png", "shots/34/5-boat.png"], "version": "versions/34/index.html"}
{"round": 35, "at": "2026-09-17T06:59Z", "title": "灯晕不再是一个圆盘，沙有了粗细不一的沙脊", "changed": "舟上那盏灯的晕原先是一个三分之一透明度的径向渐变，边上看得见自己的圆——江上的灯不带一圈边；改成三层、横向压扁、层层递淡。浅滩的水洗往汀线以下多铺四十六个像素，和沙自己的渐变叠上：原先两者都在汀线那一条上收住，一个收到零、一个从零起，合起来在那一行有个台阶，就是 critic 报的「沙汀上缘一条粗细均匀的硬轮廓」。沙粒的疏密改成跟着一个世界坐标里的低频场走：满屏一个密度正是散点读起来像噪声贴图的原因，真的沙有粗粝的沙脊也有被风扫平的地方。", "why": "critic 说舟周围的橙色光晕「是一个明显的径向渐变圆，边缘和水面不咬合」，沙上「白点密度处处相同」。", "critic": "第 34 轮独立 critic（5.5/10）：4-sandbar 中部那条滩带是带硬边的灰色条带，上下两条边都是清晰的实线轮廓；前景白沙是一块巨大的平涂色块，白点密度处处相同；月路在 y≈330 与 y≈300 处出现整齐的水平断层。", "score": 5.5, "gap": "沙的质感与那条滩带的硬边。", "shots": ["shots/35/1-moonrise.png", "shots/35/4-sandbar.png", "shots/35/5-boat.png"], "version": "versions/35/index.html"}
{"round": 36, "at": "2026-09-17T06:59Z", "title": "脚下的沙：三种做法都试过了，把结论留在代码里", "changed": "「脚边的沙比二十米外的沙更平」这件事查到底了，并且三种解法都实现、拍图、量过：一，让远处每一粒沙代表一片、就地散成若干小点——任何参数下散出来的那一片本身都会变成纹理，先是卵石，再是苔藓斑，最后是看得出来的矩形；二，在相机周围铺一张四分之一米的格子——它仍然是世界坐标里的格子，靠近眼睛照样稀，原因一模一样；三，改走屏幕：逐像素反投影到地面，用落点的世界坐标去哈希那一粒沙——密度终于均匀了，但三像素的采样步长和哈希格子一起读成一张织纹，哈希格子按距离缩放之后仍然结块，比它要替换掉的那份平滑更糟。三种都拍了图比过，最后全部退掉，把这段结论写进了代码注释里：真正撑住前景的是沙丘的明暗（一亮一暗成对，暗的一侧永远背着月亮）和那个让沙有粗有细的低频场；下一个人要再试，要打败的是「STEP 大小的规则格子会透出来」。", "why": "「前景是一块平涂加噪点」是这一段里被 critic 点得最多的一条（四轮）。", "critic": "待第 36 轮独立 critic 判定。", "score": null, "gap": "待判。", "noticed": "这一轮的价值主要是排除法：把三条路都走到能拍图比较为止，然后如实退回，并把「为什么」留在它该在的地方。", "shots": ["shots/36/1-moonrise.png", "shots/36/4-sandbar.png", "shots/36/5-boat.png"], "version": "versions/36/index.html"}
{"round": 37, "at": "2026-09-17T07:13Z", "title": "整条江都有波，沙的过渡拉长，并入主干的「静止时停绘」", "changed": "碎波从一万一千片提到两万、权重也提高：原先只有月路那一条有笔触，路两侧的水是一整块纯色，同一张图里一半是细到像素级的排线、一半是背景色。沙的明暗过渡从汀高的五分之一拉到近一半——短的过渡会被眼睛数成三四条「色阶带」。浅滩在汀线上的那一档压低，它在沙的上缘拉出过一条亮边，同样会被数成一档。灯晕提回来：上一轮为了去掉那个看得见的圆盘压得太狠，船上的灯几乎不亮了。另外把分支重放到了主干上：主干这期间给三首都加了「静止时停绘」（DPR 上限 1.5、30fps、无输入就停 rAF、切后台即停），这一层逐处贴回了改写过的 index.html，shared/ 用主干的。", "why": "critic 说「月路像贴上去的一条毯子」「路以外的整片水是一块纯度一致的深蓝，零波纹零高光」。", "critic": "第 36 轮独立 critic（5/10）：沙汀是几块硬边色块，肉眼能数出三到四层色阶带；水面上半部是完全没有笔触的平涂，跟正中那条细碎到像素级的月路是两种画法拼在一张图上；花林是一排复制粘贴的喷点团。", "score": 5, "gap": "月路以外的江面没有水；沙上的色阶带。", "shots": ["shots/37/1-moonrise.png", "shots/37/4-sandbar.png", "shots/37/5-boat.png"], "version": "versions/37/index.html"}
{"round": 38, "at": "2026-09-17T07:17Z", "title": "花林终于在地上有影子", "changed": "每棵树在它脚下的地面上投一团影：背着月亮的方向、被掠射角压扁、中心深边缘化开。没有影子的树是一张贴在地面上的纸，这正是这片林子一直被读成「悬浮贴纸」的原因之一。另外量了一遍 5-boat 近处月路：critic 说那里「退化成规则扫描线状条纹」，逐像素扫下来是 13 到 77 之间没有周期的跳变，不是条纹——这一条不改。", "why": "critic 说「树冠没有任何投影落到沙汀上，林子像悬浮贴纸」。", "critic": "第 37 轮独立 critic（5.5/10）：花林是七八团几乎等大等间距等密度的白色噪点云，树冠没有任何投影落到沙汀上；汀与岸是平涂色块、边界是几何曲线假边；楼是硬边纯色剪影加一块方形橙窗，无笔触无月光侧照。", "score": 5.5, "gap": "花林没有影子；沙的边界仍是全图最锐的线。", "shots": ["shots/38/1-moonrise.png", "shots/38/4-sandbar.png", "shots/38/5-boat.png"], "version": "versions/38/index.html"}
{"round": 39, "at": "2026-09-17T07:17Z", "title": "白云一片去悠悠", "changed": "天上补了两条极薄的云。这个世界的天空一直只是一层渐变加一个月亮，而「白云一片去悠悠」是这首诗里从来没有进过画面的一句。云离月亮很远，免得抢它；由一串软团拼成，底面带一点月光，漂得极慢——看一眼的时候它只是在那儿。", "why": "对着意象表逐句点过去，这一句一直空着。", "critic": "待第 39 轮独立 critic 判定。", "score": null, "gap": "待判。", "shots": ["shots/39/1-moonrise.png", "shots/39/4-sandbar.png", "shots/39/5-boat.png"], "version": "versions/39/index.html"}
{"round": 40, "at": "2026-09-17T07:21Z", "title": "用沙粒把汀线吃掉", "changed": "到这一轮为止，所有软化汀线的手段都在调「明暗」——沙的 alpha 从零升起来、外面再铺一层浅滩——但再柔的坡也还是一条坡，连着五位 critic 都说汀线是全图最锐的一条线，而这正是「汀上白沙看不见」唯一不许的事。真正能毁掉一条边的是横跨它的颗粒。现在沿着画出来的那条岸走一遍，每个屏幕列撒几粒，正落在线上最密、两边渐稀；粒子由该列自己的位置哈希出来，所以跟着沙走，带又窄到透不出格子。另外把上一轮新加的云表从世界构建的中段挪到了末尾——它消耗的 rnd() 会把沙粒、花林、远岸的位置整体挪一遍，一加云，整片林子就散了。", "why": "「沙与水之间是全图最锐的一条线」是这一段被 critic 点得最久的一条。", "critic": "第 39 轮独立 critic（5.5/10）：花林是一层「撒盐颗粒」，树和沙用同一种颗粒，于是树读起来像浮在空中的沙；中景那条横贯全屏的岸线是一条 stroke 过的贝塞尔曲线；月路是一条竖直的矩形色带，两张图的水面画法互相矛盾。", "score": 5.5, "gap": "汀线这条假边（本轮用颗粒吃掉）。", "noticed": "凡是在世界构建阶段消耗 rnd() 的新东西，都必须加在最后：这支 LCG 是共用的，中途插一段就会把沙、林、岸整体挪位。这一轮和第 26 轮各栽过一次。", "shots": ["shots/40/1-moonrise.png", "shots/40/4-sandbar.png", "shots/40/5-boat.png"], "version": "versions/40/index.html"}
{"round": 41, "at": "2026-09-17T07:26Z", "title": "把按列画的那一层的列宽减半", "changed": "浅滩的水洗是逐屏幕列画的，四像素一列时那些列沿着岸数得出来——critic 报的「等间距竖向竹节纹」。列宽减半到两像素，min 滤波和各处平滑的遍数按比例加倍以保持同样的空间尺度；量下来那一行从带节拍变成了一条单调的斜坡。外缘包络够不到的那些列上，水洗的淡出也拉长到近百像素，那一段原先是一块带一条直边的浅色板躺在左边的水上。", "why": "critic 说岸带内部有「肉眼可见的等间距竖向竹节纹，明显是周期性程序纹理」。", "critic": "第 40 轮独立 critic（6/10）：汀线是一条粗细均匀、边缘发糊却仍然完全连续的曲线，上方压着一条更亮的平行带，带内有等间距竖向竹节纹；水面是两种画法拼在一起；花林像喷枪打的白点云。", "score": 6, "gap": "岸带上的竖向竹节纹。", "shots": ["shots/41/1-moonrise.png", "shots/41/4-sandbar.png", "shots/41/5-boat.png"], "version": "versions/41/index.html"}
{"round": 42, "at": "2026-09-17T07:26Z", "title": "昨夜闲潭梦落花", "changed": "花林脚下那条水道上撒了落花：一百五十片，多数浮在水上慢慢打转、各自把一点光还给水面，另有两成还在空中，落得极慢——和上一句「空里流霜不觉飞」是同一个意思。它们只在水道那一段，因为那才是花树真正探在上面的水。表也加在世界构建的最后，不动沙、林、岸的位置。", "why": "照着意象表逐句点，这一句一直空着；而且这个世界里除了舟以外没有会动的东西。", "critic": "待第 42 轮独立 critic 判定。", "score": null, "gap": "待判。", "shots": ["shots/42/1-moonrise.png", "shots/42/4-sandbar.png", "shots/42/5-boat.png"], "version": "versions/42/index.html"}
{"round": 43, "at": "2026-09-17T07:29Z", "title": "水成文，和一条不再横过全画的水天线", "changed": "补上「鱼龙潜跃水成文」：开阔水面上几圈慢慢张开又散掉的涟漪，每一圈只画月光落到的那几段——整整齐齐一个圆读起来是画上去的形状，不是水。汀线上那条吃边的沙粒带原先按「这条岸离画面底边多远」定宽度，等于岸越高、带越宽，和透视正好反着；改成按这一列浅滩自己的带高来定，并把粒数提了近一倍，水洗的权重相应让出去一些。水的填充原先严格从地平线切起，留下一条一像素的直线横过整幅画，把「江天一色」切成两块；现在从地平线上方一点起、淡进去。", "why": "critic 说中景汀线「是一条粗细几乎恒定的浅灰缎带，上下两侧都是清晰的硬边」，而「同图左下的近景白沙反而做对了……两种画法同框」；又说水天线右侧是「一条一像素、毫无起伏的直线」。", "critic": "第 42 轮独立 critic（6.5/10）：中景汀线是一条贴图带，带内有等间距的竖向明暗节拍；5-boat 的月路下半截退化成横条纹；1-moonrise 左下有一块边缘笔直的浅灰长方形，水天线右侧是一条一像素的直线。", "score": 6.5, "gap": "中景的汀线带；水天线上的那条直线。", "shots": ["shots/43/1-moonrise.png", "shots/43/4-sandbar.png", "shots/43/5-boat.png"], "version": "versions/43/index.html"}
{"round": 45, "at": "2026-09-17T08:05Z", "title": "扁舟子：从「玩偶」改成一笔剪影", "changed": "把舟上那个人重做成一条闭合轮廓——头、肩、下摆一笔画完，不再有单独的头圆、不再有胳膊、不再有一圈淡描边；低于 30 像素高就不画。撑篙不再挂在他画出来的手上，改成世界里固定的一根，位置挪到他内侧，两者不再相接。", "why": "先量了他到底多大：人占世界 2.63m，两个机位的 f/Z 是 536/51.9 和 536/31.8，也就是 27px 和 44px 高。那么大的人，头圆半径 2.2px、胳膊 1.8px、外加 0.9px 的淡描边，只能是玩偶；胳膊和篙连成一线就是火柴人。", "critic": "第 45 轮独立盲评 4/10：近景沙汀是全画最亮的一块（明暗关系是反的，真实月夜脚下的岸必然最暗）；水面波纹没有近大远小；船灯和楼窗在水里都不还光；人形读起来是「一个棋子（象棋的卒或保龄球瓶）」，没有脖子没有肩，和船身之间没有分界。", "score": 4, "gap": "近景沙汀的明暗是反的；人形仍然不是人。", "shots": ["shots/45/1-moonrise.png", "shots/45/4-sandbar.png", "shots/45/5-boat.png"], "version": "versions/45/index.html"}
{"round": 46, "at": "2026-09-17T08:05Z", "title": "脚下的沙不再是全画最亮的东西；灯与窗开始还光；扁舟空着出去", "changed": "三块。一、近景沙汀整体压暗：汀身的色阶从岸边 L63 落到画面下沿 L36，最近的沙成了全画最深的一级，月路成了唯一最亮的东西；沙粒的明暗一对、沙丘的受光背光面都跟着重新落座（原先的「暗粒」L138 比新沙还亮，整套明暗是反的）。二、船灯和明月楼那扇窗在水里拉出真正的光柱——reflect() 的行数原先固定十四行，一百三十像素的光柱摊成十四行是一架梯子，改成每三像素一行，摆幅也随柱长增长。三、舟上不再有人：桨留在艄上、叶子拖在水里，人迹交给舟、灯、楼窗。", "why": "第 45 轮盲评把近景沙汀点成最刺眼的一处，也是「只准改一处」的那一处。去量了像素：1-moonrise 第 420–540 行平均亮度 130，而开阔水面只有 22–46、连月亮自己在水上的那条带也只到 60——脚下的沙比画里任何东西亮两三倍，而没有任何光源照它。人形是两建两败：第二版被没看过任何解释的 critic 读成「棋子」，所以按裁定走「做不好宁可不出现人形」。", "critic": "第 46 轮独立盲评 4/10：沙汀那一条不再被提起，人形一栏判「没有，舟是空的」。新的头一条是月道和月亮对不上——月在横向 50%，水上的亮带却斜切到左下角，读起来「天上那个白盘子和水里那片光不是同一个光源」；船灯的倒影成了「八个等大等间距的橙色小方块」，是虚线不是光；1-moonrise 下三分之一太空。", "score": 4, "gap": "月道没有从月亮正下方垂直铺向观者；灯的光柱抖成了等距虚线。", "shots": ["shots/46/1-moonrise.png", "shots/46/4-sandbar.png", "shots/46/5-boat.png"], "version": "versions/46/index.html"}
{"round": 47, "at": "2026-09-17T08:13Z", "title": "月道钉回月亮的方位角", "changed": "月路的摆动原先是「只随距离变化」的一项，也就是同一距离上的每一片碎光都被推向同一边——它挪的是整条路的中线，不是它的边缘，幅度最大到 1.4 个半宽。改成十分之一左右，路的粗糙交给每一片碎光自己的横向偏移。灯影的闪烁原先是 sin(T*1.9+i*1.3)，每行 1.3 弧度、4.8 行一个周期，行一密就成了一架明暗梯子；改成按「沿光柱走到多深」计相位。倒影也改成向观者一侧变宽（原先是变窄，那是镜子的做法，不是江水的）。", "why": "第 46 轮盲评说月在横向 50%、水上的亮带却斜切到左下角，「天上那个白盘子和水里那片光不是同一个光源」。去量了每一条横带里亮像素的重心：相隔三十行的两条带子，重心一个在 x=282、一个在 x=549，而月亮一直在 x=479。", "critic": "第 47 轮独立盲评 4/10：月道那一条不再被提起（量出来 5-boat 每一档的重心都落在 45–53%）。新的头一条是那条船——船宽 150px、塔高 250px，而两者几乎同一纵深，读成飞碟／黑礼帽；船底一圈均匀亮描边比月路还亮；没有吃水线。另外塔亮着窗却在水里没有任何倒影，而更小的船灯却拖着长倒影，「同一片水跑两套物理」。", "score": 4, "gap": "船的尺度、船底的亮边、吃水线；塔的倒影被水盖掉了。", "shots": ["shots/47/1-moonrise.png", "shots/47/4-sandbar.png", "shots/47/5-boat.png"], "version": "versions/47/index.html"}
{"round": 48, "at": "2026-09-17T08:13Z", "title": "扁舟缩到塔高的五分之一，船底那圈亮边去掉，吃水线咬进水里；楼窗的倒影从水底下捞出来", "changed": "船原先 r=43，离 5-boat 那只眼 31.8 米，而楼站在 87.5 米——7.2 米长的船身在那个距离是 122px，对着 250px 高的楼，是它的五分之三。改成 r=76、船身整体 0.72 倍，出来 45px，约塔高的五分之一。船底那圈亮描边是把闭合的船身整条描出来的结果，等于给光照不到的船底描了一圈铬边；改成只描舷顶那一条，并且偏向月亮那一侧。加了吃水线：船底压进水里的一圈暗影，和船舷外侧两道被船身打断的短浪。楼窗的倒影挪出 drawFarBank()，新开 drawTowerGlow()，在 drawWater() 之后画。", "why": "第 47 轮盲评把船点成头一条，「只准改一处」也是它。塔的倒影那一条查出来是画序：楼属于 drawFarBank()，跑在 drawWater() 前面，整条光柱被随后画的江水盖掉了——而船灯画在水之后，所以留得下来。critic 的原话是「同一片水跑两套物理」。", "critic": "第 48 轮独立盲评 4.5/10（从 4 起来了）。船和塔的倒影都不再被提起（量到楼窗的暖色像素从 13px 高伸到 106px，光柱确实落到水里了）。新的头一条是水面本身：从近地平线到近前景，波纹的周期一直是 7–13px，笔画的长短粗细密度几乎一样，没有近大远小，「那个平面永远躺不下去」。第二条仍是 1-moonrise 下部四成太亮太空。", "score": 4.5, "gap": "水面的波纹没有随距离压缩，是全画最大的一块面积。", "shots": ["shots/48/1-moonrise.png", "shots/48/4-sandbar.png", "shots/48/5-boat.png"], "version": "versions/48/index.html"}
{"round": 49, "at": "2026-09-17T08:19Z", "title": "江面终于有了波长", "changed": "水面原先是二十万片碎光按随机半径撒出去的，也就是说它根本没有波长——而散点是不会后退的。均匀铺在深度上的点，投影到屏幕上反而越靠近下缘越密（密度按 1/(y-地平线)^2 走），所以近处的水比远处还细，正好和一个躺下去的平面相反。现在把每一片碎光沿一条涌浪轴吸附到相隔 4.6 米的平行波列上：4.6 米在 10 米处占 80px、在 200 米处占 4px，近大远小是从投影里自己掉出来的。整条波峰一起呼吸、一起弯（原先每片各自按自己的相位晃 1.5 米，而波长才 4.6 米，等于没有波长）。碎光的长度上限也从 17px 放到 86px——十米以内的每一片都顶着那个上限，等于脚边的浪和四十米外的浪画得一样长。拍照时的碎光数从 700 提到 6000。", "why": "第 48 轮盲评量了画面：从地平线到下缘四条带子里，波峰的竖直周期是 4.8、5.0、5.0、5.1 px——平的。它说这条江读起来是「一张不随距离变化的刻线壁纸」。我自己复量了一遍，确认是这个数。注意这一层是在绘制时重排的，不是改 WAVES 表：那张表吃的是共用的 LCG，往里插一次抽签会把沙、林、岸全挪位（见 AGENTS.md）。", "critic": "第 49 轮盲评 7/10「还不像」：月亮在水上没有自己那条路，全画唯一清晰的倒影柱反而是塔上那盏橙灯——我上一轮把它提到 0.52，抢了月亮。波纹仍说没有近大远小。", "score": 7, "gap": "月路被塔灯压住了；波列还没读出来。", "shots": ["shots/49/1-moonrise.png", "shots/49/4-sandbar.png", "shots/49/5-boat.png"], "version": "versions/49/index.html"}
{"round": 50, "at": "2026-09-17T08:19Z", "title": "月亮把水上那条路要回来", "changed": "塔上那盏窗灯的倒影从 34/0.52 压回 20/0.26——这首诗里没有东西可以比月亮亮，窗只要「在」就够了。月路本身提了一档（底子 0.05→0.075、随浪的那一项 0.34→0.50、远处的地板 0.25→0.34）：从明月那只眼看出去，汀把月路的近半截挡掉了，剩下的一条开阔水带得独自扛住「滟滟随波千万里」。", "why": "第 49 轮盲评说全画唯一一条清晰的倒影柱是塔里那盏橙灯，月光只摊成一片均匀的碎屑，「滟滟随波千万里就没发生」，并且直接点名「别让它抢了月亮的倒影」。这是我上一轮提塔灯时过了头。", "critic": "第 50 轮盲评 7/10「还不像」。两条量化的问题都判过了：波纹「近处粗疏、远处细密，收向地平线，透视是成立的」；月路「从月下一直铺到画面底缘，而且它确实是全画最亮的东西，楼上那盏暖灯只是一小点」。新的头一条是那座楼——有塔顶灯室、有分层栏杆，读成一座给船指路的海上灯塔，「本该是楼在望船，现在成了楼在照船」。", "score": 7, "gap": "明月楼被造成了灯塔：要临江的楼、飞檐、一盏帘内不动的暖灯，不要灯室和栏杆平台。", "shots": ["shots/50/1-moonrise.png", "shots/50/4-sandbar.png", "shots/50/5-boat.png"], "version": "versions/50/index.html"}
{"round": 51, "at": "2026-09-17T08:49Z", "title": "明月楼第一次重做：去掉栏杆梳齿与灯室锥顶", "changed": "栏杆从九根立柱加扶手的梳齿改成檐下一条细横线——35px 宽的楼上排九根立柱，读出来就是瞭望廊。塔顶的锥体加竖直宝塔尖换成一条短平脊。三层的檐口一律加宽，塔身少收分。", "why": "第 50 轮盲评：「有塔顶灯室、有分层栏杆，读成一座给船指路的海上灯塔，本该是楼在望船，现在成了楼在照船。」", "critic": "第 51 轮盲评 6/10「还不像」：仍判西式灯塔——「细长等粗的圆柱塔身、顶上一个小烟囱状收头……没有翼角起翘」。", "score": 6, "gap": "平脊读成烟囱；檐口没有翼角。", "shots": ["shots/51/1-moonrise.png", "shots/51/4-sandbar.png", "shots/51/5-boat.png"], "version": "versions/51/index.html"}
{"round": 52, "at": "2026-09-17T08:49Z", "title": "檐口profile第二次：先落再挑", "changed": "檐口原先整个外半段一路上扬，是伞。改成大部分向外下落、只在最后一段（翼角）翻上来。顶的坡度压低放宽，脊加宽。塔身重新收分。", "why": "第 51 轮盲评说那是「两圈外张的伞状檐」。", "critic": "第 52 轮盲评 6/10：「圆筒形塔身上套着两道平直的环形板，檐口完全平直、端部微微下垂，看不到任何起翘的翼角，顶部是平的不是尖顶。」", "score": 6, "gap": "檐口的上边缘是直线，所以怎么调端点都读成平板。", "shots": ["shots/52/1-moonrise.png", "shots/52/4-sandbar.png", "shots/52/5-boat.png"], "version": "versions/52/index.html"}
{"round": 53, "at": "2026-09-17T08:49Z", "title": "反宇与攒尖顶", "changed": "想通了前两次为什么都失败：檐口的上边缘一直是直线。一百米外这座楼只有 150px 高、檐深六像素，眼睛唯一分得出的就是这条轮廓线塌不塌。改成反宇——上边缘在当中下垂、两端翘起，两个翼角是整片檐最高的点，下边缘垂得更深，两线在翼角交成一个尖。顶换成攒尖：四条垂脊上行时下凹、屋角起飞，顶上一颗宝顶珠。", "why": "第 52 轮盲评：檐口完全平直、端部微微下垂。", "critic": "第 53 轮盲评 7/10：花林「皆似霰」被认成读诗时想不到的一层；但汀上白沙那条弧线是全画最亮最清楚的线，和它自己的字幕正相反。楼仍判灯塔。", "score": 7, "gap": "汀线还是一条亮绳；楼的檐还是不够。", "shots": ["shots/53/1-moonrise.png", "shots/53/4-sandbar.png", "shots/53/5-boat.png"], "version": "versions/53/index.html"}
{"round": 54, "at": "2026-09-17T08:49Z", "title": "三层檐改成等宽；湿沙带压暗", "changed": "檐口原先随高度收窄（1.12→1.05→0.96），塔身也收（0.66→0.52→0.39），加起来就是一个三角形。改成三层檐几乎等宽、收分交给藏在檐后的塔身。湿沙带的亮度和白度都压下来。", "why": "第 53 轮盲评：「细长的圆锥塔身、越往下越粗。」", "critic": "量了一下汀线：湿沙带压暗几乎没有改变台阶（50.9→50.1），说明画那条亮边的不是它。", "score": null, "gap": "得先找出到底是哪一层在画那条亮边。", "shots": ["shots/54/1-moonrise.png", "shots/54/4-sandbar.png", "shots/54/5-boat.png"], "version": "versions/54/index.html"}
{"round": 55, "at": "2026-09-17T08:49Z", "title": "找到画汀线的那一层：它的权重是反的", "changed": "逐层静音再量像素（AGENTS.md 的老规矩）：汀身的填充、按列的水洗、沙粒、湿沙带，一个一个关掉，数字都几乎不动。真正画那条线的是按列撒在汀线上的那条「吃边带」——它的透明度是 (1-|off|)，也就是正好在汀线上最亮，近白色、最高半个 alpha，于是在一条沙和水都只有 L45 的岸上铺了一绳 L139 的亮点。把权重倒过来：越靠近汀线越稀，那条线本身成了整片沙上最空的地方。汀线上的亮点从 298 个降到 165 个，台阶中位数从 32 降到 20。", "why": "第 53 轮盲评：「那道沙洲偏偏是全画面最亮、轮廓最清楚的一条弧线，诗句被自己的画面当场否掉了。」", "critic": "第 55 轮盲评：楼终于判对了——「对岸那座是中式楼阁（多层翘檐、攒尖顶，一扇暖黄灯窗），不是西式灯塔」。汀线仍说一眼能找到。", "score": null, "gap": "楼过了。汀线还要再软。", "shots": ["shots/55/1-moonrise.png", "shots/55/4-sandbar.png", "shots/55/5-boat.png"], "version": "versions/55/index.html"}
{"round": 56, "at": "2026-09-17T08:49Z", "title": "把汀压到和水同亮度——失败，如实记下", "changed": "照着 critic 说的「让沙和水同色温同亮度」，把汀身从 L56 压到 L45（水自己的值）。", "why": "第 55 轮盲评的原话。", "critic": "量出来更差：汀线的台阶中位数从 20 涨到 32。眼睛在汀线上抓的不是沙身，是压在汀线上的那条淡带；把沙压下去只是把那条带的对比度抬高了。退回。", "score": null, "gap": "这条路是死的，已写进代码注释。", "shots": ["shots/56/1-moonrise.png", "shots/56/4-sandbar.png", "shots/56/5-boat.png"], "version": "versions/56/index.html"}
{"round": 57, "at": "2026-09-17T08:49Z", "title": "把压在汀线上的那条水洗调弱——也失败", "changed": "把按列水洗靠岸那几个色标从 0.095/0.058/0.045 降到 0.052/0.030/0.024。", "why": "既然抓眼睛的是压在汀线上的淡带，就把那条带调弱。", "critic": "又更差（20→32）。水洗正是把亮度接过汀线的那一层；一弱，水洗和沙自己的斜坡之间就露出底下的暗河，那道暗边比原来的亮边还硬——这一条代码注释里本来就写过，是我没听。退回。", "score": null, "gap": "两条明显的路都验过是死的，都写进注释了。", "shots": ["shots/57/1-moonrise.png", "shots/57/4-sandbar.png", "shots/57/5-boat.png"], "version": "versions/57/index.html"}
{"round": 58, "at": "2026-09-17T08:49Z", "title": "一次自己造成的回归", "changed": "没有改动。", "why": "第 54 轮那次逐层静音的实验跑成了后台任务，它收尾时的 cp 在第 55 轮之后才落地，把第 55 轮的吃边带改动盖掉了——所以第 56–58 轮量到的数字其实都不是我以为的那份代码。", "critic": "量出来 32.0 而不是 19.6，才发现文件被盖回去了。", "score": null, "gap": "重新贴回第 55 轮那一处。", "shots": ["shots/58/1-moonrise.png", "shots/58/4-sandbar.png", "shots/58/5-boat.png"], "version": "versions/58/index.html"}
{"round": 59, "at": "2026-09-17T08:51Z", "title": "把第 55 轮丢掉的那处贴回来", "changed": "重新贴回吃边带的权重反转（第 58 轮那条记的就是它怎么丢的），并把第 56、57 两条验废的路写进注释，免得下一个人再走一遍。", "why": "量出来第 58 轮是 32.0 而不是 19.6，才发现文件被后台任务的收尾 cp 盖回去了。", "critic": "第 59 轮盲评 7/10：扁舟那一格「一叶舟、一扇亮窗的中式楼阁、一条从月亮铺到脚下的滟滟月路，读过诗的人一眼就认」。但仍说汀上白沙那一格有「一条贯穿画面的发光亮带」把沙和水清清楚楚切开。", "score": 7, "gap": "那条贯穿画面的亮带到底是谁画的，还没找到。", "shots": ["shots/59/1-moonrise.png", "shots/59/4-sandbar.png", "shots/59/5-boat.png"], "version": "versions/59/index.html"}
{"round": 60, "at": "2026-09-17T08:51Z", "title": "那条亮带根本不在沙上——是芳甸", "changed": "逐个关掉顶层的绘制函数再量：关掉 drawSandbar，那条带一动不动（13.9，仍在 y=371）；关掉 drawMeadow，它掉到 1.2。连着三轮盲评、加上我自己，都把它当成汀的水线，而它是芳甸自己的岸，横在汀后面。先把芳甸的填充落回来：原先近岸一端到 L95，而它脚下的江水只有 L45，草地比水亮一倍多——和沙那次是同一个错误，月夜里草不会比水亮，因为水把月还回来而草不会。", "why": "AGENTS.md 那条「瑕疵不一定是它看上去趴着的那个东西画的」，这是这个项目里最干净的一例。", "critic": "填充落回来只把 13.9 降到 12.3，说明主要不是它。", "score": null, "gap": "芳甸里还有别的东西在画那条带。", "shots": ["shots/60/1-moonrise.png", "shots/60/4-sandbar.png", "shots/60/5-boat.png"], "version": "versions/60/index.html"}
{"round": 61, "at": "2026-09-17T08:51Z", "title": "二十二道 34px 的白描边全压在芳甸的岸上", "changed": "绕芳甸那条水道的浅滩光，是二十二道 34 像素宽、近白色的描边，权重 0.030*(1-t)^1.5——在 t=0 最重，而 t=0 正是芳甸自己的岸，并且那里的外推偏移也是 0，于是最重的几道全落在同一条线上，叠出一条 L89 的带子横过一条 L45 的江。改成权重在水道当中最高、在岸和外侧都归零：浅滩照样沿着这道弯把月光带过去（这一层就是为这个存在的，去掉它芳甸会贴着一条死黑的河），但画面里没有任何一条边是它画的。", "why": "第 59 轮盲评：「一条贯穿画面的发光亮带」。这正是 AGENTS.md 那条「宽描边扫过一串采样点，一定会在它的两端和近处露馅」。", "critic": "那条带现在是一段三十行宽的缓坡（38→66→40），不再是一条有硬边的线。", "score": null, "gap": "等盲评复判。", "shots": ["shots/61/1-moonrise.png", "shots/61/4-sandbar.png", "shots/61/5-boat.png"], "version": "versions/61/index.html"}
{"round": 62, "at": "2026-09-17T08:54Z", "title": "芳甸的岸再落一档", "changed": "芳甸填充的色标再降一档，水道浅滩光从 0.011 降到 0.007。", "why": "第 61 轮盲评仍说那条边是下半幅最亮的。", "critic": "量出来隆起只从 +35 降到 +31，说明填充和水道都不是大头。", "score": null, "gap": "芳甸里还剩最后一层没查：岸上那三道「呼吸」描边。", "shots": ["shots/62/1-moonrise.png", "shots/62/4-sandbar.png", "shots/62/5-boat.png"], "version": "versions/62/index.html"}
{"round": 63, "at": "2026-09-17T08:54Z", "title": "岸上那三道呼吸描边才是剩下的大头", "changed": "芳甸岸上的呼吸是三道 15/10/5 像素宽、亮度 203 的描边，全沿着同一串采样点叠，加起来在岸上有将近十分之一的 alpha。降到三分之一的权重，颜色也换成更接近水的一档。这一层不能删——删了芳甸就贴着一条尺子画出来的多边形边缘。", "why": "第 61–62 轮盲评连着说那条边是下半幅最亮的。", "critic": "隆起从 +35 降到 +21。第 63 轮盲评这一轮抽到的是 1-moonrise 和 5-boat：「月路、明月楼的那一扇灯、江心扁舟，符号都对」，但底部浅沙与水的波状边界依然一眼可辨。它这一轮和上一轮的头号意见都不是画，而是时间——八段诗的东西在第一格里就全站好了。", "score": 6, "gap": "1-moonrise 底部的沙水边界；以及 critic 连着两轮提的「一格一物」的先后感。", "shots": ["shots/63/1-moonrise.png", "shots/63/4-sandbar.png", "shots/63/5-boat.png"], "version": "versions/63/index.html"}
{"round": 64, "at": "2026-09-17T08:58Z", "title": "第 64 轮", "changed": "见第 68 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 68 轮。", "shots": ["shots/64/1-moonrise.png", "shots/64/4-sandbar.png", "shots/64/5-boat.png"], "version": "versions/64/index.html"}
{"round": 65, "at": "2026-09-17T08:58Z", "title": "第 65 轮", "changed": "见第 68 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 68 轮。", "shots": ["shots/65/1-moonrise.png", "shots/65/4-sandbar.png", "shots/65/5-boat.png"], "version": "versions/65/index.html"}
{"round": 66, "at": "2026-09-17T08:58Z", "title": "第 66 轮", "changed": "见第 68 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 68 轮。", "shots": ["shots/66/1-moonrise.png", "shots/66/4-sandbar.png", "shots/66/5-boat.png"], "version": "versions/66/index.html"}
{"round": 67, "at": "2026-09-17T08:58Z", "title": "第 67 轮", "changed": "见第 68 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 68 轮。", "shots": ["shots/67/1-moonrise.png", "shots/67/4-sandbar.png", "shots/67/5-boat.png"], "version": "versions/67/index.html"}
{"round": 68, "at": "2026-09-17T08:58Z", "title": "这一夜真的走起来了：月亮按你站的地方升落，楼上的灯等到该问的时候才亮", "changed": "连着三轮盲评的头号意见都不是任何一处画面，而是时间：「把『潮』和『扁舟』两张并排看，月亮在天上的位置、楼、舟、沙洲几乎一模一样，等于给同一张定格换字幕」，以及「楼上灯在第一章就亮着，诗要到第五章才问『何处相思明月楼』，答案提前摆在了画面里，后面那一问就落空了」。诗自己就是这么写的——从「海上明月共潮生」到「江潭落月复西斜」「落月摇情满江树」，一整夜。所以月亮的高度和方位、以及楼上那盏灯，都改成了「读者站在哪里」的函数：八个驿站按反距离平方加权出一个 0..1 的夜相，月亮 62m 起、当中升到 212m、再落回来，同时一路西斜；楼窗的灯从第五、六章之间升起来，在潮生那一格是暗的。加权的软化常数一开始取大了（+40），驿站之间只隔十五到二十五米，站在驿站上也只拿到一半权重，每个机位都落在半夜、月亮高悬——量出来潮生那一格的月亮在屏幕 y=124；改成平方加权后落到 y=222，而扁舟那一格是 y=176。这是纯函数，机位冻结所以逐轮仍然可复现，走动时也是连续的，不会跳。", "why": "三个互相看不到、也没看过任何解释的 critic 收敛到同一条。", "critic": "第 68 轮独立盲评 7/10，判词「到位」（这一段第一次）。它复核了两条：「楼上那盏黄灯只在扁舟那张亮着」，灯的先后成立。新的缺口是构图上的——舟与楼被摆进同一个画面、同一条水平线上，「诗问的是『谁家』『何处』，是两处互不知道的灯，被你答成了一处风景，遥远就没了」。", "score": 7, "gap": "舟在画面里时，楼该只是远处一点辨不清的光。", "shots": ["shots/68/1-moonrise.png", "shots/68/4-sandbar.png", "shots/68/5-boat.png"], "version": "versions/68/index.html"}
{"round": 69, "at": "2026-09-17T09:01Z", "title": "第 69 轮", "changed": "见第 73 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 73 轮。", "shots": ["shots/69/1-moonrise.png", "shots/69/4-sandbar.png", "shots/69/5-boat.png"], "version": "versions/69/index.html"}
{"round": 70, "at": "2026-09-17T09:01Z", "title": "第 70 轮", "changed": "见第 73 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 73 轮。", "shots": ["shots/70/1-moonrise.png", "shots/70/4-sandbar.png", "shots/70/5-boat.png"], "version": "versions/70/index.html"}
{"round": 71, "at": "2026-09-17T09:01Z", "title": "第 71 轮", "changed": "见第 73 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 73 轮。", "shots": ["shots/71/1-moonrise.png", "shots/71/4-sandbar.png", "shots/71/5-boat.png"], "version": "versions/71/index.html"}
{"round": 72, "at": "2026-09-17T09:01Z", "title": "第 72 轮", "changed": "见第 73 轮合并记述。", "why": "同上。", "critic": "过程轮。", "score": null, "gap": "见第 73 轮。", "shots": ["shots/72/1-moonrise.png", "shots/72/4-sandbar.png", "shots/72/5-boat.png"], "version": "versions/72/index.html"}
{"round": 73, "at": "2026-09-17T09:01Z", "title": "月贴海而生、舟灯与楼灯各自等到该亮的那一句；以及「值一动，所有靠它落座的东西都得跟着动」再学一遍", "changed": "月亮在潮生那一格压到 36 米（约 3.3 度，刚好从远岸的缺口里升出来而不是从树后），扁舟的灯和船身也跟楼窗一样按夜相渐入——「谁家今夜扁舟子」是第六段的问句，答案不该在开篇就摆好。然后查一件自相矛盾的事：同一轮里 1-moonrise 量到沙 L76、水 L48，而 critic 说沙是「画面里最深的青灰蓝，比水还暗」。两边都没错——那是两个机位，而站在汀上的那个机位上，沙丘的背光面和汀线的柔化描边把汀身从填充指定的 L80 一路压到了 L27。这两处的颜色都是当年沙还在 L36 时定的，沙涨回去时没人动它们。重新落座后回到 L35。", "why": "第 69、70 轮盲评：「月亮已经高悬半空，既没有从海面生出来」「扁舟和明月楼的那扇灯在开篇就已经全部亮着，于是那两个问句在第五格失去了答案的悬念」。", "critic": "第 70 轮盲评复核第一格：「月低贴海、月路随波、塔是暗剪影，读过诗的人一眼认得出『海上明月共潮生』」，两盏灯都确认未亮。第 71 与第 73 两轮对汀的判词正好相反——一轮说沙「比水还暗」，一轮说沙「比水面亮出一整级」——是抽到的机位不同，这条缺口在不同机位上是两个方向。", "score": 7, "gap": "汀线在站到汀上的那个机位里仍然是全图最清楚的一条线；这条缺口在两个机位上方向相反，下一段应当分机位分别定值。", "shots": ["shots/73/1-moonrise.png", "shots/73/4-sandbar.png", "shots/73/5-boat.png"], "version": "versions/73/index.html"}
