Hi Mr_Strange,
1 - Deleting / Excluding the "main" nodes. This would be very nice for me. I can do it manually, as you point out. Helps if all of this is in a predictable chunk at the start of the file.
Yes the format is always strict, in regards to the "main" nodes and even always in a very specific order:
- Settings
- Project
- Global Variables
- Packages
- ScriptMethods
- Hierarchy
2 - Dealing with "empty" nodes. This is my bigger complaint. I've manually turned off EVERYTHING in my export dialog. And yet I still get dozens and dozens of these entries in my export:
This is correct, but what you are seeing is the Hierarchy node. This is a sort of meta node. This node contains your complete project structure in a condensed form as it only carries Id, TechnicalName and Type and nothing else. We added that main node if people want to create something like a treeview control for their engine/tools or needed that kind of information for error detection, because the Hierarchy contains all objects, no matter what you set in the data layout. You could use that for cross referencing for example like "Its in the hierarchy, but not in the object data".
When you look into the
Packages node, you will find all your actual data, sorted into Packages, set by your Ruleset. And here are your filtered objects that you selected via DataLayout with exactly the set properties. So in your usecase you are probably fine by ignoring everything and only use that Packages node.
I think I can summarize everything this way: You have added a way to export the articy: draft project, and allow it to be loaded / imported elsewhere. Awesome. But in addition to that, I want a data-only export style, which I can use to feed my games. I want to have NONE of the project-specific data, templates, or formatting. Just export my data.
Arguably the export is more verbose than necessary, but the reasoning here was that it is meant as an intermediate format: "Pick what you need and put it in the format you need". It is quiet difficult to create a format that suits everyone, so we thought an intermediate format is the safer way to go. Ofc we have that already in the old XML export, but that was very difficult to read (for humans), weird to parse(jumping from id to id) and contains everything; all data no exceptions. The new ruleset exports are more of a middle ground. But i can understand the desire to have a format to use directly, thats why i think its a good idea to add the option to exclude certain main nodes for the regular json export.
I hope i cleared everything up and if you have any more question, let me know!
Best regards
Nico