Ordering is not identity
A monitoring snapshot is an ordered list. A GPU is a device. Those are different things: if the list changes order, the same physical GPU may occupy a different position.
The HYTE panel patch makes that distinction explicit. Collectors provide a UUID where available, and the browser uses it as the key for a device view. When a snapshot changes order, the view moves with its history rather than swapping histories with its neighbor. Renderer diff.
Reuse, move, remove
The renderer keeps a map of views and processes each snapshot in three steps:
- Find or create the view for each device key.
- Move the existing element to the snapshot’s display order and update its readings.
- Remove views whose keys were not present in the snapshot.
This preserves graph state during reorder. It deliberately does not preserve history across removal and later reconnection, because the removed view is deleted from the map.
The fallback has a limit
When UUID is missing, the key falls back to index and name. That allows older or incomplete collector records to render, but it is not an equivalent physical identity guarantee. If the index changes, the fallback can produce a different key.
The useful distinction is between supporting degraded data and claiming the same guarantee under degraded data. The implementation does the former.
Tests should challenge the association
The browser regression creates two simulated GPUs, changes their order, and checks that their existing nodes follow the new order. It also checks removal, reconnection, unsupported readings, and the single-GPU case. These checks target the identity relationship rather than only verifying that two cards appear on screen.
The fixture uses RTX 5090 and T400 names. Its numeric readings are test inputs, not measurements of either card under a real model workload. Patch, tests, and validation limits.