Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Snap editor records one Undo step per keystroke and per slider tick

オープン
#331 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
swift
領域
desktop

調査の方向性

Start with the change() and undo() logic in ImageWorkspaceEditing.swift (around lines 103-118 and 110), then the updateSelected calls for the caption and sliders in SnapEditorView.swift (lines 94, 103, 109). Compare with the canvas drag commit in ImageWorkspaceCanvas.swift (lines 212-213). Done means the acceptance cases pass under --check-image-workspace: 150 keystrokes make one undo step, and undo order is text, mark, then crop.

索引モデルが issue の本文から書いたものです。

説明

bug

Outcome: typing a caption or dragging Text size or Line width makes one Undo step, so earlier crops and marks stay undoable.

Evidence (main edc15df)
  • The text binding and the sliders call updateSelected on every change (SnapEditorView.swift:94, :103, :109).
  • change() pushes every edit and trims to 100 entries (ImageWorkspaceEditing.swift:103-118). A caption of about 100 characters therefore drops the crop from history.
  • undo() clears the selection (:110), which closes the inspector.
  • Canvas drags already commit once (ImageWorkspaceCanvas.swift:212-213).
  • docs/snap.md:22 promises Undo for crop, text and marks.
Change
  • Add a coalescing key (mark id plus property). Consecutive edits with the same key replace the top entry.
  • select, undo and redo reset the key.
  • After undo or redo, reselect the mark if it still exists.
Acceptance

In --check-image-workspace:

  • 150 keystrokes make one step.
  • Undo order is text, then the mark, then the crop.
  • Redo restores.
  • A fontSize run is one step.
  • A selection change or an unkeyed edit splits runs.
  • An edit after undo starts a new step.
Value before scope
  1. Outcome: Undo works on the capture-to-deck path. Evidence: the traced stack.
  2. Simpler route: none.
  3. Owner: ImageWorkspaceEditing.
  4. Complexity: one key.
  5. Verified by: source checks.

Grammar: Quality.

Refs #154


Build-ready record from the overnight lead session of 15 Oct 2026, verified against main edc15df by an independent skeptic per item. Implementation follows on a claude/* branch; this issue closes only after native acceptance.

主要言語
Swift
スター
0
フォーク
1
平均マージ
8時間 5分
マージ済み PR(30日)
215

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Ship-Work/workbench のほかの issue

Ship-Work/workbench の issue をすべて見る

似ている issue

Swift の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。