diff --git a/adjustments.md b/adjustments.md new file mode 100644 index 0000000..ed57d7f --- /dev/null +++ b/adjustments.md @@ -0,0 +1,42 @@ +# Adjustments + +The Adjustments dropdown can be accessed with *Edit > Adjustments*, and it contains various options to adjust the colors of the sprite. + +## Brightness/Contrast + +![image of brightness/contrast menu](adjustments/brightness-contrast.png) + +Adjusts the brightness and contrast of the sprite or selection. A negative value will decrease the brightness/contrast while a positive value will increase the brightness/contrast. + +* The *R*, *G*, *B*, and *A* buttons control if a component should be affected, e.g: the *R* button is checked, so the *R* (red) component will be adjusted. +* The bottom button controls if the adjustment should apply to the active timeline selection (*Selected*) or all of the cels in the sprite (*All*). If [a portion of a sprite is selected](selecting.md#selecting): in *Selected* mode it would only apply to the selected content of the selected timeline elements; in *All* mode it would apply to the selected content of all of the sprite's cels. + + ![image of component buttons and selection button](adjustments/component-buttons.png) + + +## Hue/Saturation + +![image of hue/saturation menu](adjustments/hue-saturation.png) + + +Adjusts the hue, saturation, and value/lightness of the sprite or selection. *Shortcut:* Ctrl+U. + +* HSV / HSL: Increases a HSV/L component by a percentage of the components value + > e.g: a color has a Value of `20` increasing by `10%` of `20`; the resulting Value would be `20` + `2`, or `22`. +* HSV+ / HSL+: Increases a HSV/L component by the specified amount + > e.g: a color has a Value of `5` increasing by `14`; the resulting Value would be `5` + `14`, or `19`. + +## Color Curve + +![image of color curve menu](adjustments/color-curve.png) + +Applies a color curve to the sprite or selection. *Shortcut:* Ctrl+M. + +Clicking anywhere in the box will create a new point. Left click and drag a point to move it; Right click a point to edit its properties. To delete a point, hover over a point and press Delete. + +--- + +**SEE ALSO** + +[FX](fx.md#fx) | +[Edit Menu](edit-menu.md#edit-menu) \ No newline at end of file diff --git a/adjustments/brightness-contrast.png b/adjustments/brightness-contrast.png new file mode 100644 index 0000000..92c1afe Binary files /dev/null and b/adjustments/brightness-contrast.png differ diff --git a/adjustments/color-curve.png b/adjustments/color-curve.png new file mode 100644 index 0000000..b870713 Binary files /dev/null and b/adjustments/color-curve.png differ diff --git a/adjustments/component-buttons.png b/adjustments/component-buttons.png new file mode 100644 index 0000000..fdc2308 Binary files /dev/null and b/adjustments/component-buttons.png differ diff --git a/adjustments/hue-saturation.png b/adjustments/hue-saturation.png new file mode 100644 index 0000000..4d4f26b Binary files /dev/null and b/adjustments/hue-saturation.png differ diff --git a/cel.md b/cel.md index 30167b7..d1276b9 100644 --- a/cel.md +++ b/cel.md @@ -14,19 +14,15 @@ cels for all layers in a specific time: ## Move a Cel You can use the [Move tool](move-tool.md) to drag-and-drop the current -cel in the canvas. Or you can use the [Timeline to move the cel](move-cels.md) to -other layer/frame position. +cel in the canvas. Or you can use the [Timeline ](move-cels.md) to move the cel to +another layer/frame position. ## Change Opacity -On [RGB](color-mode.md#rgb) images each cel has its own opacity -level. You can use the slider at the status bar to modify its opacity: +On [RGB](color-mode.md#rgb) images, each cel has its own opacity +level. You can change a cel's opacity by right-clicking it and selecting *Properties* (or *Frame > Cel Properties*), and then adjusting the *Opacity* slider. -![Cel Opacity](cel/cel-opacity.gif) - -You can do the same right-clicking a cel and selecting *Properties* option (or *Frame > Cel Properties* menu): - -![Cel Properties](cel/cel-properties.gif) +![change cel opacity example](cel/cel-opacity.gif) ---- diff --git a/cel/cel-opacity.gif b/cel/cel-opacity.gif index 9b8fd9e..5d1368e 100644 Binary files a/cel/cel-opacity.gif and b/cel/cel-opacity.gif differ diff --git a/context-bar.md b/context-bar.md index bb19d04..a21de68 100644 --- a/context-bar.md +++ b/context-bar.md @@ -15,7 +15,7 @@ The context bar for most painting tools looks similar to this, with a few option ### Brush type, custom brushes, & brush angles -See the [brushes section](brushes.md). +See the [brushes](brushes.md) section. ### Brush size @@ -23,11 +23,11 @@ The brush size (in pixels). To quickly change the size of the brush, you can use ### Ink -See the [ink section](ink.md). +See the [ink](ink.md) section. ### Dynamics -See the [dynamics section](dynamics.md). +See the [dynamics](dynamics.md) section. ### Pixel-perfect mode @@ -45,7 +45,7 @@ While it isn't an option in the pencil tool, you can find the opacity option in ![Context bar for selection tools](context-bar/selection.png) -See the [selection section](selecting.md) for selecting and the [rotation section](rotate.md) for rotating and pivot. +See the [selection](selecting.md) section for selecting and the [rotation](rotate.md) section for rotating and pivot. ### Transparent Color & Transparent Color Options @@ -59,13 +59,13 @@ In the Transparent Color Options, you can change whether the transparent color i ![Context bar when moving the selection](context-bar/movingselection.png) -See the [move selection section](move-selection.md). +See the [move selection](move-selection.md) section. ## Eyedropper tool ![Context bar for eyedropper tool](context-bar/eyedropper.png) -See the [eyedropper section](eyedropper.md). +See the [eyedropper](eyedropper.md) section. ## Paint Bucket @@ -123,24 +123,8 @@ Toggles between a linear and radial gradient. ![Context bar for text tool](context-bar/text.png) -### Font selector +See the [Text Tool](text-tool.md) section. -Picks the font to use. - -### Font size - -Changes the font size. Depending on the font, some font sizes may have the `*` symbol next to them, indicating that the size is to pixel scale with the font. - -### Font formatting - -Changes the font formatting. Options: - -- Bold -- Italic - -- Antialias - Toggles antialising, which smoothes out the text. -- Hinting - Toggles hinting, which aligns the font to the pixel grid. -- Ligatures - Toggles ligatures. ## Move tool @@ -150,7 +134,7 @@ Selects layers based on which layer the clicked content is on. ## Slice tool -See the [slices section](slices.md). +See the [slices](slices.md) section. --- diff --git a/dynamics.md b/dynamics.md index 43121a5..c57a2b9 100644 --- a/dynamics.md +++ b/dynamics.md @@ -10,7 +10,7 @@ Once opened, the menu looks like this: ![Dynamics menu](dynamics/dynamics.png) -The left column (Pressure) is for use with a pen, and the right (Velocity) is for use with a mouse. +The left column (Pressure) can only be used with a pen, and the right (Velocity) column can be used with a pen and mouse. Only one of these can be selected per row. You can have multiple rows selected at once. diff --git a/edit-menu.md b/edit-menu.md new file mode 100644 index 0000000..1765c07 --- /dev/null +++ b/edit-menu.md @@ -0,0 +1,82 @@ +# Edit Menu + +The **Edit Menu** contains options/commands to modify the current sprite, as well as Aseprite settings. + +## Undo, Redo, & Undo History + +* **Undo**: Undoes the previous action. *Shortcut:* Ctrl+Z. +* **Redo**: Redoes the previous action. *Shortcut:* Ctrl+Y. +* **Undo History**: See the [Undo History](undo-history.md#undohistory) section. + +## Cut, Copy, & Paste + +* **Cut**: Cuts the active [selection](selecting.md#selecting) content. *Shortcut:* Ctrl+X. +* **Copy**: Copies the selected content, [layer](layers.md#layers), [cel](cel.md#cel), or frame; e.g if a layer was selected, the layer would be copied. *Shortcut:* Ctrl+C. +* **Copy Merged**: Copies the selected content for each visible layer, merged into one image. *Shortcut:* Ctrl+Shift+C. +* **Paste**: Pastes the clipboard (can be a layer, cel, portion of the sprite, etc). *Shortcut:* Ctrl+V. +* **Paste Special**: + * *Paste as New Sprite*: Pastes as a new [sprite](sprite.md#spritestructure). + * *Paste as New Layer*: Pastes as a new layer. + * *Paste as New Reference Layer*: Pastes as a new [reference layer](reference-layer.md#referencelayer). +* **Delete**: Deletes the selected content, layer, cel, or frame. *Shortcut:* Del. + +## Fill & Stroke + +* **Fill**: Fills the active selection with the [foreground color](color-bar.md#foreground-color). *Shortcut:* F. +* **Stroke**: Outlines the inside of the active selection with the foreground color. *Shortcut:* S. + +## Rotation & Flipping + +* **Rotate**: See the [Rotate Canvas](rotate-canvas.md#rotate-canvas) section. +* **Flip Horizontal**: Flips the sprite or selection horizontally. *Shortcut:* Shift+H. +* **Flip Vertical**: Flips the sprite or selection vertically. *Shortcut:* Shift+V. +* **Transform**: Selects the cel content. *Shortcut:* Ctrl+T. +* **Shift**: Shifts the pixels of a selection once in the selected direction. Pixels on the ends of the selection will wrap around when shifted. + +![shift example](edit-menu/shift.gif) + +## New Brush & New Sprite From Selection + +* **New Brush**: Creates a new brush. See the [Brushes](brushes.md#custom-pattern-brushes) section. *Shortcut:* Ctrl+B. +* **New Sprite From Selection**: Creates a new sprite from the selection content. See the [New Sprite](new-sprite.md#new-sprite-from-selection) section. *Shortcut:* Ctrl+Alt+N. + +## Replace Color + +See the [Replace Color](replace-color.md#replace-color) section. + +## Invert + +Inverts all of the colors in a selection or cel. + +The menu has a few important buttons at the bottom: + +* The *R*, *G*, *B*, and *A* buttons control if a component should be inverted, e.g: the *R* button is checked, so the *R* (red) component can be inverted. +* The bottom button controls if the invert should apply to the active timeline selection (*Selected*) or all of the cels in the sprite (*All*). If [a portion of a sprite is selected](selecting.md#selecting): in *Selected* mode the invert would only apply to the selected content of the selected timeline elements; in *All* mode the invert would apply to the selected content of all of the sprite's cels. + +![image of component buttons and selection button](edit-menu/invert-buttons.png) + +## Adjustments + +See the [Adjustments](adjustments.md#adjustments) section. + +## FX + +See the [FX](fx.md#fx) section. + +## Insert Text + +See the [Text Tool](text-tool.md#text-tool-&-insert-text) section. + +## Keyboard Shortcuts + +See the [Keyboard Shortcuts](keyboard-shortcuts.md#keyboard-shortcuts) section. + +## Preferences + +See the [Preferences](preferences.md#preferences) section. + +--- + +**SEE ALSO** + +[Menu Bar](menu-bar.md#menu-bar) \ No newline at end of file diff --git a/edit-menu/invert-buttons.png b/edit-menu/invert-buttons.png new file mode 100644 index 0000000..fdc2308 Binary files /dev/null and b/edit-menu/invert-buttons.png differ diff --git a/edit-menu/shift.gif b/edit-menu/shift.gif new file mode 100644 index 0000000..cf71ab4 Binary files /dev/null and b/edit-menu/shift.gif differ diff --git a/eyedropper.md b/eyedropper.md index b4842c6..c63f4dd 100644 --- a/eyedropper.md +++ b/eyedropper.md @@ -21,7 +21,7 @@ You have some extra options in the [context bar](context-bar.md): * Pick colors from the *All Layers* (the composition of layers), the *Current Layer* only without composition (ignoring the layer blending modes), or *First Reference Layer* to pick colors from the - first reference layer that is found. + first [reference layer](reference-layer.md#reference-layer) that is found. ![Sample options](eyedropper/sample-options.png) @@ -30,6 +30,10 @@ You have some extra options in the [context bar](context-bar.md): You can configure the `Right click` to pick colors from [Edit > Preferences > Editor](right-click.md). +## Pick colors outside of Aseprite + +You can pick a color from another window by clicking on the [Foreground](color-bar.md#foreground-color) or [Background](color-bar.md#background-color) color button and dragging the cursor outside of Aseprite. Releasing the mouse will pick the color the cursor was over. + --- **SEE ALSO** diff --git a/fx.md b/fx.md new file mode 100644 index 0000000..3a0f88d --- /dev/null +++ b/fx.md @@ -0,0 +1,45 @@ +# FX + +The FX (effects) dropdown can be accessed with *Edit > FX*, and it contains various effects to use on the sprite. + +## Outline + +![diagram of outline menu](fx/outline.png) + +The outline menu adds an outline around the sprite or the selected content. The algorithm outlines any shape that is not the *Background Color*. *Shortcut:* Shift+O. + +* **Outline Color**: Sets the color of the outline. +* **Background Color**: Sets the background color for the outline algorithm to detect. The algorithm outlines any shape that is not the *Background Color*. + + ![example of background color](fx/background-color.gif) + +* **Outline Location**: Can either be *Inside* or *Outside*. *Inside* draws the outline inside the shape and *Outside* draws the outline outside the shape. + + ![example of outline location](fx/location.gif) + +* **Shape Controls**: Controls the outline shape. The lower button panel can be used to create custom shapes, while the upper button panel are presets. +* **Component Controls**: + * The *RGBA* buttons control which components of the outline color are used, e.g: if the *R* component is not selected the outline color will have an Red rgb value of `0`. By default, all components are selected. + * The bottom button controls if the outline should apply to the active timeline selection (*Selected*) or all of the cels in the sprite (*All*). If [a portion of a sprite is selected](selecting.md#selecting): in *Selected* mode it would only apply to the selected content of the selected timeline elements; in *All* mode it would apply to the selected content of all of the sprite's cels. +* **Tiled**: When enabled, if a shape is cut off by the edge of the canvas, the cut off outline wraps around to the opposite side. + + ![example of tiled mode](fx/tiled.gif) + +## Convolution Matrix + +![image of convolution matrix menu](fx/conv-matrix.png) + +A list of [convolution matrix](https://en.wikipedia.org/wiki/Kernel_(image_processing)) filters/effects to apply to the sprite or the selected content. *Shortcut:* F9. + +## Despeckle + +![image of despeckle menu](fx/despeckle.png) + +Applies a [median filter](https://en.wikipedia.org/wiki/Median_filter) to the sprite or the selected content. + +--- + +**SEE ALSO** + +[Adjustments](adjustments.md#adjustments) | +[Edit Menu](edit-menu.md#edit-menu) diff --git a/fx/background-color.gif b/fx/background-color.gif new file mode 100644 index 0000000..d486452 Binary files /dev/null and b/fx/background-color.gif differ diff --git a/fx/conv-matrix.png b/fx/conv-matrix.png new file mode 100644 index 0000000..8a153c2 Binary files /dev/null and b/fx/conv-matrix.png differ diff --git a/fx/despeckle.png b/fx/despeckle.png new file mode 100644 index 0000000..aaaac83 Binary files /dev/null and b/fx/despeckle.png differ diff --git a/fx/location.gif b/fx/location.gif new file mode 100644 index 0000000..6cdc080 Binary files /dev/null and b/fx/location.gif differ diff --git a/fx/outline.png b/fx/outline.png new file mode 100644 index 0000000..de366a6 Binary files /dev/null and b/fx/outline.png differ diff --git a/fx/tiled.gif b/fx/tiled.gif new file mode 100644 index 0000000..10d18b8 Binary files /dev/null and b/fx/tiled.gif differ diff --git a/menu-bar.md b/menu-bar.md index fdfec9a..6bd75e5 100644 --- a/menu-bar.md +++ b/menu-bar.md @@ -5,7 +5,7 @@ The Aseprite menu bar is the menu at the top of the [main window](workspace). ![Aseprite Menu Bar](menu-bar/aseprite-menubar.png) You can access the main functionality of Aseprite from this menu. -Pressing Alt+underscored letter will open the given menu, +Pressing Alt+[underscored letter] will open the given menu, e.g. Alt+F will open the *File* menu. After that you can press an underscored key to access submenus. E.g. Alt+F and then N will access *File > New* menu option. @@ -15,10 +15,20 @@ at the top of the screen: ![macOS Menu Bar](menu-bar/macos-menubar.png) -Anyway you can show the Aseprite menu bar by checking the [*Edit > +You can show the Aseprite menu bar by checking the [*Edit > Preferences > General > Show Aseprite menu bar*](preferences.md#general) option. +**Menus**: + +* File +* [Edit](edit-menu.md#editmenu) +* Sprite +* Layer +* Frame +* Select +* View + --- **SEE ALSO** diff --git a/preferences.md b/preferences.md index a27b8c1..0788173 100644 --- a/preferences.md +++ b/preferences.md @@ -63,7 +63,7 @@ The Preferences dialog is divided in several sections: ## Tablet -See the [tablet](tablet.md) section. +See the [Tablet](tablet.md) section. ## Files @@ -77,7 +77,7 @@ See the [tablet](tablet.md) section. ![ranges example](preferences/ranges.png) -* **Color management**: See the [color profile](color-profile.md) section. +* **Color management**: See the [Color Profile](color-profile.md) section. ## Alerts @@ -214,10 +214,21 @@ Options to change the general behavior of the [Sprite Editor](sprite-editor.md): * **Undo Limit**: The memory limit for undo information, in megabytes, for each sprite. * **Go to modified frame/layer**: Sets the current frame/layer to the one where the undo occurred. -* **Allow non-linear history**: Undo history is a list of sprite states. If non-linear undo history is disabled and undo is used (which moves the current state back one entry), the next action will overwrite the undone action/state. If it is enabled and undo is used, the next action will add the new sprite state to the list, keeping the old one intact. - ![nonlinear undo history example](preferences/nonlinear-undohistory.gif) +* **Allow non-linear history**: See the [Undo History](undo-history.md#non-linear-undo-history) section. * **Show Undo Tooltip**: Show the undo tooltip in the bottom right corner of the window. +## Theme + +* **Font**: Sets the program font. +* **Mini Font**: Sets the program mini font. + +## Extensions + +* **Add Extension**: Opens a file dialog to select an extension to add (a `.zip` or `.aseprite-extension` file). +* **Disable**: Disables the selected extension. +* **Uninstall**: Uninstalls the selected extension. +* **Open Folder**: Opens a native file explorer (Windows File Explorer or macOS Finder) in the folder where the selected extension is installed. + ## Aseprite Format * **Cel Content Format**: Changes the cel image format. See https://github.com/aseprite/aseprite/blob/main/docs/ase-file-specs.md#cel-chunk-0x2005. diff --git a/preferences/nonlinear-undohistory.gif b/preferences/nonlinear-undohistory.gif deleted file mode 100644 index d61fe9a..0000000 Binary files a/preferences/nonlinear-undohistory.gif and /dev/null differ diff --git a/reference-layer.md b/reference-layer.md new file mode 100644 index 0000000..b815d0f --- /dev/null +++ b/reference-layer.md @@ -0,0 +1,14 @@ +# Reference Layer + +![reference layer example](reference-layer/reference-layer.gif) +> Image used taken from [publicdomainpictures.net](https://www.publicdomainpictures.net/en/view-image.php?image=142181). + +Reference layers are a way to show reference images at higher resolutions than the canvas. Reference layers cannot be drawn on or edited. + +There are a few ways to create a reference layer. To create one from a file, use *Layer > New > New Reference Layer from File*. To paste one in from the clipboard, use *Edit > Paste Special > Paste as New Reference Layer*. + +--- + +**SEE ALSO** + +[Layers](layers.md#layers]) diff --git a/reference-layer/reference-layer.gif b/reference-layer/reference-layer.gif new file mode 100644 index 0000000..e66d39c Binary files /dev/null and b/reference-layer/reference-layer.gif differ diff --git a/replace-color.md b/replace-color.md new file mode 100644 index 0000000..c4df1cb --- /dev/null +++ b/replace-color.md @@ -0,0 +1,19 @@ +# Replace Color + +![replace color example](replace-color/replace-color.gif) + +Replaces a color in a sprite or selection with a different color. Can be accessed with *Edit > Replace Color* or Shift+R. + +* **To**: The color to replace. +* **From**: The color to replace with. +* **Tolerance**: Adjusts how similar colors are replaced, with `0` being only the exact color will be replaced and `255` being all colors will be filled. +* **RGBA**: + * The *RGBA* buttons control if a component should be replaced, e.g: the *R* button is checked, so the *R* (red) component will be replaced. + * The bottom button controls if the replace color should apply to the active timeline selection (*Selected*) or all of the cels in the sprite (*All*). If [a portion of a sprite is selected](selecting.md#selecting): in *Selected* mode it would only apply to the selected content of the selected timeline elements; in *All* mode it would apply to the selected content of all of the sprite's cels. + +--- + +**SEE ALSO** + +[Edit Menu](edit-menu.md#edit-menu) | +[Paint Bucket](context-bar.md#paint-bucket) \ No newline at end of file diff --git a/replace-color/replace-color.gif b/replace-color/replace-color.gif new file mode 100644 index 0000000..b4ecdac Binary files /dev/null and b/replace-color/replace-color.gif differ diff --git a/text-tool.md b/text-tool.md new file mode 100644 index 0000000..0dc2a4a --- /dev/null +++ b/text-tool.md @@ -0,0 +1,40 @@ +# Text Tool & Insert Text + +The Text Tool and Insert Text option are two different ways to create text in Aseprite. They share mostly the same options, with the Text Tool having a few more than Insert Text. The Text Tool can be accessed with T and the Insert Text menu can be accessed with *Edit > Insert Text*. + +![text tool example](text-tool/text-tool.gif) + +## Font selector + +Picks the font to use for the text. Clicking on the selector opens a dropdown with the installed system fonts. Clicking "Load External Font" loads a font from a file. + +## Font size + +Changes the font size. Depending on the font, some font sizes may have the `*` symbol next to them, indicating that the size is to pixel scale with the font. + +## Font formatting + +Changes the font formatting. Options: + +* **Font Weight (bold)** - Sets the font weight. +* **Italic** - Toggles italics. + +* **Antialias** - Toggles antialising, which smoothes out the text. +* **Hinting** - Toggles hinting, which aligns the font to the pixel grid. +* **Ligatures** - Toggles ligatures. +* **Fill** *(Text Tool only)*: Draws the font as a solid color. +* **Stroke** *(Text Tool only)*: Draws the font as an outline. + + ![fill & stroke example](text-tool/fill-stroke.png) + +* **Stroke Width** *(Text Tool only)*: Controls the stroke width. + +## Color (Insert Text only) + +The color of the text. In the Text Tool, the foreground color is used instead. + +--- + +**SEE ALSO** + +[Edit Menu](edit-menu.md#edit-menu) \ No newline at end of file diff --git a/text-tool/fill-stroke.png b/text-tool/fill-stroke.png new file mode 100644 index 0000000..9006116 Binary files /dev/null and b/text-tool/fill-stroke.png differ diff --git a/text-tool/text-tool.gif b/text-tool/text-tool.gif new file mode 100644 index 0000000..930fdee Binary files /dev/null and b/text-tool/text-tool.gif differ diff --git a/undo-history.md b/undo-history.md new file mode 100644 index 0000000..431e6bb --- /dev/null +++ b/undo-history.md @@ -0,0 +1,31 @@ +# Undo History + +Undo history is a list of a sprite's states. A new state is saved each time an action is done to the sprite. When you use *Edit > Undo* (Ctrl+Z) or *Edit > Redo* +(Ctrl+Y), you are moving back and forth through this list of states. + +The undo history memory limit can be changed in the [preferences](preferences.md#undo) menu. + +## Undo History Menu + +![undo history menu](undo-history/undo-history.png) + +The undo history menu shows the sprite's undo history. It can be accessed with *Edit > Undo History*. + +Clicking on an entry changes the sprite's current state to the one that was clicked. After an action on the sprite (creating a new entry), the state either adds to or replaces the states in front of it depending on the non-linear undo history setting. + +### Non-Linear Undo History + +By default the Undo History acts linearly: when Undo is used (which moves the current sprite state back one entry), the next action will erase all steps that can be redone. If this Non-Linear History is enabled and Undo is used, the next action will add the new sprite state to the list, keeping the old one intact. + +Non-Linear Undo History can be toggled on/off in the [preferences](preferences.md#undo) menu. + +|Enabled|Disabled +|-|- +|![example with non-linear undo history enabled](undo-history/non-linear-on.gif)|![example with non-linear undo history disabled](undo-history/non-linear-off.gif) + +--- + +**SEE ALSO** + +[Preferences](preferences.md#preferences) | +[Edit Menu](edit-menu.md#edit-menu) \ No newline at end of file diff --git a/undo-history/non-linear-off.gif b/undo-history/non-linear-off.gif new file mode 100644 index 0000000..51b06d4 Binary files /dev/null and b/undo-history/non-linear-off.gif differ diff --git a/undo-history/non-linear-on.gif b/undo-history/non-linear-on.gif new file mode 100644 index 0000000..dc2e5c2 Binary files /dev/null and b/undo-history/non-linear-on.gif differ diff --git a/undo-history/undo-history.png b/undo-history/undo-history.png new file mode 100644 index 0000000..dd44187 Binary files /dev/null and b/undo-history/undo-history.png differ