Cytoscape 的自定义节点渲染器 + 限制拖动点

Custom node renderer for Cytoscape + restrict drag points

我正在开发一个基于网络的图形 visualization/manipulation 工具,并且我正在评估一堆 JS 库,包括 Cytoscape.js, jsPlumb, visjs 为此目的。一些高级要求包括:

我真的很喜欢我在 Cytoscape 文档中读到的内容,演示表明这是一个非常强大的库。但是,我有以下问题:

考虑到具体要求,我猜我必须编写自己的 Cytoscape 扩展来完成这些事情。但我想知道是否有什么东西可以重复使用或改变用途。

这是我想要实现的目标的粗略草图。

如能提供任何帮助,我们将不胜感激。

谢谢

(1) 您无法在画布中渲染 HTML,但 Cytoscape 确实支持节点上的 SVG 背景图像。所以你可以把你想画的任何内容都放在节点上。

(2) 如果您想更好地控制手柄位置,可以在其中一个边缘编辑扩展上进行 PR。他们在这方面已经有一些可定制性,但听起来你想要更多。