ComfyUI Frontend Direct Combined Vue-Node 2.0 Wheels
These custom frontend wheels bring the direct implementations from four ComfyUI frontend pull requests to the 1.46.2, 1.47.11, and 1.49.3 release lines:
The builds replace the retired +renderapi artifacts. They implement the behavior inside the frontend and do not expose app.extensionManager.vueNodes.rendering, createPushController, or a replacement public rendering-control API.
Why We Stepped Back from the API Approach
The public API approach required snapshots, subscriptions, controller coordination, contribution merging, and extra lifecycle synchronization across the frontend-extension boundary. That was unnecessary work for behavior now owned entirely by the frontend, and it added overhead to frequent viewport updates. Implementing the features directly is faster, has fewer moving parts, and avoids making extensions maintain integration code for capabilities the frontend can provide natively.
Install one wheel only. The three wheels are alternatives for different frontend lineages, not packages to stack.
Which Wheel Should I Choose?
Choose the wheel whose public version matches the frontend expected by the target ComfyUI installation:
Use
1.46.2+combined.aa334f0c1c.20260802for installations intentionally remaining on the final pre-subgraph frontend lineage.Use
1.47.11+combined.28f07b916e.20260802for installations pinned to the official1.47.11line, including ComfyUIv0.29.2.Use
1.49.3+combined.a6569d60ce.20260802only for installations already using the1.49.3frontend line.
The local versions sort above their matching public releases and below the next public patch under PEP 440. A custom frontend wheel does not update the ComfyUI backend or make an older backend equivalent to a newer release.
The local ComfyUI v0.26.0 validation environment intentionally uses the 1.46.2 combined wheel even though the official backend requirement pins frontend 1.45.19. That is a tested local compatibility choice, not the official release pairing.
What Is Included?
Expanded-Size Preservation
Expanding a collapsed Vue node restores its previous expanded dimensions. The geometry remains stable through collapse, expansion, virtualization unmounts, and remounts instead of retaining the compact collapsed size.
Release-compatible handling also preserves dense and named widget values, including empty promoted-widget values on the 1.46.2 lineage.
Viewport Virtualization and Low-Zoom LOD
The frontend can unmount offscreen Vue-node components while preserving graph behavior and remount them when they return to view. Nodes required by active pointer interactions remain available, and remounting republishes current geometry so nodes, slots, links, and widgets remain aligned.
At low zoom, level-of-detail behavior reduces unnecessary node detail. The full-detail threshold is configurable. Virtualization and LOD are internal frontend behavior; no extension-side controller is required.
Compact and Status-Badge Display Settings
The builds include native settings for compact collapsed nodes and hiding node status badges. Compact sizing composes with expanded-size restoration and virtualization rather than replacing either behavior.
Collapsed Stacking and Drag Ownership
Collapsed nodes receive the intended paint ordering, including consistent stacking relative to links and other nodes. Pointer ownership remains with the node being dragged, preventing overlapping collapsed nodes or remounts from stealing an active drag.
Settings
The five direct settings retained on every release line are:
Comfy.VueNodes.CompactCollapsedNodesComfy.VueNodes.HideStatusBadgesComfy.VueNodes.ViewportVirtualizationComfy.VueNodes.LowZoomLODComfy.VueNodes.FullDetailZoom
They are ordinary frontend settings. ComfyUI Eclipse is not required to own or drive the virtualization policy in these builds.
Source Provenance
The four PR branches were refreshed to these heads before integration:
#14258expanded size:2f497473d269f9cefb185e66fd28ab2ec9d58799#14259viewport virtualization:d5321964047790a714e9afecbc586ef3e5d9908c#14260display settings:36ed8a3b5fc95b8d6c2e0e854d476e75aed674d8#14261collapsed stacking:798f513ba15d6056ff7e21c0b410d340ab331eb4
They were combined in dependency order: expanded size, virtualization, display settings, then stacking. The same canonical delta was applied to each release base, with release-specific compatibility work kept in separate commits.
Frontend 1.46.2 Source
Release base:
7599c6a1ca2e884d4b7bb2506c304de9f918c05cBuild branch:
build/combined-1.46.2-20260802Source head:
aa334f0c1cbdf9f561d8af2b6d3cf4df1073374a
Frontend 1.47.11 Source
Release base:
dd0aa89ce6890268dc770146d70b87d7d42b2682Build branch:
build/combined-1.47.11-20260802Source head:
28f07b916e35dd584010945569865cd38cb34b05
Frontend 1.49.3 Source
Release base:
dfefba0729333852f351f3bc9a16958f1ca8690eBuild branch:
build/combined-1.49.3-20260802Source head:
a6569d60ce8ffbb260b45ddfa49c9a9191f2cf6e
Release Compatibility Adjustments
1.46.2uses the release's native node-ID types and browser-test APIs. It backports named-widget serialization and preserves empty promoted-widget values. A telemetry-only scenario from newer releases is omitted because this lineage has no corresponding telemetry surface.1.47.11backports the complete named-widget schema, setting, and serialization service. Resize fixtures use a deterministic default workflow, and four snapshots record the intentional direct resize-corner result.1.49.3uses the deterministic resize fixtures and the same intentional resize-corner snapshots without older-release production adaptations.
The subgraph-transition commit 0157b4702416db73131f4aee96b79a5ddfa03d2f is not an ancestor of the 1.46.2 build.
Verified Artifacts
The wheels and their ZIP wrappers are in artifacts/combined-20260802/. Each ZIP contains exactly its matching wheel; it is not a separate compiled-static archive.
Frontend 1.46.2
Version:
1.46.2+combined.aa334f0c1c.20260802Wheel:
comfyui_frontend_package-1.46.2+combined.aa334f0c1c.20260802-py3-none-any.whlWheel size:
28,000,395bytesWheel SHA-256:
bbf33579159dd86eee94421b02a03db6289b3d5769ee66d6196a255ab542d1f1ZIP:
comfyui_frontend_package-1.46.2+combined.aa334f0c1c.20260802-py3-none-any.zipZIP size:
27,892,829bytesZIP SHA-256:
573a04facd1a573725f52b60c2da91294cc797619a0e434a6dbec708f08d8423Static files:
639
Frontend 1.47.11
Version:
1.47.11+combined.28f07b916e.20260802Wheel:
comfyui_frontend_package-1.47.11+combined.28f07b916e.20260802-py3-none-any.whlWheel size:
22,099,492bytesWheel SHA-256:
7df7dc03a5aa85525c02c30bda8545356336b0d3baa6cc39eeff94855b1c5a40ZIP:
comfyui_frontend_package-1.47.11+combined.28f07b916e.20260802-py3-none-any.zipZIP size:
21,980,216bytesZIP SHA-256:
86a62acdaed264f66412b3f6b75c03c4de6ada807eb43c9b582e9dd8cb81808fStatic files:
709
Frontend 1.49.3
Version:
1.49.3+combined.a6569d60ce.20260802Wheel:
comfyui_frontend_package-1.49.3+combined.a6569d60ce.20260802-py3-none-any.whlWheel size:
23,290,162bytesWheel SHA-256:
531b2c048f7cf76b1d0a1214b984a50ee7b592804c628c12eebc586f77c8c00cZIP:
comfyui_frontend_package-1.49.3+combined.a6569d60ce.20260802-py3-none-any.zipZIP size:
23,128,037bytesZIP SHA-256:
b0b14bce680e5ea7fdcabbf89f59defdfe7bfe5187274a1e990c3a64231f5456Static files:
952
For every release:
wheel metadata reports the exact local version;
the local version has the intended PEP 440 ordering;
wheel and ZIP CRC checks pass;
the wheel contains no
.tsbuildinfooutput;the embedded static payload is path-for-path and byte-for-byte identical to the validated production
disttree;the ZIP contains exactly one wheel whose bytes match the standalone wheel; and
the recorded SHA-256 hashes match the final artifacts.
Validation
The final branches passed focused behavioral tests for layout, node sizing, slot tracking, resize tracking, LOD, viewport virtualization, remounting, collapsed stacking, drag ownership, and paint order.
Focused Vitest: 216 tests across 13 files on
1.46.2, 255 tests across 14 files on1.47.11, and 248 tests across 14 files on1.49.3.Source typecheck, browser typecheck, format check, stylelint, type-aware oxlint, ESLint, knip,
git diff --check, and production builds passed on all three lineages. Reported lint messages were existing baseline warnings.Focused Chromium coverage passed for viewport virtualization and remounting, compact collapse, expanded-size restoration, stacking and paint order, pointer drag ownership, resizing, settings, link stability, groups, and widget behavior.
Archive metadata, ordering, integrity, contents, static identity, and hashes were revalidated after installation.
Installation
Stop ComfyUI before installing. Download the wheel for the selected lineage; the adjacent ZIP is only a wrapper containing that same wheel.
Windows Portable
Open PowerShell in the ComfyUI portable directory.
For frontend 1.46.2:
.\python_embeded\python.exe -m pip install --force-reinstall --no-deps "C:\path\to\comfyui_frontend_package-1.46.2+combined.aa334f0c1c.20260802-py3-none-any.whl"
For frontend 1.47.11:
.\python_embeded\python.exe -m pip install --force-reinstall --no-deps "C:\path\to\comfyui_frontend_package-1.47.11+combined.28f07b916e.20260802-py3-none-any.whl"
For frontend 1.49.3:
.\python_embeded\python.exe -m pip install --force-reinstall --no-deps "C:\path\to\comfyui_frontend_package-1.49.3+combined.a6569d60ce.20260802-py3-none-any.whl"
Linux
Activate the Python environment used by ComfyUI, or call that environment's Python executable directly.
For frontend 1.46.2:
/path/to/comfy_env/bin/python -m pip install --force-reinstall --no-deps \
/path/to/comfyui_frontend_package-1.46.2+combined.aa334f0c1c.20260802-py3-none-any.whl
For frontend 1.47.11:
/path/to/comfy_env/bin/python -m pip install --force-reinstall --no-deps \
/path/to/comfyui_frontend_package-1.47.11+combined.28f07b916e.20260802-py3-none-any.whl
For frontend 1.49.3:
/path/to/comfy_env/bin/python -m pip install --force-reinstall --no-deps \
/path/to/comfyui_frontend_package-1.49.3+combined.a6569d60ce.20260802-py3-none-any.whl
Verify the Installation
Windows Portable:
.\python_embeded\python.exe -m pip show comfyui-frontend-package
Linux:
/path/to/comfy_env/bin/python -m pip show comfyui-frontend-package
Confirm that Version: exactly matches the selected wheel. Restart ComfyUI, then hard-refresh the browser so it does not reuse previous frontend assets.
The validation environment reports 1.46.2+combined.aa334f0c1c.20260802. Its installed 639-file static tree is byte-for-byte identical to the 1.46.2 wheel and production build. The 1.47.11 and 1.49.3 wheels remain packaged but uninstalled there.
Superseded Rendering-Control Builds
Do not follow older instructions that reference a +renderapi wheel, app.extensionManager.vueNodes.rendering, or an Eclipse-owned controller. The old local and fork branches and their wheel/ZIP artifacts were removed after the direct combined replacements passed validation.
Rollback
Stop ComfyUI, reinstall the previous frontend wheel with --force-reinstall --no-deps, restart ComfyUI, and hard-refresh the browser. For official compatibility, restore the frontend version pinned by the target ComfyUI backend release.

