The UXP Photoshop API Explained The transition to UXP has fundamentally reshaped the landscape of Photoshop's extensibility. The ExtendScript language, which was used for legacy scripts and CEP extensions, has been deprecated. Meanwhile, Photoshop engineers took the opportunity to rebuild the Photoshop Document Object Model (DOM) from scratch. This isn't just about switching to a different syntax; the data structure of the DOM has been expanded, refined, and enhanced, leading to significant differences. Alongside modern JavaScript, we’ve got several new features that outshine the legacy environment. Learning the new Photoshop API can be daunting: official resources are sparse, forum posts are rabbit holes and code snippets may or may not work. It’d be great if there were a straightforward guide through all this change. ► The history of Photoshop extensibility and how UXP compares with/can be ported from previous technologies. ► All the tools (and tricks) that make the UXP Development Environment fast, productive and enjoyable. ► The new Photoshop DOM and why it has become more powerful and reliable. ► ActionJSON (aka BatchPlay, née ActionManager), in all its glory and excruciating detail. ► A deep dive into the new & amazing Imaging API, possibly the greatest invention after agriculture. ► Implementing Machine Learning models, Rust Web Assembly and Hybrid C++ Plugins. ► User Interfaces, multi-panel plugins, dialogs… and much more!