btzy / circuit-sandbox

GNU General Public License v3.0
3 stars 1 forks source link

History states and savefiles when there are communicators #36

Closed btzy closed 6 years ago

btzy commented 6 years ago

Currently, communicator instances are shared across all history canvases. It might be necessary for the CanvasState stored in the history to have a different type from the current CanvasState.

Also, we might want to review the current CanvasState and savefile data to align with immediate propagation. In immediate propagation, we only use the logic levels of logic gates/sources/communicators and relay state of relays. For display purposes we also use the transmit state of communicators. All other logic states are not used at all. Currently, logic levels of all elements are saved, but relay state and communicator transmit state is not saved.

btzy commented 6 years ago

This is resolved in ae261c96af2c56c0716f9190b8a9b00f7509aa70, apart from saving of communicator transmit state in the save file. As communicator transmit state is used only for cosmetic purposes, saving communicator transmit state in the save file is deemed unnecessary. It might also confuse users.