Skip to content

fix: 動かないアンカー整列でUndo履歴を増やさない #1180 - #1276

Merged
bflatastic merged 1 commit into
storytold:mainfrom
haranishi:fix/issue-1180-align-noop-history
Oct 12, 2026
Merged

bflatastic merged 1 commit into
storytold:mainfrom
haranishi:fix/issue-1180-align-noop-history

Conversation

@haranishi

@haranishi haranishi commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Refs #1180

整列済みのアンカーをもう一度整列すると、Undo履歴が増える問題を直します。1回のUndoで直前の整列を戻せず、Redoも消え、保存済み文書が変更済みになります。

メンテナーから案内された追加修正です。全アンカーの移動量が両軸とも既存のオブジェクト整列と同じ 1e-9 pt 以内なら、編集を記録せず返します。実際に動く整列は1回のUndoで戻せます。関連資料のスコア・工数は据え置きました。

How it was tested

  • 回帰テスト2件は修正前のmainで失敗、修正後は成功。繰り返し整列でUndo履歴を増やさないこと、丸め誤差だけの整列でRedo・保存済み状態・リビジョン・アンカーとハンドルを保つこと、Actions用のコマンド記録を保つことを確認しました。
  • 整列関連の既存テストを含む28件が成功。
  • cargo xtask ci: macOSの全7工程成功、5,383件成功・0件失敗・4件ignored。
  • ネイティブアプリで自作の三角形とベジェ曲線を操作。繰り返し整列で文書全体・描画・選択・履歴が一致し、1回のUndoで整列前の文書と画素に戻り、Redoで整列後に戻りました。丸め誤差だけの整列でも保存済み状態・リビジョン・Redoが残り、先に行った移動をRedoできます。描画画像は確認済みです。ui.screenshot は NoFrame で取得できず、OSの実マウス操作・パネル表示は未検証です。
  • vectorcraft-cli perf --paths 50000: 修正前後とも全10項目が予算内。負荷警告が出たため、速度比較の根拠にはしていません。
  • コミット ca793d709a3870db0c31d5282b3ead61a0f1c539 を指定した Linux + wasmの全CI と 上流Affinity 3 corpus が同一コミットで成功しました。Linux + wasmは全7工程、5,368件成功・0件失敗・4件ignoredです。

Checklist

  • cargo xtask ci passes (fmt, clippy, tests, assets, brands, layers, wasm).
  • 製品コードにpanicや未検証のインデックスアクセスを追加していません。
  • Clean-room: 自作パスだけで再現しました。Adobe製品のデータやGPL/AGPLコードは使用していません。
  • 新規アセット・フォントファイルの追加はありません。

@haranishi
haranishi marked this pull request as ready for review October 11, 2026 21:18
Copilot AI balanced review requested due to automatic review settings October 11, 2026 21:18
@haranishi

Copy link
Copy Markdown
Contributor Author

@echelon @bflatastic レビューをお願いします。#1211でご案内いただいた、mainでも残っていた「動かないアンカー整列でUndo履歴を消費する」問題の追加修正です。修正前に失敗する2件の回帰テストを追加し、Redo・保存済み状態・リビジョン・ハンドル座標も保つようにしました。ネイティブアプリで文書・画素の一致と1回のUndo/Redoを確認済みです。macOSとLinux + wasmの全7工程、上流AffinityのCIも同一コミットで成功しました。

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@bflatastic
bflatastic force-pushed the fix/issue-1180-align-noop-history branch from ca793d7 to 4109717 Compare October 12, 2026 00:48
@bflatastic
bflatastic merged commit fade678 into storytold:main Oct 12, 2026
1 check passed
@bflatastic

Copy link
Copy Markdown
Member

Thanks @haranishi! Merged. It's rebased onto current main with no changes of mine, and the full local gate passed. A repeated anchor Align no longer adds an undo step.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants