diff --git a/.memory/worklog.json b/.memory/worklog.json index 87ef74d..9a754ee 100644 --- a/.memory/worklog.json +++ b/.memory/worklog.json @@ -1,18 +1,5 @@ { "entries": [ - { - "files_changed": 4, - "hash": "6ff4f59", - "message": "auto-save 2026-05-14 03:31 (~4)", - "ts": "2026-05-14T03:31:49+08:00", - "type": "commit" - }, - { - "files_changed": 3, - "message": "Claude 会话活跃 · 最近命令:claude · 3 项未提交变更 · 最近提交:auto-save 2026-05-14 03:31 (~4)", - "ts": "2026-05-13T19:33:12Z", - "type": "session-heartbeat" - }, { "files_changed": 5, "hash": "26a43fc", @@ -3258,6 +3245,19 @@ "type": "session-heartbeat", "message": "Codex 会话活跃 · 最近命令:codex · 1 项未提交变更 · 最近提交:auto-save 2026-05-15 19:24 (~4)", "files_changed": 1 + }, + { + "ts": "2026-05-15T19:30:19+08:00", + "type": "commit", + "message": "auto-save 2026-05-15 19:30 (~3)", + "hash": "1644460", + "files_changed": 3 + }, + { + "ts": "2026-05-15T11:34:50Z", + "type": "session-heartbeat", + "message": "Codex 会话活跃 · 最近命令:codex · 3 项未提交变更 · 最近提交:auto-save 2026-05-15 19:30 (~3)", + "files_changed": 3 } ] } diff --git a/docs/source-analysis.html b/docs/source-analysis.html index 0805077..d742b77 100644 --- a/docs/source-analysis.html +++ b/docs/source-analysis.html @@ -952,7 +952,7 @@ SubjectAsset {

问题:登录页不应再出现旧版入口文案、流程状态和指标文字;小人独立玻璃框会扩大遮挡面积,网格背景也不需要。

-

改动:web/app/login/page.tsx 将动态角色和登录表单合并进同一个 login-source-auth-panel,删除独立角色框。web/app/globals.css 让浮层容器默认不接收指针事件,只让登录框接收交互;角色区域去掉网格、边框、底部阴影和单独背景。web/components/login/oasis-canvas.tsx 改用 document 捕获阶段监听鼠标移动并转发到 Oasis iframe。

+

改动:web/app/login/page.tsx 将动态角色和登录表单合并进同一个 login-source-auth-panel,删除独立角色框。web/app/globals.css 让浮层容器默认不接收指针事件,只让登录框接收交互;角色区域去掉网格、边框、底部阴影和单独背景。web/components/login/oasis-canvas.tsx 改用 document 捕获阶段监听鼠标移动,并向 Oasis iframe 派发原生 mousemove,让它复用原源码玻璃板覆盖时仍驱动草地的逻辑。

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

diff --git a/web/components/login/oasis-canvas.tsx b/web/components/login/oasis-canvas.tsx index 8185692..07db44c 100644 --- a/web/components/login/oasis-canvas.tsx +++ b/web/components/login/oasis-canvas.tsx @@ -6,9 +6,32 @@ export function OasisCanvas() { const frameRef = useRef(null) useEffect(() => { + const dispatchNativeMouseEvent = (type: "mousemove" | "mouseleave", event?: PointerEvent) => { + const frameWindow = frameRef.current?.contentWindow + if (!frameWindow) return false + + try { + const nativeEvent = new frameWindow.MouseEvent(type, { + bubbles: true, + cancelable: false, + clientX: event?.clientX ?? 99999, + clientY: event?.clientY ?? 99999, + screenX: event?.screenX ?? 99999, + screenY: event?.screenY ?? 99999, + buttons: event?.buttons ?? 0, + view: frameWindow, + }) + frameWindow.dispatchEvent(nativeEvent) + return true + } catch { + return false + } + } + const sendPointer = (type: "pointermove" | "pointerleave", event?: PointerEvent) => { const frameWindow = frameRef.current?.contentWindow if (!frameWindow) return + if (dispatchNativeMouseEvent(type === "pointermove" ? "mousemove" : "mouseleave", event)) return frameWindow.postMessage( { type: `skg-oasis-${type}`,