Widgets should be able render anywhere the WidgetRenderer can be accessed (anywhere the global rendermime or clones work).
Correctly indicates when comms is disconnected.
Restore widget connection when session context.
easier to manage and find widgets - the KernelWidgetManager.
Significant changes
The KernelWidgetManager is a single instance per kernel by the kernel ID.
The KernelWidgetManager stores and creates widgets.
The default rendermime will actively search for the [Kernel]WidgetManager that owns the widget model.
WidgetManager (not to be confused with KenelWidgetManager) has been re-purposed to track the renderers belonging to a session context and set the KernelWidgetManager when the kernel is loaded. WidgetManager informs the renderer that the [Kernel]WidgetManager is pending.
Re-rendering on demand.
Notebooks and Consoles can share widgets.
When the notebook closes (its kernel connection has the comms), the connection is broken.
Opening a new kernel connection (in this case a console) restores the connection.
Closing the console that has the kernel comms connection again breaks the connection.
Shutting down the kernel breaks the connection.
Loading a new notebook (that was tracking the widget state) with a new kernel, doesn't have widgets in the kernel, so the widgets appear with broken links.
Connecting a notebook to another kernel means the connection to the widgets in the original connection remain unbroken when the notebook is closed.
Replaces https://github.com/jupyter-widgets/ipywidgets/pull/3920.
Features:
Significant changes
Notebooks and Consoles can share widgets.
When the notebook closes (its kernel connection has the comms), the connection is broken.
Opening a new kernel connection (in this case a console) restores the connection.
Closing the console that has the kernel comms connection again breaks the connection.
Shutting down the kernel breaks the connection.
Loading a new notebook (that was tracking the widget state) with a new kernel, doesn't have widgets in the kernel, so the widgets appear with broken links.
Connecting a notebook to another kernel means the connection to the widgets in the original connection remain unbroken when the notebook is closed.