From 334b89d697af8b05a17687b5366c6a82546a493e Mon Sep 17 00:00:00 2001 From: kang Date: Fri, 15 May 2026 19:02:43 +0800 Subject: [PATCH] auto-save 2026-05-15 19:02 (~5) --- .memory/worklog.json | 13 +++++---- docs/source-analysis.html | 20 ++++++++++--- web/app/globals.css | 42 ++++++++++++++++++--------- web/app/login/page.tsx | 22 +++++++------- web/components/login/oasis-canvas.tsx | 10 ++++--- 5 files changed, 68 insertions(+), 39 deletions(-) diff --git a/.memory/worklog.json b/.memory/worklog.json index aab86bd..5072af9 100644 --- a/.memory/worklog.json +++ b/.memory/worklog.json @@ -1,11 +1,5 @@ { "entries": [ - { - "files_changed": 3, - "message": "Codex 会话活跃 · 最近命令:codex · 3 项未提交变更 · 最近提交:auto-save 2026-05-14 03:03 (~3)", - "ts": "2026-05-13T19:08:49Z", - "type": "session-heartbeat" - }, { "files_changed": 3, "hash": "79b3f79", @@ -3256,6 +3250,13 @@ "type": "session-heartbeat", "message": "Codex 会话活跃 · 最近命令:codex · 2 项未提交变更 · 最近提交:auto-save 2026-05-15 18:51 (~1)", "files_changed": 2 + }, + { + "ts": "2026-05-15T18:57:08+08:00", + "type": "commit", + "message": "auto-save 2026-05-15 18:56 (~4)", + "hash": "dd27cdd", + "files_changed": 4 } ] } diff --git a/docs/source-analysis.html b/docs/source-analysis.html index e465206..be85716 100644 --- a/docs/source-analysis.html +++ b/docs/source-analysis.html @@ -591,10 +591,10 @@ - - - - + + + + @@ -944,6 +944,18 @@ SubjectAsset {

变更记录

这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。

+
+
+

2026-05-15 · 登录页草地鼠标转发、面板压缩和角色放大

+ UI + Login +
+
+

问题:原版 Digital Oasis 鼠标划过草地会产生响应,但登录页的表单和透明面板盖在 iframe 上方时,iframe 收不到鼠标坐标;同时右侧登录面板过大,左侧动态角色被压成小装饰。

+

改动:web/components/login/oasis-canvas.tsx 在捕获阶段监听父页面指针移动,并通过 postMessage 发送到 web/public/oasis-source/index.html,后者复用原 raycaster 逻辑驱动草地。web/app/login/page.tsx 将身份验证面板改成 300-340px 窄列、去掉强制大高度、压缩标题/输入/按钮间距;web/app/globals.css 将动态角色面板放大成左侧透明框架里的主视觉。

+

影响:web/app/login/page.tsxweb/components/login/oasis-canvas.tsxweb/public/oasis-source/index.htmlweb/app/globals.cssdocs/source-analysis.html

+
+

2026-05-15 · 登录页两块主面板复刻 Pillars 透明卡片质感

diff --git a/web/app/globals.css b/web/app/globals.css index 511bd67..1faf567 100644 --- a/web/app/globals.css +++ b/web/app/globals.css @@ -246,7 +246,7 @@ text-shadow: 0 2px 18px rgba(0, 0, 0, 0.68); } .login-page--oasis .login-creative-stage { - min-height: 310px; + min-height: 400px; margin-top: auto; } .login-page--oasis .login-creative-caption { @@ -265,21 +265,25 @@ } .login-page--oasis .login-dynamic-dock { left: 0; - bottom: 138px; + bottom: 104px; + width: min(430px, 54%); border-color: rgba(140, 180, 120, 0.12); background: rgba(10, 18, 10, 0.55); + padding: 18px; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4); backdrop-filter: blur(16px); } .login-page--oasis .login-dynamic-dock__label { + margin-bottom: 12px; color: rgba(224, 210, 128, 0.78); } .login-page--oasis .login-dynamic-dock .login-character-stage { + min-height: 240px; border-color: rgba(255, 255, 255, 0.1); background: linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px), linear-gradient(180deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px), - rgba(255, 255, 255, 0.06); + rgba(255, 255, 255, 0.045); background-size: 22px 22px, 22px 22px, auto; } .login-page--oasis .login-dynamic-dock .login-character-stage::after { @@ -288,6 +292,9 @@ .login-page--oasis .login-dynamic-dock .login-stage-grid { border-color: rgba(255, 255, 255, 0.1); } +.login-page--oasis .login-dynamic-dock .login-characters-container { + transform: translateX(-50%) scale(0.54); +} .login-page--oasis .login-studio-chip { border-color: rgba(140, 180, 120, 0.14); background: rgba(10, 18, 10, 0.55); @@ -297,8 +304,8 @@ } .login-page--oasis .login-studio-chip--visual { right: auto; - left: 310px; - top: 172px; + left: min(470px, 58%); + top: 176px; } .login-page--oasis .login-premium-metrics { border-color: rgba(140, 180, 120, 0.12); @@ -320,7 +327,7 @@ border-radius: 16px; background: rgba(10, 18, 10, 0.55); box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4); - padding: 36px 28px; + padding: 28px 24px; backdrop-filter: blur(16px); transition: border-color 0.4s, background 0.4s; } @@ -1076,11 +1083,11 @@ linear-gradient(180deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.2) 48%, rgba(0, 0, 0, 0.82)); } .login-page--oasis .login-oasis-hero { - min-height: 650px; + min-height: 740px; padding: 24px 20px; } .login-page--oasis .login-auth-panel { - padding: 28px 20px; + padding: 24px 18px; } .login-page--oasis .login-wordmark__logo { font-size: 24px; @@ -1108,7 +1115,7 @@ min-height: 340px; } .login-page--oasis .login-creative-stage { - min-height: 360px; + min-height: 450px; } .login-creative-orbit { right: -20%; @@ -1120,8 +1127,8 @@ width: 48%; } .login-page--oasis .login-creative-caption { - bottom: 42px; - width: 48%; + bottom: 38px; + width: 58%; } .login-creative-caption b { font-size: 22px; @@ -1133,8 +1140,9 @@ padding: 10px; } .login-page--oasis .login-dynamic-dock { - bottom: 142px; - width: 210px; + bottom: 112px; + width: min(100%, 330px); + padding: 14px; } .login-dynamic-dock .login-character-stage { min-height: 94px; @@ -1142,6 +1150,12 @@ .login-dynamic-dock .login-characters-container { transform: translateX(-50%) scale(0.22); } + .login-page--oasis .login-dynamic-dock .login-character-stage { + min-height: 190px; + } + .login-page--oasis .login-dynamic-dock .login-characters-container { + transform: translateX(-50%) scale(0.42); + } .login-studio-chip { font-size: 12px; } @@ -1152,7 +1166,7 @@ .login-page--oasis .login-studio-chip--visual { left: auto; right: 0; - top: 112px; + top: 118px; } .login-studio-chip--review { display: none; diff --git a/web/app/login/page.tsx b/web/app/login/page.tsx index 76c2eea..d370d9d 100644 --- a/web/app/login/page.tsx +++ b/web/app/login/page.tsx @@ -90,7 +90,7 @@ export default function LoginPage() {
-
+
@@ -140,20 +140,20 @@ export default function LoginPage() {
-
+
-
-
+
+
-

身份验证

+

身份验证

验证后进入内容生产环境

-
+
-
+
-
+
{error ? (
@@ -232,7 +232,7 @@ export default function LoginPage() {
web/app/page.tsx产品工作台主状态:jobs、activeJobId、按 job 隔离的 selectedFrames/详情面板状态、clipboard、ReactFlow 节点和边;负责打开/找回画布工作面板。
web/app/login/page.tsx生产登录页:访问账号/访问密钥表单、保持会话、错误/成功状态;页面改为全屏 Digital Oasis 式动态背景、黑白/香槟金视觉、Internal Access 胶囊和画面/声音/成片状态栏;同时保留动态角色作为 Live Creative Modules 小组件。
web/components/login/oasis-canvas.tsx登录页全屏动态视觉层:用 iframe 直接承载下载包 web/public/oasis-source/index.html 的原 WebGPU / Three.js 草场源码;父级登录页只覆盖自己的文案和表单。
web/public/oasis-source/index.html从下载包 remix-3d-website-the-digital-o 复制来的原始视觉源码。只额外隐藏 demo 站自己的导航、文字和设置面板,保留原 WebGPU 渲染、草场、景深和鼠标交互源码。
web/components/login/animated-login-characters.tsx登录页四个几何动态角色组件:当前以小型 Live Creative Modules 方式挂在左侧展示区,保留鼠标眼神跟随、输入、显示密码、错误和成功状态反馈。
web/app/login/page.tsx生产登录页:访问账号/访问密钥表单、保持会话、错误/成功状态;页面改为全屏 Digital Oasis 式动态背景、黑白/香槟金视觉、Internal Access 胶囊和画面/声音/成片状态栏;右侧身份验证面板保持简约窄列,不再强制大高度。
web/components/login/oasis-canvas.tsx登录页全屏动态视觉层:用 iframe 直接承载下载包 web/public/oasis-source/index.html 的原 WebGPU / Three.js 草场源码;父级登录页只覆盖自己的文案和表单,并在捕获阶段把全局鼠标坐标转发给 iframe,避免登录面板遮挡时草地失去鼠标响应。
web/public/oasis-source/index.html从下载包 remix-3d-website-the-digital-o 复制来的原始视觉源码。只额外隐藏 demo 站自己的导航、文字和设置面板,保留原 WebGPU 渲染、草场、景深和鼠标交互源码;同时接收父页面 postMessage 指针坐标驱动草地交互。
web/components/login/animated-login-characters.tsx登录页四个几何动态角色组件:当前作为左侧透明框架里的放大主视觉展示,保留鼠标眼神跟随、输入、显示密码、错误和成功状态反馈。
web/components/nodes/index.tsxDAG 节点定义:Input、VisualLab、Audio、Compose,以及画布工作面板 KeyframePanel / VideoFramePanel;旧 Keyframe/Storyboard/VideoGen 组件保留但不再挂主画布。
web/components/audio-strip.tsx底部吸附音频条:可拖拽调整高度;播放原音频时移动指针,逐个高亮英文/中文字幕节点和对应波形,并在右侧固定显示按原音频时长生成的 SKG 英文产品口播和 MiniMax 随机英文配音。
web/components/lightbox.tsx关键帧素材准备面板:清洗、统一主体候选、参考帧网格、六张主体重绘图、每帧去主体场景图、纵向 6 行产品融合镜头工作表和审核。