レイアウトの計算

スタイルとツリー構造を具体的なピクセル座標に変換します。

ツリーの構築が完了したら、computeLayout を呼び出して各ノードの最終的な位置とサイズを計算します。

標準レイアウト計算

レイアウトを計算する際、利用可能なスペース(ルートノードの制約)を提供する必要があります。

Loading Preview…

増分レイアウト

Taffy はインテリジェントなキャッシュを採用しています。特定のノードのスタイルやコンテンツを変更すると、次の計算では影響を受けるツリーの部分のみが再計算されます。

const tree = new TaffyTree(); const root = tree.newLeaf(new Style()); const childNode = tree.newLeaf(new Style()); tree.addChild(root, childNode); // 1. 最初のレイアウト tree.computeLayout(root, { width: 800, height: 600 }); // 2. リーフノードを変更 const newStyle = new Style({ width: 250 }); tree.setStyle(childNode, newStyle); // 3. 再計算 // Taffy は影響を受けないブランチの再計算をスキップします。 tree.computeLayout(root, { width: 800, height: 600 });

丸めと精度

デフォルトでは、Taffy はすべての出力座標を最も近いピクセル(整数)に丸め、標準ディスプレイグリッドに合わせます。

丸めの無効化

高 DPI レンダリングやベクターグラフィックなど、サブピクセル精度が必要なシナリオでは、丸めを無効にできます。

const tree = new TaffyTree(); // サブピクセル精度を有効化 tree.disableRounding(); // ... レイアウトを計算 ... const node = tree.newLeaf(new Style()); const layout = tree.getLayout(node); console.log(layout.width); // 33 ではなく 33.33333... になる可能性があります

デバッグのヒント

  • printTree(root): ツリー全体の深さ、スタイル、計算されたレイアウトのテキスト表現を出力します。デバッグに不可欠です。
  • 分離: 複雑なツリーの動作がおかしい場合は、問題のあるノードのみを含む小さな再現を作成して問題を分離します。

次のステップ

© 2026 ByteLand Technology Limited