Repository navigation
history: going back keeps deleted layers, merges, reorders and grids too - #62
Merged
Merged
Conversation
An edit after going back over a deleted or restored layer or animation, a layer merge, a cell reorder or a grid change now keeps those steps on the line with their reverses, as it already did for drawing. A merge and a cell reorder, which act by direction, are taken back by an `inverted` copy. A resize is the one kind still dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follows #59. Part of fizzyedit/plans#10 (
plans/HISTORY_TIMELINE_PLAN.mdstep 4, "going back is a step").What changes
#59 kept the steps gone back over only when every one of them was a kind that swaps its values the same way both ways. A jump over a deleted layer, a merge, a cell reorder or a grid change still lost them. Now all of those are kept:
inverted: running it as an undo does the original's redo, and the other way round.applyChangereads the flag in those two branches.A resize is the one kind left out (
reversible). Its sprite data rides stacks beside the history, one set per resize, moving between undo and redo with its step. Its reverse would need a second set placed in the middle of those stacks. A jump over a resize, or a resize landing after going back, still drops what was gone back over, as before.Verified
Live on macOS, in a sandbox fizzy with this pixi (built
--forkto that fizzy's SDK), driven by an MCP client through the agent's bridge. Each case: a sprite with layersTop(one red pixel) andLayer; do the step; undo it; draw onLayer; then undo along the line.TopTopdownThe grid change and the cell reorder were not driven live; they build, and use the same copy and
invertedpaths.zig build(sandbox),zig fmt --check.🤖 Generated with Claude Code