Rust 原生数据表格组件 uiGrid 发布
一个为 egui 开发的功能丰富的数据表格组件已在 GitHub 开源,采用 MIT 许可证。
主要特性
- 数据操作:分组、过滤、排序功能
- 视图模式:树形视图、可展开视图
- 单元格编辑:支持格式化函数、自定义编辑和渲染视图
- Excel 风格导航:双击编辑单元格,Tab/方向键提交并移动到下一个单元格
- 界面定制:可自定义主题、列宽调整、分页功能
- 性能优化:虚拟滚动技术,可处理 10 万+行数据,仅渲染可见部分
使用方式
- 可克隆仓库运行演示应用,或直接使用 crate 中的表格组件
- 运行命令:
cargo run -p ui-grid-egui --example demo --release
项目背景
该项目是从之前流行的 AngularJS 数据表格移植而来。开发者已更新至 0.1.1 版本(修复了可展开行的逻辑),并提供了 WASM 文档和主题截图。
相关链接:
- GitHub: https://github.com/orneryd/uiGrid
- 文档: https://orneryd.github.io/uiGrid/#/docs/rust-egui
原文链接:https://github.com/orneryd/uiGrid
Rust开发者为自己的Vulkan封装库创建了可视化调试工具
项目背景
作者在开发《超级六边形》克隆游戏时,因对现有Vulkan封装库不满而自己编写了一个:
- ash 太底层
- vulkano 替用户做决策
- wgpu 是完全不同的抽象层
- 该封装库零依赖,仅依赖ash,纯FFI实现
开发动机
两周前在调试计算着色器写入和片段读取之间缺失的屏障时,作者在RenderDoc中花了40分钟浏览帧捕获,从60个调度中寻找问题。意识到自己的库中已有所有状态数据,只需将其可视化。
主要功能
- 帧图实时更新:使用Sugiyama布局显示渲染流程和资源依赖
- 同步DAG图:带队列通道和提交栏,可检测队列间的死锁循环(已发现3个真实bug)
- 内存布局可视化:显示VkDeviceMemory分配情况,可悬停查看调用位置和时间
- 性能分析器:CPU端显示录制时间,GPU端显示按阶段分割的时间戳
- 验证日志:支持过滤、搜索和固定,当警告涉及某个图像时会在节点上显示红色感叹号标记
- 缓冲区溢出监控:显示预期与实际保护字节的十六进制差异
- 确定性检查器:多次运行相同工作负载并比较哈希值,检测到1个原子竞争bug
原文链接:https://www.reddit.com/r/rust/comments/1t0aljr/i_wrote_a_vulkan_visualizer_for_my_crate_i/
Milkdrop Winamp 可视化效果编译为 WASM
关键要点
项目概述:
- 开发者完成了一个有趣的技术项目,将 Milkdrop Winamp 可视化效果编译为 WASM + WebGPU 格式
技术实现:
- 使用了 wgpu 和 bindgen 工具的组合
- 基于 Rust 语言开发
- 采用 WebGPU 技术(而非常见的 WebGL)
创新点:
- 虽然已有 Milkdrop 的 WebGL 实现版本,但这是首个使用 WebGPU 的实现
- 开发者对 Rust 工具链的强大功能表示惊喜和满意
在线演示:
- 项目已部署上线:https://milkdrop.mahae.dev/
原文链接:https://milkdrop.mahae.dev/
Volang / Vo:一个为Rust应用打造的可嵌入脚本语言
作者在 r/rust 社区分享了自己开发的项目 Volang (Vo),这是一个专门为Rust应用程序设计的可嵌入脚本语言。
核心特点
- 纯Rust实现:编译器、字节码虚拟机、运行时、JIT路径、WASM支持和工具链全部用Rust编写
- 轻量级嵌入:为Rust应用提供轻量级脚本层,可直接嵌入,无需依赖外部运行时
- 浏览器支持:可在项目网站(https://volang.dev/)的浏览器中直接编辑和运行Vo程序
- 真实运行环境:Web版本使用相同的Rust运行时编译为WASM,不仅仅是语法演示
技术架构
- Rust字节码虚拟机
- 基于Cranelift的JIT编译路径
- WASM/浏览器执行路径
- 可嵌入的运行时API
- 基于浏览器的编辑器/运行时
- 围绕同一运行时构建的Studio/工具链
实际应用
作者使用Vo构建了一个小型游戏引擎,并用该引擎制作了演示demo,证明该项目不仅包含语言本身,还提供了在交互式Rust应用中使用所需的运行时和工具。
项目定位
它不是一个孤立的语言实验,而是围绕 Rust 应用里的嵌入式脚本层、浏览器运行时和配套工具链一起设计的。
原文链接:https://volang.dev/
From Rust中文社区 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论