## SideX:一个轻量级的 VSCode 移植 SideX 是一个早期发布、开源项目,旨在以更小的体积重现 Visual Studio Code 的功能。它通过用 Tauri(一个基于 Rust 的后端和原生 webview)取代 Electron 来实现这一点,从而获得更快的性能和更低的资源占用(目标是 200MB 内存)。 该项目是对 VSCode 的 1:1 架构的精简移植,使用了超过 5600 个 TypeScript 文件,并使其能够在原生 shell 上运行。目前,Monaco 编辑器、文件资源管理器、集成终端、基本的 Git 集成和主题支持等核心功能已经可用,并且支持从 Open VSX 加载扩展。 然而,SideX 仍在积极开发中。许多工作台功能尚不完整,扩展兼容性有限,调试/设置界面不稳定。 开发者正在积极寻求社区贡献,以解决错误、实现功能(尤其是终端、扩展和调试),并改进平台支持。如果您熟悉 VSCode 的架构,鼓励您参与贡献!您可以在 GitHub 上找到该项目和贡献指南:[https://github.com/Sidenai/sidex](https://github.com/Sidenai/sidex)。
## 功敬设计奖:源于体验的设计
近25年来,功敬设计奖一直致力于推动创新文具,将概念变为现实。今年的主题是“共鸣:引发共鸣的设计”,鼓励设计师从个人经验中汲取灵感,创造出有影响力的产品。
大奖得主是神成宏树的**“Before Note”**,它重新构想了笔记本,将其设计成可定制的页面组合,使用户能够超越批量生产,个性化他们的体验。
优胜奖作品突出了微妙而有影响力的设计:高东田的**“Gram”**探索了重量对书写的影响,塚本雄二的**“边缘识别笔记本”**以可持续的方式提供优雅的组织,而五十嵐&泷泽的**“渐变日记”**则打破了刻板的计划表结构,采用了流畅的渐变布局。
其他值得关注的入围作品包括创新的包装、鼓励反思的笔以及增强阅读和捕捉灵感的工具,所有这些都体现了对用心互动和个人联系的关注。
## HarfBuzz GPU 与 Slug 渲染彩色字体
Eric Lengyel 的 Slug 算法现已开源,并集成到 HarfBuzz 中作为 GPU 库,超越了文本塑形,进入了字形渲染领域。传统上,文本渲染依赖于在特定尺寸下栅格化位图,这对于缩放或 3D 环境来说是个问题。像符号距离场 (SDF) 这样的替代方案也有局限性,但 Slug 直接在片段着色器中计算字形覆盖率,从而实现完美的缩放和变换。
核心思想是将字形曲线预处理成数据缓冲区并上传到 GPU。虽然最初是用于单色字形,但可以通过 COLRv0 和 COLRv1 等格式扩展到矢量彩色字体(如表情符号)。COLRv0 将表情符号渲染为堆叠的彩色字形,可以通过调整现有的单色渲染来轻松支持。COLRv1 更加复杂,利用带有变换、裁剪和混合的渲染树 – 由 HarfBuzz 的 `hb-paint` 组件处理。
这涉及将绘图命令(裁剪蒙版、填充、变换、组)编码到纹理缓冲区中,并在片段着色器中执行它们,可能需要基于图层的混合方法。最终,这使得在任何应用程序中都能实现清晰、可缩放的表情符号渲染,并且即使对于单色文本也优于传统方法。作者希望该概述能够激发进一步的开发并集成到现有的渲染库中。
## Bun vs. Node.js:Trigger.dev 的 5 倍性能提升
Trigger.dev 在其对延迟敏感的“Firestarter”服务(一个处理数千个长轮询 HTTP 连接的预热连接代理)中用 Bun 替换了 Node.js,从而实现了 **5 倍的吞吐量提升**。初步分析显示 Node.js 实现存在瓶颈:缓慢的 SQLite 查询、过多的 Zod 解析以及低效的头部转换。
第一阶段消除了 SQLite 数据库,用复合键 Map 替换它,实现 O(1) 查找,吞吐量翻倍,延迟减半。第二阶段切换到 Bun 的原生 `bun.serve()` API,进一步将性能翻倍。随后的分析(第三阶段)识别并修复了与 Zod 验证、头部处理和调试日志记录相关的热点,将 CPU 使用率提高了 40%。最后,编译成单个二进制文件(第四阶段)又将吞吐量提高了 14%,并将镜像大小从 180MB 减少到 68MB。
一个关键发现是 Bun 的 HTTP 模型中存在内存泄漏:来自断开连接的客户端的未解决的 Promise。修复此问题稳定了内存使用并进一步提高了性能。该团队强调分析的重要性,在每个步骤进行基准测试,并理解 Bun 独特的 HTTP 生命周期。他们还为常见的 Bun 问题创建了一个调试技能。