网站修复记录:3D 魔方的朝向、复原公式与拖拽上限
这次修复统一了 3D 魔方的屏幕朝向和逻辑坐标,恢复可重复的初始状态,并放宽自由拖动范围、收敛聚焦尺寸。
Archive
技术文章、建站记录和一些学习笔记,按时间归档,也可以按主题翻找。
这次修复统一了 3D 魔方的屏幕朝向和逻辑坐标,恢复可重复的初始状态,并放宽自由拖动范围、收敛聚焦尺寸。
最后一轮把小物件从装饰变成局部应用:魔方按层转动、掌机运行小游戏,墙上名牌则使用有限弹簧模拟拖拽和翻面。
博客、摄影和书法不再跳回普通页面模板,而是在显示器与房间内原生内容层中完成浏览,同时保留真实 DOM 与键盘操作。
黑胶唱机、显示器和书法鸟的聚焦曾经后退、漂移和越过墙面。稳定版本用单一时间线、投影校验和原生音乐卡片收敛交互。
Blender 预览正常不代表 WebGL 会自动得到同样结果。最终方案把稳定光照烘进多张美术图集,并禁止浏览器再次改色。
模型导入只是开始。真正可维护的 3D 首页还需要 Outliner 层级、许可台账、可复现导出和由 manifest 约束的交付链。
从空旷方盒到可读的工作室,真正的尺度判断来自固定入口镜头中的构图,而不是单独追求某个房间长宽。
3D 房间最早不是一次完整替换,而是一项渐进增强实验:先保证首屏、导航和回退可靠,再让 Three.js 接管同一构图。
首页书法日课先跳到 404,返回后又停在入口 H。两个连续现象其实来自不同层:开发路由清单失效,以及首页入口状态没有响应浏览器历史恢复。
最终版本把最近摄影拆成外部照片叶片、中心模拟光圈和鼠标预览三层。照片靠 clip-path 分割,间隔靠底色露出,动画共享同一个 progress。
这次最近摄影光圈先后试过覆盖线、SVG 叶片、clip-path 分区和几何内缩。真正稳定的是把间隔放进照片叶片自身。
最近摄影板块想做成相机光圈,真正难的不是画一个六边形,而是别把叶片、缝隙、底色和照片切割画成互相冲突的层。
摄影和书法详情弹层不是单纯尺寸问题,而是被页面入场动画容器改变了定位参照。最后用 portal 把弹层移出页面动画树。
这次字体设置分成正文、代码、手写欢迎语和首访 H。重点不是选最特别的字体,而是让大多数用户都能正常看到。
博客、摄影、书法和关于页面需要进入感,但不需要全局加载遮罩。最后用本地 PageEnter 处理各页面板块。
首页动效的重点不是动得多,而是先后顺序。加载层退场后,header、欢迎语、书法图和后续板块才依次出现。
这次先把全站动效分层,再处理首访加载。入口动画只负责第一眼,不能拖慢后面的阅读和点击。
最近听歌模块把 Last.fm 数据、专辑图、黑胶 SVG 和环形布局接在一起。它看起来像视觉模块,实际先是数据边界。
首页第二屏不再堆入口卡片,而是用最近更新和最近摄影承接内容。文章来自 Velite,照片来自 YAML,页面只负责展示。
首页背景后来被抽成全站背景。关键不是复用一张图,而是把背景、遮罩、主题切换和内容可读性放到同一个边界里管理。
这次首页调整的第一步,是把它从功能入口页变成更像个人网站的第一屏:欢迎语、书法鸟图、个人名片和继续浏览。
从真实需求拆开看:原图太大、访问端不一样、内容数据要稳定,所以先把摄影图处理成可上传、可展示、可追踪的资产。
用 Sharp 把同一张照片拆成三种 WebP 资产:720、1600、2560,不追求玄学参数,只服务页面里的真实访问路径。
处理完图片只是第一步。真正好用的流程还要把资产上传到 R2、写入公开 URL、再生成 Next.js 可读取的 YAML。
用 Procreate 画的 Ornamental Penmanship 花饰鸟 PNG 贴到多主题网页背景上,扣掉底色反而让笔锋泛灰?从一次 Hero 图片闪烁的修复讲起。
这是我的第一篇博客文章