Files
homepage/docs/AI-HANDOFF.md
T
2026-08-18 09:57:55 +08:00

64 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI 交接说明
更新日期:2026-08-18
## 当前状态
项目是 `midctrl.com` 的纯静态首页,无数据库、API 或构建步骤。网站运行文件位于 `site/`。当前版本已完成代码复审、冷启动修复、移动端检查和公开文件白名单验证,但本仓库版本尚未上传生产服务器。
## 最近完成的修复
- WebGL 从等待 `window.load` 改为 DOM 就绪后初始化,字体或图片请求不会阻塞 Sakura。
- 初始化函数幂等,避免重复创建场景。
- 初始化时重新读取页面可见性和 reduced-motion 状态。
- `pagehide` 取消待执行帧,`pageshow` 重新同步并恢复。
- generation guard 隔离浏览器队列中未及时移除的旧 rAF 回调。
- `site-config.json` 请求超时为三秒,失败时使用 HTML 中的链接。
- 资源查询版本为 `20260818-3`。
## 渲染约束
- 粒子数:1,600。
- 花瓣 draw call:五次。
- Bloom directional blur draw:四次。
- 帧率上限:120 FPS,跟随显示器 `requestAnimationFrame`。
- 内部像素预算:普通设备 1,000 万像素,浏览器报告内存不高于 4 GB 时为 600 万像素。
- resize 稳定窗口:140 ms。
- reduced-motion:WebGL 静态帧,头像框使用静态图片。
不要在没有用户明确批准的情况下通过降低粒子、Bloom 或绘制次数解决性能问题。
## 关键文件
- `site/assets/js/main.js`:链接配置、Shader、Sakura、Render Target 和生命周期。
- `site/assets/css/main.css`:布局、字体、文字和头像效果。
- `site/assets/js/site-config.json`:站点名称、描述、规范 URL、外链名称和 URL。
- `tests/test-render-target-resize.js`:无第三方依赖的 VM 测试。
- `scripts/verify-production.ps1`:生产检查和公开目录白名单。
- `nginx/midctrl.com.example.conf`:脱敏示例,不是生产服务器完整配置。
## 推荐工作流程
```powershell
python -m http.server 9010 --bind 127.0.0.1 --directory site
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\verify-production.ps1
```
修改后先运行自动检查,再用真实浏览器检查首页、移动端和 `/404.html`。检查控制台并对纯 Sakura 区域间隔采样,确认画面确实变化。
## 生产边界
- Cloudflare SSL/TLS 使用 `Full (strict)`。
- 源站为 AlmaLinux 9 和 Nginx。
- 生产主机还有不属于本仓库的私有 location,部署时必须从现有服务器配置中保留。
- 证书私钥、服务器地址、私有 location、备份和上传凭据不得进入仓库。
- 用户授权部署前,只能在本地修改和验证。
## 新会话启动提示
可以在新 AI 会话中直接说明:“请先阅读 `AGENTS.md` 和 `docs/AI-HANDOFF.md`,运行生产检查,再继续处理我的需求。”
## 域名配置边界
运行时站点身份从 `site/assets/js/site-config.json` 读取,首页的标题、canonical 和 Open Graph 元数据不会再分别写死域名。`site/robots.txt` 与 `site/sitemap.xml` 是需要绝对 URL 的静态 SEO 文件;更换站点域名时必须一并更新它们,并运行生产检查。