I see your description here as covering what your package does and how, but I’m not yet understanding why (what problem this kind of $:/virtual tiddler helps us solve).
For all the use-cases I’ve worked on over the years, the value of a virtual tiddler IS its name. It’s an author name, or a tag name, or a field name, or a field-value name, etc… It’s not “created” (by a button or otherwise), but it gets displayed in the story river because a tag-name link is clicked, or an creator-name, or some other field is designed to offers its contents as links, even though not all of them point to tiddlers.
It’s a “node” in tiddler-naming-space, and it’s valuable to show a template for that “virtual” tiddler (for that node) because the template can pull together some useful information for that meaningful node in tiddler name-space, even though there’s no such tiddler (yet). AND, since the node is already a meaningfully-titled node, it’s easy to invoke edit mode to add further details for this tiddler… Saving those changes makes it now real, and one wants it to be real as the helpfully-named tiddler with no special prefix. (Often, the template that showed for the missing tiddler is a kind of view template that will continue to apply to the real tiddler (as a helpful footer or dynamic table, etc.). But occasionally one may want some template to appear only so long as the node is empty ( = tiddler is virtual).)
Like @Scott_Sauyet I suspect that your solution here, @Mohammad, is using the concept of “virtual tiddlers” a bit differently (since I’m still baffled by the $:/virtual prefix — what purpose it serves).
So perhaps an example of how you’d use this $:/virtual approach (with examples that show what kind of problem it solves) would help us appreciate another dimension to what “virtual” could mean.
