Pattern-Projector / pattern-projector

https://www.patternprojector.com/
MIT License
81 stars 17 forks source link

Add zoom on a per file basis #52

Open courtneypattison opened 6 months ago

courtneypattison commented 6 months ago

From the group: "What just came into my mind. Is there a possiblity to add zoom into it. Because i often cut stuffanimals or bags and i don't cut it in the original size every time. I often cut it depending on the fabric i have left.

Maybe you can add something, like in adobe, when i push Ctrl + scrolling the mouse wheel that would be really cool."

I'm hesitant to add zoom and throw off someone's scale but I also would really like this feature. Maybe reset the zoom on new document load?

hluedeke commented 6 months ago

Im ok with this - my only comment would be that I would make the zoom precise. Instead of using a wheel scroll or something adhoc, I would require a zoom percentage input. This minimizes the problem of someone accidentally scrolling and allows people to do what they will most likely want to do anyway: set an exact scale.

courtneypattison commented 6 months ago

I agree with the zoom percentage input. Also i think that would need to be some obvious indication that you are zoomed. Some large indicator or colour change. Something obvious but not hideous. I can't think of any good ideas for that though!

roel-v commented 6 months ago

While I haven't contributed any code so my comments aren't worth much, and I have also wanted this functionality a few times myself already so from a selfish perspective I'm in favor, I have also several times thought back to the reason it's not there and always concluded that it's for the better that it's not there. I'm sure you all follow the Facebook groups where PP is discussed, and that you've seen the level of confusion amongst the PP target audience wrt the relationship between things on their computer/tablet display and their projected surface, and what 'zoom' means in this context. When people try to calibrate, they will see a 'zoom' button and think they have to use it for calibrating their projection matrix, just like they had to (and how it's described in the manuals for) doing it without software like PP - adjusting projector keystone, projector position and PDF zoom until it all matches. If you add it, I think you need to hide it under several layers of 'advanced settings'. And/or project "Warning: PDF not projected to scale" in large settings across the PDF. It can be hideous, as I think that 9 times out of 10 when it will be used, it'll be user error.

But to be fair, I think someone scaling stuffed animals is a rather niche use case that doesn't warrant the complexity and will result in losing users for whom even the current setup and options is already at the edge of (and often beyond) their technical capacity.

courtneypattison commented 6 months ago

Your comments are worth a lot! You’ve been super helpful. I do agree that this one is tricky and likely to harm more than help. I feel like there has to be a way to hide it enough or make it obvious enough to work. I don’t have a good idea for how to do it though, so let’s table this for now. I selfishly want it for projects other than sewing. I made a cute “no junk mail” sign with the PP prototype and that had zooming so it was easy to fit the text/design to the piece of wood I had.

hluedeke commented 6 months ago

I like your explanation @roel-v. It does feel like an "advanced setting". And your comments are great - just because the world of web dev is more foreign to you than to us doesn't make your points any less valid! I actually think it's really cool that you've gotten out of your comfort zone and tried something new/foreign to you - that says a lot.

Perhaps if we did implement "zoom", the label would be something like "custom scale" and as you mentioned, maybe buried in advanced settings somewhere.

@courtneypattison I'm totally good with tabling this one. I have not needed it, so I'm selfishly happy to let it sit 😂

courtneypattison commented 5 months ago

@sashasewist Here's the zoom issue I was talking about. I'm just realizing @hluedeke already suggested using scale to describe it! Great minds think alike!