移行チェックリスト
node.pos、node.size、boundingRect、getBounding()、setPos()、setSize()は引き続き使用できます。シグネチャの変更は不要です。repositionNodesVueMode()の呼び出しをapplyNodePositions()に置き換えてください。node.sizeが測定/レンダリングされたコンテンツを反映することに依存していた場合は、getBounding()/boundingRectに切り替えてください。Vue レンダラーでは、sizeは 要求された値を厳密に反映するようになりました。レガシーレンダラーでは、ウィジェットに合わせてsizeが拡大されます。- バッキングストアではなく、ノード/グループのジオメトリ API を使用してください。
layoutStoreをインポートしたり、その内部フォーマットに依存したりしないでください。 - 削除された参照を介した書き込みは、共有レイアウト状態ではなく、 切り離されたオブジェクトを更新します。
変更点
LGraphNode.pos、size、boundingRect、getBounding()、setPos()、setSize() は同じシグネチャのままです。これらの呼び出しは引き続きソース互換です。動作が変わったのは以下の 3 つのケースです。
size とレンダリング後の境界
node.size は要求したサイズであり、シリアライズされる値でもあります。Vue レンダラーでは、レンダリングがこれを変更することはありません。getBounding() と boundingRect はレンダリング後の境界を返します。ウィジェットのコンテンツがより多くのスペースを必要とする場合、これは size より大きくなることがあります。レガシーのキャンバスレンダラーでは、ウィジェットに合わせてノードを拡張するために setSize() が呼ばれるため、描画後に node.size と保存されたサイズが変わる可能性があります。ノードの実際の画面上のフットプリントが必要な場合は、レンダリング後の境界を使用してください。
キャンバスは各フレームの開始時に getBounding() と boundingRect を再計算します。pos または size を変更した後、同じフレーム内でそれらを読み取る前に node.updateArea() を呼び出してください。Vue レンダラーでは、DOM コンテンツによる拡張はノードが計測された後にのみ反映されます。
repositionNodesVueMode() から applyNodePositions() への改名
repositionNodesVueMode() は非推奨のエイリアスとして引き続き呼び出せます。