Files

307 lines
43 KiB
Markdown
Raw Permalink 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.
# 视觉与行为基准
## 2026-09-09 · 屏幕比例与触摸适配
用户授权执行桌面比例 → 手机横屏 → 竖屏与触摸 → iPhone / Safari 实机校准。沿用已确认的模型、字体、色彩、光照与原生实现方法。
- `viewport-layout.ts` 统一舞台尺寸与取景参数。启动/重播保留完整 16:9 参考舞台;桌面交互以 1080 逻辑高度延展宽度;窄屏和竖屏使用真实 CSS 像素布局,文字与按钮不再整体缩小。16:9 基准仍落在原坐标。
- 横屏保持左侧模型、右侧档案。窄横屏正文独立滚动,导航适当错行;竖屏正文从屏高 54% 开始,保留上方模型、返回与 360° 入口。短屏的取景范围额外受返回按钮与正文上沿约束。
- 模型位置与运动函数继续沿用原值。通过相机锚点和垂直取景范围保证构图,竖屏预览使用固定基准焦点,避免抵消抬起、呼吸和轨道运动。开场取消留白时,镜头先维持模型的实际显示尺寸,再通过既有相机插值接入交互构图。
- 品牌使用原版 MiSans 排版和同一标志,小屏缩放整组品牌;正文保持 15px,检索输入 16px。主要操作至少 44px 触控高度,档案刻度为次要跳转目标。顶部/底部与两侧边距读取安全区域。
- 左滑进入下一列,上滑进入下一档案,反向手势对应上一项。滑动需超过 36 CSS px、主方向至少为次方向的 1.3 倍,且在 1.4 秒内完成;轻点继续用射线选择,多指或取消事件不触发切档。详情的模型拖动使用实际坐标差,保留净空与转正限制。
- 独立查看器单指旋转、双指缩放和平移。竖屏为模型保留独立画布,装配结构移至下方三列;拆解时取景轻微展开,缩放和平移仍由用户控制。旋转屏幕只调整投影与布局,不复位视角、内容或拆解进度。
- 软键盘只改变弹窗可用高度,检索、收藏、设置均可滚动;详情排版变化后重新测量解密遮盖与页签下划线。页面隐藏和二维片头完全覆盖时停止三维绘制,画质、透射和光照默认值不变。
- 校准入口 `reference/mobile-review.html` 通过 `npm run review:mobile` 启动;只在开发服务器接收有限大小的帧时报告,保存至 `.tools/mobile-calibration`。该入口不进入生产构建,也不将桌面 WebKit 跑分视为 iPhone 成绩。
验证与实机状态见 `verification/RESPONSIVE.md`。
## 2026-09-09 · 档案标题滚动
按用户新要求,主档案标题采用与数字一致的滚动效果,替代历史快切黑条。复用已安装 `@kitlangton/rolling-number` 的 `createRollingText`,与编号共享 460ms 运动配置;使用 direct 模式直接替换中文、关闭逐字延迟,字数变化交由相同的宽度弹簧处理。固定向上滚动,标题模糊强度为 0.2;字号、颜色与位置沿用原样。保留单份可访问与可选择的语义文字,装饰字槽不进入复制内容。
连续输入由现有引擎从当前运动接续,只显示可见过渡与最新目标,不排队播放每个中间标题。进入详情、重播或开启减少动态效果时立即落到最终文字。历史黑条实现已移除;规范与回归检查见 `verification/ROLLING-TITLE.md`。
## 2026-09-09 · 详情与弹窗过渡补全
合并 `codex/boot-motion-polish` 的查看器平移、缩放与 560ms 球面复位,沿用该分支的品牌文字校准。详情层以 180ms 进出,正文仍跟随实际镜头进度显示;返回时不再立即删除可见内容。阵列氛围与右侧浅色遮罩按同一镜头进度交叉渐变,保留两端既有画面。快速反向从当前透明度接续,进入正文的焦点等待可读状态。
检索、收藏和设置弹窗统一使用 300ms 入场、200ms 退出。面板入场位移 12px、退出位移 8px;进入中途关闭时从实际透明度及位移继续。退出前保留对话框节点、焦点和背景输入隔离,重复 Esc 不向底层传递;选档与重播在关闭完成后执行。
页签正文采用 150ms 淡入,下划线使用 180ms 连续移动;快速切换取消旧内容动画并显示最终页签。收藏仅修改按钮、收藏计数及 220ms 颜色反馈,保留阅读区域节点、滚动位置与按钮焦点。新增过渡遵守减少动态效果设置。实现见 `src/ui-transitions.ts`,验证见 `verification/UI-TRANSITIONS.md`。
## 参考与既有规范
参考为目录原片的 5–40 秒,1920×1080、25fps。用户选择参考驱动的原生实现,不使用前端或动效 Skill。美术模型通过 Blender MCP 制作,界面使用 TypeScript、Three.js、Vite。
- 暖灰白底、黑色文字、暖杏金选中信号。界面以细线和紧凑排字组织,保留原片标题与右下角署名位置。
- 字体为用户指定的 MiSans。2026-09-10 用户明确批准为加快加载改用第三方分包;比较后采用 `[email protected]`(源字体 4.003),固定版本同源部署,按字符加载。保留 300、400、600、700 四个字重映射与 `font-display: swap`;后备为 PingFang SC / Microsoft YaHei / system-ui。字体分片字节不改动,移除上游 CSS 的 local() 以免设备字体覆盖固定版本。版权、许可和分片哈希在 public/fonts,设置页含署名与许可入口。详见 `verification/STARTUP-LOADING.md`。
- 5–27 秒为接入、身份验证、授权扫描、欢迎和白场。26.92–27.67 秒,阵列从左侧滑入,镜头从接近侧视快速抬高,随后进入斜俯视扫描。
- 27–29 秒为第一轮传播;29–30.5 秒反向回传。30.58 秒开始第一段小幅抽取,之后有停留;32.55 秒开始第二段抽取,镜头随后继续转向和推近至 39 秒。
- 选中卡片两侧在回传后继续起伏。主通道保留较高的连续肩部,其余通道幅度较低;按距选中位置的距离延迟并衰减。
- 相机校准必须使用未被遮挡的顶部边线、标签和重复卡片端点。不能把前排遮挡后的可见高度当作整张卡片高度,也不能通过扩大通道间距或设置通道高度阶梯补偿可见列数。
- 当前 31.48 秒镜头约为方位角 59°、仰角 19°、垂直取景范围 7.33 世界单位。远距镜头配合小视场角压缩透视。相邻通道同高、中心距 5.2;卡片宽 5、高 3.7,行距 0.62。后半段镜头转向与抽取升降分别控制。
- 39 秒特写由屏幕锚点控制构图,镜头逐渐转至约 18° 方位角、13.8° 仰角。保密等级扫描线投影在同一个实时模型上。
- 模型由磨砂盖板、基板、内部光学腔、环槽、边框、螺钉、标签与刻线组成;圆环位于盖板后方。重复卡片也启用物理透射,使用简化内部基板与象牙色端面。
- 交互保留检索、切换、详情、收藏、导出和设置。轨道与升降采用保留速度的临界阻尼;旧卡片独立归位,快速重新选中时接续运动。
- reference/review.html 仅在开发环境对照原片与实时场景;暂停使用原片逐帧图,播放使用视频。产品入口和生产构建不嵌入原片。
实时屏幕空间透射无法递归恢复原片全部透明层间折射。当前实现以关键帧投影和连续播放复核,尚未通过逐像素差分认证。
## 用户标注后的镜头与几何修订
- 三张标注经去除黄色笔迹区域后与原片帧匹配,对应 27.60、29.16、31.56 秒。
- 档案端面深度约 0.31、行距 0.62;原来的端面偏薄。由 Blender MCP 沿模型厚度方向调整并重新导出,标签与投影标记同时贴合新表面。
- 前半段采用较近的透视镜头:27.60 秒约 28 世界单位镜头距离、43° 仰角;29.16 秒约 35 世界单位距离、35° 仰角、67° 方位角。之后连续转至既有选中构图,特写镜头距离为 72。
- 回传波进入时机向后校正,29.16 秒尚未形成明显右侧回波,与标注帧对应。
- 删除所选模型朝 z=3.1 的位置插值,以及背景阵列随 detail 额外下沉的逻辑。选中槽位在抽取全过程固定横向与纵深位置,模型只有高度变化,镜头负责构图。
## 交互预览与进入详情
- 左右切换停在原片 31.56 秒对应的浅抬起状态(0.4 世界单位),邻排沿同一肩部轮廓排列;点击 ACCESS FILE 或按 Enter 后继续升至 3.35。返回恢复预览,详情中换选也先回到预览。
- 卡片超过浅抬起高度后,镜头才逐渐转向并把卡片放在画面左侧;详情文字随镜头进度在右侧渐显。抽取不再自动旋转模型,详情拖拽仍可检查角度。
- 阵列与抽出模型共用外壳几何,在同一个表面上随升降连续插值颜色、粗糙度与透光率;内部结构以连续覆盖率显现,文字标签渐显。每张归位卡片拥有独立材质状态,接近完全归位且外观一致后才恢复阵列实例。
## 最新交互修订(覆盖上文旧的按键和详情高度)
- 左右键切列,上下键切换列内前后档案。五列分别为工程研究、生命科学、机构档案、能量研究、特别项目,各 8 份,共 40 份;切回一列保留上次的档案选择。
- 760 帧(30.40 秒)各列波峰等高,随后摄像机右移,把同一物理列置于画面中央;785 帧附近非选中列仍保留 25% 以上的肩部波幅。列间突出程度采用连续插值。
- 交互详情升高 4.05 世界单位;预览仍为 0.4,原片时间轴的完整升高仍为 3.35。删除试调的 5.0 高度,保持邻片可见。
- 旋转限幅为 ±0.8 弧度。只有卡片完全避开邻片后才接受拖拽;返回先在原高度转正,再下降,镜头在转正期间维持构图。附近旧卡片转正时,新预览暂缓抬起,避免相互穿插。
- 标签和启动界面共用 src/brand.ts 的标志路径,标签不再手绘近似曲线。
- 档案正文为基于公开世界观资料的原创编目文章,不冒充游戏内原始档案。每份包含设定参考链接,详见 reference/LORE-SOURCES.md。
- 详情切换时,雾效距离跟随阻尼之后的实际镜头位置,避免进入时相机尚未到位、卡片提前被远雾覆盖。保留既有镜头轨迹与最终雾效。
- 交互预览停止操作 2.5 秒后渐入呼吸起伏:8 秒与 13 秒周期叠加,最大单向位移 0.102 世界单位(约卡片高度的 2.8%),相邻卡片略微错相。根据用户反馈,幅度由最初版本增至 3 倍,保留缓慢节奏。切换档案、进入详情或开启减少动态效果时渐退;原片时间轴不叠加此效果。
- 琥珀色侧条与透明盖板只有 0.002 世界单位的前后间距,斜视时会出现深度冲突条纹。仅为 Amber_Lightguide 材质增加 polygonOffset(factor=-1,units=-2),克隆归位卡片同时继承。保留原有相机裁剪范围、模型几何、材质色彩与全局 AO 参数。
## 独立模型查看器
- 详情页的「360° 查看文档模型」打开独立场景。沿用暖灰背景、既有字体、细线与克制的中英文字阶;不引入新的前端或动效设计方法。
- 鼠标左键拖动可完整环绕模型;上下左右键平移视角,滚轮或加减键缩放。Home 或「复位视角」恢复初始取景;ESC 或「返回档案」恢复原档案与键盘焦点。
- 「拆解档案」将紧固件、透明盖板、折射环组、光学核心、信息基板、背板与框架六组部件沿厚度轴分离。「一键重组」使各部件准确回到原位;途中反向操作保留当前运动位置与速度。减少动态效果设置下直接切换。
- 独立场景暂停主场景绘制,并复用校准后的材质、环境光配置与当前档案标签。原阵列模型与抽取镜头不受查看器变换影响。查看器的近裁剪面为 0.3,远裁剪面为 120,初始相机位置为 (7.2, 3.8, 12),可缩放距离为 5–28。
- 部件资源由 Blender MCP 执行 art/build_assembly.py 生成:复用原建模脚本的几何,按物理部件和材质合并,导出带 assemblyPart 信息的 public/assets/archive-assembly.glb,并保留 art/archive-assembly.blend。
- 复现时通过 Blender MCP 在 Blender 内执行该脚本,并在执行作用域中传入脚本的绝对 __file__ 路径;脚本以自身位置定位项目。几何双向顶点距离检查允许 1e-5 的浮点误差,实测最大误差约 6.08e-7。
- 根据用户的内外光照对照,查看器改为在自己的 WebGL 上下文内生成相同的 RoomEnvironment/PMREM。禁止跨 renderer 直接复用 GPU 渲染目标纹理,否则环境光缺失会使内部基板和圆环发暗。背景统一为 #eae5e1,复用主界面的氛围渐变,雾效范围相对实际模型距离设为 -1 至 +12,使放大缩小时保留浅色磨砂质感。
## 循环档案阵列
- 主界面将内容编号与物理位置分开:五类档案和每列八份档案按周期映射到连续的行列坐标。上下、左右的方向操作每次改变一个物理位置;最后一项接续第一项时,轨道继续沿原方向运动。
- 切换列时保留该列的档案选择记忆,并选择附近的对应周期位置;点击场景卡片使用当前实例实际对应的档案与位置。
- 交互时维护 9 列 × 32 行、共 288 个位置,按镜头附近的可见窗口循环补位。主模型与归位副本按物理坐标独立管理,避免同一档案的不同周期副本互相覆盖。
- 横向采用整组阵列轨道平移,纵向保留原有前后轨道;两者都保留阻尼与速度。取景和灯光附近的实际坐标保持有限,选定后的抽取仍只改变高度。
- 当逻辑坐标超过 2048 时,按内容周期统一平移坐标与运动状态;保持世界位置、速度、波纹与呼吸相位连续,避免长期运行后浮点精度下降。
- 显式原片逐帧对照保留原始的前 160 个位置;正常开场与交互阶段均按实际视口动态生成背景档案。循环后的重播会清理归位副本。
## 切换波浪微调(历史实验)
- 以循环阵列提交 aeddd8f 为基线。用户试用减弱波浪后,明确要求恢复原来的波浪幅度与节奏,仅去掉负向波谷。
- 交互选中波浪保留 0.8 幅度系数、0.2 秒起势、原衰减率和传播速度,仅把余弦的负值截为零。正向波峰仍会升起并回落,波浪本身不再将档案压低到基础肩部轮廓以下。
- 验证入口为 reference/rise-review.html;原片时间轴、浅抬起高度、详情抽取与归位规则沿用当前基线。
- 用户请求的可视对比页为 reference/wave-compare.html:两份实际 ArchiveScene 共用资源与时间步长。左侧可选择原始基线 aeddd8f 或仅去除负向波谷的 2048536,两者均为同时播放;右侧保留先抬起后波浪的实验方案。支持单步、连续、反向切换,0.25×/0.5×/1× 播放、逐帧定位、选中区域放大与高度曲线。每次回放检查实际位置与预先采样的轨迹一致。该页仅用于开发环境审阅。
## 先抬起,再波动(历史实验,当前不采用)
- 该实验的新选中档案先抬起,再发出选中波浪。预览目标仍为 0.4,向上抬起的临界阻尼速率从 4.2 调为 7.6;高度达到 0.35,且同列前后四格内的归位旧档案比它低至少 0.015 后,才启动波浪。单次正常切换约 0.48 秒后启动;旋转归位等特殊情况按实际状态等待。
- 每次选择替换尚未发出的波浪。进入详情、重播时取消待发波浪;减少动态效果时不发波浪。原片时间轴继续采用原值。
- 用户进一步要求消除选中档案再次跳起的效果:涟漪在源点的位移为零,并在周围 2.5 行的距离内平滑展开;正余弦包络改为平方,使边缘以零速度起落,保留远处波峰的幅度和传播速度。选中档案仅完成原定的 0.4 抬起,自己的涟漪不再给它叠加高度。
- reference/sequence-review.html 验证先后关系、归位高度、连续快速切换、反向、详情旋转归位、减少动态效果与重播取消。
- 档案序号与列编号采用 @kitlangton/rolling-number 0.4.1 的原生 DOM 接口,460ms 滚动,固定两位数,低强度运动模糊。方向键跨循环边界时保留滚动方向,快速输入由组件延续当前运动状态;系统减少动态效果与页面设置均可关闭滚动。MIT 许可随包保存到 public/licenses/rolling-number.txt。
## 当前采用:原始基线动效与光影微调
- 用户对比后明确回到原始基线 aeddd8f。生产场景默认使用完整的有正负波谷的选中波浪,选中与波浪同时开始,升降阻尼速率恢复 4.2。此前实验保留在参考页面;Rolling Number 沿用。
- 灯光统一到 src/archive-lighting.ts:曝光 1.00,环境强度 0.52,暖白主光 1.7,主光位置 (-8,14,4),补光降至 0.3,半球光降至 0.5。主场景和独立查看器各自在自己的 WebGL 上下文生成环境贴图。
- 阵列盖板增加少量暖色吸收,斜面和背板偏向浅香槟色;内部圆环与基板保持可读的暖灰层次。吸收色和吸收距离与其他材质属性一起随升降过渡。阴影偏移小幅收紧,AO 半径从 0.38 调为 0.44。
- 模型、几何、布局与镜头沿用已确认版本。reference/light-review.html 可切换四个关键帧以及原视频/调整前参照;两侧实时场景使用相同模型位置与镜头,并自动检查一致性。原片关键帧需在本地 reference/motion 中准备,详见 verification/LIGHTING-POLISH.md。
## 当前采用:基线配色与档案编号滚动
用户对比后确认整体基线版本的颜色更合适。生产场景和独立查看器默认切回 baseline,包括材质颜色、透光参数、曝光、灯光与阴影/AO;refined 仅保留在光影对照页中作为实验。
X-001 形式的主档案编号和悬停编号复用现有 Rolling Number:固定 X- 前缀,三位数字保留前导零,460ms 滚动并支持快速输入衔接。方向键切换沿导航方向滚动;悬停首次出现直接显示,再切换目标时滚动;减少动态效果时立即更新。编号的字号和布局保持原样。
## 标题快切与 360° 查看器进出
历史标题方案(已由 2026-09-09 的滚动文字替换):主档案标题在连续变化间隔小于 240ms 时触发短促闪动,140ms 后变成稳定的黑色横条;横条锁定本轮开始时的宽度。停止 260ms 后以 180ms 短闪显示最终标题,单次切换直接显示。切入详情、启动或减少动态效果时清理计时和动画。
360° 查看器以 320ms 淡入覆盖原详情,页眉和页脚轻微上移就位;模型完成载入并渲染后以 380ms 从 0.97 倍展开并淡入。退出以 220ms 淡出和轻微收拢接回原档案。使用可取消的原生动画,进入途中按 Esc 从当前透明度退出;退出结束之前继续绘制、保持模态输入隔离,之后才释放模型、恢复详情和原按钮焦点。过期的异步载入结果按请求序号释放。减少动态效果时直接切换。
reference/micro-transition-review.html 验证真实应用中的快切、最终标题恢复、切入详情取消横条、进入打断、重复关闭、拆解中退出、焦点归还和重新载入。2026-09-08 实测 13 项检查全部通过。标题短时动画通过定位到动画末端检查,避免后台标签页对计时器的节流导致误判。
## 2026-09-08 · 启动前段逐帧修订
以原片 25 fps 连续帧复核 6.76–27.00 秒。用户排除黑底鹰角片头,启动和重播从画面变白后开始。应用的内部参考时间仍为原片时间减 5 秒;首次加载遮罩退出后才开始显示英文输入。
`boot-motion.ts` 将逐字输入、停顿、清空、闪切固定到原片帧点,空间位置使用连续插值。`boot.ts` 驱动 DOM/SVG,不依赖循环 CSS 动画的已播放时长,因此正常播放、慢放和前后跳帧使用同一画面状态。英文从固定左端输入,标志从右上弧线开始绘制、绕左环再补全右环,完成后向左移位;品牌三行错开出现。
身份段恢复原文 `ID CONFIRMED : JOYCE MOORE`、`REQUEST RECEIVED`、`START PROCESSING...`。权限段用从画面外收拢的黑白双环、反向内弧、橙色节点、四帧缩放跳变和中心图形切换。欢迎段保留黑白闪切、公司名称黑底横向扫过、第三行 `INTERNAL DATABASE` 闪现,最后缩小、失焦、带轻微青色过渡进入白场。进入阵列之后的 reveal/lift/zoom 时间函数未修改。
参考帧与检查结果见 `verification/BOOT-MOTION.md`。`reference/boot-review.html` 可正常播放、半速、四分之一速度和逐帧核对;原片及提取帧只用于本地验证,不作为产品背景。
## 2026-09-08 · 品牌排版与 360° 导航
用户要求放大并叠加原片后进一步校准字重和字间距。以原片 13.48 秒左上角为参考,最终保留 MiSans:品牌容器左 59px、上 114px、宽 270px;第一行 44px / 48px 行高 / 2.5px 字距;第二行 19px / 23px 行高 / 600 字重 / 0.65px 字距;第三行 35px / 40px 行高。ANALYSIS 的八个字符按原片黑色字面起点调整各自间隔,OS 在 270px 容器右端对齐、字距 3px。浏览器测得三行宽度约 269.78、269.63、270px。此为固定品牌字样的排版,不修改字体文件。字体轮廓仍有差异,叠加页保留原片、当前版本及透明度滑杆供复核。
360° 查看器使用独立目标相机记录 OrbitControls 输入,显示相机对观察中心、球面角度和对数距离进行跟随。平移与缩放的大部分运动在约 200–250ms 内完成;复位采用 560ms 减速曲线和球面短路径,不穿过模型。拖动、滚轮、方向键可从正在复位的当前显示位置接管。进入新档案直接初始化到默认位置,减少动态效果时跳过镜头插值。原有平移半径 5、缩放距离 5–28 的边界保留。
验证:`reference/viewer-motion-check.html` 的 14 项检查通过,包含 30/120fps 一致性、复位中断、旋转跨正负 180°、连续平移和缩放、Home 精确归位、边界以及重新进入。`reference/brand-review.html` 使用生产界面的共享文字与样式进行 2.4 倍放大及红色叠加。
## 2026-09-09 · 可调渲染画质
用户要求开放更高画质与细分控制。系统设置增加性能、原始、高、极高四个预设及九项独立参数:渲染比例、像素密度上限、SMAA 抗锯齿、纹理过滤、透明材质分辨率、阴影分辨率、环境遮蔽采样与分辨率、景深强度。默认采用原始预设,继续沿用已确认的基线颜色、灯光与镜头。画质仅调整渲染精度与可选效果,不重新制作模型。
清晰度与材质参数同步至 360° 查看器;阴影、AO 和景深标明仅用于阵列。设置自动保存并兼容原先的高画质开关。面板显示实际渲染尺寸与硬件限制后的纹理倍率;全尺寸缓冲上限为 8,294,400 像素,渲染比例开放至 200%。完整参数、资源生命周期和验证记录见 `verification/RENDER-QUALITY.md`。
## 2026-09-09 · 原创音效与配乐
依据原片 6.76–40 秒画面及音轨动态、莱茵生命相关设定,新增原创「观测室」三轨循环配乐与交互音效,后续修订共 17 类。浏览、详情、独立模型查看以及启动阶段采用不同声部比例;用户可以独立控制音乐和音效。旧版静音偏好继续生效。
设计、参考依据、复现命令、技术验证及听感限制见 `verification/AUDIO-DESIGN.md`。本次未进行人工听辨确认;试听入口为 `reference/audio-check.html`,生成器为 `scripts/render-audio.mjs`。
### 玻璃交互声音修订
用户进一步指定玻璃交互应有清脆声音。当前版本采用短起音、不等间隔共鸣和迅速衰减的高频,区分切档轻碰、抽取余音与归位落定。详见 `verification/AUDIO-DESIGN.md` 的玻璃质感修订;用户指定的是声音方向,尚未确认本版听感。
### 原片逐字输入音效复刻
依据用户明确要求,逐字输入改用原片约 6.864–6.986 秒的三个 38ms 短音轮替,保留源波形,按实际文字揭示帧触发。输入最短间隔为 24ms,避免 25fps 相邻输入漏拍;新字段首字有反馈,闪动恢复不误触发。提取脚本、源校验、对照试听与限制见 `verification/AUDIO-DESIGN.md`、`public/audio/typing-source.json`。
### OS 场景的声音语义
窗口开合使用短电子升降音,启动标志使用低频缓起和声,整块文字显现使用轻微数据脉冲,授权使用双电子短音;逐字输入继续使用原片短音。玻璃共鸣对应档案切换、抽取、归位、阵列入场与拆组。绑定和原片时间码详见 `verification/AUDIO-DESIGN.md`。完整实机试听入口为 `reference/boot-audio.html`,不改写声音偏好;该入口补全此前的开场音效复刻试听。
## 2026-09-09 · 档案导航文字与刻度
顶部档案分类、底部列名、悬停标题与权限标签复用主标题的 460ms 文字滚动;内容相同不重复播放,悬停首次出现直接显示。统一处理快速输入、进入详情及减少动态效果。底部八个刻度位置复用节点,跨列保留原有 400ms 伸缩过渡、各列选择记忆及正确的点击映射。实现与 19 项实机检查见 `verification/ROLLING-TITLE.md`。
## 2026-09-09 · 原片模型细化
按用户要求放大检查原片 37–39 秒特写与端面,继续通过 Blender MCP 制作。两组环腔改为闭合阶梯截面,细化斜肩、内孔、香槟色嵌件;增加顶部双边压槽、盖板前沿细阶、内周边与接缝,螺钉使用真实凹槽。主模型与六组拆解模型同步更新,保持原有外包围盒、基线配色光照和抽取规则。
对照入口为 reference/model-review.html,可切换原片、细化前及 2×/3× 放大,使用相同镜头与 1920×1080 缓冲。Blender 源场景与可复现脚本保留。几何变化、检查与局限见 verification/MODEL-REFINEMENT.md;本轮效果尚待用户查看。
## 2026-09-09 · 清晰内构、解密与深度精度
按原片 41 秒正面与 46–51 秒多角度细化内部两组环形结构:分段外环、宽斜肩、内孔台阶、橙色嵌带、立面细竖肋与连接薄带。按用户要求完全省略左侧三根高塔。新增顶部压槽、内周边、竖向浮雕字与右下服务孔。通过 Blender MCP 生成,共享 art/clear_reference_details.py,单体与拆解资产几何保持一致。
黑色解密线按 25 fps 采样重建:34.24–36.04 秒两端沿同一物理对角线向中央延伸,36.04–37.72 秒保持完整,37.72–38.84 秒向中央收束,39.04–39.56 秒逐渐透明。使用单调三次插值,无过冲;原片时间轴可前后跳帧。交互详情在卡片抬起和镜头就位后启动,时间压缩至约 3.63 秒;减少动态效果时直接清晰。
查看器增加清晰/磨砂两态,透明度与粗糙度连续变化;切换不重置观察位置或拆解进度。退出查看器回到已解密的原档案,退回阵列时恢复磨砂,下一次打开重新解密。
修正用户报告的大环斑驳闪烁:详情长焦距离约 72,原 near=0.1 导致邻近表面深度量化冲突。near 改为 5、far 保持 300,镜头位置、视场角及构图不变。24 位深度在距离 72 的理论步长由 0.003089 降至 0.00006077。原片 11 个代表镜头的可见模型包围盒最近深度至少 16.66,均在裁剪面之外。
验证、范围和复现记录见 verification/DECRYPTION.md。逐帧对照入口为 reference/decryption-review.html;实际产品进入详情后可体验,360° 查看器右上角切换玻璃模式。
## 2026-09-09 · 前段非线性轨迹
按原片连续帧修订权限圆环、名称黑底及左上角三行文字。三行分别在原片 11.12、11.20、11.28 秒出现,使用独立的先加速后减速位移,第三行到约 12.20 秒落定。黑底在 23.52 秒进入,快速扫过后缓慢收束至 24.40 秒;灰闪时保留遮罩与未覆盖文字。
外环、白环的半径及弧端独立变化,内环与橙点减速,黑白端点同步缩小。空间运动使用测量关键帧的单调三次插值,离散闪切保持 25 fps 时间码。仍采用原生 DOM/SVG;轨迹见 `src/boot-tracks.ts`,测量脚本及实机验证见 `verification/BOOT-MOTION.md`。本地对照页增加三处局部放大和逐帧入口。
### 两侧小圆与 Logo 连续轮廓修订
用户进一步指出两侧小圆以原位旋转和弧段补全为主。原片 544 帧开始出现短弧,左右反向旋转并减速,568 帧分别达到约 332°、339°;随即切至欢迎页。圆心只保留测量到的轻微收拢,中央圆点周围的六颗小点才沿约 35 px 的轨道绕行,小点每隔三帧进入。中央大点保留 546、547、549、550 帧的闪变,然后缩至约 10–11 px 半径。
Logo 改用共享贝塞尔轮廓的连续路径,绘制首尾独立变速。加号与方点于 247 帧同时出现、向各自位置展开,256 帧后加号转动、方点拉成长横。Logo 左移按 260–294 帧实测位置拟合。425 帧后缺口开始沿轮廓移动,整个标志保持黑色,不再使用整枚透明度闪烁。曲线和复核入口见 `verification/BOOT-MOTION.md`。
## 2026-09-09 · 内部锐利截面与半透明材质(历史方案,已撤回)
依据用户新提供的 46–51 秒内部结构近景,专门重做两组环体的截面。宽屋面、直立内外壁、内孔薄台阶和橙色竖向嵌带采用明确的平面与小切边。自定义分裂法线沿圆周插值、在截面折边断开;厚度烘焙正确变换内构法线,同时保留外壳原先的顶点和法线。继续省略左侧高塔。
两条细窄连接物改为一条连续薄片:大环在 -74°、小环在 215° 附近切向接入,宽度 0.225–0.260,厚度烘焙后 0.008,两端略展宽,中央轻微抬高。全部内构深度在 -0.034 至 0.1424 之间,小于盖板内面 0.174。连接薄片、屋面与壁板分别使用灰色半透明粗糙材质,切边更亮,后方细肋可透出。
实时渲染采用薄层 alpha 合成与粗糙高光、掠射角密度,再由外盖折射完整内构,避免 WebGL 外盖的 transmission 捕获忽略另一层 transmissive 材质。内部闭合薄片只绘制正面,避免双面透明叠加过度浑浊。该实现是多层玻璃的实时近似,未进行完整体积光线追踪。对照页网格只用于检查透视和层次,不出现在产品中。
单体与六组拆解模型对应顶点误差 1.688e-7;外壳位置与法线相对打磨前误差均为 0。测试、导出与审阅入口见 verification/INTERNAL-OPTICS.md。
## 2026-09-09 · 外壳与自上而下的清晰过渡
根据用户提供的完整正面及四处局部截图,黄色嵌片改为 0.25 × 0.2239,顶边 y=3.7、前面 z=0.206 均与盖板齐平,并建立真实嵌槽。删除左侧黄条、宽端盖及盖板前的额外细阶。螺丝只保留右上和左下两处,使用十字凹槽及齐平垫圈;周围 C 形压槽与上下回路位于前盖之后。模型源脚本 art/shell_reference_details.py 由单体与拆解导出共享。
原先静态的高度粗糙度渐变被移动的清晰边界取代。选中盖板在进度 0 时整面 roughness=0.48;进度 1 时整面 roughness=0.025。中间羽化宽度为高度的 24%,边界从顶向下走,覆盖刻线与环体。原片时间码 38.84 秒开始,在 39.0 秒达到约 0.51,39.56 秒结束;这是从参考帧观察重建的近似时间曲线。360° 清晰/磨砂切换复用同一材质逻辑。
局部与前后对照见 reference/shell-review.html,可拖动清晰进度、慢放及改变观察角度。原片同步对照仍在 reference/decryption-review.html。验证见 verification/SHELL-REFINEMENT.md;听感与其他视觉方向的待确认状态不受本次技术验证影响。
## 2026-09-09 · 恢复第一版完整内构并减轻磨砂
用户最终指定 reference/internal-review.html 左侧第一版模型,完整恢复 89c7742 的两环截面、白色内沿、橙色嵌环、原始立面分隔、两条弯曲连接带与平滑法线。几何和材质来自 reference/internal-study/assembly-before.glb 对应的源脚本,并通过 Blender MCP 重建单体与拆解资产。此前锐利截面、灰色半透明单连接片及额外细槽方案不再用于产品。
当前内构世界坐标、法线和原始材质与第一版逐项核对一致,位置/法线比较精度为 1e-5。已经完成的外壳相对 dde61fd 保持一致;该版本快照存放于 reference/ring-study/assembly-before.glb。生成源文件为 art/internal_architecture.py、art/rhine-archive.blend 和 art/archive-assembly.blend。
磨砂盖板粗糙度由 0.48 减至 0.42,同时修正 Three.js 默认折射 mip 采样在小尺寸预览中相对过重的问题。根据盖板竖轴在当前镜头中的投影长度,将全磨砂采样范围限制在盖板投影高度的约 1.6%。粗糙度下降时模糊范围单调缩小,完全清晰端仍使用原采样;阵列质量为 0 时也使用原采样。保留现有由顶向底的羽化揭示,详情与独立查看器共用。
对照页左侧明确标记“第一版 · 原始内构”,右侧标记“已恢复 · 第一版内构”,避免把恢复误解为继续细化。原片磨砂对照仍为 reference/decryption-review.html。验证见 verification/RING-TEXTURE.md。
## 2026-09-09 · 主屏幕与离线
正式域名为 https://rhine.lubeiluchen.cc/,沿用 Vercel 部署。PWA 使用 standalone 窗口、浅暖色主题与共享莱茵生命图标,iPhone 使用 180 px Apple Touch Icon,其他设备提供 192 / 512 px 和 maskable 图标。状态栏、底部手势和横屏刘海通过安全区域留白处理。
安装与离线状态集中在设置中。首次联网准备完整资源,当前约 34 MiB,包含字体、模型、声音和 40 份档案;HTML 与资源使用同一个内容版本。下载成功后新版本进入等待状态,用户选择“更新并重启”后应用。下载失败保留完整旧版本,收藏和偏好不随资源更新清除。字体完整分包比此前整包略大,但网页进入前实际只加载约 415 KiB 字体。见 `docs/PWA.md` 与 `verification/STARTUP-LOADING.md`。
针对更新提示难以操作的反馈,设置图标增加下方的“设置”文字,新版就绪时在底部状态区提供直接更新按钮。弹窗和查看器打开时,外部更新入口遵循原有输入隔离;开场不显示该入口。`update.html` 提供网络恢复入口,供旧版用户更新完整缓存并返回。
减少动态效果设置补充开机、选档和文字的具体影响,提供用户主动启用完整动效并重播的操作。默认仍尊重系统偏好;正文遮罩由本站最终动效设置控制,避免用户启用完整动效后被系统媒体查询再次隐藏。
## 2026-09-10 · 阵列悬停、直接拖动与滚轮
用户最新选择自由平面拖动:鼠标与触摸的屏幕位移同时驱动列与档案两个轨道,拖动中可以自由转弯、反向。选中实际经过的档案,松手后最终吸附到最近位置;滚轮继续只用于列内切档,向上上一档、向下下一档。
用户试用后进一步要求类似网页快速滑动的手感。松手后保留实际速度并持续减速,快拖和慢拖产生不同滑行距离;去掉最多两列/三档的固定投影上限。选档随实际轨道位置变化,临近停止再吸附。按住正在滑行的阵列立即停止,可从当前显示位置反向或换轴接管。减少动态效果时不继续惯性滚动。
按住时采样负 X 切列轨道与负 Z 切档轨道的每格 CSS 位移,对两列投影向量组成的 2×2 矩阵求逆,将屏幕位移同时分解到两个轨道。取消角度分类与方向锁定,仅保留 10px 起拖阈值。本次手势内固定投影,旋转屏幕后下一次手势重新采样。自由滑行期间两个速度分量使用相同衰减,较慢分量不会提前吸附而折向另一条轨道;整体放慢后再共同吸附。自由拖动按物理格位选档并更新记忆,避免切列记忆将画面拉离指针;键盘与按钮切列仍恢复记忆。
悬停卡片额外竖直抬起 0.28,约 200ms 显现,移开平滑回落。悬停高度独立于选中抬起 0.4 与详情抽取 4.05,不改变镜头进度;所有网格部件一起移动。详情与独立查看器继续采用已确认的旋转、缩放和拆解操作。实现与验证见 `verification/ARRAY-INPUT.md`。
## 工作台沿用主页视觉
用户于 2026-09-10 指出首版绿色强调色与原主页不一致。工作台沿用原主页近黑正文(#080a08)、暖灰辅助文字(#77756d)、灰色细线(#aaa59a)及暖棕悬停(#9b7247)。取消新增的绿色填充、面板底块和导航色块;使用透明内容、细线分隔与原阵列长短竖线刻度表达选择。保留原字体、模型、灯光与阵列动效。
## 明暗配色
暗色以 #11181b 为背景,#e0e3dc 为正文,#a6b0b1 为辅助文字,#536166 为分隔线,#c5a16b 为琥珀强调。保留原版排版与布局,不使用全屏反色。三维阵列使用独立的烟灰材质端点及冷灰边缘,清晰盖板随原有自上而下解密前沿恢复接近无色的透射,避免遮黑内部结构。
切换以选中单元为起点:每行延迟 34ms、每列 110ms,最远延迟 600ms;单卡过渡 580ms,背景 850ms。切换不附加升降或位移,快速反向接续各卡当前颜色。减少动态效果直接应用目标配色。
## 自适应阵列覆盖
交互阵列根据渲染当帧完成插值后的相机重新计算覆盖范围。截取相机视锥与阵列可占据的高度区间,换算为行列候选,再用完整卡片边界裁剪,连续紧凑写入实例矩阵。鼠标点击与小游戏目标使用同一份实际实例映射。相机移动、屏幕比例变化与档案轨道移动都在当前帧更新。
默认保留 18% 的屏幕方向余量,额外档为 50%;保留附近阴影贡献,远处完全雾化后不继续扩展无限阵列。实例缓冲按需增长并复用容量,实际绘制数独立于缓冲容量。既有 Blender 几何与材质细节不变。
暗色雾颜色调整为 #263136,预览雾起点为相机至目标距离加 1,终点加 16;浅色仍为加 5/加 25。详情过渡到原来的加 -1/加 12 距离。暗色增加顶部和底部渐隐,使边缘轮廓融入背景。原片固定舞台仍维持原始阵列位置。
工作台细节、退场及连续频谱 A/B 的当前规范见 docs/WALLPAPER-ENGINE.md 与 verification/WORKBENCH-REVISION.md。
## 可选界面景深与质感
壁纸 UI 使用共同径向曲面,按各区块的四角计算投影矩阵,左/右与上/下产生相反的斜率;替代此前同方向平移与倾斜。纵深默认 20%,曲率系数为纵深乘 0.08,屏幕四角约束保持边距;鼠标追踪独立开启,切向项系数 0.0075,平滑速率 7。浏览器原生变换同时更新点击区域。工作台入场使用独立 translate 与投影叠加。
全局 SVG 合成滤镜使用 sRGB,覆盖三维、DOM 与弹窗。色散在画面边缘减弱至零以避免采样越界彩框,默认 20%;颗粒默认 20%、尺寸 20%,以 12Hz 更新,减少动态效果时冻结;暗角默认 20%。滑杆高值提供明显的校准范围。局部磨砂最大 24px 模糊和 0.65 主题底色不透明度,默认 55%。三种总开关仍默认关闭。详见 verification/VISUAL-EFFECTS.md。
用户配置的四边距作为原始 UI 框架的额外偏移,范围 −300~300px、默认 0,正值向内。通过 --stage-scale 抵消基准舞台缩放;布局先按新边界定位,再投影 UI 曲面,保持字号。背景、卡片及场景坐标标记继续使用完整视口。详情的轻移使用独立 translate,与曲面矩阵叠加。
壁纸下边距最新规则:底部两排在 HUD 投影之后整体平移,相对间距固定;中部不因下边距移动或产生滚动区域。暗色新增可选的仅选中标签强调,其余 Index_Inlay 使用深灰;默认关闭保留原琥珀标签。
## 超级性能模式与自定义画质
用户于 2026-09-10 要求低配壁纸模式与减少动态效果独立,并恢复 WE 原生自定义画质。新增「超级性能模式(保留动态效果)」开关,默认关闭;开启时以独立的有效画质覆盖已保存画质,不改减少动态效果、宿主帧率或音乐律动设置,关闭恢复当前预设/自定义配置。
超级模式:三维比例 60%、DPR 上限 1、总像素不超过 921600;关闭阵列阴影、AO、景深和 SMAA,直接输出主场景;背景阵列使用无折射、无清漆材质并隐藏小螺丝,选中/详情模型保留完整结构和低分辨率折射。全局屏幕滤镜暂时停用,文字磨砂改为无模糊底色,HUD 曲面与追踪继续运行。DOM 文字不降低分辨率。
WE 画质下拉增加「自定义」,仅此选择且超级模式关闭时显示九项控制:渲染比例、像素密度、抗锯齿、阴影、AO 采样、AO 分辨率、景深、透明材质分辨率、纹理过滤。连续参数用滑杆,离散参数用原生下拉。部分宿主回调保留其他参数;超级模式开启期间保留自定义更新,关闭恢复最新配置。完整证据见 verification/SUPER-PERFORMANCE.md。
## 三维资源开关与自定义壁纸
- 用户于 2026-09-10 授权在左下 SESSION 右侧增加 3D 开关:档案错峰下落退场后实际释放全部三维场景、查看器和 WebGL 资源;再次开启重新加载并从下方逆向升起,保留选档。关闭途中可反向恢复,减少动态效果时直接切换。
- 3D 退场、关闭与载入期间隐藏游戏入口及模型专用入口;重新开启按原显示偏好恢复。2D 工作台和正文继续可用。
- WE「入场与画面」增加可选自定义壁纸,默认不启用;用户选图后,仅在三维资源释放后淡入。重新载入成功时图片淡出,失败保持图片并允许重试。沿用原生实现,见 verification/THREE-RELEASE.md。
- 用户明确保留三种音乐律动并列选择:原版、连续频谱、层叠流波。原版仍为默认,不再标为待定 A/B。
- 修复壁纸自身交互声音触发音乐归齐:静音状态抑制本地音效引起的新频谱活动,已建立的音乐继续响应。全部归齐时取消标签强调,暗色仅选中强调随实际升降连续过渡,见 verification/SELECTION-STATE.md。
## 开场中央字体补充(2026-09-11)
后续从 MyFonts 取得正式 Webfont 后,本机使用原始 WOFF2 原生字形;既有轮廓仅作为无本地许可包或加载失败的后备。复用逐字尺寸和基线,不重新调整已确认排版。授权字体单独存放并排除公开 Git。
中央访问、身份、请求、处理、授权提示采用 Novecento Sans Wide Normal,欢迎三行采用 Bold。按固定文案制作轮廓,保留原字距动画与逐字时间轴;处理提示字号 21.35px,顶部 527px,图标间距 10px(1920×1080 基准)。左上 RHINE LAB 按用户后续纠正改用 DemiBold,字号 50.75px、字距 1px,标题行固定高 48px,图形顶部偏移 1.425px;下方两行保留 MiSans 与既有位置。来源与验证见 verification/BOOT-LETTERING.md。