Skip to content

docs: clarify ECS node IDs are sequential integers, not UUIDs - #15722

Open
christian-byrne wants to merge 1 commit into
mainfrom
docs/FE-1814-ecs-node-ids-not-uuids
Open

docs: clarify ECS node IDs are sequential integers, not UUIDs#15722
christian-byrne wants to merge 1 commit into
mainfrom
docs/FE-1814-ecs-node-ids-not-uuids

Conversation

@christian-byrne

Copy link
Copy Markdown
Contributor

Summary

  • Fix misleading "UUID format" language in graphTraversalUtil.ts JSDoc — the NodeLocatorId format is <subgraph-definition-uuid>:<node-id> where the node ID is a sequential integer, not a UUID
  • Update test names in graphTraversalUtil.test.ts and nodeIdentification.test.ts to accurately describe what's being tested
  • Update architecture docs (ecs-target-architecture.md, ecs-migration-plan.md, proto-ecs-stores.md) to use subgraphUUID instead of ambiguous subgraphId in key format descriptions

Fixes FE-1814: ECS node IDs are not UUIDs — correct the docs that assume they are and the code that assumes they are.

(Re-opened from #15712 — branch was accidentally deleted by a failed merge command.)

Test plan

  • 138 tests in nodeIdentification.test.ts and graphTraversalUtil.test.ts pass
  • No logic changes — docs and test descriptions only

The NodeLocatorId format for subgraph nodes is <subgraph-definition-uuid>:<local-node-id>
where the subgraph UUID identifies the definition, and the node ID is a sequential
integer. Several comments, test descriptions, and architecture docs used ambiguous
'UUID format' or 'subgraphId' terminology that could lead readers to assume node IDs
themselves are UUIDs.
@christian-byrne
christian-byrne requested a review from a team August 23, 2026 08:59
@dosubot dosubot Bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Aug 23, 2026
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your current included review allowance is based on your included PR review attempts over the past 7 days.

Next review available in: 18 minutes

Limit details: You’ve used the included review currently available. Your 92 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 0f3a6549-a9db-4b25-9a5e-e688dec4c945

📥 Commits

Reviewing files that changed from the base of the PR and between 296fc5c and 74db372.

📒 Files selected for processing (6)
  • docs/architecture/ecs-migration-plan.md
  • docs/architecture/ecs-target-architecture.md
  • docs/architecture/proto-ecs-stores.md
  • src/types/nodeIdentification.test.ts
  • src/utils/graphTraversalUtil.test.ts
  • src/utils/graphTraversalUtil.ts

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

@github-actions

github-actions Bot commented Aug 23, 2026

Copy link
Copy Markdown

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 08/23/2026, 09:01:04 AM UTC

Links

🎭 Playwright: ✅ 1983 passed, 0 failed · 1 flaky

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

📦 Bundle: 9.11 MB gzip 🟢 -19 B

Details

Summary

  • Raw size: 38.6 MB baseline 38.6 MB — 🔴 +95 B
  • Gzip: 9.11 MB baseline 9.11 MB — 🟢 -19 B
  • Brotli: 6.37 MB baseline 6.37 MB — 🔴 +153 B
  • Bundles: 438 current • 438 baseline • 144 added / 144 removed

Category Glance
Data & Services 🔴 +95 B (3.53 MB) · Vendor & Third-Party ⚪ 0 B (18.1 MB) · Other ⚪ 0 B (14.1 MB) · Graph Workspace ⚪ 0 B (1.38 MB) · Panels & Settings ⚪ 0 B (591 kB) · Utilities & Hooks ⚪ 0 B (549 kB) · + 5 more

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

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-CT3Qv84J.js (removed) 3.71 kB 🟢 -3.71 kB 🟢 -1.86 kB 🟢 -1.6 kB
assets/index-CUN7fDIA.js (new) 3.71 kB 🔴 +3.71 kB 🔴 +1.86 kB 🔴 +1.61 kB

Status: 1 added / 1 removed

Graph Workspace — 1.38 MB (baseline 1.38 MB) • ⚪ 0 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView--IxSJJ-A.js (new) 1.37 MB 🔴 +1.37 MB 🔴 +299 kB 🔴 +225 kB
assets/GraphView-C49YWoR7.js (removed) 1.37 MB 🟢 -1.37 MB 🟢 -299 kB 🟢 -225 kB
assets/WidgetCompositor-6WJqAkCU.js (new) 8.17 kB 🔴 +8.17 kB 🔴 +2.76 kB 🔴 +2.45 kB
assets/WidgetCompositor-D51QtF2r.js (removed) 8.17 kB 🟢 -8.17 kB 🟢 -2.76 kB 🟢 -2.46 kB

Status: 2 added / 2 removed / 1 unchanged

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-BIw7Jdhd.js (new) 25 kB 🔴 +25 kB 🔴 +6.25 kB 🔴 +5.53 kB
assets/CloudSurveyView-eFZewUE2.js (removed) 25 kB 🟢 -25 kB 🟢 -6.25 kB 🟢 -5.52 kB
assets/CloudLayoutView-Bkj0U1oR.js (removed) 21.8 kB 🟢 -21.8 kB 🟢 -6.56 kB 🟢 -5.73 kB
assets/CloudLayoutView-CL-8oaUB.js (new) 21.8 kB 🔴 +21.8 kB 🔴 +6.56 kB 🔴 +5.74 kB
assets/UserCheckView-2j7Xz7aj.js (new) 8.75 kB 🔴 +8.75 kB 🔴 +2.19 kB 🔴 +1.9 kB
assets/UserCheckView-DzYOdjqw.js (removed) 8.75 kB 🟢 -8.75 kB 🟢 -2.19 kB 🟢 -1.9 kB
assets/CloudLoginView-CC6ZNO3G.js (removed) 8.74 kB 🟢 -8.74 kB 🟢 -2.55 kB 🟢 -2.27 kB
assets/CloudLoginView-CClY61HH.js (new) 8.74 kB 🔴 +8.74 kB 🔴 +2.55 kB 🔴 +2.26 kB
assets/useCloudAuthPage-DJCPHRCS.js (new) 7.08 kB 🔴 +7.08 kB 🔴 +2.51 kB 🔴 +2.19 kB
assets/useCloudAuthPage-DymeYcBG.js (removed) 7.08 kB 🟢 -7.08 kB 🟢 -2.51 kB 🟢 -2.2 kB
assets/CloudSignupView-CHucxqFv.js (new) 6.96 kB 🔴 +6.96 kB 🔴 +2.28 kB 🔴 +2 kB
assets/CloudSignupView-FjkZdd7q.js (removed) 6.96 kB 🟢 -6.96 kB 🟢 -2.28 kB 🟢 -2 kB
assets/WidgetTextPreview-BNCqUS6Y.js (removed) 6.07 kB 🟢 -6.07 kB 🟢 -2.13 kB 🟢 -1.89 kB
assets/WidgetTextPreview-BV8xv2lp.js (new) 6.07 kB 🔴 +6.07 kB 🔴 +2.13 kB 🔴 +1.89 kB
assets/CloudSubscriptionRedirectView-3aLfhOj8.js (new) 6.05 kB 🔴 +6.05 kB 🔴 +2.25 kB 🔴 +1.96 kB
assets/CloudSubscriptionRedirectView-BNrAGmU2.js (removed) 6.05 kB 🟢 -6.05 kB 🟢 -2.25 kB 🟢 -1.96 kB
assets/UserSelectView-CuFHoTmw.js (removed) 5.49 kB 🟢 -5.49 kB 🟢 -1.96 kB 🟢 -1.71 kB
assets/UserSelectView-QOMp2okI.js (new) 5.49 kB 🔴 +5.49 kB 🔴 +1.96 kB 🔴 +1.71 kB
assets/CloudForgotPasswordView-CzVcHIAS.js (removed) 4.97 kB 🟢 -4.97 kB 🟢 -1.73 kB 🟢 -1.49 kB
assets/CloudForgotPasswordView-DnUIKiO7.js (new) 4.97 kB 🔴 +4.97 kB 🔴 +1.72 kB 🔴 +1.49 kB
assets/CloudAuthTimeoutView-jqLG4QhF.js (removed) 4.43 kB 🟢 -4.43 kB 🟢 -1.54 kB 🟢 -1.34 kB
assets/CloudAuthTimeoutView-jS2OO6xg.js (new) 4.43 kB 🔴 +4.43 kB 🔴 +1.54 kB 🔴 +1.34 kB
assets/OAuthLayoutView-BDZBgTuJ.js (new) 1.31 kB 🔴 +1.31 kB 🔴 +700 B 🔴 +587 B
assets/OAuthLayoutView-BUUcxNnc.js (removed) 1.31 kB 🟢 -1.31 kB 🟢 -701 B 🟢 -590 B
assets/WidgetTextPreview-C7RtwGJV.js (removed) 131 B 🟢 -131 B 🟢 -100 B 🟢 -84 B
assets/WidgetTextPreview-DHtI7ti-.js (new) 131 B 🔴 +131 B 🔴 +100 B 🔴 +91 B

Status: 13 added / 13 removed / 4 unchanged

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/KeybindingPanel-Ci_qPB2D.js (new) 49.4 kB 🔴 +49.4 kB 🔴 +9.95 kB 🔴 +8.8 kB
assets/KeybindingPanel-DPigcrXu.js (removed) 49.4 kB 🟢 -49.4 kB 🟢 -9.94 kB 🟢 -8.8 kB
assets/CreditsPanel-BEKt9kw5.js (new) 36.6 kB 🔴 +36.6 kB 🔴 +8.9 kB 🔴 +7.78 kB
assets/CreditsPanel-BnPWKp8q.js (removed) 36.6 kB 🟢 -36.6 kB 🟢 -8.9 kB 🟢 -7.78 kB
assets/SecretsPanel-CWVahPTP.js (new) 33.7 kB 🔴 +33.7 kB 🔴 +7.87 kB 🔴 +6.9 kB
assets/SecretsPanel-DqZiJ7Sh.js (removed) 33.7 kB 🟢 -33.7 kB 🟢 -7.87 kB 🟢 -6.9 kB
assets/AboutPanel-CJkUNeqf.js (new) 11.2 kB 🔴 +11.2 kB 🔴 +3.12 kB 🔴 +2.81 kB
assets/AboutPanel-DMbWjzGb.js (removed) 11.2 kB 🟢 -11.2 kB 🟢 -3.12 kB 🟢 -2.81 kB
assets/ExtensionPanel-BgRRMs3k.js (new) 9.19 kB 🔴 +9.19 kB 🔴 +2.51 kB 🔴 +2.23 kB
assets/ExtensionPanel-Dn6geYL8.js (removed) 9.19 kB 🟢 -9.19 kB 🟢 -2.51 kB 🟢 -2.23 kB
assets/ServerConfigPanel-DgdPr9zX.js (removed) 6.09 kB 🟢 -6.09 kB 🟢 -1.94 kB 🟢 -1.72 kB
assets/ServerConfigPanel-otWKMd5W.js (new) 6.09 kB 🔴 +6.09 kB 🔴 +1.94 kB 🔴 +1.72 kB
assets/UserPanel-BM2og4ry.js (new) 5.73 kB 🔴 +5.73 kB 🔴 +1.78 kB 🔴 +1.54 kB
assets/UserPanel-vJQ-gUOK.js (removed) 5.73 kB 🟢 -5.73 kB 🟢 -1.78 kB 🟢 -1.54 kB
assets/refreshRemoteConfig-BVvR9yh_.js (removed) 4.24 kB 🟢 -4.24 kB 🟢 -1.51 kB 🟢 -1.34 kB
assets/refreshRemoteConfig-DcoD2TTx.js (new) 4.24 kB 🔴 +4.24 kB 🔴 +1.51 kB 🔴 +1.34 kB
assets/cloudRemoteConfig-BW-25nAf.js (new) 951 B 🔴 +951 B 🔴 +516 B 🔴 +422 B
assets/cloudRemoteConfig-ChCwciv1.js (removed) 951 B 🟢 -951 B 🟢 -517 B 🟢 -422 B
assets/CreditsPanel-8A9mzceJ.js (removed) 116 B 🟢 -116 B 🟢 -95 B 🟢 -89 B
assets/CreditsPanel-DHvCMimh.js (new) 116 B 🔴 +116 B 🔴 +95 B 🔴 +85 B
assets/refreshRemoteConfig-CwYfOCRh.js (removed) 110 B 🟢 -110 B 🟢 -89 B 🟢 -83 B
assets/refreshRemoteConfig-CyDYcESO.js (new) 110 B 🔴 +110 B 🔴 +89 B 🔴 +90 B

Status: 11 added / 11 removed / 16 unchanged

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SignUpForm-b_vTouyg.js (new) 13.3 kB 🔴 +13.3 kB 🔴 +4.52 kB 🔴 +3.93 kB
assets/SignUpForm-Bb6BFn8q.js (removed) 13.3 kB 🟢 -13.3 kB 🟢 -4.52 kB 🟢 -3.93 kB
assets/auth-Bq9u3oby.js (new) 3.48 kB 🔴 +3.48 kB 🔴 +1.2 kB 🔴 +1.01 kB
assets/auth-Cg1Heuyv.js (removed) 3.48 kB 🟢 -3.48 kB 🟢 -1.2 kB 🟢 -1.01 kB
assets/UpdatePasswordContent-CmymTf9i.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -842 B 🟢 -735 B
assets/UpdatePasswordContent-DPQQ1AnO.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +840 B 🔴 +737 B
assets/authStore-BziX0cmg.js (removed) 128 B 🟢 -128 B 🟢 -104 B 🟢 -105 B
assets/authStore-DrBQOT3H.js (new) 128 B 🔴 +128 B 🔴 +104 B 🔴 +104 B
assets/workspaceAuthStore-BZmR5_B6.js (removed) 108 B 🟢 -108 B 🟢 -99 B 🟢 -105 B
assets/workspaceAuthStore-OYP5f18C.js (new) 108 B 🔴 +108 B 🔴 +99 B 🔴 +110 B
assets/auth-BkBeYfjB.js (removed) 105 B 🟢 -105 B 🟢 -96 B 🟢 -78 B
assets/auth-DRmNAKoC.js (new) 105 B 🔴 +105 B 🔴 +96 B 🔴 +88 B

Status: 6 added / 6 removed / 5 unchanged

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

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyHubPublishDialog-D6DBIboA.js (new) 90.1 kB 🔴 +90.1 kB 🔴 +19.3 kB 🔴 +16.5 kB
assets/ComfyHubPublishDialog-DUTmnc_J.js (removed) 90.1 kB 🟢 -90.1 kB 🟢 -19.3 kB 🟢 -16.5 kB
assets/useShareDialog-BPq1Re9Q.js (removed) 23.9 kB 🟢 -23.9 kB 🟢 -5.7 kB 🟢 -5.04 kB
assets/useShareDialog-BYehui6O.js (new) 23.9 kB 🔴 +23.9 kB 🔴 +5.7 kB 🔴 +5.04 kB
assets/feedbackDialog-CaXQyFpT.js (new) 4.45 kB 🔴 +4.45 kB 🔴 +1.87 kB 🔴 +1.6 kB
assets/feedbackDialog-DXydChRF.js (removed) 4.45 kB 🟢 -4.45 kB 🟢 -1.86 kB 🟢 -1.59 kB
assets/useRangeEditor-DrHCydVc.js (new) 3.29 kB 🔴 +3.29 kB 🔴 +1.14 kB 🔴 +1.03 kB
assets/useRangeEditor-gNfTm6Qm.js (removed) 3.29 kB 🟢 -3.29 kB 🟢 -1.14 kB 🟢 -1.05 kB
assets/useLayerEditor-DSKKTtIO.js (removed) 1.01 kB 🟢 -1.01 kB 🟢 -491 B 🟢 -405 B
assets/useLayerEditor-DsZAtkmi.js (new) 1.01 kB 🔴 +1.01 kB 🔴 +491 B 🔴 +405 B
assets/ComfyHubPublishDialog-C9MMFQX4.js (removed) 143 B 🟢 -143 B 🟢 -105 B 🟢 -91 B
assets/ComfyHubPublishDialog-DA4GmmCg.js (new) 143 B 🔴 +143 B 🔴 +105 B 🔴 +89 B
assets/useSubscriptionDialog-B9f5wpNw.js (removed) 108 B 🟢 -108 B 🟢 -102 B 🟢 -90 B
assets/useSubscriptionDialog-qJGCFdlT.js (new) 108 B 🔴 +108 B 🔴 +102 B 🔴 +91 B

Status: 7 added / 7 removed / 1 unchanged

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-DF72O2J1.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.97 kB 🟢 -3.52 kB
assets/ComfyQueueButton-KUcpDKrM.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.97 kB 🔴 +3.52 kB
assets/useTerminalTabs-D501cxOd.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.69 kB 🔴 +3.28 kB
assets/useTerminalTabs-DFLXjn49.js (removed) 11.8 kB 🟢 -11.8 kB 🟢 -3.69 kB 🟢 -3.28 kB
assets/InviteMembersForm-m8-38uvB.js (new) 8.23 kB 🔴 +8.23 kB 🔴 +2.74 kB 🔴 +2.44 kB
assets/InviteMembersForm-xLVJ9RXQ.js (removed) 8.23 kB 🟢 -8.23 kB 🟢 -2.74 kB 🟢 -2.44 kB
assets/SubscribeButton-BT48_6GK.js (removed) 2.15 kB 🟢 -2.15 kB 🟢 -969 B 🟢 -847 B
assets/SubscribeButton-D8MyteLr.js (new) 2.15 kB 🔴 +2.15 kB 🔴 +969 B 🔴 +848 B
assets/cloudFeedbackTopbarButton-DaaBcljm.js (removed) 705 B 🟢 -705 B 🟢 -422 B 🟢 -362 B
assets/cloudFeedbackTopbarButton-VG6mGZfu.js (new) 705 B 🔴 +705 B 🔴 +422 B 🔴 +359 B
assets/ComfyQueueButton-BGtyTc5B.js (removed) 128 B 🟢 -128 B 🟢 -99 B 🟢 -94 B
assets/ComfyQueueButton-D85CXo-3.js (new) 128 B 🔴 +128 B 🔴 +99 B 🔴 +92 B

Status: 6 added / 6 removed / 8 unchanged

Data & Services — 3.53 MB (baseline 3.53 MB) • 🔴 +95 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/settingStore-CWxDU01Q.js (new) 3.17 MB 🔴 +3.17 MB 🔴 +743 kB 🔴 +559 kB
assets/settingStore-LCpZLjV6.js (removed) 3.17 MB 🟢 -3.17 MB 🟢 -743 kB 🟢 -558 kB
assets/api-Bi7uz6_n.js (new) 186 kB 🔴 +186 kB 🔴 +39.8 kB 🔴 +33.3 kB
assets/api-Bt2MTs8H.js (removed) 186 kB 🟢 -186 kB 🟢 -39.8 kB 🟢 -33.4 kB
assets/load3dService-CjmakV89.js (removed) 131 kB 🟢 -131 kB 🟢 -29.2 kB 🟢 -24.6 kB
assets/load3dService-D7d9Q6Mw.js (new) 131 kB 🔴 +131 kB 🔴 +29.2 kB 🔴 +24.6 kB
assets/workflowShareService-CB6ZUJi8.js (new) 16.5 kB 🔴 +16.5 kB 🔴 +4.91 kB 🔴 +4.35 kB
assets/workflowShareService-DFkP1eCF.js (removed) 16.5 kB 🟢 -16.5 kB 🟢 -4.91 kB 🟢 -4.35 kB
assets/keybindingService-DHWIJpC7.js (new) 6.95 kB 🔴 +6.95 kB 🔴 +1.74 kB 🔴 +1.51 kB
assets/keybindingService-Dip3W2pz.js (removed) 6.95 kB 🟢 -6.95 kB 🟢 -1.74 kB 🟢 -1.5 kB
assets/releaseStore-Cub-xfbZ.js (new) 6.72 kB 🔴 +6.72 kB 🔴 +2.03 kB 🔴 +1.77 kB
assets/releaseStore-TcfW2oRT.js (removed) 6.72 kB 🟢 -6.72 kB 🟢 -2.03 kB 🟢 -1.77 kB
assets/systemStatsStore-9U0yqI6z.js (removed) 4.93 kB 🟢 -4.93 kB 🟢 -1.74 kB 🟢 -1.47 kB
assets/systemStatsStore-BaEJKTf9.js (new) 4.93 kB 🔴 +4.93 kB 🔴 +1.74 kB 🔴 +1.47 kB
assets/userStore-9F08Ad8p.js (new) 2.38 kB 🔴 +2.38 kB 🔴 +897 B 🔴 +795 B
assets/userStore-DGKSWPYP.js (removed) 2.38 kB 🟢 -2.38 kB 🟢 -898 B 🟢 -795 B
assets/audioService-C_pdcMjw.js (new) 1.71 kB 🔴 +1.71 kB 🔴 +829 B 🔴 +722 B
assets/audioService-DtAcQOGK.js (removed) 1.71 kB 🟢 -1.71 kB 🟢 -829 B 🟢 -721 B
assets/dialogService-BF8WLNpg.js (removed) 98 B 🟢 -98 B 🟢 -97 B 🟢 -81 B
assets/dialogService-C5IJl12y.js (new) 98 B 🔴 +98 B 🔴 +97 B 🔴 +89 B
assets/releaseStore-DNLnTy5T.js (new) 95 B 🔴 +95 B 🔴 +86 B 🔴 +81 B
assets/releaseStore-uyHUB6Q2.js (removed) 95 B 🟢 -95 B 🟢 -86 B 🟢 -85 B
assets/settingStore-BYh_x7Eh.js (new) 95 B 🔴 +95 B 🔴 +86 B 🔴 +78 B
assets/settingStore-CMOSX6Sp.js (removed) 95 B 🟢 -95 B 🟢 -86 B 🟢 -87 B
assets/assetsStore-agi0Br5s.js (removed) 94 B 🟢 -94 B 🟢 -92 B 🟢 -81 B
assets/assetsStore-CisGtLil.js (new) 94 B 🔴 +94 B 🔴 +92 B 🔴 +85 B
assets/api--nX1aE2-.js (removed) 62 B 🟢 -62 B 🟢 -74 B 🟢 -66 B
assets/api-CdVMgg5L.js (new) 62 B 🔴 +62 B 🔴 +74 B 🔴 +66 B

Status: 14 added / 14 removed / 3 unchanged

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useConflictDetection-D884-dY2.js (new) 236 kB 🔴 +236 kB 🔴 +53.1 kB 🔴 +43.2 kB
assets/useConflictDetection-DrlTfxpS.js (removed) 236 kB 🟢 -236 kB 🟢 -53.1 kB 🟢 -43.2 kB
assets/useLayerEditorSession-_oZQeU75.js (new) 158 kB 🔴 +158 kB 🔴 +40.8 kB 🔴 +34.3 kB
assets/useLayerEditorSession--KOSKDvv.js (removed) 158 kB 🟢 -158 kB 🟢 -40.8 kB 🟢 -34.3 kB
assets/useLoad3d-B9GIfJBY.js (removed) 25.8 kB 🟢 -25.8 kB 🟢 -5.8 kB 🟢 -5.15 kB
assets/useLoad3d-BU7elsnx.js (new) 25.8 kB 🔴 +25.8 kB 🔴 +5.8 kB 🔴 +5.15 kB
assets/useLoad3dViewer-CG1U7O6q.js (new) 21.2 kB 🔴 +21.2 kB 🔴 +4.98 kB 🔴 +4.36 kB
assets/useLoad3dViewer-Du286qdG.js (removed) 21.2 kB 🟢 -21.2 kB 🟢 -4.98 kB 🟢 -4.36 kB
assets/useImageCrop-BHCe_Y0G.js (removed) 14.9 kB 🟢 -14.9 kB 🟢 -3.42 kB 🟢 -2.98 kB
assets/useImageCrop-CdAmtnLX.js (new) 14.9 kB 🔴 +14.9 kB 🔴 +3.42 kB 🔴 +2.98 kB
assets/useDowngradeToPersonal-CIhz4aJv.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +2.74 kB 🔴 +2.35 kB
assets/useDowngradeToPersonal-CXca57Fz.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -2.74 kB 🟢 -2.35 kB
assets/useFeatureFlags-DCIdzFcv.js (removed) 7.25 kB 🟢 -7.25 kB 🟢 -2.05 kB 🟢 -1.74 kB
assets/useFeatureFlags-dCImlKg1.js (new) 7.25 kB 🔴 +7.25 kB 🔴 +2.05 kB 🔴 +1.73 kB
assets/useCompositorLayers-BYZgqWJE.js (removed) 2.94 kB 🟢 -2.94 kB 🟢 -899 B 🟢 -807 B
assets/useCompositorLayers-Bzpw8-3X.js (new) 2.94 kB 🔴 +2.94 kB 🔴 +898 B 🔴 +808 B
assets/assetPreviewUtil-B6xaUuxA.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -970 B 🟢 -846 B
assets/assetPreviewUtil-C5kgz3M2.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +970 B 🔴 +850 B
assets/useUpstreamValue-BB8E4ABX.js (new) 1.99 kB 🔴 +1.99 kB 🔴 +758 B 🔴 +684 B
assets/useUpstreamValue-CMwFtkyB.js (removed) 1.99 kB 🟢 -1.99 kB 🟢 -759 B 🟢 -684 B
assets/useWorkspaceTierLabel-BMC-UNlg.js (new) 1.93 kB 🔴 +1.93 kB 🔴 +814 B 🔴 +694 B
assets/useWorkspaceTierLabel-C81Ei588.js (removed) 1.93 kB 🟢 -1.93 kB 🟢 -814 B 🟢 -697 B
assets/subscriptionCheckoutUtil-KJ_9QC9m.js (removed) 877 B 🟢 -877 B 🟢 -523 B 🟢 -456 B
assets/subscriptionCheckoutUtil-yKfHkOW-.js (new) 877 B 🔴 +877 B 🔴 +524 B 🔴 +430 B
assets/useSessionCookie-CwH3IAPi.js (new) 652 B 🔴 +652 B 🔴 +338 B 🔴 +293 B
assets/useSessionCookie-rHr2lcdN.js (removed) 652 B 🟢 -652 B 🟢 -339 B 🟢 -291 B
assets/useLoad3d-CeMZXp7S.js (removed) 311 B 🟢 -311 B 🟢 -166 B 🟢 -150 B
assets/useLoad3d-DE_8f6MQ.js (new) 311 B 🔴 +311 B 🔴 +163 B 🔴 +147 B
assets/useSessionCookie-C1lttKNV.js (new) 101 B 🔴 +101 B 🔴 +86 B 🔴 +78 B
assets/useSessionCookie-D6p28jDv.js (removed) 101 B 🟢 -101 B 🟢 -86 B 🟢 -79 B
assets/useFeatureFlags-CIHrprSq.js (new) 98 B 🔴 +98 B 🔴 +85 B 🔴 +80 B
assets/useFeatureFlags-CmDs7jmD.js (removed) 98 B 🟢 -98 B 🟢 -85 B 🟢 -82 B
assets/useLoad3dViewer-Cmmpmjcx.js (new) 98 B 🔴 +98 B 🔴 +85 B 🔴 +84 B
assets/useLoad3dViewer-DfB1S6Uz.js (removed) 98 B 🟢 -98 B 🟢 -85 B 🟢 -83 B
assets/useCurrentUser-CHLtUPSr.js (removed) 94 B 🟢 -94 B 🟢 -95 B 🟢 -94 B
assets/useCurrentUser-DLiuo3Vu.js (new) 94 B 🔴 +94 B 🔴 +95 B 🔴 +88 B

Status: 18 added / 18 removed / 19 unchanged

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

External libraries and shared vendor chunks

Status: 18 unchanged

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

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-BQ3Qk5Ec.js (removed) 115 kB 🟢 -115 kB 🟢 -30.1 kB 🟢 -25.4 kB
assets/core-IofUfCKS.js (new) 115 kB 🔴 +115 kB 🔴 +30.1 kB 🔴 +25.4 kB
assets/WorkspaceSettingsPanelContent--FvnhBx4.js (new) 109 kB 🔴 +109 kB 🔴 +21.4 kB 🔴 +18.1 kB
assets/WorkspaceSettingsPanelContent-Dac2PWCp.js (removed) 109 kB 🟢 -109 kB 🟢 -21.4 kB 🟢 -18 kB
assets/WidgetSelect-CrAV9wOo.js (new) 88.8 kB 🔴 +88.8 kB 🔴 +20.1 kB 🔴 +17.2 kB
assets/WidgetSelect-DO7MweQd.js (removed) 88.8 kB 🟢 -88.8 kB 🟢 -20.1 kB 🟢 -17.2 kB
assets/Load3D-BhEAy6yJ.js (new) 73.3 kB 🔴 +73.3 kB 🔴 +12.1 kB 🔴 +10.3 kB
assets/Load3D-CNj9myZY.js (removed) 73.3 kB 🟢 -73.3 kB 🟢 -12.1 kB 🟢 -10.3 kB
assets/WidgetVideoEdit-BGTmkLMj.js (new) 71.2 kB 🔴 +71.2 kB 🔴 +16.9 kB 🔴 +14.9 kB
assets/WidgetVideoEdit-CFjvbUkG.js (removed) 71.2 kB 🟢 -71.2 kB 🟢 -17 kB 🟢 -14.9 kB
assets/SubscriptionTransitionPreviewWorkspace-BmWn6ObN.js (new) 66.4 kB 🔴 +66.4 kB 🔴 +13.4 kB 🔴 +11.7 kB
assets/SubscriptionTransitionPreviewWorkspace-BzREbJou.js (removed) 66.4 kB 🟢 -66.4 kB 🟢 -13.4 kB 🟢 -11.7 kB
assets/Preview3d-8sc_4yw6.js (removed) 50.9 kB 🟢 -50.9 kB 🟢 -8.32 kB 🟢 -7.24 kB
assets/Preview3d-BdshdFvT.js (new) 50.9 kB 🔴 +50.9 kB 🔴 +8.32 kB 🔴 +7.24 kB
assets/main-DfS5lyFV.js (new) 47.4 kB 🔴 +47.4 kB 🔴 +13.7 kB 🔴 +11.9 kB
assets/main-Zt7EuxFU.js (removed) 47.4 kB 🟢 -47.4 kB 🟢 -13.7 kB 🟢 -11.9 kB
assets/SubscriptionRequiredDialogContentUnified-Cumt4eA9.js (new) 42.7 kB 🔴 +42.7 kB 🔴 +9.39 kB 🔴 +8.2 kB
assets/SubscriptionRequiredDialogContentUnified-DDLwKl_s.js (removed) 42.7 kB 🟢 -42.7 kB 🟢 -9.39 kB 🟢 -8.19 kB
assets/LayerEditorContent-3ABfftbt.js (removed) 42.5 kB 🟢 -42.5 kB 🟢 -9.62 kB 🟢 -8.43 kB
assets/LayerEditorContent-CHPUECaO.js (new) 42.5 kB 🔴 +42.5 kB 🔴 +9.62 kB 🔴 +8.42 kB
assets/WidgetBoundingBoxes-DnFY6nri.js (new) 33.7 kB 🔴 +33.7 kB 🔴 +9.16 kB 🔴 +8.12 kB
assets/WidgetBoundingBoxes-DS-jaMUw.js (removed) 33.7 kB 🟢 -33.7 kB 🟢 -9.16 kB 🟢 -8.12 kB
assets/WidgetPainter-D6SLfgRb.js (new) 32.6 kB 🔴 +32.6 kB 🔴 +7.88 kB 🔴 +6.97 kB
assets/WidgetPainter-DswZ6DRu.js (removed) 32.6 kB 🟢 -32.6 kB 🟢 -7.88 kB 🟢 -6.97 kB
assets/Load3dViewerContent-B6thHR_N.js (removed) 30.8 kB 🟢 -30.8 kB 🟢 -6.28 kB 🟢 -5.45 kB
assets/Load3dViewerContent-JlQ-iHtZ.js (new) 30.8 kB 🔴 +30.8 kB 🔴 +6.28 kB 🔴 +5.45 kB
assets/SubscriptionRequiredDialogContent-BOYUWDu3.js (new) 26.9 kB 🔴 +26.9 kB 🔴 +6.36 kB 🔴 +5.6 kB
assets/SubscriptionRequiredDialogContent-BtASEklN.js (removed) 26.9 kB 🟢 -26.9 kB 🟢 -6.36 kB 🟢 -5.6 kB
assets/SubscriptionRequiredDialogContentWorkspace-BotinOKF.js (new) 25.1 kB 🔴 +25.1 kB 🔴 +5.81 kB 🔴 +5.13 kB
assets/SubscriptionRequiredDialogContentWorkspace-OMP9HY-G.js (removed) 25.1 kB 🟢 -25.1 kB 🟢 -5.81 kB 🟢 -5.11 kB
assets/load3d-CFnG5l5V.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -5.41 kB 🟢 -4.68 kB
assets/load3d-DxyxjLv8.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +5.41 kB 🔴 +4.68 kB
assets/SignInContent-Cg1wifIB.js (removed) 20.6 kB 🟢 -20.6 kB 🟢 -5.18 kB 🟢 -4.53 kB
assets/SignInContent-DIMIVcWM.js (new) 20.6 kB 🔴 +20.6 kB 🔴 +5.18 kB 🔴 +4.53 kB
assets/WidgetRecordAudio-DgZ5KuMI.js (new) 16.6 kB 🔴 +16.6 kB 🔴 +4.6 kB 🔴 +4.11 kB
assets/WidgetRecordAudio-Dl7dDEFn.js (removed) 16.6 kB 🟢 -16.6 kB 🟢 -4.6 kB 🟢 -4.11 kB
assets/CurrentUserPopoverWorkspace-Bi7G6kWE.js (new) 15.7 kB 🔴 +15.7 kB 🔴 +3.83 kB 🔴 +3.38 kB
assets/CurrentUserPopoverWorkspace-C6--ases.js (removed) 15.7 kB 🟢 -15.7 kB 🟢 -3.83 kB 🟢 -3.37 kB
assets/WidgetInputNumber-B3Hd88vy.js (removed) 13.9 kB 🟢 -13.9 kB 🟢 -3.63 kB 🟢 -3.21 kB
assets/WidgetInputNumber-BGq5qb-v.js (new) 13.9 kB 🔴 +13.9 kB 🔴 +3.63 kB 🔴 +3.21 kB
assets/WidgetRange-3Urz7Ofd.js (removed) 13.7 kB 🟢 -13.7 kB 🟢 -3.55 kB 🟢 -3.13 kB
assets/WidgetRange-gBEe58zz.js (new) 13.7 kB 🔴 +13.7 kB 🔴 +3.55 kB 🔴 +3.13 kB
assets/WaveAudioPlayer-BNQLyxxx.js (removed) 12.8 kB 🟢 -12.8 kB 🟢 -3.46 kB 🟢 -3.04 kB
assets/WaveAudioPlayer-Cymkkq3q.js (new) 12.8 kB 🔴 +12.8 kB 🔴 +3.46 kB 🔴 +3.04 kB
assets/WidgetCurve-BlngPzpE.js (new) 11.2 kB 🔴 +11.2 kB 🔴 +3.48 kB 🔴 +3.14 kB
assets/WidgetCurve-BPDuEB9e.js (removed) 11.2 kB 🟢 -11.2 kB 🟢 -3.47 kB 🟢 -3.14 kB
assets/TeamWorkspacesDialogContent-ByQtZdW7.js (removed) 10.3 kB 🟢 -10.3 kB 🟢 -2.97 kB 🟢 -2.63 kB
assets/TeamWorkspacesDialogContent-CYWOfQRf.js (new) 10.3 kB 🔴 +10.3 kB 🔴 +2.97 kB 🔴 +2.62 kB
assets/onboardingCloudRoutes-B6ndTq7b.js (removed) 9.49 kB 🟢 -9.49 kB 🟢 -2.86 kB 🟢 -2.45 kB
assets/onboardingCloudRoutes-iyOCkYgg.js (new) 9.49 kB 🔴 +9.49 kB 🔴 +2.86 kB 🔴 +2.46 kB
assets/Load3DConfiguration-B-SNwrXy.js (new) 8.91 kB 🔴 +8.91 kB 🔴 +2.61 kB 🔴 +2.3 kB
assets/Load3DConfiguration-F12WqmgH.js (removed) 8.91 kB 🟢 -8.91 kB 🟢 -2.61 kB 🟢 -2.31 kB
assets/WidgetImageCrop-0kfYWfNl.js (removed) 8.49 kB 🟢 -8.49 kB 🟢 -2.65 kB 🟢 -2.34 kB
assets/WidgetImageCrop-C-IKInkN.js (new) 8.49 kB 🔴 +8.49 kB 🔴 +2.65 kB 🔴 +2.33 kB
assets/SetMemberCreditLimitDialogContent-CpGkEV5d.js (removed) 8.47 kB 🟢 -8.47 kB 🟢 -2.34 kB 🟢 -2.06 kB
assets/SetMemberCreditLimitDialogContent-sESlSRns.js (new) 8.47 kB 🔴 +8.47 kB 🔴 +2.34 kB 🔴 +2.04 kB
assets/nodeTemplates-aXv53jC_.js (new) 8.32 kB 🔴 +8.32 kB 🔴 +2.85 kB 🔴 +2.51 kB
assets/nodeTemplates-DgcKg54W.js (removed) 8.32 kB 🟢 -8.32 kB 🟢 -2.85 kB 🟢 -2.51 kB
assets/WorkspaceSwitcherPopover-2_xAqKii.js (new) 8.01 kB 🔴 +8.01 kB 🔴 +2.38 kB 🔴 +2.12 kB
assets/WorkspaceSwitcherPopover-BO_8LEeN.js (removed) 8.01 kB 🟢 -8.01 kB 🟢 -2.38 kB 🟢 -2.12 kB
assets/NightlySurveyController-2BvkK4my.js (new) 7.5 kB 🔴 +7.5 kB 🔴 +2.55 kB 🔴 +2.25 kB
assets/NightlySurveyController-COnS5CdE.js (removed) 7.5 kB 🟢 -7.5 kB 🟢 -2.55 kB 🟢 -2.25 kB
assets/CloudRunButtonWrapper-8jl3C-nT.js (removed) 7.29 kB 🟢 -7.29 kB 🟢 -2.29 kB 🟢 -2.01 kB
assets/CloudRunButtonWrapper-CA1eGfcn.js (new) 7.29 kB 🔴 +7.29 kB 🔴 +2.29 kB 🔴 +2.01 kB
assets/WidgetWithControl-BLbECty2.js (removed) 6.51 kB 🟢 -6.51 kB 🟢 -2.67 kB 🟢 -2.33 kB
assets/WidgetWithControl-D5eLs0Wu.js (new) 6.51 kB 🔴 +6.51 kB 🔴 +2.66 kB 🔴 +2.33 kB
assets/missingModelMetadata-B2DbXJ5v.js (new) 6.45 kB 🔴 +6.45 kB 🔴 +2.21 kB 🔴 +1.93 kB
assets/missingModelMetadata-CsXjRkXS.js (removed) 6.45 kB 🟢 -6.45 kB 🟢 -2.21 kB 🟢 -1.93 kB
assets/CancelSubscriptionDialogContent-CrwFHH-Z.js (new) 5.97 kB 🔴 +5.97 kB 🔴 +1.98 kB 🔴 +1.75 kB
assets/CancelSubscriptionDialogContent-CuOeQVik.js (removed) 5.97 kB 🟢 -5.97 kB 🟢 -1.98 kB 🟢 -1.75 kB
assets/load3dPreviewExtensions-CAkLhRII.js (removed) 5.88 kB 🟢 -5.88 kB 🟢 -1.81 kB 🟢 -1.6 kB
assets/load3dPreviewExtensions-CTBeFrwG.js (new) 5.88 kB 🔴 +5.88 kB 🔴 +1.81 kB 🔴 +1.6 kB
assets/launchCancellationFlow-CeQyKkNe.js (new) 5.18 kB 🔴 +5.18 kB 🔴 +1.78 kB 🔴 +1.56 kB
assets/launchCancellationFlow-lS53RRNN.js (removed) 5.18 kB 🟢 -5.18 kB 🟢 -1.78 kB 🟢 -1.58 kB
assets/CreateWorkspaceDialogContent-DuVJIqAR.js (removed) 5.12 kB 🟢 -5.12 kB 🟢 -1.79 kB 🟢 -1.55 kB
assets/CreateWorkspaceDialogContent-nMOiIig3.js (new) 5.12 kB 🔴 +5.12 kB 🔴 +1.79 kB 🔴 +1.55 kB
assets/ChangeMemberRoleDialogContent-2e_lKszC.js (removed) 4.97 kB 🟢 -4.97 kB 🟢 -1.64 kB 🟢 -1.43 kB
assets/ChangeMemberRoleDialogContent-BPQdtV-3.js (new) 4.97 kB 🔴 +4.97 kB 🔴 +1.64 kB 🔴 +1.43 kB
assets/InviteMemberDialogContent-D3UgmIes.js (new) 4.96 kB 🔴 +4.96 kB 🔴 +1.64 kB 🔴 +1.44 kB
assets/InviteMemberDialogContent-Dnoo-G4g.js (removed) 4.96 kB 🟢 -4.96 kB 🟢 -1.65 kB 🟢 -1.44 kB
assets/EditWorkspaceDialogContent-CNm7twf5.js (new) 4.93 kB 🔴 +4.93 kB 🔴 +1.76 kB 🔴 +1.52 kB
assets/EditWorkspaceDialogContent-DY4oZ3pn.js (removed) 4.93 kB 🟢 -4.93 kB 🟢 -1.76 kB 🟢 -1.52 kB
assets/WidgetTextarea-BfTw37qW.js (new) 4.83 kB 🔴 +4.83 kB 🔴 +1.88 kB 🔴 +1.65 kB
assets/WidgetTextarea-DYKPDnoR.js (removed) 4.83 kB 🟢 -4.83 kB 🟢 -1.88 kB 🟢 -1.64 kB
assets/saveMesh-BsRfaSGC.js (new) 4.76 kB 🔴 +4.76 kB 🔴 +1.52 kB 🔴 +1.34 kB
assets/saveMesh-DxfWb8GS.js (removed) 4.76 kB 🟢 -4.76 kB 🟢 -1.52 kB 🟢 -1.35 kB
assets/ValueControlPopover-DjxeppRQ.js (new) 4.49 kB 🔴 +4.49 kB 🔴 +1.55 kB 🔴 +1.38 kB
assets/ValueControlPopover-HDeCqGol.js (removed) 4.49 kB 🟢 -4.49 kB 🟢 -1.55 kB 🟢 -1.38 kB
assets/DeleteWorkspaceDialogContent-BFWhf8y3.js (removed) 3.84 kB 🟢 -3.84 kB 🟢 -1.44 kB 🟢 -1.24 kB
assets/DeleteWorkspaceDialogContent-CUz3fTVF.js (new) 3.84 kB 🔴 +3.84 kB 🔴 +1.44 kB 🔴 +1.24 kB
assets/RemoveMemberDialogContent-BaLjakQL.js (removed) 3.76 kB 🟢 -3.76 kB 🟢 -1.38 kB 🟢 -1.2 kB
assets/RemoveMemberDialogContent-CFGtpzES.js (new) 3.76 kB 🔴 +3.76 kB 🔴 +1.39 kB 🔴 +1.2 kB
assets/RevokeInviteDialogContent-0QTjhC1h.js (removed) 3.67 kB 🟢 -3.67 kB 🟢 -1.39 kB 🟢 -1.21 kB
assets/RevokeInviteDialogContent-TB_DsM_L.js (new) 3.67 kB 🔴 +3.67 kB 🔴 +1.39 kB 🔴 +1.21 kB
assets/LeaveWorkspaceDialogContent-Dw2lzciJ.js (removed) 3.67 kB 🟢 -3.67 kB 🟢 -1.38 kB 🟢 -1.19 kB
assets/LeaveWorkspaceDialogContent-MmjzxvnC.js (new) 3.67 kB 🔴 +3.67 kB 🔴 +1.39 kB 🔴 +1.19 kB
assets/InviteMemberUpsellDialogContent-DJoNy8dK.js (removed) 3.47 kB 🟢 -3.47 kB 🟢 -1.24 kB 🟢 -1.09 kB
assets/InviteMemberUpsellDialogContent-DL54R_3K.js (new) 3.47 kB 🔴 +3.47 kB 🔴 +1.24 kB 🔴 +1.09 kB
assets/workspaceCheckoutTelemetry-Bru0_8Y6.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.52 kB 🟢 -1.32 kB
assets/workspaceCheckoutTelemetry-KsDorYLx.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.52 kB 🔴 +1.33 kB
assets/GlobalToast-ClhYCBjo.js (new) 3.25 kB 🔴 +3.25 kB 🔴 +1.3 kB 🔴 +1.11 kB
assets/GlobalToast-DOc896Q2.js (removed) 3.25 kB 🟢 -3.25 kB 🟢 -1.3 kB 🟢 -1.16 kB
assets/Media3DTop-BleEPBjO.js (new) 3.21 kB 🔴 +3.21 kB 🔴 +1.26 kB 🔴 +1.11 kB
assets/Media3DTop-Cv4KhIDJ.js (removed) 3.21 kB 🟢 -3.21 kB 🟢 -1.26 kB 🟢 -1.11 kB
assets/load3dAdvanced-BKBQmB9a.js (removed) 2.82 kB 🟢 -2.82 kB 🟢 -1.1 kB 🟢 -955 B
assets/load3dAdvanced-I0_tWLQw.js (new) 2.82 kB 🔴 +2.82 kB 🔴 +1.09 kB 🔴 +955 B
assets/SubscribeToRun-8QmDn1mR.js (new) 2.39 kB 🔴 +2.39 kB 🔴 +1.03 kB 🔴 +904 B
assets/SubscribeToRun-CCKkDASJ.js (removed) 2.39 kB 🟢 -2.39 kB 🟢 -1.03 kB 🟢 -907 B
assets/MediaAudioTop-CC-eigNu.js (removed) 1.62 kB 🟢 -1.62 kB 🟢 -808 B 🟢 -673 B
assets/MediaAudioTop-DcbraScY.js (new) 1.62 kB 🔴 +1.62 kB 🔴 +808 B 🔴 +667 B
assets/cloudSessionCookie-CGtWINRC.js (new) 933 B 🔴 +933 B 🔴 +433 B 🔴 +378 B
assets/cloudSessionCookie-DSg1i5fR.js (removed) 933 B 🟢 -933 B 🟢 -433 B 🟢 -378 B
assets/cloudBadges-bw1bzaEX.js (removed) 922 B 🟢 -922 B 🟢 -514 B 🟢 -436 B
assets/cloudBadges-Cmns_oFd.js (new) 922 B 🔴 +922 B 🔴 +515 B 🔴 +467 B
assets/Load3DAdvanced-7r5mhnE5.js (new) 761 B 🔴 +761 B 🔴 +423 B 🔴 +360 B
assets/Load3DAdvanced-C2B0idS-.js (removed) 761 B 🟢 -761 B 🟢 -424 B 🟢 -359 B
assets/nightlyBadges-CP2qBGRF.js (removed) 411 B 🟢 -411 B 🟢 -273 B 🟢 -267 B
assets/nightlyBadges-CT1MH5Ds.js (new) 411 B 🔴 +411 B 🔴 +273 B 🔴 +267 B
assets/Load3dViewerContent-C9RsApCU.js (removed) 137 B 🟢 -137 B 🟢 -103 B 🟢 -93 B
assets/Load3dViewerContent-sOrDCr0_.js (new) 137 B 🔴 +137 B 🔴 +103 B 🔴 +87 B
assets/missingModelMetadata-9WMxfJDB.js (removed) 125 B 🟢 -125 B 🟢 -103 B 🟢 -103 B
assets/missingModelMetadata-DdnPSR1z.js (new) 125 B 🔴 +125 B 🔴 +103 B 🔴 +104 B
assets/Load3DAdvanced-BkkE57Th.js (new) 122 B 🔴 +122 B 🔴 +97 B 🔴 +88 B
assets/Load3DAdvanced-CedtGblq.js (removed) 122 B 🟢 -122 B 🟢 -97 B 🟢 -87 B
assets/WidgetLegacy-DyWMmkVn.js (new) 117 B 🔴 +117 B 🔴 +106 B 🔴 +105 B
assets/WidgetLegacy-nw_0ttC7.js (removed) 117 B 🟢 -117 B 🟢 -106 B 🟢 -103 B
assets/workflowDraftStoreV2-BO4uuDPF.js (new) 112 B 🔴 +112 B 🔴 +101 B 🔴 +108 B
assets/workflowDraftStoreV2-cDmz0_8o.js (removed) 112 B 🟢 -112 B 🟢 -101 B 🟢 -109 B
assets/Load3D-BnLoRl7W.js (removed) 98 B 🟢 -98 B 🟢 -89 B 🟢 -82 B
assets/Load3D-DFRu62qP.js (new) 98 B 🔴 +98 B 🔴 +89 B 🔴 +82 B
assets/changeTracker-CZKGzCPR.js (removed) 91 B 🟢 -91 B 🟢 -93 B 🟢 -85 B
assets/changeTracker-DmDXi5US.js (new) 91 B 🔴 +91 B 🔴 +93 B 🔴 +85 B

Status: 66 added / 66 removed / 219 unchanged

⚡ Performance Report

canvas-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 63.8 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 59.7 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 62.8 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.5 MB heap
large-graph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 66.0 MB heap
large-graph-pan: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 73.4 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.9 MB heap
legacy-node-drag: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 79.2 MB heap
minimap-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 70.8 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 70.7 MB heap
subgraph-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 56.1 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 58.1 MB heap
subgraph-transition-enter: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 132ms TBT · 99.1 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 76.5 MB heap
vue-large-graph-idle: · 57.1 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 171.2 MB heap
vue-large-graph-pan: · 58.1 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 8ms TBT · 174.8 MB heap
workflow-execution: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 63.0 MB heap

⚠️ 4 regressions detected

Show regressions
Metric Baseline PR (median) Δ Sig
canvas-idle: task duration 460ms 554ms +21% ⚠️ z=5.1
large-graph-pan: task duration 961ms 1227ms +28% ⚠️ z=3.4
subgraph-idle: task duration 387ms 490ms +27% ⚠️ z=3.8
workflow-execution: event listeners 49 62 +27% ⚠️ z=2.3
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 6ms 7ms +16% z=-4.4
canvas-idle: layout count 0 0 +0%
canvas-idle: style recalc count 8 8 -6% z=-6.5
canvas-idle: task duration 460ms 554ms +21% ⚠️ z=5.1
canvas-idle: script duration 7ms 8ms +16% z=-7.8
canvas-idle: TBT 0ms 0ms +0%
canvas-idle: heap used 61.2 MB 63.8 MB +4%
canvas-idle: DOM nodes -282 -283 +0% z=-239.6
canvas-idle: event listeners -183 -151 -17% z=-34.4
canvas-mouse-sweep: avg frame time 17ms 17ms +0% z=0.2
canvas-mouse-sweep: p95 frame time 17ms 17ms +0%
canvas-mouse-sweep: layout duration 3ms 4ms +13% z=-0.2
canvas-mouse-sweep: style recalc duration 28ms 37ms +36% z=-1.7
canvas-mouse-sweep: layout count 12 12 +0%
canvas-mouse-sweep: style recalc count 72 75 +3% z=-1.8
canvas-mouse-sweep: task duration 696ms 892ms +28% z=0.5
canvas-mouse-sweep: script duration 85ms 103ms +21% z=-5.0
canvas-mouse-sweep: TBT 0ms 0ms +0%
canvas-mouse-sweep: heap used 66.2 MB 59.7 MB -10%
canvas-mouse-sweep: DOM nodes -281 -282 +0% z=-132.9
canvas-mouse-sweep: event listeners -151 -166 +10% z=-41.8
canvas-zoom-sweep: avg frame time 17ms 17ms -0% z=-0.3
canvas-zoom-sweep: p95 frame time 17ms 17ms -1%
canvas-zoom-sweep: layout duration 0ms 1ms +27% z=-0.8
canvas-zoom-sweep: style recalc duration 12ms 16ms +30% z=-2.0
canvas-zoom-sweep: layout count 6 6 +0%
canvas-zoom-sweep: style recalc count 30 32 +7% z=1.6
canvas-zoom-sweep: task duration 279ms 348ms +25% z=0.9
canvas-zoom-sweep: script duration 8ms 9ms +16% z=-5.9
canvas-zoom-sweep: TBT 0ms 0ms +0%
canvas-zoom-sweep: heap used 62.7 MB 62.8 MB +0%
canvas-zoom-sweep: DOM nodes 78 79 +1% z=-0.9
canvas-zoom-sweep: event listeners 19 19 +0% z=-0.9
dom-widget-clipping: avg frame time 17ms 17ms -0% z=-0.2
dom-widget-clipping: p95 frame time 17ms 17ms +0%
dom-widget-clipping: layout duration 0ms 0ms +0%
dom-widget-clipping: style recalc duration 7ms 7ms +1% z=-4.0
dom-widget-clipping: layout count 0 0 +0%
dom-widget-clipping: style recalc count 11 11 -5% z=-5.2
dom-widget-clipping: task duration 304ms 363ms +19% z=-0.1
dom-widget-clipping: script duration 42ms 50ms +21% z=-5.4
dom-widget-clipping: TBT 0ms 0ms +0%
dom-widget-clipping: heap used 69.8 MB 68.5 MB -2%
dom-widget-clipping: DOM nodes 18 17 -6% z=-3.6
dom-widget-clipping: event listeners 0 2 variance too high
large-graph-idle: avg frame time 17ms 17ms -0% z=-0.6
large-graph-idle: p95 frame time 17ms 17ms -1%
large-graph-idle: layout duration 0ms 0ms +0%
large-graph-idle: style recalc duration 8ms 7ms -11% z=-5.3
large-graph-idle: layout count 0 0 +0%
large-graph-idle: style recalc count 10 9 -15% z=-9.9
large-graph-idle: task duration 524ms 598ms +14% z=1.0
large-graph-idle: script duration 15ms 15ms +2% z=-8.3
large-graph-idle: TBT 0ms 0ms +0%
large-graph-idle: heap used 71.9 MB 66.0 MB -8%
large-graph-idle: DOM nodes -267 -275 +3% z=-331.0
large-graph-idle: event listeners -147 -162 +10% z=-30.8
large-graph-pan: avg frame time 17ms 17ms +0% z=0.8
large-graph-pan: p95 frame time 17ms 17ms -0%
large-graph-pan: layout duration 0ms 0ms +0%
large-graph-pan: style recalc duration 13ms 14ms +1% z=-4.7
large-graph-pan: layout count 0 0 +0%
large-graph-pan: style recalc count 69 69 +0% z=-0.9
large-graph-pan: task duration 961ms 1227ms +28% ⚠️ z=3.4
large-graph-pan: script duration 269ms 338ms +26% z=-3.5
large-graph-pan: TBT 0ms 0ms +0%
large-graph-pan: heap used 71.2 MB 73.4 MB +3%
large-graph-pan: DOM nodes -271 -285 +5% z=-184.0
large-graph-pan: event listeners -147 -162 +10% z=-201.6
large-graph-zoom: avg frame time 17ms 17ms +0%
large-graph-zoom: p95 frame time 17ms 17ms +1%
large-graph-zoom: layout duration 7ms 8ms +14%
large-graph-zoom: style recalc duration 13ms 14ms +9%
large-graph-zoom: layout count 60 60 +0%
large-graph-zoom: style recalc count 66 65 -2%
large-graph-zoom: task duration 1157ms 1401ms +21%
large-graph-zoom: script duration 328ms 371ms +13%
large-graph-zoom: TBT 0ms 0ms +0%
large-graph-zoom: heap used 73.7 MB 64.9 MB -12%
large-graph-zoom: DOM nodes -274 -139 -49%
large-graph-zoom: event listeners -145 -88 -40%
legacy-node-drag: avg frame time 17ms 17ms -0%
legacy-node-drag: p95 frame time 17ms 17ms +0%
legacy-node-drag: layout duration 0ms 0ms +0%
legacy-node-drag: style recalc duration 11ms 11ms -2%
legacy-node-drag: layout count 0 0 +0%
legacy-node-drag: style recalc count 48 47 -2%
legacy-node-drag: task duration 1133ms 1369ms +21%
legacy-node-drag: script duration 372ms 424ms +14%
legacy-node-drag: TBT 0ms 0ms +0%
legacy-node-drag: heap used 66.6 MB 79.2 MB +19%
legacy-node-drag: DOM nodes 16 14 -13%
legacy-node-drag: event listeners 186 186 +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 6ms 7ms +25% z=-3.1
minimap-idle: layout count 0 0 +0%
minimap-idle: style recalc count 8 8 +0% z=-2.3
minimap-idle: task duration 489ms 613ms +25% z=1.8
minimap-idle: script duration 14ms 14ms +3% z=-8.5
minimap-idle: TBT 0ms 0ms +0%
minimap-idle: heap used 70.6 MB 70.8 MB +0%
minimap-idle: DOM nodes -276 -275 -1% z=-214.7
minimap-idle: event listeners -149 -147 -1% z=-229.6
subgraph-dom-widget-clipping: avg frame time 17ms 17ms -0% z=-0.4
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 9ms 9ms +5% z=-3.9
subgraph-dom-widget-clipping: layout count 0 0 +0%
subgraph-dom-widget-clipping: style recalc count 46 46 -1% z=-4.2
subgraph-dom-widget-clipping: task duration 307ms 386ms +26% z=0.4
subgraph-dom-widget-clipping: script duration 93ms 117ms +25% z=-1.8
subgraph-dom-widget-clipping: TBT 0ms 0ms +0%
subgraph-dom-widget-clipping: heap used 70.8 MB 70.7 MB -0%
subgraph-dom-widget-clipping: DOM nodes 18 17 -6% z=-4.6
subgraph-dom-widget-clipping: event listeners 8 8 +0% z=-1.4
subgraph-idle: avg frame time 17ms 17ms -0% z=-0.2
subgraph-idle: p95 frame time 17ms 17ms -0%
subgraph-idle: layout duration 0ms 0ms +0%
subgraph-idle: style recalc duration 6ms 8ms +22% z=-3.6
subgraph-idle: layout count 0 0 +0%
subgraph-idle: style recalc count 10 9 -10% z=-2.9
subgraph-idle: task duration 387ms 490ms +27% ⚠️ z=3.8
subgraph-idle: script duration 5ms 7ms +20% z=-5.1
subgraph-idle: TBT 0ms 0ms +0%
subgraph-idle: heap used 55.1 MB 56.1 MB +2%
subgraph-idle: DOM nodes -280 -282 +1% z=-202.9
subgraph-idle: event listeners -151 -168 +11% variance too high
subgraph-mouse-sweep: avg frame time 17ms 17ms -0% z=-0.5
subgraph-mouse-sweep: p95 frame time 17ms 17ms -0%
subgraph-mouse-sweep: layout duration 3ms 4ms +23% z=-1.7
subgraph-mouse-sweep: style recalc duration 27ms 33ms +22% z=-2.8
subgraph-mouse-sweep: layout count 16 16 +0%
subgraph-mouse-sweep: style recalc count 75 75 +0% z=-2.7
subgraph-mouse-sweep: task duration 645ms 761ms +18% z=-0.1
subgraph-mouse-sweep: script duration 68ms 78ms +15% z=-3.6
subgraph-mouse-sweep: TBT 0ms 0ms +0%
subgraph-mouse-sweep: heap used 56.6 MB 58.1 MB +3%
subgraph-mouse-sweep: DOM nodes -280 -281 +0% z=-155.7
subgraph-mouse-sweep: event listeners -151 -167 +11% variance too high
subgraph-transition-enter: avg frame time 17ms 17ms +0%
subgraph-transition-enter: p95 frame time 17ms 17ms +1%
subgraph-transition-enter: layout duration 11ms 13ms +17%
subgraph-transition-enter: style recalc duration 26ms 28ms +7%
subgraph-transition-enter: layout count 15 15 +0%
subgraph-transition-enter: style recalc count 20 20 +0%
subgraph-transition-enter: task duration 778ms 899ms +16%
subgraph-transition-enter: script duration 14ms 15ms +6%
subgraph-transition-enter: TBT 101ms 132ms +31%
subgraph-transition-enter: heap used 95.3 MB 99.1 MB +4%
subgraph-transition-enter: DOM nodes 13673 13673 +0%
subgraph-transition-enter: event listeners 2373 2375 +0%
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 37ms 37ms -1%
viewport-pan-sweep: layout count 0 0 +0%
viewport-pan-sweep: style recalc count 249 250 +0%
viewport-pan-sweep: task duration 3369ms 4141ms +23%
viewport-pan-sweep: script duration 828ms 1002ms +21%
viewport-pan-sweep: TBT 0ms 0ms +0%
viewport-pan-sweep: heap used 75.1 MB 76.5 MB +2%
viewport-pan-sweep: DOM nodes -272 -243 -11%
viewport-pan-sweep: event listeners -133 -133 +0%
vue-large-graph-idle: avg frame time 17ms 18ms +2%
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 13816ms 15162ms +10%
vue-large-graph-idle: script duration 93ms 97ms +4%
vue-large-graph-idle: TBT 0ms 0ms +0%
vue-large-graph-idle: heap used 169.8 MB 171.2 MB +1%
vue-large-graph-idle: DOM nodes -8312 -8312 +0%
vue-large-graph-idle: event listeners -16391 -16392 +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 15ms 17ms +11%
vue-large-graph-pan: layout count 0 0 +0%
vue-large-graph-pan: style recalc count 144 154 +7%
vue-large-graph-pan: task duration 16787ms 17891ms +7%
vue-large-graph-pan: script duration 353ms 373ms +6%
vue-large-graph-pan: TBT 49ms 8ms -85%
vue-large-graph-pan: heap used 174.9 MB 174.8 MB -0%
vue-large-graph-pan: DOM nodes -8312 -8312 +0%
vue-large-graph-pan: event listeners -16389 -16386 -0%
workflow-execution: avg frame time 17ms 17ms -0% z=0.1
workflow-execution: p95 frame time 17ms 17ms +0%
workflow-execution: layout duration 0ms 2ms +266% z=0.5
workflow-execution: style recalc duration 10ms 19ms +87% z=-2.5
workflow-execution: layout count 2 5 +125% z=-0.8
workflow-execution: style recalc count 6 11 +83% z=-3.3
workflow-execution: task duration 54ms 100ms +83% z=-2.1
workflow-execution: script duration 4ms 7ms +75% z=-7.5
workflow-execution: TBT 0ms 0ms +0%
workflow-execution: heap used 62.4 MB 63.0 MB +1%
workflow-execution: DOM nodes 109 126 +16% z=-4.9
workflow-execution: event listeners 49 62 +27% ⚠️ z=2.3
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-08-23T09:11:28.471Z",
  "gitSha": "6bdbdbbcec737ccd992cc90a78a844880af37ddd",
  "branch": "docs/FE-1814-ecs-node-ids-not-uuids",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2071.2870000000407,
      "styleRecalcs": 6,
      "styleRecalcDurationMs": 6.732000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 617.022,
      "heapDeltaBytes": 17024964,
      "heapUsedBytes": 78951148,
      "domNodes": -285,
      "jsHeapTotalBytes": 4186112,
      "scriptDurationMs": 8.090999999999998,
      "eventListeners": -151,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-idle",
      "durationMs": 2046.2190000000646,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.038999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 490.615,
      "heapDeltaBytes": -7155936,
      "heapUsedBytes": 54872988,
      "domNodes": -281,
      "jsHeapTotalBytes": 4448256,
      "scriptDurationMs": 7.448999999999997,
      "eventListeners": -151,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1900.6729999999834,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 38.928999999999995,
      "layouts": 12,
      "layoutDurationMs": 3.6319999999999997,
      "taskDurationMs": 931.4290000000001,
      "heapDeltaBytes": 4503452,
      "heapUsedBytes": 67444744,
      "domNodes": -282,
      "jsHeapTotalBytes": 7331840,
      "scriptDurationMs": 107.791,
      "eventListeners": -181,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1843.7079999999924,
      "styleRecalcs": 73,
      "styleRecalcDurationMs": 35.752,
      "layouts": 12,
      "layoutDurationMs": 3.5250000000000004,
      "taskDurationMs": 853.2790000000001,
      "heapDeltaBytes": -4170504,
      "heapUsedBytes": 57845196,
      "domNodes": -281,
      "jsHeapTotalBytes": 4448256,
      "scriptDurationMs": 98.863,
      "eventListeners": -151,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1722.3620000000324,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 15.602000000000002,
      "layouts": 6,
      "layoutDurationMs": 0.5339999999999999,
      "taskDurationMs": 352.343,
      "heapDeltaBytes": 3225156,
      "heapUsedBytes": 65735400,
      "domNodes": 78,
      "jsHeapTotalBytes": 5505024,
      "scriptDurationMs": 9.748999999999999,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1723.5359999999673,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 16.396,
      "layouts": 6,
      "layoutDurationMs": 0.6789999999999999,
      "taskDurationMs": 343.8910000000001,
      "heapDeltaBytes": 3267528,
      "heapUsedBytes": 65976896,
      "domNodes": 79,
      "jsHeapTotalBytes": 5242880,
      "scriptDurationMs": 8.911000000000001,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 566.2039999999706,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 6.418000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 363.6240000000001,
      "heapDeltaBytes": 10111272,
      "heapUsedBytes": 71746900,
      "domNodes": 16,
      "jsHeapTotalBytes": 5242880,
      "scriptDurationMs": 50.083,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 562.769000000003,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 7.052,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 361.87600000000003,
      "heapDeltaBytes": 10671284,
      "heapUsedBytes": 71823056,
      "domNodes": 18,
      "jsHeapTotalBytes": 5242880,
      "scriptDurationMs": 50.245,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2029.040000000009,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 6.074,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 594.639,
      "heapDeltaBytes": -13153980,
      "heapUsedBytes": 62653340,
      "domNodes": -284,
      "jsHeapTotalBytes": 4190208,
      "scriptDurationMs": 12.799999999999999,
      "eventListeners": -177,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2045.3739999999243,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.335000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 601.6729999999999,
      "heapDeltaBytes": -1077260,
      "heapUsedBytes": 75720120,
      "domNodes": -265,
      "jsHeapTotalBytes": -528384,
      "scriptDurationMs": 17.78,
      "eventListeners": -147,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2165.38300000002,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 12.839999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1236.87,
      "heapDeltaBytes": 13116036,
      "heapUsedBytes": 89829360,
      "domNodes": -284,
      "jsHeapTotalBytes": 4677632,
      "scriptDurationMs": 351.913,
      "eventListeners": -177,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2153.351999999927,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 14.307999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1217.214,
      "heapDeltaBytes": -13450132,
      "heapUsedBytes": 64175400,
      "domNodes": -285,
      "jsHeapTotalBytes": 258048,
      "scriptDurationMs": 324.69899999999996,
      "eventListeners": -147,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3184.2960000000176,
      "styleRecalcs": 64,
      "styleRecalcDurationMs": 14.860999999999995,
      "layouts": 60,
      "layoutDurationMs": 8.278,
      "taskDurationMs": 1489.191,
      "heapDeltaBytes": -10970928,
      "heapUsedBytes": 66083796,
      "domNodes": -289,
      "jsHeapTotalBytes": 4714496,
      "scriptDurationMs": 380.09999999999997,
      "eventListeners": -183,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3150.021000000038,
      "styleRecalcs": 65,
      "styleRecalcDurationMs": 13.934,
      "layouts": 60,
      "layoutDurationMs": 7.421,
      "taskDurationMs": 1312.644,
      "heapDeltaBytes": -9075736,
      "heapUsedBytes": 69922856,
      "domNodes": 12,
      "jsHeapTotalBytes": 6328320,
      "scriptDurationMs": 360.986,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "legacy-node-drag",
      "durationMs": 2141.380999999967,
      "styleRecalcs": 47,
      "styleRecalcDurationMs": 10.8,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1376.9319999999998,
      "heapDeltaBytes": -15253316,
      "heapUsedBytes": 69864300,
      "domNodes": 14,
      "jsHeapTotalBytes": 6852608,
      "scriptDurationMs": 420.131,
      "eventListeners": 186,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "legacy-node-drag",
      "durationMs": 2117.136999999957,
      "styleRecalcs": 47,
      "styleRecalcDurationMs": 10.336000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1361.075,
      "heapDeltaBytes": 11222724,
      "heapUsedBytes": 96255748,
      "domNodes": 14,
      "jsHeapTotalBytes": 8056832,
      "scriptDurationMs": 427.479,
      "eventListeners": 186,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "minimap-idle",
      "durationMs": 2074.097999999992,
      "styleRecalcs": 6,
      "styleRecalcDurationMs": 4.950000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 602.95,
      "heapDeltaBytes": -10796588,
      "heapUsedBytes": 74180776,
      "domNodes": -281,
      "jsHeapTotalBytes": 1830912,
      "scriptDurationMs": 13.890000000000002,
      "eventListeners": -147,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "minimap-idle",
      "durationMs": 2073.2459999999264,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.126000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 623.567,
      "heapDeltaBytes": -10562440,
      "heapUsedBytes": 74258524,
      "domNodes": -268,
      "jsHeapTotalBytes": 3403776,
      "scriptDurationMs": 14.489000000000003,
      "eventListeners": -147,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 583.9530000000082,
      "styleRecalcs": 45,
      "styleRecalcDurationMs": 8.583,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 388.25300000000004,
      "heapDeltaBytes": 11477696,
      "heapUsedBytes": 73977832,
      "domNodes": 16,
      "jsHeapTotalBytes": 5767168,
      "scriptDurationMs": 116.24100000000001,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 580.1989999999932,
      "styleRecalcs": 46,
      "styleRecalcDurationMs": 9.468,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 384.08200000000005,
      "heapDeltaBytes": 11612188,
      "heapUsedBytes": 74213360,
      "domNodes": 18,
      "jsHeapTotalBytes": 4980736,
      "scriptDurationMs": 117.50000000000001,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2006.1069999999859,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.131,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 493.63,
      "heapDeltaBytes": -6601248,
      "heapUsedBytes": 55831956,
      "domNodes": -283,
      "jsHeapTotalBytes": 4710400,
      "scriptDurationMs": 7.197,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2011.628000000087,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.031999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 486.112,
      "heapDeltaBytes": -303920,
      "heapUsedBytes": 61796276,
      "domNodes": -280,
      "jsHeapTotalBytes": 4186112,
      "scriptDurationMs": 5.994999999999998,
      "eventListeners": -183,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1724.0050000000338,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 34.208000000000006,
      "layouts": 16,
      "layoutDurationMs": 4.273000000000001,
      "taskDurationMs": 831.8969999999999,
      "heapDeltaBytes": 2174328,
      "heapUsedBytes": 64628096,
      "domNodes": -282,
      "jsHeapTotalBytes": 4972544,
      "scriptDurationMs": 80.392,
      "eventListeners": -183,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1690.821000000028,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 32.205,
      "layouts": 16,
      "layoutDurationMs": 4.015000000000001,
      "taskDurationMs": 690.1610000000001,
      "heapDeltaBytes": -5331008,
      "heapUsedBytes": 57121744,
      "domNodes": -280,
      "jsHeapTotalBytes": 4186112,
      "scriptDurationMs": 74.719,
      "eventListeners": -151,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-transition-enter",
      "durationMs": 1400.013999999942,
      "styleRecalcs": 20,
      "styleRecalcDurationMs": 28.21699999999999,
      "layouts": 15,
      "layoutDurationMs": 12.84,
      "taskDurationMs": 898.9259999999999,
      "heapDeltaBytes": 20397640,
      "heapUsedBytes": 103924480,
      "domNodes": 13673,
      "jsHeapTotalBytes": 11534336,
      "scriptDurationMs": 15.067000000000004,
      "eventListeners": 2375,
      "totalBlockingTimeMs": 132,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8248.334999999997,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 37.736,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4199.019,
      "heapDeltaBytes": 2640276,
      "heapUsedBytes": 79171428,
      "domNodes": -243,
      "jsHeapTotalBytes": 1007616,
      "scriptDurationMs": 1011.434,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.80000000000109
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8177.57400000005,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 35.441,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4082.643,
      "heapDeltaBytes": 4371940,
      "heapUsedBytes": 81160752,
      "domNodes": -242,
      "jsHeapTotalBytes": -565248,
      "scriptDurationMs": 992.5739999999998,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.80000000000109
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 16232.978000000003,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 15111.159000000001,
      "heapDeltaBytes": -39739688,
      "heapUsedBytes": 181048528,
      "domNodes": -8312,
      "jsHeapTotalBytes": -19533824,
      "scriptDurationMs": 90.254,
      "eventListeners": -16391,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.220000000000073,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 16337.850000000002,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 15212.849000000002,
      "heapDeltaBytes": -48619040,
      "heapUsedBytes": 177930440,
      "domNodes": -8312,
      "jsHeapTotalBytes": -18010112,
      "scriptDurationMs": 102.90700000000001,
      "eventListeners": -16393,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.779999999999927,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 18399.965000000007,
      "styleRecalcs": 156,
      "styleRecalcDurationMs": 17.78200000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 17936.415,
      "heapDeltaBytes": -19829440,
      "heapUsedBytes": 192595424,
      "domNodes": -8312,
      "jsHeapTotalBytes": -17936384,
      "scriptDurationMs": 381.512,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 2,
      "frameDurationMs": 17.223333333333358,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 18298.332999999955,
      "styleRecalcs": 151,
      "styleRecalcDurationMs": 16.04,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 17844.995000000003,
      "heapDeltaBytes": -38330088,
      "heapUsedBytes": 174027284,
      "domNodes": -8312,
      "jsHeapTotalBytes": -14458880,
      "scriptDurationMs": 364.82899999999995,
      "eventListeners": -16385,
      "totalBlockingTimeMs": 13,
      "frameDurationMs": 17.223333333333358,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "workflow-execution",
      "durationMs": 116.92199999993136,
      "styleRecalcs": 7,
      "styleRecalcDurationMs": 15.972,
      "layouts": 5,
      "layoutDurationMs": 1.834,
      "taskDurationMs": 81.593,
      "heapDeltaBytes": 3128476,
      "heapUsedBytes": 64904296,
      "domNodes": 129,
      "jsHeapTotalBytes": 0,
      "scriptDurationMs": 6.706,
      "eventListeners": 25,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66666666666665,
      "p95FrameDurationMs": 16.700000000000273
    },
    {
      "name": "workflow-execution",
      "durationMs": 457.2960000000421,
      "styleRecalcs": 15,
      "styleRecalcDurationMs": 21.340999999999998,
      "layouts": 4,
      "layoutDurationMs": 1.4189999999999998,
      "taskDurationMs": 117.85100000000001,
      "heapDeltaBytes": 4949992,
      "heapUsedBytes": 67211384,
      "domNodes": 123,
      "jsHeapTotalBytes": 262144,
      "scriptDurationMs": 7.023999999999999,
      "eventListeners": 99,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    }
  ]
}

@github-actions github-actions Bot added the risk:R2 PR risk grade (advisory shadow check; grader-owned) label Aug 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:R2 PR risk grade (advisory shadow check; grader-owned) size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants