Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/setup_failure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,17 @@ body:
generation misbehaves, use **Bug report** instead.

Most setup failures so far have been one of three things: a model in a folder ComfyUI does not
read for that node, a port other than 8190, or the UXP Developer Tool pointed at the source
`manifest.json` rather than the built one. Settings > **Check Workflow Health** names missing
read for that node, a ComfyUI on a port the panel was not pointed at (Settings > **Find ComfyUI
Active Port** scans for it), or the UXP Developer Tool pointed at the source `manifest.json`
rather than the built one. Settings > **Check Workflow Health** names missing
models and nodes directly.

- type: dropdown
id: stage
attributes:
label: Where does it stop?
options:
- Installing the .ccx (double-clicking does nothing, or Creative Cloud refuses it)
- Unzipping or locating the plugin files
- Loading the plugin in UXP Developer Tool
- The panel loads but is blank or broken
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/tester_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ body:
id: install_succeeded
attributes:
label: Did installation succeed?
description: The panel loaded in Photoshop through the UXP Developer Tool.
description: The panel opened in Photoshop, installed by double-clicking the .ccx or loaded through the UXP Developer Tool.
options:
- "Yes"
- "No"
Expand Down
57 changes: 57 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,62 @@
# Changelog

## v0.41.0-alpha - 2026-11-05

The beta candidate. No new tools: features are frozen until the beta, and this release fixes what
broke when OpenLayer was checked against the newest ComfyUI and a fresh install. What a beta needs,
and where each item stands, is in [the beta gate](docs/beta-gate.md). The remaining items need
testers on Photoshop 2024, on macOS and on a clean install.

### Fixed

- **Live Painting works on a starter install.** Its live tier runs SD 1.5 with the LCM LoRA, but it
borrowed the model selected on Text to Image, which is FLUX.2 Klein on every starter install since
v0.39, so every live cycle failed. It now uses the Text to Image model only when that is an SD 1.5
checkpoint, and otherwise picks epicRealism or the first SD 1.5 checkpoint ComfyUI has, saying
which. With no SD 1.5 checkpoint at all, it says what to install instead of starting. Text to
Image's own selection is not changed.
- **Workflow Health no longer hides working presets on current ComfyUI.** Against ComfyUI 0.44 it
marked 13 presets "Missing ComfyUI node", among them every crop-and-stitch Inpaint preset, both
Remove object presets, Select by Text, the Klein and Qwen edit presets, Layer Maps, Camera Angle,
Unflatten and Multi-Reference. Every input it named was there; ComfyUI lists it as optional, and
Health only read required inputs. Generating was never affected.
- **A ComfyUI without a graphics card is no longer read as a high-end one.** ComfyUI reports a CPU
device's memory as the machine's system RAM, and OpenLayer read that as VRAM: a 32 GB machine
with no graphics card was ranked as a workstation card, and VRAM limits were sized from it.

### Added

- **Comfy Desktop's port, 8000, is part of the port scan**, right after 8188. Find ComfyUI Active
Port and the first-run check now find a Comfy Desktop install without typing a port.
- **A clear message when ComfyUI runs on the processor alone.** Check ComfyUI says "ComfyUI is
online, but on CPU only." with the reason underneath, and Detect Hardware reports No GPU.
Checked against a real Comfy Desktop instance started with `--cpu`.
- **Every preset is checked against a recorded ComfyUI.** `npm run object-info` records the parts
of ComfyUI's `/object_info` that OpenLayer uses, and a test checks every node, input and fixed
choice of all 39 presets against it, so a renamed node fails the build instead of an artist's
run. Recorded from ComfyUI 0.44.0: everything matches. `npm run object-info -- --check` compares
any running ComfyUI against it.

### Changed

- **The tester report and setup-failure forms describe the `.ccx` install**, and no longer name
8190 as the port to check.
- **[The beta gate](docs/beta-gate.md)** defines what has to pass before the beta, and the full
[UXP smoke checklist](docs/uxp-smoke-checklist.md) has a recorded run on this code.

### Known limitations

- Tested on Windows 11 with Photoshop 2025, an RTX 4070 Ti (12 GB) and ComfyUI 0.44.0. Not run on
Photoshop 2024 or macOS; that is what the beta tester call asks for.
- Upscaling a captured layer imports a full-resolution smart object that Photoshop places at 25%,
so the layer is not visibly larger.
- Importing the first result into a new document removes its empty Layer 1.
- A "Prompt required" message stays on Text to Image after a prompt is loaded from the Prompt
Wallet, until the next action.
- No tool has been timed on a CPU-only ComfyUI, so the CPU-only message names the cause and what to
check rather than which tools stay usable.
- The Adobe Exchange listing can trail this release.

## v0.40.0-alpha - 2026-11-04

Four new things to do with a layer: remove an object, select by naming it, see it from another
Expand Down
12 changes: 8 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@
- **Sixteen tools**, from text-to-image and editing by instruction through inpainting and background removal to
multi-image composition and depth/line-art/normal passes, plus an experimental one that splits a
flat picture back into layers.
- **New in v0.40: remove, select, re-shoot.** Remove object takes a selected object out (LaMa for
- **New in v0.41: the beta candidate.** No new tools. Live Painting now works on a starter install,
Workflow Health stops hiding working presets on current ComfyUI, the panel finds Comfy Desktop on
its port and says plainly when ComfyUI has no graphics card, and every preset is tested against
ComfyUI 0.44. Testers on Photoshop 2024, macOS and clean installs are what the beta waits on.
- **In v0.40: remove, select, re-shoot.** Remove object takes a selected object out (LaMa for
small things, LaMa + FLUX.2 Klein for a whole person), Select by Text turns a word into a live
selection with SAM 3.1, and the experimental Camera Angle shows a layer from another camera
position. Upscale gains SeedVR2, a 2x generative restorer, and results now land at the right size
Expand All @@ -57,7 +61,7 @@ a GPU with 8 GB VRAM or more (12 GB is what this project targets).
OpenLayer is the panel inside Photoshop that talks to it — you work in Photoshop, ComfyUI does the
generating in the background, and every result comes back as a layer.

> **Alpha.** `v0.40.0-alpha` is a public testing checkpoint, not production software. It is stable
> **Alpha.** `v0.41.0-alpha` is a public testing checkpoint, not production software. It is stable
> enough to work with, and honest about where it stops — see [what works and what does
> not](docs/known-limitations.md).

Expand Down Expand Up @@ -223,8 +227,8 @@ like `"Photoshop"` prints nothing and no error, which looks exactly like "nothin

</details>

Verified on Windows 11 with Photoshop 2025. **macOS and other Photoshop versions are unverified** —
reports either way are welcome.
Verified on Windows 11 with Photoshop 2025 and ComfyUI 0.44.0. **macOS and other Photoshop versions
are unverified** — reports either way are welcome.

### 2. Start ComfyUI

Expand Down
2 changes: 1 addition & 1 deletion bridge/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "openlayer-mcp-bridge",
"version": "0.40.0",
"version": "0.41.0",
"private": true,
"description": "Lets an MCP client drive the existing tools of the OpenLayer panel in Photoshop",
"license": "MIT",
Expand Down
12 changes: 6 additions & 6 deletions docs/become-a-tester.html
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
<main id="top">
<section class="hero" aria-labelledby="hero-title">
<div class="hero-copy">
<p class="hero-badge"><span class="pulse-dot" aria-hidden="true"></span> Alpha v0.40.0 &middot; testers wanted</p>
<p class="hero-badge"><span class="pulse-dot" aria-hidden="true"></span> Alpha v0.41.0 &middot; testers wanted</p>
<h1 id="hero-title">Five minutes to<br><span class="grad">your first AI layer.</span></h1>
<p class="hero-lede">
OpenLayer is an alpha. It works on the author's machine, and that is exactly the problem —
Expand All @@ -53,7 +53,7 @@ <h1 id="hero-title">Five minutes to<br><span class="grad">your first AI layer.</
and an honest report of where those five minutes went wrong.
</p>
<div class="hero-actions">
<a class="button button-primary" href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.40.0-alpha">Download v0.40.0-alpha</a>
<a class="button button-primary" href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.41.0-alpha">Download v0.41.0-alpha</a>
<a class="button button-secondary" href="https://github.com/MehranMarxian/OpenLayer/issues/new?template=tester_report.yml">Send a tester report</a>
</div>
<ul class="signal-list" aria-label="What testing costs you">
Expand Down Expand Up @@ -93,8 +93,8 @@ <h2 id="path-title">Install, connect, generate, import, report.</h2>
<article class="setup-step">
<span>1</span>
<h3>Install OpenLayer</h3>
<p>Download <code>openlayer-v0.40.0-alpha.ccx</code> from the release and <strong>double-click it</strong>. Creative Cloud installs the panel — no developer tool, nothing to unzip. Creative Cloud will warn that this file is not verified by Adobe, because it is not the Exchange build; that prompt is expected. You can also install the Adobe-approved version from the <a href="https://exchange.adobe.com/apps/cc/1e827d3d">Adobe Exchange listing</a> with one click; it can trail this release. Keep the file on the same drive as Photoshop. Then open Photoshop: <strong>Plugins &gt; OpenLayer</strong>.</p>
<p><strong>If double-clicking does nothing at all</strong> — a known Windows 11 quirk — the release also has <code>openlayer-v0.40.0-alpha.zip</code>, which loads through the <a href="https://developer.adobe.com/photoshop/uxp/2022/guides/devtool/">UXP Developer Tool</a>: <strong>Add Plugin</strong>, select the unzipped <code>manifest.json</code>, then <strong>Load</strong>. And if that is what you had to do, please say so in your report — the one-click path has only ever been verified on Windows 11 with Photoshop 2025.</p>
<p>Download <code>openlayer-v0.41.0-alpha.ccx</code> from the release and <strong>double-click it</strong>. Creative Cloud installs the panel — no developer tool, nothing to unzip. Creative Cloud will warn that this file is not verified by Adobe, because it is not the Exchange build; that prompt is expected. You can also install the Adobe-approved version from the <a href="https://exchange.adobe.com/apps/cc/1e827d3d">Adobe Exchange listing</a> with one click; it can trail this release. Keep the file on the same drive as Photoshop. Then open Photoshop: <strong>Plugins &gt; OpenLayer</strong>.</p>
<p><strong>If double-clicking does nothing at all</strong> — a known Windows 11 quirk — the release also has <code>openlayer-v0.41.0-alpha.zip</code>, which loads through the <a href="https://developer.adobe.com/photoshop/uxp/2022/guides/devtool/">UXP Developer Tool</a>: <strong>Add Plugin</strong>, select the unzipped <code>manifest.json</code>, then <strong>Load</strong>. And if that is what you had to do, please say so in your report — the one-click path has only ever been verified on Windows 11 with Photoshop 2025.</p>
</article>
<article class="setup-step">
<span>2</span>
Expand Down Expand Up @@ -195,15 +195,15 @@ <h2 id="closing-title">Ready?</h2>
talk it through than file a report, the discussion board has a Setup Help category.
</p>
<div class="hero-actions">
<a class="button button-primary" href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.40.0-alpha">Download v0.40.0-alpha</a>
<a class="button button-primary" href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.41.0-alpha">Download v0.41.0-alpha</a>
<a class="button button-secondary" href="https://github.com/MehranMarxian/OpenLayer/discussions">Open discussions</a>
</div>
</div>
</section>
</main>

<footer class="site-footer">
<p>OpenLayer v0.40.0-alpha. Developed by Mehran Ahmadi, 2026.</p>
<p>OpenLayer v0.41.0-alpha. Developed by Mehran Ahmadi, 2026.</p>
<p>
<a href="./">Overview</a> &middot;
<a href="https://github.com/MehranMarxian/OpenLayer">GitHub</a> &middot;
Expand Down
18 changes: 9 additions & 9 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@
"operatingSystem": "Windows, macOS",
"applicationCategory": "DesignApplication",
"applicationSubCategory": "Plugin for Adobe Photoshop",
"softwareVersion": "0.40.0-alpha",
"softwareVersion": "0.41.0-alpha",
"description": "Open-source plugin for Photoshop that connects to a local ComfyUI server for AI image generation: text to image, image to image, sketch to image, inpaint, outpaint, and upscale with Stable Diffusion, SDXL, and Flux models.",
"url": "https://mehran-ahmadi.com/OpenLayer/",
"downloadUrl": "https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.40.0-alpha",
"downloadUrl": "https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.41.0-alpha",
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
"author": { "@type": "Person", "name": "Mehran Ahmadi", "url": "https://github.com/MehranMarxian" }
}
Expand Down Expand Up @@ -68,7 +68,7 @@
<main id="top">
<section class="hero" aria-labelledby="hero-title">
<div class="hero-copy">
<p class="hero-badge"><span class="pulse-dot" aria-hidden="true"></span> Alpha v0.40.0 · free &amp; open source</p>
<p class="hero-badge"><span class="pulse-dot" aria-hidden="true"></span> Alpha v0.41.0 · free &amp; open source</p>
<h1 id="hero-title">Local AI layers,<br><span class="grad">inside Photoshop.</span></h1>
<p class="hero-lede">
OpenLayer connects Photoshop to <strong>your own ComfyUI server</strong>.
Expand All @@ -77,7 +77,7 @@ <h1 id="hero-title">Local AI layers,<br><span class="grad">inside Photoshop.</sp
<strong>No cloud. No credits. No subscription.</strong>
</p>
<div class="hero-actions">
<a class="button button-primary" href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.40.0-alpha">Download alpha</a>
<a class="button button-primary" href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.41.0-alpha">Download alpha</a>
<a class="button button-secondary" href="https://github.com/MehranMarxian/OpenLayer">Star on GitHub</a>
</div>
<ul class="signal-list" aria-label="Project signals">
Expand Down Expand Up @@ -401,7 +401,7 @@ <h2 id="setup-title">Run it locally in minutes</h2>
<article class="setup-step">
<span>1</span>
<h3>Install from Adobe Exchange, or double-click</h3>
<p>Get OpenLayer from its <a href="https://exchange.adobe.com/apps/cc/1e827d3d">Adobe Exchange listing</a> with one click. Want the latest alpha instead? Grab <code>openlayer-v0.40.0-alpha.ccx</code> from the <a href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.40.0-alpha">latest release</a> and double-click it. Creative Cloud installs the panel — no developer tools, nothing to build.</p>
<p>Get OpenLayer from its <a href="https://exchange.adobe.com/apps/cc/1e827d3d">Adobe Exchange listing</a> with one click. Want the latest alpha instead? Grab <code>openlayer-v0.41.0-alpha.ccx</code> from the <a href="https://github.com/MehranMarxian/OpenLayer/releases/tag/v0.41.0-alpha">latest release</a> and double-click it. Creative Cloud installs the panel — no developer tools, nothing to build.</p>
</article>
<article class="setup-step">
<span>2</span>
Expand Down Expand Up @@ -448,7 +448,7 @@ <h3>An AI assistant can drive the panel</h3>
</article>
<article class="status-card">
<h3>Testing alpha</h3>
<p>OpenLayer v0.40.0-alpha is for local testing and feedback. It is not production-ready yet.</p>
<p>OpenLayer v0.41.0-alpha is for local testing and feedback. It is not production-ready yet.</p>
</article>
<article class="status-card">
<h3>Qwen-Image 2.1 is research-licensed</h3>
Expand All @@ -464,7 +464,7 @@ <h3>Unflatten is experimental, and needs depth</h3>
</article>
<article class="status-card">
<h3>Inpaint is experimental</h3>
<p>v0.40.0 retains the upload and alignment fixes while output quality across checkpoints continues to be validated by testers.</p>
<p>v0.41.0 retains the upload and alignment fixes while output quality across checkpoints continues to be validated by testers.</p>
</article>
<article class="status-card">
<h3>Flux Fill is experimental</h3>
Expand All @@ -487,7 +487,7 @@ <h3>Custom workflows are future work</h3>
<li>Inpaint and Outpaint should be tested on duplicate layers first.</li>
<li>Prompt from Layer requires the local Florence-2 PromptGen model and the comfyui-florence2 nodes. The custom-scripts pack is no longer needed.</li>
<li>Upscale offers a pixel/model 4x and a generative SeedVR2 3B 2x. SeedVR2 can invent detail, is fixed at 2x, and refuses sources whose result would not fit the card: about 20 megapixels on 12 GB (measured), scaled with the VRAM ComfyUI reports (estimated). Tiled diffusion upscaling is future work.</li>
<li>Custom workflow import, batch variants, and generation metadata stored on the layer itself are future work. v0.40.0 keeps the shared metadata foundation and session-history wiring.</li>
<li>Custom workflow import, batch variants, and generation metadata stored on the layer itself are future work. v0.41.0 keeps the shared metadata foundation and session-history wiring.</li>
<li>The LoRA list cannot be filtered by which model a LoRA suits: ComfyUI reports only a name and size. Entries are labelled from their filenames and likely matches sorted first, but a mismatched LoRA loads without error and quietly does nothing.</li>
<li>CI does not run Photoshop, UXP, or ComfyUI integration tests.</li>
<li>Live sampler previews require ComfyUI to be started with <code>--preview-method auto</code>.</li>
Expand Down Expand Up @@ -589,7 +589,7 @@ <h2 id="closing-title">Build local AI layers, one careful step at a time.</h2>
</main>

<footer class="site-footer">
<p>OpenLayer v0.40.0-alpha. Developed by Mehran Ahmadi, 2026.</p>
<p>OpenLayer v0.41.0-alpha. Developed by Mehran Ahmadi, 2026.</p>
<p>
<a href="https://github.com/MehranMarxian">GitHub</a> &middot;
<a href="./privacy.html">Privacy Policy</a> &middot;
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "openlayer",
"version": "0.40.0",
"version": "0.41.0",
"private": true,
"description": "Local AI layers for Photoshop",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion src/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"manifestVersion": 5,
"id": "1e827d3d",
"name": "OpenLayer",
"version": "0.40.0",
"version": "0.41.0",
"main": "index.html",
"host": [
{
Expand Down
2 changes: 1 addition & 1 deletion src/ui/appConstants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { OpenLayerTheme } from "../utils/preferences";
* and `COMFY_PORT_CANDIDATES` still covers 8190 and the rest.
*/
export const DEFAULT_SERVER_URL = "http://127.0.0.1:8188";
export const APP_VERSION = "0.40.0";
export const APP_VERSION = "0.41.0";
export const DEVELOPER_GITHUB = "https://github.com/MehranMarxian";
export const HISTORY_LIMIT = 5;
/**
Expand Down
Loading