Files
ycode/docs/新建项目遮罩修复-2026-10-18.md
T

20 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 新建项目背景与遮罩修复
用户反馈:新建项目的背景导致显示异常。
已在真实隔离 YCode 生产应用复现。弹窗容器、标题、正文和底栏的背景均不透明,颜色也符合当前主题;错误在遮罩的层叠关系。`collab-modal__overlay` 使用 `z-index:auto`,没有形成独立的层叠上下文。侧栏 sticky 分组标题等定位元素会绘制到遮罩颜色上方,出现亮条。透明 backdrop 仍可以拦住点击,因此只检查 `elementFromPoint` 或弹窗自身背景不能发现这个问题。
修复位于 `src/renderer/src/projects/project-layout.css`:只对项目新建弹窗的 overlay 设置 `z-index:1000; isolation:isolate`,高于页面顶栏与侧栏,同时低于已有模板下拉 portal 的 1100 层级。不改原始恢复 CSS,不改原版浅色 0.6 / 深色 0.8 的遮罩颜色。
原版参照沿用 WorkBuddy 5.8.3 固定 REA `ev_bc0f5546bb714cad4634168969a115be8f34e307bc09f51caf1457f5d3ed61ec`:原版在 body 下挂载 portal,overlay 仅声明 fixed/inset 和遮罩背景,portal 宿主为 display:contents,没有提供额外层叠上下文。本地目前内联挂载与原版不同,1000 是本地宿主层级适配,不声称为原版测得数值。本轮未重新采集或操作 WorkBuddy。
验证:
- `npm run build` 通过,包含 node/web TypeScript 检查;日志 `.tmp/project-dialog-background-build.log`。
- `node scripts/verify-project-page.cjs` 通过;报告 `.tmp/project-page-3682qD/report.json`、`dialog-surfaces.json`,包含浅色/深色截图。
- 补充了弹窗四个区域的不透明背景、全视口遮罩、实际点击遮挡和背景像素合成检查。浅色同点修复前 `[247,247,247]` 未受遮罩影响,修复后 `[99,99,99]`,与 0.6 黑色遮罩预期完全一致;深色稳定帧 `[31,31,31]` 变 `[6,6,6]`,符合 0.8 遮罩。
- 既有创建/保存、模板选择及切换保留项目名、能力选择、重载恢复和项目详情几何检查继续通过;无 renderer 错误。
- 主上下文实际查看浅色、深色修复截图。测试曾错误采到深色主题过渡的中间背景帧,现等待有限动画结束后比较稳定像素;没有放宽像素预期。
生产资源已构建,未强制重载用户窗口,避免清空未发送草稿。此次产品改动仅在 renderer;重载窗口后生效。原版其他弹窗状态与全状态 1:1 不属于此次验收结论。