Skip to content

Sync fields across runs/columns #36

@PaulHax

Description

@PaulHax

"link" scenarios across configurations, to make it easier for comparison across ADM configurations.

Implementation Plan

Approach: Generic Row-Level Sync Toggle

Add a checkbox/toggle in each parameter row that synchronizes that parameter across all columns. The implementation will be generic to support any parameter type without special handling.

Key Features

  • Sync Toggle: Checkbox in parameter name cell (left column) for each syncable parameter
  • Generic Propagation: When toggled on, changes to that parameter in any column propagate to all others
  • Visual Indicators: Synced rows show link icon and background highlighting
  • Graceful Degradation: Handle cases where no matching experiment exists for synced parameters

Technical Implementation

1. State Management

  • Add syncedParameters: Set() to track which parameters are synced
  • Generic functions: toggleParameterSync(paramName), propagateParameter(paramName, value, sourceRunId)

2. UI Components

  • Sync checkbox in each parameter row's left cell
  • Visual feedback (chain-link icon, background color) for synced state
  • "No data available" display when parameter combinations don't exist

3. Data Handling

When synced parameters change:

  1. Propagate new value to all columns
  2. Attempt to reload data for each column
  3. If no matching run exists, show "No data available" state with explanation
  4. Keep parameters editable so users can adjust to find valid combinations

Syncable Parameters

All configuration parameters can be synced:

  • Scenario
  • Scene
  • KDMA Values
  • ADM Type
  • LLM Backbone
  • Run Variant

Benefits

  • Efficiency: Change once, update everywhere
  • Consistency: Ensures comparing same scenarios across configurations
  • Flexibility: Toggle sync on/off per parameter as needed
  • Generic: Single implementation works for all parameter types

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions