Files

43 KiB
Raw Permalink Blame History

视觉与行为基准

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。