-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
Add roam plugin. #781
base: master
Are you sure you want to change the base?
Add roam plugin. #781
Conversation
Add roam plugin to allow the user to change the view freely.
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.
Thanks kdxcxs!
This is very impressive. I have implemented something similar in impressionist however, unlike you I did miss CS computer graphics classes and you can tell the difference. I was impressed to read your clean implementation.
I have a small number of impress.js specific changes requested.
In addition, it could be nice to advertise this feature in some of the demo presentations. The classic-slides demo is intended to showcase most features, so you could add text somewhere - maybe to the last overview step - to advertise roam plugin. In addition it seems the 3D-rotations demo is kind of topical here?
Thanks henrik. I'm really happy you like the idea and it's an honour to contribute to such a cool project! Actually I'm not sure if it's better to move just the view instead of the active step. Also, I couldn't come up with a impressive way to advertise it for now as I want to keep the demo cool and clean. I'll do my best. |
Of course. I just meant the overview step could have the text somewhere. Or it can just be a regular slide.
I can do it separately if you don't feel like it. |
impressActive = false; | ||
target.apply( thisArg, argumentsList ); | ||
} | ||
} ); |
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.
Ah, sorry. I should have pointed to this in my last review, but I had forgotten how exactly to do this. Please use
gc.pushCallback(my_function);
Line 60 in f68e5ff
var pushCallback = function( callback ) { |
... to register a function that is called as part of impress().tear()
.
Example:
gc.pushCallback( function() { |
Oh, and please run |
Hi, again... So I downloaded your branch and tried it a bit. It works and is really cool, but... I think this is what you referred to as well: It probably makes more sense not to move the current step and rather move the "view". Impress calls it the canvas element, in Impressionist I call it "camera". Anyway, this is how you get to the canvas element: It's a Moving the canvas means that I can "roam" around the entire presentation, but the slides don't move in relation to each other. Minor: For the left hand, I wonder if it would be more natural to use keys a-f, w-s, e-d instead? (Corresponding to left-right, up-down, in-out, respectively.) The way you have it now, I would expect w-s to move up-down. But this is subjective, it's equally correct the way you've implemented it.) |
Add roam plugin to allow the user to change the view freely.