I’m glad to see that plugin metadata on nodes is in the implementation phase (https://trello.com/c/SbjFnQbg), but I wonder how it will work.
Will it just be a singular blob of data per plugin? A native JSON format might also be a good form, so the plugin doesn’t have to pay the stringify-on-set and parse-on-get cost every time (e.g., the API could cache it internally).
What about making it more like a database, which could be queried?
For example, if a plugin needs to examine all the nodes tagged with its data, it may have to walk the entire scenegraph to find those, so in a large document that could be quite expensive.
If the metadata were in a kind of database with columns (or maybe just a noSQL-like form with JSON queries), the plugin could query (only being allowed to see its own entries, of course) only those metadata entries which are relevant to the current operation. And each database entry could have a pointer to the relevant scenegraph node, etc.
Am I making any sense?