4个版本 (重大更新)
0.4.0 | 2022年12月10日 |
---|---|
0.3.0 | 2022年6月21日 |
0.2.0 | 2022年2月24日 |
0.1.0 | 2022年2月19日 |
在GUI类别中排名368
每月下载量78
70KB
1.5K SLoC
Egui Node Graph
现在您已经拥有了它!现在开始用Rust构建您下一个酷炫的节点图吧 🦀
Egui节点图 是一个功能丰富、可定制的库,用于使用 egui 创建节点图应用程序。该库负责向用户展示节点图,并允许自定义许多交互方面,创建您特定应用程序所需的语义。
功能和目标
这个crate旨在为任何想要向用户提供节点图界面的人提供一个坚实的基础。其主要设计目标是完全独立于图的语义,无论是游戏逻辑、音频制作、对话树、着色器生成器...我们都为您提供了支持!
这个库的目的是绘制您的图表并处理常见的用户交互,如添加新节点、移动节点或创建连接。所有附加功能都由用户通过实现几个特质的自定义用户类型来提供。
用法
要查看节点图的实际效果,只需克隆此仓库,并使用 cargo run
启动示例。这将打开一个带有空画布的窗口。在屏幕上的任何地方右键单击将弹出“节点查找器”菜单。
示例中的 应用程序代码 详尽地注释,并可作为将此库嵌入到您的egui项目中的一次良好介绍。
关于API可见性的说明
与Rust生态系统中的普遍趋势相反,此库将可能对用户有远程相关性的所有类型和字段都公开。这样做是为了尽可能灵活,因此不会隐藏任何实现细节,供那些想修改内部结构的用户提供便利。请注意,此crate禁止使用 unsafe
,因此不会因破坏其不变性而引入UB。
话虽如此,对于最常见的用例,您应该坚持使用本crate为您提供的定制选项:`GraphEditorState`对象中的泛型类型及其关联的特质是主要API,本crate中的所有其他类型和字段都应被视为实现细节。示例项目详细解释了所有定制选项以及用户应该如何与这个crate交互。
最后,这并不改变这样一个事实:本crate遵循语义化版本控制,这在Rust生态系统中很常见。任何对公共字段的更改都被视为破坏性的。
用例
Egui节点图是Blackjack图形用户界面的库,Blackjack是一个使用egui、rend3和wgpu构建的3D过程建模软件。您是否正在用这个crate做些什么有趣的事情?通过发送PR加入本节!
贡献
欢迎贡献!在编写PR之前,请通过提交问题来与我们联系 😄
依赖
~5–10MB
~97K SLoC