diff --git a/.gitignore b/.gitignore index 89f1a15..2c3ce18 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ dist-ssr .DS_Store *.log + +# Local clipart working folder +/clipart/ diff --git a/package.json b/package.json index 216a043..0d394ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "animatr", "private": true, - "version": "0.3.0", + "version": "0.4.0", "type": "module", "scripts": { "dev": "vite", diff --git a/server/render.html b/server/render.html index d62c1c6..7f91efa 100644 --- a/server/render.html +++ b/server/render.html @@ -80,7 +80,15 @@ } var raw=(time-a.time)/(b.time-a.time); var t=easing(b.easing,raw); - return lerpProps(merge(layer.base,a.props), merge(layer.base,b.props), t); + var pa=merge(layer.base,a.props); + var pb=merge(layer.base,b.props); + var outS=lerpProps(pa,pb,t); + if(b.ctrlX!=null && b.ctrlY!=null){ + var om=1-t; + outS.x=om*om*pa.x+2*om*t*b.ctrlX+t*t*pb.x; + outS.y=om*om*pa.y+2*om*t*b.ctrlY+t*t*pb.y; + } + return outS; } } return merge(layer.base); diff --git a/src/App.vue b/src/App.vue index f839ec2..be8cc26 100644 --- a/src/App.vue +++ b/src/App.vue @@ -18,6 +18,7 @@ import { import AboutDialog from './components/AboutDialog.vue' import AssetSidebar from './components/AssetSidebar.vue' import CanvasStage from './components/CanvasStage.vue' +import ClipartDrawer from './components/ClipartDrawer.vue' import DocumentSettings from './components/DocumentSettings.vue' import ExportDialog from './components/ExportDialog.vue' import FullscreenPreview from './components/FullscreenPreview.vue' @@ -290,7 +291,9 @@ onBeforeUnmount(() => { diff --git a/src/components/DocumentSettings.vue b/src/components/DocumentSettings.vue index db859b3..a4ae85a 100644 --- a/src/components/DocumentSettings.vue +++ b/src/components/DocumentSettings.vue @@ -1,7 +1,15 @@