felixhayashi / TW5-TiddlyMap

Map drawing and topic visualization for your wiki
http://tiddlymap.org
BSD 2-Clause "Simplified" License
863 stars 132 forks source link

Replace nodeid with title #461

Open linonetwo opened 2 months ago

linonetwo commented 2 months ago

I'm not using tiddlymap mainly because it add tmap.id field to each tiddler, cause change and potential problem in lazyload.

I think it was invented because there was no relink-field plugin. But now we can safely use title as id, and relink them in whereever tiddlymap use them.

I raise this issue because I find some new user of TiddlyWiki comes from TiddlyMap, I think this project is still important.

flibbles commented 2 months ago

I've thought many times about removing the tmap.id and either make Relink a requirement (you wouldn't even need Relink-field), or introduce its own relink module. It'd just be a lot of work for a plugin that is very long in the tooth.

Is it worth doing this to Tiddlymap? It's currently using a 6-years-unmaintained graphing engine, and it's clunky in so many other ways.

Or is it worth finding a newer and maintained graphing engine and creating a new graphing plugin, one that would be far more lightweight and in-line with the way you'd expect a Tiddlywiki plugin to work. I put some thought into this. I would love to have a graphing plugin where you can describe a graph with things like

<$graph>
<$list filter=...>
<$graph_node>
...

Instead of having it be this monolithic system that's rigid in how it can be used?

linonetwo commented 2 months ago

What TW5-TiddlyMap does good is its visual editor.

If only need an auto generated mind map, echarts is a better choise.

Describe graph with a lot of widget is like editing SVG XML, which is as hard as editing JSON used by tldraw, so that will be the same as generate a JSON for https://github.com/tiddly-gittly/tiddlywiki-whiteboard

linonetwo commented 2 months ago

Is it possible to search-replace all tmap.id to title? And make relink as its dep.

flibbles commented 2 months ago

No. It's not that simple. Internally, the ids get used a lot too, and those would likely need to be touched. But the REAL trouble comes from the fact that it would require a custom Relink module to manage the TMap-specific JSON used to store edge types. AND there'd have to a custom migrator to update all those tmap.edge fields, and the view filters, and probably some other stuff I'm not thinking of.

I'm going through the code placing markers, just getting a sense of the workload, but to do it right, it's looking like least 10 hours of work, maybe 20.

flibbles commented 2 months ago

Describe graph with a lot of widget is like editing SVG XML, which is as hard as editing JSON used by tldraw, so that will be the same as generate a JSON for https://github.com/tiddly-gittly/tiddlywiki-whiteboard

I get that. I may be the one person who uses TMap programmatically instead of hand-drawing all my edges, but I don't think what I'm describing is as bad as SVG editing. A simple filter could be used to describe the nodes in a graph, and visual editing, such as dragging around, could set fields in the tiddlers.

Maybe the problem is that I only know how I use TiddlyMap. Judging from many of the features TiddlyMap has, I get the sense a lot of people use it differently.

flibbles commented 2 months ago

wiki-whiteboard is pretty cool. It's actually a bit like what I think TiddlyMap should have been. You define graphs with a widget, maybe have some children, but the graph that's generated can be manipulated.

linonetwo commented 2 months ago

TiddlyMap = echarts "the brain" mind map + whiteboard .

Most people only use it generate brain map around focused node, which can be replaced by echarts (that's why tw-echarts' author created focusedTiddler plugin)

And whiteboard = TiddlyMap's hand placing feature, the benefit of TiddlyMap here is that its size is much smaller, and my whiteboard plugin still have some bug.

So this issue is not urgent, and probablly unnecessary after whiteboard plugin become better in next few years, and people don't care about echarts + whiteboard 's 4MB size.