# 定位记录 - 用户要求 Mermaid 下载图片,默认 2 倍;使用 PNG 无损格式。 - 项目使用 Node.js,前端主入口 public/app.js;Mermaid 相关文件还有 public/index.html、public/style.css。 - codebase-memory-mcp 的 home-cc-web 索引状态为 ready。 - 工作区已有多项其他任务改动,包括 public/app.js,需要局部修改。 - 已定位 serializeMermaidSvg、getMermaidSvgText、svgTextToPngBlob 和 ccDownloadMermaidDiagram;已有复制 PNG 的转换能力,应复用。 - codebase-memory 的 get_code_snippet/trace_path 连接关闭(Transport closed),后续使用已命中的文件范围进行本地阅读。 - 本机有 Firefox 和 geckodriver,可使用隔离浏览器页面验证真实导出。 - 导出改为 svgTextToPngBlob(svgText, 2),输出 .png;复制默认保持 1 倍。 - 独立代码审查补充使用 UTF-8 Data URL 作为 SVG 图片来源,避开部分浏览器对 Blob + foreignObject 的 Canvas 安全限制;下载按钮 title 和 aria-label 明确 PNG、2 倍。 - 第一轮成功验证(Firefox 156.0,使用倍率实现与 Blob 来源):流程图 578×114、时序图 900×574、中文换行图 190×346,MIME、PNG 文件头和 2 倍尺寸均通过,实际下载文件存在;目视检查中文与换行完整。 - 因独立审查随后修改了图片来源,正在用最终 Data URL 实现重复必要的真实浏览器验证。 - 最终 Data URL 实现复验通过,三类图表尺寸与上述结果一致;PNG 中中文与 HTML 换行可见。浏览器报告已保存为本目录 browser-report.json;原始图片保留于 /tmp/cc-web-mermaid-export-dirEq0/。 - 页面入口通过 computeFrontendAssetVersion 按文件内容计算资源版本,修改前端后刷新页面即可加载最新代码,无需重启服务。