docs(opcua): correct EquipmentVirtualTagPlan equality comment (element-wise, not by-ref)

This commit is contained in:
Joseph Doherty
2026-06-07 06:11:56 -04:00
parent 7e23ca8453
commit 984ef79c1f
@@ -112,10 +112,11 @@ public static class Phase7Planner
t => t.TagId,
(a, b) => new Phase7Plan.EquipmentTagDelta(a, b));
// VirtualTags diff by VirtualTagId, mirroring the EquipmentTags pass. Element equality on
// EquipmentVirtualTagPlan compares its scalar fields (Expression/DataType/Name/FolderPath/…)
// by value; DependencyRefs (an IReadOnlyList<string>) compares by reference, so a fresh list
// instance is conservatively treated as changed — fine for a rebuild trigger.
// VirtualTags diff by VirtualTagId, mirroring the EquipmentTags pass. EquipmentVirtualTagPlan
// overrides record equality to compare ALL fields by value — scalars (Expression/DataType/
// Name/FolderPath) plus DependencyRefs element-wise (SequenceEqual). So a no-op redeploy (fresh
// list instances, identical contents) correctly diffs to empty; only a real content change is
// flagged as changed.
var (addedVTags, removedVTags, changedVTags) = DiffById(
previous.EquipmentVirtualTags, next.EquipmentVirtualTags,
t => t.VirtualTagId,