sec_interp.gui.preview_param_hasher module

Configuration hashing for preview change detection.

class sec_interp.gui.preview_param_hasher.PreviewParamHasher

Bases: object

Handles unique hash calculation for preview parameters.

static calculate_hash(params: Any) → str

Calculate a unique hash for preview parameters.

Parameters:

params – PreviewParams object containing layer references and settings.

Returns:

SHA256 hash string.

sec_interp.gui.preview_param_hasher.assemble_preview_params(values: dict[str, Any], preview_options: dict[str, Any], canvas_width: int) → PreviewParams

Assemble PreviewParams from raw dialog values without side effects.

Pure assembly step shared by input validation and preview-currency checks: no validate() call, no error dialogs, no layer-notification wiring, and no geometry reads (the hasher only uses layer .id() values and primitives, so this stays cheap enough to run on every UI state refresh).

Parameters:
  • values – Flattened page values (get_selected_values()).

  • preview_options – Preview widget options (get_preview_options()).

  • canvas_width – Current preview canvas width in pixels.

Returns:

Unvalidated PreviewParams.