Skip to content

fix: resolve ImageCrop input image through subgraph nodes#8899

Merged
christian-byrne merged 2 commits intomainfrom
fix/imagecrop-subgraph-input
Feb 18, 2026
Merged

fix: resolve ImageCrop input image through subgraph nodes#8899
christian-byrne merged 2 commits intomainfrom
fix/imagecrop-subgraph-input

Conversation

@jtydhr88
Copy link
Collaborator

@jtydhr88 jtydhr88 commented Feb 15, 2026

Summary

When ImageCrop's input comes from a subgraph node, getInputNode returns the subgraph node itself which has no image outputs.
Use resolveSubgraphOutputLink to trace through to the actual source node (e.g. LoadImage) inside the subgraph.

Use canvas.graph (the currently active graph/subgraph) as the primary lookup, falling back to rootGraph. When the ImageCrop node is inside a subgraph, rootGraph cannot find it since it only contains root-level nodes.

Screenshots (if applicable)

before

2026-02-15.10-30-29.mp4

after

2026-02-15.10-29-39.mp4

┆Issue is synchronized with this Notion page by Unito

@jtydhr88 jtydhr88 requested a review from a team as a code owner February 15, 2026 15:31
@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Feb 15, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 15, 2026

📝 Walkthrough

Walkthrough

The getInputImageUrl function now resolves subgraph input nodes by following the input link to the corresponding subgraph output node and uses that resolved node when retrieving image URLs; it falls back to null if resolution fails and checks app.canvas.graph before app.rootGraph during initialization.

Changes

Cohort / File(s) Summary
Subgraph Input Resolution
src/composables/useImageCrop.ts
getInputImageUrl updated to detect when an input node is a subgraph node, resolve the linked subgraph output node as the real source, and use the resolved node for image URL lookup; initialization now checks app.canvas.graph then app.rootGraph.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐇 I hopped through nodes both near and far,
Traced input links to find the true star,
Subgraphs no longer hide the view,
Resolved and ready — images come through! 📷✨

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main fix: resolving ImageCrop input image handling through subgraph nodes, which is the core change in this PR.
Description check ✅ Passed The description includes a clear summary of the problem and solution with before/after screenshots, but lacks structured content sections (What/Breaking/Dependencies) and is missing more detailed explanation of the specific changes made.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/imagecrop-subgraph-input

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Feb 15, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 02/15/2026, 03:38:36 PM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

github-actions bot commented Feb 15, 2026

Playwright: ✅ 516 passed, 0 failed · 5 flaky

📊 Browser Reports
  • chromium: View Report (✅ 504 / ❌ 0 / ⚠️ 5 / ⏭️ 8)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 9 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@github-actions
Copy link

github-actions bot commented Feb 15, 2026

Bundle Size Report

Summary

  • Raw size: 19.9 MB baseline 19.9 MB — 🔴 +280 B
  • Gzip: 4.24 MB baseline 4.24 MB — 🟢 -20 B
  • Brotli: 3.29 MB baseline 3.29 MB — 🔴 +334 B
  • Bundles: 231 current • 231 baseline • 109 added / 109 removed

Category Glance
Other 🔴 +280 B (7.32 MB) · Vendor & Third-Party ⚪ 0 B (8.69 MB) · Data & Services ⚪ 0 B (2.16 MB) · Graph Workspace ⚪ 0 B (886 kB) · Panels & Settings ⚪ 0 B (427 kB) · Utilities & Hooks ⚪ 0 B (237 kB) · + 5 more

Per-category breakdown
App Entry Points — 21.7 kB (baseline 21.7 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-Cg6f5q16.js (new) 21.7 kB 🔴 +21.7 kB 🔴 +7.03 kB 🔴 +6.13 kB
assets/index-D5vQe09h.js (removed) 21.7 kB 🟢 -21.7 kB 🟢 -7.03 kB 🟢 -6.11 kB

Status: 1 added / 1 removed

Graph Workspace — 886 kB (baseline 886 kB) • ⚪ 0 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-BYDNcpMv.js (removed) 886 kB 🟢 -886 kB 🟢 -191 kB 🟢 -146 kB
assets/GraphView-Dby942_N.js (new) 886 kB 🔴 +886 kB 🔴 +191 kB 🔴 +146 kB

Status: 1 added / 1 removed

Views & Navigation — 68.9 kB (baseline 68.9 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-Bce6yxi9.js (new) 15.4 kB 🔴 +15.4 kB 🔴 +3.3 kB 🔴 +2.8 kB
assets/CloudSurveyView-CxEfXXE5.js (removed) 15.4 kB 🟢 -15.4 kB 🟢 -3.31 kB 🟢 -2.8 kB
assets/CloudLoginView-D1PpjwSI.js (new) 10.1 kB 🔴 +10.1 kB 🔴 +2.95 kB 🔴 +2.59 kB
assets/CloudLoginView-luITJhZR.js (removed) 10.1 kB 🟢 -10.1 kB 🟢 -2.95 kB 🟢 -2.59 kB
assets/UserCheckView-B3LLR2Y8.js (removed) 8.38 kB 🟢 -8.38 kB 🟢 -2.21 kB 🟢 -1.93 kB
assets/UserCheckView-DqInwURI.js (new) 8.38 kB 🔴 +8.38 kB 🔴 +2.21 kB 🔴 +1.92 kB
assets/CloudSignupView-DxRdocxa.js (removed) 7.46 kB 🟢 -7.46 kB 🟢 -2.34 kB 🟢 -2.05 kB
assets/CloudSignupView-Kq-ddjHU.js (new) 7.46 kB 🔴 +7.46 kB 🔴 +2.34 kB 🔴 +2.05 kB
assets/CloudLayoutView-BBvkLnX9.js (removed) 6.48 kB 🟢 -6.48 kB 🟢 -2.13 kB 🟢 -1.87 kB
assets/CloudLayoutView-DccqYHeZ.js (new) 6.48 kB 🔴 +6.48 kB 🔴 +2.12 kB 🔴 +1.85 kB
assets/CloudForgotPasswordView-CtpKGbxs.js (removed) 5.61 kB 🟢 -5.61 kB 🟢 -1.96 kB 🟢 -1.75 kB
assets/CloudForgotPasswordView-DxgT6-Hu.js (new) 5.61 kB 🔴 +5.61 kB 🔴 +1.96 kB 🔴 +1.76 kB
assets/CloudAuthTimeoutView-CxJoirmk.js (removed) 4.96 kB 🟢 -4.96 kB 🟢 -1.79 kB 🟢 -1.57 kB
assets/CloudAuthTimeoutView-CXkhy47H.js (new) 4.96 kB 🔴 +4.96 kB 🔴 +1.79 kB 🔴 +1.56 kB
assets/CloudSubscriptionRedirectView-BfwIMOUz.js (new) 4.76 kB 🔴 +4.76 kB 🔴 +1.8 kB 🔴 +1.59 kB
assets/CloudSubscriptionRedirectView-CvnIKREK.js (removed) 4.76 kB 🟢 -4.76 kB 🟢 -1.8 kB 🟢 -1.59 kB
assets/UserSelectView-C5Rsm5lf.js (new) 4.46 kB 🔴 +4.46 kB 🔴 +1.62 kB 🔴 +1.46 kB
assets/UserSelectView-DUohj-OQ.js (removed) 4.46 kB 🟢 -4.46 kB 🟢 -1.62 kB 🟢 -1.45 kB
assets/CloudSorryContactSupportView-BQWWCDdn.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-D7kVvNTz.js 296 B 296 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

Panels & Settings — 427 kB (baseline 427 kB) • ⚪ 0 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SecretsPanel-38zifJb_.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +5.29 kB 🔴 +4.63 kB
assets/SecretsPanel-j6vIDAD3.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -5.29 kB 🟢 -4.63 kB
assets/LegacyCreditsPanel-BGzEzayn.js (removed) 20.7 kB 🟢 -20.7 kB 🟢 -5.58 kB 🟢 -4.91 kB
assets/LegacyCreditsPanel-BkuA7zsG.js (new) 20.7 kB 🔴 +20.7 kB 🔴 +5.58 kB 🔴 +4.91 kB
assets/SubscriptionPanel-BjVI13JL.js (removed) 18.7 kB 🟢 -18.7 kB 🟢 -4.74 kB 🟢 -4.19 kB
assets/SubscriptionPanel-DnyjBo-z.js (new) 18.7 kB 🔴 +18.7 kB 🔴 +4.73 kB 🔴 +4.18 kB
assets/KeybindingPanel-BBT0MRjU.js (new) 12.4 kB 🔴 +12.4 kB 🔴 +3.59 kB 🔴 +3.19 kB
assets/KeybindingPanel-CsqX-85b.js (removed) 12.4 kB 🟢 -12.4 kB 🟢 -3.59 kB 🟢 -3.19 kB
assets/ExtensionPanel-BuYas_rg.js (removed) 9.43 kB 🟢 -9.43 kB 🟢 -2.67 kB 🟢 -2.37 kB
assets/ExtensionPanel-sQhzQBxW.js (new) 9.43 kB 🔴 +9.43 kB 🔴 +2.67 kB 🔴 +2.37 kB
assets/AboutPanel-BPa5M6Xw.js (new) 8.49 kB 🔴 +8.49 kB 🔴 +2.43 kB 🔴 +2.18 kB
assets/AboutPanel-DznQ5TXy.js (removed) 8.49 kB 🟢 -8.49 kB 🟢 -2.43 kB 🟢 -2.18 kB
assets/ServerConfigPanel-C8I4DX-q.js (new) 6.5 kB 🔴 +6.5 kB 🔴 +2.13 kB 🔴 +1.94 kB
assets/ServerConfigPanel-Dg0AOfhI.js (removed) 6.5 kB 🟢 -6.5 kB 🟢 -2.13 kB 🟢 -1.91 kB
assets/UserPanel-B3zgyRhQ.js (new) 6.21 kB 🔴 +6.21 kB 🔴 +2.02 kB 🔴 +1.76 kB
assets/UserPanel-Btg0RiHs.js (removed) 6.21 kB 🟢 -6.21 kB 🟢 -2.02 kB 🟢 -1.76 kB
assets/cloudRemoteConfig-CsZO3C6T.js (new) 1.49 kB 🔴 +1.49 kB 🔴 +732 B 🔴 +629 B
assets/cloudRemoteConfig-DGBDr4Gr.js (removed) 1.49 kB 🟢 -1.49 kB 🟢 -733 B 🟢 -632 B
assets/refreshRemoteConfig-DZBm8Nuk.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +521 B 🔴 +479 B
assets/refreshRemoteConfig-MmLbgiSL.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -523 B 🟢 -466 B
assets/config-CPqNkkC7.js 996 B 996 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B4dcbqqW.js 28 kB 28 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B9H-S_7S.js 37.6 kB 37.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BrKMI2ca.js 27.1 kB 27.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CCDmBSaS.js 29.8 kB 29.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CjFyTs4c.js 23.3 kB 23.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-COYfq8TF.js 28.1 kB 28.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Czm8M4DT.js 23.9 kB 23.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-D_4IUqgy.js 31.6 kB 31.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DSKCF1uG.js 27.3 kB 27.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-t36S0PpX.js 33.3 kB 33.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-ZdQ8OYkR.js 29.2 kB 29.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 10 added / 10 removed

User & Accounts — 16.1 kB (baseline 16.1 kB) • ⚪ 0 B

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-DD1hIbzP.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.18 kB 🟢 -990 B
assets/auth-DiaZ5DCp.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.18 kB 🔴 +987 B
assets/SignUpForm-B-TVACgm.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.23 kB 🔴 +1.09 kB
assets/SignUpForm-B5kP5C0U.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.23 kB 🟢 -1.1 kB
assets/UpdatePasswordContent-BpK7cyYr.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.09 kB 🟢 -962 B
assets/UpdatePasswordContent-D2fw3bAC.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.09 kB 🔴 +963 B
assets/firebaseAuthStore-qr4f8JX0.js (new) 837 B 🔴 +837 B 🔴 +407 B 🔴 +365 B
assets/firebaseAuthStore-y885HmuZ.js (removed) 837 B 🟢 -837 B 🟢 -410 B 🟢 -363 B
assets/auth-Cr7kdOk1.js (new) 317 B 🔴 +317 B 🔴 +207 B 🔴 +178 B
assets/auth-DtEfUgyG.js (removed) 317 B 🟢 -317 B 🟢 -204 B 🟢 -176 B
assets/PasswordFields-Cx2Uqajt.js 4.51 kB 4.51 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WorkspaceProfilePic-DoQNteEy.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Editors & Dialogs — 785 B (baseline 785 B) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-B28Kpln-.js (new) 785 B 🔴 +785 B 🔴 +398 B 🔴 +349 B
assets/useSubscriptionDialog-DBbMBnVh.js (removed) 785 B 🟢 -785 B 🟢 -398 B 🟢 -348 B

Status: 1 added / 1 removed

UI Components — 36.6 kB (baseline 36.6 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useTerminalTabs-DMK3vkS0.js (removed) 9.89 kB 🟢 -9.89 kB 🟢 -3.42 kB 🟢 -3.01 kB
assets/useTerminalTabs-m8Nv8wH8.js (new) 9.89 kB 🔴 +9.89 kB 🔴 +3.42 kB 🔴 +3.01 kB
assets/ComfyQueueButton-BI25fqWk.js (removed) 7.17 kB 🟢 -7.17 kB 🟢 -2.32 kB 🟢 -2.07 kB
assets/ComfyQueueButton-DO0sgS5t.js (new) 7.17 kB 🔴 +7.17 kB 🔴 +2.31 kB 🔴 +2.07 kB
assets/SubscribeButton-Cz8BL0uj.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +1.02 kB 🔴 +887 B
assets/SubscribeButton-DmEHTx-m.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -1.02 kB 🟢 -887 B
assets/cloudFeedbackTopbarButton-Bpd1u5JM.js (new) 1.64 kB 🔴 +1.64 kB 🔴 +878 B 🔴 +784 B
assets/cloudFeedbackTopbarButton-D7Q3bRf6.js (removed) 1.64 kB 🟢 -1.64 kB 🟢 -880 B 🟢 -781 B
assets/ComfyQueueButton-DDVeV-DY.js (new) 842 B 🔴 +842 B 🔴 +411 B 🔴 +376 B
assets/ComfyQueueButton-DyTmJpYU.js (removed) 842 B 🟢 -842 B 🟢 -412 B 🟢 -369 B
assets/Button-Dj2HbsJy.js 2.98 kB 2.98 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CloudBadge-DuD_yvjw.js 1.24 kB 1.24 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-b9GFRGXC.js 7.45 kB 7.45 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-BG_h7fX0.js 1.17 kB 1.17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-C3gr8Ary.js 1.84 kB 1.84 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 2.16 MB (baseline 2.16 MB) • ⚪ 0 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-9XTQrdyj.js (new) 1.38 MB 🔴 +1.38 MB 🔴 +310 kB 🔴 +239 kB
assets/dialogService-CNiYceef.js (removed) 1.38 MB 🟢 -1.38 MB 🟢 -310 kB 🟢 -239 kB
assets/api-BG1NZWzs.js (removed) 646 kB 🟢 -646 kB 🟢 -146 kB 🟢 -116 kB
assets/api-D-dpGyr4.js (new) 646 kB 🔴 +646 kB 🔴 +146 kB 🔴 +116 kB
assets/load3dService-CAJLfPzQ.js (removed) 91 kB 🟢 -91 kB 🟢 -19.1 kB 🟢 -16.4 kB
assets/load3dService-Wz5clC1y.js (new) 91 kB 🔴 +91 kB 🔴 +19.1 kB 🔴 +16.4 kB
assets/systemStatsStore-ChOA4fTh.js (new) 12.2 kB 🔴 +12.2 kB 🔴 +4.26 kB 🔴 +3.74 kB
assets/systemStatsStore-SWOM6FWR.js (removed) 12.2 kB 🟢 -12.2 kB 🟢 -4.27 kB 🟢 -3.75 kB
assets/releaseStore-Bi915rnr.js (removed) 7.96 kB 🟢 -7.96 kB 🟢 -2.22 kB 🟢 -1.96 kB
assets/releaseStore-X03pUIE5.js (new) 7.96 kB 🔴 +7.96 kB 🔴 +2.22 kB 🔴 +1.95 kB
assets/keybindingService-BTNYZjdd.js (new) 6.57 kB 🔴 +6.57 kB 🔴 +1.72 kB 🔴 +1.49 kB
assets/keybindingService-FlFRR98z.js (removed) 6.57 kB 🟢 -6.57 kB 🟢 -1.72 kB 🟢 -1.49 kB
assets/bootstrapStore-CMF_bfqc.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -872 B 🟢 -793 B
assets/bootstrapStore-Df60es-A.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +874 B 🔴 +795 B
assets/userStore-Bu4cDE_9.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +719 B 🔴 +671 B
assets/userStore-DBOJzbG5.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -722 B 🟢 -673 B
assets/audioService-CcQ2m9mf.js (removed) 1.73 kB 🟢 -1.73 kB 🟢 -848 B 🟢 -723 B
assets/audioService-IlM5_xBE.js (new) 1.73 kB 🔴 +1.73 kB 🔴 +846 B 🔴 +726 B
assets/releaseStore-Cy4NuQaT.js (new) 809 B 🔴 +809 B 🔴 +403 B 🔴 +363 B
assets/releaseStore-h--QBcoE.js (removed) 809 B 🟢 -809 B 🟢 -400 B 🟢 -358 B
assets/settingStore-C7VAvHTd.js (removed) 793 B 🟢 -793 B 🟢 -405 B 🟢 -359 B
assets/settingStore-Dg-4fMj6.js (new) 793 B 🔴 +793 B 🔴 +404 B 🔴 +360 B
assets/workflowDraftStore-BhBu7y5s.js (new) 785 B 🔴 +785 B 🔴 +397 B 🔴 +352 B
assets/workflowDraftStore-CxI-MJRw.js (removed) 785 B 🟢 -785 B 🟢 -398 B 🟢 -356 B
assets/dialogService-Capg8pIk.js (removed) 774 B 🟢 -774 B 🟢 -387 B 🟢 -349 B
assets/dialogService-DggVOH7w.js (new) 774 B 🔴 +774 B 🔴 +390 B 🔴 +348 B
assets/dialogStore-BPhITqFz.js 4.1 kB 4.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/serverConfigStore-DQj3s_QB.js 2.32 kB 2.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 removed

Utilities & Hooks — 237 kB (baseline 237 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useConflictDetection-CLQSQf0g.js (removed) 178 kB 🟢 -178 kB 🟢 -39.4 kB 🟢 -32.8 kB
assets/useConflictDetection-eBthwxYU.js (new) 178 kB 🔴 +178 kB 🔴 +39.4 kB 🔴 +32.8 kB
assets/useLoad3d-CIj9rduV.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.63 kB 🟢 -3.21 kB
assets/useLoad3d-KLUwdhEG.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.63 kB 🔴 +3.2 kB
assets/useLoad3dViewer-BqfLILV4.js (new) 14.1 kB 🔴 +14.1 kB 🔴 +3.15 kB 🔴 +2.8 kB
assets/useLoad3dViewer-DEqDCqBV.js (removed) 14.1 kB 🟢 -14.1 kB 🟢 -3.15 kB 🟢 -2.79 kB
assets/useFeatureFlags-BC6BVknX.js (removed) 3.32 kB 🟢 -3.32 kB 🟢 -1.04 kB 🟢 -896 B
assets/useFeatureFlags-CTJqKtbA.js (new) 3.32 kB 🔴 +3.32 kB 🔴 +1.04 kB 🔴 +899 B
assets/useWorkspaceUI-C6zPPHJN.js (removed) 3 kB 🟢 -3 kB 🟢 -822 B 🟢 -695 B
assets/useWorkspaceUI-DR3ZonFJ.js (new) 3 kB 🔴 +3 kB 🔴 +824 B 🔴 +696 B
assets/useSubscriptionCredits-B5VhN7NO.js (removed) 2.75 kB 🟢 -2.75 kB 🟢 -1.04 kB 🟢 -898 B
assets/useSubscriptionCredits-Bsxpumg1.js (new) 2.75 kB 🔴 +2.75 kB 🔴 +1.04 kB 🔴 +897 B
assets/subscriptionCheckoutUtil-78HuUVM7.js (new) 2.53 kB 🔴 +2.53 kB 🔴 +1.06 kB 🔴 +958 B
assets/subscriptionCheckoutUtil-DRen4X5B.js (removed) 2.53 kB 🟢 -2.53 kB 🟢 -1.06 kB 🟢 -954 B
assets/useErrorHandling-B7rq2JBe.js (removed) 1.34 kB 🟢 -1.34 kB 🟢 -556 B 🟢 -476 B
assets/useErrorHandling-DN49Ch4P.js (new) 1.34 kB 🔴 +1.34 kB 🔴 +555 B 🔴 +506 B
assets/useWorkspaceSwitch-C_vvvPkl.js (new) 1.25 kB 🔴 +1.25 kB 🔴 +544 B 🔴 +479 B
assets/useWorkspaceSwitch-CMfPvc0_.js (removed) 1.25 kB 🟢 -1.25 kB 🟢 -542 B 🟢 -477 B
assets/useLoad3d-Bh6WEfBo.js (new) 908 B 🔴 +908 B 🔴 +443 B 🔴 +397 B
assets/useLoad3d-LbiVKJ6N.js (removed) 908 B 🟢 -908 B 🟢 -444 B 🟢 -394 B
assets/useLoad3dViewer-C6SuGDgi.js (removed) 887 B 🟢 -887 B 🟢 -429 B 🟢 -386 B
assets/useLoad3dViewer-DHNrLUFf.js (new) 887 B 🔴 +887 B 🔴 +428 B 🔴 +388 B
assets/audioUtils-BwtrG8g-.js (new) 858 B 🔴 +858 B 🔴 +500 B 🔴 +419 B
assets/audioUtils-DZ35U08K.js (removed) 858 B 🟢 -858 B 🟢 -500 B 🟢 -402 B
assets/useCurrentUser-BLnhp7VY.js (removed) 771 B 🟢 -771 B 🟢 -394 B 🟢 -350 B
assets/useCurrentUser-GmUjBif6.js (new) 771 B 🔴 +771 B 🔴 +390 B 🔴 +350 B
assets/_plugin-vue_export-helper-CY4XIWDa.js 315 B 315 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-Dyra1oIg.js 7 kB 7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/envUtil-BHmbpOtd.js 466 B 466 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-DKmelI5u.js 1.56 kB 1.56 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SkeletonUtils-CsnHjXS0.js 133 B 133 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useCopyToClipboard-C4yW2iRS.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useExternalLink-nq-DyYJq.js 1.66 kB 1.66 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 removed

Vendor & Third-Party — 8.69 MB (baseline 8.69 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-axios-C4mPrLmU.js 70.3 kB 70.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-chart-l-KY-tZQ.js 399 kB 399 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-firebase-BvMr43CG.js 836 kB 836 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-i18n-BxsQv-KC.js 131 kB 131 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-markdown-uorjc_FY.js 102 kB 102 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-nQKlOIkS.js 1.52 MB 1.52 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-DbhsokLF.js 1.73 MB 1.73 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-B82zTENX.js 255 kB 255 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-sentry-SQwstEKc.js 182 kB 182 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-ueviNA60.js 1.8 MB 1.8 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-Bi_34iZD.js 625 kB 625 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-core-BjA-tjXK.js 311 kB 311 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vueuse-DcEOrMQz.js 112 kB 112 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-DO-SJi0U.js 374 kB 374 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-yjs-CBmk8HiD.js 143 kB 143 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-zod-DcCUUPIi.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 7.32 MB (baseline 7.32 MB) • 🔴 +280 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-C8ShS_Lx.js (removed) 72.5 kB 🟢 -72.5 kB 🟢 -18.7 kB 🟢 -16 kB
assets/core-CgUagGJz.js (new) 72.5 kB 🔴 +72.5 kB 🔴 +18.7 kB 🔴 +16 kB
assets/groupNode-BrdTdCkJ.js (new) 72.1 kB 🔴 +72.1 kB 🔴 +17.7 kB 🔴 +15.6 kB
assets/groupNode-jiiOpiWE.js (removed) 72.1 kB 🟢 -72.1 kB 🟢 -17.7 kB 🟢 -15.6 kB
assets/WidgetSelect-CfdfkhFi.js (removed) 57.8 kB 🟢 -57.8 kB 🟢 -12.3 kB 🟢 -10.6 kB
assets/WidgetSelect-Cti5MhvJ.js (new) 57.8 kB 🔴 +57.8 kB 🔴 +12.3 kB 🔴 +10.6 kB
assets/SubscriptionRequiredDialogContentWorkspace-DVoSla5J.js (new) 45.9 kB 🔴 +45.9 kB 🔴 +8.59 kB 🔴 +7.42 kB
assets/SubscriptionRequiredDialogContentWorkspace-jxic2wt7.js (removed) 45.9 kB 🟢 -45.9 kB 🟢 -8.59 kB 🟢 -7.43 kB
assets/Load3DControls-BIqWTEWd.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -5.34 kB 🟢 -4.64 kB
assets/Load3DControls-DPHHZ-Uy.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +5.34 kB 🔴 +4.64 kB
assets/WorkspacePanelContent-D27nypdX.js (removed) 29.3 kB 🟢 -29.3 kB 🟢 -6.13 kB 🟢 -5.39 kB
assets/WorkspacePanelContent-z2QafhdF.js (new) 29.3 kB 🔴 +29.3 kB 🔴 +6.12 kB 🔴 +5.41 kB
assets/SubscriptionRequiredDialogContent-CVzewwkt.js (removed) 26.2 kB 🟢 -26.2 kB 🟢 -6.6 kB 🟢 -5.8 kB
assets/SubscriptionRequiredDialogContent-DiNXURaf.js (new) 26.2 kB 🔴 +26.2 kB 🔴 +6.6 kB 🔴 +5.8 kB
assets/Load3dViewerContent-C35QkjB6.js (removed) 23.1 kB 🟢 -23.1 kB 🟢 -5.2 kB 🟢 -4.5 kB
assets/Load3dViewerContent-jU0BCjVg.js (new) 23.1 kB 🔴 +23.1 kB 🔴 +5.19 kB 🔴 +4.5 kB
assets/WidgetImageCrop-5VqY5gAp.js (new) 22.6 kB 🔴 +22.6 kB 🔴 +5.62 kB 🔴 +4.95 kB
assets/WidgetImageCrop-Bs7f0z0m.js (removed) 22.4 kB 🟢 -22.4 kB 🟢 -5.53 kB 🟢 -4.86 kB
assets/SubscriptionPanelContentWorkspace-BR9ei-Pc.js (new) 21.6 kB 🔴 +21.6 kB 🔴 +5.02 kB 🔴 +4.43 kB
assets/SubscriptionPanelContentWorkspace-jtACjWjf.js (removed) 21.6 kB 🟢 -21.6 kB 🟢 -5.02 kB 🟢 -4.43 kB
assets/CurrentUserPopoverWorkspace-BfOhM-_J.js (removed) 19.9 kB 🟢 -19.9 kB 🟢 -4.89 kB 🟢 -4.35 kB
assets/CurrentUserPopoverWorkspace-BuFqIVTP.js (new) 19.9 kB 🔴 +19.9 kB 🔴 +4.88 kB 🔴 +4.36 kB
assets/SignInContent-CiKBFSgd.js (removed) 19 kB 🟢 -19 kB 🟢 -4.81 kB 🟢 -4.2 kB
assets/SignInContent-Cpm-l94T.js (new) 19 kB 🔴 +19 kB 🔴 +4.81 kB 🔴 +4.21 kB
assets/WidgetRecordAudio-Bfd6H8Mk.js (new) 17.4 kB 🔴 +17.4 kB 🔴 +4.97 kB 🔴 +4.44 kB
assets/WidgetRecordAudio-DF0JXXx8.js (removed) 17.4 kB 🟢 -17.4 kB 🟢 -4.97 kB 🟢 -4.43 kB
assets/MissingModelsWarning-DktCP07q.js (new) 17.2 kB 🔴 +17.2 kB 🔴 +4.7 kB 🔴 +4.17 kB
assets/MissingModelsWarning-z4aUe8EL.js (removed) 17.2 kB 🟢 -17.2 kB 🟢 -4.7 kB 🟢 -4.17 kB
assets/Load3D-CwFwLsB2.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.04 kB 🟢 -3.53 kB
assets/Load3D-PEAKSntr.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.04 kB 🔴 +3.53 kB
assets/WidgetInputNumber-B15BixMr.js (new) 15.8 kB 🔴 +15.8 kB 🔴 +4.26 kB 🔴 +3.8 kB
assets/WidgetInputNumber-Uwd4JBMG.js (removed) 15.8 kB 🟢 -15.8 kB 🟢 -4.27 kB 🟢 -3.8 kB
assets/load3d-DA5XOhxL.js (new) 14.8 kB 🔴 +14.8 kB 🔴 +4.21 kB 🔴 +3.65 kB
assets/load3d-KG1uaf3G.js (removed) 14.8 kB 🟢 -14.8 kB 🟢 -4.21 kB 🟢 -3.64 kB
assets/AudioPreviewPlayer-6WcFJiGQ.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -3.22 kB 🟢 -2.87 kB
assets/AudioPreviewPlayer-BehVQeCi.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +3.22 kB 🔴 +2.87 kB
assets/NodeConflictDialogContent-C-NvUR41.js (new) 10.5 kB 🔴 +10.5 kB 🔴 +2.37 kB 🔴 +2.08 kB
assets/NodeConflictDialogContent-H_Qbq4xi.js (removed) 10.5 kB 🟢 -10.5 kB 🟢 -2.37 kB 🟢 -2.08 kB
assets/changeTracker-CHJio5Xd.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.89 kB 🟢 -2.55 kB
assets/changeTracker-CoNOiA2i.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.89 kB 🔴 +2.55 kB
assets/nodeTemplates-Bjg0FYw5.js (new) 9.35 kB 🔴 +9.35 kB 🔴 +3.27 kB 🔴 +2.88 kB
assets/nodeTemplates-CE9ji8kx.js (removed) 9.35 kB 🟢 -9.35 kB 🟢 -3.28 kB 🟢 -2.88 kB
assets/InviteMemberDialogContent-BYbJRlea.js (new) 7.44 kB 🔴 +7.44 kB 🔴 +2.31 kB 🔴 +2.02 kB
assets/InviteMemberDialogContent-CCk0rSmz.js (removed) 7.44 kB 🟢 -7.44 kB 🟢 -2.31 kB 🟢 -2.02 kB
assets/WidgetWithControl-DRU6vOpG.js (removed) 7.08 kB 🟢 -7.08 kB 🟢 -2.65 kB 🟢 -2.37 kB
assets/WidgetWithControl-jzndy1b7.js (new) 7.08 kB 🔴 +7.08 kB 🔴 +2.65 kB 🔴 +2.37 kB
assets/MissingNodesFooter-3DaSIlJr.js (removed) 6.75 kB 🟢 -6.75 kB 🟢 -2.3 kB 🟢 -2.07 kB
assets/MissingNodesFooter-BWgXKIfE.js (new) 6.75 kB 🔴 +6.75 kB 🔴 +2.3 kB 🔴 +2.06 kB
assets/Load3DConfiguration-BaMM5e9c.js (new) 6.27 kB 🔴 +6.27 kB 🔴 +1.91 kB 🔴 +1.68 kB
assets/Load3DConfiguration-BSQD1hYe.js (removed) 6.27 kB 🟢 -6.27 kB 🟢 -1.91 kB 🟢 -1.67 kB
assets/MissingNodesContent-CZPtNqrL.js (removed) 6.18 kB 🟢 -6.18 kB 🟢 -2.1 kB 🟢 -1.87 kB
assets/MissingNodesContent-VeqV1sAs.js (new) 6.18 kB 🔴 +6.18 kB 🔴 +2.09 kB 🔴 +1.87 kB
assets/CreateWorkspaceDialogContent-DOL8I375.js (new) 5.58 kB 🔴 +5.58 kB 🔴 +2.01 kB 🔴 +1.76 kB
assets/CreateWorkspaceDialogContent-EWrdK6mX.js (removed) 5.58 kB 🟢 -5.58 kB 🟢 -2.01 kB 🟢 -1.75 kB
assets/EditWorkspaceDialogContent-Bjw23Dbl.js (new) 5.38 kB 🔴 +5.38 kB 🔴 +1.97 kB 🔴 +1.72 kB
assets/EditWorkspaceDialogContent-Z1gbhg6I.js (removed) 5.38 kB 🟢 -5.38 kB 🟢 -1.97 kB 🟢 -1.72 kB
assets/ValueControlPopover-CovHjkAo.js (removed) 4.97 kB 🟢 -4.97 kB 🟢 -1.79 kB 🟢 -1.6 kB
assets/ValueControlPopover-D5CCTWKd.js (new) 4.97 kB 🔴 +4.97 kB 🔴 +1.79 kB 🔴 +1.62 kB
assets/Preview3d-BqqRoGgK.js (new) 4.86 kB 🔴 +4.86 kB 🔴 +1.59 kB 🔴 +1.39 kB
assets/Preview3d-jxedk5OD.js (removed) 4.86 kB 🟢 -4.86 kB 🟢 -1.58 kB 🟢 -1.39 kB
assets/CancelSubscriptionDialogContent-BRNf_vdu.js (new) 4.85 kB 🔴 +4.85 kB 🔴 +1.8 kB 🔴 +1.57 kB
assets/CancelSubscriptionDialogContent-DNS5wPiv.js (removed) 4.85 kB 🟢 -4.85 kB 🟢 -1.8 kB 🟢 -1.57 kB
assets/DeleteWorkspaceDialogContent-BAq4Y3RY.js (removed) 4.29 kB 🟢 -4.29 kB 🟢 -1.65 kB 🟢 -1.44 kB
assets/DeleteWorkspaceDialogContent-BuQ43qc1.js (new) 4.29 kB 🔴 +4.29 kB 🔴 +1.65 kB 🔴 +1.43 kB
assets/LeaveWorkspaceDialogContent-BmAss1ZZ.js (new) 4.12 kB 🔴 +4.12 kB 🔴 +1.6 kB 🔴 +1.39 kB
assets/LeaveWorkspaceDialogContent-Ruk_s_Mk.js (removed) 4.12 kB 🟢 -4.12 kB 🟢 -1.6 kB 🟢 -1.38 kB
assets/RemoveMemberDialogContent-_lUOp5Rz.js (new) 4.1 kB 🔴 +4.1 kB 🔴 +1.54 kB 🔴 +1.35 kB
assets/RemoveMemberDialogContent-CRenrOeB.js (removed) 4.1 kB 🟢 -4.1 kB 🟢 -1.54 kB 🟢 -1.35 kB
assets/RevokeInviteDialogContent-BJsdJ9q5.js (new) 4.01 kB 🔴 +4.01 kB 🔴 +1.56 kB 🔴 +1.37 kB
assets/RevokeInviteDialogContent-DR7CLsTZ.js (removed) 4.01 kB 🟢 -4.01 kB 🟢 -1.56 kB 🟢 -1.37 kB
assets/InviteMemberUpsellDialogContent-DBd1E-xm.js (new) 3.88 kB 🔴 +3.88 kB 🔴 +1.42 kB 🔴 +1.25 kB
assets/InviteMemberUpsellDialogContent-DBncQpvM.js (removed) 3.88 kB 🟢 -3.88 kB 🟢 -1.42 kB 🟢 -1.25 kB
assets/saveMesh-HQvf78im.js (removed) 3.43 kB 🟢 -3.43 kB 🟢 -1.48 kB 🟢 -1.32 kB
assets/saveMesh-JY2X32DG.js (new) 3.43 kB 🔴 +3.43 kB 🔴 +1.48 kB 🔴 +1.31 kB
assets/cloudSessionCookie-BmX2n6Mt.js (removed) 3.15 kB 🟢 -3.15 kB 🟢 -1.11 kB 🟢 -994 B
assets/cloudSessionCookie-BrgjC7lO.js (new) 3.15 kB 🔴 +3.15 kB 🔴 +1.1 kB 🔴 +997 B
assets/GlobalToast-BOIzQYM6.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.21 kB 🔴 +1.07 kB
assets/GlobalToast-BQIGbFgj.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.21 kB 🟢 -1.03 kB
assets/SubscribeToRun-DeGQ6V50.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -1.01 kB 🟢 -870 B
assets/SubscribeToRun-Dr97kv_A.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +1.01 kB 🔴 +874 B
assets/CloudRunButtonWrapper-B_bBM_QF.js (removed) 1.72 kB 🟢 -1.72 kB 🟢 -806 B 🟢 -734 B
assets/CloudRunButtonWrapper-W5BtYW-f.js (new) 1.72 kB 🔴 +1.72 kB 🔴 +805 B 🔴 +718 B
assets/cloudBadges-BVlWF__u.js (new) 1.42 kB 🔴 +1.42 kB 🔴 +722 B 🔴 +628 B
assets/cloudBadges-x3K4IUXU.js (removed) 1.42 kB 🟢 -1.42 kB 🟢 -727 B 🟢 -631 B
assets/cloudSubscription-B2K7dbFM.js (new) 1.38 kB 🔴 +1.38 kB 🔴 +679 B 🔴 +583 B
assets/cloudSubscription-CwXgZKIt.js (removed) 1.38 kB 🟢 -1.38 kB 🟢 -681 B 🟢 -583 B
assets/Load3D-CM_e0oZO.js (removed) 1.12 kB 🟢 -1.12 kB 🟢 -514 B 🟢 -459 B
assets/Load3D-qj-yOrMT.js (new) 1.12 kB 🔴 +1.12 kB 🔴 +519 B 🔴 +466 B
assets/nightlyBadges-DqMIejjj.js (removed) 1.05 kB 🟢 -1.05 kB 🟢 -554 B 🟢 -491 B
assets/nightlyBadges-DS4jnxbN.js (new) 1.05 kB 🔴 +1.05 kB 🔴 +553 B 🔴 +489 B
assets/Load3dViewerContent-CiM9Sq3J.js (new) 1.04 kB 🔴 +1.04 kB 🔴 +487 B 🔴 +437 B
assets/Load3dViewerContent-CKV6rbkl.js (removed) 1.04 kB 🟢 -1.04 kB 🟢 -484 B 🟢 -435 B
assets/SubscriptionPanelContentWorkspace-Djpn6Vlj.js (removed) 979 B 🟢 -979 B 🟢 -456 B 🟢 -398 B
assets/SubscriptionPanelContentWorkspace-DWjK59aD.js (new) 979 B 🔴 +979 B 🔴 +455 B 🔴 +399 B
assets/changeTracker-COMQxitx.js (new) 806 B 🔴 +806 B 🔴 +402 B 🔴 +357 B
assets/changeTracker-Yq7A26ak.js (removed) 806 B 🟢 -806 B 🟢 -403 B 🟢 -357 B
assets/WidgetLegacy-BYkUzgyk.js (removed) 794 B 🟢 -794 B 🟢 -404 B 🟢 -358 B
assets/WidgetLegacy-chcqihPO.js (new) 794 B 🔴 +794 B 🔴 +403 B 🔴 +355 B
assets/graphHasMissingNodes-BAPp83lR.js (removed) 761 B 🟢 -761 B 🟢 -374 B 🟢 -327 B
assets/graphHasMissingNodes-BnBvswS7.js (new) 761 B 🔴 +761 B 🔴 +372 B 🔴 +317 B
assets/WidgetInputNumber-C2QmXlUS.js (new) 392 B 🔴 +392 B 🔴 +233 B 🔴 +200 B
assets/WidgetInputNumber-DfTIxd-M.js (removed) 392 B 🟢 -392 B 🟢 -234 B 🟢 -196 B
assets/AnimationControls-DYo7IBac.js 4.61 kB 4.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ApiNodesSignInContent-C7KLwm7z.js 2.69 kB 2.69 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/auto-Bt3L7FBS.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/BaseViewTemplate-CMsq0eVx.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/comfy-logo-single-CzGozBag.js 198 B 198 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ComfyOrgHeader-D3eZno-u.js 910 B 910 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-B-pgsvFR.js 16.3 kB 16.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BVMMhDLS.js 16.6 kB 16.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CF_CtN5R.js 14.9 kB 14.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Cgae_Kmu.js 17.2 kB 17.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D3k2h7MU.js 15.5 kB 15.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D6S8WS13.js 15.8 kB 15.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-OSpDi1he.js 18.4 kB 18.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-r2j_2QLb.js 15.7 kB 15.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-xCwqbbnl.js 15.8 kB 15.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-z76J85Ox.js 14.7 kB 14.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-ZBYN9Ax-.js 17.1 kB 17.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/constants-C75NYR8_.js 579 B 579 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-Bho37Ie8.js 199 B 199 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-CPbEnBXJ.js 496 kB 496 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ImportFailedNodeContent-Cbt6jZyc.js 2.48 kB 2.48 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ImportFailedNodeFooter-DGgE4blN.js 1.88 kB 1.88 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ImportFailedNodeHeader-BSevqbSb.js 1.08 kB 1.08 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-C3fGI-zy.js 12.3 kB 12.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-_dbiywWa.js 187 kB 187 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BHWJ5J66.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BRDEalDK.js 168 kB 168 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BxJOKVeu.js 137 kB 137 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CdiKkKf-.js 141 kB 141 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CFEd6SHK.js 162 kB 162 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CtlA459n.js 134 kB 134 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D6o1agdt.js 155 kB 155 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-pcsVtMbz.js 139 kB 139 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-QTanEwYi.js 118 kB 118 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-YfJm7tuR.js 119 kB 119 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop--6APVhDO.js 1.82 kB 1.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-D379ygrS.js 1.43 kB 1.43 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-BvzP3-4M.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-BEu1PWK1.js 2.23 kB 2.23 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MissingNodesHeader-JfpleXg9.js 1.09 kB 1.09 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/NodeConflictFooter-QwBuLl_G.js 2.37 kB 2.37 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/NodeConflictHeader-rQhN1ngl.js 1.09 kB 1.09 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-85iliHXu.js 373 kB 373 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B0zj8Jq3.js 370 kB 370 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B4_-eEoQ.js 416 kB 416 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B83mdNju.js 337 kB 337 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BcXw18ij.js 369 kB 369 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BSyowhyM.js 340 kB 340 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BzTUJsKV.js 384 kB 384 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CK0oPJ_4.js 362 kB 362 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CWSfiULS.js 454 kB 454 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D3wee53g.js 415 kB 415 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-hmrDmHYs.js 366 kB 366 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-CnDV7A3d.js 665 B 665 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-DLICfi3-.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SelectValue-BgcUCvTv.js 8.94 kB 8.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/signInSchema-ykLsWUrA.js 1.53 kB 1.53 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-DEgXPw2z.js 3.52 kB 3.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/src-CSZuPqXn.js 251 B 251 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/telemetry-Db2yG1o2.js 226 B 226 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/types-DT3N7am7.js 204 B 204 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-BhHc6T04.js 445 B 445 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-DMPeCuhp.js 3.91 kB 3.91 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-F8leYtSX.js 131 B 131 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-BDCRAbXS.js 2.21 kB 2.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-cmyWkRPc.js 2.9 kB 2.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-CtviJvlD.js 3.61 kB 3.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-CeaLzXAr.js 3.1 kB 3.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-CEacYTkx.js 1.86 kB 1.86 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-dK2Gv6kY.js 1.95 kB 1.95 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-CHVDGUH1.js 2.88 kB 2.88 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-C9FcIgiN.js 1.1 kB 1.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-COoicNcT.js 3.18 kB 3.18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-Cu6q7UIj.js 2.5 kB 2.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetTypes-Cp8f93Pk.js 393 B 393 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 51 added / 51 removed

@christian-byrne christian-byrne added needs-backport Fix/change that needs to be cherry-picked to the current feature freeze branch core/1.39 Backport PRs for core 1.39 cloud/1.39 Backport PRs for cloud 1.39 labels Feb 18, 2026
@christian-byrne christian-byrne merged commit 596df0f into main Feb 18, 2026
37 checks passed
@christian-byrne christian-byrne deleted the fix/imagecrop-subgraph-input branch February 18, 2026 00:56
github-actions bot pushed a commit that referenced this pull request Feb 18, 2026
## Summary
When ImageCrop's input comes from a subgraph node, getInputNode returns
the subgraph node itself which has no image outputs.
Use resolveSubgraphOutputLink to trace through to the actual source node
(e.g. LoadImage) inside the subgraph.

Use canvas.graph (the currently active graph/subgraph) as the primary
lookup, falling back to rootGraph. When the ImageCrop node is inside a
subgraph, rootGraph cannot find it since it only contains root-level
nodes.

## Screenshots (if applicable)
before


https://github.com/user-attachments/assets/c3995f7c-6bcd-41fe-bc41-cfd87f9be94a


after


https://github.com/user-attachments/assets/ac660f58-6e6a-46ad-a441-84c7b88d28e2

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8899-fix-resolve-ImageCrop-input-image-through-subgraph-nodes-3086d73d36508172a759d7747190591f)
by [Unito](https://www.unito.io)
github-actions bot pushed a commit that referenced this pull request Feb 18, 2026
## Summary
When ImageCrop's input comes from a subgraph node, getInputNode returns
the subgraph node itself which has no image outputs.
Use resolveSubgraphOutputLink to trace through to the actual source node
(e.g. LoadImage) inside the subgraph.

Use canvas.graph (the currently active graph/subgraph) as the primary
lookup, falling back to rootGraph. When the ImageCrop node is inside a
subgraph, rootGraph cannot find it since it only contains root-level
nodes.

## Screenshots (if applicable)
before


https://github.com/user-attachments/assets/c3995f7c-6bcd-41fe-bc41-cfd87f9be94a


after


https://github.com/user-attachments/assets/ac660f58-6e6a-46ad-a441-84c7b88d28e2

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8899-fix-resolve-ImageCrop-input-image-through-subgraph-nodes-3086d73d36508172a759d7747190591f)
by [Unito](https://www.unito.io)
@comfy-pr-bot
Copy link
Member

@jtydhr88 Successfully backported to #8946

@comfy-pr-bot
Copy link
Member

@jtydhr88 Successfully backported to #8947

@github-actions github-actions bot removed the needs-backport Fix/change that needs to be cherry-picked to the current feature freeze branch label Feb 18, 2026
pythongosssss pushed a commit that referenced this pull request Feb 18, 2026
…aph nodes (#8946)

Backport of #8899 to `core/1.39`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8946-backport-core-1-39-fix-resolve-ImageCrop-input-image-through-subgraph-nodes-30b6d73d36508154a57cd063bb68a174)
by [Unito](https://www.unito.io)

Co-authored-by: Terry Jia <terryjia88@gmail.com>
pythongosssss pushed a commit that referenced this pull request Feb 18, 2026
…raph nodes (#8947)

Backport of #8899 to `cloud/1.39`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8947-backport-cloud-1-39-fix-resolve-ImageCrop-input-image-through-subgraph-nodes-30b6d73d3650814abba4dd6db0567756)
by [Unito](https://www.unito.io)

Co-authored-by: Terry Jia <terryjia88@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cloud/1.39 Backport PRs for cloud 1.39 core/1.39 Backport PRs for core 1.39 size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants