Q.

◍ 个人站点 · 二〇二六 · 液态玻璃

Interfaces
with thickness.

做有厚度的界面,也做会呼吸的流体。

我是 Que。写 macOS 终端,做一颗会推镜的地球,替人算夺冠概率 —— 顺便把这一页做成了一块玻璃。你正在读它,所以它得对得起这一件事。

  • 液态玻璃
  • Swift / AppKit
  • Three.js / WebGL
  • 零框架

向下

作品
04
笔记
03
框架
00
01

材质 material

玻璃不是墙,是滤镜

玻璃是光的借条。

半透明的平面会先偷走背后的颜色,再还你一点模糊。所以好的玻璃界面不遮挡世界,它只是改写一点点:让底下那层水继续流动,却慢半拍。

这块玻璃由五层光叠出来 —— 折射、散射、高光、边、颗粒。少任何一层,它立刻退化成一块半透明色块。

  • 模糊22 px
  • 饱和175 %
  • 色散1 px
  • 位移折射2.2 px
  • 颗粒5 %

拖动这颗透镜 ↖

原始 · 无处理
毛玻璃 · 模糊 22px
折射 · 1px 色散 + 位移
02

作品 selected

四件,都在用

01 — 2026

Querminal

macOS 原生终端。标签页、主题、GPU 渲染管线,全部自己写了一遍。

  • Swift
  • AppKit
  • Metal

02 — 2026

墨脱 · 水电站

真实卫星地形上的一整座电站,镜头能从水面一路推到地球外。

  • Three.js
  • WebGL
  • Esri

03 — 2025

S16 冠军推演

把瑞士轮跑一万遍。夺冠这件事,最后变成一条概率曲线。

  • TypeScript
  • Monte Carlo
  • Viz

04 — 2026

这一页

你正在读的这块玻璃。零框架、零图片、零追踪,全部用 CSS 画出来。

  • CSS
  • SVG filter
  • WebKit
03

路径 path

从终端到这块玻璃
  1. 01

    先学会怎么排字

    终端是最不宽容的界面:字号差 1px、行距差 2px,读起来就是两种东西。

    终端
  2. 02

    然后让镜头动起来

    在真实的卫星地形上架一座电站,推镜要连续,雾要能化开,星星不能突然蹦出来。

    三维
  3. 03

    接着处理不确定的事

    一万次模拟,一万条轨迹。概率不是结论,是让未知变得可以谈论的东西。

    数据
  4. 04

    最后回到材质本身

    把前面学到的东西塞进一块玻璃:厚度、折射、还有一点点不讲道理的漂亮。

    材质
04

笔记 notes

点开看
2026 · 秋 玻璃的厚度是可以画出来的 四层光、一条被位移滤镜揉过的边、5% 的颗粒。

一块玻璃的厚度不是画一条边框,是叠五层:折射、散射、顶部那条 1px 亮线、底部很淡的反光,还有一条被位移滤镜揉过的边。少任何一层,它立刻退化成一块半透明的色块。

排到最后一层才会发现,真正让它「像玻璃」的不是模糊半径,而是边缘那一点不合物理的亮。

2026 · 夏 为什么我不给动画写满整屏 动得多的界面,分不出哪个动作是重要的。

这一页只有几处常驻运动:背景的呼吸、透镜的浮沉、和边缘那点几乎看不出的起伏。其余全部在等一个动作 —— 指针过来、卡片被推、或者一颗球被拖走再慢慢回位。

动画是注意力的预算。花光它,用户就再也不知道该看哪里。

2026 · 春 终端是一种审美,不是一种工具 字号、行距、颜色数,全都在替你说话。

同一份输出,字号差 1px、行距差 2px、配色板少一颗颜色,读起来就是两种东西。写终端的第一周我就明白了:我在做的是排版,不是功能。

所以它得能闭嘴 —— 默认视图里不该有一行多余的框线。

聯絡 / contact

有想法,
说出来。

可以聊
  • 界面与动效
  • 独立产品
  • 三维与图形
  • 终端的品味
GitHub ↗ X ↗ 东八区 · UTC+8 回到顶部 ↑