Skip to content

Codex/pr 04#94

Closed
staylor-v1 wants to merge 240 commits intosandialabs:mainfrom
staylor-v1:codex/PR-04
Closed

Codex/pr 04#94
staylor-v1 wants to merge 240 commits intosandialabs:mainfrom
staylor-v1:codex/PR-04

Conversation

@staylor-v1
Copy link
Copy Markdown

Motivation

  • Provide a multi-planar reconstruction (MPR) workbench for PT2/PT3 projects with synchronized slice navigation and shared viewport controls.
  • Preserve existing PT1 external view-board behavior while introducing volumetric UI and locator for PT2/PT3.
  • Surface the change in the planning artifact and include automated test coverage and a screenshot runtime artifact for verification.

Description

  • Updated planning doc docs/planning/inspection-workbench-pr-artifact.md to mark PR-04 implemented and recorded the PR-04 scope.
  • Implemented an MPR workbench in InspectionWorkbenchPanel.js including getMprDimensions, slice state, updateSlicePosition, adjustZoom, panViewport, and resetViewport, with conditional rendering to preserve PT1 view-board behavior.
  • Added styles in frontend/src/App.css for .mpr-shell, .mpr-grid, .mpr-pane, crosshair preview, legend chips, and navigation controls.
  • Expanded automated tests and artifacts by updating the Playwright spec frontend/e2e/specs/inspection-workbench.spec.js (screenshot path to artifacts/pr04-mpr-workbench.png and PT2/PT3 MPR assertions) and extending the React Testing Library test frontend/src/components/__tests__/InspectionWorkbenchPanel.test.js with volume_shape fixtures and synchronized-state assertions.

Testing

  • Ran component unit tests in frontend/src/components/__tests__/InspectionWorkbenchPanel.test.js (React Testing Library) covering PT1/PT2/PT3 progressive scenarios, and they passed.
  • Ran Playwright E2E spec frontend/e2e/specs/inspection-workbench.spec.js which validates rendering and interaction for PT1/PT2/PT3 and produces artifacts/pr04-mpr-workbench.png, and the suite passed.
  • Automated assertions verify synchronized slice locator, zoom/pan behavior, and part-switch synchronization for PT2/PT3 and they succeeded.

garland3 and others added 30 commits December 6, 2025 17:19
This commit addresses multiple CI/CD pipeline failures:

1. CodeQL Configuration: Remove invalid 'name' field from config file
   - The 'name' field is not a valid top-level configuration option
   - Resolves "1 configuration not found" warning

2. CI/CD Pipeline Tests: Fix virtualenv activation in test job
   - Change from 'source' command to PATH export for better compatibility
   - Ensures Python environment is properly activated for test runner

3. Container Security Scan: Update Trivy action and configuration
   - Pin Trivy action to specific version (0.28.0) instead of @master
   - Add 'ignore-unfixed' option to reduce false positives
   - Add 'category' to SARIF upload for better organization

4. CodeQL JavaScript/TypeScript: Skip autobuild for JS analysis
   - JavaScript/TypeScript analysis doesn't require autobuild step
   - Only run autobuild for Python language matrix
   - Add explicit 'upload: true' parameter to analysis step

All changes maintain the no-emoji policy and follow existing code style.

Generated with feature

Co-Authored-By: feature Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Add script to launch PostgreSQL and MinIO using Podman or Docker
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Fix GraphQL scan artifact upload failure for projects without GraphQL
…r-mcp

Copilot/add backend support for mcp
travisdock and others added 27 commits March 20, 2026 12:26
…y-grid

Replace gallery S/M/L size buttons with a continuous thumbnail size slider
- CalibrationManager: add matchedRule state, check calibration_rules in
  project metadata between image override and project default; add
  handleSaveMetadataRule handler; show rule info in purple label
- CalibrationEditForm: add imageMetadataKeys/onSaveMetadataRule props and
  Save for Matching Metadata section with key selector dropdown
- CalibrationManager.test.js: add 6 tests for metadata rule matching,
  priority, fallback, and saving

Co-authored-by: travisdock <36681963+travisdock@users.noreply.github.com>
Agent-Logs-Url: https://github.com/sandialabs/VISTA/sessions/17329e5f-6c33-4832-93b4-1875e80c00ea
  The metadata field fallback (image.metadata vs image.metadata_) was
  duplicated in loadCalibration and the imageMetadataKeys prop. Extract
  it into a shared imageMetadata useMemo at the component level so the
  resolution logic lives in one place.
  Reset isImageOverride when a metadata rule matches to prevent the
  UI from showing "Using image-specific calibration" after an override
  is cleared. Simplify validation guard to check truthiness instead of
  matching a specific error message prefix.
  After deleting calibration_override via API, the local image metadata
  still contained the old value, causing loadCalibration to short-circuit
  back to the override state. Now removes the key from the local object
  before reloading. Also renamed the button from "Revert to Project
  Default" to "Clear Image Override" since the fallback may be a metadata
  rule rather than the project default.
  handleClearOverride was directly deleting calibration_override from
  the image prop object, which violates React's immutability assumptions
  and can cause subtle bugs if the parent re-renders or references the
  same object. Use an overrideCleared ref instead to signal loadCalibration
  to skip the stale override check. The ref resets when the image changes
  or a new override is saved.
  validateCalibration now returns a structured result ({ error } or
  { warning }) instead of a plain string. Save handlers block only on
  actual errors (non-positive numbers), while unrealistic-but-valid
  values show a transient warning message and proceed with the save.
  The previous if (validation) check was treating both cases as hard
  errors.
  Add validation for rule.calibration shape (pixels_per_mm, pixels_per_inch)
  before using a matched metadata rule, preventing runtime errors from
  malformed rules. Fix useMemo dependency to track the metadata reference
  instead of the entire image object, avoiding unnecessary recalculations.
  Move the read-only calibration view (formatted values, status label,
  action buttons, empty state) into CalibrationDisplay.js. Extract shared
  validation and calibration data construction into top-level helpers,
  replacing the duplicated preamble across all three save handlers.
  Brings CalibrationManager.js from 558 lines down to 397.
…-per-metadata-again

Add metadata-based calibration rules as mid-priority calibration tier
…ests-into-groups

Add AGENTS workflow and planning docs (repo orchestration, triage, handoff)
Added adversarial functional testing and improvement to QA/Tester Role.
…inspection-workbench

Add Inspection Workbench: inspection_batches/inspection_parts models, APIs, migration and tests
…inspection-workbench-ije30h

Add inspection workbench: review-state API, workbench UI, and tests
@staylor-v1 staylor-v1 closed this Apr 9, 2026
@staylor-v1 staylor-v1 deleted the codex/PR-04 branch April 9, 2026 20:49
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.

4 participants