# Start SVG 接线与打包优化 2026-09-09 17:24。Start 的官方 SVG 导入链已经接通,并完成浏览器 Worker 验证。现有 Draft 格式业务回归通过,未重新移植 DXF,也未重编译 OCCT。 ## 实际修复 - 复用此前已配置的官方 Draft Python 源树及本机 stdlib,完成 Start 增量链接。补齐真实 Materials -> Part -> Start Python 模块注册;实际调用 `importSVG.insert`,不自建解析器。 - 从现有 Draft runtime 提取 `HeadlessDraftImports.h`,两模块共用已存在的无界面导入兼容代码。这里只提供 Qt 导入边界;不代表 Qt GUI、颜色/字体界面行为已经移植。 - `start.importSvg` 明确路由到 `start.worker.ts`,避免落到源码检查 Worker。浏览器通过真实 WebModuleRouter 加载 WASM,执行导入、相关请求错误返回及同文档恢复。 - Facade 验证真实对象数量、唯一对象名、非空有效形状、有限正长度及首对象身份;加载期间取消的请求不会继续执行 native。 - 测试输入包括不同矩形、圆、折线、多边形、圆弧、缩放/平移组合、混合图形,检查原生长度。错误包括非 XML、截断 XML、缺失文件、错误扩展名以及后续恢复。 ## 减少打包浪费 Start 初始链接曾因嵌入资源超出初始内存失败;扩容仅恢复构建,随后继续定位体积。Python 编译时使用的 `libpython3.12.a` 又被完整目录嵌入浏览器,另外存在大量 `.pyc` 和桌面翻译文件。 现只从 Start/Draft 运行时打包中排除 `__pycache__`、`.pyc`、`config-*/libpython*.a`、Draft 桌面 translations,并从相关 LINK_DEPENDS 中过滤这些内容。Python 源码、几何资源和本机原文件保留,没有删除用户资料。现有发布缓存、完整 WASM 校验和原子替换保留。 | 产物 | 优化前字节 | 优化后字节 | |---|---:|---:| | Start WASM | 192134390 | 88350260 | | Draft WASM | 204237822 | 98636488 | 合计减少 209385464 字节,约 209.4 MB。Start 减少 54.0%,Draft 减少 51.7%。不把文件体积变化直接宣称为全项目吞吐提升;其它模块尚未统一采用此打包排除。 ## 实测耗时 | 步骤 | 秒 | |---|---:| | 本轮一次构建互斥等待 | 16.134 | | Start 源文件编译,最后记录 | 3.383 | | Draft 源文件编译,最后记录 | 7.062 | | Start / Draft 最后链接 | 25.907 / 32.929 | | Start 验收中的 WASM 加载 | 0.516 | | 原生初始化 | 0.197 | | 首次 SVG 导入,含 Python 导入 | 1.065 | | 随后有效 SVG 导入 | 0.013 至 0.048 | | 浏览器 Worker 完整组 | 4.123 | | Start 三项正式验收,含浏览器 Worker | 6.199 | | Draft 四项正式回归 | 5.549 | 这些是实际步骤,不是整轮开发耗时;本轮约 16:26 开始,包含两次缺依赖定位、打包优化和多轮针对性确认。使用相同编译目标合并相关修改,未执行全库 API 验收。 文件系统不支持 reflink:对 192 MB Start 产物普通复制 2.543 秒,强制 reflink 返回 ENOTSUP。实测在 `wasm-copy-benchmark.json`,未把不支持的技术包装为优化成果;实际采用的是减少无用嵌入内容。 ## 证据与续接 - Start 三项:`business-evidence/6c5221018fc4b94b51e5b8c1-20260909T092510459358.json`。当前有效路径以业务账本为准。 - Draft 四项:`business-evidence/bcbed2d1047785af9fd2fd80-20260909T092047436319.json`。 - Facade、路由、发布和几何边界 19 项检查通过;调度效率 73 项测试通过;TypeScript 和前端增量发布构建通过。 - 未认证完整 Start 用户界面、SVG 文本/图片、GUI 显示属性或 OPFS 保存。浏览器证明覆盖实际 Worker 和官方几何链,不能扩大为整个桌面 SVG 功能集已移植。 - 当前快照有效验收 123/1504,无有效结果指纹失效遗留;后台持续运行。后续直接复用共享导入适配和这两模块产物,不重复补同一注册链或重做 SVG/DXF 算法。