I followed some of these threads for a short time, so my knowledge of all discussions are only partial.
(Sorry, it is slightly incoherent, it is four in the morning.)
The page you link to gives the usual wikitag soup I really-really dislike. Adding a reply-link and and doing the posting on visual page helps, but keeping the wikitag soup as bad as it is without cleaning up is less so. Given that this is what many advocates (even if it makes me puke – it really does) then really good solutions are lost, it is more a question of what can be salvaged from the chaos.
(rant: The wikisoup creates a master language that rises some editors above the plain readers. The plain readers that don't control the language of the master race will then feel intimidated. It can be said in many ways, but by creating distance between one group and another group we are creating a deep hierarchy. With wikicode we do it with technical means, but the end result is the same – someone will be intimidated.)
There are at least two different types of replies; one on the main thread which I would simply call “reply”, and one on a specific post which I would call “reply-to”. The first one would be the plain anonymous parser function, while the second would have some kind of id. When I was playing around with a gadget to do this I found that the timestamp was usually sufficient. At enwiki you would probably find that this will create ambiguity, so you can instead use username-timestamp for an id. If even that creates ambiguity you can add the revision, like username-timestamp-revision. Fun thing is, if you give an empty id the system might fill in the id to make it sufficient, or you might create something like "my-amazing-idea". I don't know whether it should be an id or a name attribute, that has some implications. It is somewhat easier to use a counter, like VisualEditor does for references, but a situation might emerge where the whole page is archived, and what would the value of counter then be as there are no old values.
For those cases where the reply is a single part it can be inserted as before. If the reply is multipart, or it is a reply to a specific user, then the easiest solution is to wrap it in a tag function (<post>Here goes the post</post>
), armour the output, and use the same indentation +1 given the post for the reply. If you don't do that you run into all kinds of problems. If users insists on writing multi part posts manually with all kinds of made up weirdness, then simply avoid doing anything with it. Add some niceties to the tag function like “thank” link, and people will start using it by themselves.
If the reply is on the main thread, ie. created from a “reply” and not any “reply-to”, then add it in whatever indentation +1. This type of post can use the username and timestamp if the post is signed, but those should be normalized. They can be put back in as stylised signatures, but they should be on a format that can be easily parsed. Here you could use magic names as URN, and do some tricks to parse the timestamp as an URN, but some devs insists on removing the magic names. Trying to parse the insane tag soup for signatures as it is now is probably pretty much stupid… Use a parser function for name and timestamp.
In a multipart post with a post tag function add the user name and timestamp as attributes in the head.
I believe replies should be ordered ascending chronological in the main thread, but a reply-to should be descending chronological on the actual post. Now Flow use ascending chronological on reply-to, but this gives the wrong impression. If I do a reply-to on Whatamidoing I will get a post below this one, which is wrong in my opinion. The reason why it is so is said to be enforcing a flow towards a consensus, but quite frankly I doubt that idea work at all. Usually there aren't that many replies to a single post, the most I have seen is a handful.
In my test at the linked page I got a post inserted on a very weird place, and without any way of telling who I responded to. That is really-really weird. If I reply to someone I would expect the reply to be to this person and not some other stranger. This type of reply are often creating harsh disputes on nowiki. “Do you talk to me? I didn't say so and so!”
One way to get a pretty nice and simple solution is to name the person you do a reply to, that is the same that the post tag function will do, but you might do it as {{reply-to:username|timestamp}}
or if you insist on adding new wikisyntax @username-timestamp|
. The final vbar is modelled after table syntax. Note that it is a bit awkward to reply to two posts at once. This form of lead-in could be given some special formatting, and then strengthen the readers mental model of this is the beginning of the post. A toolbar after the signature will likewise strengthen the readers mental model of this is the end of the post. It is slightly odd that you end with as much wikicode this way as a tag parser function, but users will probably feel it is more “wikiesque”.
If you make it clear who you reply to, you can add posts at the same indentation level. As it is rather important to avoid deep indentations due to readability, it is important to clarify who you reply to.
Now, assume a callback is registered on the block holding reply-to information, and the user hovers on that block, then the linked post can be highlighted with a marker along the edge. This is pretty simple, but you must have the linkage information, that is at least a timestamp. That will make it a lot easier for the reader to figure out who is replying to whom. Just dumping some text on the page, with or without added VE editing help, will not be very useful. That is my main concern with the linked page, it does not enhance readability, it only enhance editability (yummy).
It is likely that users will ask for a parser function like {{reply-to:username|timestamp}}
pretty fast if it becomes easy to point to other posts. In this case they will use it inside their reply, and then they will need some easy way to copy-paste such templates. They will probably just copy the reply-to link and try to paste it inside the edit window.
(The gadget I experimented with was motivated on how to do such highlighting with a special link. It is possible to do this to some limited degree with signatures as the only hint of targets, and a callback run at load time. It simply traversed the parents until list items was found and then added formatted ids. When a fragment link hit the post, then it got a green border.)
Another typical copy-paste is inserting text from the replied post. Other systems usually dumps the whole post inside the window at the cursor position, or at the beginning, or at the end. I'm not sure what's best. Perhaps the user should be allowed to drag-n-drop from the page.
I tend to believe there are several filter and sort orders. You should be able to mute some discussions to be able to figure out what goes on in a discussion of special interest. Assume you have some indentation, who has replied to this specific post? That is much harder to do than to describe, and I don't know if it is possible with a free form wikipage.
Lastly; sometimes you need to know whether someone agree or disagree with a statement. It is quite similar to a “thank”, but would log an active yes or no. This is the easy use case. The more difficult use case is quite involved. I started to write a description for User:Jeblad/subjective voting (in lack of a better name) but it is darn hard to get it right.
Last II: A discussion thread should usually start with a well-defined post, and if that is wrapped in a post tag function, the the spawned div could use a class that transforms the following lists so they have lines on the side. Those line will make it easier to visually see who replies to whom, and may make it unnecessary to identify which post you reply to. This seems to work up to some number of indentations, and then it becomes hard to follow. It is especially the long lines that are troublesome when they run off the screen.
It easier for users that writes the replies manually when they don't have to track who they reply to, but it also makes it possible for users that refuses to follow etiquette to seriously mess up the threads. I could give examples, but then I would probably create a similar chaos in this thread. ;)
The fundamental clause is that you have one canonical definition of a thread, and if someone break that it very quickly gets really messy. Ie. someone decides to outdent to margin even if they reply to someone that has indented. In this case the previous replied post must be stated explicitly, but then if someone later will reply to the original post they to must state that explicitly. It is messy.
Last III: I wonder if it should be visually different whether you reply to a post or you discuss a topic. It could be easier if the users clearly discuss a topic on the leftmost branch, and replies to posts on the other branches. That could streamline the flow somewhat, but I don't know how that should be done. It is probably not sufficient to just name the links differently, somehow the users must want to make discussion on topic focused.
Wild idea; What if posts are detached from the left branch after votes. They stay to the left, gets a little greyed, but not on the branch, and people can reply to them. That little gap could be sufficient for people to stay focused on the thread, as they don't want to get sidetracked. A simple vote on whether the posts is helpful, and only helpful posts stay on the branch. Perhaps it works… Could be trolled easily though, so need some limitations.