Skip to content

Validate migrated scenes against the bone viewer (#468) - #506

Merged
mudabs merged 1 commit into
oss-slu:mainfrom
Subomiadekunle:validate-migrated-scenes-468
Oct 11, 2026
Merged

mudabs merged 1 commit into
oss-slu:mainfrom
Subomiadekunle:validate-migrated-scenes-468

Conversation

@Subomiadekunle

Copy link
Copy Markdown
Collaborator

Closes #468 (part of #463)

This checks that bone content imported into the Scene Editor matches what students see in the bone viewer. I didn't change any import code. #467 was already approved, so this only tests what was merged and writes down the differences.

What's added:

  • boneset-api/migrationValidation.test.js: imports all 200 items in the viewer's dropdowns and checks image order, proportions, image files, labels, annotation links, and colored region placement.
  • boneset-api/scripts/migration-report.js: writes docs/migration-validation/report.md, which lists what every item imports and what it doesn't.
  • docs/migration-validation/README.md: side-by-side screenshots for 10 items (at least one from every boneset), the differences I found (D1 to D7), and what I think should happen next.

Results:

  • 179 of 200 items import. The other 21 have no description file, no images, or an id the API rejects.
  • Images import correctly: the right files, in the right order, with the right proportions.
  • Newer-format colored regions line up with the images.
  • Label and pointer line positions don't match the viewer yet (D1, D2). I suggested a follow-up issue for that.

How to test:

  • npm test (all suites pass)
  • node boneset-api/scripts/migration-report.js

@mudabs mudabs left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Approving. Thanks for the thorough validation work. The D1–D7 write-up and the side-by-side screenshots make the remaining gaps easy to see. I re-ran migration-report.js and got the same numbers (200 items, 179 imported, 334 images, 483 labels, 480 lines, 688 regions). The new tests and lint pass locally.

Since this PR adds no product code, I'm happy to merge it now. A few things should follow up, ideally in one small PR:

  1. Silent drop-outs. If an item stops importing, every test still passes. I broke humerus_description.json locally and all 9 tests stayed green. It would help to assert that exactly 179 items import and that the 21 not imported match the ids in D6.
  2. Missing images. An item that loses an image file still imports with fewer images, and the image tests don't catch it. A check that images.length === totalImages for each imported item would fix that.
  3. Label test. The "Only imported together with all of the bone's images" warning counts as one skipped label instead of all of them. A legitimate group skip would fail the test.
  4. report.md. The committed intro and headings don't match what the script writes, so regenerating it produces a diff.
  5. D2 numbers. The 176 labels / 152 lines outside the viewer panel aren't calculated anywhere in the PR. It would be good to add that to the script or say how it was measured.

Agree that D1/D2 (label placement) should be a follow-up issue to #467.

@mudabs
mudabs merged commit 8a580c6 into oss-slu:main Oct 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Small Rock] Validate Migrated Scenes

2 participants