Currently, zooming and updating/inserting uses a bespoke mechanism for tracking keys. This predates the concept of keyed tables. Simplify key tracking by relying on keyed tables exclusively for zooming: a "zoomed dm" should be a keyed table with the original dm as attribute ("inside out"), and updating/restoring will recombine using higher-level methods. Think about the new class for a zoomed dm -- we'd need to combine "zoomed_dm", "dm" and the keyed table classes.
The goal of this is to remove complex code and simplify the implementation.
Currently, zooming and updating/inserting uses a bespoke mechanism for tracking keys. This predates the concept of keyed tables. Simplify key tracking by relying on keyed tables exclusively for zooming: a "zoomed dm" should be a keyed table with the original dm as attribute ("inside out"), and updating/restoring will recombine using higher-level methods. Think about the new class for a zoomed dm -- we'd need to combine
"zoomed_dm","dm"and the keyed table classes.The goal of this is to remove complex code and simplify the implementation.