LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

知识 Lsgv 化,及对 Lsgv 不足的思考

自从去年心血来潮,写了个记录小说的导图应用 Lsgv,并开始尝试对自己一些看过的小说做记录,如《千禧年》三部曲的人物关系图:

f3872b97128ed30f143ee88366d3dd6a

后面又尝试了其他做小说导图的方式,如为《人生海海》记录的:

d6c3499b7c10833e8b847e29cef7ce1a

最近开始对技术点开始做整理,顺便也用来看看是否能够胜任对技术导图的描述,于是写了个关于 GraalVM 的:

96f8f81e74008e05661dbc282e8cd81c

又画了个其他风格的 Java 代码运行图:

e541d42f46a36e3f659e69ff57bfec1a

个人感觉效果还是不错的,起码是超出了我原先的预期(本来主要是来记录小说人物关系的,便于自己书写和记录),于是便创建了 Lsgv Illustration 项目作为自己将知识 Lsgv 图例化的仓库。

几番折腾下来,发现了一些缺陷,记录写来,作为之后 Lsgv 2 的改进吧:

  • 缺少反向链接,如:dot 的 LR 模式下,想要分成左右树,右树正常逻辑,左树只能通过隐形节点,非约束链接,然后设置节点与非约束节点同级才能形成左树
  • 动态功能是内嵌,缺乏扩展能力,如:彩虹色渲染和链接颜色跟随是在主体代码中,不是通过功能插件扩展
  • 更好的状态管理,包括全局和本地的状态,如:现在彩虹色渲染的记录是记录在全局的,如果要局部的渲染,就没法做到
  • 更快捷简单的表达,如:名字为 my-carmy-bike 的节点,应该考虑到 my 为 prefix 到 carbike 的直接链接,不然链接要写太多前缀,我的逻辑又是跟着前缀写节点的
  • 大图合并,因为 gv 本身对画布有大小限制,而且在画布上的风格为既定的
  • 手动固定某些节点或者画布位置,还有让链接可以指向到固定的节点或者画布
  • 数据即代码,不止于数据文本格式,可以无缝编写 Scheme 代码进行程序处理,也可以利用 REPL 机制