auto-save 2026-05-15 20:09 (~3)

This commit is contained in:
2026-05-15 20:09:14 +08:00
parent cf159bea3a
commit 053cb0b1ce
3 changed files with 49 additions and 15 deletions

View File

@@ -1,18 +1,5 @@
{ {
"entries": [ "entries": [
{
"files_changed": 5,
"hash": "6eb1f98",
"message": "auto-save 2026-05-14 03:53 (~5)",
"ts": "2026-05-14T03:53:51+08:00",
"type": "commit"
},
{
"files_changed": 3,
"message": "Codex 会话活跃 · 最近命令codex · 3 项未提交变更 · 最近提交auto-save 2026-05-14 03:53 (~5)",
"ts": "2026-05-13T19:58:49Z",
"type": "session-heartbeat"
},
{ {
"files_changed": 3, "files_changed": 3,
"hash": "b95706a", "hash": "b95706a",
@@ -3260,6 +3247,19 @@
"message": "auto-save 2026-05-15 19:57 (~3)", "message": "auto-save 2026-05-15 19:57 (~3)",
"hash": "c57e69c", "hash": "c57e69c",
"files_changed": 3 "files_changed": 3
},
{
"ts": "2026-05-15T20:03:41+08:00",
"type": "commit",
"message": "auto-save 2026-05-15 20:03 (~4)",
"hash": "cf159be",
"files_changed": 4
},
{
"ts": "2026-05-15T12:04:50Z",
"type": "session-heartbeat",
"message": "Codex 会话活跃 · 最近命令codex · 1 项未提交变更 · 最近提交auto-save 2026-05-15 20:03 (~4)",
"files_changed": 1
} }
] ]
} }

View File

@@ -595,7 +595,7 @@
<tr><td><code>web/app/login/page.tsx</code></td><td>生产登录页:访问账号/访问密钥表单、保持会话、错误/成功状态;当前只在原版 Digital Oasis 动态背景上叠加一个组合登录框,桌面端左侧是动态角色、右侧是无任何界面文字的图标化登录表单,移动端再回落为上下排列。</td></tr> <tr><td><code>web/app/login/page.tsx</code></td><td>生产登录页:访问账号/访问密钥表单、保持会话、错误/成功状态;当前只在原版 Digital Oasis 动态背景上叠加一个组合登录框,桌面端左侧是动态角色、右侧是无任何界面文字的图标化登录表单,移动端再回落为上下排列。</td></tr>
<tr><td><code>web/app/login/layout.tsx</code></td><td>登录路由专属 layout覆盖全站默认网页标题和描述为空避免 <code>/login</code> 继承工作台 metadata 后在页面源码里继续出现登录界面文字以外的文案。</td></tr> <tr><td><code>web/app/login/layout.tsx</code></td><td>登录路由专属 layout覆盖全站默认网页标题和描述为空避免 <code>/login</code> 继承工作台 metadata 后在页面源码里继续出现登录界面文字以外的文案。</td></tr>
<tr><td><code>web/components/login/oasis-canvas.tsx</code></td><td>登录页全屏动态视觉层:用 iframe 直接承载下载包 <code>web/public/oasis-source/index.html</code> 的原 WebGPU / Three.js 草场源码;父级登录页只覆盖自己的文案和表单,并在捕获阶段把全局鼠标坐标转发给 iframe避免登录面板遮挡时草地失去鼠标响应。</td></tr> <tr><td><code>web/components/login/oasis-canvas.tsx</code></td><td>登录页全屏动态视觉层:用 iframe 直接承载下载包 <code>web/public/oasis-source/index.html</code> 的原 WebGPU / Three.js 草场源码;父级登录页只覆盖自己的文案和表单,并在捕获阶段把全局鼠标坐标转发给 iframe避免登录面板遮挡时草地失去鼠标响应。</td></tr>
<tr><td><code>web/public/oasis-source/index.html</code></td><td>从下载包 <code>remix-3d-website-the-digital-o</code> 复制来的原始视觉源码。只额外隐藏 demo 站自己的导航、文字和设置面板,保留 WebGPU 渲染、草场、景深和鼠标交互源码;同时接收父页面 <code>postMessage</code> 指针坐标驱动草地交互。</td></tr> <tr><td><code>web/public/oasis-source/index.html</code></td><td>从下载包 <code>remix-3d-website-the-digital-o</code> 复制来的原始视觉源码。嵌入登录页时会隐藏 demo 站自己的导航、文字和设置面板,并把原多段滚动页面锁成单屏固定背景,保留 WebGPU 草场、景深、风动和鼠标交互源码;同时接收父页面 <code>postMessage</code> 指针坐标驱动草地交互。</td></tr>
<tr><td><code>web/components/login/animated-login-characters.tsx</code></td><td>登录页四个几何动态角色组件:当前嵌入登录框顶部,去掉独立网格背景,保留鼠标眼神跟随、输入、显示密码、错误和成功状态反馈。</td></tr> <tr><td><code>web/components/login/animated-login-characters.tsx</code></td><td>登录页四个几何动态角色组件:当前嵌入登录框顶部,去掉独立网格背景,保留鼠标眼神跟随、输入、显示密码、错误和成功状态反馈。</td></tr>
<tr><td><code>web/components/nodes/index.tsx</code></td><td>DAG 节点定义Input、VisualLab、Audio、Compose以及画布工作面板 KeyframePanel / VideoFramePanel旧 Keyframe/Storyboard/VideoGen 组件保留但不再挂主画布。</td></tr> <tr><td><code>web/components/nodes/index.tsx</code></td><td>DAG 节点定义Input、VisualLab、Audio、Compose以及画布工作面板 KeyframePanel / VideoFramePanel旧 Keyframe/Storyboard/VideoGen 组件保留但不再挂主画布。</td></tr>
<tr><td><code>web/components/audio-strip.tsx</code></td><td>底部吸附音频条:可拖拽调整高度;播放原音频时移动指针,逐个高亮英文/中文字幕节点和对应波形,并在右侧固定显示按原音频时长生成的 SKG 英文产品口播和 MiniMax 随机英文配音。</td></tr> <tr><td><code>web/components/audio-strip.tsx</code></td><td>底部吸附音频条:可拖拽调整高度;播放原音频时移动指针,逐个高亮英文/中文字幕节点和对应波形,并在右侧固定显示按原音频时长生成的 SKG 英文产品口播和 MiniMax 随机英文配音。</td></tr>
@@ -946,6 +946,18 @@ SubjectAsset {
<h2>变更记录</h2> <h2>变更记录</h2>
<p>这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。</p> <p>这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。</p>
<div class="changelog"> <div class="changelog">
<article class="change">
<header>
<h3>2026-05-15 · 登录页背景锁定单屏避免底部黑边</h3>
<span class="tag rose">UI</span>
<span class="tag violet">Login</span>
</header>
<div class="body">
<p><strong>问题:</strong>Oasis 原源码仍保留多段滚动页面高度,浏览器滚到最后一段或恢复 iframe 滚动位置时,相机会进入 footer 视角并在登录页底部露出黑边。</p>
<p><strong>改动:</strong><code>web/public/oasis-source/index.html</code> 的登录嵌入模式禁用 <code>html/body</code> 滚动,将隐藏的 <code>#scroll-container</code> 固定为单屏,并把隐藏 footer 固定到视口下方且高度归零,避免原脚本触发 canvas 上移。</p>
<p><strong>影响:</strong><code>web/public/oasis-source/index.html</code><code>docs/source-analysis.html</code></p>
</div>
</article>
<article class="change"> <article class="change">
<header> <header>
<h3>2026-05-15 · 登录框改为动画和表单左右排列</h3> <h3>2026-05-15 · 登录框改为动画和表单左右排列</h3>

View File

@@ -868,10 +868,22 @@
positions for camera state. Visual text/chrome is made transparent so positions for camera state. Visual text/chrome is made transparent so
the parent login UI owns all visible text and controls. */ the parent login UI owns all visible text and controls. */
html, body { html, body {
height: 100%;
min-height: 100%; min-height: 100%;
overflow: hidden;
}
#scroll-container {
position: fixed !important;
inset: 0 !important;
height: 100vh !important;
min-height: 100vh !important;
overflow: hidden !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
} }
#scroll-container,
.nav-float, .nav-float,
.nav-mobile-overlay, .nav-mobile-overlay,
.site-footer { .site-footer {
@@ -880,6 +892,16 @@
pointer-events: none !important; pointer-events: none !important;
} }
.site-footer {
position: fixed !important;
top: 100vh !important;
left: 0 !important;
right: 0 !important;
height: 0 !important;
min-height: 0 !important;
overflow: hidden !important;
}
.settings-gear, .settings-gear,
.settings-panel, .settings-panel,
.progress-bar { .progress-bar {