Skip to content

fix: make graph canvas toolbar visible on mobile#10168

Open
christian-byrne wants to merge 3 commits intomainfrom
fix/mobile-canvas-toolbar-visibility
Open

fix: make graph canvas toolbar visible on mobile#10168
christian-byrne wants to merge 3 commits intomainfrom
fix/mobile-canvas-toolbar-visibility

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Mar 17, 2026

Summary

Fix the bottom-right graph canvas toolbar (zoom controls, fit-to-view, minimap toggle) not being visible on mobile devices in normal graph mode.

Problem

PrimeVue applies overflow: hidden to all .p-splitterpanel elements by default. The GraphCanvasMenu component is absolutely positioned (right-0 bottom-0) inside the graph-canvas-panel SplitterPanel. On mobile viewports, the panel's bounding box can be smaller than the full canvas area, causing the toolbar to be clipped by the overflow: hidden.

Solution

Add overflow-visible to the graph-canvas-panel SplitterPanel class to override PrimeVue's default overflow: hidden. This allows the absolutely-positioned toolbar (and minimap) to remain visible regardless of viewport size.

image

┆Issue is synchronized with this Notion page by Unito

Override PrimeVue's default overflow:hidden on the graph-canvas-panel
SplitterPanel with overflow-visible. The panel contains absolutely-
positioned children (GraphCanvasMenu at bottom-0 right-0, MiniMap at
bottom-[54px]) that get clipped on mobile viewports when the panel's
bounding box is smaller than the full canvas area.

Add regression test to ensure overflow-visible stays on graph-canvas-panel.

Fixes: COM-16822
@christian-byrne christian-byrne added the preview-cpu Creates a preview ephemeral environment for this PR (CPU only) label Mar 17, 2026
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Mar 17, 2026
@github-actions
Copy link

github-actions bot commented Mar 17, 2026

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 03/17/2026, 01:13:16 PM UTC

Links

@github-actions
Copy link

github-actions bot commented Mar 17, 2026

🎭 Playwright: ✅ 625 passed, 0 failed · 5 flaky

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 17, 2026

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • browser_tests/tests/mobileBaseline.spec.ts-snapshots/mobile-graph-canvas-toolbar-mobile-chrome-linux.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4b90b216-9909-490d-a174-5f206dd41e10

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Added an overflow-visible class to the graph-canvas SplitterPanel to prevent PrimeVue's overflow:hidden from clipping absolutely-positioned toolbar elements, plus regression and browser tests asserting toolbar visibility on mobile.

Changes

Cohort / File(s) Summary
Component Update
src/components/LiteGraphCanvasSplitterOverlay.vue
Added overflow-visible to the SplitterPanel (graph-canvas-panel) to override PrimeVue's overflow:hidden and prevent toolbar clipping.
Unit Test
src/components/LiteGraphCanvasSplitterOverlay.test.ts
New regression test asserting the component source contains a class with graph-canvas-panel and overflow-visible.
Browser E2E Test
browser_tests/tests/mobileBaseline.spec.ts
Added mobile browser test "@mobile graph canvas toolbar visible" that enables the CanvasMenu, checks the minimap-toggle visibility, and captures a screenshot mobile-graph-canvas-toolbar.png.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰
I nudged a class where it belonged,
so tiny buttons sing their song.
No more clipped wings on mobile days,
the toolbar hops out into the rays. ✨

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely describes the main fix: adding overflow-visible to make the graph canvas toolbar visible on mobile devices.
Description check ✅ Passed The description provides a clear summary, explains the problem and solution, and includes a screenshot. It follows the template structure with Summary, Problem, and Solution sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
End-To-End Regression Coverage For Fixes ✅ Passed PR includes end-to-end regression test coverage via new mobile baseline test in browser_tests/tests/mobileBaseline.spec.ts verifying graph canvas toolbar visibility on mobile.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/mobile-canvas-toolbar-visibility
📝 Coding Plan
  • Generate coding plan for human review comments

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

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.

Actionable comments posted: 1

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

Inline comments:
In `@src/components/LiteGraphCanvasSplitterOverlay.test.ts`:
- Around line 17-26: Current test inspects the SFC source with a regex; replace
it with a behavioral test that mounts/renders LiteGraphCanvasSplitterOverlay.vue
(the component under test) in a mobile-sized viewport and asserts the
GraphCanvasMenu (or the element with class graph-canvas-panel / toolbar element)
is visible and reachable (e.g., check element is in the DOM and its
getBoundingClientRect sits within the viewport or that it is not
clipped/hidden). Use the project's preferred test tooling (e.g., `@vue/test-utils`
mount or a browser test runner) to set a small viewport size, interact if needed
to reveal the bottom-right controls, and assert visibility/position rather than
asserting CSS class strings.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4261530c-9cc0-4f9e-a1e5-67a00e92f1c6

📥 Commits

Reviewing files that changed from the base of the PR and between 7823cfc and 7d1212b.

📒 Files selected for processing (2)
  • src/components/LiteGraphCanvasSplitterOverlay.test.ts
  • src/components/LiteGraphCanvasSplitterOverlay.vue

Comment on lines +17 to +26
it('graph-canvas-panel has overflow-visible to prevent clipping toolbar on mobile', () => {
const filePath = resolve(__dirname, 'LiteGraphCanvasSplitterOverlay.vue')
const source = readFileSync(filePath, 'utf-8')

// The SplitterPanel wrapping graph-canvas-panel must include overflow-visible
// to override PrimeVue's default overflow:hidden on .p-splitterpanel.
// Without this, GraphCanvasMenu (absolute right-0 bottom-0) gets clipped on mobile.
expect(source).toMatch(
/class="[^"]*graph-canvas-panel[^"]*overflow-visible/
)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Replace source-regex assertion with a behavioral test.

This test validates raw SFC text (Line 24) and utility class names, so it’s brittle (ordering/formatting-sensitive) and does not verify runtime behavior. Please switch to a behavioral component/browser test (e.g., mobile viewport interaction that confirms the bottom-right graph controls remain reachable/visible).

As per coding guidelines: src/**/*.test.ts says to “write behavioral tests” and “do not write tests dependent on non-behavioral features like utility classes or styles.”

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

In `@src/components/LiteGraphCanvasSplitterOverlay.test.ts` around lines 17 - 26,
Current test inspects the SFC source with a regex; replace it with a behavioral
test that mounts/renders LiteGraphCanvasSplitterOverlay.vue (the component under
test) in a mobile-sized viewport and asserts the GraphCanvasMenu (or the element
with class graph-canvas-panel / toolbar element) is visible and reachable (e.g.,
check element is in the DOM and its getBoundingClientRect sits within the
viewport or that it is not clipped/hidden). Use the project's preferred test
tooling (e.g., `@vue/test-utils` mount or a browser test runner) to set a small
viewport size, interact if needed to reveal the bottom-right controls, and
assert visibility/position rather than asserting CSS class strings.

@christian-byrne
Copy link
Contributor Author

christian-byrne commented Mar 17, 2026

I'm not sure why the mobile baseline e2e test didn't catch this bug initially, going to add a new one now though.

Edit: done

@github-actions
Copy link

github-actions bot commented Mar 17, 2026

📦 Bundle: 5 MB gzip 🟢 -3 B

Details

Summary

  • Raw size: 23.1 MB baseline 23.1 MB — 🔴 +17 B
  • Gzip: 5 MB baseline 5 MB — 🟢 -3 B
  • Brotli: 3.87 MB baseline 3.87 MB — 🟢 -139 B
  • Bundles: 244 current • 244 baseline • 114 added / 114 removed

Category Glance
Graph Workspace 🔴 +17 B (1.1 MB) · Vendor & Third-Party ⚪ 0 B (9.78 MB) · Other ⚪ 0 B (8.24 MB) · Data & Services ⚪ 0 B (2.91 MB) · Panels & Settings ⚪ 0 B (461 kB) · Utilities & Hooks ⚪ 0 B (318 kB) · + 5 more

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

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-BrvS4RCW.js (removed) 22.7 kB 🟢 -22.7 kB 🟢 -8.03 kB 🟢 -6.89 kB
assets/index-CUrSljws.js (new) 22.7 kB 🔴 +22.7 kB 🔴 +8.03 kB 🔴 +6.88 kB

Status: 1 added / 1 removed

Graph Workspace — 1.1 MB (baseline 1.1 MB) • 🔴 +17 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-DBHYw_iq.js (new) 1.1 MB 🔴 +1.1 MB 🔴 +234 kB 🔴 +177 kB
assets/GraphView-BrXrFz8l.js (removed) 1.1 MB 🟢 -1.1 MB 🟢 -234 kB 🟢 -177 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-5smZvekr.js (new) 15.6 kB 🔴 +15.6 kB 🔴 +3.38 kB 🔴 +2.88 kB
assets/CloudSurveyView-CDAlLChw.js (removed) 15.6 kB 🟢 -15.6 kB 🟢 -3.38 kB 🟢 -2.88 kB
assets/CloudLoginView-BYUgIpFH.js (removed) 11.9 kB 🟢 -11.9 kB 🟢 -3.31 kB 🟢 -2.93 kB
assets/CloudLoginView-Cvox_IwC.js (new) 11.9 kB 🔴 +11.9 kB 🔴 +3.31 kB 🔴 +2.93 kB
assets/CloudSignupView-BhQeUSsb.js (removed) 9.64 kB 🟢 -9.64 kB 🟢 -2.8 kB 🟢 -2.45 kB
assets/CloudSignupView-BUf-F-R2.js (new) 9.64 kB 🔴 +9.64 kB 🔴 +2.8 kB 🔴 +2.45 kB
assets/UserCheckView-CRSrxorH.js (new) 9.01 kB 🔴 +9.01 kB 🔴 +2.31 kB 🔴 +2 kB
assets/UserCheckView-L8-Ygpdh.js (removed) 9.01 kB 🟢 -9.01 kB 🟢 -2.31 kB 🟢 -2.01 kB
assets/CloudLayoutView-BeBYp4zU.js (new) 7.42 kB 🔴 +7.42 kB 🔴 +2.31 kB 🔴 +2.02 kB
assets/CloudLayoutView-Ljbke9I9.js (removed) 7.42 kB 🟢 -7.42 kB 🟢 -2.31 kB 🟢 -2.01 kB
assets/CloudForgotPasswordView-BMlJ7LDe.js (new) 5.85 kB 🔴 +5.85 kB 🔴 +2.04 kB 🔴 +1.79 kB
assets/CloudForgotPasswordView-DCOm8hZY.js (removed) 5.85 kB 🟢 -5.85 kB 🟢 -2.04 kB 🟢 -1.79 kB
assets/CloudAuthTimeoutView-DBTLkNC8.js (removed) 5.21 kB 🟢 -5.21 kB 🟢 -1.88 kB 🟢 -1.65 kB
assets/CloudAuthTimeoutView-m0piu2b-.js (new) 5.21 kB 🔴 +5.21 kB 🔴 +1.88 kB 🔴 +1.64 kB
assets/CloudSubscriptionRedirectView-CDk0a2O6.js (removed) 4.98 kB 🟢 -4.98 kB 🟢 -1.86 kB 🟢 -1.64 kB
assets/CloudSubscriptionRedirectView-oG6XGrf0.js (new) 4.98 kB 🔴 +4.98 kB 🔴 +1.86 kB 🔴 +1.64 kB
assets/UserSelectView-DuK0lzcm.js (removed) 4.67 kB 🟢 -4.67 kB 🟢 -1.73 kB 🟢 -1.52 kB
assets/UserSelectView-qcJzua5Z.js (new) 4.67 kB 🔴 +4.67 kB 🔴 +1.72 kB 🔴 +1.52 kB

Status: 9 added / 9 removed / 2 unchanged

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/KeybindingPanel-Bifbpb82.js (new) 28.9 kB 🔴 +28.9 kB 🔴 +6.19 kB 🔴 +5.51 kB
assets/KeybindingPanel-qv3wotLm.js (removed) 28.9 kB 🟢 -28.9 kB 🟢 -6.19 kB 🟢 -5.5 kB
assets/SecretsPanel-C8AzAfF6.js (new) 22.3 kB 🔴 +22.3 kB 🔴 +5.41 kB 🔴 +4.75 kB
assets/SecretsPanel-DaMhvOTZ.js (removed) 22.3 kB 🟢 -22.3 kB 🟢 -5.41 kB 🟢 -4.74 kB
assets/LegacyCreditsPanel-BlOUn_ZO.js (removed) 21.4 kB 🟢 -21.4 kB 🟢 -5.71 kB 🟢 -5.04 kB
assets/LegacyCreditsPanel-PeMz-xWw.js (new) 21.4 kB 🔴 +21.4 kB 🔴 +5.71 kB 🔴 +5.04 kB
assets/SubscriptionPanel-C-lXcnHh.js (removed) 19.3 kB 🟢 -19.3 kB 🟢 -4.89 kB 🟢 -4.31 kB
assets/SubscriptionPanel-u9WnOQ_x.js (new) 19.3 kB 🔴 +19.3 kB 🔴 +4.9 kB 🔴 +4.3 kB
assets/AboutPanel-Cl3a0e5V.js (removed) 12 kB 🟢 -12 kB 🟢 -3.31 kB 🟢 -2.96 kB
assets/AboutPanel-Dn5KIt3R.js (new) 12 kB 🔴 +12 kB 🔴 +3.31 kB 🔴 +2.97 kB
assets/ExtensionPanel-B6phSqSu.js (new) 9.66 kB 🔴 +9.66 kB 🔴 +2.77 kB 🔴 +2.45 kB
assets/ExtensionPanel-Xrn_semG.js (removed) 9.66 kB 🟢 -9.66 kB 🟢 -2.77 kB 🟢 -2.45 kB
assets/ServerConfigPanel-BVObnp1i.js (removed) 6.74 kB 🟢 -6.74 kB 🟢 -2.23 kB 🟢 -2.01 kB
assets/ServerConfigPanel-CUYSyhoC.js (new) 6.74 kB 🔴 +6.74 kB 🔴 +2.23 kB 🔴 +2 kB
assets/UserPanel-B2V2uII7.js (removed) 6.44 kB 🟢 -6.44 kB 🟢 -2.1 kB 🟢 -1.84 kB
assets/UserPanel-CC_T9KVY.js (new) 6.44 kB 🔴 +6.44 kB 🔴 +2.1 kB 🔴 +1.83 kB
assets/cloudRemoteConfig-B7cXPuF7.js (new) 1.74 kB 🔴 +1.74 kB 🔴 +853 B 🔴 +739 B
assets/cloudRemoteConfig-CXElOkYO.js (removed) 1.74 kB 🟢 -1.74 kB 🟢 -855 B 🟢 -753 B
assets/refreshRemoteConfig-Bk9IHz4X.js (removed) 1.45 kB 🟢 -1.45 kB 🟢 -647 B 🟢 -554 B
assets/refreshRemoteConfig-CTKEhJh2.js (new) 1.45 kB 🔴 +1.45 kB 🔴 +650 B 🔴 +551 B

Status: 10 added / 10 removed / 12 unchanged

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-CuktjTcp.js (new) 3.57 kB 🔴 +3.57 kB 🔴 +1.26 kB 🔴 +1.07 kB
assets/auth-DxawL5T5.js (removed) 3.57 kB 🟢 -3.57 kB 🟢 -1.26 kB 🟢 -1.08 kB
assets/SignUpForm-BJ-Rx2oH.js (removed) 3.18 kB 🟢 -3.18 kB 🟢 -1.29 kB 🟢 -1.15 kB
assets/SignUpForm-Dh0DpJbR.js (new) 3.18 kB 🔴 +3.18 kB 🔴 +1.29 kB 🔴 +1.15 kB
assets/UpdatePasswordContent-C_cID4fE.js (removed) 2.56 kB 🟢 -2.56 kB 🟢 -1.14 kB 🟢 -1.01 kB
assets/UpdatePasswordContent-D--gQ7fm.js (new) 2.56 kB 🔴 +2.56 kB 🔴 +1.14 kB 🔴 +1.01 kB
assets/firebaseAuthStore-9g3XEnhD.js (new) 907 B 🔴 +907 B 🔴 +436 B 🔴 +393 B
assets/firebaseAuthStore-Dpm9xGDg.js (removed) 907 B 🟢 -907 B 🟢 -439 B 🟢 -388 B
assets/auth-4hg9A_mN.js (new) 313 B 🔴 +313 B 🔴 +200 B 🔴 +174 B
assets/auth-CliChHCa.js (removed) 313 B 🟢 -313 B 🟢 -199 B 🟢 -178 B

Status: 5 added / 5 removed / 2 unchanged

Editors & Dialogs — 82 kB (baseline 82 kB) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useShareDialog-FjA-2A5Y.js (new) 81.2 kB 🔴 +81.2 kB 🔴 +16.9 kB 🔴 +14.5 kB
assets/useShareDialog-XTeejd4r.js (removed) 81.2 kB 🟢 -81.2 kB 🟢 -16.9 kB 🟢 -14.5 kB
assets/useSubscriptionDialog-DC_1o2CP.js (new) 855 B 🔴 +855 B 🔴 +425 B 🔴 +371 B
assets/useSubscriptionDialog-n0AhKGuk.js (removed) 855 B 🟢 -855 B 🟢 -428 B 🟢 -369 B

Status: 2 added / 2 removed

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-DU3UYtf0.js (removed) 14.3 kB 🟢 -14.3 kB 🟢 -4 kB 🟢 -3.58 kB
assets/ComfyQueueButton-SKtl8aLc.js (new) 14.3 kB 🔴 +14.3 kB 🔴 +4 kB 🔴 +3.58 kB
assets/useTerminalTabs-C1ibhEzy.js (new) 10.6 kB 🔴 +10.6 kB 🔴 +3.54 kB 🔴 +3.11 kB
assets/useTerminalTabs-DAQx4AEK.js (removed) 10.6 kB 🟢 -10.6 kB 🟢 -3.55 kB 🟢 -3.13 kB
assets/SubscribeButton-D_Rcug8-.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.04 kB 🔴 +911 B
assets/SubscribeButton-D6oACUrA.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.04 kB 🟢 -912 B
assets/cloudFeedbackTopbarButton-CMGswpgz.js (new) 1.55 kB 🔴 +1.55 kB 🔴 +792 B 🔴 +705 B
assets/cloudFeedbackTopbarButton-DsP4IcOJ.js (removed) 1.55 kB 🟢 -1.55 kB 🟢 -795 B 🟢 -709 B
assets/ComfyQueueButton-086vOpMC.js (new) 912 B 🔴 +912 B 🔴 +436 B 🔴 +387 B
assets/ComfyQueueButton-BrZetX2g.js (removed) 912 B 🟢 -912 B 🟢 -441 B 🟢 -391 B

Status: 5 added / 5 removed / 8 unchanged

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

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-Ba74JS4x.js (new) 1.91 MB 🔴 +1.91 MB 🔴 +439 kB 🔴 +333 kB
assets/dialogService-ZpuPIK69.js (removed) 1.91 MB 🟢 -1.91 MB 🟢 -439 kB 🟢 -333 kB
assets/api-CtdfRawW.js (removed) 862 kB 🟢 -862 kB 🟢 -206 kB 🟢 -162 kB
assets/api-Zp-l7V8I.js (new) 862 kB 🔴 +862 kB 🔴 +206 kB 🔴 +162 kB
assets/load3dService-0QdPJhzI.js (removed) 92.3 kB 🟢 -92.3 kB 🟢 -19.6 kB 🟢 -16.9 kB
assets/load3dService-qr-8ALL6.js (new) 92.3 kB 🔴 +92.3 kB 🔴 +19.6 kB 🔴 +16.9 kB
assets/workflowShareService-DiA--_7r.js (removed) 14.1 kB 🟢 -14.1 kB 🟢 -4.32 kB 🟢 -3.8 kB
assets/workflowShareService-Dk4AoI9l.js (new) 14.1 kB 🔴 +14.1 kB 🔴 +4.32 kB 🔴 +3.8 kB
assets/releaseStore-DJRdjRnW.js (removed) 8.12 kB 🟢 -8.12 kB 🟢 -2.26 kB 🟢 -1.99 kB
assets/releaseStore-DlRb4rcQ.js (new) 8.12 kB 🔴 +8.12 kB 🔴 +2.27 kB 🔴 +1.99 kB
assets/keybindingService-DBqPkIo4.js (removed) 7.03 kB 🟢 -7.03 kB 🟢 -1.75 kB 🟢 -1.5 kB
assets/keybindingService-UFJ2a5lY.js (new) 7.03 kB 🔴 +7.03 kB 🔴 +1.75 kB 🔴 +1.51 kB
assets/systemStatsStore-BakURDmG.js (removed) 4.92 kB 🟢 -4.92 kB 🟢 -1.67 kB 🟢 -1.44 kB
assets/systemStatsStore-CoKYc4FH.js (new) 4.92 kB 🔴 +4.92 kB 🔴 +1.67 kB 🔴 +1.45 kB
assets/userStore-52LIM1A7.js (removed) 2.24 kB 🟢 -2.24 kB 🟢 -871 B 🟢 -761 B
assets/userStore-CJ2-lM-S.js (new) 2.24 kB 🔴 +2.24 kB 🔴 +870 B 🔴 +771 B
assets/audioService-Dygamnnr.js (removed) 1.75 kB 🟢 -1.75 kB 🟢 -861 B 🟢 -748 B
assets/audioService-XyXTklWM.js (new) 1.75 kB 🔴 +1.75 kB 🔴 +866 B 🔴 +746 B
assets/releaseStore-BtVt082G.js (removed) 879 B 🟢 -879 B 🟢 -432 B 🟢 -377 B
assets/releaseStore-Cg1kz6vP.js (new) 879 B 🔴 +879 B 🔴 +429 B 🔴 +374 B
assets/workflowDraftStore-BbH9Ts-S.js (removed) 855 B 🟢 -855 B 🟢 -428 B 🟢 -375 B
assets/workflowDraftStore-BSAGTSuZ.js (new) 855 B 🔴 +855 B 🔴 +424 B 🔴 +378 B
assets/dialogService-BurR4awx2.js (new) 844 B 🔴 +844 B 🔴 +417 B 🔴 +370 B
assets/dialogService-BZUkftTG2.js (removed) 844 B 🟢 -844 B 🟢 -419 B 🟢 -368 B
assets/settingStore-Cv_d7pn3.js (removed) 842 B 🟢 -842 B 🟢 -422 B 🟢 -368 B
assets/settingStore-MRFxeEXY.js (new) 842 B 🔴 +842 B 🔴 +420 B 🔴 +370 B
assets/assetsStore-C4E44oG9.js (new) 841 B 🔴 +841 B 🔴 +421 B 🔴 +369 B
assets/assetsStore-DNtQ-8Wo.js (removed) 841 B 🟢 -841 B 🟢 -422 B 🟢 -371 B

Status: 14 added / 14 removed / 3 unchanged

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useConflictDetection-DvAcd-_T.js (removed) 231 kB 🟢 -231 kB 🟢 -51.2 kB 🟢 -41.8 kB
assets/useConflictDetection-sarmM2XO.js (new) 231 kB 🔴 +231 kB 🔴 +51.2 kB 🔴 +41.8 kB
assets/useLoad3dViewer-Cm7ZoCx-.js (removed) 15.1 kB 🟢 -15.1 kB 🟢 -3.42 kB 🟢 -3.02 kB
assets/useLoad3dViewer-DteFEC_i.js (new) 15.1 kB 🔴 +15.1 kB 🔴 +3.42 kB 🔴 +3.02 kB
assets/useLoad3d-B4JnCHSY.js (new) 14.9 kB 🔴 +14.9 kB 🔴 +3.79 kB 🔴 +3.37 kB
assets/useLoad3d-l2n0rm6S.js (removed) 14.9 kB 🟢 -14.9 kB 🟢 -3.78 kB 🟢 -3.37 kB
assets/useFeatureFlags-fhVM1ymj.js (new) 5.78 kB 🔴 +5.78 kB 🔴 +1.75 kB 🔴 +1.48 kB
assets/useFeatureFlags-sJle_Lf4.js (removed) 5.78 kB 🟢 -5.78 kB 🟢 -1.75 kB 🟢 -1.48 kB
assets/useWorkspaceUI-rQUsVWi2.js (removed) 3.34 kB 🟢 -3.34 kB 🟢 -980 B 🟢 -809 B
assets/useWorkspaceUI-RYiTK484.js (new) 3.34 kB 🔴 +3.34 kB 🔴 +980 B 🔴 +809 B
assets/subscriptionCheckoutUtil-D1actEEo.js (new) 3.04 kB 🔴 +3.04 kB 🔴 +1.31 kB 🔴 +1.15 kB
assets/subscriptionCheckoutUtil-V516cltX.js (removed) 3.04 kB 🟢 -3.04 kB 🟢 -1.32 kB 🟢 -1.15 kB
assets/useUpstreamValue-CJHiG6sk.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +804 B 🔴 +713 B
assets/useUpstreamValue-DXZO451g.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -805 B 🟢 -711 B
assets/assetPreviewUtil-CeiMf08z.js (new) 1.74 kB 🔴 +1.74 kB 🔴 +761 B 🔴 +666 B
assets/assetPreviewUtil-Dw6ik_5g.js (removed) 1.74 kB 🟢 -1.74 kB 🟢 -759 B 🟢 -663 B
assets/useErrorHandling-DudEGE89.js (new) 1.54 kB 🔴 +1.54 kB 🔴 +650 B 🔴 +553 B
assets/useErrorHandling-iiVdZRvh.js (removed) 1.54 kB 🟢 -1.54 kB 🟢 -648 B 🟢 -550 B
assets/useLoad3d-5DCEhW4V.js (removed) 1.02 kB 🟢 -1.02 kB 🟢 -491 B 🟢 -439 B
assets/useLoad3d-CBmaneQI.js (new) 1.02 kB 🔴 +1.02 kB 🔴 +488 B 🔴 +433 B
assets/audioUtils-5KRPk7S1.js (removed) 958 B 🟢 -958 B 🟢 -565 B 🟢 -494 B
assets/audioUtils-BrkOJIYH.js (new) 958 B 🔴 +958 B 🔴 +565 B 🔴 +491 B
assets/useLoad3dViewer-C-w8paSR.js (removed) 957 B 🟢 -957 B 🟢 -457 B 🟢 -408 B
assets/useLoad3dViewer-QKOEWAh5.js (new) 957 B 🔴 +957 B 🔴 +453 B 🔴 +408 B
assets/useCurrentUser-BSAIYEjX.js (new) 841 B 🔴 +841 B 🔴 +420 B 🔴 +371 B
assets/useCurrentUser-cb6rD3GY.js (removed) 841 B 🟢 -841 B 🟢 -422 B 🟢 -371 B
assets/useWorkspaceSwitch-CteYtwBw.js (removed) 747 B 🟢 -747 B 🟢 -385 B 🟢 -327 B
assets/useWorkspaceSwitch-CYzPilnQ.js (new) 747 B 🔴 +747 B 🔴 +386 B 🔴 +332 B

Status: 14 added / 14 removed / 8 unchanged

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

External libraries and shared vendor chunks

Status: 16 unchanged

Other — 8.24 MB (baseline 8.24 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-Dr9KwR1m.js (new) 76.1 kB 🔴 +76.1 kB 🔴 +19.6 kB 🔴 +16.8 kB
assets/core-fO1O3CFJ.js (removed) 76.1 kB 🟢 -76.1 kB 🟢 -19.6 kB 🟢 -16.7 kB
assets/groupNode-BF9XBnhW.js (new) 73.9 kB 🔴 +73.9 kB 🔴 +18.5 kB 🔴 +16.3 kB
assets/groupNode-FNNk5F4j.js (removed) 73.9 kB 🟢 -73.9 kB 🟢 -18.5 kB 🟢 -16.3 kB
assets/WidgetSelect-BusHhuLz.js (new) 63.3 kB 🔴 +63.3 kB 🔴 +13.8 kB 🔴 +11.9 kB
assets/WidgetSelect-DFuZ15NE.js (removed) 63.3 kB 🟢 -63.3 kB 🟢 -13.8 kB 🟢 -11.9 kB
assets/SubscriptionRequiredDialogContentWorkspace--PHvRL28.js (removed) 47.2 kB 🟢 -47.2 kB 🟢 -8.8 kB 🟢 -7.61 kB
assets/SubscriptionRequiredDialogContentWorkspace-BZlPpmfD.js (new) 47.2 kB 🔴 +47.2 kB 🔴 +8.8 kB 🔴 +7.63 kB
assets/WidgetPainter-D2gIW_8V.js (new) 33.2 kB 🔴 +33.2 kB 🔴 +8.06 kB 🔴 +7.15 kB
assets/WidgetPainter-DXI1Y_xO.js (removed) 33.2 kB 🟢 -33.2 kB 🟢 -8.06 kB 🟢 -7.13 kB
assets/Load3DControls-Cx5aNdor.js (removed) 32.1 kB 🟢 -32.1 kB 🟢 -5.47 kB 🟢 -4.75 kB
assets/Load3DControls-mSh7-6jT.js (new) 32.1 kB 🔴 +32.1 kB 🔴 +5.47 kB 🔴 +4.76 kB
assets/WorkspacePanelContent-BaaKokFW.js (new) 29.8 kB 🔴 +29.8 kB 🔴 +6.27 kB 🔴 +5.51 kB
assets/WorkspacePanelContent-DmBfZkkz.js (removed) 29.8 kB 🟢 -29.8 kB 🟢 -6.28 kB 🟢 -5.52 kB
assets/SubscriptionRequiredDialogContent-BtzyPgxC.js (new) 26.2 kB 🔴 +26.2 kB 🔴 +6.67 kB 🔴 +5.89 kB
assets/SubscriptionRequiredDialogContent-Ds2mRBdi.js (removed) 26.2 kB 🟢 -26.2 kB 🟢 -6.67 kB 🟢 -5.89 kB
assets/Load3dViewerContent-BEfrbWvX.js (removed) 24.3 kB 🟢 -24.3 kB 🟢 -5.32 kB 🟢 -4.63 kB
assets/Load3dViewerContent-CT8hjY-A.js (new) 24.3 kB 🔴 +24.3 kB 🔴 +5.32 kB 🔴 +4.63 kB
assets/WidgetImageCrop-BORDtUZ9.js (removed) 23.3 kB 🟢 -23.3 kB 🟢 -5.8 kB 🟢 -5.09 kB
assets/WidgetImageCrop-DdiUDKq3.js (new) 23.3 kB 🔴 +23.3 kB 🔴 +5.8 kB 🔴 +5.1 kB
assets/SubscriptionPanelContentWorkspace-2dLn_X98.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -5.17 kB 🟢 -4.55 kB
assets/SubscriptionPanelContentWorkspace-C2Z7fWs5.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +5.17 kB 🔴 +4.54 kB
assets/CurrentUserPopoverWorkspace-CAGAiqOa.js (new) 20.9 kB 🔴 +20.9 kB 🔴 +5.04 kB 🔴 +4.51 kB
assets/CurrentUserPopoverWorkspace-CqDrDe8z.js (removed) 20.9 kB 🟢 -20.9 kB 🟢 -5.04 kB 🟢 -4.49 kB
assets/SignInContent-BzeTQVTC.js (removed) 20.2 kB 🟢 -20.2 kB 🟢 -5.21 kB 🟢 -4.54 kB
assets/SignInContent-DOpvS0Ff.js (new) 20.2 kB 🔴 +20.2 kB 🔴 +5.21 kB 🔴 +4.55 kB
assets/WidgetInputNumber-DDEgmguG.js (removed) 19.1 kB 🟢 -19.1 kB 🟢 -4.84 kB 🟢 -4.29 kB
assets/WidgetInputNumber-DXIpSpeW.js (new) 19.1 kB 🔴 +19.1 kB 🔴 +4.84 kB 🔴 +4.3 kB
assets/WidgetRecordAudio-DqslE1S_.js (new) 18.1 kB 🔴 +18.1 kB 🔴 +5.15 kB 🔴 +4.61 kB
assets/WidgetRecordAudio-DTaxb6Mu.js (removed) 18.1 kB 🟢 -18.1 kB 🟢 -5.15 kB 🟢 -4.61 kB
assets/Load3D-BcueVWOS.js (removed) 16.9 kB 🟢 -16.9 kB 🟢 -4.12 kB 🟢 -3.6 kB
assets/Load3D-C5XW5YQ9.js (new) 16.9 kB 🔴 +16.9 kB 🔴 +4.13 kB 🔴 +3.6 kB
assets/WidgetCurve-CxvVvKBm.js (removed) 15.1 kB 🟢 -15.1 kB 🟢 -4.67 kB 🟢 -4.2 kB
assets/WidgetCurve-U3cKfyeO.js (new) 15.1 kB 🔴 +15.1 kB 🔴 +4.67 kB 🔴 +4.21 kB
assets/load3d-CR1DEOLv.js (new) 14.9 kB 🔴 +14.9 kB 🔴 +4.27 kB 🔴 +3.69 kB
assets/load3d-DhNbq6Yi.js (removed) 14.9 kB 🟢 -14.9 kB 🟢 -4.27 kB 🟢 -3.7 kB
assets/AudioPreviewPlayer-ChGQl9LG.js (new) 11.3 kB 🔴 +11.3 kB 🔴 +3.35 kB 🔴 +3.01 kB
assets/AudioPreviewPlayer-LHShFo1w.js (removed) 11.3 kB 🟢 -11.3 kB 🟢 -3.35 kB 🟢 -3 kB
assets/nodeTemplates-BzlVfmDW.js (new) 9.45 kB 🔴 +9.45 kB 🔴 +3.33 kB 🔴 +2.92 kB
assets/nodeTemplates-WhYMg45H.js (removed) 9.45 kB 🟢 -9.45 kB 🟢 -3.33 kB 🟢 -2.93 kB
assets/InviteMemberDialogContent-CAeO_x3C.js (removed) 7.66 kB 🟢 -7.66 kB 🟢 -2.4 kB 🟢 -2.08 kB
assets/InviteMemberDialogContent-DCkiLYZt.js (new) 7.66 kB 🔴 +7.66 kB 🔴 +2.4 kB 🔴 +2.09 kB
assets/Load3DConfiguration-0DAv0Tug.js (removed) 6.55 kB 🟢 -6.55 kB 🟢 -2.03 kB 🟢 -1.77 kB
assets/Load3DConfiguration-D0WBVkU8.js (new) 6.55 kB 🔴 +6.55 kB 🔴 +2.03 kB 🔴 +1.77 kB
assets/onboardingCloudRoutes-C0Fcy073.js (removed) 6.31 kB 🟢 -6.31 kB 🟢 -1.96 kB 🟢 -1.7 kB
assets/onboardingCloudRoutes-DxRN6fVz.js (new) 6.31 kB 🔴 +6.31 kB 🔴 +1.97 kB 🔴 +1.73 kB
assets/WidgetWithControl-BHY5rxfo.js (removed) 5.87 kB 🟢 -5.87 kB 🟢 -2.31 kB 🟢 -2.06 kB
assets/WidgetWithControl-CQvxEM1M.js (new) 5.87 kB 🔴 +5.87 kB 🔴 +2.3 kB 🔴 +2.06 kB
assets/CreateWorkspaceDialogContent-BMmBiyXe.js (removed) 5.84 kB 🟢 -5.84 kB 🟢 -2.09 kB 🟢 -1.82 kB
assets/CreateWorkspaceDialogContent-DJ4e00MS.js (new) 5.84 kB 🔴 +5.84 kB 🔴 +2.09 kB 🔴 +1.82 kB
assets/FreeTierDialogContent-B_9uAduB.js (new) 5.7 kB 🔴 +5.7 kB 🔴 +1.99 kB 🔴 +1.76 kB
assets/FreeTierDialogContent-B5fepRdi.js (removed) 5.7 kB 🟢 -5.7 kB 🟢 -1.99 kB 🟢 -1.77 kB
assets/EditWorkspaceDialogContent-Cj1JxiOa.js (removed) 5.63 kB 🟢 -5.63 kB 🟢 -2.06 kB 🟢 -1.79 kB
assets/EditWorkspaceDialogContent-D_s_qdip.js (new) 5.63 kB 🔴 +5.63 kB 🔴 +2.05 kB 🔴 +1.79 kB
assets/ValueControlPopover-Bt0f3o_Z.js (new) 5.22 kB 🔴 +5.22 kB 🔴 +1.87 kB 🔴 +1.67 kB
assets/ValueControlPopover-sSUo8j7w.js (removed) 5.22 kB 🟢 -5.22 kB 🟢 -1.88 kB 🟢 -1.67 kB
assets/Preview3d-CJWnMJrv.js (new) 5.2 kB 🔴 +5.2 kB 🔴 +1.72 kB 🔴 +1.49 kB
assets/Preview3d-l_P-D9XH.js (removed) 5.2 kB 🟢 -5.2 kB 🟢 -1.72 kB 🟢 -1.5 kB
assets/WidgetTextarea-_QCHv0Ky.js (removed) 5.15 kB 🟢 -5.15 kB 🟢 -2.02 kB 🟢 -1.78 kB
assets/WidgetTextarea-NEnK6HDd.js (new) 5.15 kB 🔴 +5.15 kB 🔴 +2.02 kB 🔴 +1.78 kB
assets/CancelSubscriptionDialogContent-D5OtwLPt.js (removed) 5.11 kB 🟢 -5.11 kB 🟢 -1.89 kB 🟢 -1.65 kB
assets/CancelSubscriptionDialogContent-DA11BJcE.js (new) 5.11 kB 🔴 +5.11 kB 🔴 +1.89 kB 🔴 +1.65 kB
assets/DeleteWorkspaceDialogContent-_lqzzFx6.js (removed) 4.54 kB 🟢 -4.54 kB 🟢 -1.74 kB 🟢 -1.5 kB
assets/DeleteWorkspaceDialogContent-C2X-L_yi.js (new) 4.54 kB 🔴 +4.54 kB 🔴 +1.73 kB 🔴 +1.5 kB
assets/tierBenefits-Dm5Wfy59.js (removed) 4.47 kB 🟢 -4.47 kB 🟢 -1.58 kB 🟢 -1.36 kB
assets/tierBenefits-DXViLknj.js (new) 4.47 kB 🔴 +4.47 kB 🔴 +1.58 kB 🔴 +1.37 kB
assets/LeaveWorkspaceDialogContent-B_wUil5O.js (removed) 4.37 kB 🟢 -4.37 kB 🟢 -1.68 kB 🟢 -1.45 kB
assets/LeaveWorkspaceDialogContent-BPdVxKFa.js (new) 4.37 kB 🔴 +4.37 kB 🔴 +1.68 kB 🔴 +1.45 kB
assets/RemoveMemberDialogContent-CS8pXtUx.js (removed) 4.35 kB 🟢 -4.35 kB 🟢 -1.64 kB 🟢 -1.43 kB
assets/RemoveMemberDialogContent-WvQPULRY.js (new) 4.35 kB 🔴 +4.35 kB 🔴 +1.64 kB 🔴 +1.43 kB
assets/RevokeInviteDialogContent-CexX41ll.js (removed) 4.26 kB 🟢 -4.26 kB 🟢 -1.65 kB 🟢 -1.44 kB
assets/RevokeInviteDialogContent-CK8mM5o5.js (new) 4.26 kB 🔴 +4.26 kB 🔴 +1.64 kB 🔴 +1.44 kB
assets/InviteMemberUpsellDialogContent-C0qcHzy6.js (new) 4.16 kB 🔴 +4.16 kB 🔴 +1.51 kB 🔴 +1.32 kB
assets/InviteMemberUpsellDialogContent-DGOjLuXu.js (removed) 4.16 kB 🟢 -4.16 kB 🟢 -1.51 kB 🟢 -1.32 kB
assets/cloudSessionCookie-CI9BJb1o.js (new) 4.02 kB 🔴 +4.02 kB 🔴 +1.44 kB 🔴 +1.25 kB
assets/cloudSessionCookie-D12C3v3Z.js (removed) 4.02 kB 🟢 -4.02 kB 🟢 -1.44 kB 🟢 -1.25 kB
assets/saveMesh-B2wXzOEj.js (new) 3.8 kB 🔴 +3.8 kB 🔴 +1.64 kB 🔴 +1.44 kB
assets/saveMesh-DDmEOU_H.js (removed) 3.8 kB 🟢 -3.8 kB 🟢 -1.64 kB 🟢 -1.44 kB
assets/Media3DTop-B0yRY1OH.js (new) 3.73 kB 🔴 +3.73 kB 🔴 +1.57 kB 🔴 +1.38 kB
assets/Media3DTop-Cy0lLjUx.js (removed) 3.73 kB 🟢 -3.73 kB 🟢 -1.57 kB 🟢 -1.38 kB
assets/GlobalToast-_Zuztt1w.js (removed) 3.04 kB 🟢 -3.04 kB 🟢 -1.26 kB 🟢 -1.08 kB
assets/GlobalToast-mVEW3XRx.js (new) 3.04 kB 🔴 +3.04 kB 🔴 +1.26 kB 🔴 +1.08 kB
assets/SubscribeToRun-BnSHiBSy.js (new) 2.13 kB 🔴 +2.13 kB 🔴 +979 B 🔴 +857 B
assets/SubscribeToRun-DuO5YS67.js (removed) 2.13 kB 🟢 -2.13 kB 🟢 -980 B 🟢 -872 B
assets/CloudRunButtonWrapper-B9diUNzr.js (removed) 1.88 kB 🟢 -1.88 kB 🟢 -860 B 🟢 -790 B
assets/CloudRunButtonWrapper-Lu8A-CqL.js (new) 1.88 kB 🔴 +1.88 kB 🔴 +856 B 🔴 +760 B
assets/cloudBadges-CPvt0S_9.js (new) 1.65 kB 🔴 +1.65 kB 🔴 +838 B 🔴 +723 B
assets/cloudBadges-DdLta-A_.js (removed) 1.65 kB 🟢 -1.65 kB 🟢 -840 B 🟢 -736 B
assets/cloudSubscription-BXmXf-lC.js (new) 1.56 kB 🔴 +1.56 kB 🔴 +759 B 🔴 +650 B
assets/cloudSubscription-C1Iv0elG.js (removed) 1.56 kB 🟢 -1.56 kB 🟢 -764 B 🟢 -651 B
assets/previousFullPath-B1KKo1It.js (removed) 1.53 kB 🟢 -1.53 kB 🟢 -694 B 🟢 -600 B
assets/previousFullPath-Dxw6JiVg.js (new) 1.53 kB 🔴 +1.53 kB 🔴 +694 B 🔴 +602 B
assets/Load3D-CCP8nzjI.js (removed) 1.23 kB 🟢 -1.23 kB 🟢 -562 B 🟢 -499 B
assets/Load3D-jIFHCoJL.js (new) 1.23 kB 🔴 +1.23 kB 🔴 +561 B 🔴 +498 B
assets/nightlyBadges-CA1VLvjW.js (removed) 1.18 kB 🟢 -1.18 kB 🟢 -608 B 🟢 -538 B
assets/nightlyBadges-CGgjLA7J.js (new) 1.18 kB 🔴 +1.18 kB 🔴 +606 B 🔴 +537 B
assets/Load3dViewerContent-C31svghN.js (removed) 1.11 kB 🟢 -1.11 kB 🟢 -516 B 🟢 -454 B
assets/Load3dViewerContent-GOlPpQB8.js (new) 1.11 kB 🔴 +1.11 kB 🔴 +513 B 🔴 +451 B
assets/SubscriptionPanelContentWorkspace-CKZVVOSa.js (new) 1.04 kB 🔴 +1.04 kB 🔴 +484 B 🔴 +416 B
assets/SubscriptionPanelContentWorkspace-DttBKUCT.js (removed) 1.04 kB 🟢 -1.04 kB 🟢 -487 B 🟢 -423 B
assets/WidgetLegacy-D4ZmWZwh.js (removed) 864 B 🟢 -864 B 🟢 -433 B 🟢 -380 B
assets/WidgetLegacy-fjRfAMgO.js (new) 864 B 🔴 +864 B 🔴 +431 B 🔴 +376 B
assets/changeTracker-CgsQteVl.js (removed) 839 B 🟢 -839 B 🟢 -423 B 🟢 -373 B
assets/changeTracker-DuhHEDOO.js (new) 839 B 🔴 +839 B 🔴 +420 B 🔴 +368 B
assets/graphHasMissingNodes-Bex1-xhD.js (new) 822 B 🔴 +822 B 🔴 +414 B 🔴 +347 B
assets/graphHasMissingNodes-BF-yThHr.js (removed) 822 B 🟢 -822 B 🟢 -412 B 🟢 -347 B

Status: 53 added / 53 removed / 79 unchanged

⚡ Performance Report

ℹ️ Collecting baseline variance data (0/5 runs). Significance will appear after 2 main branch runs.

Metric Baseline PR Δ
canvas-idle: style recalcs 12 10 -17%
canvas-idle: layouts 0 0 +0%
canvas-idle: task duration 377ms 375ms -0%
canvas-idle: DOM nodes 23 19 -16%
canvas-idle: script duration 23ms 22ms -3%
canvas-idle: event listeners 14 5 -62%
canvas-idle: TBT 0ms 0ms +0%
canvas-idle: frame duration 17ms 17ms -0%
canvas-mouse-sweep: style recalcs 76 76 +0%
canvas-mouse-sweep: layouts 12 12 +0%
canvas-mouse-sweep: task duration 758ms 816ms +8%
canvas-mouse-sweep: DOM nodes 60 60 +0%
canvas-mouse-sweep: script duration 134ms 133ms -1%
canvas-mouse-sweep: event listeners 12 5 -56%
canvas-mouse-sweep: TBT 0ms 0ms +0%
canvas-mouse-sweep: frame duration 17ms 17ms -0%
canvas-zoom-sweep: style recalcs 30 32 +7%
canvas-zoom-sweep: layouts 6 6 +0%
canvas-zoom-sweep: task duration 302ms 307ms +2%
canvas-zoom-sweep: DOM nodes 79 80 +2%
canvas-zoom-sweep: script duration 24ms 24ms +3%
canvas-zoom-sweep: event listeners 20 28 +39%
canvas-zoom-sweep: TBT 0ms 0ms +0%
canvas-zoom-sweep: frame duration 17ms 17ms +0%
dom-widget-clipping: style recalcs 13 13 +0%
dom-widget-clipping: layouts 0 0 +0%
dom-widget-clipping: task duration 358ms 353ms -1%
dom-widget-clipping: DOM nodes 22 23 +6%
dom-widget-clipping: script duration 67ms 66ms -1%
dom-widget-clipping: event listeners 2 18 +800%
dom-widget-clipping: TBT 0ms 0ms +0%
dom-widget-clipping: frame duration 17ms 17ms +0%
large-graph-idle: style recalcs 11 12 +9%
large-graph-idle: layouts 0 0 +0%
large-graph-idle: task duration 505ms 501ms -1%
large-graph-idle: DOM nodes 25 26 +7%
large-graph-idle: script duration 98ms 94ms -4%
large-graph-idle: event listeners 21 29 +38%
large-graph-idle: TBT 0ms 0ms +0%
large-graph-idle: frame duration 17ms 17ms +0%
large-graph-pan: style recalcs 70 69 -1%
large-graph-pan: layouts 0 0 +0%
large-graph-pan: task duration 1036ms 1050ms +1%
large-graph-pan: DOM nodes 20 17 -17%
large-graph-pan: script duration 389ms 398ms +2%
large-graph-pan: event listeners 5 5 +14%
large-graph-pan: TBT 0ms 0ms +0%
large-graph-pan: frame duration 17ms 17ms -0%
minimap-idle: style recalcs 9 10 +4%
minimap-idle: layouts 0 0 +0%
minimap-idle: task duration 507ms 495ms -2%
minimap-idle: DOM nodes 19 19 +4%
minimap-idle: script duration 92ms 95ms +4%
minimap-idle: event listeners 5 5 +14%
minimap-idle: TBT 0ms 0ms +0%
minimap-idle: frame duration 17ms 17ms -0%
subgraph-dom-widget-clipping: style recalcs 47 48 +1%
subgraph-dom-widget-clipping: layouts 0 0 +0%
subgraph-dom-widget-clipping: task duration 364ms 374ms +3%
subgraph-dom-widget-clipping: DOM nodes 22 21 -2%
subgraph-dom-widget-clipping: script duration 125ms 128ms +2%
subgraph-dom-widget-clipping: event listeners 16 8 -50%
subgraph-dom-widget-clipping: TBT 0ms 0ms +0%
subgraph-dom-widget-clipping: frame duration 17ms 17ms -0%
subgraph-idle: style recalcs 11 11 +6%
subgraph-idle: layouts 0 0 +0%
subgraph-idle: task duration 345ms 353ms +2%
subgraph-idle: DOM nodes 21 23 +8%
subgraph-idle: script duration 18ms 18ms +4%
subgraph-idle: event listeners 5 13 +150%
subgraph-idle: TBT 0ms 0ms +0%
subgraph-idle: frame duration 17ms 17ms +0%
subgraph-mouse-sweep: style recalcs 77 79 +3%
subgraph-mouse-sweep: layouts 16 16 +0%
subgraph-mouse-sweep: task duration 675ms 733ms +9%
subgraph-mouse-sweep: DOM nodes 65 67 +3%
subgraph-mouse-sweep: script duration 99ms 99ms +1%
subgraph-mouse-sweep: event listeners 12 5 -61%
subgraph-mouse-sweep: TBT 0ms 0ms +0%
subgraph-mouse-sweep: frame duration 17ms 17ms +0%
vue-large-graph-idle: style recalcs 1 0 -100%
vue-large-graph-idle: layouts 1 0 -100%
vue-large-graph-idle: task duration 13073ms 12312ms -6%
vue-large-graph-idle: DOM nodes -2223 -5003 +125%
vue-large-graph-idle: script duration 607ms 616ms +1%
vue-large-graph-idle: event listeners -9812 -16483 +68%
vue-large-graph-idle: TBT 291ms 0ms -100%
vue-large-graph-idle: frame duration 18ms 18ms +0%
vue-large-graph-pan: style recalcs 68 66 -3%
vue-large-graph-pan: layouts 0 0 +0%
vue-large-graph-pan: task duration 14636ms 14270ms -3%
vue-large-graph-pan: DOM nodes -3337 -3339 +0%
vue-large-graph-pan: script duration 885ms 885ms -0%
vue-large-graph-pan: event listeners -16484 -16485 +0%
vue-large-graph-pan: TBT 17ms 29ms +69%
vue-large-graph-pan: frame duration 19ms 19ms -0%
workflow-execution: style recalcs 20 18 -8%
workflow-execution: layouts 5 5 +0%
workflow-execution: task duration 136ms 131ms -3%
workflow-execution: DOM nodes 165 159 -4%
workflow-execution: script duration 31ms 32ms +1%
workflow-execution: event listeners 55 55 +0%
workflow-execution: TBT 0ms 0ms +0%
workflow-execution: frame duration 17ms 17ms +0%
Raw data
{
  "timestamp": "2026-03-17T13:24:02.064Z",
  "gitSha": "2e70aa94cf07d65136dfcdbd158bbbf28b4f9da4",
  "branch": "fix/mobile-canvas-toolbar-visibility",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2024.9039999999923,
      "styleRecalcs": 6,
      "styleRecalcDurationMs": 5.3950000000000005,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 395.948,
      "heapDeltaBytes": 2073212,
      "domNodes": 12,
      "jsHeapTotalBytes": 16515072,
      "scriptDurationMs": 20.080000000000002,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "canvas-idle",
      "durationMs": 2024.5740000000296,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 9.623000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 363.802,
      "heapDeltaBytes": 1595336,
      "domNodes": 22,
      "jsHeapTotalBytes": 17039360,
      "scriptDurationMs": 23.767000000000003,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.659999999999947
    },
    {
      "name": "canvas-idle",
      "durationMs": 2029.1369999999915,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 10.979000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 366.265,
      "heapDeltaBytes": -4228184,
      "domNodes": 24,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 23.555,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1790.9220000000232,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 36.269999999999996,
      "layouts": 12,
      "layoutDurationMs": 3.1420000000000003,
      "taskDurationMs": 749.775,
      "heapDeltaBytes": -2616220,
      "domNodes": 59,
      "jsHeapTotalBytes": 17563648,
      "scriptDurationMs": 134.23399999999998,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.660000000000036
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1995.7760000000917,
      "styleRecalcs": 80,
      "styleRecalcDurationMs": 43.387,
      "layouts": 12,
      "layoutDurationMs": 3.417,
      "taskDurationMs": 947.923,
      "heapDeltaBytes": 21439432,
      "domNodes": 65,
      "jsHeapTotalBytes": 15990784,
      "scriptDurationMs": 134.06699999999998,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1807.3729999999841,
      "styleRecalcs": 73,
      "styleRecalcDurationMs": 35.965,
      "layouts": 12,
      "layoutDurationMs": 3.184,
      "taskDurationMs": 750.693,
      "heapDeltaBytes": -2048356,
      "domNodes": 56,
      "jsHeapTotalBytes": 18874368,
      "scriptDurationMs": 129.788,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.659999999999947
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1742.9169999999203,
      "styleRecalcs": 33,
      "styleRecalcDurationMs": 16.792,
      "layouts": 6,
      "layoutDurationMs": 0.5810000000000002,
      "taskDurationMs": 309.96999999999997,
      "heapDeltaBytes": 6190304,
      "domNodes": 79,
      "jsHeapTotalBytes": 17301504,
      "scriptDurationMs": 24.334999999999997,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1724.3199999999206,
      "styleRecalcs": 31,
      "styleRecalcDurationMs": 17.675,
      "layouts": 6,
      "layoutDurationMs": 0.5970000000000001,
      "taskDurationMs": 297.52,
      "heapDeltaBytes": 6030948,
      "domNodes": 79,
      "jsHeapTotalBytes": 18874368,
      "scriptDurationMs": 24.276000000000007,
      "eventListeners": 21,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1749.0699999999606,
      "styleRecalcs": 33,
      "styleRecalcDurationMs": 21.566000000000003,
      "layouts": 6,
      "layoutDurationMs": 0.549,
      "taskDurationMs": 313.51199999999994,
      "heapDeltaBytes": 6037868,
      "domNodes": 83,
      "jsHeapTotalBytes": 17301504,
      "scriptDurationMs": 24.883000000000003,
      "eventListeners": 45,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 595.7400000000348,
      "styleRecalcs": 14,
      "styleRecalcDurationMs": 11.033999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 365.295,
      "heapDeltaBytes": 11711252,
      "domNodes": 25,
      "jsHeapTotalBytes": 15466496,
      "scriptDurationMs": 68.82,
      "eventListeners": 26,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 572.1740000000182,
      "styleRecalcs": 13,
      "styleRecalcDurationMs": 10.757000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 352.25800000000004,
      "heapDeltaBytes": 13327304,
      "domNodes": 24,
      "jsHeapTotalBytes": 15728640,
      "scriptDurationMs": 65.70500000000001,
      "eventListeners": 26,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.65999999999999
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 563.1930000000693,
      "styleRecalcs": 13,
      "styleRecalcDurationMs": 8.548999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 341.02900000000005,
      "heapDeltaBytes": 14280948,
      "domNodes": 21,
      "jsHeapTotalBytes": 13107200,
      "scriptDurationMs": 64.203,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2017.8430000000276,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 11.488000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 504.9600000000001,
      "heapDeltaBytes": -9981800,
      "domNodes": 27,
      "jsHeapTotalBytes": 8507392,
      "scriptDurationMs": 95.781,
      "eventListeners": 28,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2009.761000000026,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 13.211999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 490.57700000000006,
      "heapDeltaBytes": -10944020,
      "domNodes": 25,
      "jsHeapTotalBytes": 7983104,
      "scriptDurationMs": 91.692,
      "eventListeners": 30,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.659999999999947
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2031.4049999999497,
      "styleRecalcs": 13,
      "styleRecalcDurationMs": 13.495,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 507.58900000000006,
      "heapDeltaBytes": -10083104,
      "domNodes": 27,
      "jsHeapTotalBytes": 8245248,
      "scriptDurationMs": 95.888,
      "eventListeners": 30,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2083.9789999999994,
      "styleRecalcs": 67,
      "styleRecalcDurationMs": 13.863999999999997,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1102.27,
      "heapDeltaBytes": 3678956,
      "domNodes": 12,
      "jsHeapTotalBytes": 11354112,
      "scriptDurationMs": 436.947,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.660000000000036
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2071.023000000082,
      "styleRecalcs": 70,
      "styleRecalcDurationMs": 17.554000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1010.5500000000001,
      "heapDeltaBytes": 1616316,
      "domNodes": 20,
      "jsHeapTotalBytes": 9760768,
      "scriptDurationMs": 376.76099999999997,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.67999999999993
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2101.276999999982,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 16.503,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1037.6370000000002,
      "heapDeltaBytes": 675440,
      "domNodes": 18,
      "jsHeapTotalBytes": 9756672,
      "scriptDurationMs": 380.483,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.660000000000036
    },
    {
      "name": "minimap-idle",
      "durationMs": 2018.453999999906,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.924000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 512.965,
      "heapDeltaBytes": -10445404,
      "domNodes": 20,
      "jsHeapTotalBytes": 8507392,
      "scriptDurationMs": 101.062,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.659999999999947
    },
    {
      "name": "minimap-idle",
      "durationMs": 2006.364000000076,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.685999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 484.87699999999995,
      "heapDeltaBytes": -10577252,
      "domNodes": 20,
      "jsHeapTotalBytes": 6934528,
      "scriptDurationMs": 96.054,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.659999999999947
    },
    {
      "name": "minimap-idle",
      "durationMs": 2019.578000000024,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.569,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 486.25,
      "heapDeltaBytes": -12055356,
      "domNodes": 18,
      "jsHeapTotalBytes": 8507392,
      "scriptDurationMs": 87.17899999999999,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 606.1730000000125,
      "styleRecalcs": 47,
      "styleRecalcDurationMs": 12.655999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 386.467,
      "heapDeltaBytes": 13419312,
      "domNodes": 20,
      "jsHeapTotalBytes": 14155776,
      "scriptDurationMs": 134.382,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000027
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 592.8170000000819,
      "styleRecalcs": 48,
      "styleRecalcDurationMs": 15.395,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 365.931,
      "heapDeltaBytes": 12566728,
      "domNodes": 22,
      "jsHeapTotalBytes": 15728640,
      "scriptDurationMs": 119.93400000000001,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000027
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 594.8059999999487,
      "styleRecalcs": 48,
      "styleRecalcDurationMs": 12.120000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 370.653,
      "heapDeltaBytes": 13037648,
      "domNodes": 22,
      "jsHeapTotalBytes": 14680064,
      "scriptDurationMs": 128.296,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.65999999999999
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2012.239999999963,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 16.18,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 377.4440000000001,
      "heapDeltaBytes": 2705852,
      "domNodes": 26,
      "jsHeapTotalBytes": 14417920,
      "scriptDurationMs": 19.514999999999997,
      "eventListeners": 28,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.659999999999947
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2005.1449999999704,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 11.44,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 343.449,
      "heapDeltaBytes": 1189224,
      "domNodes": 23,
      "jsHeapTotalBytes": 14680064,
      "scriptDurationMs": 17.555999999999997,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "subgraph-idle",
      "durationMs": 1999.4709999999714,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.805000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 338.65299999999996,
      "heapDeltaBytes": 1213860,
      "domNodes": 20,
      "jsHeapTotalBytes": 17039360,
      "scriptDurationMs": 17.958999999999996,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.659999999999947
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1904.7299999999723,
      "styleRecalcs": 86,
      "styleRecalcDurationMs": 45.596000000000004,
      "layouts": 16,
      "layoutDurationMs": 8.517,
      "taskDurationMs": 863.3740000000001,
      "heapDeltaBytes": -7150988,
      "domNodes": 75,
      "jsHeapTotalBytes": 17563648,
      "scriptDurationMs": 105.044,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1684.757999999988,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 34.804,
      "layouts": 16,
      "layoutDurationMs": 4.26,
      "taskDurationMs": 654.5029999999999,
      "heapDeltaBytes": 13884080,
      "domNodes": 61,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 94.09899999999999,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000073
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1726.0800000000245,
      "styleRecalcs": 77,
      "styleRecalcDurationMs": 39.994,
      "layouts": 16,
      "layoutDurationMs": 4.356,
      "taskDurationMs": 681.532,
      "heapDeltaBytes": -7843284,
      "domNodes": 64,
      "jsHeapTotalBytes": 25690112,
      "scriptDurationMs": 99.21199999999999,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000027
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 12365.077999999925,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 12355.603000000001,
      "heapDeltaBytes": -13432820,
      "domNodes": -3336,
      "jsHeapTotalBytes": 18087936,
      "scriptDurationMs": 641.0010000000001,
      "eventListeners": -16484,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 18.329999999999927
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 12303.395999999906,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 12292.922999999999,
      "heapDeltaBytes": -25594356,
      "domNodes": -8347,
      "jsHeapTotalBytes": 24117248,
      "scriptDurationMs": 604.242,
      "eventListeners": -16480,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 18.340000000000146
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 12299.371999999948,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 12288.734999999999,
      "heapDeltaBytes": -39133580,
      "domNodes": -3326,
      "jsHeapTotalBytes": 19398656,
      "scriptDurationMs": 602.7289999999999,
      "eventListeners": -16485,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 18.33000000000029
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 14368.05800000002,
      "styleRecalcs": 67,
      "styleRecalcDurationMs": 15.410000000000007,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 14345.043,
      "heapDeltaBytes": -3813260,
      "domNodes": -3338,
      "jsHeapTotalBytes": 21934080,
      "scriptDurationMs": 859.3159999999999,
      "eventListeners": -16488,
      "totalBlockingTimeMs": 62,
      "frameDurationMs": 19.98999999999978
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 14222.8980000001,
      "styleRecalcs": 66,
      "styleRecalcDurationMs": 13.327000000000005,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 14204.281,
      "heapDeltaBytes": 5741804,
      "domNodes": -3338,
      "jsHeapTotalBytes": 16166912,
      "scriptDurationMs": 881.922,
      "eventListeners": -16484,
      "totalBlockingTimeMs": 26,
      "frameDurationMs": 18.33000000000029
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 14279.375999999957,
      "styleRecalcs": 66,
      "styleRecalcDurationMs": 13.150999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 14260.940000000002,
      "heapDeltaBytes": -10184320,
      "domNodes": -3340,
      "jsHeapTotalBytes": 19312640,
      "scriptDurationMs": 913.8129999999999,
      "eventListeners": -16484,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 18.33000000000029
    },
    {
      "name": "workflow-execution",
      "durationMs": 443.5929999999644,
      "styleRecalcs": 18,
      "styleRecalcDurationMs": 26.993000000000002,
      "layouts": 5,
      "layoutDurationMs": 1.6019999999999996,
      "taskDurationMs": 127.50500000000001,
      "heapDeltaBytes": 4558124,
      "domNodes": 166,
      "jsHeapTotalBytes": 4718592,
      "scriptDurationMs": 28.011000000000003,
      "eventListeners": 55,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.65999999999999
    },
    {
      "name": "workflow-execution",
      "durationMs": 441.1479999999983,
      "styleRecalcs": 18,
      "styleRecalcDurationMs": 24.028,
      "layouts": 5,
      "layoutDurationMs": 1.2920000000000003,
      "taskDurationMs": 122.72700000000003,
      "heapDeltaBytes": 4415052,
      "domNodes": 155,
      "jsHeapTotalBytes": 0,
      "scriptDurationMs": 31.673999999999992,
      "eventListeners": 55,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.680000000000017
    },
    {
      "name": "workflow-execution",
      "durationMs": 453.5889999999654,
      "styleRecalcs": 19,
      "styleRecalcDurationMs": 27.436000000000003,
      "layouts": 6,
      "layoutDurationMs": 1.757,
      "taskDurationMs": 142.80000000000004,
      "heapDeltaBytes": 4490112,
      "domNodes": 155,
      "jsHeapTotalBytes": 4456448,
      "scriptDurationMs": 35.270999999999994,
      "eventListeners": 55,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.65999999999999
    }
  ]
}

Copy link
Member

@viva-jinyi viva-jinyi left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-cpu Creates a preview ephemeral environment for this PR (CPU only) size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants