-
Notifications
You must be signed in to change notification settings - Fork 208
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
Added Demo for FisheyeGl Module #62
Conversation
I have made the Demo like the one in https://jywarren.github.io/fisheyegl/example/ This has been made with the new UI System |
The link is https://ccpandhare.github.io/image-sequencer/examples/fisheye and not https://ccpandhare.github.io/image-sequencer/examples/fisheyegl, sorry for that. |
Once this is merged in, I will add a link to it in the description. |
OK - this is super. I have some requests and thoughts that will be relevant to the UI system. First, specifically on this module's demo, there are some UI features (very recently added) which make the fisheye system much more useful:
These are all in I think we could reformat that file to simply be directly re-usable somehow in this demo, so upgrades to that UI code can be available here too. But is this a sustainable workflow? More generally, many modules may have very specific UIs designed just for their particular use, and which make them much more useful. How can we design the system to allow modules to supply a UI that's hyper-specific in a flexible but standard way? Could What are your thoughts? |
I am not very sure how we can directly use the code from the module demo.
Maybe we can have the module specify UI components? How does that sound?
…On गुरु, ३, ऑग २०१७, २१:०५ Jeffrey Warren ***@***.***> wrote:
OK - this is super. I have some requests and thoughts that will be
relevant to the UI system.
First, specifically on this module's demo, there are some UI features
(very recently added) which make the fisheye system much more useful:
- drag drop
- url hash used to store the settings, so you can pass a permalink
that's a "preset" for a specific camera
- storing previous images in a grid below, to make batch processing
easier
These are all in main.js here:
https://github.com/jywarren/fisheyegl/blob/master/example/main.js
I think we could reformat that file to simply be directly re-usable
somehow in this demo, so upgrades to that UI code can be available here
too. But is this a sustainable workflow?
More generally, many modules may have very specific UIs designed just for
their particular use, and which make them much more useful. How can we
design the system to allow modules to supply a UI that's hyper-specific in
a flexible but standard way?
Could fisheye also publish a separate fisheye-ui? or could there be a
baked-in module.ui?
What are your thoughts?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AT0xnKZNz-CjKY6OCSzruTtoyHXGjdJOks5sUejagaJpZM4OZn8y>
.
|
Well, we could either release a second module for each, or include a UI
subcomponent in each.
…On Aug 3, 2017 1:21 PM, "Chinmay Pandhare" ***@***.***> wrote:
I am not very sure how we can directly use the code from the module demo.
Maybe we can have the module specify UI components? How does that sound?
On गुरु, ३, ऑग २०१७, २१:०५ Jeffrey Warren ***@***.***>
wrote:
> OK - this is super. I have some requests and thoughts that will be
> relevant to the UI system.
>
> First, specifically on this module's demo, there are some UI features
> (very recently added) which make the fisheye system much more useful:
>
> - drag drop
> - url hash used to store the settings, so you can pass a permalink
> that's a "preset" for a specific camera
> - storing previous images in a grid below, to make batch processing
> easier
>
> These are all in main.js here:
> https://github.com/jywarren/fisheyegl/blob/master/example/main.js
>
> I think we could reformat that file to simply be directly re-usable
> somehow in this demo, so upgrades to that UI code can be available here
> too. But is this a sustainable workflow?
>
> More generally, many modules may have very specific UIs designed just for
> their particular use, and which make them much more useful. How can we
> design the system to allow modules to supply a UI that's hyper-specific
in
> a flexible but standard way?
>
> Could fisheye also publish a separate fisheye-ui? or could there be a
> baked-in module.ui?
>
> What are your thoughts?
>
> —
> You are receiving this because you were assigned.
> Reply to this email directly, view it on GitHub
> <#62#
issuecomment-320006040>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AT0xnKZNz-
CjKY6OCSzruTtoyHXGjdJOks5sUejagaJpZM4OZn8y>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABfJ19ReLtphLdYrZCVomYzkXuFZRlIks5sUgGKgaJpZM4OZn8y>
.
|
I have some concerns here, is Image Sequencer supposed to provide the UI? Maybe we could provide a standard UI - Users can choose to use it or not. But honestly, I don't think Image Sequencer should be handling front end code (By that i mean the markup and the stylesheets). |
Very good thoughts, thanks. I had to think about this for a bit. I think we definitely ought to provide a standard UI -- one which makes it very easy to try out and use the core modules. But on consideration, what I'm proposing is not that we add all the features of I think the UI that How does that sound? Do you think modules should provide their own UI, or should have a corresponding |
If you like this proposal, |
test/image-manip.js
Outdated
@@ -10,8 +10,8 @@ require('../src/ImageSequencer.js'); | |||
//require image files as DataURLs so they can be tested alike on browser and Node. | |||
var sequencer = ImageSequencer({ ui: false }); | |||
|
|||
var test_png = require('../examples/test.png.js'); | |||
var test_gif = require('../examples/test.gif.js'); | |||
var test_png = require('../examples/images/test.png.js'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we should keep test images in /test/images/
even if it's redundant... what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes that does sound good. I shall do that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed this in an upcoming commit
test/image-sequencer.js
Outdated
@@ -42,7 +42,7 @@ test('loadImages loads a DataURL image and creates a step.', function (t){ | |||
|
|||
if(!sequencer.options.inBrowser) | |||
test('loadImage loads an image from URL and creates a step. (NodeJS)', function (t){ | |||
sequencer.loadImage('URL','https://ccpandhare.github.io/image-sequencer/examples/red.jpg', function(){ | |||
sequencer.loadImage('URL','https://ccpandhare.github.io/image-sequencer/examples/images/red.jpg', function(){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like that you want to test this, but I'm concerned about making tests rely on an internet connection. Is there any other way to do this? I guess we can leave it as is for now, but you know what I mean? It just ... feels a bit wrong i guess... but I can't come up with a really really good reason why :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I had thought about this, too.
But I just couldn't come up with a substitute for this.
Maybe we could run this test if and only internet access is available?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am checking for internet access in an upcoming commit.
Hope that is sufficient.
I guess also, what does this mean for this PR? Could we, or should we:
Thanks for thinking through this carefully. It really does get us deeply into the UI phase of the work :-) |
Sure! But let's output a note that we're skipping due to no internet.
…On Aug 5, 2017 1:47 PM, "Chinmay Pandhare" ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In test/image-sequencer.js
<#62 (comment)>
:
> @@ -42,7 +42,7 @@ test('loadImages loads a DataURL image and creates a step.', function (t){
if(!sequencer.options.inBrowser)
test('loadImage loads an image from URL and creates a step. (NodeJS)', function (t){
- sequencer.loadImage('URL','https://ccpandhare.github.io/image-sequencer/examples/red.jpg', function(){
+ sequencer.loadImage('URL','https://ccpandhare.github.io/image-sequencer/examples/images/red.jpg', function(){
Yes, I had thought about this, too.
But I just couldn't come up with a substitute for this.
Maybe we could run this test if and only internet access is available?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABfJ8q1f3koYJ40SjjmdFcM8CYb09-iks5sVKqZgaJpZM4OZn8y>
.
|
Thanks for the review! To sum up and suggest further changes:
|
|
Agreed on everything except that sometimes CSS will be needed for
functional reasons of UI like positioning. So the CSS convention should be
a recommendation only? Or it's for font styling and such, but not all CSS.
Great! So let's merge this and move our recap to a new issue + PR. Thanks!!
…On Aug 5, 2017 2:06 PM, "Chinmay Pandhare" ***@***.***> wrote:
- I think this is a major upgrade and should go in a different PR
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABfJ7KpOWdSIKhMv-ikseJV-B-3PrkVks5sVK8qgaJpZM4OZn8y>
.
|
Okay! |
If you are fine with the changes I made, I shall merge this in! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fantastic. Great work! :-) 🎈
I have added a demo for the FisheyeGl module and it is now live at https://ccpandhare.github.io/image-sequencer/examples/fisheye
As #27 Suggests, I should add a 'crop+fisheyegl' demo. Should I add that in addition to this or remove this altogether and add just that?