bebraw / Harmony-Brushes

Harmony+rhyolight's brushes+own modifs (mirror, constraints)
MIT License
9 stars 1 forks source link

new 'Page' ? (question/suggestion) #4

Open stewie opened 14 years ago

stewie commented 14 years ago

Why have you enabled retention of multiple drawings? Do you envision a future version of the app which can display multiple, stacked, pages at once... and user can choose to output a saved image comprised of selected pages, overlaid and flattened?

While looking at the 'Daniel' fork ( http://harmony.uphero.com/ ), which enables the user to choose a custom canvas size, I noticed that it doesn't convey the fact that changed dimensions don't take effect until the "new canvas" is command is performed. Meanwhile, the height/width textboxes clutter the UI and reflect inaccurate (not yet acted upon) values... suggesting the "new canvas" button should raise a modal window, in which the user may input new dimensions or accept the current dimensions, or maximize the dimensions to fit the current browser window.

Would you expect differing dimensions across multiple 'Pages' to present any problems? If not, please consider the inclusion of custom height/width inputs to your 'new page' modal.

[edited to add] Immediately after posting this, I realized that your app already accomodates saving 'Pages' having differing dimensions. Also, perhaps not obvious to the user, but if ya want a smaller canvas, you can resize the browser size smaller before creating a new Page, then expand the window again afterward.

If you don't want to 'bother' modifying the modal inputs, consider revising the "create new Page" code to assess both current window height and width (currently, only window height is assessed?) in determining the dimensions of the new canvas.

bebraw commented 14 years ago

Why have you enabled retention of multiple drawings? Do you envision a future version of the app which can display multiple, stacked, pages at once... and user can choose to output a saved image comprised of selected pages, overlaid and flattened?

The point of multiple drawings is to allow exploration. It should be possible to try out different directions with the same base (forking).

I haven't thought about overlaying seriously yet. Perhaps there should be some form of layer system to allow that. That's pretty secondary for the time being, though.

While looking at the 'Daniel' fork ( http://harmony.uphero.com/ ), which enables the user to choose a custom canvas size, I noticed that it doesn't convey the fact that changed dimensions don't take effect until the "new canvas" is command is performed. Meanwhile, the height/width textboxes clutter the UI and reflect inaccurate (not yet acted upon) values... suggesting the "new canvas" button should raise a modal window, in which the user may input new dimensions or accept the current dimensions, or maximize the dimensions to fit the current browser window.

Would you expect differing dimensions across multiple 'Pages' to present any problems? If not, please consider the inclusion of custom height/width inputs to your 'new page' modal.

Compared to 'Daniel' fork I tend to think about canvas size differently. Whereas he deals with absolute measure (pixels), I prefer to use relative one (scaled to [0.0, 1.0]).

The current solution to use window size as the canvas size is a compromise just to get something to play around with.

When it somes to relative scale, there's one issue to keep in mind: the aspect ratio. Considering aspect ratios of screens tend to vary quite a bit (4:3, 16:9, 16:10, etc.), it might make sense to stick to 1:1 and pick the lengths of the canvas axes based on the min of the ratios.

In this case as the browser window is scaled, the canvas should scale accordingly (performance wise that might not be so cool...).

The main benefit of this approach is that it allows you render the output in almost any size you want. That's great for posters etc.

Sticking to this sort of scheme would simplify multiple pages/overlaying etc. as well. The image can be be cropped to proper aspect ratio later on.

stewie commented 14 years ago

In this case as the browser window is scaled

Maybe that's a default Chrome behavior. I get scrollbars in any of the browsers I've tried -- canvas objects aren't auto-scaled to fit the page. (This is across the board, not specific to your app)