ohif-viewer/pnpm-workspace.yaml
Bill Wallace dbb8b1526e
feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (#5806)
* feat: Update to use pnpm (#6031) [simulated squash-merge]

* feat: load DICOM SEG images via imageLoader

* feat: load DICOM SEG images via imageLoader

* PR review fixes

* Test fragment of compressed multiframes

* fix: Removed dependencies incorrectly

* Update frame as a targetted change to avoid stripping remaining params

* lock

* Update test to agree with the missing representation branch

* test(contour): contour color change coverage (#6042)

* test(contour): contour interactions delete segment (#6069)

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>

* chore(version): Update package versions to 3.13.0-beta.98 [skip ci]

* feat(testing): OHIF Test Agent Skills (#5993)

* chore(version): Update package versions to 3.13.0-beta.99 [skip ci]

* test(contour): Add the ContourSegmentToggleLock.spec.ts test file to test contour locking (#6072)

* chore(version): Update package versions to 3.13.0-beta.100 [skip ci]

* chore(testing): Flock lock for playwright tests; Pin node version for OHIF; add more workers (#6099)

* update Cypress apt deps for Ubuntu Noble (drop libgconf-2-4, libasound2→libasound2t64)

* chore(version): Update package versions to 3.13.0-beta.101 [skip ci]

* Debug fixes

* perf(seg): pass explicit frame decode concurrency (16) to SEG loader

Pass an explicit concurrency value (SEG_FRAME_DECODE_CONCURRENCY = 16) into
createFromDicomSegImageId rather than relying on the adapter default, so the
SEG frame fetch/decode parallelism is set at the call site and is ready to
become configurable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(behaviours): add behaviours section + multiframe Part 10 prefetch proposal

Start a "Behaviours" docs section for documenting how the system and UI behave
end-to-end (observed behaviours, design proposals, and failure modes), with an
index README and a Docusaurus category.

First entry is the proposal for loading a multiframe SEG as a single Part 10
instance: prefetch the whole instance (gated by loadMultiframeAsPart10RaceTimeMs),
parse it with dcmjs (handling multipart/related vs raw DICOM), and register the
per-frame compressed pixels into the Cornerstone3D core image cache (the single
uniform frame registry) so the per-frame load path is served locally while the
standard decode path is unchanged. Best-effort: falls back to per-frame fetches
on any failure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Pre-cache the image data using a full part10 file for performance

* Add customizations to specify type of segmentation save

* Add clearcache of the cacheData

* Bump @cornerstonejs/* pins 5.1.3 -> 5.4.10 to match libs/@cornerstonejs base

libs/@cornerstonejs (fix/use-imageLoader-for-seg) is based on the released
cs3d 5.4.10 (merge-base with origin/main is the 5.4.10 version bump), so pin
OHIF to that release. The local branch changes still reach the app via the
cs3d:link symlinks; these pins keep the lockfile/npm fallback aligned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Fix seg OOM

* fix: file meta garbage element, bogus NumberOfFrames, unguarded source-map-loader

- dicomWriter: drop the naturalized meta.TransferSyntaxUID assignment that
  dcmjs wrote as a garbage (0000,0000) element into every saved file's meta
  group (download / clipboard / local wadouri blob / local store); keep the
  hex 00020010 assignment, which is required for string-form _meta fallbacks.
- registerNaturalizedDatasetForLocalWadouri: keep the computed frame count
  local so single-frame IODs (SR, RTSTRUCT) no longer gain a bogus
  NumberOfFrames element in their serialized form.
- rsbuild.config: resolve source-map-loader opportunistically (it is not a
  project dependency; the rule only serves the gitignored cs3d-link
  workflow) so fresh clones no longer crash at config load.
- Regression tests for both writer fixes (mutation-checked).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* PR review comment fixes

* Update versions

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: diattamo <mmddiatta@gmail.com>
Co-authored-by: ohif-bot <danny.ri.brown+ohif-bot@gmail.com>
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
2026-07-09 20:54:23 -04:00

92 lines
2.8 KiB
YAML

packages:
- platform/*
- extensions/*
- modes/*
# Mirror the cornerstone3D pnpm setup (libs/@cornerstonejs) which is known-good.
nodeLinker: hoisted
strictPeerDependencies: false
linkWorkspacePackages: true
preferWorkspacePackages: true
minimumReleaseAge: 2880
# Exempt the cornerstone3D packages from the release-age check: they are pinned
# to an exact version (5.0.0) that may be newer than the cutoff. Mirrors the
# bunfig.toml `minimumReleaseAgeExcludes` list (pnpm supports glob patterns).
minimumReleaseAgeExclude:
- '@cornerstonejs/*'
frozenLockfile: true
# Skip the pre-`pnpm run` frozen deps-check; installs set freshness explicitly.
verifyDepsBeforeRun: false
# Equivalent of the bun `audit --ignore=...` flags. These GHSAs are accepted
# risk: minimatch/picomatch advisories reached only via build/CI tooling, never
# fed user-supplied expressions. Kept in sync with the .circleci SECURITY_AUDIT
# job and the root `audit` script.
auditConfig:
ignoreGhsas:
- GHSA-mp2f-45pm-3cg9 # decompress is called only ever decompresses a hash-pinned, hardcoded archive in a dev-only CLI
allowBuilds:
'@scarf/scarf': true
'@swc/core': true
core-js: true
core-js-pure: true
cypress: true
protobufjs: true
sharp: true
overrides:
# Synced from origin/master's package.json `resolutions` block during the
# merge. Keep this list aligned with master so security/version pins from
# upstream PRs land here too.
commander: 8.3.0
cross-env: 7.0.3
cross-spawn: 7.0.6
dcmjs: 0.52.0
path-to-regexp: 0.1.13
nth-check: 2.1.1
trim-newlines: 5.0.0
glob-parent: 6.0.2
trim: 1.0.1
package-json: 8.1.1
rollup: 2.80.0
body-parser: 1.20.3
axios: 1.17.0
core-js: 3.45.1
'@babel/runtime-corejs2': 7.26.10
tapable: 2.2.2
'@cornerstonejs/codec-openjpeg': 1.3.0
node-forge: 1.4.0
qs: 6.14.1
lodash: 4.18.1
lodash-es: 4.18.1
diff: 5.2.2
webpack: 5.105.0
tar: 7.5.11
serialize-javascript: 7.0.4
svgo: 3.3.3
flatted: 3.4.2
handlebars: 4.7.9
protobufjs: 7.6.1
tmp: 0.2.7
shell-quote: 1.8.4
# fast-uri <=3.1.1 reaches the tree only via platform/docs
# (@docusaurus/plugin-pwa > workbox-build > ajv). 3.1.2 patches both
# GHSA-q3j6-qgpj-74h6 (path traversal) and GHSA-v39h-62p7-jpjc (host confusion).
fast-uri: 3.1.2
'@babel/plugin-transform-modules-systemjs': 7.29.4
# pnpm-branch-only overrides (kept across merges from master).
sharp: 0.34.5
# Force a single modern tslib for the whole workspace. Without this, rxjs@6
# pulls in tslib@1, which gets hoisted to root node_modules and shadows the
# tslib@2 that modern packages (e.g. react-remove-scroll) need for
# __spreadArray.
tslib: 2.8.1
'ws@>=7.0.0 <7.5.11': 7.5.11
'ws@>=8.0.0 <8.21.0': 8.21.0
form-data: 4.0.6
'minimatch@<3.1.4': 3.1.5
'minimatch@>=10.0.0 <10.2.3': 10.2.5
'picomatch@<2.3.2': 2.3.2
'picomatch@>=4.0.0 <4.0.4': 4.0.4