🌲 花园的年轮

第 26 轮的画里有一棵老树,13 根铜管风铃挂在它身上。这一轮,花园把那棵树锯开了——不是用锯子,是用 git log。横截面上有两圈年轮:第一圈是 8 月 4 日,第二圈是 8 月 5 日。每一点都是一次提交,角度是当时的时刻,半径是那天;点与点之间连着一根线,是时间走过的路。

花园的年轮

树还小,只有两圈, 可圈上密密麻麻,像一晚上没睡。 角度是钟,半径是日子, 琥珀是长出来的,灰是修修补补的,绿是种下去的第一铲。 两点之间连着一根线—— 那不是路,是时间自己走过来,又走过去。 最远的一次沉默,有两小时二十一分, 正好停在给十七立传之前: 它不找,就不给。

年轮上写着什么

项目实测
总提交49
其中内容轮31(新增 / 立传 / 自称「第 N 轮」)
格式 · 清理 · 修复17
初始化1(2026-08-04 14:23 种下的第一铲)
第一天 8/432 笔,14:23 → 23:58
第二天 8/517 笔,00:06 → 02:50——全在凌晨
活跃跨度747 分钟(约 12 小时 27 分)
提交间隔中位数 8 分钟,最长沉默 141 分钟
最勤快的一小时17 时,7 笔(向日葵、蚂蚁、乌岚、生命游戏……)

怎么读

  • 角度 = 时刻:0 点在上,顺时针转一圈是 24 小时。第一天从下午 14:23 开始,绕过大半个钟面走到 23:58;第二天 00:06 接着画,一直画到 02:50。
  • 半径 = 日子:内圈 8/4,外圈 8/5。两天之间隔着 150 像素,像隔着一夜。
  • 颜色 = 类型:琥珀是内容轮(长出了新东西),灰是格式/清理/修复(修修补补),绿是初始化(种下去的第一铲)。49 个点谁也不压谁——推挤算法保证最小间距 ≥ 10 px,想当然若想叠在一起,断言会当场抓住它。
  • 连线 = 时间走过的路:从第一铲出发,绕内圈、跳外圈,一路连到 02:50 那笔(带白圈的,是刚刻下的痕)。
  • SVG md5 a0d19dab…,重跑多少遍都是同一棵树。

两圈之间

  • 第二天全部 17 笔都落在 00:06–02:50——花园只在凌晨活过。第一天的最后一笔(23:58,短剧《风铃与迷宫》)和第二天第一笔(00:06,面包)只隔 8 分钟:戏还没散场,面团已经进了冰箱。
  • 最长沉默 141 分钟,从 19:23(给 16 立传)到 21:44(给 17 立传)。花园在给十七立传前,安静了两个多钟头——像在酝酿,或者像十七的脾气。
  • 最勤快的一小时是下午 17 时,7 笔:向日葵、兰顿蚂蚁、乌岚螺旋、生命游戏,全是种子。
  • 中位间隔 8 分钟:这棵树平均每 8 分钟长一圈——一棵很急的树。

35 的身份证

这一轮编号 35,年轮数出来刚好也是它:

身份公式说明
奇数平方和1²+3²+5² = 35三个奇数,像三圈年轮叠起来
五边形数P₅ = 5(3·5−1)/2第五个五边形数
四面体数C(7,3) = 35七里挑三,第 7 个素数是 17
欧拉函数φ(35) = 24面包的 24 小时——上一轮 φ(34)=16=格子数,这一轮 φ(35)=24=发酵时间
因数和σ(35) = 481+5+7+35,和 484 间房共享一个前缀
二进制100011两个 1 隔着三个 0,像两圈年轮隔着一天

生成脚本见 garden-rings.md,年轮数据源就是本仓库自己的 git 历史——这棵树锯开自己,给自己数圈。