AdobeDocs / uxp-photoshop-plugin-samples

UXP Plugin samples for Photoshop 22 and higher.
MIT License
237 stars 79 forks source link

Create a sample that shows Pixel Manipulation using JS Libraries #14

Open ashryanbeats opened 3 years ago

ashryanbeats commented 3 years ago
zrthxn commented 3 years ago

@pklaschka @ErinFinnegan This also seems doable. If I understand correctly, this would entail using some third-party JS library (for example something that makes an image grayscale), to modify a layer, show a preview and then create a new layer of the modified image if the user clicks on a confirm button...

pklaschka commented 3 years ago

@zrthxn Yes. It will be an interesting challenge, though, because UXP currently doesn't support <canvas> or other "typical" helper elements that some libraries use and also doesn't have access to full NodeJS APIs (which some of the other libs might need.

But if you'd like, please feel free to give it a shot. Last round, @jake-pauls successfully used WebAssembly in a UXP plugin, so if you're "open to some trial and error pain" during the implementation, there's probably a lot UXP can do that even I'm unaware of, so go for it πŸ˜‰

ThisIsMrAli commented 2 years ago

@pklaschka @ErinFinnegan Since <canvas> api is not available in UXP environment there is no simple solution for this. I think i can use WASM to make it. I can work on it. Please let me know :)

pklaschka commented 2 years ago

@pklaschka @ErinFinnegan Since <canvas> api is not available in UXP environment there is no simple solution for this. I think i can use WASM to make it. I can work on it. Please let me know :)

@ThisIsMrAli That sounds awesome. I'll ask the team if anyone's currently working on this (to avoid two people doing the same thing). Still, generally speaking, we're always thankful for contributions (and expanding on the idea of using WASM in plugins definitely sounds cool), so I'll let you know if anyone else is working on this as soon as I'm able to confirm it.

Just as a heads up: If you haven't done so already, you'll need to sign a Contributor's License Agreement once you open a Pull Request so that we can accept contributions to the repository (just mentioning this so that you don't begin to work on this and in the end, it goes to waste because of the CLA).

ThisIsMrAli commented 2 years ago

@pklaschka Thanks for your reply. We released some plugins for Adobe Xd earlier in uxplugins as adobe's partner. Actually as Cep developer with several years experiences, I think UXP is really a great way to develop native plugins. So I really love to expand it:)

I was wondering how i can make pull requests and contribute to this repository, Please let me know where can i find the Contributor's License Agreement and how is the workflow.

Actually there are some more ideas that i like to work on them on UXP platform too such as:

  1. Using Nodejs in UXP: Since Nodejs env is not available in uxp, we can use PKG to make executable file of nodejs, so its possible to communicate between nodejs and UXP.
  2. Infinite Scroll Demo in UXP
  3. Using Web Components in UXP
  4. If we could use Nodejs in UXP, Maybe we can develop a tool that converts CEP based plugins to UXP, by seperating the nodejs and js part and connecting the nodejs part to nodejs Executer(explained in the first part) and for the UI part by fixing unsupported tags and attributes.

Please let me know you idea:)

pklaschka commented 2 years ago

@ThisIsMrAli Awesome! I'm not sure if there is currently any user-friendly way of using PKG since UXP plugins can't run arbitrary applications, which could make it hard to create a good UX for running a helper app, but this could be interesting to look into.

Also, Infinite scrolling and web components sound interesting for samples.

If you'd like to work on this issue: Noone else seems to be working on it right now => if you want to give it a shot, feel free to do so ☺️.

Regarding the CLA: That's pretty easy. The only thing you'll need to do at some point in time before we merge your Pull Request is to head over to https://opensource.adobe.com/cla.html and fill out / e-sign the form there. Then, a green checkbox appears in your PRs (once you open them), and we can merge your contributions πŸ˜‰ . Apart from that, you can just fork this repo, make your changes, and open Pull Requests. External contributions are welcome, and after signing the CLA, there's nothing in the way of your PRs getting merged πŸ™‚ .

ThisIsMrAli commented 2 years ago

@pklaschka Awesome Thanks! I just signed the CLA. Should i start with this issue that i reported recently? :)

pklaschka commented 2 years ago

@ThisIsMrAli Sure, go for it! I'm looking forward to reviewing any Pull Request(/-s 😜 ) you open πŸ™‚