Conversation
sqrd-max
approved these changes
Jan 31, 2026
Collaborator
Author
|
#84 is moved here manually due to different directory structure. Lets count it as a merge conflict resolution |
Z position is now an absolute coordinate on the Z axis regardless of direction. Replaced direction checkbox with a mat-slide-toggle showing "Backward / Forward". Forward keeps z >= pos, backward keeps z <= pos.
The migration from MatTreeFlatDataSource to plain-array dataSource broke the refresh button because CdkTree doesn't re-render on simple array reassignment. Force change detection in two steps: clear the data source first so the tree disconnects, then set the new data.
updateMaterialClipping only checked for THREE.Mesh instances, missing THREE.Line/LineSegments used for outlines. Now updates clipping planes on any object with a material property.
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
- Move "Animate beam collision" button from header to bottom transport controls (between rewind and play) - Convert "Auto Play" from header button to mat-slide-toggle in Animation Settings dialog - Move debug/camera controls button from header to side tool panel (below ortho/perspective switch), rename to toggleCameraControls, change icon to videocam - Remove relocated buttons from mobile tools menu - Show app version in desktop logo menu and mobile nav menu
- Move "Camera to center" to be first item in menu - Add "Camera to Far Forward" preset (8000, 7500, 40000 with pivot at 0, 0, 30000) - Add "Make Screenshot" button using toDataURL for Firefox compatibility - Move recording controls into "Video Capture" subfolder (closed by default) - Rename "Offline Capture" to "High Resolution Capture" (closed by default) - Rename testButton to cameraToCenter
- Cartesian grid now on XZ plane at Y=-4000 instead of XY at z=0 - Implement eta/phi lines with labeled sprites for common eta values - Axis toggle controls existing ThreeService axes instead of creating duplicate - Add X/Y/Z text sprite labels at axes endpoints - Remove unused camera view preset buttons
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v2026-03 — Release Notes
What's New for Users
Z-axis Clipping for Radial Geometry Inspection (closes #65)
You can now clip the detector view along the Z-axis (beam axis), making it easy to inspect geometry in the radial direction — useful for assessing space available for service routing and cable management. A new Backward / Forward slide toggle controls the clipping direction, and the Z position is an absolute coordinate on the beam axis regardless of direction. This was a long-requested feature from Wouter Deconinck and the EIC detector integration team.
Improved Detector Coloring (addresses #38)
Subdetector geometries are now more reliably colored using the coloring rules. The
cool3andcool2color schemes have been finalized and tuned for better visual clarity across the full detector layout.Better Camera and View Controls
The camera controls menu (lil-gui) has been reorganized for better usability:
Reorganized Toolbar for Cleaner UX
The main display toolbar has been reorganized to reduce clutter:
Video Saving
You can now save visualization sessions as videos directly from the browser. Recording controls are accessible from the camera controls menu under "Video Capture".
Improved Grid and Reference Lines (addresses #40)
Better Default Experimental Data and Configurations
Default example events and geometry configurations have been updated to show more representative EIC physics scenarios out of the box.
Backend / pyrobird
Security Improvements
/shutdownendpoint for production deploymentsBatch Screenshots (closes #66, #67)
The
pyrobird screenshotcommand has been restored to working state after breakage from prior system updates. Integration tests now cover pyrobird CLI commands to prevent regressions.Technical / Infrastructure
Angular 21 → Angular 22 Upgrade (closes #85)
The frontend has been updated to Angular 21 (and further to Angular 22), enabling use of modern Angular APIs and reducing the number of security-flagged dependency alerts from Dependabot.
Migration from Karma to Vitest
Frontend tests have been migrated from Karma + Jasmine to Vitest, reducing test infrastructure complexity and aligning with the Angular 21+ recommended toolchain.
DD4Hep Plugin Fix
Fixed an incorrect unit conversion in the DD4Hep trajectory writer: time values were being written in picoseconds but interpreted as nanoseconds, causing trajectory timing to be off by a factor of 1000.
Python Package Cleanup
smoothcommandpyproject.tomlScene Tree Fix (Angular 21 migration)
The scene tree refresh button was broken by the Angular 21 Material tree migration (from
MatTreeFlatDataSourceto plain-arraydataSource). Fixed by forcing a two-step change detection cycle to reconnect theCdkTree.Line Geometry Clipping Fix
Clipping planes were not being applied to
THREE.Line/LineSegmentsobjects used for geometry outlines — onlyTHREE.Meshinstances were updated. All objects with amaterialproperty are now correctly clipped.Closed issues: #65 (Z clipping), #85 (Angular update), #66 (batch screenshots), #67 (pyrobird CLI tests), #87 (CalVer), #40 (grid plane)