WASM 向量图形 --wasm_svg_graphics 0.3.0

一个用于通过 WASM 渲染 SVG 图形的 Rust 库

它提供了快速有效的方法,可以使用 WebAssembly 与 SVG 进行交互。它能够:

  • 声明形状和样式以用于这些形状

  • 使用 SVG 标签将这些形状渲染到 DOM

  • 自动检测两个形状是否相同,因此只有一个 SVG 将添加到 DOM 中

  • 声明已命名的项目 / 容器,以便以后进行例如隐藏,重新显示和重新放置之类的调整。

声明

开发团队已测试版本 0.3.0 的稳定性,并且可以在开发中使用。

此软件包仍在开发中,但大多数对 1.0.0 的 API 调用已完成。如果发现任何错误,请在 GitHub 上提交问题或诉求。

原文请查阅 crates.io 网站

使用 wasm-bindgen-test 测试 Rust + WebGL 渲染器

一周前,作者对改进客户端代码体系结构的所有细节感到有些不知所措,但是从那时起,作者就为所有主要部分布置了数据结构和测试,并对所有组件的安装方式有了很好的认识一起。

因此,现在正在努力的只是编写和实施更多测试,直到所有内容都准备就绪。

在进行这种重构方面,似乎需要多花 1~2 周的时间,然后我们才能重新投入实际游戏的开发工作中。

  • 地形加载和渲染

  • 输入事件处理器系统

  • 用户界面元素

  • WebGL 渲染器

详情前往作者博客查看。

Krabs: 可以引导 vmlinux 的 x86 引导程序

Krabs 是用 Rust 编写的实验性 x86 / x86_64 引导程序。

Krabs 可以引导用 bzip2 压缩的 ELF 格式的内核、解压缩 bz2 映像并重新定位 ELF 映像,然后引导内核。

一些源代码使用 libbzip2 C 库进行解压缩,但其余的完全使用 Rust。

Krabs 正在致力于在 32 位 / 64 位 PC 上引导以 ELF 格式格式化的 vmlinux 和其他内核,并且正在开发中。

Krabs 还旨在仅支持最小的 Linux 启动协议。这使您可以指定内核命令行并在启动时操纵内核的行为。另一个功能是,为了节省空间,ELF 格式内核在使用前先使用 bzip2 进行了压缩,并使用 libbzip2 库进行解压缩。

下面是一个例子:

    $ ./tools/build.sh -k vmlinux -i initramfs.cpio.gz -c "clocksource=tsc" disk.img  

【Rust 日报】 2020-02-17 WASM 向量图形 --wasm_svg_graphics 0.3.0

工程详情与构建方法前往 GitHub 查看。

cow-utils: 用于 Rust 写入时复制字符串实用程序

一些 str 方法执行的转换具有破坏性,因此 String 即使不需要修改,它们也可以分配,复制并返回新的方法 中。

此软件包提供了一种具有辅助特性的 CowUtils,其中包含此类方法的直接插入变体,它们的行为方式相同,但是在不需要修改时避免额外的副本和分配。

目前,它仅针对 &str; 和返回 实现 std::borrow::Cow,但将来可能会扩展到可能进行更有效处理的其他类型(例如,对可变字符串进行就地修改)。

性能

这个箱子的主要动机是在没有找到匹配的情况下执行零分配替换的功能,因此现在仅显示 .replacevs 的结果 .cow_replace

实际结果将根据输入而有所不同,但这是一个品尝者,基于 "a".repeat(40) 输入和各种模式(不匹配,匹配和替换的所有内容,从开始到删除的所有匹配项):

参数.replace (ns).cow_replace (ns)区别 (%)
("a", " ")408.59290.27-29
(“ b”,“ c”)98.7854.00-45
(“ a”,“ b”)985.991,000.70+1

关于项目详情访问 GitHub。


From 日报小组 @Lance

来源链接:mp.weixin.qq.com