2个不稳定版本
0.6.0 | 2024年7月5日 |
---|---|
0.5.0 | 2024年5月11日 |
#188 in GUI
每月277次下载
97KB
2K SLoC
Egui Node Graph 2
这是一个setzer22/egui_node_graph的更新和维护分支,它已被存档。欢迎提交问题和PR。
现在就动手构建你下一个令人惊叹的节点图吧!🦀
Egui node graph 2 是一个功能丰富、可定制的库,用于使用 egui 创建节点图应用程序。该库负责向用户展示节点图,并允许自定义交互的许多方面,为您的特定应用程序创建所需的意义。
功能和目标
这个crate旨在为任何想要向用户提供节点图界面的开发者提供一个坚实的基础。其主要设计目标是完全与图的语义无关,无论是游戏逻辑、音频制作、对话树、着色器生成等,我们都为您提供了支持!
此库的目的是绘制您的图并处理常见的用户交互,如添加新节点、移动节点或创建连接。所有附加功能都是由用户通过实现几个特质的自定义用户类型提供的。
使用方法
要查看节点图的实际效果,只需克隆此存储库,并使用 cargo run
运行示例。这应该会打开一个包含空白画布的窗口。在屏幕上任何地方右键单击将弹出节点查找器菜单。
示例中的应用程序代码有详细的注释,是嵌入此库到您的egui项目的良好入门。
关于API可见性的说明
与Rust生态系统的一般趋势相反,此库公开所有可能对用户有远程相关性的类型和字段。这是为了尽可能灵活,因此不会向希望修改内部结构的用户隐藏任何实现细节。请注意,此crate禁止使用unsafe
,因此不会因违反任何不变性而引入UB。
话虽如此,对于最常见的使用场景,您应该坚持使用此crate提供的定制选项:在GraphEditorState
对象中的泛型类型及其关联的特质是主要的API,本crate中其他类型和字段应被视为实现细节。示例项目详细说明了所有定制选项以及用户如何与该crate交互。
最后,这并不改变这样一个事实:此crate遵循语义化版本控制,这是Rust生态系统中的常规做法。任何对公共字段的更改仍然被视为破坏性更改。
使用场景
- 使用egui、rend3和wgpu在Rust中构建的3d过程建模软件《Blackjack》的图形用户界面,请访问Blackjack。
您是否在使用这个crate进行一些有趣的事情?通过发送PR加入本节!
依赖项
约5-11MB
约104K SLoC