Three issues reported by user, all fixed:
1. Default width too narrow: 440 → 500px
Stored in node._tlmsMinWidth so it's respected everywhere.
2. Node shrank on every model change: updateForModelType called
node.setSize(node.computeSize()) which reset width to the
computed minimum. Changed to only update height, never shrink
width below _tlmsMinWidth or the user's current width.
Same fix applied in showText and the widget reorder block.
3. Output labels didn't update when switching models: mutating
.label on an existing object is not tracked by Vue's
shallowReactive. Changed to per-item splice with Object.assign
onto a new object with same prototype - this gives Vue a new
reference at the changed index, reliably triggering re-render.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>