Thanks for pointing to that possible solution. It might be the right one, but it’s a bit above my elisp/json skill levels. I gave it a try, replacing “physics” with “edges” and adding type “forward,” but that did not successfully evaluate. “Wrong number of arguments: cons, 4”
Running in background is my confusion about different org-roam-server-network option for graph. Reading the vis.js docs you point me to makes me wonder if the org-roam-server-network-vis-options function, which I believe is what you refer to above, is for “physics” vis.js settings that I think govern how the graph unfurls and stabilizes. There seem to be other ways of handing other aspects of the graph, like arrows. That possibility arises again for me when I look at org-roam-server.el (https://github.com/org-roam/org-roam-server/blob/master/org-roam-server.el). The section below (lines 104-116) seems to handle arrows differently from how it handles whatever it is that vis-options handles.
(defcustom org-roam-server-network-arrows nil
“If the type is given, enable arrows in the network.
Available types are to, middle, and from.
Types can be concatanated using commas.”
:group 'org-roam-server
:type 'string)
(defcustom org-roam-server-network-vis-options nil
“Options to be passed directly to vis.Network, in JSON format.
e.g. (json-encode (list (cons 'physics (list (cons 'enabled json-false)))))
or { “physics”: { “enabled”: false } }”
:group 'org-roam-server
:type 'string)
From the first block, the one re: arrows, I get the feeling that something like the following should work:
(setq org-roam-server-network-arrows '('to))
But as I mentioned, while it gets successfully evaluated, it doesn’t seem to do anything that will allow me to assign a forward-pointing arrow to an edge.
Another point of background confusion for me is the difference between what the “org-roam-server-network-arrows” function does and what “org-roam-graph-edge-extra-config” might accomplish. There are a handful of option-configuring blocks of code seen in lines 64-96 in org-roam-graph.el (https://github.com/org-roam/org-roam/blob/master/org-roam-graph.el). One of them is for edge options, including, I believe, arrow direction:
(defcustom org-roam-graph-edge-extra-config
'((“color” . “#333333”))
“Extra options for graphviz edges.
Example:
'((“dir” . “back”))”
:type '(alist)
:group 'org-roam)
The example makes me feel like the following should work:
(setq org-roam-graph-edge-extra-config '((“dir” . “forward”)))
But as mentioned, no dice. Or I don’t see what to do with it after making the change and restarting everything.
Getting back to your idea about passing JSON to vis.js and asking that community for advice, I’m preparing a question for them. My difficulty has been that my question seems to boil down to “how do I configure org-roam to allow me to assign arrow directions to nodes in my vis.js network?,” and I worry that won’t get me very far unless someone there is familiar with emacs/org-mode/org-roam. I’m trying to take the respondent’s need to know about emacs/org-mode/org-roam out of the picture, but so far, I’m not succeeding at that.