Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework UI Handling #85

Closed
ccpandhare opened this issue Jul 28, 2017 · 9 comments
Closed

Rework UI Handling #85

ccpandhare opened this issue Jul 28, 2017 · 9 comments
Assignees

Comments

@ccpandhare
Copy link
Collaborator

@jywarren you were once suggesting changes in the UI module. I thought upon them, and find them really interesting. Also, the current system has forward compatibility issues (Adding new features to it is really complicated. The code quality isn't very good). I have been working on the new model, with a much cleaner syntax and code and working on it all day. Will create a PR when ready.

Some takeaway features are:

  • User defined variables : Users can define a variable for any step. This can be used to store the reference of an HTML Element, for further use in the other events (Like you suggested earlier) .
        sequencer.setUI(
            onSetup: function(step){
                step.image = document.createElement('img'); // create a user defined variable step.image
                step.image.setAttribute( 'id', 'IS-'+step.ID ); // access the default variable step.ID
                ... // append to DOM and other stuff
            },
            onComplete: function(step){
                step.src = step.output;
            },
            onRemove: function(step){
                step.remove();
            },
        );
  • Unified variables : Earlier there were too many unnecessary variables and objects in the picture : options, identity, etc. Now all come under the same banner steps. This brings in clarity and helps maintain code, and is good for new contributors!
  • Easier to understand and more User Friendly.

I am sorry, the "Bootstrapping Phase" doesn't seem to end very soon, major functionality changes happening every day... :(

@jywarren
Copy link
Member

jywarren commented Jul 28, 2017 via email

@ccpandhare
Copy link
Collaborator Author

Yes, you are right. We have to follow a timeline. I shall stick to it.

Now that the new version of FisheyeGl has been published, I can re-implement the FisheyeGL Module!

@jywarren
Copy link
Member

jywarren commented Jul 28, 2017 via email

@ccpandhare
Copy link
Collaborator Author

"Rework UI Handling" has actually solved a few things for us!

  • Modules can give any number of output(s) to the user
  • User can send in inputs to the module
  • It is much cleaner

@ccpandhare
Copy link
Collaborator Author

This is similar to Metadata. Except that the metadata is stored per "step" and not per "module-name"

@jywarren
Copy link
Member

jywarren commented Jul 31, 2017 via email

@ccpandhare
Copy link
Collaborator Author

ccpandhare commented Aug 1, 2017

I'd even like to consider making a demo that's a complete replacement for Infragram.org and FisheyeGL -- with the extra HTML UI those two have.

A FisheyeGl-like demo has been created. (PR #62)
It can be previewed at https://ccpandhare.github.io/image-sequencer/examples/fisheye

@ccpandhare
Copy link
Collaborator Author

@ccpandhare
Copy link
Collaborator Author

I think this part is over and we are now onto #87 for UI development, So I am closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants