Releases: alexjlockwood/ShapeShifter
Releases · alexjlockwood/ShapeShifter
v1.1.0
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
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
v1.0.2
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. (#164)
v1.0.1
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
v0.3.0
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
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).
- Unmatched subpaths are automatically animated down to a point. For example,
- 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 pathA
withviewBox="0 0 18 24"
into pathB
with
viewBox="0 0 40 48"
, ShapeShifter will respond by:- Scaling path
A
by a factor of48 / 24 = 2
(so that its new viewBox
becomes"0 0 36 48"
), and - Translating path
A
horizontally by(40 - 36) / 2 = 2
(so that its
new viewBox can become"0 0 40 48"
, just like pathB
).
- Scaling path
- 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
Changelog (released on 2017-03-13)
Features
- Exported
AnimatedVectorDrawable
s will now automatically animate differences
in the<vector>
tag'salpha
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
orstroke
colors. (5d4fc31) - SVG import now correctly parses
<rect>
shapes containingrx
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)
v0.1.2
Changelog (released on 2017-03-06)
Features
- Shape Shifter now works offline! A cached version of the app will be saved in
your browser's cache so that it can be used without an internet connection.
Note that currently only Chrome, Firefox, and Opera are
supported. (#61) (50e694e) (d770fce) - SVGs matching the final start and end state canvases are now exported for use on the web. (#43)
VectorDrawable
s matching the final start and end state canvases are now exported for
use in Android apps. (#52)- Exported
AnimatedVectorDrawable
s will now automatically animate differences
in each path'sfillColor
,strokeColor
,fillAlpha
,strokeAlpha
, andstrokeWidth
. (#51) (500a4f8) (0dabb5f) - SVG import now makes a best effort attempt to merge multiple
<path>
elements into a single<path>
containing multiple subpaths. Shape Shifter currently
only supports morphing one<path>
element at a time, but this enhancement should make
that less likely to be an issue in the meantime.
Bug fixes
- Fixed SVG import crash in Firefox. (#69) (d0d95b6)
- Fixed SVG import bug that caused
<circle>
and<ellipse>
tags to be parsed incorrectly. (#71) (a487576) - SVG
stroke-width
andstroke-miterlimit
are now imported with default values
of1
and4
respectively. (#66) (1d47cef) (50e694e) - Fixed bug that would sometimes cause morphable paths to be displayed as unmorphable. (#50) (0e3d45d)
- SVG
fill
color is now imported asblack
by default.
(0debebe) - Fixed scaling bug in Safari when importing the 'morphing animals' demo. (5a7a5bd)