You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(datagrid): drop reloadVersion / lastIdentity counter bridge (#933)
* refactor(datagrid): drop reloadVersion / lastIdentity counter bridge (Phase D)
Cell edits, row inserts and removals now drive NSTableView through Delta dispatch directly, so the SwiftUI counter-driven reload path is redundant. Removes:
- lastReapplyVersion (already dead)
- lastReloadVersion field on TableViewCoordinator
- versionChanged branch in reloadAndSyncSelection (delta path already covers this)
- reloadVersion field from DataGridIdentity composition
- consumeChangedRowIndices on AnyChangeManager / DataChangeManager / StructureChangeManager
- changedRowIndices accounting on PendingChanges and StructureChangeManager (14 insert calls and the consume/clear sites)
To keep the modified-cell yellow marker correct without the SwiftUI rerun, commitCellEdit and TableViewCoordinator.applyDelta(.cellChanged / .cellsChanged) now call rebuildVisualStateCache before the controller dispatch. This was previously implicit via the versionChanged branch's second reload.
Net -259 LOC. Build green, smoke-tested cell edit/undo, add-row, table switch.
* chore: ignore .claude/ runtime files
* Revert "chore: ignore .claude/ runtime files" .gitignore line
* fix(structure): drop empty if-let / for blocks left by Phase D delete sweep
The bulk sed deletion of changedRowIndices.insert(...) lines in StructureChangeManager.deleteColumn / deleteIndex / deleteForeignKey left six empty blocks behind: three 'if let rowIndex = workingX.firstIndex(...) { }' blocks where the binding is now unused, and three 'if let rowIndex { for i in rowIndex..<workingX.count { } }' loops with empty bodies. Removed all six.
0 commit comments