最初に描いたパスだけがキャンバス中央にジャンプするバグ
実は付箋が画面中央に出るのもこのバグの影響だったが、付箋の追加は人間が位置を指定していないので違和感を持たなかった
原因
- 編集者のロード時は全体が見えるズーム
- ロード後、初回の描画の際に「コンテンツ全体がキャンバスに収まるように」とコンテンツからキャンバスの表示範囲を計算するようにした
- 白紙でスタートした場合に「ロード後の描画」がないので、最初にパスを書いた後の描画が最初の描画になる
- 最初に描いたものが中央に来るような座標系が設定される ts
export const drawItems = () => {
...
if (global.beforeFirstDraw) {
if (!global.isViewportSpecified) {
fitToContents();
}
setGlobal({ beforeFirstDraw: false });
}
- blankなどのデータをサーバからロードしない特殊ページでは
beforeFirstDraw: false
にしたhandleSpecialURLParam