That's not far off what I was imagining. We're more on the same page than not, I think. We're just getting bogged down in terminology. Well, I'm getting bogged down in terminology!
The only major difference is that I didn't see the main screen as an input box to generate stuff, but rather a list of pre-created generators which can be execusted with a button press with an easy link to start creating your own.
I would worry that a box saying "type some syntax in here to use this system" is an offputting thing for the first-time casual user. But "Press this button and get a town description" is inviting.
Regarding things like the GridView whatchamacallit, vBulletin already has a crapload of listing and browsing functionality built in; we can just hook in to that stuff with the bonus that the interface remains familiar to the user.
I like the idea of the field-edited table for casual users. Much less intimidating tha making them type syntax.
We're making stuff up on the fly. Technically, Generator is a good word for what I called asset. Both tables and blocks are generators.
And the List screen is closer to what you envisioned as "pick a thing and click the Generate!" button.
the Main screen i describe is what most table-engines have as their UI to generate content. It's like the command-line interface to make the beast work. Let's call it the Console screen, and defer the details to later.
The list and edit screen are REALLY what you need, no matter what.
As you surmised, the GridView example is just to demonstrate what I'm talking about. It's a list with columns that you can sort by, filter, etc. if vBulletin has similar, great!
to recap on current terminology I propose:
- Generator: a table or a block. It has a name, and the user can run it to get results back. A Tag that names a Generator can be embedded in another table or block, enabling generation of complex things
- Table: A type of generator that rolls a dice result and looks up the result on a chart and returns that result. The result MAY have Tags in it to use other tables or blocks
- Block: a potentially large bit of formatted text that MAY have Tags in it to use other tables or blocks. Useful to define monster stat blocks with random hit points and treasure from the treasure tables, or room descriptions or even an entire adventure, and randomly generated each time based on using Tags.
- Tag: the markup in text that the Parser will find and run the named Generator to replace the Tag with its results. Tags begin and end with a square bracket [].
- Parser: the engine that interpret text content sent to it to identify Tags and run the appropriate Generator.
- Script: like a tag, but using curly braces {}. Script can be dice notation or other advanced functions.
- Dice Notation: the standard nomenclature for saying roll 2 six sided dice, add them up, then add 4. Ex: 2d6+4. Dice Notation enclosed ina Script tag will be executed and the script tag will be replaced with the results.