Skip to content

diff

Compare two Vijeo Designer project versions and show structural changes — added, removed, or modified panels, widgets, and variables.

Description

The diff command compares two .zdat project files at the structural level. It reports added, removed, and modified panels, widgets, variables, and alarms. Unlike a raw file diff, it understands the project schema and produces meaningful, actionable output.

Usage

glyphsix-hmi diff [options] <old.zdat> <new.zdat>

Options

FlagDescriptionDefault
--formatOutput format: text, json, yamltext
--scopeLimit diff scope: panels, variables, alarms, allall
--ignore-orderIgnore widget z-order changesoff
--output, -oWrite output to a filestdout
--providerForce a specific provider pluginauto-detect

Examples

Basic comparison:

glyphsix-hmi diff v1.0.zdat v1.1.zdat
Comparing: v1.0.zdat → v1.1.zdat

Panels:
  + DiagnosticsPage          (added, 8 widgets)
  ~ MainScreen               (modified, 2 widgets changed)
  - DeprecatedView           (removed)

Variables:
  + PLC.Tank3.Level          REAL
  ~ PLC.Pump1.Status         BOOL → INT

Widgets (MainScreen):
  ~ Button_Start             text: "GO" → "START"
  + NumericDisplay_7          new widget

Variables-only diff in JSON:

glyphsix-hmi diff --scope variables --format json v1.0.zdat v1.1.zdat
{
  "added": [
    { "name": "PLC.Tank3.Level", "type": "REAL" }
  ],
  "modified": [
    { "name": "PLC.Pump1.Status", "old_type": "BOOL", "new_type": "INT" }
  ],
  "removed": []
}
glyphsix

Pre-release preview