Skip to content

Support vector annotations in processing jobs - #916

Merged
PaulHax merged 4 commits into
Kitware:mainfrom
PaulHax:vector-tools
Aug 4, 2026
Merged

Support vector annotations in processing jobs#916
PaulHax merged 4 commits into
Kitware:mainfrom
PaulHax:vector-tools

Conversation

@PaulHax

@PaulHax PaulHax commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Adds end-to-end client support for passing vector annotations through backend processing jobs.

  • Define a .annotations.json interchange format for rulers, rectangles, and polygons in world LPS coordinates.
  • Extend the neutral processing contract with typed annotation staging and an add-annotations result intent.
  • Bind all finished annotations on the active image as a single automatic job input, snapshot them at submission time, and stage them with their reference image.
  • Revalidate automatic bindings as tools are added or removed. Required inputs block submission when no annotations are available, while optional inputs are shown as intentionally omitted.
  • Download and preflight annotation results before mutating the scene, resolve their planes against the referenced image, merge referenced labels by tool kind, and apply the tools as one update.
  • Preserve structured result provenance in saved sessions so loading a historical job does not duplicate outputs that were already restored.
image

Demo: https://youtu.be/Q5Zi8wOwTKY

Paried with backend implimentatoin here: DigitalSlideArchive/girder_volview#103

PaulHax added 3 commits August 4, 2026 11:34
Add a versioned world-LPS interchange format for rulers, rectangles, and polygons.

Validate geometry and label references with strict wire fixtures.

Extend staged inputs to a discriminated union of stageable types, then regenerate the artifacts.
Bind every finished ruler, rectangle, and polygon on the active image as one staged file.

Snapshot and validate the payload before uploads, and enforce reference-image requirements.

Exclude staged values when reconstructing a completed job parent.
Add the add-annotations result intent to the neutral contract and bump the intent vocabulary.

Preflight each result, then merge its labels and tools as one atomic update.

Resolve tool planes and advisory frames against the target image without changing the active label.

Persist structured result provenance for idempotency across session restores.
@netlify

netlify Bot commented Aug 4, 2026

Copy link
Copy Markdown

Deploy Preview for volview-dev ready!

Name Link
🔨 Latest commit 1715428
🔍 Latest deploy log https://app.netlify.com/projects/volview-dev/deploys/6a723184130790000804a0ee
😎 Deploy Preview https://deploy-preview-916--volview-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Render each automatic source as a labeled key and value with a stable two-column layout.

Show absent optional inputs as intentional omissions while preserving errors for required inputs.
@PaulHax
PaulHax added this pull request to the merge queue Aug 4, 2026
Merged via the queue into Kitware:main with commit 2668316 Aug 4, 2026
8 checks passed
@PaulHax
PaulHax deleted the vector-tools branch August 4, 2026 19:53
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.

1 participant