LibreCAD in the Browser
11 days ago
- #LibreCAD
- #Porting
- #WebAssembly
- 作者需要一个无需安装、能在浏览器中快速使用的二维绘图工具,因此通过AI提示将LibreCAD移植到了WebAssembly。
- 该移植项目依赖Qt的WebAssembly支持和WebAssembly JSPI来处理嵌套模态对话框和事件循环,这些是传统Asyncify无法处理的。
- 性能优化包括将后端存储格式切换为ARGB32以实现更快的渲染,以及捆绑字体和图案以便离线使用。
- 文件操作通过JavaScript垫片和MEMFS处理,设置通过IndexedDB持久化保存,导出功能(如PDF、SVG)通过浏览器下载实现。
- 最终构建版本压缩后约为18 MB,可在基于Chromium的浏览器中运行,并通过条件编译保持对桌面端的最小改动以维持兼容性。