BlueQuartzSoftware / BlueQuartzSoftware/DREAM3D

SVPipelineView keeps persistent Temp / Saved FilterPipelines

Open
#792 0 comments 0 reactions 0 assignees View on GitHub
Feature Request
Dominant language
C++
Stars
189
Forks
78
PR merge metrics
No merged PRs in 30d

Description

FilterPipeline has signals and methods for alerting to changes, execution, preflight status, etc. which can make tracking the same pipeline in multiple places more feasible.

Currently, new pipelines are generated every time one is requested, and SVPipelineView never keeps track of the "pipeline" it is working on other than during preflight or execution. At no other time does SVPipelineView actually have a pipeline. The only way for another class to know that a pipeline it knows about has been updated is to have a constant connection with SVPielineView to tell it what the FilterPipeline it knows about could tell it instead.

If SVPipelineView stored temp and saved versions of the pipeline, other classes could still be alerted to updates where desired. If a class does not want to be alerted, or at any point wants to quit being alerted, a FilterPipeline can be deep copied.

This should also include the pipeline name, as SVPipelineView does not store or ask for the pipeline name when another class requests a copy of the pipeline.

Guards should also be included in FilterPipeline to check if it is in preflight or execute when adding or removing filters. There is currently nothing stopping a class from executing a pipeline and, while it is running, adding or removing filters.

Contributor guide

Open the contributing guide

Research direction

Start by reading SVPipelineView and FilterPipeline to understand how pipelines are currently created, copied, preflighted, and executed. Trace the temporary and saved pipeline flows, then verify that pipeline names persist, shared instances can report changes, deep copies can stop sharing, and filters cannot be added or removed during preflight or execution.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.