演示
实验里跑得起来的那部分。每个页面都是一份单文件 HTML,没有构建步骤、没有后端, three.js 也是本站自己托管的——把地址给别人,对方打开就能看到同一个东西。
演示都是 WebGL 场景,需要一点显卡;手机上跑得动,但会热。 卡片点开是说明页,运行要再点一次——不会有东西在你没同意的时候开始烧 GPU。
blackhole
同题横评:three.js 百万粒子黑洞
星门 / 吸积盘:一次生成的百万粒子黑洞
同一段提示词只调用一次、不做任何人工修改,GPT-6 Astra 交出 1230 行单文件 HTML:100 万粒子、自定义 GLSL 吸积盘、UnrealBloomPass 后期,零控制台报错,?t= 锁定时间后截图逐字节可复现。缺陷也留着——bloom 把事件视界洗白了。
构图崩坏的那一版:代码全对,相机怼在了发光体内部
同一段提示词,GPT-5.6 Terra 一次生成:759 行、100 万粒子、零报错、HUD 和 ?t= 锁帧钩子全部实现。但相机与场景尺度没配好,画面里只剩一道巨大的白色弧光——技术上没有任何错误,视觉上是失败的。
一个 TDZ 错误黑屏,一轮反馈自己修好:Fable 5.1 的修复版
Claude Fable 5.1 一次生成的版本因为 TDZ 错误初始化中断、整页黑屏;把机器采集的错误堆栈原样回传,它 111 秒一轮修好了。这里跑的是修复版——能跑,但画面几乎全白,而且 ?t= 逐字节复现的契约在修 bug 的过程中被改坏了。
同一题交给 Agent:Astra + Codex CLI 自己截图自己改,三轮收工
同一段黑洞提示词,这次给的是一个能跑命令、能截图、能读回像素统计的 Agent。GPT-6 Astra 在 Codex CLI 里自主迭代三轮,把粒子数拉到 1,048,576,自己发现并压掉了一次生成那版的 bloom 过曝,固定时间截图哈希完全一致。
五轮把平均亮度从 0.43 压到 0.10:Fable 5.1 + Claude Code
同一段黑洞提示词交给 Claude Code 里的 Fable 5.1,42 轮对话、41 次工具调用、$4.24。它每一轮都自己渲染、读像素统计、判断哪里过曝,五轮之后中心恢复纯黑、螺旋条纹和多普勒增亮侧都出来了——一次生成的那版是黑屏的。
city
同题横评:赛博朋克雨夜城市
夜行都市:3,707 栋楼、104 万颗雨,一个 InstancedMesh 撑起来
赛博朋克雨夜城市,GPT-6 Astra 在 Codex CLI 里自主迭代五轮、渲染校验十次。街道尺度的峡谷、湿地面反射、霓虹招牌与雨丝拖影全在着色器里算,固定时间截图哈希一致。这一版的构图是整组里最像「城市」的。
五处 smoothstep 边界写反,SwiftShader 直接当常量:雨为什么不见了
同一道雨夜城市题,Fable 5.1 在 Claude Code 里跑了 82 轮、$6.43,六轮渲染校验。最值得记的是第三、四轮那个 bug:五处 smoothstep 的边界参数写反了,这个 SwiftShader 构建把它当常量求值,于是 100 万颗雨一颗都看不见。
fractal
同题横评:分形 Raymarching 隧道
分形隧道穿越:raymarching 写进深度缓冲,让百万粒子被分形正确遮挡
Menger 海绵的 KIFS 变体,沿 simTime 驱动的弯曲路径挖出隧道。难点不在分形本身,而在让 raymarch 的结果和 100 万个 THREE.Points 正确地互相遮挡——GPT-6 Astra 在 Codex CLI 里三轮迭代做完,首帧 1.6–2.1 秒。
六轮才把隧道壁照亮:Fable 5.1 + Claude Code 的分形海绵
同一道分形隧道题,Fable 5.1 在 Claude Code 里跑了 69 轮、$4.80、六轮渲染校验。前五轮都在过曝和「尘埃看不见」之间来回,第六轮换成相机前方点光加半 Lambert,才解决隧道壁掠射角过暗的问题。
morph
同题横评:百万粒子形态变换
百万粒子在四种形态间爆散重组:Astra + Codex CLI
换一道题:同一团 100 万粒子要在 DNA 双螺旋、旋涡星系、环面结、立体文字之间来回变形,过渡要先爆散再聚合。GPT-6 Astra 在 Codex CLI 里自主迭代四轮,全部形态位置在顶点着色器里由 simTime 算出来,确定性截图哈希一致。
DNA、星系、环面结、立体文字:Fable 5.1 + Claude Code 的形态变换
同一道形态变换题,Claude Code 里的 Fable 5.1 跑了 65 轮、64 次工具调用、$4.68。四轮迭代的每一条都记着修了什么:过曝洗白、环面结被相机压成一个「8」、过渡态像一团均匀的雾、窄视口裁切。停留态平均亮度压到 0.04–0.06。