Skip to content

Conversation

@mattdawkins
Copy link
Member

@mattdawkins mattdawkins commented Jan 17, 2026

Add Pipeline and Training Config Tooltips

Summary

This PR adds helpful tooltips to pipeline and training configuration selection menus throughout the DIVE application. Tooltips display descriptions extracted from pipeline and configuration file headers, making it easier for users to understand what each option does before selecting it.

Features

1. Pipeline Tooltips

  • Tooltips are now displayed when hovering over pipeline options in the pipeline selection menus
  • Descriptions are automatically extracted from pipeline file headers (.pipe files)
  • Tooltips only appear when a description is available, keeping the UI clean for pipelines without descriptions

2. Training Configuration Tooltips

  • Tooltips are added to training configuration file selection dropdowns
  • Descriptions are extracted from training configuration file headers (.conf files)
  • Available in both desktop and web-girder training menus

3. Description Extraction

  • Pipeline Files: Extracts descriptions from # Description: comments in the first 5 lines of .pipe files
  • Training Config Files: Uses the same extraction logic for .conf files
  • Supports multi-line descriptions that continue until:
    • A line starting with # followed by = (e.g., # ===)
    • A line starting with # followed by only whitespace
    • A non-comment line is encountered

Technical Changes

Frontend (client/)

Common Components

  • dive-common/components/RunPipelineMenu.vue:
    • Added tooltips to pipeline list items in the menu
    • Tooltips display the description field from pipeline objects
    • Added custom styling for tooltip appearance (dark background)

Desktop Platform

  • platform/desktop/frontend/components/MultiPipeline.vue:

    • Added tooltips to pipeline selection dropdown items
    • Tooltips show descriptions when available
  • platform/desktop/frontend/components/MultiTrainingMenu.vue:

    • Added tooltips to training configuration file selection dropdown
    • Updated to handle TrainingConfig objects with name and description properties
    • Added custom styling for training config tooltips

Web-Girder Platform

  • platform/web-girder/views/RunTrainingMenu.vue:
    • Added tooltips to training configuration file selection dropdown
    • Updated to handle TrainingConfig objects with name and description properties
    • Added custom styling for training config tooltips

Desktop Backend

  • platform/desktop/backend/native/common.ts:
    • Added extractPipeDescription() function to extract descriptions from pipeline files
    • Updated getPipelineList() to extract and include descriptions for each pipeline
    • Updated getTrainingConfigs() to extract descriptions from training config files
    • Changed return type to include description field in TrainingConfig objects
    • Implemented parallel processing for description extraction to improve performance

API Specification

  • dive-common/apispec.ts:
    • Updated PipelineDescription type to include optional description field
    • Updated TrainingConfig type to include optional description field

Backend (server/)

  • dive_tasks/pipeline_discovery.py:

    • Added extract_pipe_description() function to extract descriptions from pipeline file headers
    • Updated load_static_pipelines() to extract and include descriptions for discovered pipelines
    • Descriptions are extracted from # Description: comments in the first 5 lines
  • dive_utils/types.py:

    • Updated PipelineDescription TypedDict to include optional description field

Benefits

  1. Improved User Experience: Users can quickly understand what each pipeline or training configuration does without needing to consult external documentation
  2. Better Discoverability: Descriptions help users find the right pipeline or configuration for their use case
  3. Consistent Interface: Tooltips are consistently applied across all pipeline and training configuration selection interfaces
  4. Non-Intrusive: Tooltips only appear when descriptions are available, keeping the UI clean
  5. Automatic: Descriptions are automatically extracted from file headers, so no manual maintenance is required

Testing Considerations

  • Verify that tooltips appear when hovering over pipeline options in the menu
  • Confirm that tooltips display the correct descriptions extracted from pipeline files
  • Test that tooltips appear for training configuration files in both desktop and web interfaces
  • Verify that tooltips are disabled (not shown) when no description is available
  • Test with pipelines/configs that have multi-line descriptions
  • Ensure tooltip styling is consistent and readable
  • Verify that description extraction works correctly for various comment formats in file headers

@BryonLewis
Copy link
Collaborator

Within the latest published or even the master branch of the VIAME Repo there are no pipelines/configs that contain Description: Need some samples and pipelines before I can accurately test.

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.

2 participants