#graph-node #node #graph #egui #ui

egui_node_graph

使用egui创建交互式节点图的辅助库

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

Download history 46/week @ 2024-03-11 17/week @ 2024-03-18 5/week @ 2024-03-25 44/week @ 2024-04-01 13/week @ 2024-04-08 14/week @ 2024-04-15 22/week @ 2024-04-22 10/week @ 2024-04-29 10/week @ 2024-05-06 9/week @ 2024-05-13 15/week @ 2024-05-20 9/week @ 2024-05-27 17/week @ 2024-06-03 37/week @ 2024-06-10 9/week @ 2024-06-17 14/week @ 2024-06-24

每月下载量78

MIT协议

70KB
1.5K SLoC

Egui Node Graph

现在您已经拥有了它!现在开始用Rust构建您下一个酷炫的节点图吧 🦀

Latest version Documentation MIT unsafe forbidden

Showcase image

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过程建模软件。Blackjack主界面您是否正在用这个crate做些什么有趣的事情?通过发送PR加入本节!

贡献

欢迎贡献!在编写PR之前,请通过提交问题来与我们联系 😄

依赖

~5–10MB
~97K SLoC