Skip to content
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

Low-level batchPlay powered API #52

Open
AAverin opened this issue Mar 26, 2021 · 0 comments
Open

Low-level batchPlay powered API #52

AAverin opened this issue Mar 26, 2021 · 0 comments

Comments

@AAverin
Copy link

AAverin commented Mar 26, 2021

Building extensions in Photoshop often requires to make operations as fast as possible.
While javascript API already offers some of the functionality, all of the functionality required is already available by running actions in batchPlay.

It would be great to get a javascript library with all functionality working as a wrapper on top of batchPlay, while still having access to low-level predefined batchPlay actions.

This would allow developers that don't need advanced functionality leverage power of batchPlay by using js wrapper directly and developers that do need advanced and fast operations chained together use pre-defined batchPlay actions directly and chan them in the necessary order without using javascript library methods directly.

As a more concrete example.
PS UXP JS library could expose builder methods that would allow to build ActionDescriptors for batchPlay like Layer.ActionDescriptors.rename(parameters) could return a descriptor that would rename a layer based on some parameters.
Or there could be Channels.ActionDescriptors.invert() or maybe even Calculations.ActionDescriptors.calculate(properties) or even prepared descriptors for Adjustment Layers and operations on them.

Then javascript UXP library could be using same low-level descriptors to have a more high-level set of methods like
renameLayer() could be internally using Layer.ActionDescriptors.rename(). And while low-lever descriptors are exposed, advanced users would be able to leverage them too directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant