@mixmix
Currently I'm rendering messages with the root
and branch
links displayed. So in this one we can see your reply branched to my message and to @christianbundy's:
These links allows for navigating through threads. Downsides are that when a page renders a full thread, these branch links become somewhat inefficient of screen space to show because they show the titles or messages that are already displayed fully on the page. Also there isn't a great way to set them when composing. I'm considering showing branch links with single character/icons, at least for votes and other messages that are rendered on a single line:
For rendering a thread I think building a graph makes sense. I'm imagining it like git log --graph
where the page has a column on the left for the graph, each post has a dot within that column, and lines or paths connect the dots according to the branch links. That could allow for showing thread structure with less vertical screen space usage. But I haven't yet dedicated myself to learning/implementing that algorithm for graph drawing.
My implementation of branch + root for votes is in patchfoo commit 544a8927a47bc0e4cc2f925b0dd248668701c906
via %PenBUBH.... I referred to your work in patchbay and scuttle-thread but am not using that code. I am also using ssb-sort's heads function but calculate the set of messages a little differently, allowing for a few types of messages that link to a thread with a property other than root
(i.e. types talenet-idea-comment_reply
and web-root
). Also, I'm assigning the branch property based on what messages are visible on the page from which the message is composed, although this might not be ideal.
I think I get now more what you meant by reinforcing the thread structure. Currently Patchwork sets only one value for the branch property, and Manyverse doesn't set any. Patchbay and patchfoo users make up for this when they reply and link to the thread heads that should have been referenced already but weren't. Now they can do so with vote messages as well, which can help us capture more causal order.