qiskit-metal
qiskit-metal copied to clipboard
Make QRenderers usable without a QDesign
Currently renderer objects are created when a design object is created and they are 'registered' inside the design object.
it also requires the design to be passed to it, creating a loop.
However both branches of that loop need to be broken (made optional). Indeed we cannot assume a design object (or a GUI object) will be always used for a renderer. Use-modes for analysis/simulation might not require them at all. For example: the user might load a design to the simulator from a gds file and just want to operate on the simulator from the metal package.
Different ways to solve this, open to suggestions:
- Suggestion 1. if we want to keep the renderer objects centralized (objects instantiated once and re-used), then we need to create them outside the design, in some other globally accessible place, could introduce the concept of "app" or "desktop" wrapping it all.
- Suggestion 2. if we are ok decentralizing, then a new renderer object can be created whenever needed (for example, once each analysis class instance)
I vote for option 2 if operational conflicts can be handled. option 1 otherwise, but managing it more like an independent service.
This works, if we have agreed to a scenario to import gds files.
It is much further down the time line.