Repository navigation
Conversation
…r cross-IED FIFO and cached owner lookup
… priority; preserve FIFO and association fencing
…lobal Live DataGrids
…identity and lossless canonical FIFO
…dex safely after in-place DeviceId rebind
Verified Phase 3 checkpoint — reactive realized-row scheduling (2026-10-23)Exact final HEAD:
Diff limited to six files versus current #698 HEAD Why this matters for SG7: Previously 48 first model rows received priority irrespective of the scrolled/filtered viewport. Now WPF's actual recycled Concurrent teams / integration facts:
Not proven: Real device 4-IED p95/p99 click-to-paint/scroll, Dispatcher stall duration, CPU/GC, SOE/RCB/Write field behavior. CI regression passing is NOT proof physical UI freeze has vanished. |
|
Administrative consolidation — superseded by the integrated RC, not GitHub-merged through this historical PR. The exact PR head is verified as an ancestor of RC |
Scope: high-rate UI scheduling, not communication logic
Stacked on #698 exact HEAD
f6465df9(already includes latest SSOT Phase 1, Smart IP improvements and P0 Browser reactive projection). Dedicated narrow performance branch; no staging/main merge.Problem: Existing UI point flush is coalesced and bounded, but selection only pre-prioritized the first 48 model rows, even when Explorer/Global DataGrid viewport was scrolled to a different part of 32.9k points. A visible row could wait behind a full FIFO of unrelated offscreen signals.
Implemented:
LivePointViewportPriorityTrackertracks exact IEC point queue keys for actually realized DataGrid rows, independently for Explorer and Global Live Monitor. Only keys, NO duplicate observation store or WPF row references. Concurrent ingress checks safe.DataGrid.LoadingRow/UnloadingRow/unload on both existing virtualized grids, installed before first layout. When newly visible rows are already pending, lift only those keys to priority, without scanning 25k values or resettingItemsSource.Parallel branches: #693 MMS Command/Write is merged into its FAT parent (not an ancestor of this branch); #696 Smart IP PR is closed but its final independent changes require a later integration review. Existing #698 HEAD already carries Smart IP window edits committed separately. No changes to IP wizard, command or control dialogs, Browser typed write/admission, MMS/native engine, GOOSE, SOE or IEC acquisition. Only six files, none touch teams' principal command/IP implementation files. No merge to their staging branches until measured three-way integration and fresh exact-SHA Windows CI.
Release gates: DRAFT/unmerged. Physical SG7 four-IED p95/p99 interaction and scroll/GC/Report/SOE/command FAT still required. CI proves regression safety, not physical zero-freeze.