Ridley5 opened this issue on Jul 26, 2010 ยท 1724 posts
bagginsbill posted Thu, 19 August 2010 at 2:36 PM
No - the uiCommands.bbml is not ui, it is data. It will be produced by the script before launching the ui.
The ui folder is only to hold the user interface specification.
The data that the program operates on includes stuff that the script has to produce. This is scene data, as well as metadata about what are the legal choices. If you look in the metadata.bbml file you'll see that it lists what the legal values are of the various parameters. This will be generated by the exporter script, before launching the UI. In this way, the UI will not have to change just because in LuxRender 0.8 or whatever there is a new sampler or integrator or accelerator.
The uiCommand.bbml lists all this information - where to read metadata, where to read the scene data, where to write the user's choices, and which actual UI to run. At the moment, there is only one ui, but there can be many different dialogs, any one of which can be launched by the Python code.
The truth is that the initial command file, currently uiCommands.bbml, will actually be dynamically generated by the Python code, and the Python code can write this data anywhere it wants. Furthermore, there does not have to be a uiCommands.bbml file at all. Everything that is in that file is also accepted as command line arguments when the script is launched.
For this first trial, I don't have a Python program to launch the UI, so I hard-coded the initial commands in uiCommands.bbml. It does NOT belong in the ui folder. The ui folder is only for the source code to the ui.
This is also why I added support for zip files. In the final shipping version, there will not be a ui folder. Instead, there will be a zip archive containing all of the UI specificaiton. This will prevent users carelessly messing around with those files, as they will not be present in source form. Further, it will be easy to update the ui specification - it will simply be a zip file that does not need to be unzipped.
My plan is to keep the ui folder as a zipped file on a server. The ui, when it launches, can be configured to check for an updated version. If there is one, it can automatically download the zip file and then begin using it. There will be no need for any complicated steps to update the ui files.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)