
【免费下载链接】ghostty-blackholeGhostty Blackhole puts a real, ray-traced black hole inside your terminal. It grows as Claude Codes context window fills up, live. A fresh session is a quiet hole in the corner. A full one swallows half your screen. Youll always see /compact coming.项目地址https://gitcode.com/gh_mirrors/gh/ghostty-blackhole点击查看免费下载Ghostty Blackhole 是一个只由 591 行 GLSL 组成的 Ghostty 终端黑洞着色器它对每个靠近黑洞的像素实时数值积分光线在史瓦西时空中的测地线用真正的光线追踪做出引力透镜效果——终端文字会被弯曲、放大、镜像黑洞还会随着 Claude Code 上下文窗口的填充程度实时长大。一、️ 它是什么终端里一颗会吞屏的黑洞它不是一个贴图动画。黑洞的影子、吸积盘、光子环、被弯曲的文字全部是从光线追踪中算出来的没有任何一笔是手绘上去的现象它是怎么来的黑洞影子撞击参数小于 $b_{crit}\frac{3\sqrt{3}}{2}r_s$ 的光线螺旋落入视界永久消失引力透镜逃逸的光线被投影回终端天空平面文字弯曲、放大爱因斯坦环内出现镜像吸积盘一条光线可以多次穿过多薄盘远端弧线从影子上下方绕过《星际穿越》同款光子环在 $1.5,r_s$ 光子球附近打转的光线收集了所有盘面穿越亮环自然涌现时间膨胀盘面纹样的转速按 $\sqrt{1-1.5,r_s/r}$ 衰减内缘轨道肉眼可见地冻住最妙的是尺寸模式在 blackhole.glsl 的SIZE_MODE里切换Token 模式默认黑洞实时跟踪 Claude Code 的上下文窗口。新会话时它是右上角一颗安静的小洞上下文填满时它会吞掉半个屏幕、漂移得越来越快。执行/compact或开新会话它立刻缩回角落。你永远能提前看见/compact要来了。番茄钟模式黑洞随整点工作节律在 55 分钟内缓缓长大到点收缩提醒你休息停止敲键盘 90 秒后它会自行淡出绝不打扰真正的休息。二、 逐像素光线追踪591 行里藏着的物理光子的加速度方程参考实现Bruneton 的黑洞着色器依赖预计算好的测地线查找表但 Ghostty 自定义着色器只是一趟无纹理的片元 Pass拿不到查找表。Ghostty Blackhole 的做法是让每个像素自己现场做物理。核心是 Binet 形式的光子加速度见 blackhole.glsl#L507-L515a -3/2 · h² · x / r⁵其中 $h$ 是守恒量只在每像素计算一次。着色器用蛙跳积分kick-drift-kick推进光线路径步长随半径自适应——靠近光子球时细步、远处粗步把积分预算N_STEPS默认 48见 blackhole.glsl#L68-L71花在强弯曲区域。影子与光子环物理常数而非品味参数影子的角半径由临界撞击参数决定它是一个物理量被写成#define以防调参面板误改blackhole.glsl#L217-L222B_CRIT 2.5980762 // (3√3/2) r_s小于它的射线落入视界判定见 blackhole.glsl#L497-L501$r1$ 即穿过视界大于它的射线逃逸并参与透镜——你看到的黑边、亮环都是这条判定链的自然结果。远近分工积分太贵远场用解析式逐像素积分是主要 GPU 开销所以只有黑洞周围圆形近场内的像素才付这笔账blackhole.glsl#L445-L474。远场光线改用对积分器拟合过的弱场偏折解析式误差 1%并加了一点色散——蓝光的偏折比红光略多产生轻微的色像差。吸积盘连颜色都是算出来的光线每次穿过盘面blackhole.glsl#L517-L558都会累加一次 HDR 发射温度Shakura–Sunyaev 温度分布 黑体色温拟合相对论效应多普勒/引力红移因子 $g\sqrt{1-1.5,r_s/r},/,(1-\beta\cdot\hat{k})$迎面一侧蓝热并被 $g^N$ 聚束增亮远去一侧又暗又红时间膨胀盘面纹样按当地固有时率旋转内缘轨道近乎静止。想动手玩的话这些旋钮都集中在文件开头blackhole.glsl#L34-L66常量作用HOLE_RADIUS黑洞尺寸总调节LENS_DEPTH终端天空平面距离越大文字弯得越狠N_STEPS每像素测地线积分步数主性能旋钮STAR_GAIN引力透镜星空亮度0 关闭WORK_AREA屏幕底部保留区你的命令行永不变形三、 黑洞为什么跟着 Claude Code 长大着色器没有自定义 uniform、也没有帧间状态那上下文占用量怎么传进去答案很巧妙藏在光标颜色里。配套脚本 claude-token.py 以三种方式接入 Claude Code 配置statusLineSessionStart/SessionEnd钩子每轮助手回复后它把上下文占用0..11/250 步长编码进一个琥珀色光标色OSC 12 转义的低位字节claude-token.py#L30-L32。着色器每帧从iCurrentCursorColor解码blackhole.glsl#L106-L117。两层保险让它不可能被误触发16 位签名高位是固定琥珀色基座 4 位校验和主题自己的光标色无法召唤黑洞光标色按表面surface独立每个 Ghostty 分屏/窗口拥有自己的黑洞互不干扰。更新也没有任何重载或重编译卡顿Ghostty 在光标颜色变化时会把旧色快照进iPreviousCursorColor并刷新iTimeCursorChangeblackhole.glsl#L119-L146着色器据此在 0.31.5 秒之间滑行过渡1% 的跳变平滑成连续运动整片引力场不会跳帧。四、 两步安装让黑洞住进你的终端要求 Ghostty 1.3需要光标着色器 uniform。第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/gh/ghostty-blackhole第 2 步在 Ghostty 配置~/.config/ghostty/config中加入两行然后CmdShift,重载见 README.md#L187-L199custom-shader /path/to/blackhole_ghostty/blackhole.glsl custom-shader-animation trueToken 模式只需再把claude-token.py按 README.md#L153-L185 写进~/.claude/settings.json即可新开一个 Claude Code 会话右上角的小洞就出现了。五、️ 9 种预设一键切换用 Tuner 面板调参不想手改常量的话仓库自带一个原生 SwiftUI 控制面板 tuner/分组滑块覆盖全部着色器参数与文件双向同步每次拖动通过SIGUSR2让 Ghostty 即时热重载tuner/make-app.sh 可打包成可双击的 app。预设取自 tuner/Sources/BlackHoleTuner/ContentView.swift 的参数体系包括《星际穿越》的 Gargantua、M87* 甜甜圈、类星体、耀变体、Inferno、Zen 等九种外观每个预设只改动温度、倾角、内径、多普勒混合度等几个常量你就能直观看到同一套光线追踪物理参数不同画面完全不同——这正是 591 行 GLSL 最直观的说服力。写在最后Ghostty Blackhole 的价值在于它没有欺骗影子是判定出来的透镜是积分出来的盘面颜色是黑体辐射加多普勒算出来的。它同时是一件实用的工具——把 Claude Code 的上下文水位变成一个看得见、摸得着、快吞掉你屏幕的物理现象。如果你在意 GPU 开销记住唯一的性能旋钮是N_STEPS如果想要满格上下文黑洞的体验把它调到能稳定 30 帧的位置就是最适合你的黑洞了。赞分享【免费下载链接】ghostty-blackholeGhostty Blackhole puts a real, ray-traced black hole inside your terminal. It grows as Claude Codes context window fills up, live. A fresh session is a quiet hole in the corner. A full one swallows half your screen. Youll always see /compact coming.项目地址https://gitcode.com/gh_mirrors/gh/ghostty-blackhole点击查看免费下载相关推荐从像素到光影Genesis光线追踪渲染系统如何重塑机器人仿真视觉体验从像素到光影Genesis光线追踪渲染系统如何重塑机器人仿真视觉体验 Genesis是一个面向通用机器人和具身AI学习的生成式世界平台其内置的光线追踪渲染系物理引擎具身智能机器人人工智能jaxstronomy基于 JAX 的强引力透镜仿真管线全解析jaxstronomy基于 JAX 的强引力透镜仿真管线全解析 jaxstronomy 是 Google Research 仓库中一个以 JAX 为核心实现的人工智能深度学习NLP计算机视觉强化学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考