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
| Flag | Description | Default |
|---|---|---|
--format | Output format: text, json, yaml | text |
--scope | Limit diff scope: panels, variables, alarms, all | all |
--ignore-order | Ignore widget z-order changes | off |
--output, -o | Write output to a file | stdout |
--provider | Force a specific provider plugin | auto-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": []
}