DeepLabCut / DeepLabCut/DeepLabCut-live-GUI

Refactor: settings persistence

Abierto
#113 0 comentarios 0 reacciones 1 asignado Ver en GitHub

@C-Achard ya está trabajando en esto.

Desde el 14/8/2026.

config enhancement gui
Lenguaje dominante
Python
Estrellas
72
Forks
28
Merge medio
1 d 10 h
PR fusionados (30 d)
2

Descripción

Improve configuration persistence and recovery UX

Goal

Prevent loss of unsaved experiment settings while keeping portable configuration separate from QSettings UI preferences.
Unsaved changes should be persisted in a temp recovery JSON, which the user can access.
This is to prevent settings being buried in QSettings, and allow for better inspection.

Persist in the recovery JSON

Autosave the complete portable experiment configuration:

  • multi_camera
    • Camera list, including single-camera setups
    • Backend and device identity
    • Resolution, FPS, exposure, gain, crop, rotation
    • Trigger and backend-specific properties
  • dlc
    • Model path and type
    • Device, precision, resize, dynamic crop
    • Additional processor options
  • recording
    • Output directory
    • Filename and container
    • Codec and CRF
    • Fast encoding
  • bbox
  • visualization
  • Not part of the schema yet:
    • Selected inference camera
    • Selected processor and enabled state
Keep in QSettings
  • Last explicit configuration path
  • Recovery config JSON path and maybe metadata
  • Recent configuration paths
  • Last directory used by file dialogs
  • Window geometry, dock layout, and theme (maybe)
  • Session name
  • Timestamp-based versus indexed run folder preference (or according to Session scope rework)
  • Other local UI preferences
Recovery behavior
  • Autosave modified configuration to a readable temporary JSON file
  • Include:
    • Schema version
    • Autosave timestamp
    • Associated explicit configuration path
  • Never overwrite the user’s explicit JSON file automatically
  • On startup, load the last valid explicit configuration best-effort
    • If a newer or different recovery file exists, offer:
      • Restore recovered configuration
      • Use saved configuration
      • Save recovery as...
  • Provide a way to open the recovery JSON file location
Unsaved config changes UX

Track whether the current UI differs from the last explicit save.

Before closing, loading another configuration, or replacing the current setup, show a warning message.

Additional low-effort UX improvements
  • Add a Recent configurations menu
  • Improve Save As for duplicating an experiment configuration
  • Extra validation?
  • Later consider a Start experiment action that starts preview, initializes inference, and optionally begins recording in a single click

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.