-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
继续滚动查看更多
-
—— 已经到底了 ——
-
+
+ asda
-
-
-
+
\ No newline at end of file
diff --git a/docs/superpowers/specs/2026-05-20-homepage-fluid-canvas-design.md b/docs/superpowers/specs/2026-05-20-homepage-fluid-canvas-design.md
new file mode 100644
index 0000000..87179f7
--- /dev/null
+++ b/docs/superpowers/specs/2026-05-20-homepage-fluid-canvas-design.md
@@ -0,0 +1,109 @@
+# 首页流体画布设计
+
+## 概述
+
+首页定位为纯粹的视觉体验,不承载信息。全屏 WebGL 流体画布,鼠标/触摸交互产生扰动,中央展示 "Dash" 品牌文字。首屏即全部,无下方内容区。
+
+## 布局
+
+```
+┌──────────────────────────────────────────┐
+│ │
+│ Nav (透明浮层,固定顶部) │
+│ │
+│ ┌─────────────┐ │
+│ │ 流体画布 │ │
+│ │ (全屏 Canvas) │ │
+│ │ │ │
+│ │ Dash │ │
+│ │ (中央文字) │ │
+│ │ │ │
+│ └─────────────┘ │
+│ │
+└──────────────────────────────────────────┘
+```
+
+- Canvas 铺满整个视口 (100vw × 100vh),位于所有内容之下 (z-index: 0)
+- 中央文字固定居中,z-index 高于 Canvas
+- 无滚动内容,无 footer(首页专属)
+
+## 流体画布
+
+### 色彩
+
+- 底色:cream `#faf9f5`,占画布大部分面积
+- 主流动层:coral `#cc785c`,混入少量 amber `#e8a55a`
+- 点缀暗部:dark navy `#181715`,偶尔出现如墨滴
+- 所有颜色 smooth blending,无硬边界
+
+### 交互
+
+- 鼠标移动 → 光标周围流体扰动,模拟手指划过水面
+- 扰动强度正比于鼠标速度:快速 = 大波纹,缓慢 = 细微涟漪
+- 鼠标静止 → 流体缓慢自主流动,不完全静止
+- 触摸设备 → 触摸点产生扰动
+
+### 中央文字
+
+- 内容:"Dash"
+- 字体:Liu Jian Mao Cao(草书),字号约 120-160px
+- 颜色:cream `#faf9f5`
+- 位置:居中固定,始终在 Canvas 之上
+
+### 技术方案
+
+- WebGL + Three.js + custom fragment shader 实现流体模拟
+- Canvas 分辨率适配 devicePixelRatio
+- 移动端降级为简化粒子系统(~200 粒子),触摸滑动产生扰动
+- 加载态:纯 cream 背景 + coral 色呼吸动画点,Canvas 就绪后淡入
+
+## 导航栏 (TopNav)
+
+### 首页行为
+
+- 背景透明,去掉 border-bottom
+- 文字颜色使用 `on-dark` 风格(cream 偏白),确保在流体背景上可读
+- Logo 保持 Liu Jian Mao Cao 字体
+- 离开首页(导航到其他页面)恢复正常 cream 底 + hairline border
+
+### 实现方式
+
+- 通过 route 判断是否在首页 (`route.path === '/'`)
+- 首页:添加 `transparent` modifier class
+- 非首页:默认样式
+
+## 响应式
+
+| 断点 | 行为 |
+|------|------|
+| 桌面 (>1024px) | 全 WebGL 流体,120-160px 字号 |
+| 平板 (768-1024px) | WebGL 流体,100-120px 字号 |
+| 移动 (<768px) | 粒子系统降级,80-100px 字号 |
+
+## 组件分解
+
+### 1. FluidCanvas.vue
+
+WebGL Canvas 组件,负责:
+- Three.js 场景初始化与销毁
+- Shader uniform 更新(鼠标位置、时间)
+- 窗口 resize 适配
+- 移动端检测与降级切换
+
+### 2. HomeHero.vue
+
+首页内容层,负责:
+- 居中 "Dash" 文字
+- 文字淡入动画(Canvas 就绪后触发)
+
+### 3. TopNav 改动
+
+- 新增 `transparent` prop 或 composable 判断首页
+- 首页样式覆盖:透明背景、无边框、文字颜色调整为 `on-dark`
+
+## 不在范围内
+
+- 首页下方内容区域(明确不需要)
+- 向下滚动提示(明确不需要)
+- 音效
+- 流体录制/截图功能
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 97beb11..1c259e0 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -3,6 +3,15 @@ import tailwindcss from '@tailwindcss/vite'
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: '2025-07-15',
+ app: {
+ head: {
+ link: [
+ { rel: 'preconnect', href: 'https://fonts.googleapis.com' },
+ { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' },
+ { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap' },
+ ],
+ },
+ },
css: ['~/assets/css/main.css'],
devtools: { enabled: true },
vite: {