test(e2e): update Playwright screenshots and add better tests and assertions for area calculations (#6022)

* Add (better) assertions for area calculation fixes.
* Add SVG and measurement side panel area for freehand ROI test.
* Add Playwright viewport screenshot scope migration guide.
* Update cornerstonjs dependencies to 4.22.8. Ensure all versions of @babel/preset-env are 7.29.5.

---------

Co-authored-by: Ghadeer Albattarni <165973963+GhadeerAlbattarni@users.noreply.github.com>
This commit is contained in:
Joe BoccanfusoandGhadeer Albattarni authored and GitHub committed 2026-05-18 10:36:05 -04:00
1 parent cb0cbe702c
commit fe16e80cf3
174 files changed
+1071 -751

No files matched your search

+30 -149
View File
@@ -42,7 +42,7 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.5.tgz#7d0658ec1a8420fc866d1df1b03bea0e79934c82"
integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==
"@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0":
"@babel/compat-data@^7.27.7":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790"
integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==
@@ -761,15 +761,6 @@
"@babel/helper-remap-async-to-generator" "^7.27.1"
"@babel/traverse" "^7.27.1"
"@babel/plugin-transform-async-generator-functions@^7.28.0":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2"
integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/helper-remap-async-to-generator" "^7.27.1"
"@babel/traverse" "^7.28.0"
"@babel/plugin-transform-async-generator-functions@^7.29.0":
version "7.29.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz#63ed829820298f0bf143d5a4a68fb8c06ffd742f"
@@ -811,13 +802,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-transform-block-scoping@^7.28.0":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz#e7c50cbacc18034f210b93defa89638666099451"
integrity sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-transform-block-scoping@^7.28.6":
version "7.28.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz#e1ef5633448c24e76346125c2534eeb359699a99"
@@ -869,18 +853,6 @@
"@babel/traverse" "^7.27.1"
globals "^11.1.0"
"@babel/plugin-transform-classes@^7.28.0":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz#12fa46cffc32a6e084011b650539e880add8a0f8"
integrity sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.27.3"
"@babel/helper-compilation-targets" "^7.27.2"
"@babel/helper-globals" "^7.28.0"
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/helper-replace-supers" "^7.27.1"
"@babel/traverse" "^7.28.0"
"@babel/plugin-transform-classes@^7.28.6":
version "7.28.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz#8f6fb79ba3703978e701ce2a97e373aae7dda4b7"
@@ -978,14 +950,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-transform-explicit-resource-management@^7.28.0":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz#45be6211b778dbf4b9d54c4e8a2b42fa72e09a1a"
integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-transform-destructuring" "^7.28.0"
"@babel/plugin-transform-explicit-resource-management@^7.28.6":
version "7.28.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz#dd6788f982c8b77e86779d1d029591e39d9d8be7"
@@ -1175,7 +1139,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.28.6"
"@babel/plugin-transform-object-rest-spread@7.28.0", "@babel/plugin-transform-object-rest-spread@^7.28.0":
"@babel/plugin-transform-object-rest-spread@7.28.0":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz#d23021857ffd7cd809f54d624299b8086402ed8d"
integrity sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==
@@ -1361,13 +1325,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-transform-regenerator@^7.28.0":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.0.tgz#f19ca3558f7121924fc4ba6cd2afe3a5cdac89b1"
integrity sha512-LOAozRVbqxEVjSKfhGnuLoE4Kz4Oc5UJzuvFUhSsQzdCdaAQu06mG8zDv2GFSerM62nImUZ7K92vxnQcLSDlCQ==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-transform-regenerator@^7.29.0":
version "7.29.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz#dec237cec1b93330876d6da9992c4abd42c9d18b"
@@ -1546,82 +1503,6 @@
"@babel/helper-create-regexp-features-plugin" "^7.28.5"
"@babel/helper-plugin-utils" "^7.28.6"
"@babel/preset-env@7.28.0":
version "7.28.0"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.28.0.tgz#d23a6bc17b43227d11db77081a0779c706b5569c"
integrity sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==
dependencies:
"@babel/compat-data" "^7.28.0"
"@babel/helper-compilation-targets" "^7.27.2"
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/helper-validator-option" "^7.27.1"
"@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1"
"@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.27.1"
"@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
"@babel/plugin-syntax-import-assertions" "^7.27.1"
"@babel/plugin-syntax-import-attributes" "^7.27.1"
"@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
"@babel/plugin-transform-arrow-functions" "^7.27.1"
"@babel/plugin-transform-async-generator-functions" "^7.28.0"
"@babel/plugin-transform-async-to-generator" "^7.27.1"
"@babel/plugin-transform-block-scoped-functions" "^7.27.1"
"@babel/plugin-transform-block-scoping" "^7.28.0"
"@babel/plugin-transform-class-properties" "^7.27.1"
"@babel/plugin-transform-class-static-block" "^7.27.1"
"@babel/plugin-transform-classes" "^7.28.0"
"@babel/plugin-transform-computed-properties" "^7.27.1"
"@babel/plugin-transform-destructuring" "^7.28.0"
"@babel/plugin-transform-dotall-regex" "^7.27.1"
"@babel/plugin-transform-duplicate-keys" "^7.27.1"
"@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
"@babel/plugin-transform-dynamic-import" "^7.27.1"
"@babel/plugin-transform-explicit-resource-management" "^7.28.0"
"@babel/plugin-transform-exponentiation-operator" "^7.27.1"
"@babel/plugin-transform-export-namespace-from" "^7.27.1"
"@babel/plugin-transform-for-of" "^7.27.1"
"@babel/plugin-transform-function-name" "^7.27.1"
"@babel/plugin-transform-json-strings" "^7.27.1"
"@babel/plugin-transform-literals" "^7.27.1"
"@babel/plugin-transform-logical-assignment-operators" "^7.27.1"
"@babel/plugin-transform-member-expression-literals" "^7.27.1"
"@babel/plugin-transform-modules-amd" "^7.27.1"
"@babel/plugin-transform-modules-commonjs" "^7.27.1"
"@babel/plugin-transform-modules-systemjs" "^7.27.1"
"@babel/plugin-transform-modules-umd" "^7.27.1"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
"@babel/plugin-transform-new-target" "^7.27.1"
"@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
"@babel/plugin-transform-numeric-separator" "^7.27.1"
"@babel/plugin-transform-object-rest-spread" "^7.28.0"
"@babel/plugin-transform-object-super" "^7.27.1"
"@babel/plugin-transform-optional-catch-binding" "^7.27.1"
"@babel/plugin-transform-optional-chaining" "^7.27.1"
"@babel/plugin-transform-parameters" "^7.27.7"
"@babel/plugin-transform-private-methods" "^7.27.1"
"@babel/plugin-transform-private-property-in-object" "^7.27.1"
"@babel/plugin-transform-property-literals" "^7.27.1"
"@babel/plugin-transform-regenerator" "^7.28.0"
"@babel/plugin-transform-regexp-modifiers" "^7.27.1"
"@babel/plugin-transform-reserved-words" "^7.27.1"
"@babel/plugin-transform-shorthand-properties" "^7.27.1"
"@babel/plugin-transform-spread" "^7.27.1"
"@babel/plugin-transform-sticky-regex" "^7.27.1"
"@babel/plugin-transform-template-literals" "^7.27.1"
"@babel/plugin-transform-typeof-symbol" "^7.27.1"
"@babel/plugin-transform-unicode-escapes" "^7.27.1"
"@babel/plugin-transform-unicode-property-regex" "^7.27.1"
"@babel/plugin-transform-unicode-regex" "^7.27.1"
"@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
"@babel/preset-modules" "0.1.6-no-external-plugins"
babel-plugin-polyfill-corejs2 "^0.4.14"
babel-plugin-polyfill-corejs3 "^0.13.0"
babel-plugin-polyfill-regenerator "^0.6.5"
core-js-compat "^3.43.0"
semver "^6.3.1"
"@babel/preset-env@7.29.5":
version "7.29.5"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.29.5.tgz#c48b7ed94582c8b685e21b8b42de8633ec289268"
@@ -2026,10 +1907,10 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@cornerstonejs/adapters@4.22.3":
version "4.22.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-4.22.3.tgz#8d2d9246706fa7b9f72e2472b9a2fc9419d700ed"
integrity sha512-58TaTUl7AmLARnKApfz9c5IWzIaPPewH8sjD0BxKu5PeVHSRSlKX7jH4pv1akapIbDqXBEW6unb45kLmm6u7dg==
"@cornerstonejs/adapters@4.22.8":
version "4.22.8"
resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-4.22.8.tgz#31d12e82fbf108adebb6a9dea8690e7423b68f32"
integrity sha512-WUphdrsQVGqUN5KPt75FN4a7/tL49k41eCLa5fW8FmhNoi/NkmCPlr91z0ixf07P2dMtzv/eSmJ3IZI6W+FIrw==
dependencies:
"@babel/runtime-corejs2" "7.26.10"
buffer "6.0.3"
@@ -2037,10 +1918,10 @@
gl-matrix "3.4.3"
ndarray "1.0.19"
"@cornerstonejs/ai@4.22.3":
version "4.22.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/ai/-/ai-4.22.3.tgz#a8f7d8ae05cef79dd9d8bafbfcc789e2f5dbc893"
integrity sha512-NhRcQISjcDCp7rWCK9hGmCgsS36XKyT4AsCBgXuG7iU3ghI77j5kt9sUdqi0M4lRYLYZ1XMrFSDjNDCwFP+eYg==
"@cornerstonejs/ai@4.22.8":
version "4.22.8"
resolved "https://registry.yarnpkg.com/@cornerstonejs/ai/-/ai-4.22.8.tgz#0c621965f74c825ec80c08da63a436bb3da414af"
integrity sha512-rN/7nicjphDsOWqPGTzbq/BTJD8dy2r7XW4P46FnyEPRmO8KVisTOvHaEEu3EklMVqvodbRzigW73kO1mh7eNw==
dependencies:
"@babel/runtime-corejs2" "7.26.10"
buffer "6.0.3"
@@ -2076,20 +1957,20 @@
resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-openjph/-/codec-openjph-2.4.7.tgz#784394d05d8cf735640e9c3baa206535ee8e0376"
integrity sha512-qvP4q4JDib7mi9r7LqKOwqz7YZ8gjtDX4ZCezeYf8+eb7MBXCz5uXAMeVF3yz9Axw4XiIMdB/pqXkm8tqCl13w==
"@cornerstonejs/core@4.22.3":
version "4.22.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-4.22.3.tgz#0532a7ffba163a8738c289d044ce04bc950479e3"
integrity sha512-oxLcg24ER3HHSAEsz3iG7+cb2oHnVSzt7H8EeRtK69e6Ztjl6XkEmXeAbbJypm2QYIkPYb3oJb6zWeYOz1NtYw==
"@cornerstonejs/core@4.22.8":
version "4.22.8"
resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-4.22.8.tgz#5ff9c8106c37e5009941c148338596eb744943d7"
integrity sha512-GOv8sTwV3hqhZpAYSFH/yhNj15TgcWh364ndIegT29g87FURHu8Ql9cF6irOamAuehJ3YKfbPxUZzqiXtfyPDg==
dependencies:
"@kitware/vtk.js" "34.15.1"
comlink "4.4.2"
gl-matrix "3.4.3"
loglevel "1.9.2"
"@cornerstonejs/dicom-image-loader@4.22.3":
version "4.22.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-4.22.3.tgz#f3d91191cb27d840a9aa49b6c78d0b1f3634acc0"
integrity sha512-TVPSc3PUvy2I6+ZnWX8B2uqJZ5onUd/+e+m/BfeEdZC51GMhC4VfTmqOwOjWDNDyO35ZA9j1mqk8iIJzDpqoeA==
"@cornerstonejs/dicom-image-loader@4.22.8":
version "4.22.8"
resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-4.22.8.tgz#3b70a713a96293a408a8d5c43358ada68aaea692"
integrity sha512-3Bb3xJiO9ddDCeT/wHL8R0G1t8W4+aYY8N9YGV+eMUI1WTkRES3WH3N7U8EtjLYXKqfc15NIEe78Otf2qS+CgQ==
dependencies:
"@cornerstonejs/codec-charls" "1.2.3"
"@cornerstonejs/codec-libjpeg-turbo-8bit" "1.2.2"
@@ -2101,25 +1982,25 @@
pako "2.1.0"
uuid "9.0.1"
"@cornerstonejs/labelmap-interpolation@4.22.3":
version "4.22.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/labelmap-interpolation/-/labelmap-interpolation-4.22.3.tgz#7c01448cb0c02f47ca7e95db836153c0169d0200"
integrity sha512-ngschi2EKr+47LWbbTiu6tt3aw4e7yp0mVCDXwJm1Z2eyugemiiAQvOT77EKSBZ//L2fAZR3Edr+qJFzPa5KUw==
"@cornerstonejs/labelmap-interpolation@4.22.8":
version "4.22.8"
resolved "https://registry.yarnpkg.com/@cornerstonejs/labelmap-interpolation/-/labelmap-interpolation-4.22.8.tgz#f2460283325cde38f13e57039c12e6eba5aca6db"
integrity sha512-GKr123lPCr6Tl3GDOFMjm0m+gexDvAJjYYGshCcSx6/pT6PT30ALRXi0pXXdcGr1kbk9SKEMM1uzxFLXJs6uIQ==
dependencies:
"@itk-wasm/morphological-contour-interpolation" "1.1.0"
itk-wasm "1.0.0-b.165"
"@cornerstonejs/polymorphic-segmentation@4.22.3":
version "4.22.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/polymorphic-segmentation/-/polymorphic-segmentation-4.22.3.tgz#41f3eb0848a03de4ec4a4034be7f2989c543b94d"
integrity sha512-JNmtLbuwY8de3uwFf1YqySp5wt2BCT6kpg9gcoDNMmNxGDo0uT5yph1Muh+24sG7WDaoRwyzAEvG11h9NHgoqw==
"@cornerstonejs/polymorphic-segmentation@4.22.8":
version "4.22.8"
resolved "https://registry.yarnpkg.com/@cornerstonejs/polymorphic-segmentation/-/polymorphic-segmentation-4.22.8.tgz#4d5930458abf3921929bf2db9f622fb5bbce437f"
integrity sha512-cLliz/E4BjKKw7rnyYvDprc8BK011LwaCwvWv6h9iUGWm2j72NhsRLf2jdcpEav3wyUJtWDHlvXO3QBzlHHW0A==
dependencies:
"@icr/polyseg-wasm" "0.4.0"
"@cornerstonejs/tools@4.22.3":
version "4.22.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-4.22.3.tgz#45e2f7bb60c29fc545da525765f8708dac5202a6"
integrity sha512-2XQmUesRWiqWTh3xGnLsQ6qqKI55vSVV4UqGXiPxnMcf6azDfEhcJO8JJCH1VXaDa89jxLBdZUDehUnb0UsIxA==
"@cornerstonejs/tools@4.22.8":
version "4.22.8"
resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-4.22.8.tgz#e34c5359a3dee9a809361c7d3ee335d8a9e51e1a"
integrity sha512-vDTMIOJ+oZJyPixg/iQbYNM9XFz2Ud+VGMAf6mAP3LhpH7ofCh0Phkf9BtJiCjKT+IQqloFSvWjy6aoLd8KNJA==
dependencies:
"@types/offscreencanvas" "2019.7.3"
comlink "4.4.2"