Skip to content

[DPF]: Extend and refactor 3D viewer to DataProviderFramework#987

Merged
rubenthoms merged 189 commits intoequinor:mainfrom
rubenthoms:dpf-3dviewer
Sep 19, 2025
Merged

[DPF]: Extend and refactor 3D viewer to DataProviderFramework#987
rubenthoms merged 189 commits intoequinor:mainfrom
rubenthoms:dpf-3dviewer

Conversation

@rubenthoms
Copy link
Copy Markdown
Collaborator

@rubenthoms rubenthoms commented May 15, 2025

Main contributions

  • Refactored 3D viewer to Data Provider Framework (DPF)
  • Added new endpoint for all seismic slices (inline, crossline, depth)
  • Added new rule to dependency-cruiser to prevent cross-module imports
  • Fixed permitted cross-module imports (moved shared code to _shared directory)
  • Added support for GLSL shader files to frontend config
  • Improved ToggleButton and ColorTile components
  • Added custom icons
  • Added memoization to VisualizationAssembler

Remaining tasks:

  • Add seismic/grid intersection providers from Intersection module
  • Preview seismic layers (wrong dimensions?)
  • [ ] Define seismic range as "undefined" with a given custom color (e.g. transparent) - postponed
  • Move all seismic inline/depth/crossline providers into a single provider
  • Add info box with info about controls in SubsurfaceViewer
  • [ ] Make grid range filter a single setting which also supports zonation and region filter - postponed
  • Seismic deck.gl layer does not respect vertical scale
  • Improve UX when switching field - implemented a temporary fix while awaiting conclusion on feat: per-layer bounding box tracking with removal support webviz-subsurface-components#2573
  • Testing and checking performance
  • Set vertical scale default to 10 and drop decimals.
  • Issue with AdvancedWellsLayer and verticalScale

Closes #1023.
Closes #783.

@rubenthoms rubenthoms requested a review from Anders2303 August 14, 2025 07:38
Copy link
Copy Markdown
Collaborator

@Anders2303 Anders2303 left a comment

Choose a reason for hiding this comment

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

Looks good, I see two issues in the rendering of hover-effects:

  1. The red line that show up is rendered with inverse z-coordinates
  2. The MD marker's scale is affected by the the z-scale, which does make it look pretty weird on a high value, like 10 (especially noticable on curved paths)
Screen.Recording.2025-08-29.111054.mp4
Screen.Recording.2025-08-29.112042.mp4

Copy link
Copy Markdown
Collaborator

@Anders2303 Anders2303 left a comment

Choose a reason for hiding this comment

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

All looks good, but in fixing the Bicone scaling issue, the earlier fix to the bicone's position was reverted.

I think all you'd need to fix it is to apply the z-scale to the center point when you render it

centerpoint[2] *= this.props.modelMatrix[10] // <--

if (this.props.modelMatrix) {
    this.props.modelMatrix[10] = 1; // Prevent scaling in Z direction
}
Screen.Recording.2025-09-19.084525.mp4

Copy link
Copy Markdown
Collaborator

@Anders2303 Anders2303 left a comment

Choose a reason for hiding this comment

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

LGTM

@rubenthoms rubenthoms merged commit 4ebba3e into equinor:main Sep 19, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Higher default Z-scaling factor + integer incremental value Apply layer framework from 2D viewer to Intersection and 3D viewer

3 participants