Skip to content

feat: align cloud batch count limit with server-side queue cap#11876

Open
christian-byrne wants to merge 1 commit intomainfrom
glary/raise-cloud-batch-count-limit-100
Open

feat: align cloud batch count limit with server-side queue cap#11876
christian-byrne wants to merge 1 commit intomainfrom
glary/raise-cloud-batch-count-limit-100

Conversation

@christian-byrne
Copy link
Copy Markdown
Contributor

@christian-byrne christian-byrne commented May 4, 2026

PR Created by the Glary-Bot Agent


Raises Comfy.QueueButton.BatchCountLimit on cloud from 32 to 100 to match the server-side MaxQueuedJobsPerUser cap (cloud/infrastructure/dynamicconfig/prod/config.json:3). The desktop default was already 100 and is unchanged — collapsing both branches to the same constant.

Addresses Discord feature request: Increase queue batch limit from 200.

Change

-    defaultValue: isCloud ? 32 : 100,
+    defaultValue: 100,

The setting is read dynamically by all batch count UIs (BatchCountEdit.vue, LinearControls.vue).

Why 100 (not 512)

Original ask was 200→512. Investigation showed:

  • The actual previous default was 100 (desktop) / 32 (cloud), not 200.
  • Cloud enforces MaxQueuedJobsPerUser = 100 per workspace server-side. A higher frontend cap can't unlock more queued work — extra prompts just get rejected with QUEUE_LIMIT.
  • Frontend submits prompts as N sequential POST /prompt calls (no batched-prompt endpoint), so the UI cap is purely about how many clicks it takes — not throughput.
  • Going from 32 → 100 lets cloud users match the server cap in one click instead of 4. No new behavior is unlocked.

Known limitation (pre-existing, not introduced here)

The new max equals the absolute server cap, not the user's remaining capacity. A user with already-queued work can hit QUEUE_LIMIT mid-batch. The pre-existing 32 limit had the same shape (just at a smaller scale); deriving the UI max from cap - outstanding would require polling and reactive state and is out of scope for a one-line setting bump.

Verification

  • pnpm typecheck — passes
  • pnpm lint — 0 errors (1 pre-existing warning in unrelated test file)
  • pnpm test:unitBatchCountEdit.test.ts (3 tests) + src/platform/settings/** (70 tests) all pass
  • Manual (Playwright):
    • settingStore.get('Comfy.QueueButton.BatchCountLimit') returns 100 at runtime
    • Typing 999 into the batch count widget clamps to 100
    • Increment button is disabled at 100 (max reached)

Screenshots

Queue batch count widget set to 100 (the new max). Increment button is disabled because the limit was reached.

┆Issue is synchronized with this Notion page by Unito

Raises Comfy.QueueButton.BatchCountLimit on cloud from 32 to 100 to match the server-side MaxQueuedJobsPerUser cap (cloud/infrastructure/dynamicconfig/prod/config.json). Desktop default unchanged at 100.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 4, 2026

📝 Walkthrough

Walkthrough

The PR removes environment-dependent logic from the Comfy.QueueButton.BatchCountLimit setting, changing its default value from isCloud ? 32 : 100 to a uniform 100 across all deployments.

Changes

Batch Limit Configuration

Layer / File(s) Summary
Settings Constant
src/platform/settings/constants/coreSettings.ts
Comfy.QueueButton.BatchCountLimit defaultValue changed from conditional isCloud ? 32 : 100 to fixed 100.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A queue limit stands tall and the same,
No cloud check needed to play the game,
One hundred is constant, one hundred is true,
A simpler default for all me and you! ✨

🚥 Pre-merge checks | ✅ 7
✅ Passed checks (7 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: updating the cloud batch count limit to align with the server-side queue cap.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
End-To-End Regression Coverage For Fixes ✅ Passed PR uses 'feat:' prefix with no bug-fix language, so end-to-end regression test coverage is not required.
Adr Compliance For Entity/Litegraph Changes ✅ Passed The custom check for ADR compliance on entity/litegraph changes does not apply to this PR. The only modified file (src/platform/settings/constants/coreSettings.ts) is outside the scope of paths that trigger the check.
Description check ✅ Passed The PR description is comprehensive and well-structured, exceeding the template requirements with detailed context, rationale, verification steps, and screenshots.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch glary/raise-cloud-batch-count-limit-100

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 05/04/2026, 03:07:33 AM UTC

Links

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

🎭 Playwright: ✅ 1467 passed, 0 failed

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

@glary-bot
Copy link
Copy Markdown

glary-bot Bot commented May 4, 2026

Thanks for the review @coderabbitai — approval noted, no actionable feedback to address.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

📦 Bundle: 5.26 MB gzip 🟢 -32 B

Details

Summary

  • Raw size: 24.2 MB baseline 24.2 MB — 🟢 -15 B
  • Gzip: 5.26 MB baseline 5.26 MB — 🟢 -32 B
  • Brotli: 4.07 MB baseline 4.07 MB — 🟢 -323 B
  • Bundles: 258 current • 258 baseline • 118 added / 118 removed

Category Glance
Graph Workspace 🟢 -15 B (1.24 MB) · Vendor & Third-Party ⚪ 0 B (9.94 MB) · Other ⚪ 0 B (8.84 MB) · Data & Services ⚪ 0 B (3.04 MB) · Panels & Settings ⚪ 0 B (489 kB) · Utilities & Hooks ⚪ 0 B (365 kB) · + 5 more

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

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-B6rvrOzW.js (new) 22.6 kB 🔴 +22.6 kB 🔴 +8 kB 🔴 +6.86 kB
assets/index-DY_ACs88.js (removed) 22.6 kB 🟢 -22.6 kB 🟢 -8.01 kB 🟢 -6.89 kB

Status: 1 added / 1 removed

Graph Workspace — 1.24 MB (baseline 1.24 MB) • 🟢 -15 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-htPHp318.js (removed) 1.24 MB 🟢 -1.24 MB 🟢 -265 kB 🟢 -199 kB
assets/GraphView-DdodTpvd.js (new) 1.24 MB 🔴 +1.24 MB 🔴 +265 kB 🔴 +199 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-BHt7J_M6.js (removed) 19.6 kB 🟢 -19.6 kB 🟢 -5.14 kB 🟢 -4.57 kB
assets/CloudSurveyView-CKupnkIh.js (new) 19.6 kB 🔴 +19.6 kB 🔴 +5.14 kB 🔴 +4.58 kB
assets/CloudLoginView-B5E4r6wM.js (new) 12.2 kB 🔴 +12.2 kB 🔴 +3.45 kB 🔴 +3.05 kB
assets/CloudLoginView-hEtsKKvW.js (removed) 12.2 kB 🟢 -12.2 kB 🟢 -3.45 kB 🟢 -3.04 kB
assets/CloudSignupView-5dzD-Rmj.js (removed) 9.97 kB 🟢 -9.97 kB 🟢 -2.95 kB 🟢 -2.59 kB
assets/CloudSignupView-5gtKgr-y.js (new) 9.97 kB 🔴 +9.97 kB 🔴 +2.95 kB 🔴 +2.58 kB
assets/UserCheckView-Bsz-hf_I.js (removed) 9.07 kB 🟢 -9.07 kB 🟢 -2.33 kB 🟢 -2.06 kB
assets/UserCheckView-DJ3KENUD.js (new) 9.07 kB 🔴 +9.07 kB 🔴 +2.34 kB 🔴 +2.05 kB
assets/CloudLayoutView-C__Fkz-C.js (removed) 7.73 kB 🟢 -7.73 kB 🟢 -2.45 kB 🟢 -2.14 kB
assets/CloudLayoutView-CxdLiuct.js (new) 7.73 kB 🔴 +7.73 kB 🔴 +2.45 kB 🔴 +2.15 kB
assets/CloudForgotPasswordView-BEFpKYkX.js (new) 6.14 kB 🔴 +6.14 kB 🔴 +2.19 kB 🔴 +1.91 kB
assets/CloudForgotPasswordView-Cde_S1xU.js (removed) 6.14 kB 🟢 -6.14 kB 🟢 -2.19 kB 🟢 -1.94 kB
assets/CloudAuthTimeoutView-CBrhId0d.js (new) 5.5 kB 🔴 +5.5 kB 🔴 +2.02 kB 🔴 +1.75 kB
assets/CloudAuthTimeoutView-Cjk_hxj_.js (removed) 5.5 kB 🟢 -5.5 kB 🟢 -2.02 kB 🟢 -1.78 kB
assets/CloudSubscriptionRedirectView-B2Ndw2SO.js (removed) 5.28 kB 🟢 -5.28 kB 🟢 -2 kB 🟢 -1.79 kB
assets/CloudSubscriptionRedirectView-BFB_5uNU.js (new) 5.28 kB 🔴 +5.28 kB 🔴 +2 kB 🔴 +1.78 kB
assets/UserSelectView-BlkLF0N2.js (removed) 4.73 kB 🟢 -4.73 kB 🟢 -1.76 kB 🟢 -1.56 kB
assets/UserSelectView-DwuPkKxK.js (new) 4.73 kB 🔴 +4.73 kB 🔴 +1.75 kB 🔴 +1.55 kB

Status: 9 added / 9 removed / 2 unchanged

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/KeybindingPanel-BDgDifzt.js (new) 46.7 kB 🔴 +46.7 kB 🔴 +9.62 kB 🔴 +8.55 kB
assets/KeybindingPanel-DfbtL9qX.js (removed) 46.7 kB 🟢 -46.7 kB 🟢 -9.62 kB 🟢 -8.54 kB
assets/SecretsPanel-B6MaUKvn.js (new) 22.9 kB 🔴 +22.9 kB 🔴 +5.55 kB 🔴 +4.88 kB
assets/SecretsPanel-BF9NsLCw.js (removed) 22.9 kB 🟢 -22.9 kB 🟢 -5.55 kB 🟢 -4.87 kB
assets/LegacyCreditsPanel-CXjoj07n.js (removed) 21.7 kB 🟢 -21.7 kB 🟢 -5.91 kB 🟢 -5.2 kB
assets/LegacyCreditsPanel-DFFaLFhA.js (new) 21.7 kB 🔴 +21.7 kB 🔴 +5.91 kB 🔴 +5.21 kB
assets/SubscriptionPanel-Dh9xd-j4.js (removed) 19.9 kB 🟢 -19.9 kB 🟢 -5.09 kB 🟢 -4.48 kB
assets/SubscriptionPanel-DrOMkeop.js (new) 19.9 kB 🔴 +19.9 kB 🔴 +5.08 kB 🔴 +4.47 kB
assets/AboutPanel-DKlQ629J.js (removed) 12 kB 🟢 -12 kB 🟢 -3.33 kB 🟢 -2.98 kB
assets/AboutPanel-dwK836pv.js (new) 12 kB 🔴 +12 kB 🔴 +3.33 kB 🔴 +2.99 kB
assets/ExtensionPanel-7z4PARJP.js (removed) 9.97 kB 🟢 -9.97 kB 🟢 -2.91 kB 🟢 -2.59 kB
assets/ExtensionPanel-B0vcMj5I.js (new) 9.97 kB 🔴 +9.97 kB 🔴 +2.91 kB 🔴 +2.59 kB
assets/ServerConfigPanel-BkzuHEIo.js (removed) 7.05 kB 🟢 -7.05 kB 🟢 -2.36 kB 🟢 -2.12 kB
assets/ServerConfigPanel-BxpcnVut.js (new) 7.05 kB 🔴 +7.05 kB 🔴 +2.37 kB 🔴 +2.11 kB
assets/UserPanel-BHWhsQrH.js (new) 6.75 kB 🔴 +6.75 kB 🔴 +2.25 kB 🔴 +1.97 kB
assets/UserPanel-BxI_cKbb.js (removed) 6.75 kB 🟢 -6.75 kB 🟢 -2.25 kB 🟢 -1.98 kB
assets/cloudRemoteConfig-CA91do2l.js (new) 2.05 kB 🔴 +2.05 kB 🔴 +990 B 🔴 +852 B
assets/cloudRemoteConfig-DEphCx_Q.js (removed) 2.05 kB 🟢 -2.05 kB 🟢 -990 B 🟢 -852 B
assets/refreshRemoteConfig-C5icyDg2.js (removed) 1.45 kB 🟢 -1.45 kB 🟢 -648 B 🟢 -550 B
assets/refreshRemoteConfig-CQcPBg3d.js (new) 1.45 kB 🔴 +1.45 kB 🔴 +647 B 🔴 +548 B

Status: 10 added / 10 removed / 11 unchanged

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-BRAMtxr1.js (new) 3.57 kB 🔴 +3.57 kB 🔴 +1.26 kB 🔴 +1.07 kB
assets/auth-D-Fup9mf.js (removed) 3.57 kB 🟢 -3.57 kB 🟢 -1.26 kB 🟢 -1.08 kB
assets/SignUpForm-68dLQEgx.js (new) 3.19 kB 🔴 +3.19 kB 🔴 +1.29 kB 🔴 +1.15 kB
assets/SignUpForm-DS9vVsP4.js (removed) 3.19 kB 🟢 -3.19 kB 🟢 -1.29 kB 🟢 -1.15 kB
assets/UpdatePasswordContent-DXg97Bni.js (new) 2.9 kB 🔴 +2.9 kB 🔴 +1.3 kB 🔴 +1.16 kB
assets/UpdatePasswordContent-WQHUynU-.js (removed) 2.9 kB 🟢 -2.9 kB 🟢 -1.3 kB 🟢 -1.16 kB
assets/authStore-BqUiDNCc.js (new) 1.19 kB 🔴 +1.19 kB 🔴 +569 B 🔴 +507 B
assets/authStore-CqdRcA6G.js (removed) 1.19 kB 🟢 -1.19 kB 🟢 -569 B 🟢 -509 B
assets/auth-CF7G-5FB.js (removed) 348 B 🟢 -348 B 🟢 -216 B 🟢 -189 B
assets/auth-DHLJlT6w.js (new) 348 B 🔴 +348 B 🔴 +218 B 🔴 +189 B

Status: 5 added / 5 removed / 2 unchanged

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

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyHubPublishDialog-BysZCT2V.js (new) 85.8 kB 🔴 +85.8 kB 🔴 +18.6 kB 🔴 +15.9 kB
assets/ComfyHubPublishDialog-C6X7ZRyM.js (removed) 85.8 kB 🟢 -85.8 kB 🟢 -18.6 kB 🟢 -15.9 kB
assets/useShareDialog-0ru1HKM3.js (removed) 23.8 kB 🟢 -23.8 kB 🟢 -5.78 kB 🟢 -5.12 kB
assets/useShareDialog-DsQB-4Fn.js (new) 23.8 kB 🔴 +23.8 kB 🔴 +5.78 kB 🔴 +5.12 kB
assets/ComfyHubPublishDialog-DMzgjtEp.js (removed) 1.35 kB 🟢 -1.35 kB 🟢 -630 B 🟢 -555 B
assets/ComfyHubPublishDialog-R-arH0xK.js (new) 1.35 kB 🔴 +1.35 kB 🔴 +631 B 🔴 +553 B
assets/useSubscriptionDialog-CbqZSS8C.js (new) 1.17 kB 🔴 +1.17 kB 🔴 +562 B 🔴 +486 B
assets/useSubscriptionDialog-CNAlV8d9.js (removed) 1.17 kB 🟢 -1.17 kB 🟢 -560 B 🟢 -487 B

Status: 4 added / 4 removed

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-B3wVI9JH.js (removed) 13.5 kB 🟢 -13.5 kB 🟢 -3.79 kB 🟢 -3.38 kB
assets/ComfyQueueButton-D8WkaRnb.js (new) 13.5 kB 🔴 +13.5 kB 🔴 +3.79 kB 🔴 +3.38 kB
assets/useTerminalTabs-BDfFBaje.js (new) 11 kB 🔴 +11 kB 🔴 +3.73 kB 🔴 +3.28 kB
assets/useTerminalTabs-BE9hheWA.js (removed) 11 kB 🟢 -11 kB 🟢 -3.73 kB 🟢 -3.28 kB
assets/SubscribeButton-C6ZNzQBj.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.05 kB 🔴 +933 B
assets/SubscribeButton-CFrx0pNN.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.05 kB 🟢 -949 B
assets/cloudFeedbackTopbarButton-C6z3j4Qw.js (removed) 1.83 kB 🟢 -1.83 kB 🟢 -948 B 🟢 -831 B
assets/cloudFeedbackTopbarButton-EB7alBf1.js (new) 1.83 kB 🔴 +1.83 kB 🔴 +947 B 🔴 +829 B
assets/ComfyQueueButton-Ctu6wgUq.js (removed) 1.27 kB 🟢 -1.27 kB 🟢 -598 B 🟢 -531 B
assets/ComfyQueueButton-DvAdohAn.js (new) 1.27 kB 🔴 +1.27 kB 🔴 +597 B 🔴 +527 B

Status: 5 added / 5 removed / 9 unchanged

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

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-CmptI2re.js (new) 1.98 MB 🔴 +1.98 MB 🔴 +456 kB 🔴 +345 kB
assets/dialogService-CSPOx4oU.js (removed) 1.98 MB 🟢 -1.98 MB 🟢 -456 kB 🟢 -345 kB
assets/api-43Z3wBYZ.js (new) 887 kB 🔴 +887 kB 🔴 +212 kB 🔴 +167 kB
assets/api-SJ_f8Fca.js (removed) 887 kB 🟢 -887 kB 🟢 -212 kB 🟢 -167 kB
assets/load3dService-BkXNoTW1.js (new) 115 kB 🔴 +115 kB 🔴 +25 kB 🔴 +21.3 kB
assets/load3dService-D4pMMNww.js (removed) 115 kB 🟢 -115 kB 🟢 -25.1 kB 🟢 -21.3 kB
assets/workflowShareService-BmlX5LXj.js (removed) 16.6 kB 🟢 -16.6 kB 🟢 -4.89 kB 🟢 -4.33 kB
assets/workflowShareService-RI_OIIbI.js (new) 16.6 kB 🔴 +16.6 kB 🔴 +4.89 kB 🔴 +4.33 kB
assets/keybindingService-0fUv_Hwo.js (new) 13.8 kB 🔴 +13.8 kB 🔴 +3.67 kB 🔴 +3.22 kB
assets/keybindingService-7Vb-bgAj.js (removed) 13.8 kB 🟢 -13.8 kB 🟢 -3.67 kB 🟢 -3.22 kB
assets/releaseStore-BIzrHHFj.js (removed) 8.12 kB 🟢 -8.12 kB 🟢 -2.28 kB 🟢 -2 kB
assets/releaseStore-CtyooHfW.js (new) 8.12 kB 🔴 +8.12 kB 🔴 +2.28 kB 🔴 +2 kB
assets/userStore-BOx7OrJ3.js (new) 2.24 kB 🔴 +2.24 kB 🔴 +871 B 🔴 +762 B
assets/userStore-j66UfMED.js (removed) 2.24 kB 🟢 -2.24 kB 🟢 -871 B 🟢 -760 B
assets/audioService-BzNKGfGP.js (removed) 1.8 kB 🟢 -1.8 kB 🟢 -880 B 🟢 -762 B
assets/audioService-C1_3zrVD.js (new) 1.8 kB 🔴 +1.8 kB 🔴 +879 B 🔴 +765 B
assets/releaseStore-CyylxVxU.js (removed) 1.19 kB 🟢 -1.19 kB 🟢 -563 B 🟢 -499 B
assets/releaseStore-DXb2lAXx.js (new) 1.19 kB 🔴 +1.19 kB 🔴 +564 B 🔴 +494 B
assets/workflowDraftStore-DWl0IHRG.js (new) 1.17 kB 🔴 +1.17 kB 🔴 +561 B 🔴 +493 B
assets/workflowDraftStore-MMFzVCpp.js (removed) 1.17 kB 🟢 -1.17 kB 🟢 -559 B 🟢 -495 B
assets/dialogService-7OTfWy6c.js (removed) 1.16 kB 🟢 -1.16 kB 🟢 -551 B 🟢 -490 B
assets/dialogService-BLtw4u7T.js (new) 1.16 kB 🔴 +1.16 kB 🔴 +552 B 🔴 +490 B
assets/settingStore-CcIhJdQS.js (removed) 1.15 kB 🟢 -1.15 kB 🟢 -555 B 🟢 -490 B
assets/settingStore-DZDv_MD-.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +556 B 🔴 +487 B
assets/assetsStore-CV5xzhKf.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +556 B 🔴 +487 B
assets/assetsStore-DKSzl_a9.js (removed) 1.15 kB 🟢 -1.15 kB 🟢 -555 B 🟢 -489 B

Status: 13 added / 13 removed / 4 unchanged

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useConflictDetection-B0cVjLiF.js (new) 233 kB 🔴 +233 kB 🔴 +51.8 kB 🔴 +42.2 kB
assets/useConflictDetection-BSZUSCD1.js (removed) 233 kB 🟢 -233 kB 🟢 -51.8 kB 🟢 -42.2 kB
assets/useLoad3d-Bo_S428k.js (removed) 22.3 kB 🟢 -22.3 kB 🟢 -5.09 kB 🟢 -4.52 kB
assets/useLoad3d-C57r1aDj.js (new) 22.3 kB 🔴 +22.3 kB 🔴 +5.09 kB 🔴 +4.5 kB
assets/useLoad3dViewer-dU_DKJ5m.js (removed) 20.8 kB 🟢 -20.8 kB 🟢 -4.91 kB 🟢 -4.29 kB
assets/useLoad3dViewer-QvHvlEtF.js (new) 20.8 kB 🔴 +20.8 kB 🔴 +4.91 kB 🔴 +4.31 kB
assets/useFeatureFlags-BANIWljL.js (removed) 5.95 kB 🟢 -5.95 kB 🟢 -1.79 kB 🟢 -1.52 kB
assets/useFeatureFlags-BFVxLsi0.js (new) 5.95 kB 🔴 +5.95 kB 🔴 +1.79 kB 🔴 +1.52 kB
assets/useCopyToClipboard-c6CjB0qL.js (new) 5.29 kB 🔴 +5.29 kB 🔴 +1.86 kB 🔴 +1.57 kB
assets/useCopyToClipboard-vytMrERG.js (removed) 5.29 kB 🟢 -5.29 kB 🟢 -1.86 kB 🟢 -1.57 kB
assets/useWorkspaceUI-BUEtImwc.js (removed) 3.34 kB 🟢 -3.34 kB 🟢 -980 B 🟢 -811 B
assets/useWorkspaceUI-CSkpxm55.js (new) 3.34 kB 🔴 +3.34 kB 🔴 +980 B 🔴 +811 B
assets/subscriptionCheckoutUtil-D_HLE8qZ.js (new) 3.31 kB 🔴 +3.31 kB 🔴 +1.36 kB 🔴 +1.18 kB
assets/subscriptionCheckoutUtil-n4GTBjEo.js (removed) 3.31 kB 🟢 -3.31 kB 🟢 -1.36 kB 🟢 -1.18 kB
assets/assetPreviewUtil-IAMJOPFM.js (removed) 2.27 kB 🟢 -2.27 kB 🟢 -957 B 🟢 -838 B
assets/assetPreviewUtil-Qbb9KmR_.js (new) 2.27 kB 🔴 +2.27 kB 🔴 +958 B 🔴 +833 B
assets/useUpstreamValue-BOtrrcu2.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -804 B 🟢 -721 B
assets/useUpstreamValue-Dae9o_iK.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +803 B 🔴 +712 B
assets/useLoad3d-CJ58Exnb.js (new) 1.33 kB 🔴 +1.33 kB 🔴 +624 B 🔴 +559 B
assets/useLoad3d-CN8wFBHx.js (removed) 1.33 kB 🟢 -1.33 kB 🟢 -623 B 🟢 -571 B
assets/useLoad3dViewer-Dr0IMvko.js (removed) 1.27 kB 🟢 -1.27 kB 🟢 -588 B 🟢 -529 B
assets/useLoad3dViewer-DWrEMLEV.js (new) 1.27 kB 🔴 +1.27 kB 🔴 +591 B 🔴 +526 B
assets/useCurrentUser-CK5alWge.js (removed) 1.15 kB 🟢 -1.15 kB 🟢 -555 B 🟢 -489 B
assets/useCurrentUser-DVaqW9Np.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +557 B 🔴 +487 B
assets/useWorkspaceSwitch-CLk3_axA.js (new) 747 B 🔴 +747 B 🔴 +382 B 🔴 +331 B
assets/useWorkspaceSwitch-CombYlBz.js (removed) 747 B 🟢 -747 B 🟢 -383 B 🟢 -329 B

Status: 13 added / 13 removed / 18 unchanged

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

External libraries and shared vendor chunks

Status: 16 unchanged

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

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-CkgSNfrr.js (removed) 76.6 kB 🟢 -76.6 kB 🟢 -19.9 kB 🟢 -16.9 kB
assets/core-s0_XA8_R.js (new) 76.6 kB 🔴 +76.6 kB 🔴 +19.8 kB 🔴 +16.9 kB
assets/groupNode-DagmeMW4.js (removed) 74.9 kB 🟢 -74.9 kB 🟢 -18.7 kB 🟢 -16.5 kB
assets/groupNode-DdUP03Je.js (new) 74.9 kB 🔴 +74.9 kB 🔴 +18.7 kB 🔴 +16.5 kB
assets/WidgetSelect-DtzLjDam.js (new) 67.2 kB 🔴 +67.2 kB 🔴 +14.6 kB 🔴 +12.6 kB
assets/WidgetSelect-vcdnR-_I.js (removed) 67.2 kB 🟢 -67.2 kB 🟢 -14.6 kB 🟢 -12.7 kB
assets/SubscriptionRequiredDialogContentWorkspace-CmEQfgyC.js (new) 48.8 kB 🔴 +48.8 kB 🔴 +9.53 kB 🔴 +8.2 kB
assets/SubscriptionRequiredDialogContentWorkspace-DTxdI9SY.js (removed) 48.8 kB 🟢 -48.8 kB 🟢 -9.52 kB 🟢 -8.2 kB
assets/Load3DControls-B84be04V.js (new) 46.1 kB 🔴 +46.1 kB 🔴 +7.51 kB 🔴 +6.54 kB
assets/Load3DControls-jipAZyVs.js (removed) 46.1 kB 🟢 -46.1 kB 🟢 -7.51 kB 🟢 -6.56 kB
assets/WidgetPainter-CLy1pcyE.js (new) 34 kB 🔴 +34 kB 🔴 +8.3 kB 🔴 +7.36 kB
assets/WidgetPainter-pJlAkfbg.js (removed) 34 kB 🟢 -34 kB 🟢 -8.3 kB 🟢 -7.37 kB
assets/WorkspacePanelContent-DGv67Scf.js (removed) 32.8 kB 🟢 -32.8 kB 🟢 -7.01 kB 🟢 -6.19 kB
assets/WorkspacePanelContent-uneoUhwG.js (new) 32.8 kB 🔴 +32.8 kB 🔴 +7.01 kB 🔴 +6.19 kB
assets/Load3dViewerContent-8InMFFuQ.js (new) 28 kB 🔴 +28 kB 🔴 +5.85 kB 🔴 +5.07 kB
assets/Load3dViewerContent-JaAxKQoA.js (removed) 28 kB 🟢 -28 kB 🟢 -5.85 kB 🟢 -5.07 kB
assets/SubscriptionRequiredDialogContent-CdNoR1ZN.js (new) 27.5 kB 🔴 +27.5 kB 🔴 +6.99 kB 🔴 +6.17 kB
assets/SubscriptionRequiredDialogContent-D7odbgC0.js (removed) 27.5 kB 🟢 -27.5 kB 🟢 -6.98 kB 🟢 -6.19 kB
assets/WidgetImageCrop-B142ZKS6.js (new) 24.3 kB 🔴 +24.3 kB 🔴 +6.2 kB 🔴 +5.46 kB
assets/WidgetImageCrop-CIfqTHbR.js (removed) 24.3 kB 🟢 -24.3 kB 🟢 -6.2 kB 🟢 -5.46 kB
assets/SubscriptionPanelContentWorkspace-BAlIwf7Z.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +5.17 kB 🔴 +4.56 kB
assets/SubscriptionPanelContentWorkspace-D1UILfrD.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -5.17 kB 🟢 -4.57 kB
assets/SignInContent-B37XtzFW.js (new) 20.6 kB 🔴 +20.6 kB 🔴 +5.37 kB 🔴 +4.71 kB
assets/SignInContent-YFO3p-E4.js (removed) 20.6 kB 🟢 -20.6 kB 🟢 -5.37 kB 🟢 -4.69 kB
assets/CurrentUserPopoverWorkspace-CPwIO2Sq.js (removed) 20.6 kB 🟢 -20.6 kB 🟢 -4.91 kB 🟢 -4.4 kB
assets/CurrentUserPopoverWorkspace-vqbii821.js (new) 20.6 kB 🔴 +20.6 kB 🔴 +4.91 kB 🔴 +4.4 kB
assets/WidgetInputNumber-B48u7yPe.js (new) 19.1 kB 🔴 +19.1 kB 🔴 +4.84 kB 🔴 +4.29 kB
assets/WidgetInputNumber-CpnsMkux.js (removed) 19.1 kB 🟢 -19.1 kB 🟢 -4.84 kB 🟢 -4.29 kB
assets/Load3D-BvunICO-.js (removed) 18.5 kB 🟢 -18.5 kB 🟢 -4.39 kB 🟢 -3.84 kB
assets/Load3D-Cs_86YCH.js (new) 18.5 kB 🔴 +18.5 kB 🔴 +4.39 kB 🔴 +3.83 kB
assets/WidgetRecordAudio-DPdQtVFp.js (removed) 17.4 kB 🟢 -17.4 kB 🟢 -5.02 kB 🟢 -4.48 kB
assets/WidgetRecordAudio-DvDVUYAG.js (new) 17.4 kB 🔴 +17.4 kB 🔴 +5.02 kB 🔴 +4.48 kB
assets/WidgetRange-CBG23LMv.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -4.61 kB 🟢 -4.14 kB
assets/WidgetRange-DSa1ghzK.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +4.61 kB 🔴 +4.12 kB
assets/load3d-BCUCvqJY.js (removed) 15.8 kB 🟢 -15.8 kB 🟢 -4.6 kB 🟢 -3.98 kB
assets/load3d-Bt0Qr43l.js (new) 15.8 kB 🔴 +15.8 kB 🔴 +4.59 kB 🔴 +3.97 kB
assets/WaveAudioPlayer-BuRp8Qj-.js (new) 13.4 kB 🔴 +13.4 kB 🔴 +3.69 kB 🔴 +3.23 kB
assets/WaveAudioPlayer-CvhL5Iwc.js (removed) 13.4 kB 🟢 -13.4 kB 🟢 -3.69 kB 🟢 -3.23 kB
assets/WidgetCurve-C1rmZCSn.js (removed) 12.2 kB 🟢 -12.2 kB 🟢 -3.93 kB 🟢 -3.56 kB
assets/WidgetCurve-CGy-2Uk-.js (new) 12.2 kB 🔴 +12.2 kB 🔴 +3.94 kB 🔴 +3.56 kB
assets/TeamWorkspacesDialogContent-BsHEQuAF.js (removed) 11.3 kB 🟢 -11.3 kB 🟢 -3.43 kB 🟢 -3.05 kB
assets/TeamWorkspacesDialogContent-dy05xeXO.js (new) 11.3 kB 🔴 +11.3 kB 🔴 +3.42 kB 🔴 +3.06 kB
assets/nodeTemplates-5kn_qm3x.js (new) 9.84 kB 🔴 +9.84 kB 🔴 +3.49 kB 🔴 +3.07 kB
assets/nodeTemplates-B15Zg-CE.js (removed) 9.84 kB 🟢 -9.84 kB 🟢 -3.48 kB 🟢 -3.07 kB
assets/NightlySurveyController-CXpgglei.js (new) 9.02 kB 🔴 +9.02 kB 🔴 +3.16 kB 🔴 +2.79 kB
assets/NightlySurveyController-DzTUzg9O.js (removed) 9.02 kB 🟢 -9.02 kB 🟢 -3.16 kB 🟢 -2.79 kB
assets/Load3DConfiguration-BaASRUaH.js (new) 8.03 kB 🔴 +8.03 kB 🔴 +2.36 kB 🔴 +2.07 kB
assets/Load3DConfiguration-CGXjFwQY.js (removed) 8.03 kB 🟢 -8.03 kB 🟢 -2.37 kB 🟢 -2.07 kB
assets/InviteMemberDialogContent-BnUB_ZHA.js (removed) 7.94 kB 🟢 -7.94 kB 🟢 -2.53 kB 🟢 -2.22 kB
assets/InviteMemberDialogContent-CfInf_Am.js (new) 7.94 kB 🔴 +7.94 kB 🔴 +2.53 kB 🔴 +2.22 kB
assets/onboardingCloudRoutes-C_YguXj7.js (removed) 6.59 kB 🟢 -6.59 kB 🟢 -2.06 kB 🟢 -1.76 kB
assets/onboardingCloudRoutes-CzafoO_a.js (new) 6.59 kB 🔴 +6.59 kB 🔴 +2.06 kB 🔴 +1.77 kB
assets/CreateWorkspaceDialogContent-Cd8o0cGG.js (new) 6.15 kB 🔴 +6.15 kB 🔴 +2.24 kB 🔴 +1.96 kB
assets/CreateWorkspaceDialogContent-D8MU98Tk.js (removed) 6.15 kB 🟢 -6.15 kB 🟢 -2.24 kB 🟢 -1.96 kB
assets/WidgetWithControl-CkdsYEP-.js (new) 6.05 kB 🔴 +6.05 kB 🔴 +2.42 kB 🔴 +2.15 kB
assets/WidgetWithControl-DJW_UvaE.js (removed) 6.05 kB 🟢 -6.05 kB 🟢 -2.42 kB 🟢 -2.18 kB
assets/FreeTierDialogContent-D-stVJWB.js (removed) 6.01 kB 🟢 -6.01 kB 🟢 -2.14 kB 🟢 -1.91 kB
assets/FreeTierDialogContent-iMaCXe65.js (new) 6.01 kB 🔴 +6.01 kB 🔴 +2.14 kB 🔴 +1.88 kB
assets/EditWorkspaceDialogContent-CFQuRaFU.js (removed) 5.95 kB 🟢 -5.95 kB 🟢 -2.2 kB 🟢 -1.93 kB
assets/EditWorkspaceDialogContent-CpiFcrkW.js (new) 5.95 kB 🔴 +5.95 kB 🔴 +2.2 kB 🔴 +1.93 kB
assets/WidgetTextarea-B2GkKap2.js (new) 5.76 kB 🔴 +5.76 kB 🔴 +2.27 kB 🔴 +2.02 kB
assets/WidgetTextarea-BREzyJes.js (removed) 5.76 kB 🟢 -5.76 kB 🟢 -2.27 kB 🟢 -2.02 kB
assets/Preview3d-CwDPeOtv.js (removed) 5.73 kB 🟢 -5.73 kB 🟢 -1.93 kB 🟢 -1.69 kB
assets/Preview3d-h0by4Zm-.js (new) 5.73 kB 🔴 +5.73 kB 🔴 +1.93 kB 🔴 +1.69 kB
assets/ValueControlPopover-BPIvLfJw.js (new) 5.53 kB 🔴 +5.53 kB 🔴 +2.02 kB 🔴 +1.79 kB
assets/ValueControlPopover-Byu_xdya.js (removed) 5.53 kB 🟢 -5.53 kB 🟢 -2.02 kB 🟢 -1.81 kB
assets/CancelSubscriptionDialogContent-BMA3toqz.js (new) 5.49 kB 🔴 +5.49 kB 🔴 +2.06 kB 🔴 +1.81 kB
assets/CancelSubscriptionDialogContent-CzqX664J.js (removed) 5.49 kB 🟢 -5.49 kB 🟢 -2.06 kB 🟢 -1.81 kB
assets/DeleteWorkspaceDialogContent-B2NyXIvZ.js (new) 4.85 kB 🔴 +4.85 kB 🔴 +1.88 kB 🔴 +1.62 kB
assets/DeleteWorkspaceDialogContent-B9UumP3T.js (removed) 4.85 kB 🟢 -4.85 kB 🟢 -1.88 kB 🟢 -1.63 kB
assets/LeaveWorkspaceDialogContent-RFWYV-PN.js (removed) 4.68 kB 🟢 -4.68 kB 🟢 -1.83 kB 🟢 -1.58 kB
assets/LeaveWorkspaceDialogContent-XJw_w39U.js (new) 4.68 kB 🔴 +4.68 kB 🔴 +1.83 kB 🔴 +1.58 kB
assets/RemoveMemberDialogContent-BtRTshd0.js (removed) 4.66 kB 🟢 -4.66 kB 🟢 -1.78 kB 🟢 -1.55 kB
assets/RemoveMemberDialogContent-H6LbPfOQ.js (new) 4.66 kB 🔴 +4.66 kB 🔴 +1.78 kB 🔴 +1.55 kB
assets/RevokeInviteDialogContent-C4L42VBo.js (removed) 4.57 kB 🟢 -4.57 kB 🟢 -1.79 kB 🟢 -1.58 kB
assets/RevokeInviteDialogContent-fzkDKeHb.js (new) 4.57 kB 🔴 +4.57 kB 🔴 +1.79 kB 🔴 +1.57 kB
assets/InviteMemberUpsellDialogContent-DbdYAK5k.js (removed) 4.47 kB 🟢 -4.47 kB 🟢 -1.65 kB 🟢 -1.44 kB
assets/InviteMemberUpsellDialogContent-RpmqYFva.js (new) 4.47 kB 🔴 +4.47 kB 🔴 +1.65 kB 🔴 +1.45 kB
assets/tierBenefits-BuaIDJ2o.js (removed) 4.45 kB 🟢 -4.45 kB 🟢 -1.57 kB 🟢 -1.36 kB
assets/tierBenefits-Dbx7eUXS.js (new) 4.45 kB 🔴 +4.45 kB 🔴 +1.57 kB 🔴 +1.36 kB
assets/cloudSessionCookie-CVZ72kBd.js (removed) 4.31 kB 🟢 -4.31 kB 🟢 -1.58 kB 🟢 -1.38 kB
assets/cloudSessionCookie-rbKWK1SQ.js (new) 4.31 kB 🔴 +4.31 kB 🔴 +1.58 kB 🔴 +1.37 kB
assets/Media3DTop-DbwakwKP.js (new) 4.04 kB 🔴 +4.04 kB 🔴 +1.71 kB 🔴 +1.51 kB
assets/Media3DTop-vpYNykTo.js (removed) 4.04 kB 🟢 -4.04 kB 🟢 -1.71 kB 🟢 -1.51 kB
assets/saveMesh-CUOK0fp2.js (removed) 4.03 kB 🟢 -4.03 kB 🟢 -1.77 kB 🟢 -1.57 kB
assets/saveMesh-DyDi6nP_.js (new) 4.03 kB 🔴 +4.03 kB 🔴 +1.76 kB 🔴 +1.56 kB
assets/GlobalToast-1PN38Xzq.js (removed) 3.05 kB 🟢 -3.05 kB 🟢 -1.26 kB 🟢 -1.12 kB
assets/GlobalToast-Dy52WYPh.js (new) 3.05 kB 🔴 +3.05 kB 🔴 +1.26 kB 🔴 +1.11 kB
assets/CloudRunButtonWrapper-B0dOXpVV.js (new) 2.23 kB 🔴 +2.23 kB 🔴 +1.02 kB 🔴 +900 B
assets/CloudRunButtonWrapper-BISNk_0j.js (removed) 2.23 kB 🟢 -2.23 kB 🟢 -1.02 kB 🟢 -907 B
assets/SubscribeToRun-CazCzKYX.js (new) 2.13 kB 🔴 +2.13 kB 🔴 +980 B 🔴 +886 B
assets/SubscribeToRun-TZk_q7TV.js (removed) 2.13 kB 🟢 -2.13 kB 🟢 -982 B 🟢 -880 B
assets/MediaAudioTop-BT_n_HtC.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +1 kB 🔴 +865 B
assets/MediaAudioTop-Bw-rbIH6.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -1.01 kB 🟢 -864 B
assets/cloudBadges-cE1INxmg.js (new) 1.96 kB 🔴 +1.96 kB 🔴 +979 B 🔴 +850 B
assets/cloudBadges-Dmw73zyV.js (removed) 1.96 kB 🟢 -1.96 kB 🟢 -979 B 🟢 -850 B
assets/cloudSubscription-BCdN64-V.js (new) 1.88 kB 🔴 +1.88 kB 🔴 +900 B 🔴 +776 B
assets/cloudSubscription-CK2peurr.js (removed) 1.88 kB 🟢 -1.88 kB 🟢 -900 B 🟢 -778 B
assets/graphHasMissingNodes-BTelGE6w.js (new) 1.83 kB 🔴 +1.83 kB 🔴 +860 B 🔴 +774 B
assets/graphHasMissingNodes-CyU1n7bf.js (removed) 1.83 kB 🟢 -1.83 kB 🟢 -861 B 🟢 -759 B
assets/Load3D-CG6l_INl.js (new) 1.58 kB 🔴 +1.58 kB 🔴 +716 B 🔴 +638 B
assets/Load3D-CV9DyVoC.js (removed) 1.58 kB 🟢 -1.58 kB 🟢 -716 B 🟢 -635 B
assets/previousFullPath-CP8Qzdkx.js (new) 1.53 kB 🔴 +1.53 kB 🔴 +693 B 🔴 +596 B
assets/previousFullPath-DZIPjG_L.js (removed) 1.53 kB 🟢 -1.53 kB 🟢 -694 B 🟢 -599 B
assets/nightlyBadges-CQQM-QAP.js (new) 1.49 kB 🔴 +1.49 kB 🔴 +748 B 🔴 +667 B
assets/nightlyBadges-Dk0Pn3ou.js (removed) 1.49 kB 🟢 -1.49 kB 🟢 -747 B 🟢 -663 B
assets/Load3dViewerContent-B17ieuOS.js (new) 1.46 kB 🔴 +1.46 kB 🔴 +666 B 🔴 +608 B
assets/Load3dViewerContent-CkgJRisY.js (removed) 1.46 kB 🟢 -1.46 kB 🟢 -666 B 🟢 -589 B
assets/SubscriptionPanelContentWorkspace-LlYeI-Ez.js (removed) 1.35 kB 🟢 -1.35 kB 🟢 -615 B 🟢 -540 B
assets/SubscriptionPanelContentWorkspace-vCzrhGXM.js (new) 1.35 kB 🔴 +1.35 kB 🔴 +620 B 🔴 +541 B
assets/WidgetLegacy-CME9yNBp.js (new) 1.18 kB 🔴 +1.18 kB 🔴 +568 B 🔴 +494 B
assets/WidgetLegacy-D3YcBk3A.js (removed) 1.18 kB 🟢 -1.18 kB 🟢 -566 B 🟢 -495 B
assets/changeTracker-CC4KWvFh.js (removed) 1.15 kB 🟢 -1.15 kB 🟢 -556 B 🟢 -488 B
assets/changeTracker-n4j3OqjP.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +557 B 🔴 +485 B

Status: 57 added / 57 removed / 78 unchanged

⚡ Performance Report

canvas-idle: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.1 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 46.9 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 46.6 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 55.2 MB heap
large-graph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 60.6 MB heap
large-graph-pan: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 59.7 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 55.9 MB heap
minimap-idle: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 63.9 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 55.1 MB heap
subgraph-idle: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 67.7 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 47.6 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 70.1 MB heap
vue-large-graph-idle: · 58.1 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 163.3 MB heap
vue-large-graph-pan: · 58.1 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 155.7 MB heap
workflow-execution: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 51.2 MB heap

No regressions detected.

All metrics
Metric Baseline PR (median) Δ Sig
canvas-idle: avg frame time 17ms 17ms +0% z=-0.1
canvas-idle: p95 frame time 17ms 17ms +1%
canvas-idle: layout duration 0ms 0ms +0%
canvas-idle: style recalc duration 7ms 8ms +12% z=-3.0
canvas-idle: layout count 0 0 +0%
canvas-idle: style recalc count 8 9 +13% z=-3.8
canvas-idle: task duration 361ms 364ms +1% z=-1.0
canvas-idle: script duration 16ms 20ms +28% z=-2.4
canvas-idle: TBT 0ms 0ms +0%
canvas-idle: heap used 68.1 MB 68.1 MB +0%
canvas-idle: DOM nodes 16 18 +13% z=-3.6
canvas-idle: event listeners 4 4 +0% z=-1.6
canvas-mouse-sweep: avg frame time 17ms 17ms -0% z=-1.5
canvas-mouse-sweep: p95 frame time 17ms 17ms +0%
canvas-mouse-sweep: layout duration 4ms 4ms +11% z=1.5
canvas-mouse-sweep: style recalc duration 37ms 38ms +3% z=-1.6
canvas-mouse-sweep: layout count 12 12 +0%
canvas-mouse-sweep: style recalc count 72 73 +1% z=-2.4
canvas-mouse-sweep: task duration 790ms 812ms +3% z=-0.9
canvas-mouse-sweep: script duration 123ms 122ms -1% z=-2.0
canvas-mouse-sweep: TBT 0ms 0ms +0%
canvas-mouse-sweep: heap used 50.9 MB 46.9 MB -8%
canvas-mouse-sweep: DOM nodes -263 -264 +0% z=-126.2
canvas-mouse-sweep: event listeners -131 -133 +2% z=-33.9
canvas-zoom-sweep: avg frame time 17ms 17ms +0% z=0.5
canvas-zoom-sweep: p95 frame time 17ms 17ms -1%
canvas-zoom-sweep: layout duration 1ms 1ms +1% z=-1.1
canvas-zoom-sweep: style recalc duration 16ms 17ms +3% z=-1.4
canvas-zoom-sweep: layout count 6 6 +0%
canvas-zoom-sweep: style recalc count 31 31 +0% z=-0.6
canvas-zoom-sweep: task duration 289ms 300ms +4% z=-1.2
canvas-zoom-sweep: script duration 17ms 21ms +22% z=-2.0
canvas-zoom-sweep: TBT 0ms 0ms +0%
canvas-zoom-sweep: heap used 46.6 MB 46.6 MB -0%
canvas-zoom-sweep: DOM nodes 76 76 +0% z=-4.1
canvas-zoom-sweep: event listeners 19 19 +0% z=-0.9
dom-widget-clipping: avg frame time 17ms 17ms +0% z=0.1
dom-widget-clipping: p95 frame time 17ms 17ms +1%
dom-widget-clipping: layout duration 0ms 0ms +0%
dom-widget-clipping: style recalc duration 7ms 7ms +3% z=-3.7
dom-widget-clipping: layout count 0 0 +0%
dom-widget-clipping: style recalc count 10 10 +0% z=-6.2
dom-widget-clipping: task duration 328ms 324ms -1% z=-2.5
dom-widget-clipping: script duration 58ms 59ms +2% z=-2.7
dom-widget-clipping: TBT 0ms 0ms +0%
dom-widget-clipping: heap used 55.9 MB 55.2 MB -1%
dom-widget-clipping: DOM nodes 16 16 +0% z=-4.3
dom-widget-clipping: event listeners 0 0 +0% variance too high
large-graph-idle: avg frame time 17ms 17ms +0% z=-1.0
large-graph-idle: p95 frame time 17ms 17ms -1%
large-graph-idle: layout duration 0ms 0ms +0%
large-graph-idle: style recalc duration 8ms 8ms -7% z=-4.4
large-graph-idle: layout count 0 0 +0%
large-graph-idle: style recalc count 9 8 -11% z=-11.5
large-graph-idle: task duration 546ms 533ms -2% z=-0.2
large-graph-idle: script duration 90ms 86ms -4% z=-1.6
large-graph-idle: TBT 0ms 0ms +0%
large-graph-idle: heap used 59.5 MB 60.6 MB +2%
large-graph-idle: DOM nodes -263 -264 +0% z=-319.4
large-graph-idle: event listeners -129 -129 +0% z=-25.4
large-graph-pan: avg frame time 17ms 17ms +0% z=0.3
large-graph-pan: p95 frame time 17ms 17ms -0%
large-graph-pan: layout duration 0ms 0ms +0%
large-graph-pan: style recalc duration 19ms 18ms -5% z=0.3
large-graph-pan: layout count 0 0 +0%
large-graph-pan: style recalc count 68 67 -1% z=-4.0
large-graph-pan: task duration 1034ms 1046ms +1% z=-0.8
large-graph-pan: script duration 362ms 365ms +1% z=-2.2
large-graph-pan: TBT 0ms 0ms +0%
large-graph-pan: heap used 62.9 MB 59.7 MB -5%
large-graph-pan: DOM nodes -261 -266 +2% z=-172.7
large-graph-pan: event listeners -127 -127 +0% z=-159.3
large-graph-zoom: avg frame time 17ms 17ms +0%
large-graph-zoom: p95 frame time 17ms 17ms +0%
large-graph-zoom: layout duration 8ms 8ms -5%
large-graph-zoom: style recalc duration 20ms 18ms -8%
large-graph-zoom: layout count 60 60 +0%
large-graph-zoom: style recalc count 65 64 -2%
large-graph-zoom: task duration 1359ms 1296ms -5%
large-graph-zoom: script duration 498ms 473ms -5%
large-graph-zoom: TBT 0ms 0ms +0%
large-graph-zoom: heap used 66.5 MB 55.9 MB -16%
large-graph-zoom: DOM nodes -267 -268 +0%
large-graph-zoom: event listeners -125 -125 +0%
minimap-idle: avg frame time 17ms 17ms +0% z=0.1
minimap-idle: p95 frame time 17ms 17ms +0%
minimap-idle: layout duration 0ms 0ms +0%
minimap-idle: style recalc duration 7ms 8ms +10% z=-2.5
minimap-idle: layout count 0 0 +0%
minimap-idle: style recalc count 8 8 +0% z=-2.3
minimap-idle: task duration 529ms 551ms +4% z=0.5
minimap-idle: script duration 83ms 89ms +7% z=-1.0
minimap-idle: TBT 0ms 0ms +0%
minimap-idle: heap used 61.6 MB 63.9 MB +4%
minimap-idle: DOM nodes -266 -265 -0% z=-207.7
minimap-idle: event listeners -129 -129 +0% z=-202.3
subgraph-dom-widget-clipping: avg frame time 17ms 17ms +0% z=0.1
subgraph-dom-widget-clipping: p95 frame time 17ms 17ms +0%
subgraph-dom-widget-clipping: layout duration 0ms 0ms +0%
subgraph-dom-widget-clipping: style recalc duration 10ms 11ms +12% z=-1.8
subgraph-dom-widget-clipping: layout count 0 0 +0%
subgraph-dom-widget-clipping: style recalc count 45 46 +2% z=-3.3
subgraph-dom-widget-clipping: task duration 341ms 356ms +5% z=-1.2
subgraph-dom-widget-clipping: script duration 118ms 121ms +3% z=-1.2
subgraph-dom-widget-clipping: TBT 0ms 0ms +0%
subgraph-dom-widget-clipping: heap used 54.9 MB 55.1 MB +0%
subgraph-dom-widget-clipping: DOM nodes 16 18 +13% z=-3.7
subgraph-dom-widget-clipping: event listeners 6 6 +0% z=-1.7
subgraph-idle: avg frame time 17ms 17ms +0% z=0.4
subgraph-idle: p95 frame time 17ms 17ms +0%
subgraph-idle: layout duration 0ms 0ms +0%
subgraph-idle: style recalc duration 7ms 8ms +12% z=-2.7
subgraph-idle: layout count 0 0 +0%
subgraph-idle: style recalc count 9 9 +0% z=-2.9
subgraph-idle: task duration 335ms 353ms +6% z=-0.5
subgraph-idle: script duration 13ms 15ms +8% z=-2.1
subgraph-idle: TBT 0ms 0ms +0%
subgraph-idle: heap used 68.0 MB 67.7 MB -0%
subgraph-idle: DOM nodes 18 18 +0% z=-2.5
subgraph-idle: event listeners 4 4 +0% variance too high
subgraph-mouse-sweep: avg frame time 17ms 17ms +0% z=0.4
subgraph-mouse-sweep: p95 frame time 17ms 17ms -1%
subgraph-mouse-sweep: layout duration 5ms 4ms -8% z=-1.0
subgraph-mouse-sweep: style recalc duration 37ms 36ms -1% z=-1.8
subgraph-mouse-sweep: layout count 16 16 +0%
subgraph-mouse-sweep: style recalc count 76 76 +0% z=-2.1
subgraph-mouse-sweep: task duration 684ms 701ms +2% z=-0.9
subgraph-mouse-sweep: script duration 86ms 92ms +7% z=-1.3
subgraph-mouse-sweep: TBT 0ms 0ms +0%
subgraph-mouse-sweep: heap used 43.7 MB 47.6 MB +9%
subgraph-mouse-sweep: DOM nodes -263 60 -123% z=-3.1
subgraph-mouse-sweep: event listeners -133 -131 -2% variance too high
viewport-pan-sweep: avg frame time 17ms 17ms +0%
viewport-pan-sweep: p95 frame time 17ms 17ms +0%
viewport-pan-sweep: layout duration 0ms 0ms +0%
viewport-pan-sweep: style recalc duration 55ms 57ms +3%
viewport-pan-sweep: layout count 0 0 +0%
viewport-pan-sweep: style recalc count 249 250 +0%
viewport-pan-sweep: task duration 3514ms 3569ms +2%
viewport-pan-sweep: script duration 1156ms 1159ms +0%
viewport-pan-sweep: TBT 0ms 0ms +0%
viewport-pan-sweep: heap used 72.4 MB 70.1 MB -3%
viewport-pan-sweep: DOM nodes -264 -261 -1%
viewport-pan-sweep: event listeners -113 -113 +0%
vue-large-graph-idle: avg frame time 17ms 17ms +0%
vue-large-graph-idle: p95 frame time 17ms 17ms +0%
vue-large-graph-idle: layout duration 0ms 0ms +0%
vue-large-graph-idle: style recalc duration 0ms 0ms +0%
vue-large-graph-idle: layout count 0 0 +0%
vue-large-graph-idle: style recalc count 0 0 +0%
vue-large-graph-idle: task duration 12762ms 12827ms +1%
vue-large-graph-idle: script duration 596ms 589ms -1%
vue-large-graph-idle: TBT 0ms 0ms +0%
vue-large-graph-idle: heap used 162.8 MB 163.3 MB +0%
vue-large-graph-idle: DOM nodes -8331 -8331 +0%
vue-large-graph-idle: event listeners -16466 -16464 -0%
vue-large-graph-pan: avg frame time 17ms 17ms +0%
vue-large-graph-pan: p95 frame time 17ms 17ms +0%
vue-large-graph-pan: layout duration 0ms 0ms +0%
vue-large-graph-pan: style recalc duration 18ms 18ms -1%
vue-large-graph-pan: layout count 0 0 +0%
vue-large-graph-pan: style recalc count 70 73 +4%
vue-large-graph-pan: task duration 15121ms 15199ms +1%
vue-large-graph-pan: script duration 867ms 873ms +1%
vue-large-graph-pan: TBT 0ms 0ms +0%
vue-large-graph-pan: heap used 153.0 MB 155.7 MB +2%
vue-large-graph-pan: DOM nodes -8329 -8331 +0%
vue-large-graph-pan: event listeners -16488 -16488 +0%
workflow-execution: avg frame time 17ms 17ms -0% z=-0.4
workflow-execution: p95 frame time 17ms 17ms +0%
workflow-execution: layout duration 2ms 2ms -13% z=0.2
workflow-execution: style recalc duration 23ms 22ms -3% z=-0.9
workflow-execution: layout count 4 5 +25% z=0.1
workflow-execution: style recalc count 18 17 -6% z=-0.4
workflow-execution: task duration 116ms 126ms +9% z=0.3
workflow-execution: script duration 23ms 25ms +10% z=-1.3
workflow-execution: TBT 0ms 0ms +0%
workflow-execution: heap used 52.9 MB 51.2 MB -3%
workflow-execution: DOM nodes 157 157 +0% z=-0.5
workflow-execution: event listeners 69 69 +0% z=3.9
Historical variance (last 15 runs)
Metric μ σ CV
canvas-idle: avg frame time 17ms 0ms 0.0%
canvas-idle: layout duration 0ms 0ms 0.0%
canvas-idle: style recalc duration 11ms 1ms 8.2%
canvas-idle: layout count 0 0 0.0%
canvas-idle: style recalc count 11 1 5.0%
canvas-idle: task duration 395ms 31ms 7.9%
canvas-idle: script duration 25ms 2ms 8.8%
canvas-idle: TBT 0ms 0ms 0.0%
canvas-idle: DOM nodes 23 1 5.6%
canvas-idle: event listeners 12 5 40.9%
canvas-mouse-sweep: avg frame time 17ms 0ms 0.0%
canvas-mouse-sweep: layout duration 4ms 0ms 5.4%
canvas-mouse-sweep: style recalc duration 43ms 3ms 7.4%
canvas-mouse-sweep: layout count 12 0 0.0%
canvas-mouse-sweep: style recalc count 79 2 3.0%
canvas-mouse-sweep: task duration 865ms 58ms 6.7%
canvas-mouse-sweep: script duration 136ms 6ms 4.8%
canvas-mouse-sweep: TBT 0ms 0ms 0.0%
canvas-mouse-sweep: DOM nodes 62 3 4.2%
canvas-mouse-sweep: event listeners 8 4 49.4%
canvas-zoom-sweep: avg frame time 17ms 0ms 0.0%
canvas-zoom-sweep: layout duration 1ms 0ms 7.0%
canvas-zoom-sweep: style recalc duration 19ms 2ms 8.0%
canvas-zoom-sweep: layout count 6 0 0.0%
canvas-zoom-sweep: style recalc count 31 0 1.5%
canvas-zoom-sweep: task duration 327ms 23ms 7.1%
canvas-zoom-sweep: script duration 27ms 3ms 11.1%
canvas-zoom-sweep: TBT 0ms 0ms 0.0%
canvas-zoom-sweep: DOM nodes 79 1 1.0%
canvas-zoom-sweep: event listeners 24 5 21.8%
dom-widget-clipping: avg frame time 17ms 0ms 0.0%
dom-widget-clipping: layout duration 0ms 0ms 0.0%
dom-widget-clipping: style recalc duration 10ms 1ms 8.0%
dom-widget-clipping: layout count 0 0 0.0%
dom-widget-clipping: style recalc count 13 0 3.8%
dom-widget-clipping: task duration 365ms 16ms 4.5%
dom-widget-clipping: script duration 68ms 3ms 4.8%
dom-widget-clipping: TBT 0ms 0ms 0.0%
dom-widget-clipping: DOM nodes 22 1 6.4%
dom-widget-clipping: event listeners 8 6 81.2%
large-graph-idle: avg frame time 17ms 0ms 0.0%
large-graph-idle: layout duration 0ms 0ms 0.0%
large-graph-idle: style recalc duration 12ms 1ms 8.6%
large-graph-idle: layout count 0 0 0.0%
large-graph-idle: style recalc count 12 0 2.7%
large-graph-idle: task duration 542ms 54ms 10.0%
large-graph-idle: script duration 102ms 11ms 10.3%
large-graph-idle: TBT 0ms 0ms 0.0%
large-graph-idle: DOM nodes 25 1 3.7%
large-graph-idle: event listeners 26 6 23.2%
large-graph-pan: avg frame time 17ms 0ms 0.0%
large-graph-pan: layout duration 0ms 0ms 0.0%
large-graph-pan: style recalc duration 17ms 1ms 4.6%
large-graph-pan: layout count 0 0 0.0%
large-graph-pan: style recalc count 70 1 0.9%
large-graph-pan: task duration 1082ms 43ms 4.0%
large-graph-pan: script duration 408ms 20ms 4.8%
large-graph-pan: TBT 0ms 0ms 0.0%
large-graph-pan: DOM nodes 19 2 8.7%
large-graph-pan: event listeners 5 1 16.8%
minimap-idle: avg frame time 17ms 0ms 0.0%
minimap-idle: layout duration 0ms 0ms 0.0%
minimap-idle: style recalc duration 10ms 1ms 8.6%
minimap-idle: layout count 0 0 0.0%
minimap-idle: style recalc count 10 1 7.1%
minimap-idle: task duration 527ms 47ms 9.0%
minimap-idle: script duration 98ms 10ms 10.1%
minimap-idle: TBT 0ms 0ms 0.0%
minimap-idle: DOM nodes 19 1 7.1%
minimap-idle: event listeners 5 1 14.4%
subgraph-dom-widget-clipping: avg frame time 17ms 0ms 0.0%
subgraph-dom-widget-clipping: layout duration 0ms 0ms 0.0%
subgraph-dom-widget-clipping: style recalc duration 13ms 1ms 7.4%
subgraph-dom-widget-clipping: layout count 0 0 0.0%
subgraph-dom-widget-clipping: style recalc count 48 1 1.2%
subgraph-dom-widget-clipping: task duration 378ms 18ms 4.9%
subgraph-dom-widget-clipping: script duration 128ms 6ms 4.9%
subgraph-dom-widget-clipping: TBT 0ms 0ms 0.0%
subgraph-dom-widget-clipping: DOM nodes 22 1 5.0%
subgraph-dom-widget-clipping: event listeners 16 6 36.0%
subgraph-idle: avg frame time 17ms 0ms 0.0%
subgraph-idle: layout duration 0ms 0ms 0.0%
subgraph-idle: style recalc duration 10ms 1ms 7.5%
subgraph-idle: layout count 0 0 0.0%
subgraph-idle: style recalc count 11 1 6.0%
subgraph-idle: task duration 370ms 31ms 8.5%
subgraph-idle: script duration 20ms 3ms 13.2%
subgraph-idle: TBT 0ms 0ms 0.0%
subgraph-idle: DOM nodes 22 1 6.9%
subgraph-idle: event listeners 10 7 64.5%
subgraph-mouse-sweep: avg frame time 17ms 0ms 0.0%
subgraph-mouse-sweep: layout duration 5ms 0ms 6.8%
subgraph-mouse-sweep: style recalc duration 42ms 3ms 7.8%
subgraph-mouse-sweep: layout count 16 0 0.0%
subgraph-mouse-sweep: style recalc count 80 2 2.4%
subgraph-mouse-sweep: task duration 766ms 69ms 9.0%
subgraph-mouse-sweep: script duration 101ms 7ms 6.5%
subgraph-mouse-sweep: TBT 0ms 0ms 0.0%
subgraph-mouse-sweep: DOM nodes 67 2 3.3%
subgraph-mouse-sweep: event listeners 8 4 52.6%
workflow-execution: avg frame time 17ms 0ms 0.0%
workflow-execution: layout duration 2ms 0ms 9.4%
workflow-execution: style recalc duration 24ms 2ms 9.1%
workflow-execution: layout count 5 1 11.0%
workflow-execution: style recalc count 18 2 11.5%
workflow-execution: task duration 123ms 11ms 8.8%
workflow-execution: script duration 29ms 3ms 10.2%
workflow-execution: TBT 0ms 0ms 0.0%
workflow-execution: DOM nodes 161 7 4.4%
workflow-execution: event listeners 52 4 8.4%
Trend (last 15 commits on main)
Metric Trend Dir Latest
canvas-idle: avg frame time ▆▃▆▁▆▃▆█▆▆▄▃▃▄▃ ➡️ 17ms
canvas-idle: p95 frame time ➡️ NaNms
canvas-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-idle: style recalc duration ▇▇▆▆▃█▄▃▄▃▇▄▁▆▇ ➡️ 11ms
canvas-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
canvas-idle: style recalc count █▃▅▂▅▆▃▁▂▁▂▅▆▅▆ ➡️ 12
canvas-idle: task duration ▃▃▃▆▂▃▃▅▆▂█▃▁▃▃ ➡️ 391ms
canvas-idle: script duration ▄▃▅▇▂▅▃▆▇▅█▄▁▅▆ ➡️ 27ms
canvas-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-idle: heap used ➡️ NaN MB
canvas-idle: DOM nodes █▇▆▅▃▇▃▁▂▂▅▆▆▆▇ ➡️ 24
canvas-idle: event listeners ▅█▅▄▁▅▁▁▁▄▅▅▁▅▄ 📉 11
canvas-mouse-sweep: avg frame time ▆█▆▃▁▃▁▆▆▁▃▆▆▃▃ ➡️ 17ms
canvas-mouse-sweep: p95 frame time ➡️ NaNms
canvas-mouse-sweep: layout duration ▁▃▂▄▁▂▁▃▆▂█▇▆▄▃ ➡️ 4ms
canvas-mouse-sweep: style recalc duration ▄▄▂▄▁▂▃▃▅▄█▆▂▄▄ ➡️ 43ms
canvas-mouse-sweep: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 12
canvas-mouse-sweep: style recalc count █▅▄▃▂▂▁▄▄▅▆▅▂▇▄ ➡️ 79
canvas-mouse-sweep: task duration █▆▄▂▂▃▂▄▄▅█▆▁▆▄ ➡️ 868ms
canvas-mouse-sweep: script duration ▄▅▄▆▄▆▆▆▅▅█▆▁▅▆ ➡️ 139ms
canvas-mouse-sweep: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-mouse-sweep: heap used ➡️ NaN MB
canvas-mouse-sweep: DOM nodes █▅▃▃▁▂▂▃▂▄▆▅▃▅▅ ➡️ 64
canvas-mouse-sweep: event listeners █▁▁▁▁▁▇▁▁▁██▇▁█ 📈 13
canvas-zoom-sweep: avg frame time ▅▅█▄▅▁▁▁▅▁▁▅▄▅▁ ➡️ 17ms
canvas-zoom-sweep: p95 frame time ➡️ NaNms
canvas-zoom-sweep: layout duration ▆▅▅▄▁▁█▅▃▅▇▆▁▂▆ ➡️ 1ms
canvas-zoom-sweep: style recalc duration ▆▅▄▆▅▃█▆▇▅▇▄▁▃▅ ➡️ 20ms
canvas-zoom-sweep: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 6
canvas-zoom-sweep: style recalc count ▁▁▃▄▆▃▆█▄▄▆▁▆▁▆ ➡️ 32
canvas-zoom-sweep: task duration ▄▂▁▇▂▂▄▅▆▃█▄▁▁▅ ➡️ 338ms
canvas-zoom-sweep: script duration ▃▃▂▇▂▂▅▇▆▅█▄▁▂▆ ➡️ 30ms
canvas-zoom-sweep: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-zoom-sweep: heap used ➡️ NaN MB
canvas-zoom-sweep: DOM nodes ▄▃▁▅█▁▃▆▄▅▅▃▃▄▃ ➡️ 79
canvas-zoom-sweep: event listeners ▁▁▂▅█▂▁▅▁▅▅▄▁▅▁ ➡️ 19
dom-widget-clipping: avg frame time ▂▄▅▅▂▄█▇▅▇▇▅▅▁▇ ➡️ 17ms
dom-widget-clipping: p95 frame time ➡️ NaNms
dom-widget-clipping: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
dom-widget-clipping: style recalc duration ▆▆▂▆▄▃██▄▁▆▇▆▃▅ ➡️ 10ms
dom-widget-clipping: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
dom-widget-clipping: style recalc count ▇█▅█▅▄█▇▇▁▇▄▇▂▅ ➡️ 13
dom-widget-clipping: task duration ▃▃▁▅▄▃▅▆▅▂▇█▁▅▅ ➡️ 371ms
dom-widget-clipping: script duration ▅▄▄▆▆▅▇▇▆▃█▇▁▇▇ ➡️ 71ms
dom-widget-clipping: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
dom-widget-clipping: heap used ➡️ NaN MB
dom-widget-clipping: DOM nodes ▇▇▄▇▅▄█▇▅▁▅▄▇▃▄ ➡️ 21
dom-widget-clipping: event listeners ▅▅▅▅▁▅██▁▁▁▁█▁▁ 📉 2
large-graph-idle: avg frame time ▅▅▅▅▅▂▁▂▄▅▄▂▂▅█ ➡️ 17ms
large-graph-idle: p95 frame time ➡️ NaNms
large-graph-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-idle: style recalc duration ▅▅▅▆▄▅▃▄▅▅▆█▁▄▆ ➡️ 13ms
large-graph-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
large-graph-idle: style recalc count █▆█▃▃▁▃▆▃▆▆▃▆██ ➡️ 12
large-graph-idle: task duration ▂▃▂▆▂▃▃▇▅▃██▁▂▅ ➡️ 569ms
large-graph-idle: script duration ▄▅▄▆▄▅▅▇▆▅█▆▁▃▆ ➡️ 110ms
large-graph-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-idle: heap used ➡️ NaN MB
large-graph-idle: DOM nodes ▆█▅▂▅▃▁▂▃▅▅▆▂▆▅ ➡️ 25
large-graph-idle: event listeners ███▇██▄▁▄▇▇█▂█▇ ➡️ 29
large-graph-pan: avg frame time ▆▃▃▆█▃▁█▆▆▆▆█▁▆ ➡️ 17ms
large-graph-pan: p95 frame time ➡️ NaNms
large-graph-pan: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-pan: style recalc duration ▃▂▄▄▁▅▂▂▁▄▄█▃▁▂ ➡️ 17ms
large-graph-pan: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
large-graph-pan: style recalc count ▆▃█▂▃▂▂▂▁▇▅▃█▆▃ ➡️ 69
large-graph-pan: task duration ▄▃▄▆▄▄▄▆▄▄█▆▁▂▅ ➡️ 1100ms
large-graph-pan: script duration ▅▄▅▆▆▅▄▆▄▅█▄▁▄▅ ➡️ 413ms
large-graph-pan: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-pan: heap used ➡️ NaN MB
large-graph-pan: DOM nodes ▅▃▆▂▄▁▃▁▁▅▁▂█▅▂ ➡️ 18
large-graph-pan: event listeners █▆█▁▁▆▁▁▃▆▁▃██▃ ➡️ 5
minimap-idle: avg frame time ▃▆▆▃█▁█▆▆▃▃▆█▆█ ➡️ 17ms
minimap-idle: p95 frame time ➡️ NaNms
minimap-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
minimap-idle: style recalc duration ▄█▁█▅▅█▅▅▃▅▁▁▄▆ ➡️ 10ms
minimap-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
minimap-idle: style recalc count ▃▅▂▄█▃▆▁▂▅▂▁▅▆▃ ➡️ 9
minimap-idle: task duration ▃▄▁▅▁▃▄▅▇▃█▅▁▁▅ ➡️ 547ms
minimap-idle: script duration ▄▆▃▇▃▅▆▆▇▅█▅▁▃▆ ➡️ 106ms
minimap-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
minimap-idle: heap used ➡️ NaN MB
minimap-idle: DOM nodes ▃▅▂▄█▃▆▁▂▅▂▁▅▆▃ ➡️ 19
minimap-idle: event listeners ▃▃▆▁▁▁▃▁▁▆▁▃█▆▁ ➡️ 4
subgraph-dom-widget-clipping: avg frame time ▅▄▄▄▄▄█▄▄▄▃▁▆▃▃ ➡️ 17ms
subgraph-dom-widget-clipping: p95 frame time ➡️ NaNms
subgraph-dom-widget-clipping: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-dom-widget-clipping: style recalc duration ▂▄▃▅▅▃▂▅▇▃▄█▁▄▆ ➡️ 14ms
subgraph-dom-widget-clipping: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
subgraph-dom-widget-clipping: style recalc count ▇█▆▃▆▃▁▆█▇▃▆▇█▅ ➡️ 48
subgraph-dom-widget-clipping: task duration ▂▃▃▆▅▅▂▅█▂▆█▁▂▇ ➡️ 398ms
subgraph-dom-widget-clipping: script duration ▃▃▃▄▅▅▂▄█▂▅▇▁▂▅ ➡️ 131ms
subgraph-dom-widget-clipping: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-dom-widget-clipping: heap used ➡️ NaN MB
subgraph-dom-widget-clipping: DOM nodes ▅▇▅▂▅▂▁▅▅▅▁▇▅█▄ ➡️ 22
subgraph-dom-widget-clipping: event listeners ▅▅▅▂▅▁▅██▁▁█▅█▅ 📈 16
subgraph-idle: avg frame time ▆▆█▁▆▃▆▆▆▃▆▁▃▆█ ➡️ 17ms
subgraph-idle: p95 frame time ➡️ NaNms
subgraph-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-idle: style recalc duration ▁▇▃▆▂▄▂▃▃▆▆▄▃▇█ ➡️ 12ms
subgraph-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
subgraph-idle: style recalc count ▃▆▃▃▂▅▁▂▁▆▃▃██▇ ➡️ 12
subgraph-idle: task duration ▁▃▁▇▁▁▃▆▅▂█▅▁▁▄ ➡️ 378ms
subgraph-idle: script duration ▁▃▂▇▁▂▃▇▆▂█▅▂▁▅ ➡️ 22ms
subgraph-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-idle: heap used ➡️ NaN MB
subgraph-idle: DOM nodes ▃▅▃▂▁▄▁▂▁▅▃▂▇█▇ ➡️ 24
subgraph-idle: event listeners ▁▅▁▁▁▁▁▁▁▅▄▁███ 📈 21
subgraph-mouse-sweep: avg frame time ▅▄▁▃▃▄▆▄▆▃▃█▁▃▃ ➡️ 17ms
subgraph-mouse-sweep: p95 frame time ➡️ NaNms
subgraph-mouse-sweep: layout duration ▁▄▄▄▃▃▅▅▅▂█▇▂▃▆ ➡️ 5ms
subgraph-mouse-sweep: style recalc duration ▃▂▄▅▂▃▄▅█▃█▆▁▂▅ ➡️ 43ms
subgraph-mouse-sweep: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 16
subgraph-mouse-sweep: style recalc count ▅▂▅▅▁▄▃▅█▅▆▄▂▄▅ ➡️ 81
subgraph-mouse-sweep: task duration ▃▂▄▅▂▄▄▅▇▄█▆▁▃▅ ➡️ 785ms
subgraph-mouse-sweep: script duration ▄▅▄▇▅▅▆▇▆▅██▁▄▆ ➡️ 105ms
subgraph-mouse-sweep: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-mouse-sweep: heap used ➡️ NaN MB
subgraph-mouse-sweep: DOM nodes ▅▁▄▅▁▄▃▃█▅▅▄▂▅▃ ➡️ 66
subgraph-mouse-sweep: event listeners ▇▁▂▇▁▂▂▂█▇▂▂▇▇▂ 📈 5
workflow-execution: avg frame time ▆▆▆▄▆▆▃▄▁▄█▆▅▄▆ ➡️ 17ms
workflow-execution: p95 frame time ➡️ NaNms
workflow-execution: layout duration ▁▆▁▃▂▄▃▂▃▃▅█▄▂▅ ➡️ 2ms
workflow-execution: style recalc duration ▃▇▅▇▁▅▆▇█▁██▂▄▆ ➡️ 25ms
workflow-execution: layout count ▁█▂▃▂▃▃▁▃▃▄▃▂▃▂ ➡️ 5
workflow-execution: style recalc count ▃█▅▇▁▄▅▆▅▅▅▅▄▄▂ ➡️ 15
workflow-execution: task duration ▂▅▄▅▁▄▆▆▆▁▇█▁▃▃ ➡️ 120ms
workflow-execution: script duration ▄▃▄▄▃▅▄▅▆▂▇█▁▃▄ ➡️ 29ms
workflow-execution: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
workflow-execution: heap used ➡️ NaN MB
workflow-execution: DOM nodes ▂█▃▆▁▄▃▅▃█▃▃▄▃▁ ➡️ 152
workflow-execution: event listeners ▅███▁▅███▁██▅█▅ ➡️ 49
Raw data
{
  "timestamp": "2026-05-04T03:18:54.207Z",
  "gitSha": "c4c01f8871373892473ac4205499bca433da3860",
  "branch": "glary/raise-cloud-batch-count-limit-100",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2034.3659999999772,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.415000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 363.602,
      "heapDeltaBytes": 23691904,
      "heapUsedBytes": 73068444,
      "domNodes": 16,
      "jsHeapTotalBytes": 14680064,
      "scriptDurationMs": 17.897000000000002,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "canvas-idle",
      "durationMs": 2021.639999999934,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 8.395,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 356.906,
      "heapDeltaBytes": 23382412,
      "heapUsedBytes": 71453400,
      "domNodes": 20,
      "jsHeapTotalBytes": 14942208,
      "scriptDurationMs": 22.235999999999997,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "canvas-idle",
      "durationMs": 2034.7779999999602,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.193000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 391.132,
      "heapDeltaBytes": 23029588,
      "heapUsedBytes": 71320200,
      "domNodes": 18,
      "jsHeapTotalBytes": 14942208,
      "scriptDurationMs": 19.997,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 2010.3349999999978,
      "styleRecalcs": 79,
      "styleRecalcDurationMs": 48.311,
      "layouts": 12,
      "layoutDurationMs": 4.199,
      "taskDurationMs": 934.461,
      "heapDeltaBytes": 1515688,
      "heapUsedBytes": 49215464,
      "domNodes": -261,
      "jsHeapTotalBytes": 15331328,
      "scriptDurationMs": 141.149,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1789.623000000006,
      "styleRecalcs": 72,
      "styleRecalcDurationMs": 36.664,
      "layouts": 12,
      "layoutDurationMs": 3.438,
      "taskDurationMs": 798.15,
      "heapDeltaBytes": -2125952,
      "heapUsedBytes": 46215780,
      "domNodes": -265,
      "jsHeapTotalBytes": 15331328,
      "scriptDurationMs": 120.90500000000002,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1868.714999999952,
      "styleRecalcs": 73,
      "styleRecalcDurationMs": 37.729,
      "layouts": 12,
      "layoutDurationMs": 3.9140000000000006,
      "taskDurationMs": 812.032,
      "heapDeltaBytes": 3597436,
      "heapUsedBytes": 51871212,
      "domNodes": -264,
      "jsHeapTotalBytes": 14544896,
      "scriptDurationMs": 122.34500000000001,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1747.2060000000056,
      "styleRecalcs": 31,
      "styleRecalcDurationMs": 16.987999999999996,
      "layouts": 6,
      "layoutDurationMs": 0.7309999999999999,
      "taskDurationMs": 300.23299999999995,
      "heapDeltaBytes": 217276,
      "heapUsedBytes": 48868916,
      "domNodes": 75,
      "jsHeapTotalBytes": 15466496,
      "scriptDurationMs": 24.883000000000003,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1733.1959999999071,
      "styleRecalcs": 31,
      "styleRecalcDurationMs": 16.495999999999995,
      "layouts": 6,
      "layoutDurationMs": 0.5820000000000001,
      "taskDurationMs": 305.574,
      "heapDeltaBytes": 102028,
      "heapUsedBytes": 48466036,
      "domNodes": 76,
      "jsHeapTotalBytes": 15728640,
      "scriptDurationMs": 20.564,
      "eventListeners": 21,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1722.2040000000334,
      "styleRecalcs": 31,
      "styleRecalcDurationMs": 16.919000000000004,
      "layouts": 6,
      "layoutDurationMs": 0.5939999999999999,
      "taskDurationMs": 284.30899999999997,
      "heapDeltaBytes": 168876,
      "heapUsedBytes": 48816500,
      "domNodes": 76,
      "jsHeapTotalBytes": 14942208,
      "scriptDurationMs": 21.134,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 594.0519999999765,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 7.533000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 361.1259999999999,
      "heapDeltaBytes": 9147116,
      "heapUsedBytes": 57874692,
      "domNodes": 16,
      "jsHeapTotalBytes": 16252928,
      "scriptDurationMs": 58.96699999999999,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 536.2760000000435,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 6.8229999999999995,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 316.531,
      "heapDeltaBytes": 9154208,
      "heapUsedBytes": 58450488,
      "domNodes": 16,
      "jsHeapTotalBytes": 14942208,
      "scriptDurationMs": 53.205,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999727
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 584.3340000000126,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 6.978999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 324.023,
      "heapDeltaBytes": 9119496,
      "heapUsedBytes": 57458464,
      "domNodes": 17,
      "jsHeapTotalBytes": 14942208,
      "scriptDurationMs": 61.321,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999727
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2011.618999999996,
      "styleRecalcs": 7,
      "styleRecalcDurationMs": 6.547999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 603.007,
      "heapDeltaBytes": 14425140,
      "heapUsedBytes": 72829776,
      "domNodes": -264,
      "jsHeapTotalBytes": 552960,
      "scriptDurationMs": 95.853,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2023.360999999909,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.634000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 532.7700000000001,
      "heapDeltaBytes": 4255300,
      "heapUsedBytes": 62223636,
      "domNodes": -265,
      "jsHeapTotalBytes": 1077248,
      "scriptDurationMs": 86.132,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2013.1569999999783,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.142,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 520.6659999999999,
      "heapDeltaBytes": 5069400,
      "heapUsedBytes": 63530528,
      "domNodes": -262,
      "jsHeapTotalBytes": 28672,
      "scriptDurationMs": 79.399,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2132.8940000000216,
      "styleRecalcs": 67,
      "styleRecalcDurationMs": 17.296000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1045.8890000000001,
      "heapDeltaBytes": 6191440,
      "heapUsedBytes": 65483252,
      "domNodes": -266,
      "jsHeapTotalBytes": 233472,
      "scriptDurationMs": 365.096,
      "eventListeners": -127,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2145.07500000002,
      "styleRecalcs": 67,
      "styleRecalcDurationMs": 17.538999999999994,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1062.049,
      "heapDeltaBytes": 3248280,
      "heapUsedBytes": 62631256,
      "domNodes": -266,
      "jsHeapTotalBytes": 757760,
      "scriptDurationMs": 372.81399999999996,
      "eventListeners": -127,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2112.3209999999517,
      "styleRecalcs": 68,
      "styleRecalcDurationMs": 17.557999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1035.574,
      "heapDeltaBytes": -1417500,
      "heapUsedBytes": 58155952,
      "domNodes": -266,
      "jsHeapTotalBytes": 6262784,
      "scriptDurationMs": 359.908,
      "eventListeners": -127,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3163.8289999999643,
      "styleRecalcs": 64,
      "styleRecalcDurationMs": 18.469999999999995,
      "layouts": 60,
      "layoutDurationMs": 7.924,
      "taskDurationMs": 1382.106,
      "heapDeltaBytes": -2512668,
      "heapUsedBytes": 58605720,
      "domNodes": -270,
      "jsHeapTotalBytes": 290816,
      "scriptDurationMs": 538.218,
      "eventListeners": -125,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3084.8479999999654,
      "styleRecalcs": 64,
      "styleRecalcDurationMs": 17.477999999999998,
      "layouts": 60,
      "layoutDurationMs": 8.041,
      "taskDurationMs": 1288.3029999999999,
      "heapDeltaBytes": -7798520,
      "heapUsedBytes": 53368476,
      "domNodes": -268,
      "jsHeapTotalBytes": 815104,
      "scriptDurationMs": 472.56899999999996,
      "eventListeners": -125,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3118.64700000001,
      "styleRecalcs": 64,
      "styleRecalcDurationMs": 17.949999999999996,
      "layouts": 60,
      "layoutDurationMs": 7.9719999999999995,
      "taskDurationMs": 1295.5330000000001,
      "heapDeltaBytes": 10679792,
      "heapUsedBytes": 72245900,
      "domNodes": -267,
      "jsHeapTotalBytes": 5328896,
      "scriptDurationMs": 470.09399999999994,
      "eventListeners": -127,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "minimap-idle",
      "durationMs": 2022.4059999999895,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 8.150999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 551.066,
      "heapDeltaBytes": 11486448,
      "heapUsedBytes": 71650976,
      "domNodes": -265,
      "jsHeapTotalBytes": 28672,
      "scriptDurationMs": 88.671,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "minimap-idle",
      "durationMs": 2033.7070000000494,
      "styleRecalcs": 7,
      "styleRecalcDurationMs": 6.666000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 610.239,
      "heapDeltaBytes": 6833888,
      "heapUsedBytes": 67002120,
      "domNodes": -265,
      "jsHeapTotalBytes": 815104,
      "scriptDurationMs": 98.786,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "minimap-idle",
      "durationMs": 2029.05300000009,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.5210000000000035,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 522.576,
      "heapDeltaBytes": 3357456,
      "heapUsedBytes": 63586280,
      "domNodes": -265,
      "jsHeapTotalBytes": -233472,
      "scriptDurationMs": 79.36500000000002,
      "eventListeners": -129,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 535.9770000000026,
      "styleRecalcs": 46,
      "styleRecalcDurationMs": 10.982000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 344.53099999999995,
      "heapDeltaBytes": 9166780,
      "heapUsedBytes": 57790976,
      "domNodes": 18,
      "jsHeapTotalBytes": 15728640,
      "scriptDurationMs": 118.739,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.663333333333338,
      "p95FrameDurationMs": 16.700000000000273
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 566.0769999999502,
      "styleRecalcs": 47,
      "styleRecalcDurationMs": 11.233,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 373.60800000000006,
      "heapDeltaBytes": -11263556,
      "heapUsedBytes": 57259852,
      "domNodes": 20,
      "jsHeapTotalBytes": 18444288,
      "scriptDurationMs": 123.837,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000273
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 574.4480000000749,
      "styleRecalcs": 45,
      "styleRecalcDurationMs": 10.249,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 356.30600000000004,
      "heapDeltaBytes": 9365564,
      "heapUsedBytes": 58026060,
      "domNodes": 16,
      "jsHeapTotalBytes": 15990784,
      "scriptDurationMs": 120.751,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.669999999999998,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2002.8409999999894,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.843,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 353.368,
      "heapDeltaBytes": 22513464,
      "heapUsedBytes": 70917912,
      "domNodes": 18,
      "jsHeapTotalBytes": 14417920,
      "scriptDurationMs": 14.526000000000003,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 1996.599999999944,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 6.747,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 355.18499999999995,
      "heapDeltaBytes": 23333176,
      "heapUsedBytes": 71890808,
      "domNodes": 16,
      "jsHeapTotalBytes": 14942208,
      "scriptDurationMs": 14.571000000000007,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2006.4250000000357,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.264000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 352.17999999999995,
      "heapDeltaBytes": 22369476,
      "heapUsedBytes": 70945776,
      "domNodes": 18,
      "jsHeapTotalBytes": 14942208,
      "scriptDurationMs": 13.724999999999994,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1672.411000000011,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 36.427,
      "layouts": 16,
      "layoutDurationMs": 4.471,
      "taskDurationMs": 649.517,
      "heapDeltaBytes": 14774724,
      "heapUsedBytes": 63443916,
      "domNodes": 60,
      "jsHeapTotalBytes": 15204352,
      "scriptDurationMs": 90.887,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1975.0719999999546,
      "styleRecalcs": 83,
      "styleRecalcDurationMs": 43.368,
      "layouts": 16,
      "layoutDurationMs": 4.369000000000001,
      "taskDurationMs": 927.476,
      "heapDeltaBytes": 1232676,
      "heapUsedBytes": 49930840,
      "domNodes": -262,
      "jsHeapTotalBytes": 14807040,
      "scriptDurationMs": 93.793,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1741.991999999982,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 35.099,
      "layouts": 16,
      "layoutDurationMs": 4.3309999999999995,
      "taskDurationMs": 700.539,
      "heapDeltaBytes": -5214120,
      "heapUsedBytes": 43380976,
      "domNodes": 62,
      "jsHeapTotalBytes": 14807040,
      "scriptDurationMs": 92.43799999999999,
      "eventListeners": -131,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8199.644999999975,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 57.593,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4059.7320000000004,
      "heapDeltaBytes": 19141876,
      "heapUsedBytes": 77648828,
      "domNodes": -261,
      "jsHeapTotalBytes": 10719232,
      "scriptDurationMs": 1462.447,
      "eventListeners": -113,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.80000000000109
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8116.581999999994,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 56.653999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 3568.825,
      "heapDeltaBytes": 13413584,
      "heapUsedBytes": 71587960,
      "domNodes": -259,
      "jsHeapTotalBytes": 2592768,
      "scriptDurationMs": 1158.5320000000002,
      "eventListeners": -113,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8155.997999999954,
      "styleRecalcs": 249,
      "styleRecalcDurationMs": 54.580999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 3480.1769999999997,
      "heapDeltaBytes": 15240948,
      "heapUsedBytes": 73516660,
      "domNodes": -262,
      "jsHeapTotalBytes": 2330624,
      "scriptDurationMs": 1154.4379999999999,
      "eventListeners": -113,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 12839.223000000004,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 12826.535,
      "heapDeltaBytes": -32785692,
      "heapUsedBytes": 158005468,
      "domNodes": -8329,
      "jsHeapTotalBytes": 23130112,
      "scriptDurationMs": 582.853,
      "eventListeners": -16464,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 12934.837000000016,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 12915.755000000001,
      "heapDeltaBytes": -34709252,
      "heapUsedBytes": 178783396,
      "domNodes": -8335,
      "jsHeapTotalBytes": 24702976,
      "scriptDurationMs": 589.375,
      "eventListeners": -16464,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.223333333333358,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 12449.817000000054,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 12423.055000000002,
      "heapDeltaBytes": -31871976,
      "heapUsedBytes": 171205460,
      "domNodes": -8331,
      "jsHeapTotalBytes": 23130112,
      "scriptDurationMs": 619.255,
      "eventListeners": -16464,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.220000000000073,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 15233.602000000019,
      "styleRecalcs": 73,
      "styleRecalcDurationMs": 18.118999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 15198.806,
      "heapDeltaBytes": -18660044,
      "heapUsedBytes": 180787736,
      "domNodes": -8331,
      "jsHeapTotalBytes": -1597440,
      "scriptDurationMs": 892.0480000000001,
      "eventListeners": -16488,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.223333333333358,
      "p95FrameDurationMs": 16.80000000000291
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 15544.03000000002,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 19.25300000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 15520.883000000002,
      "heapDeltaBytes": -47691184,
      "heapUsedBytes": 153185780,
      "domNodes": -8329,
      "jsHeapTotalBytes": 1634304,
      "scriptDurationMs": 873.2189999999999,
      "eventListeners": -16490,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.77333333333336,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 14736.053999999967,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 17.375999999999948,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 14705.933,
      "heapDeltaBytes": -40533744,
      "heapUsedBytes": 163288540,
      "domNodes": -8331,
      "jsHeapTotalBytes": -724992,
      "scriptDurationMs": 871.899,
      "eventListeners": -16488,
      "totalBlockingTimeMs": 55,
      "frameDurationMs": 17.223333333333358,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "workflow-execution",
      "durationMs": 459.6009999999069,
      "styleRecalcs": 17,
      "styleRecalcDurationMs": 26.41,
      "layouts": 6,
      "layoutDurationMs": 1.787,
      "taskDurationMs": 125.70700000000001,
      "heapDeltaBytes": 5306524,
      "heapUsedBytes": 55641744,
      "domNodes": 164,
      "jsHeapTotalBytes": 524288,
      "scriptDurationMs": 25.12799999999999,
      "eventListeners": 69,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999727
    },
    {
      "name": "workflow-execution",
      "durationMs": 124.21499999993557,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 19.143,
      "layouts": 5,
      "layoutDurationMs": 1.571,
      "taskDurationMs": 95.54299999999999,
      "heapDeltaBytes": 3375136,
      "heapUsedBytes": 53708812,
      "domNodes": 144,
      "jsHeapTotalBytes": 0,
      "scriptDurationMs": 19.528,
      "eventListeners": 37,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000273
    },
    {
      "name": "workflow-execution",
      "durationMs": 474.49700000004214,
      "styleRecalcs": 17,
      "styleRecalcDurationMs": 22.333,
      "layouts": 5,
      "layoutDurationMs": 1.311,
      "taskDurationMs": 142.381,
      "heapDeltaBytes": -15059768,
      "heapUsedBytes": 51779204,
      "domNodes": 157,
      "jsHeapTotalBytes": 5861376,
      "scriptDurationMs": 27.480999999999998,
      "eventListeners": 69,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.663333333333338,
      "p95FrameDurationMs": 16.700000000000273
    }
  ]
}

@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@             Coverage Diff             @@
##             main   #11876       +/-   ##
===========================================
- Coverage   71.79%   55.96%   -15.83%     
===========================================
  Files        1492     1383      -109     
  Lines       85011    70621    -14390     
  Branches    23233    18757     -4476     
===========================================
- Hits        61031    39523    -21508     
- Misses      23091    30571     +7480     
+ Partials      889      527      -362     
Flag Coverage Δ
e2e ?
unit 55.96% <ø> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/platform/settings/constants/coreSettings.ts 10.60% <ø> (-58.06%) ⬇️

... and 991 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@christian-byrne christian-byrne marked this pull request as ready for review May 4, 2026 05:57
@christian-byrne christian-byrne requested a review from a team May 4, 2026 05:57
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants