1var _____WB$wombat$assign$function_____=function(name){return (globalThis._wb_wombat && globalThis._wb_wombat.local_init && globalThis._wb_wombat.local_init(name))||globalThis[name];};if(!globalThis.__WB_pmw){globalThis.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{ 2let window = _____WB$wombat$assign$function_____("window"); 3let self = _____WB$wombat$assign$function_____("self"); 4let document = _____WB$wombat$assign$function_____("document"); 5let location = _____WB$wombat$assign$function_____("location"); 6let top = _____WB$wombat$assign$function_____("top"); 7let parent = _____WB$wombat$assign$function_____("parent"); 8let frames = _____WB$wombat$assign$function_____("frames"); 9let opener = _____WB$wombat$assign$function_____("opener"); 10"use strict";(self.webpackChunk_motion_canvas_docs=self.webpackChunk_motion_canvas_docs||[]).push([[594],{876:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(2784);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=s(r),m=o,d=p["".concat(c,".").concat(m)]||p[m]||f[m]||a;return r?n.createElement(d,i(i({ref:t},u),{},{components:r})):n.createElement(d,i({ref:t},u))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:o,i[1]=l;for(var s=2;s<a;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},1074:(e,t,r)=>{r.d(t,{Z:()=>a});var n=r(2784);const o="root__2So";function a(e){let{src:t,width:r,height:a,title:i}=e;return n.createElement("iframe",{className:o,width:r??560,height:a??315,src:t,loading:"lazy",title:i??"YouTube video player",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})}},5e3:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>f,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var n=r(7896),o=(r(2784),r(876)),a=r(1074);const i={slug:"public-release",title:"Motion Canvas is now Open Source!",authors:"aarthificial"},l=void 0,c={permalink:"/blog/public-release",editUrl:"http://web.archive.org/web/20230216213729/https://github.com/motion-canvas/motion-canvas/blob/main/packages/docs/blog/2023-02-04-public-release.mdx",source:"@site/blog/2023-02-04-public-release.mdx",title:"Motion Canvas is now Open Source!",description:"After months of work, I'm happy to announce that Motion Canvas is ready for the",date:"2023-02-04T00:00:00.000Z",formattedDate:"February 4, 2023",tags:[],readingTime:.435,hasTruncateMarker:!1,authors:[{name:"Jacob",title:"Motion Canvas Creator",url:"http://web.archive.org/web/20230216213729/https://twitter.com/aarthificial",imageURL:"http://web.archive.org/web/20230216213729/https://github.com/aarthificial.png",key:"aarthificial"}
10],frontMatter:{slug:"public-release",title:"Motion Canvas is now Open Source!",authors:"aarthificial"},prevItem:{title:"Motion Canvas v2.1.0",permalink:"/blog/version-2.1.0"}},s={authorsImageUrls:[void 0]},u=[],p={toc:u};function f(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"After months of work, I'm happy to announce that Motion Canvas is ready for the\npublic release!"),(0,o.kt)(a.Z,{src:"http://web.archive.org/web/20230216213729/https://www.youtube.com/embed/H5GETOP7ivs",mdxType:"YouTubeVideo"}),(0,o.kt)("p",null,"Don't get me wrong - the road ahead is still long. Plenty of features left to\nimplement and tons of bugs to find and fix. But the foundations are here. Motion\nCanvas helped me make most of my videos last year, and I'm positive some of you\nwill find it helpful as well."),(0,o.kt)("p",null,"Head to the ",(0,o.kt)("a",{parentName:"p",href:"/docs/quickstart"},"quickstart")," guide and give it a try."))}f.isMDXComponent=!0}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.