electronicwhisper / recursive-drawing

568 stars 77 forks source link

Undo, and share #1

Open froztbyte opened 12 years ago

froztbyte commented 12 years ago

Pretty cool project! I'd love to be able to see what other people do with things using this, so could I perhaps suggest some sort of sharing mechanism be implemented as well?

The other thing that I found wanting when poking at it this morning was the ability to undo the last (n) action(s), usually when I forgot to create a new layer before dropping an object on its own layer (hey, the coffee wasn't done yet..)

electronicwhisper commented 12 years ago

Thanks for the feedback! In the meantime, for undo, you can delete a shape by right-clicking it in the canvas.

froztbyte commented 12 years ago

Hmm, but how do I undo /that/ action then? Might be best to split this off to another issue though?

electronicwhisper commented 12 years ago

No, you are right, there is currently no real undo functionality. Was just dropping that tip in case it helped you in the meantime until I'm able to get back to coding on Recursive Drawing.

froztbyte commented 12 years ago

Cool. I don't think I'd be able to write any code on it in the meantime either, but who knows, maybe I get lucky on some time. Thanks for the tip though, it should help a bit.

forresto commented 12 years ago

A save link with window.open(document.getElementById("workspaceCanvas").toDataURL("image/png")) would be pretty easy.

electronicwhisper commented 12 years ago

Thx @forresto. Yeah I actually even started implementing that in src/export.coffee. A lot of things aren't in there because I've been kind of anal about making sure the UI is really focused and I haven't had too much time to actually hack on Recursive Drawing lately as I've been getting other thesis materials together.

In the coming weeks I will be looking for opportunities to continue improving Recursive Drawing and figuring out what features would be beneficial to the app and also interesting research opportunities for investigating spatial programming concepts.

Btw @forresto nice work with meemoo, was checking that out yesterday :)

forresto commented 12 years ago

Awesome. We want to make a fork of rd that works in Meemoo. Is there some code version of the drawing that I can get out / tinker / put back in?

electronicwhisper commented 12 years ago

Yeah. On the window object there is koState.definitions (which is a ko.observableArray from knockoutjs). So if you access that you can get out the shape definitions whose formats are defined in app/model.coffee. If you modify koState.definitions, you have to manually call regenerateRenderers and render. Sorry so hacky :) was in a rush getting last minute features in and had to make sure performance stayed solid.