Skip to content

Feature/data manipulation distinction#82

Merged
olivhoenen merged 9 commits into
iterorganization:developfrom
mfiaudrin-epsyl:feature/data_manipulation_distinction
Jun 5, 2026
Merged

Feature/data manipulation distinction#82
olivhoenen merged 9 commits into
iterorganization:developfrom
mfiaudrin-epsyl:feature/data_manipulation_distinction

Conversation

@mfiaudrin-epsyl

Copy link
Copy Markdown
Collaborator

This feature add :

  • Distinction between visual changes and data manipulations
  • Allow the user to select interpolation method in data manipulation

IMPORTANT
Since this feature is needed to continue #74 implementation, I need to merge it in priority in order to not be blocked.

@mfiaudrin-epsyl mfiaudrin-epsyl marked this pull request as draft June 4, 2026 06:30
@mfiaudrin-epsyl mfiaudrin-epsyl marked this pull request as ready for review June 4, 2026 07:53
@olivhoenen olivhoenen requested a review from Copilot June 4, 2026 10:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a clearer separation between visual customization and data manipulation for plotted grids, and adds support for selecting an interpolation method when data is interpolated (needed for follow-up work in PR #74).

Changes:

  • Split the customization entrypoint into two actions: Data manipulation vs Visual customization.
  • Add interpolation-method discovery (/info/data_manipulation_methods) and propagate interpolated_method through plot state and fetch paths.
  • Update plotting/customization flows (downsampling, range restore, error bands, metadata fetch) to respect the selected interpolation method.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
frontend/src/tests/plot-ui.spec.ts Updates E2E selector to use the new visual customization button test id.
frontend/src/renderer/utils/plot.ts Threads interpolated_method through plot creation, interpolation refresh, error bands, and reload logic.
frontend/src/renderer/utils/fetchData.ts Adds interpolation method plumbing and new API call for manipulation methods.
frontend/src/renderer/types/plot.ts Adds interpolated_method to plot state types and removes duplicate downsampling fields.
frontend/src/renderer/types/data.ts Adds interpolated_method to plot response typing and introduces manipulation-method response types.
frontend/src/renderer/types/configuration.ts Changes customizedGridLayout from an id to {id,type} to support the split customization modes.
frontend/src/renderer/pages/visualization/VisualizationMetaData.tsx Fetches metadata coordinates using the currently selected interpolation method and dependencies.
frontend/src/renderer/pages/visualization/DataplotCustomization.tsx Renders different accordions based on customization type and propagates interpolated_method.
frontend/src/renderer/pages/visualization/customizableElements/index.ts Re-exports customization components, including interpolation.
frontend/src/renderer/pages/visualization/customizableElements/CustomizeInterpolation.tsx New UI + logic to select interpolation method and re-fetch interpolated data/error bands.
frontend/src/renderer/pages/visualization/customizableElements/CustomizeDownsampling.tsx Ensures downsampling refetch keeps interpolation dependencies/method.
frontend/src/renderer/pages/visualization/customizableElements/CustomizeDataRange.tsx Ensures range restore refetch keeps interpolation dependencies/method.
frontend/src/renderer/layout/MainLayout.tsx Includes interpolated_method when preparing plot layout state.
frontend/src/renderer/components/tree/TreeLibrariesAccordion.tsx Adapts to new customizedGridLayout shape by passing .id.
frontend/src/renderer/components/grid/HoverButtons.tsx Adds separate “Data manipulation” and “Visual customization” buttons.
frontend/src/renderer/components/grid/GridLayoutPlot.tsx Updates customization handler to store {id,type}.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread frontend/src/renderer/utils/fetchData.ts Outdated
Comment thread frontend/src/renderer/utils/fetchData.ts
Comment thread frontend/src/renderer/utils/fetchData.ts
Comment thread frontend/src/renderer/utils/fetchData.ts
Comment thread frontend/src/renderer/utils/fetchData.ts Outdated
Comment thread frontend/src/renderer/components/grid/HoverButtons.tsx
Comment thread frontend/src/renderer/components/grid/HoverButtons.tsx
Comment thread frontend/src/renderer/utils/fetchData.ts
Comment thread frontend/src/renderer/pages/visualization/VisualizationMetaData.tsx
Comment thread frontend/src/renderer/components/grid/HoverButtons.tsx
@mfiaudrin-epsyl

Copy link
Copy Markdown
Collaborator Author

Pull request overview

This PR introduces a clearer separation between visual customization and data manipulation for plotted grids, and adds support for selecting an interpolation method when data is interpolated (needed for follow-up work in PR #74).

Changes:

  • Split the customization entrypoint into two actions: Data manipulation vs Visual customization.
  • Add interpolation-method discovery (/info/data_manipulation_methods) and propagate interpolated_method through plot state and fetch paths.
  • Update plotting/customization flows (downsampling, range restore, error bands, metadata fetch) to respect the selected interpolation method.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 14 comments.

Show a summary per file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Done @olivhoenen

@olivhoenen

Copy link
Copy Markdown
Contributor

Thx @mfiaudrin-epsyl. The menu splitting works and the icons are explicit. I'm merging this and expect that the data manipulation functionalities and issues will be addressed in #73

Note that while testing I faced initially an issue while synchronizing two plots: the synchronization was somehow one way only, meaning that the sync icon was present on a single plot, when I was moving the slider from this plot the second plot without icon was also moving, but when I was moving the second plot's slider the first plot stayed still. I can not reproduce this after testing develop and again the PR, so no action but something that we should monitor later.

@olivhoenen olivhoenen merged commit b84903c into iterorganization:develop Jun 5, 2026
12 of 14 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.

3 participants