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

2.4 KiB
Raw Blame History

新建项目背景与遮罩修复

用户反馈:新建项目的背景导致显示异常。

已在真实隔离 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 不属于此次验收结论。