Light
Light is the only ornament
标志原样切进墙里做成窗,所有效果都是光照出来的:光束、地上的光、反光、浮尘。标志本身从不变形。
光,黑白,一点撞色。两个网站都从这里取值。
四条规则,比任何组件都重要。
Light
标志原样切进墙里做成窗,所有效果都是光照出来的:光束、地上的光、反光、浮尘。标志本身从不变形。
Colour
界面只用墨和纸。颜色只来自玻璃指尖,和产品自己(Pop Cafe 的拼贴)。
Motion
同一时刻只有一个东西在动。字标动效只在页面静止时播放:打开菜单、到达页脚、在静态页 hover 标志。
Words
不写 Sound on/off、Menu/Close。能用图标和动作说清的,不用字。
两套主题共用同一组令牌名。默认夜间;访客切换过就记住。撞色只在产品和贴纸里出现。
Funnel Display 负责标题和界面,Funnel Sans 负责正文。像素字只属于 Pop Cafe 的 App,不上网页。
Display · UI
AaFunnel Display 300–800Text
AaFunnel Sans 300–800Pop Cafe only
宽松:段落之间留足呼吸。页脚正好一屏高;矮屏幕上让巨大字标少露一点,而不是挤内容。
左上角放页面主体没有的那个标志:首页主体是 OK,页头放字标;Contact 主体是字标,页头放 OK。
Wordmark
页头 76px。动效只在静止时播放。
OK
页头 58px。首页的窗;五个指尖是玻璃。
Sparkle
Pop Cafe 的贴纸与光标。只在产品里出现。
标志是窗,光穿过它落在地上。房间跟随昼夜主题;指针移动太阳。往下滚到这里时开灯。
| Night | Day | |
|---|---|---|
| Wall | #5e5e61 | #b8b5ad |
| Floor | #6c6c6f | #aaa79f |
| Glass | #4aa8ff | #3d9ff7 |
| Sun | × 9.0 | × 7.2 |
| Sky through the window | × 1.9 | × 1.7 |
| Ambient | 0.006 | 0.16 |
| Air (beams) | 0.011 | 0.046 |
| Bounce off the floor | 1.0 | 0.55 |
| Floor gloss | 0.14 | 0.18 |
| Exposure | 1.0 | 0.93 |
Glass marble
它总在你指向的那束光里:倒映房间,把光聚成一根细光针,在影子中间留一个亮点,拨开浮尘。
Fingertips
划过玻璃指尖:闪一下,响一个音,地上的蓝色光斑荡开一圈。
Framing
和文字同屏时(Contact),窗与地上的光整体放进文字上方的空间,任何窗口比例都不挤。
Pop Cafe
Pop Cafe 自己的房间:App 的像素杯子做成窗,每个像素是一块玻璃,彩色的玻璃给光上色。两只像素眼睛看着指针,偶尔眨眼。
只有一种转场:从你按下的地方,一圈柔边光圈向外打开。点下面两张卡片试试。
Ring · 1250ms
导航、卡片、昼夜切换、菜单都是它。
Blink
眼睑合上,再在下一页睁开。
| --ease-out | cubic-bezier(.16, 1, .3, 1) | 出现、停下:揭示、光标变形、按钮 |
|---|---|---|
| --ease-in-out | cubic-bezier(.65, 0, .35, 1) | 从一处到另一处:转场光圈、菜单、眼睑 |
| --spring | cubic-bezier(.34, 1.56, .64, 1) | 轻微回弹:按下、波浪出现 |
| Ring | 1250ms · 羽化 150px · ease-in-out | 唯一的转场:导航、卡片、昼夜切换都用它(wipe.mjs → RING) |
| Menu | 开 .9s · 关 .8s | 从按钮打开、收回按钮;从菜单进子页时只有收回这一个动作 |
| Blink | 合 p .30–.58 · 换页 .61 · 睁 .64–.92 | 首页滚动;眼睑只做位移,合上后房间停止渲染 |
| Light on | 暗 260ms → 一帧亮起 → 曝光 ×1.9 回落 | 太阳从侧面低角度进来(az −1.05, el .42),约 3 秒转回正位 |
| Breathing | 亮度 0.86–1.0 | 两层很慢的起伏,像云飘过;减少动态时关闭 |
| Reveal | .8s · 每行错开 80ms | 标题逐行升起;从菜单进入的页面不播 |
| Pace | 60fps 交互中 · 30fps 静止 | 被盖住的房间不画;GPU 跟不上时自动降分辨率 |
只在有鼠标的设备上。紧贴指针、不拖尾;把指针移到下面的格子上试试它的形状。
Dot
反色小点,任何底色上都看得见。
Link
变成圆圈。
Snap
圆圈吸附成按钮的大小。
Open
反色大圆,中间 ↗。
Marble
缩成准星,玻璃珠才是光标。
Spark
品牌闪星,顺着移动方向倾斜。
细圈图标按钮,hover 时填满;次要链接是带箭头的文字。没有胶囊按钮、没有阴影卡片。
Icon buttons
主题(月牙 / 带虚线光晕的圆点)、声音(静止是一条线,开启后是流动的波)、菜单。52px 细圈。
Ring buttons
hover 时填满,文字从圈里滑出。复制后文字变成 Copied。
Links
文字链接带细下划线和箭头;卡片右下角是实心圆箭头。
邮箱里的 o 是眼睛,看着你的指针。
默认关闭,只有一个开关,没有文字。点下面的格子试听(不会打开全站声音)。
玻璃指尖、卡片。三个变体随机。
五声音阶 0 2 4 7 9,从左扫到右是一句。
卡片的木头轻响。
Knock 降 19 个半音:开灯那一下。
在房间里点一下,阳光一闪。
换页和菜单的气流。
界面用短英文;Notes 的长文可以用中文。
Navigation
Work · About · Contact工作室最常见的三项;Notes 放在菜单和页脚。
Controls
◐ ∿ ─图标和状态自己说明。
About
A studio of two.一句话,具体,不夸张。
这页上的一切都来自这些文件。数值以代码为准。
| studio/omo.css | 令牌(昼夜)、版式、组件、页脚、菜单、光标样式 |
|---|---|
| studio/light.mjs | 光房间:窗形、两套光、开灯、呼吸、玻璃珠、指尖、构图 |
| studio/wipe.mjs | RING:唯一的转场参数 |
| studio/studio.mjs | 页面生命周期:开场、眨眼、昼夜、菜单、页头取色、手电筒 |
| studio/cursor.mjs | 光标与它的形状 |
| studio/sound.mjs | 音色与每页配乐(默认关) |
| studio/brand/omoh-motion.mjs | 字标和 OK 手的品牌动效 |
| studio/overlay.mjs | 浏览器后退/前进时的眨眼 |