ShapeShifter Versions Save

SVG icon animation tool for Android, iOS, and the web

v1.1.0

5 years ago

There have been a ton of improvements since the last version... sorry I haven't been keeping this up to date.

Main thing I do want to mention is there is now a beta version of Shape Shifter available at https://beta.shapeshifter.design. Check it out!

v1.0.4

6 years ago

Changelog (released on 2017-08-08)

Features

  • Add ability to convert between path and clip-paths via the layer list.
  • Add ability to flatten groups into their children layers. This gives you the ability to bake transforms into a path layer's path data string, for example.

Bug fixes

  • A few rare-ish transform matrix related bugs. :)

v1.0.3

6 years ago

Changelog (released on 2017-07-24)

Features

  • Better results when auto fixing paths with multiple subpaths.

v1.0.2

6 years ago

Changelog (released on 2017-07-10)

Features

  • Add a dark theme.
  • Add ability to change the canvas' background color.
  • Add ability to cut/copy/paste animation blocks in the timeline.
  • Add ability to import SVGs and VectorDrawables by copying/pasting plain text into the window.

Bug fixes

  • Better support for importing clip paths from SVG.
  • Reduce size of exported .shapeshifter files.
  • Show highlights in the canvas when selecting hidden layers.
  • Fix bug where the last frame of a SVG spritesheet wouldn't display. (https://github.com/alexjlockwood/ShapeShifter/issues/164)

v1.0.1

6 years ago

Changelog (released on 2017-06-26)

Bug fixes

  • Export trimmed paths in exported SVGs and SVG spritesheets (#157)
  • Export clip paths in exported SVGs and SVG spritesheets
  • Fixed bug where AVD target names were being exported incorrectly (#154)
  • Fix element-resize-detector bug (#155)
  • Fix bug where stroke width wouldn't scale properly on SVG import
  • Fix bug where transforms were being applied in the wrong order during SVG export
  • Export a single SVG file when no animation blocks are defined in the workspace
  • Fix bug where mouse clicks were being calculated incorrectly in the canvas

v1.0.0

6 years ago

Changelog (released on 2017-06-19)

Features

  • Android Icon Animator and Shape Shifter have merged into one!

v0.1.0

7 years ago

v0.1.0 (released on 2017-02-20)

  • Initial release!

v0.3.0

7 years ago

Changelog (released on 2017-05-01)

Features

  • Made significant improvements to Shape Shifter's UI, making it overall much easier to use. Changes are now primarily made through the canvas via a new "action mode"-centric user interface, which is activated whenever the user selects a subpath, segment, and/or point.
  • Added a new pair subpaths mode, which allows the user to specify how subpaths in the start canvas should morph into subpaths in the end canvas.
  • Added three new export formats for the web:
    • Export to SVG spritesheet (30fps and 60fps).
    • Export to standalone SVG frames (30fps and 60fps).
    • Export to CSS keyframes (note that Chrome is the only browser that supports them as of April, 2017).
  • Added the ability to import VectorDrawable files into the workspace.
  • Added the ability to delete subpaths and split segments directly from the canvas.

v0.2.0

7 years ago

Changelog (released on 2017-04-10)

Features

  • Shape Shifter has a new landing page: https://shapeshifter.design
  • It is now possible to morph paths with different numbers of subpaths! Here's a rundown of the new features that make it possible:
    • Unmatched subpaths are automatically animated down to a point. For example, consider a play and pause icon. The play icon consists of a single triangular subpath and the pause icon consists of two rectangular subpaths. By default ShapeShifter will morph the play icon subpath into the pause icon's first subpath. The remaining pause icon subpath will animate out of view by collapsing itself down to a point until it is no longer visible.
    • The ability to reorder subpaths. For example, if you wanted to morph the play icon subpath into the second pause icon subpath instead of the first, it is now possible to adjust the Z-order of the pause bar's subpaths in order to achieve that.
    • The ability to split stroked subpaths. For example, if you want to morph a stroked path with one subpath into a stroked path with two subpaths, you can achieve this by splitting the first subpath into two. Splitting a stroked subpath is effectively the same as inserting a 'moveTo' command into the SVG's path data.
    • The ability to split filled subpaths. For example, if you want to morph a play icon into a pause icon, you can now achieve this by cutting the play icon into two (i.e. so that the top part of the triangle morphs into the first pause bar and the bottom part of the triangle morphs into the second).
  • The ability to add new split points by clicking on the canvas directly.
  • The ability to morph paths with different SVG viewport dimensions. For example, if you want to morph path A with viewBox="0 0 18 24" into path B with viewBox="0 0 40 48", ShapeShifter will respond by:
    1. Scaling path A by a factor of 48 / 24 = 2 (so that its new viewBox becomes "0 0 36 48"), and
    2. Translating path A horizontally by (40 - 36) / 2 = 2 (so that its new viewBox can become "0 0 40 48", just like path B).
  • A simpler UI for adjusting an animation's rotation. Thanks to Jake Archibald and Roman Nurik for the idea!
  • The ability to add and delete new SVG paths even after the initial import. Clicking on an empty canvas will now open the file picker to import a new SVG as well.
  • Snap-to-point detection in the canvas while dragging and adding new points.

v0.1.3

7 years ago

Changelog (released on 2017-03-13)

Features

  • Exported AnimatedVectorDrawables will now automatically animate differences in the <vector> tag's alpha property. (#68) (82281e0)

Bug fixes

  • SVG import is now much better at understanding <defs> and <use> tags. (#13) (0a94a0b)
  • SVG import now strips away invisible paths with no fill or stroke colors. (5d4fc31)
  • SVG import now correctly parses <rect> shapes containing rx and/or ry attributes. (#3) (96d0f1d)
  • Added a README.txt file to exported zip files with details on the archive's contents. (#73) (7a27f90)
  • Switched over to Angular 2's OnPush change detection strategy, which should increase overall application performance. (#74) (281e6e4)
  • Fixed a couple of miscellaneous bugs that occurred when switching between different SVG paths. (#75) (#76) (6560b60) (7a4e49f)