Skip to content

Comments

fix: UI/UX polish for V2 Node Search (#8987)#9084

Draft
christian-byrne wants to merge 1 commit intomainfrom
search-improvements
Draft

fix: UI/UX polish for V2 Node Search (#8987)#9084
christian-byrne wants to merge 1 commit intomainfrom
search-improvements

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Feb 22, 2026

Summary

Designer QA feedback implementation for V2 Node Search added in #8987. Figma reference.

Changes

  • What:
    • Category sidebar: expanded subfolders wrap in bg-secondary-background rounded container to indicate their nodes appear in the results list
    • Chevrons on category tree nodes appear on sidebar hover (useElementHover), only for categories with children; no spacing reserved for leaf categories
    • Filter bar chips: three visual states — active/selecting (inverted bg-base-foreground text-base-background), has-applied-value (bg-base-foreground/10 border-base-foreground), default (border-muted-foreground); shows applied filter count per chip
    • Preview card pricing badge: max-w-full truncate for overflow handling
    • Pass appliedFilters prop from NodeSearchContent to NodeSearchFilterBar
    • Deduplicate button template in NodeSearchCategoryTreeNode (was copy-pasted across v-if/v-else)
    • Fix paddingLeft to preserve depth-based indentation when chevrons are visible
    • Restore draftTypes.ts removed by merge conflict between chore: remove unused draftTypes.ts to fix knip #8993 and feat(persistence): add draft store and tab state management #8519

Review Focus

  • Conditional wrapper pattern in NodeSearchCategoryTreeNode: uses cn() with falsy-returns-undefined to conditionally apply flex/bg classes on a single <div>, avoiding template duplication
  • Design token usage: bg-base-foreground/text-base-background for inverted chips matches button.variants.ts pattern (no --color-foreground token exists in Tailwind v4 theme)
  • paddingLeft formula: 0.5 + depth * 1.25 (with chevrons) vs 0.75 + depth * 1.25 (without) — slightly reduced base to account for chevron icon width

Fixes #8987

┆Issue is synchronized with this Notion page by Unito

@github-actions
Copy link

github-actions bot commented Feb 22, 2026

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 02/23/2026, 03:46:33 AM UTC

Links

@github-actions
Copy link

github-actions bot commented Feb 22, 2026

🎭 Playwright: ✅ 529 passed, 0 failed · 3 flaky

📊 Browser Reports
  • chromium: View Report (✅ 516 / ❌ 0 / ⚠️ 3 / ⏭️ 10)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 10 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 22, 2026

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

Adds presentational and interaction updates to the v2 node search UI: truncated pricing badge, hover-driven chevron visibility in the category sidebar, restructuring/styling for category tree nodes, per-chip applied-filter counts in the filter bar, and a new button variant.

Changes

Cohort / File(s) Summary
Badge Display
src/components/node/NodePreviewCard.vue
Added overflow-hidden on badge wrapper and class="max-w-full truncate" to NodePricingBadge to constrain and truncate badge text.
Category Sidebar & Tree Nodes
src/components/searchbox/v2/NodeSearchCategorySidebar.vue, src/components/searchbox/v2/NodeSearchCategoryTreeNode.vue
Sidebar now exposes a sidebarRef and uses useElementHover (isHovered) to pass :show-chevrons="isHovered" to tree nodes. Tree node updated: root element changed to a wrapper div, label rendered via Button, added showChevrons prop, hasChildren, paddingLeft, categoryButtonClass, and conditional rotating chevron; recursion preserves showChevrons.
Filter Bar & Content Binding
src/components/searchbox/v2/NodeSearchFilterBar.vue, src/components/searchbox/v2/NodeSearchContent.vue
NodeSearchContent passes :applied-filters="filters" to NodeSearchFilterBar. Filter bar gains appliedFilters prop, computes appliedFilterCounts, renders per-chip counts, and uses Button (variants/size) for chips with dynamic variant/class logic.
Button Variants
src/components/ui/button/button.variants.ts
Added new outline button variant and included it in FOR_STORIES variants. Minor formatting adjustments.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰
I hop through trees of clicking chevrons bright,
trim badges tidy in the soft UI light,
chips counting friends who’ve hopped in place,
new outlines frame a button’s face,
I celebrate this tiny, nimble sight. 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The PR title 'fix: UI/UX polish for V2 Node Search (#8987)' directly and concisely summarizes the main change—implementing UI/UX refinements for the V2 Node Search component.
Description check ✅ Passed The PR description comprehensively covers the template requirements with a clear summary, detailed changes list, and review focus section; all required structural elements are present and filled out.
Linked Issues check ✅ Passed The PR implements UI/UX polish for V2 Node Search as outlined in #8987, with all code changes (chevrons, filter states, padding adjustments, badge truncation) directly supporting the design feedback requirements.
Out of Scope Changes check ✅ Passed All changes are scoped to V2 Node Search UI/UX improvements specified in #8987; no unrelated functionality modifications or out-of-scope alterations are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch search-improvements

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

@christian-byrne christian-byrne changed the title fix: designer QA polish for V2 Node Search (#8987) fix: UI/UX polish for V2 Node Search (#8987) Feb 22, 2026
@github-actions
Copy link

github-actions bot commented Feb 22, 2026

📦 Bundle: 4.37 MB gzip 🔴 +526 B

Details

Summary

  • Raw size: 20.5 MB baseline 20.5 MB — 🔴 +2.24 kB
  • Gzip: 4.37 MB baseline 4.37 MB — 🔴 +526 B
  • Brotli: 3.38 MB baseline 3.38 MB — 🔴 +603 B
  • Bundles: 224 current • 224 baseline • 113 added / 113 removed

Category Glance
Graph Workspace 🔴 +2.02 kB (918 kB) · UI Components 🔴 +158 B (47.1 kB) · Data & Services 🔴 +60 B (2.51 MB) · Vendor & Third-Party ⚪ 0 B (8.83 MB) · Other ⚪ 0 B (7.62 MB) · Panels & Settings ⚪ 0 B (436 kB) · + 5 more

App Entry Points — 17.9 kB (baseline 17.9 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-BbD8O4V9.js (removed) 17.9 kB 🟢 -17.9 kB 🟢 -6.36 kB 🟢 -5.48 kB
assets/index-BwhWcEXN.js (new) 17.9 kB 🔴 +17.9 kB 🔴 +6.36 kB 🔴 +5.51 kB

Status: 1 added / 1 removed

Graph Workspace — 918 kB (baseline 916 kB) • 🔴 +2.02 kB

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-zs_nYFEU.js (new) 918 kB 🔴 +918 kB 🔴 +198 kB 🔴 +151 kB
assets/GraphView-aakuRzuc.js (removed) 916 kB 🟢 -916 kB 🟢 -197 kB 🟢 -150 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-CRxMumYd.js (new) 15.5 kB 🔴 +15.5 kB 🔴 +3.32 kB 🔴 +2.82 kB
assets/CloudSurveyView-wJalgCs6.js (removed) 15.5 kB 🟢 -15.5 kB 🟢 -3.32 kB 🟢 -2.83 kB
assets/CloudLoginView-BztbjkgP.js (new) 10 kB 🔴 +10 kB 🔴 +2.93 kB 🔴 +2.56 kB
assets/CloudLoginView-Xl4JsOg_.js (removed) 10 kB 🟢 -10 kB 🟢 -2.93 kB 🟢 -2.58 kB
assets/UserCheckView-Cm0F4JMl.js (new) 8.41 kB 🔴 +8.41 kB 🔴 +2.23 kB 🔴 +1.94 kB
assets/UserCheckView-i1jPUB0F.js (removed) 8.41 kB 🟢 -8.41 kB 🟢 -2.23 kB 🟢 -1.94 kB
assets/CloudSignupView-BQb46y8a.js (new) 7.41 kB 🔴 +7.41 kB 🔴 +2.32 kB 🔴 +2.03 kB
assets/CloudSignupView-DGBTid8b.js (removed) 7.41 kB 🟢 -7.41 kB 🟢 -2.33 kB 🟢 -2.04 kB
assets/CloudLayoutView-DU5oxMH7.js (removed) 6.43 kB 🟢 -6.43 kB 🟢 -2.1 kB 🟢 -1.84 kB
assets/CloudLayoutView-MD3xLnTv.js (new) 6.43 kB 🔴 +6.43 kB 🔴 +2.1 kB 🔴 +1.84 kB
assets/CloudForgotPasswordView-B_sE3MOW.js (removed) 5.56 kB 🟢 -5.56 kB 🟢 -1.94 kB 🟢 -1.73 kB
assets/CloudForgotPasswordView-BijtPO4H.js (new) 5.56 kB 🔴 +5.56 kB 🔴 +1.94 kB 🔴 +1.7 kB
assets/CloudAuthTimeoutView-BLpGGnvX.js (new) 4.91 kB 🔴 +4.91 kB 🔴 +1.77 kB 🔴 +1.55 kB
assets/CloudAuthTimeoutView-prRaBkVs.js (removed) 4.91 kB 🟢 -4.91 kB 🟢 -1.77 kB 🟢 -1.56 kB
assets/CloudSubscriptionRedirectView-BfLj8wob.js (removed) 4.71 kB 🟢 -4.71 kB 🟢 -1.78 kB 🟢 -1.58 kB
assets/CloudSubscriptionRedirectView-VxfeAkrp.js (new) 4.71 kB 🔴 +4.71 kB 🔴 +1.78 kB 🔴 +1.58 kB
assets/UserSelectView-C16zFbk3.js (new) 4.5 kB 🔴 +4.5 kB 🔴 +1.64 kB 🔴 +1.46 kB
assets/UserSelectView-YiiI-rDz.js (removed) 4.5 kB 🟢 -4.5 kB 🟢 -1.64 kB 🟢 -1.47 kB
assets/CloudSorryContactSupportView-Bi8IsTTh.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-CmHcUwxS.js 296 B 296 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SecretsPanel-BVa8JtVq.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +5.3 kB 🔴 +4.66 kB
assets/SecretsPanel-Df993jho.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -5.3 kB 🟢 -4.66 kB
assets/LegacyCreditsPanel-D_3xyHKR.js (new) 20.6 kB 🔴 +20.6 kB 🔴 +5.57 kB 🔴 +4.88 kB
assets/LegacyCreditsPanel-DMm17EmN.js (removed) 20.6 kB 🟢 -20.6 kB 🟢 -5.57 kB 🟢 -4.89 kB
assets/SubscriptionPanel-BOLY01WV.js (removed) 18.6 kB 🟢 -18.6 kB 🟢 -4.74 kB 🟢 -4.17 kB
assets/SubscriptionPanel-e2WYaRwb.js (new) 18.6 kB 🔴 +18.6 kB 🔴 +4.74 kB 🔴 +4.17 kB
assets/KeybindingPanel-Be_Bhkvr.js (new) 12.3 kB 🔴 +12.3 kB 🔴 +3.57 kB 🔴 +3.17 kB
assets/KeybindingPanel-Bkw6X55N.js (removed) 12.3 kB 🟢 -12.3 kB 🟢 -3.57 kB 🟢 -3.18 kB
assets/AboutPanel-B8a_P-o7.js (removed) 9.79 kB 🟢 -9.79 kB 🟢 -2.73 kB 🟢 -2.46 kB
assets/AboutPanel-DFlLVCR0.js (new) 9.79 kB 🔴 +9.79 kB 🔴 +2.73 kB 🔴 +2.47 kB
assets/ExtensionPanel-DU-ymhaw.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.65 kB 🟢 -2.35 kB
assets/ExtensionPanel-ZuQ9M0DZ.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.65 kB 🔴 +2.37 kB
assets/ServerConfigPanel-CzjptxAk.js (new) 6.44 kB 🔴 +6.44 kB 🔴 +2.13 kB 🔴 +1.93 kB
assets/ServerConfigPanel-ZzvHw8ze.js (removed) 6.44 kB 🟢 -6.44 kB 🟢 -2.13 kB 🟢 -1.91 kB
assets/UserPanel-DDlMcct8.js (removed) 6.16 kB 🟢 -6.16 kB 🟢 -1.99 kB 🟢 -1.75 kB
assets/UserPanel-xAoBYu47.js (new) 6.16 kB 🔴 +6.16 kB 🔴 +2 kB 🔴 +1.75 kB
assets/cloudRemoteConfig-9jIvtUI4.js (removed) 1.44 kB 🟢 -1.44 kB 🟢 -711 B 🟢 -613 B
assets/cloudRemoteConfig-DFIMd8Co.js (new) 1.44 kB 🔴 +1.44 kB 🔴 +708 B 🔴 +610 B
assets/refreshRemoteConfig-DlijJou2.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +518 B 🔴 +469 B
assets/refreshRemoteConfig-DpNRhxVQ.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -518 B 🟢 -455 B
assets/config-QxkqTZy6.js 996 B 996 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-3cK4vYSX.js 27.9 kB 27.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-AqJa7Oe1.js 28.7 kB 28.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BOcWl0Qp.js 34.2 kB 34.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BodhSOuG.js 30.5 kB 30.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CCD8qxmc.js 27.8 kB 27.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CVDNuOXV.js 23.9 kB 23.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DLodCRRz.js 24.5 kB 24.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DLqeCT09.js 38.5 kB 38.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DP-OgTXN.js 29.9 kB 29.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DRIXyZ_Z.js 28.8 kB 28.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-IRk9rDbu.js 32.4 kB 32.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 10 added / 10 removed

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-C6_5MBiq.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.18 kB 🔴 +992 B
assets/auth-CF96ig8z.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.18 kB 🟢 -990 B
assets/SignUpForm-Gi6lD_s0.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.23 kB 🔴 +1.09 kB
assets/SignUpForm-KI790bU1.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.23 kB 🟢 -1.1 kB
assets/UpdatePasswordContent-bnxC0xUB.js (removed) 2.37 kB 🟢 -2.37 kB 🟢 -1.07 kB 🟢 -951 B
assets/UpdatePasswordContent-D8Fn-IRD.js (new) 2.37 kB 🔴 +2.37 kB 🔴 +1.07 kB 🔴 +945 B
assets/firebaseAuthStore-B5IlTLKu.js (removed) 790 B 🟢 -790 B 🟢 -385 B 🟢 -347 B
assets/firebaseAuthStore-BqoIfL0V.js (new) 790 B 🔴 +790 B 🔴 +390 B 🔴 +347 B
assets/auth-BrcgD6jq.js (removed) 357 B 🟢 -357 B 🟢 -224 B 🟢 -196 B
assets/auth-CQbjusx2.js (new) 357 B 🔴 +357 B 🔴 +224 B 🔴 +194 B
assets/PasswordFields-koUYSkkX.js 4.51 kB 4.51 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WorkspaceProfilePic-ClXtwRB6.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

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

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-CBG1VWNO.js (new) 738 B 🔴 +738 B 🔴 +382 B 🔴 +329 B
assets/useSubscriptionDialog-Cct0Z1-D.js (removed) 738 B 🟢 -738 B 🟢 -380 B 🟢 -327 B

Status: 1 added / 1 removed

UI Components — 47.1 kB (baseline 47 kB) • 🔴 +158 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useTerminalTabs-j138l4la.js (removed) 9.85 kB 🟢 -9.85 kB 🟢 -3.4 kB 🟢 -3 kB
assets/useTerminalTabs-sBBWSxP9.js (new) 9.85 kB 🔴 +9.85 kB 🔴 +3.4 kB 🔴 +3 kB
assets/ComfyQueueButton-B_i7SuUP.js (removed) 8.02 kB 🟢 -8.02 kB 🟢 -2.49 kB 🟢 -2.22 kB
assets/ComfyQueueButton-TQFeymzi.js (new) 8.02 kB 🔴 +8.02 kB 🔴 +2.49 kB 🔴 +2.22 kB
assets/ScrubableNumberInput-BT0av5LN.js (new) 5.94 kB 🔴 +5.94 kB 🔴 +2.06 kB 🔴 +1.83 kB
assets/ScrubableNumberInput-D7H0v_Kw.js (removed) 5.94 kB 🟢 -5.94 kB 🟢 -2.06 kB 🟢 -1.83 kB
assets/Button-bz1KRR8g.js (new) 3.14 kB 🔴 +3.14 kB 🔴 +1.24 kB 🔴 +1.09 kB
assets/Button-DcjgQBBu.js (removed) 2.98 kB 🟢 -2.98 kB 🟢 -1.21 kB 🟢 -1.05 kB
assets/SubscribeButton-B1BCJeSo.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +1.02 kB 🔴 +891 B
assets/SubscribeButton-gjHnkAF3.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -1.02 kB 🟢 -889 B
assets/WidgetButton-Db8QZdD0.js (removed) 1.84 kB 🟢 -1.84 kB 🟢 -877 B 🟢 -772 B
assets/WidgetButton-DrdN4wdc.js (new) 1.84 kB 🔴 +1.84 kB 🔴 +876 B 🔴 +773 B
assets/cloudFeedbackTopbarButton-CS6scGkh.js (removed) 1.6 kB 🟢 -1.6 kB 🟢 -858 B 🟢 -735 B
assets/cloudFeedbackTopbarButton-CYz6V_fj.js (new) 1.6 kB 🔴 +1.6 kB 🔴 +857 B 🔴 +767 B
assets/ComfyQueueButton-BgEeTMGt.js (removed) 795 B 🟢 -795 B 🟢 -394 B 🟢 -354 B
assets/ComfyQueueButton-ZjeOblX_.js (new) 795 B 🔴 +795 B 🔴 +397 B 🔴 +351 B
assets/CloudBadge-CKN9xgaL.js 1.24 kB 1.24 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/FormSearchInput-D31qG9G5.js 3.73 kB 3.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-YGzOQBJD.js 7.45 kB 7.45 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-DkTACzmk.js 1.17 kB 1.17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 8 removed

Data & Services — 2.51 MB (baseline 2.51 MB) • 🔴 +60 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-CJAksB0c.js (new) 1.73 MB 🔴 +1.73 MB 🔴 +387 kB 🔴 +293 kB
assets/dialogService-detKeLYN.js (removed) 1.73 MB 🟢 -1.73 MB 🟢 -387 kB 🟢 -293 kB
assets/api-D4mdfipi.js (removed) 653 kB 🟢 -653 kB 🟢 -147 kB 🟢 -118 kB
assets/api-D6MVsDoZ.js (new) 653 kB 🔴 +653 kB 🔴 +147 kB 🔴 +118 kB
assets/load3dService-BE5cpKhl.js (removed) 91 kB 🟢 -91 kB 🟢 -19.1 kB 🟢 -16.4 kB
assets/load3dService-BLqeTimZ.js (new) 91 kB 🔴 +91 kB 🔴 +19.1 kB 🔴 +16.4 kB
assets/systemStatsStore-7J0SMVzH.js (removed) 12.7 kB 🟢 -12.7 kB 🟢 -4.42 kB 🟢 -3.89 kB
assets/systemStatsStore-oT7UVII0.js (new) 12.7 kB 🔴 +12.7 kB 🔴 +4.42 kB 🔴 +3.89 kB
assets/releaseStore-Cj7obCzy.js (new) 7.96 kB 🔴 +7.96 kB 🔴 +2.22 kB 🔴 +1.95 kB
assets/releaseStore-DOiAZh--.js (removed) 7.96 kB 🟢 -7.96 kB 🟢 -2.22 kB 🟢 -1.95 kB
assets/keybindingService-CfW8LYYm.js (new) 6.52 kB 🔴 +6.52 kB 🔴 +1.71 kB 🔴 +1.47 kB
assets/keybindingService-D9ZeNF59.js (removed) 6.52 kB 🟢 -6.52 kB 🟢 -1.71 kB 🟢 -1.47 kB
assets/bootstrapStore-DF8jQILN.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -868 B 🟢 -792 B
assets/bootstrapStore-rXTfJfQN.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +872 B 🔴 +795 B
assets/userStore-D_U-CsG6.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +720 B 🔴 +678 B
assets/userStore-D0H5IWbC.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -719 B 🟢 -678 B
assets/audioService-B-sFvOZ-.js (new) 1.73 kB 🔴 +1.73 kB 🔴 +849 B 🔴 +728 B
assets/audioService-DqS6EhOi.js (removed) 1.73 kB 🟢 -1.73 kB 🟢 -848 B 🟢 -725 B
assets/releaseStore-DuJZZjGi.js (removed) 762 B 🟢 -762 B 🟢 -385 B 🟢 -341 B
assets/releaseStore-XU9Op2Oe.js (new) 762 B 🔴 +762 B 🔴 +388 B 🔴 +340 B
assets/settingStore-Cr277-85.js (removed) 746 B 🟢 -746 B 🟢 -389 B 🟢 -344 B
assets/settingStore-DdUu7J86.js (new) 746 B 🔴 +746 B 🔴 +387 B 🔴 +346 B
assets/workflowDraftStore-5s2Uq36f.js (removed) 738 B 🟢 -738 B 🟢 -380 B 🟢 -336 B
assets/workflowDraftStore-C2OdfJeJ.js (new) 738 B 🔴 +738 B 🔴 +382 B 🔴 +334 B
assets/dialogService-xslpJvha.js (new) 727 B 🔴 +727 B 🔴 +370 B 🔴 +329 B
assets/dialogService-ZBG6AjIM.js (removed) 727 B 🟢 -727 B 🟢 -367 B 🟢 -331 B
assets/serverConfigStore-Bv99woE0.js 2.32 kB 2.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 removed

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useLoad3d-B4422EKT.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.63 kB 🟢 -3.21 kB
assets/useLoad3d-DYWeesn6.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.63 kB 🔴 +3.21 kB
assets/useLoad3dViewer-C7FeOE1u.js (new) 14.1 kB 🔴 +14.1 kB 🔴 +3.15 kB 🔴 +2.8 kB
assets/useLoad3dViewer-t1276261.js (removed) 14.1 kB 🟢 -14.1 kB 🟢 -3.15 kB 🟢 -2.8 kB
assets/useFeatureFlags-C-HK-R6R.js (removed) 4.14 kB 🟢 -4.14 kB 🟢 -1.23 kB 🟢 -1.06 kB
assets/useFeatureFlags-xEeiL0gR.js (new) 4.14 kB 🔴 +4.14 kB 🔴 +1.23 kB 🔴 +1.05 kB
assets/useWorkspaceUI-3dQGdzv-.js (removed) 3 kB 🟢 -3 kB 🟢 -822 B 🟢 -702 B
assets/useWorkspaceUI-5-qhCcmf.js (new) 3 kB 🔴 +3 kB 🔴 +822 B 🔴 +700 B
assets/useSubscriptionCredits-B4ewkFbV.js (removed) 2.75 kB 🟢 -2.75 kB 🟢 -1.04 kB 🟢 -903 B
assets/useSubscriptionCredits-B5_hxfbO.js (new) 2.75 kB 🔴 +2.75 kB 🔴 +1.04 kB 🔴 +905 B
assets/subscriptionCheckoutUtil-DAeffrdx.js (new) 2.53 kB 🔴 +2.53 kB 🔴 +1.06 kB 🔴 +956 B
assets/subscriptionCheckoutUtil-DeoTD8GH.js (removed) 2.53 kB 🟢 -2.53 kB 🟢 -1.06 kB 🟢 -953 B
assets/useErrorHandling-C-oWVgaB.js (new) 1.5 kB 🔴 +1.5 kB 🔴 +627 B 🔴 +534 B
assets/useErrorHandling-CYEP3KT5.js (removed) 1.5 kB 🟢 -1.5 kB 🟢 -628 B 🟢 -534 B
assets/useWorkspaceSwitch-BIHz2_uO.js (removed) 1.25 kB 🟢 -1.25 kB 🟢 -544 B 🟢 -480 B
assets/useWorkspaceSwitch-DZQDHlni.js (new) 1.25 kB 🔴 +1.25 kB 🔴 +543 B 🔴 +480 B
assets/useLoad3d-BvNdv0tS.js (new) 861 B 🔴 +861 B 🔴 +427 B 🔴 +383 B
assets/useLoad3d-D74jobnZ.js (removed) 861 B 🟢 -861 B 🟢 -426 B 🟢 -381 B
assets/audioUtils-CQL6ne_B.js (removed) 858 B 🟢 -858 B 🟢 -499 B 🟢 -410 B
assets/audioUtils-D9jm94X-.js (new) 858 B 🔴 +858 B 🔴 +501 B 🔴 +420 B
assets/useLoad3dViewer-Bt50_c5h.js (new) 840 B 🔴 +840 B 🔴 +414 B 🔴 +373 B
assets/useLoad3dViewer-HCyJ7i5g.js (removed) 840 B 🟢 -840 B 🟢 -412 B 🟢 -372 B
assets/useCurrentUser-hoxkLDxB.js (removed) 724 B 🟢 -724 B 🟢 -371 B 🟢 -328 B
assets/useCurrentUser-TyLoY2Kb.js (new) 724 B 🔴 +724 B 🔴 +373 B 🔴 +325 B
assets/_plugin-vue_export-helper-CY4XIWDa.js 315 B 315 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-m-0Os8lq.js 7 kB 7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/envUtil-BQSmRN2Q.js 466 B 466 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-DOdPeMQc.js 1.56 kB 1.56 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SkeletonUtils-BputJAFn.js 133 B 133 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useExternalLink-DaT9L5W9.js 1.66 kB 1.66 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 12 added / 12 removed

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

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-axios-Cp6hch1I.js 70.7 kB 70.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-chart-BxkFiWzp.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-DccD0mxo.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-markdown-D5S6AC80.js 103 kB 103 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-BzNZEmD_.js 1.52 MB 1.52 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-Ca9moc73.js 1.73 MB 1.73 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-CWMIYdD2.js 379 kB 379 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-LBLOE6BD.js 1.8 MB 1.8 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-CHaNo_rA.js 634 kB 634 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-core-CmHHRvL9.js 311 kB 311 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vueuse-B4hGe0IQ.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-vkxZGffR.js 374 kB 374 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-yjs-CP_4YO8u.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.62 MB (baseline 7.62 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-BghUDvbC.js (new) 72.8 kB 🔴 +72.8 kB 🔴 +18.8 kB 🔴 +16.1 kB
assets/core-D_uXW1MY.js (removed) 72.8 kB 🟢 -72.8 kB 🟢 -18.8 kB 🟢 -16.1 kB
assets/groupNode-C2y4zT7D.js (new) 71.8 kB 🔴 +71.8 kB 🔴 +17.7 kB 🔴 +15.5 kB
assets/groupNode-CPZBnilA.js (removed) 71.8 kB 🟢 -71.8 kB 🟢 -17.6 kB 🟢 -15.5 kB
assets/WidgetSelect-6IKIQAgh.js (new) 58.1 kB 🔴 +58.1 kB 🔴 +12.4 kB 🔴 +10.7 kB
assets/WidgetSelect-CJKKfFfh.js (removed) 58.1 kB 🟢 -58.1 kB 🟢 -12.4 kB 🟢 -10.7 kB
assets/SubscriptionRequiredDialogContentWorkspace-DO9bzG0G.js (removed) 45.8 kB 🟢 -45.8 kB 🟢 -8.56 kB 🟢 -7.42 kB
assets/SubscriptionRequiredDialogContentWorkspace-EIj5mqPB.js (new) 45.8 kB 🔴 +45.8 kB 🔴 +8.56 kB 🔴 +7.42 kB
assets/Load3DControls-Cf9Ev6Ec.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -5.34 kB 🟢 -4.64 kB
assets/Load3DControls-DGKvC5Dg.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +5.34 kB 🔴 +4.65 kB
assets/WorkspacePanelContent-0sApL8K8.js (new) 29.3 kB 🔴 +29.3 kB 🔴 +6.14 kB 🔴 +5.42 kB
assets/WorkspacePanelContent-B4l-Ockp.js (removed) 29.3 kB 🟢 -29.3 kB 🟢 -6.14 kB 🟢 -5.4 kB
assets/SubscriptionRequiredDialogContent-BCjHtS-a.js (new) 26.2 kB 🔴 +26.2 kB 🔴 +6.57 kB 🔴 +5.78 kB
assets/SubscriptionRequiredDialogContent-CeVYgwz2.js (removed) 26.2 kB 🟢 -26.2 kB 🟢 -6.57 kB 🟢 -5.78 kB
assets/Load3dViewerContent-ClUODxKq.js (removed) 23 kB 🟢 -23 kB 🟢 -5.18 kB 🟢 -4.49 kB
assets/Load3dViewerContent-DEohab0F.js (new) 23 kB 🔴 +23 kB 🔴 +5.18 kB 🔴 +4.49 kB
assets/WidgetImageCrop-B-IRznCU.js (removed) 22.1 kB 🟢 -22.1 kB 🟢 -5.51 kB 🟢 -4.87 kB
assets/WidgetImageCrop-Borqnc6X.js (new) 22.1 kB 🔴 +22.1 kB 🔴 +5.51 kB 🔴 +4.86 kB
assets/SubscriptionPanelContentWorkspace-FiIXIcng.js (new) 21.6 kB 🔴 +21.6 kB 🔴 +5.02 kB 🔴 +4.43 kB
assets/SubscriptionPanelContentWorkspace-YL-xncBF.js (removed) 21.6 kB 🟢 -21.6 kB 🟢 -5.02 kB 🟢 -4.43 kB
assets/CurrentUserPopoverWorkspace-C3sfr92l.js (new) 19.8 kB 🔴 +19.8 kB 🔴 +4.86 kB 🔴 +4.34 kB
assets/CurrentUserPopoverWorkspace-DG4QRkxS.js (removed) 19.8 kB 🟢 -19.8 kB 🟢 -4.86 kB 🟢 -4.33 kB
assets/SignInContent-CmV85B-4.js (removed) 18.9 kB 🟢 -18.9 kB 🟢 -4.79 kB 🟢 -4.2 kB
assets/SignInContent-D9tDeYDD.js (new) 18.9 kB 🔴 +18.9 kB 🔴 +4.79 kB 🔴 +4.19 kB
assets/WidgetInputNumber-B5APb3JW.js (removed) 18.6 kB 🟢 -18.6 kB 🟢 -4.71 kB 🟢 -4.18 kB
assets/WidgetInputNumber-DCBu9H3G.js (new) 18.6 kB 🔴 +18.6 kB 🔴 +4.71 kB 🔴 +4.18 kB
assets/WidgetRecordAudio-COIAP0SE.js (new) 17.3 kB 🔴 +17.3 kB 🔴 +4.95 kB 🔴 +4.42 kB
assets/WidgetRecordAudio-D4m2YYdO.js (removed) 17.3 kB 🟢 -17.3 kB 🟢 -4.94 kB 🟢 -4.42 kB
assets/Load3D-BGifxROj.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.03 kB 🟢 -3.52 kB
assets/Load3D-H_ufwsln.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.03 kB 🔴 +3.51 kB
assets/load3d-DpX7vv9I.js (removed) 14.7 kB 🟢 -14.7 kB 🟢 -4.2 kB 🟢 -3.63 kB
assets/load3d-r3ML5L2G.js (new) 14.7 kB 🔴 +14.7 kB 🔴 +4.19 kB 🔴 +3.63 kB
assets/AudioPreviewPlayer-CXGUinZ0.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +3.2 kB 🔴 +2.87 kB
assets/AudioPreviewPlayer-DBHW6VhU.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -3.2 kB 🟢 -2.88 kB
assets/changeTracker-BOgQr7yM.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.89 kB 🔴 +2.54 kB
assets/changeTracker-pzDxrrmu.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.89 kB 🟢 -2.54 kB
assets/nodeTemplates-BY0p1aQe.js (removed) 9.3 kB 🟢 -9.3 kB 🟢 -3.26 kB 🟢 -2.86 kB
assets/nodeTemplates-kBjlPJti.js (new) 9.3 kB 🔴 +9.3 kB 🔴 +3.26 kB 🔴 +2.86 kB
assets/InviteMemberDialogContent-Bv8DICGp.js (removed) 7.38 kB 🟢 -7.38 kB 🟢 -2.3 kB 🟢 -2 kB
assets/InviteMemberDialogContent-DRKZ8V8i.js (new) 7.38 kB 🔴 +7.38 kB 🔴 +2.3 kB 🔴 +2 kB
assets/Load3DConfiguration-BikRY54M.js (removed) 6.27 kB 🟢 -6.27 kB 🟢 -1.91 kB 🟢 -1.68 kB
assets/Load3DConfiguration-BqwbMKtR.js (new) 6.27 kB 🔴 +6.27 kB 🔴 +1.91 kB 🔴 +1.68 kB
assets/CreateWorkspaceDialogContent-CjZd3d8r.js (new) 5.53 kB 🔴 +5.53 kB 🔴 +1.99 kB 🔴 +1.74 kB
assets/CreateWorkspaceDialogContent-f-yhBkIX.js (removed) 5.53 kB 🟢 -5.53 kB 🟢 -1.99 kB 🟢 -1.74 kB
assets/onboardingCloudRoutes-B-0OkX_u.js (removed) 5.41 kB 🟢 -5.41 kB 🟢 -1.84 kB 🟢 -1.61 kB
assets/onboardingCloudRoutes-Bl14gygk.js (new) 5.41 kB 🔴 +5.41 kB 🔴 +1.84 kB 🔴 +1.62 kB
assets/EditWorkspaceDialogContent-Buk6oEP9.js (new) 5.33 kB 🔴 +5.33 kB 🔴 +1.95 kB 🔴 +1.71 kB
assets/EditWorkspaceDialogContent-CYnlmzDP.js (removed) 5.33 kB 🟢 -5.33 kB 🟢 -1.95 kB 🟢 -1.7 kB
assets/ValueControlPopover-BHZsyQqy.js (removed) 4.92 kB 🟢 -4.92 kB 🟢 -1.77 kB 🟢 -1.59 kB
assets/ValueControlPopover-CiWqT5Fz.js (new) 4.92 kB 🔴 +4.92 kB 🔴 +1.77 kB 🔴 +1.59 kB
assets/Preview3d-Dm25kbm9.js (removed) 4.82 kB 🟢 -4.82 kB 🟢 -1.57 kB 🟢 -1.37 kB
assets/Preview3d-DXm6nJ15.js (new) 4.82 kB 🔴 +4.82 kB 🔴 +1.57 kB 🔴 +1.37 kB
assets/CancelSubscriptionDialogContent-Bxg-V09-.js (new) 4.79 kB 🔴 +4.79 kB 🔴 +1.78 kB 🔴 +1.57 kB
assets/CancelSubscriptionDialogContent-C0uSGk10.js (removed) 4.79 kB 🟢 -4.79 kB 🟢 -1.78 kB 🟢 -1.56 kB
assets/AnimationControls-at1i-4W6.js (new) 4.61 kB 🔴 +4.61 kB 🔴 +1.6 kB 🔴 +1.41 kB
assets/AnimationControls-BuN89WBW.js (removed) 4.61 kB 🟢 -4.61 kB 🟢 -1.6 kB 🟢 -1.41 kB
assets/DeleteWorkspaceDialogContent-BDyOjynS.js (removed) 4.23 kB 🟢 -4.23 kB 🟢 -1.63 kB 🟢 -1.43 kB
assets/DeleteWorkspaceDialogContent-C3wvrqN4.js (new) 4.23 kB 🔴 +4.23 kB 🔴 +1.64 kB 🔴 +1.42 kB
assets/WidgetWithControl-CpTwLZbJ.js (removed) 4.11 kB 🟢 -4.11 kB 🟢 -1.78 kB 🟢 -1.61 kB
assets/WidgetWithControl-w9kAjdB9.js (new) 4.11 kB 🔴 +4.11 kB 🔴 +1.78 kB 🔴 +1.6 kB
assets/LeaveWorkspaceDialogContent-1VFC7C39.js (removed) 4.06 kB 🟢 -4.06 kB 🟢 -1.58 kB 🟢 -1.38 kB
assets/LeaveWorkspaceDialogContent-D05Aghrd.js (new) 4.06 kB 🔴 +4.06 kB 🔴 +1.58 kB 🔴 +1.38 kB
assets/RemoveMemberDialogContent-D3mrMw-Z.js (new) 4.04 kB 🔴 +4.04 kB 🔴 +1.53 kB 🔴 +1.34 kB
assets/RemoveMemberDialogContent-DUklrtQv.js (removed) 4.04 kB 🟢 -4.04 kB 🟢 -1.53 kB 🟢 -1.34 kB
assets/RevokeInviteDialogContent-BFUlxZaQ.js (new) 3.96 kB 🔴 +3.96 kB 🔴 +1.55 kB 🔴 +1.36 kB
assets/RevokeInviteDialogContent-DfRhWmO_.js (removed) 3.96 kB 🟢 -3.96 kB 🟢 -1.54 kB 🟢 -1.36 kB
assets/InviteMemberUpsellDialogContent-BaDZG8pf.js (new) 3.83 kB 🔴 +3.83 kB 🔴 +1.41 kB 🔴 +1.24 kB
assets/InviteMemberUpsellDialogContent-CrUYJPG_.js (removed) 3.83 kB 🟢 -3.83 kB 🟢 -1.4 kB 🟢 -1.23 kB
assets/Popover-BFioAN8e.js (removed) 3.65 kB 🟢 -3.65 kB 🟢 -1.44 kB 🟢 -1.27 kB
assets/Popover-COV9vz46.js (new) 3.65 kB 🔴 +3.65 kB 🔴 +1.44 kB 🔴 +1.27 kB
assets/saveMesh-BcttkwDO.js (removed) 3.38 kB 🟢 -3.38 kB 🟢 -1.46 kB 🟢 -1.29 kB
assets/saveMesh-BoKVttkt.js (new) 3.38 kB 🔴 +3.38 kB 🔴 +1.46 kB 🔴 +1.3 kB
assets/WidgetBoundingBox-BqCGjDeT.js (new) 3.19 kB 🔴 +3.19 kB 🔴 +895 B 🔴 +777 B
assets/WidgetBoundingBox-xcXafMSV.js (removed) 3.19 kB 🟢 -3.19 kB 🟢 -895 B 🟢 -779 B
assets/cloudSessionCookie-CV4W4aEX.js (removed) 3.1 kB 🟢 -3.1 kB 🟢 -1.09 kB 🟢 -964 B
assets/cloudSessionCookie-dGBREsTc.js (new) 3.1 kB 🔴 +3.1 kB 🔴 +1.09 kB 🔴 +995 B
assets/GlobalToast-B31E4He-.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.21 kB 🟢 -1.03 kB
assets/GlobalToast-yiod3KHq.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.21 kB 🔴 +1.04 kB
assets/ApiNodesSignInContent-Bhc-4nCB.js (new) 2.69 kB 🔴 +2.69 kB 🔴 +1.05 kB 🔴 +922 B
assets/ApiNodesSignInContent-DJlgel6c.js (removed) 2.69 kB 🟢 -2.69 kB 🟢 -1.05 kB 🟢 -917 B
assets/SubscribeToRun-BVfRoqSL.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -1.01 kB 🟢 -871 B
assets/SubscribeToRun-LjQBYk81.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +1.01 kB 🔴 +883 B
assets/CloudRunButtonWrapper-BaVtfliE.js (new) 1.68 kB 🔴 +1.68 kB 🔴 +786 B 🔴 +715 B
assets/CloudRunButtonWrapper-CyMOZiUP.js (removed) 1.68 kB 🟢 -1.68 kB 🟢 -785 B 🟢 -712 B
assets/cloudBadges-CAB-FZBX.js (removed) 1.37 kB 🟢 -1.37 kB 🟢 -710 B 🟢 -615 B
assets/cloudBadges-DsesgRZL.js (new) 1.37 kB 🔴 +1.37 kB 🔴 +706 B 🔴 +618 B
assets/cloudSubscription-Cu1LbPUr.js (new) 1.33 kB 🔴 +1.33 kB 🔴 +657 B 🔴 +570 B
assets/cloudSubscription-p__cSg75.js (removed) 1.33 kB 🟢 -1.33 kB 🟢 -658 B 🟢 -572 B
assets/Load3D-DY6b35rR.js (new) 1.07 kB 🔴 +1.07 kB 🔴 +499 B 🔴 +442 B
assets/Load3D-vtPIaPyR.js (removed) 1.07 kB 🟢 -1.07 kB 🟢 -497 B 🟢 -444 B
assets/nightlyBadges-Cn-9c-MP.js (new) 1 kB 🔴 +1 kB 🔴 +535 B 🔴 +470 B
assets/nightlyBadges-Cz4l1uom.js (removed) 1 kB 🟢 -1 kB 🟢 -537 B 🟢 -471 B
assets/Load3dViewerContent-BR_szTJm.js (removed) 995 B 🟢 -995 B 🟢 -468 B 🟢 -417 B
assets/Load3dViewerContent-Cj6rPaIq.js (new) 995 B 🔴 +995 B 🔴 +471 B 🔴 +418 B
assets/SubscriptionPanelContentWorkspace-B8lWO1Mm.js (new) 932 B 🔴 +932 B 🔴 +440 B 🔴 +385 B
assets/SubscriptionPanelContentWorkspace-ls9JteTW.js (removed) 932 B 🟢 -932 B 🟢 -438 B 🟢 -384 B
assets/graphHasMissingNodes-bBM-XFIW.js (new) 761 B 🔴 +761 B 🔴 +374 B 🔴 +331 B
assets/graphHasMissingNodes-DwyCQnq2.js (removed) 761 B 🟢 -761 B 🟢 -371 B 🟢 -330 B
assets/changeTracker-BEV6Axqt.js (removed) 759 B 🟢 -759 B 🟢 -385 B 🟢 -341 B
assets/changeTracker-LZx-sgCU.js (new) 759 B 🔴 +759 B 🔴 +388 B 🔴 +339 B
assets/WidgetLegacy-4Zm11T2g.js (removed) 747 B 🟢 -747 B 🟢 -385 B 🟢 -338 B
assets/WidgetLegacy-Cebyzdvq.js (new) 747 B 🔴 +747 B 🔴 +388 B 🔴 +341 B
assets/WidgetInputNumber-D7nbHBxi.js (removed) 469 B 🟢 -469 B 🟢 -264 B 🟢 -228 B
assets/WidgetInputNumber-DpwfH68G.js (new) 469 B 🔴 +469 B 🔴 +266 B 🔴 +234 B
assets/WidgetBoundingBox-BiPfq8x0.js (new) 283 B 🔴 +283 B 🔴 +186 B 🔴 +164 B
assets/WidgetBoundingBox-BPh1lTyF.js (removed) 283 B 🟢 -283 B 🟢 -185 B 🟢 -168 B
assets/auto-BTnZwrs2.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/BaseViewTemplate-sbUO3_hD.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/comfy-logo-single-DhnNuB-i.js 198 B 198 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ComfyOrgHeader-CKD9vwNi.js 910 B 910 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BIWmUVEc.js 16.9 kB 16.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BOt38VCw.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C0NcxRH3.js 18.8 kB 18.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C2xuXGb5.js 17.5 kB 17.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CmiKIQwc.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DMwP8S5e.js 16.7 kB 16.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DwBt3HhT.js 15.9 kB 15.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-JX559A2n.js 15.1 kB 15.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-n_2KJWcD.js 15.2 kB 15.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-OO-8nFm9.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-wq2Y-YKn.js 17.5 kB 17.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/constants-BIWjk1ar.js 579 B 579 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-Bn6SUdCm.js 199 B 199 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-BRdrdW-K.js 519 kB 519 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BgWDQhKn.js 145 kB 145 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BH99zfen.js 148 kB 148 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Cl0TDHs-.js 143 kB 143 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CTgQOf6T.js 196 kB 196 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CTIe-PdP.js 140 kB 140 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CxmFjxCA.js 176 kB 176 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D_siPGTl.js 162 kB 162 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D-U7Lzb5.js 170 kB 170 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-d6c2x81N.js 123 kB 123 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DN0hguJt.js 141 kB 141 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DzJxAN6l.js 124 kB 124 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-D3QRJ6eZ.js 1.82 kB 1.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-vXuump5i.js 1.43 kB 1.43 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-XsW6Reb5.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaOtherTop-Crhpst_D.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaTextTop-DLkC3BlW.js 1.01 kB 1.01 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-Dxvkupp8.js 2.77 kB 2.77 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-2U4KtUml.js 360 kB 360 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-5rcOJVex.js 391 kB 391 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BTBSP0IQ.js 480 kB 480 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BZEpP7w6.js 383 kB 383 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C-Tw-7I_.js 407 kB 407 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C76rbmLh.js 441 kB 441 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CxxD1ymF.js 395 kB 395 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DciNsuYe.js 392 kB 392 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-G7wcMpUD.js 356 kB 356 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-nGdg-hIO.js 388 kB 388 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-xiPSrG6S.js 440 kB 440 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-DeIFnh1k.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-bibvA8E3.js 8.94 kB 8.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/signInSchema-DS2mQ03I.js 1.53 kB 1.53 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-DdhXSGsd.js 3.52 kB 3.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/src-1EXhnvTZ.js 251 B 251 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/telemetry-zZf2dHJ2.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/VideoPlayOverlay-vVfixIxQ.js 1.35 kB 1.35 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-DTUjK0ZE.js 445 B 445 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-BPLD0Sx8.js 2.21 kB 2.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-B4mml5Z1.js 2.9 kB 2.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-Bb1DZ9I_.js 3.61 kB 3.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-DpWt7SLo.js 3.1 kB 3.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-Bkj-AL52.js 1.86 kB 1.86 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-hmcBQt7E.js 1.95 kB 1.95 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-Vq4skE3X.js 2.93 kB 2.93 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-Cd0O5LPR.js 1.1 kB 1.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-BF39Y5Iz.js 3.96 kB 3.96 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-DC0xon5p.js 6.8 kB 6.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetTypes-BtuQMzwn.js 393 B 393 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 53 added / 53 removed

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
src/components/searchbox/v2/NodeSearchFilterBar.vue (1)

3-18: Consider using the shared Button component (optional).

The filter chips use raw <button> elements. The codebase guideline suggests preferring the shared Button component from src/components/ui/button/Button.vue. However, since these chips have specialized three-state visuals (active, has-applied, default) that may not fit existing Button variants, the current approach is acceptable.

If this chip pattern is reused elsewhere, consider creating a reusable "chip" variant or a dedicated FilterChip component.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/components/searchbox/v2/NodeSearchFilterBar.vue` around lines 3 - 18, The
current filter chips render raw <button> elements (see the v-for over chips,
chipClass(chip.key), and `@click`="emit('selectChip', chip)") which diverges from
the codebase guideline to prefer the shared Button component; either replace
each raw button with the shared Button (mapping aria-pressed, class bindings
from chipClass, click handler emit('selectChip', chip), and the
appliedFilterCounts badge) to keep styling/behavior consistent, or if the
three-state visuals are unique, extract this pattern into a reusable FilterChip
component (or add a "chip" variant to src/components/ui/button/Button.vue) that
encapsulates chipClass, active/has-applied/default states, and the
appliedFilterCounts display so other places can reuse it.
src/components/searchbox/v2/NodeSearchCategoryTreeNode.vue (1)

11-29: Prefer the shared Button component over raw <button>.

This component is under src/components, so it should use the shared Button for consistent styling/behavior. Consider swapping the native button with src/components/ui/button/Button.vue while keeping the existing classes and attributes.

♻️ Suggested change
<script setup lang="ts">
+import Button from '@/components/ui/button/Button.vue'
</script>

-    <button
+    <Button
       type="button"
       :data-testid="`category-${node.key}`"
       :aria-current="selectedCategory === node.key || undefined"
       :class="categoryButtonClass"
       :style="{ paddingLeft: paddingLeft }"
       `@click`="$emit('select', node.key)"
     >
       <i
         v-if="showChevrons && hasChildren"
         :class="
           cn(
             'pi pi-chevron-down shrink-0 text-[10px] transition-transform',
             !isExpanded && '-rotate-90'
           )
         "
       />
       {{ node.label }}
-    </button>
+    </Button>

Based on learnings: In the ComfyUI_frontend Vue codebase, replace raw HTML elements with the shared Button component located at src/components/ui/button/Button.vue.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/components/searchbox/v2/NodeSearchCategoryTreeNode.vue` around lines 11 -
29, Replace the raw <button> in NodeSearchCategoryTreeNode.vue with the shared
Button component (Button.vue): import and register Button, render <Button> with
the same attributes/bindings (:data-testid="`category-${node.key}`",
:aria-current="selectedCategory === node.key || undefined",
:class="categoryButtonClass", :style="{ paddingLeft: paddingLeft }", and
`@click`="$emit('select', node.key)"), keep the chevron <i> block and {{
node.label }} as the Button slot content, and preserve the cn usage and reactive
props (showChevrons, hasChildren, isExpanded) so behavior and styling remain
identical.

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/components/searchbox/v2/NodeSearchCategoryTreeNode.vue`:
- Around line 11-29: Replace the raw <button> in NodeSearchCategoryTreeNode.vue
with the shared Button component (Button.vue): import and register Button,
render <Button> with the same attributes/bindings
(:data-testid="`category-${node.key}`", :aria-current="selectedCategory ===
node.key || undefined", :class="categoryButtonClass", :style="{ paddingLeft:
paddingLeft }", and `@click`="$emit('select', node.key)"), keep the chevron <i>
block and {{ node.label }} as the Button slot content, and preserve the cn usage
and reactive props (showChevrons, hasChildren, isExpanded) so behavior and
styling remain identical.

In `@src/components/searchbox/v2/NodeSearchFilterBar.vue`:
- Around line 3-18: The current filter chips render raw <button> elements (see
the v-for over chips, chipClass(chip.key), and `@click`="emit('selectChip',
chip)") which diverges from the codebase guideline to prefer the shared Button
component; either replace each raw button with the shared Button (mapping
aria-pressed, class bindings from chipClass, click handler emit('selectChip',
chip), and the appliedFilterCounts badge) to keep styling/behavior consistent,
or if the three-state visuals are unique, extract this pattern into a reusable
FilterChip component (or add a "chip" variant to
src/components/ui/button/Button.vue) that encapsulates chipClass,
active/has-applied/default states, and the appliedFilterCounts display so other
places can reuse it.

- Category sidebar: nested expanded subfolders wrap in bg-secondary-background container
- Chevrons appear on sidebar hover for categories with children
- Filter chips: three visual states (active/applied/default) with applied count
- Preview card pricing badge truncation for overflow
- Pass appliedFilters prop to NodeSearchFilterBar
- Fix paddingLeft to preserve depth hierarchy when chevrons are visible
- Deduplicate button template in NodeSearchCategoryTreeNode
- Restore draftTypes.ts removed by merge conflict with #8993/#8519

Amp-Thread-ID: https://ampcode.com/threads/T-019c87f4-aa28-7290-bdf0-ea5f86aacde3
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

Successfully merging this pull request may close these issues.

1 participant