Similarly to load_project _from_url the servlet load_file could generate a Geppetto project and a geppetto model to load a supported model inside geppetto.
This could be used to load an NWB file, an OBJ, a Collada, a NeuroML, etc. The user wouldn't have to worry about creating a project or anything, they'd just point the servlet to their external file. This would enable to use Geppetto as a simple viewer.
The project generated can be different for the different types. For instance for an NWB file we want to show by default an opened control panel filtered by all the sweeps. For an OBJ or a Collada file we want to show the 3D model centered in the scene, etc. We should probably have a template for each supported format and such template should probably live inside the model bundle of that format along with a service to retrieve it.
Optionally: We could add in the dashboard a special project where you can drag and drop a file which then gets uploaded and visualized.
[ ] Extend ServiceRegistry to receive a parameter when registerModelFormat is called. The parameter is the extension, so instead of just saying registerModelFormat("COLLADA") we'd do registerModelFormat("COLLADA","dae")
[ ] Add GenerateGeppettoArtifacts class (use this as template) which will reply to the three generate calls. The implementation of the three of them will just use methods defined in the GeppettoManager (see below) which returns a String.
[ ] Extend GeppettoManager to handle the new generate calls. The extension will be checked, the services registry will be queried, the specialised template will be used if the model interpreter returned by the registry supports the generate feature, otherwise it will fall back to the default template. The Geppetto manager method will return a String.
[ ] Add to the dashboard a javascript API command that when invoked will make a special project appear. This project supports drag and drop of a file. This will require an additional servlet to upload the file and return a URL to it.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Similarly to load_project _from_url the servlet load_file could generate a Geppetto project and a geppetto model to load a supported model inside geppetto. This could be used to load an NWB file, an OBJ, a Collada, a NeuroML, etc. The user wouldn't have to worry about creating a project or anything, they'd just point the servlet to their external file. This would enable to use Geppetto as a simple viewer.
The project generated can be different for the different types. For instance for an NWB file we want to show by default an opened control panel filtered by all the sweeps. For an OBJ or a Collada file we want to show the 3D model centered in the scene, etc. We should probably have a template for each supported format and such template should probably live inside the model bundle of that format along with a service to retrieve it.
Optionally: We could add in the dashboard a special project where you can drag and drop a file which then gets uploaded and visualized.
Bonus task
The above to be used will require going to such URL;
The above URL could be generated through a UI:
Design