auto-save 2026-05-15 20:03 (~4)

This commit is contained in:
2026-05-15 20:03:41 +08:00
parent c57e69c34b
commit cf159bea3a
4 changed files with 35 additions and 15 deletions

View File

@@ -1,11 +1,5 @@
{
"entries": [
{
"files_changed": 5,
"message": "Claude 会话活跃 · 最近命令claude · 5 项未提交变更 · 最近提交auto-save 2026-05-14 03:48 (~1)",
"ts": "2026-05-13T19:53:12Z",
"type": "session-heartbeat"
},
{
"files_changed": 5,
"hash": "6eb1f98",
@@ -3259,6 +3253,13 @@
"type": "session-heartbeat",
"message": "Codex 会话活跃 · 最近命令codex · 2 项未提交变更 · 最近提交auto-save 2026-05-15 19:52 (+1, ~4)",
"files_changed": 2
},
{
"ts": "2026-05-15T19:58:08+08:00",
"type": "commit",
"message": "auto-save 2026-05-15 19:57 (~3)",
"hash": "c57e69c",
"files_changed": 3
}
]
}

View File

@@ -592,7 +592,7 @@
<tbody>
<tr><td><code>web/next.config.mjs</code></td><td>Next.js 构建配置:静态导出、图片不走优化、禁用开发环境左下角 Next Dev Indicator避免本地登录页截图出现额外字母标识。</td></tr>
<tr><td><code>web/app/page.tsx</code></td><td>产品工作台主状态jobs、activeJobId、按 job 隔离的 selectedFrames/详情面板状态、clipboard、ReactFlow 节点和边;负责打开/找回画布工作面板。</td></tr>
<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/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>
@@ -946,6 +946,18 @@ SubjectAsset {
<h2>变更记录</h2>
<p>这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。</p>
<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>登录框内动画角色和账号/密码表单仍是上下堆叠,不符合“左右排列”的要求。</p>
<p><strong>改动:</strong><code>web/app/login/page.tsx</code> 给表单加独立布局类;<code>web/app/globals.css</code> 将桌面端组合登录框改为两列网格,左侧放大动画角色,右侧放账号、密码、复选框和提交图标;移动端继续上下排列避免挤压。</p>
<p><strong>影响:</strong><code>web/app/login/page.tsx</code><code>web/app/globals.css</code><code>docs/source-analysis.html</code></p>
</div>
</article>
<article class="change">
<header>
<h3>2026-05-15 · 登录页路由文字彻底清空</h3>

View File

@@ -386,9 +386,12 @@
pointer-events: none;
}
.login-page--oasis .login-source-auth-panel {
display: block;
width: min(370px, calc(100vw - 40px));
padding: 18px 20px 20px;
display: grid;
width: min(720px, calc(100vw - 40px));
grid-template-columns: minmax(210px, 270px) minmax(280px, 340px);
align-items: center;
gap: 20px;
padding: 18px;
pointer-events: auto;
background: rgba(10, 18, 10, 0.2);
backdrop-filter: none;
@@ -397,13 +400,13 @@
margin-bottom: 0;
}
.login-source-character-strip {
height: 188px;
margin-bottom: 14px;
height: 300px;
margin-bottom: 0;
overflow: hidden;
pointer-events: none;
}
.login-source-character-strip .login-character-stage {
min-height: 188px;
min-height: 300px;
border: 0;
background: transparent;
box-shadow: none;
@@ -414,7 +417,10 @@
display: none;
}
.login-source-character-strip .login-characters-container {
transform: translateX(-50%) scale(0.48);
transform: translateX(-50%) scale(0.62);
}
.login-source-form-pane {
min-width: 0;
}
.login-hero {
isolation: isolate;
@@ -1148,6 +1154,7 @@
pointer-events: none;
}
.login-page--oasis .login-source-auth-panel {
display: block;
width: min(100%, 350px);
justify-self: center;
padding: 16px 18px 20px;

View File

@@ -85,7 +85,7 @@ export default function LoginPage() {
<div className="login-source-character-strip" aria-hidden="true">
<AnimatedLoginCharacters mood={mood} eyeOffset={eyeOffset} />
</div>
<form className="w-full" onSubmit={onSubmit}>
<form className="login-source-form-pane w-full" onSubmit={onSubmit}>
<div className="mb-4">
<div className="login-auth-icon inline-flex h-9 w-9 items-center justify-center rounded-[8px] text-white">
<LockKeyhole className="h-5 w-5" />