          patch_queue_in: :class:`~lib.queue_manager.EventQueue`
              The input queue for the patching process
          samples: :class:`Samples`
              The Samples for display.
          """
          logger.debug("Launching patch process thread: (patch_queue_in: %s, trigger_event: %s, "
                       "samples: %s)", patch_queue_in, trigger_event, samples)
 
</s> remove         tk_vars: dict
            Global tkinter variables. `Refresh` and `Busy` :class:`tkinter.BooleanVar`
 </s> add  </s> remove         logger.debug("Launching patch process thread: (trigger_event: %s, shutdown_event: %s, "
                     "patch_queue_in: %s, samples: %s, tk_vars: %s)", trigger_event,
                     shutdown_event, patch_queue_in, samples, tk_vars)
 </s> add         logger.debug("Launching patch process thread: (patch_queue_in: %s, trigger_event: %s, "
                     "samples: %s)", patch_queue_in, trigger_event, samples) </s> remove         trigger_event: :class:`threading.Event`
            Set by parent process when a patching run should be executed
        shutdown_event :class:`threading.Event`
            Set by parent process if a shutdown has been requested
 </s> add  </s> remove         logger.trace("feeding swapped faces to converter")  # type: ignore
 </s> add         logger.debug("feeding swapped faces to converter") </s> remove     def __init__(self,
                 arguments: "Namespace",
                 available_masks: List[str],
                 samples: Samples,
                 display: "FacesDisplay",
                 lock: Lock,
                 trigger: Event,
                 config_tools: "ConfigTools",
                 tk_vars: Dict[Literal["refresh", "busy"], tk.BooleanVar]) -> None:
        logger.debug("Initializing %s: (arguments: '%s', available_masks: %s, samples: %s, "
                     "display: %s, lock: %s, trigger: %s, config_tools: %s, tk_vars %s)",
                     self.__class__.__name__, arguments, available_masks, samples, display, lock,
                     trigger, config_tools, tk_vars)
        self._samples = samples
 </s> add     def __init__(self, app: Preview, arguments: "Namespace") -> None:
        logger.debug("Initializing %s: (app: %s, arguments: '%s')",
                     self.__class__.__name__, app, arguments)
        self._app = app
        trigger_event: :class:`threading.Event`
            The event that indicates a patching run needs to be processed
          patch_queue_in: :class:`~lib.queue_manager.EventQueue`
              The input queue for the patching process
        trigger_event: :class:`threading.Event`
            The event that indicates a patching run needs to be processed
          samples: :class:`Samples`
              The Samples for display.
          """
          logger.debug("Launching patch process thread: (patch_queue_in: %s, trigger_event: %s, "
                       "samples: %s)", patch_queue_in, trigger_event, samples)
keep add keep keep keep keep keep
 bugfix:
    - preview tool - Prevent tkinter variables from exiting main thread
refactor:
    - preview tool - Split module to smaller sub-modules + docs, locales
Typing:
    - tools.preview.cli
Unit test:
    - tools.preview.viewer 
tools/preview/preview.py