- Hook canvas.onNodeDeselected (was missing) so sidebar clears when
deselecting all nodes (click on empty canvas)
- Add DOM-level pointerup listener on canvas.canvas as fallback for
ComfyUI selection paths that bypass LiteGraph callbacks
- Add requestAnimationFrame retry in open() if canvas is null at call time
- Write widget values in real-time on input event (number + textarea)
instead of only on change/blur; partial states (-/./empty) are skipped
for number inputs; blur still clamps and syncs displayed value