summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLizzy Hunt <elizabeth.hunt@simponic.xyz>2024-02-01 11:00:17 -0700
committerLizzy Hunt <elizabeth.hunt@simponic.xyz>2024-02-01 11:00:17 -0700
commitd7495c101d5aea78dfac8116e8535c0a0df3b6d1 (patch)
tree7c94f6756acdb45196f4786edae1e3ebe7acac43
downloadcompiling-the-lambda-calculus-d7495c101d5aea78dfac8116e8535c0a0df3b6d1.tar.gz
compiling-the-lambda-calculus-d7495c101d5aea78dfac8116e8535c0a0df3b6d1.zip
initial commit
-rw-r--r--.gitignore15
-rw-r--r--package-lock.json1284
-rw-r--r--package.json21
-rw-r--r--src/motion-canvas.d.ts1
-rw-r--r--src/palette.ts1483
-rw-r--r--src/project.meta32
-rw-r--r--src/project.ts7
-rw-r--r--src/scenes/example.meta5
-rw-r--r--src/scenes/example.tsx8
-rw-r--r--tsconfig.json4
-rw-r--r--vite.config.ts10
11 files changed, 2870 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..829b1c7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+# Generated files
+node_modules
+output
+dist
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..76dfc14
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1284 @@
+{
+ "name": "compilinglambda",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "compilinglambda",
+ "version": "0.0.0",
+ "dependencies": {
+ "@motion-canvas/2d": "^3.13.0",
+ "@motion-canvas/core": "^3.13.0",
+ "@motion-canvas/ffmpeg": "^1.1.0"
+ },
+ "devDependencies": {
+ "@motion-canvas/ui": "^3.13.0",
+ "@motion-canvas/vite-plugin": "^3.13.0",
+ "typescript": "^5.2.2",
+ "vite": "^4.0.0"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
+ "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
+ "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
+ "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
+ "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
+ "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
+ "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
+ "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
+ "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
+ "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
+ "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
+ "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "cpu": [
+ "loong64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
+ "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
+ "cpu": [
+ "mips64el"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
+ "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
+ "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
+ "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
+ "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
+ "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
+ "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
+ "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
+ "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@ffmpeg-installer/darwin-arm64": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-arm64/-/darwin-arm64-4.1.5.tgz",
+ "integrity": "sha512-hYqTiP63mXz7wSQfuqfFwfLOfwwFChUedeCVKkBtl/cliaTM7/ePI9bVzfZ2c+dWu3TqCwLDRWNSJ5pqZl8otA==",
+ "cpu": [
+ "arm64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@ffmpeg-installer/darwin-x64": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-x64/-/darwin-x64-4.1.0.tgz",
+ "integrity": "sha512-Z4EyG3cIFjdhlY8wI9aLUXuH8nVt7E9SlMVZtWvSPnm2sm37/yC2CwjUzyCQbJbySnef1tQwGG2Sx+uWhd9IAw==",
+ "cpu": [
+ "x64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@ffmpeg-installer/ffmpeg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/ffmpeg/-/ffmpeg-1.1.0.tgz",
+ "integrity": "sha512-Uq4rmwkdGxIa9A6Bd/VqqYbT7zqh1GrT5/rFwCwKM70b42W5gIjWeVETq6SdcL0zXqDtY081Ws/iJWhr1+xvQg==",
+ "optionalDependencies": {
+ "@ffmpeg-installer/darwin-arm64": "4.1.5",
+ "@ffmpeg-installer/darwin-x64": "4.1.0",
+ "@ffmpeg-installer/linux-arm": "4.1.3",
+ "@ffmpeg-installer/linux-arm64": "4.1.4",
+ "@ffmpeg-installer/linux-ia32": "4.1.0",
+ "@ffmpeg-installer/linux-x64": "4.1.0",
+ "@ffmpeg-installer/win32-ia32": "4.1.0",
+ "@ffmpeg-installer/win32-x64": "4.1.0"
+ }
+ },
+ "node_modules/@ffmpeg-installer/linux-arm": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm/-/linux-arm-4.1.3.tgz",
+ "integrity": "sha512-NDf5V6l8AfzZ8WzUGZ5mV8O/xMzRag2ETR6+TlGIsMHp81agx51cqpPItXPib/nAZYmo55Bl2L6/WOMI3A5YRg==",
+ "cpu": [
+ "arm"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffmpeg-installer/linux-arm64": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm64/-/linux-arm64-4.1.4.tgz",
+ "integrity": "sha512-dljEqAOD0oIM6O6DxBW9US/FkvqvQwgJ2lGHOwHDDwu/pX8+V0YsDL1xqHbj1DMX/+nP9rxw7G7gcUvGspSoKg==",
+ "cpu": [
+ "arm64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffmpeg-installer/linux-ia32": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-ia32/-/linux-ia32-4.1.0.tgz",
+ "integrity": "sha512-0LWyFQnPf+Ij9GQGD034hS6A90URNu9HCtQ5cTqo5MxOEc7Rd8gLXrJvn++UmxhU0J5RyRE9KRYstdCVUjkNOQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffmpeg-installer/linux-x64": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-x64/-/linux-x64-4.1.0.tgz",
+ "integrity": "sha512-Y5BWhGLU/WpQjOArNIgXD3z5mxxdV8c41C+U15nsE5yF8tVcdCGet5zPs5Zy3Ta6bU7haGpIzryutqCGQA/W8A==",
+ "cpu": [
+ "x64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffmpeg-installer/win32-ia32": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-ia32/-/win32-ia32-4.1.0.tgz",
+ "integrity": "sha512-FV2D7RlaZv/lrtdhaQ4oETwoFUsUjlUiasiZLDxhEUPdNDWcH1OU9K1xTvqz+OXLdsmYelUDuBS/zkMOTtlUAw==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@ffmpeg-installer/win32-x64": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-x64/-/win32-x64-4.1.0.tgz",
+ "integrity": "sha512-Drt5u2vzDnIONf4ZEkKtFlbvwj6rI3kxw1Ck9fpudmtgaZIHD4ucsWB2lCZBXRxJgXR+2IMSti+4rtM4C4rXgg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@ffprobe-installer/darwin-arm64": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/darwin-arm64/-/darwin-arm64-5.0.1.tgz",
+ "integrity": "sha512-vwNCNjokH8hfkbl6m95zICHwkSzhEvDC3GVBcUp5HX8+4wsX10SP3B+bGur7XUzTIZ4cQpgJmEIAx6TUwRepMg==",
+ "cpu": [
+ "arm64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@ffprobe-installer/darwin-x64": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/darwin-x64/-/darwin-x64-5.1.0.tgz",
+ "integrity": "sha512-J+YGscZMpQclFg31O4cfVRGmDpkVsQ2fZujoUdMAAYcP0NtqpC49Hs3SWJpBdsGB4VeqOt5TTm1vSZQzs1NkhA==",
+ "cpu": [
+ "x64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@ffprobe-installer/ffprobe": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/ffprobe/-/ffprobe-2.1.2.tgz",
+ "integrity": "sha512-ZNvwk4f2magF42Zji2Ese16SMj9BS7Fui4kRjg6gTYTxY3gWZNpg85n4MIfQyI9nimHg4x/gT6FVkp/bBDuBwg==",
+ "engines": {
+ "node": ">=14.21.2"
+ },
+ "optionalDependencies": {
+ "@ffprobe-installer/darwin-arm64": "5.0.1",
+ "@ffprobe-installer/darwin-x64": "5.1.0",
+ "@ffprobe-installer/linux-arm": "5.2.0",
+ "@ffprobe-installer/linux-arm64": "5.2.0",
+ "@ffprobe-installer/linux-ia32": "5.2.0",
+ "@ffprobe-installer/linux-x64": "5.2.0",
+ "@ffprobe-installer/win32-ia32": "5.1.0",
+ "@ffprobe-installer/win32-x64": "5.1.0"
+ }
+ },
+ "node_modules/@ffprobe-installer/linux-arm": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-arm/-/linux-arm-5.2.0.tgz",
+ "integrity": "sha512-PF5HqEhCY7WTWHtLDYbA/+rLS+rhslWvyBlAG1Fk8VzVlnRdl93o6hy7DE2kJgxWQbFaR3ZktPQGEzfkrmQHvQ==",
+ "cpu": [
+ "arm"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffprobe-installer/linux-arm64": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-arm64/-/linux-arm64-5.2.0.tgz",
+ "integrity": "sha512-X1VvWtlLs6ScP73biVLuHD5ohKJKsMTa0vafCESOen4mOoNeLAYbxOVxDWAdFz9cpZgRiloFj5QD6nDj8E28yQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffprobe-installer/linux-ia32": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-ia32/-/linux-ia32-5.2.0.tgz",
+ "integrity": "sha512-TFVK5sasXyXhbIG7LtPRDmtkrkOsInwKcL43iEvEw+D9vCS2rc//mn9/0Q+BR0UoJEiMK4+ApYr/3LLVUBPOCQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffprobe-installer/linux-x64": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-x64/-/linux-x64-5.2.0.tgz",
+ "integrity": "sha512-D3UeqTLYPNs7pBWPLUYGehPdRVqU8eACox4OZy3pZUZatxye2YKlvBwEfaLdL1v2Z4FOAlLUhms0kY8m8kqSRA==",
+ "cpu": [
+ "x64"
+ ],
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@ffprobe-installer/win32-ia32": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/win32-ia32/-/win32-ia32-5.1.0.tgz",
+ "integrity": "sha512-5O3vOoNRxmut0/Nu9vSazTdSHasrr+zPT2B3Hm7kjmO3QVFcIfVImS6ReQnZeSy8JPJOqXts5kX5x/3KOX54XQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@ffprobe-installer/win32-x64": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@ffprobe-installer/win32-x64/-/win32-x64-5.1.0.tgz",
+ "integrity": "sha512-jMGYeAgkrdn4e2vvYt/qakgHRE3CPju4bn5TmdPfoAm1BlX1mY9cyMd8gf5vSzI8gH8Zq5WQAyAkmekX/8TSTg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@motion-canvas/2d": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@motion-canvas/2d/-/2d-3.13.0.tgz",
+ "integrity": "sha512-FrQumHi7wTsik27rHvQ9ZO8Uq4lmcMurEwGPkoCAb+cp+K4gLUhczLvrkXb14fCJ2Ie4QxClnGVfs7hYD4MGDw==",
+ "dependencies": {
+ "@motion-canvas/core": "^3.13.0",
+ "code-fns": "^0.8.2",
+ "mathjax-full": "^3.2.2",
+ "parse-svg-path": "^0.1.2"
+ }
+ },
+ "node_modules/@motion-canvas/core": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@motion-canvas/core/-/core-3.13.0.tgz",
+ "integrity": "sha512-W1mkJQs2XW4pDB1DkG9ptPv4EjrpQcYSRUdJW1wLT1UDqVcDtPrlCx3w2MM5cJmNZGl1DdJn9K5Uw12iri6jBA==",
+ "dependencies": {
+ "@types/chroma-js": "^2.1.4",
+ "chroma-js": "^2.4.2"
+ }
+ },
+ "node_modules/@motion-canvas/ffmpeg": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@motion-canvas/ffmpeg/-/ffmpeg-1.1.1.tgz",
+ "integrity": "sha512-w2d7oFfR3hYHXeYtFGoHp6goY+vVL0LoZ2h1b/veTH5KvE7jrLp2Kl/XPHsYJ5ZDRHUT0Nhl05DBLdXYqdSqgg==",
+ "dependencies": {
+ "@ffmpeg-installer/ffmpeg": "^1.1.0",
+ "@ffprobe-installer/ffprobe": "^2.0.0",
+ "fluent-ffmpeg": "^2.1.2"
+ },
+ "peerDependencies": {
+ "@motion-canvas/core": "^3.7.0",
+ "@motion-canvas/vite-plugin": "^3.7.0",
+ "vite": "4.x"
+ }
+ },
+ "node_modules/@motion-canvas/ui": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@motion-canvas/ui/-/ui-3.13.0.tgz",
+ "integrity": "sha512-ARZzuJELaYrpgs3InhcwU67ZxaWnX0OCLx4U2RMxjNWCo1yxBZ9B4ZGN8Ei2BGdUxLCVa9Rs3A+nTX7FbjLGtA==",
+ "dev": true,
+ "dependencies": {
+ "@motion-canvas/core": "^3.13.0",
+ "@preact/signals": "^1.2.1",
+ "preact": "^10.19.2"
+ }
+ },
+ "node_modules/@motion-canvas/vite-plugin": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@motion-canvas/vite-plugin/-/vite-plugin-3.13.0.tgz",
+ "integrity": "sha512-f/yfoeBsb5XmD4Ny0SMHAz9aycyvXVR48Lbj15iVllXRCgtbKjSfbTgeAp8zf2S6qSu/BnuhUrVuZ55QhVjtnQ==",
+ "dependencies": {
+ "fast-glob": "^3.3.1",
+ "follow-redirects": "^1.15.2",
+ "mime-types": "^2.1.35"
+ },
+ "peerDependencies": {
+ "vite": "4.x || 5.x"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@preact/signals": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@preact/signals/-/signals-1.2.2.tgz",
+ "integrity": "sha512-ColCqdo4cRP18bAuIR4Oik5rDpiyFtPIJIygaYPMEAwTnl4buWkBOflGBSzhYyPyJfKpkwlekrvK+1pzQ2ldWw==",
+ "dev": true,
+ "dependencies": {
+ "@preact/signals-core": "^1.4.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ },
+ "peerDependencies": {
+ "preact": "10.x"
+ }
+ },
+ "node_modules/@preact/signals-core": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.5.1.tgz",
+ "integrity": "sha512-dE6f+WCX5ZUDwXzUIWNMhhglmuLpqJhuy3X3xHrhZYI0Hm2LyQwOu0l9mdPiWrVNsE+Q7txOnJPgtIqHCYoBVA==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ }
+ },
+ "node_modules/@types/chroma-js": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-2.4.3.tgz",
+ "integrity": "sha512-1ly5ly/7S/YF8aD7MxUQnFOZxdegimuOunJl0xDsLlguu5JrwuSTVGVH3UpIUlh6YauI0RMNT4cqjBonhgbdIQ=="
+ },
+ "node_modules/@types/hast": {
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
+ "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
+ "dependencies": {
+ "@types/unist": "^2"
+ }
+ },
+ "node_modules/@types/unist": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+ "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+ },
+ "node_modules/@wooorm/starry-night": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@wooorm/starry-night/-/starry-night-1.7.0.tgz",
+ "integrity": "sha512-ktO0nkddrovIoNW2jAUT+Cdd9n1bWjy1Ir4CdcmgTaT6E94HLlQfu7Yv62falclBEwvsuVp3bSBw23wtta1fNw==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "import-meta-resolve": "^2.0.0",
+ "vscode-oniguruma": "^1.0.0",
+ "vscode-textmate": "^9.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chroma-js": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz",
+ "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
+ },
+ "node_modules/code-fns": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/code-fns/-/code-fns-0.8.2.tgz",
+ "integrity": "sha512-3VVeq3cnWxWiWKFLsVo+XWsOXBSW2gAx2uv0ViETLNmNuygEPHlCeDAv/Zy7xXqPgXtgLZyvIJZmx+ojTgOIGA==",
+ "dependencies": {
+ "@wooorm/starry-night": "^1.2.0"
+ }
+ },
+ "node_modules/commander": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz",
+ "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==",
+ "engines": {
+ "node": "^12.20.0 || >=14"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
+ "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.18.20",
+ "@esbuild/android-arm64": "0.18.20",
+ "@esbuild/android-x64": "0.18.20",
+ "@esbuild/darwin-arm64": "0.18.20",
+ "@esbuild/darwin-x64": "0.18.20",
+ "@esbuild/freebsd-arm64": "0.18.20",
+ "@esbuild/freebsd-x64": "0.18.20",
+ "@esbuild/linux-arm": "0.18.20",
+ "@esbuild/linux-arm64": "0.18.20",
+ "@esbuild/linux-ia32": "0.18.20",
+ "@esbuild/linux-loong64": "0.18.20",
+ "@esbuild/linux-mips64el": "0.18.20",
+ "@esbuild/linux-ppc64": "0.18.20",
+ "@esbuild/linux-riscv64": "0.18.20",
+ "@esbuild/linux-s390x": "0.18.20",
+ "@esbuild/linux-x64": "0.18.20",
+ "@esbuild/netbsd-x64": "0.18.20",
+ "@esbuild/openbsd-x64": "0.18.20",
+ "@esbuild/sunos-x64": "0.18.20",
+ "@esbuild/win32-arm64": "0.18.20",
+ "@esbuild/win32-ia32": "0.18.20",
+ "@esbuild/win32-x64": "0.18.20"
+ }
+ },
+ "node_modules/esm": {
+ "version": "3.2.25",
+ "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
+ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz",
+ "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fluent-ffmpeg": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz",
+ "integrity": "sha512-IZTB4kq5GK0DPp7sGQ0q/BWurGHffRtQQwVkiqDgeO6wYJLLV5ZhgNOQ65loZxxuPMKZKZcICCUnaGtlxBiR0Q==",
+ "dependencies": {
+ "async": ">=0.2.9",
+ "which": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.5",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
+ "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/import-meta-resolve": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz",
+ "integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ },
+ "node_modules/mathjax-full": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz",
+ "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==",
+ "dependencies": {
+ "esm": "^3.2.25",
+ "mhchemparser": "^4.1.0",
+ "mj-context-menu": "^0.6.1",
+ "speech-rule-engine": "^4.0.6"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mhchemparser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz",
+ "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ=="
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mj-context-menu": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz",
+ "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/parse-svg-path": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz",
+ "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ=="
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.33",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
+ "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/preact": {
+ "version": "10.19.3",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.3.tgz",
+ "integrity": "sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=14.18.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/speech-rule-engine": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz",
+ "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==",
+ "dependencies": {
+ "commander": "9.2.0",
+ "wicked-good-xpath": "1.3.0",
+ "xmldom-sre": "0.1.31"
+ },
+ "bin": {
+ "sre": "bin/sre"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
+ "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/vite": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz",
+ "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==",
+ "dependencies": {
+ "esbuild": "^0.18.10",
+ "postcss": "^8.4.27",
+ "rollup": "^3.27.1"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 14",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vscode-oniguruma": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
+ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA=="
+ },
+ "node_modules/vscode-textmate": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-9.0.0.tgz",
+ "integrity": "sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg=="
+ },
+ "node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/wicked-good-xpath": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz",
+ "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw=="
+ },
+ "node_modules/xmldom-sre": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz",
+ "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==",
+ "engines": {
+ "node": ">=0.1"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..f5a9521
--- /dev/null
+++ b/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "compilinglambda",
+ "private": true,
+ "version": "0.0.0",
+ "scripts": {
+ "start": "vite",
+ "serve": "vite",
+ "build": "tsc && vite build"
+ },
+ "dependencies": {
+ "@motion-canvas/core": "^3.13.0",
+ "@motion-canvas/2d": "^3.13.0",
+ "@motion-canvas/ffmpeg": "^1.1.0"
+ },
+ "devDependencies": {
+ "@motion-canvas/ui": "^3.13.0",
+ "@motion-canvas/vite-plugin": "^3.13.0",
+ "typescript": "^5.2.2",
+ "vite": "^4.0.0"
+ }
+} \ No newline at end of file
diff --git a/src/motion-canvas.d.ts b/src/motion-canvas.d.ts
new file mode 100644
index 0000000..067c6a4
--- /dev/null
+++ b/src/motion-canvas.d.ts
@@ -0,0 +1 @@
+/// <reference types="@motion-canvas/core/project" />
diff --git a/src/palette.ts b/src/palette.ts
new file mode 100644
index 0000000..4315132
--- /dev/null
+++ b/src/palette.ts
@@ -0,0 +1,1483 @@
+/* https://raw.githubusercontent.com/catppuccin/palette/main/palette.json */
+export const palette = {
+ latte: {
+ name: "Latte",
+ dark: false,
+ colors: {
+ rosewater: {
+ hex: "#dc8a78",
+ rgb: {
+ r: 220,
+ g: 138,
+ b: 120,
+ },
+ hsl: {
+ h: 10.799999999999995,
+ s: 0.5882352941176472,
+ l: 0.6666666666666667,
+ },
+ accent: true,
+ },
+ flamingo: {
+ hex: "#dd7878",
+ rgb: {
+ r: 221,
+ g: 120,
+ b: 120,
+ },
+ hsl: {
+ h: 0,
+ s: 0.5976331360946746,
+ l: 0.6686274509803922,
+ },
+ accent: true,
+ },
+ pink: {
+ hex: "#ea76cb",
+ rgb: {
+ r: 234,
+ g: 118,
+ b: 203,
+ },
+ hsl: {
+ h: 316.0344827586207,
+ s: 0.7341772151898731,
+ l: 0.6901960784313725,
+ },
+ accent: true,
+ },
+ mauve: {
+ hex: "#8839ef",
+ rgb: {
+ r: 136,
+ g: 57,
+ b: 239,
+ },
+ hsl: {
+ h: 266.0439560439561,
+ s: 0.8504672897196262,
+ l: 0.5803921568627451,
+ },
+ accent: true,
+ },
+ red: {
+ hex: "#d20f39",
+ rgb: {
+ r: 210,
+ g: 15,
+ b: 57,
+ },
+ hsl: {
+ h: 347.0769230769231,
+ s: 0.8666666666666666,
+ l: 0.4411764705882353,
+ },
+ accent: true,
+ },
+ maroon: {
+ hex: "#e64553",
+ rgb: {
+ r: 230,
+ g: 69,
+ b: 83,
+ },
+ hsl: {
+ h: 354.78260869565213,
+ s: 0.76303317535545,
+ l: 0.5862745098039216,
+ },
+ accent: true,
+ },
+ peach: {
+ hex: "#fe640b",
+ rgb: {
+ r: 254,
+ g: 100,
+ b: 11,
+ },
+ hsl: {
+ h: 21.975308641975307,
+ s: 0.9918367346938776,
+ l: 0.5196078431372549,
+ },
+ accent: true,
+ },
+ yellow: {
+ hex: "#df8e1d",
+ rgb: {
+ r: 223,
+ g: 142,
+ b: 29,
+ },
+ hsl: {
+ h: 34.948453608247426,
+ s: 0.7698412698412698,
+ l: 0.49411764705882355,
+ },
+ accent: true,
+ },
+ green: {
+ hex: "#40a02b",
+ rgb: {
+ r: 64,
+ g: 160,
+ b: 43,
+ },
+ hsl: {
+ h: 109.23076923076923,
+ s: 0.5763546798029556,
+ l: 0.39803921568627454,
+ },
+ accent: true,
+ },
+ teal: {
+ hex: "#179299",
+ rgb: {
+ r: 23,
+ g: 146,
+ b: 153,
+ },
+ hsl: {
+ h: 183.23076923076923,
+ s: 0.7386363636363636,
+ l: 0.34509803921568627,
+ },
+ accent: true,
+ },
+ sky: {
+ hex: "#04a5e5",
+ rgb: {
+ r: 4,
+ g: 165,
+ b: 229,
+ },
+ hsl: {
+ h: 197.0666666666667,
+ s: 0.965665236051502,
+ l: 0.45686274509803926,
+ },
+ accent: true,
+ },
+ sapphire: {
+ hex: "#209fb5",
+ rgb: {
+ r: 32,
+ g: 159,
+ b: 181,
+ },
+ hsl: {
+ h: 188.85906040268458,
+ s: 0.6995305164319249,
+ l: 0.4176470588235294,
+ },
+ accent: true,
+ },
+ blue: {
+ hex: "#1e66f5",
+ rgb: {
+ r: 30,
+ g: 102,
+ b: 245,
+ },
+ hsl: {
+ h: 219.90697674418607,
+ s: 0.9148936170212768,
+ l: 0.5392156862745098,
+ },
+ accent: true,
+ },
+ lavender: {
+ hex: "#7287fd",
+ rgb: {
+ r: 114,
+ g: 135,
+ b: 253,
+ },
+ hsl: {
+ h: 230.93525179856115,
+ s: 0.9720279720279721,
+ l: 0.7196078431372549,
+ },
+ accent: true,
+ },
+ text: {
+ hex: "#4c4f69",
+ rgb: {
+ r: 76,
+ g: 79,
+ b: 105,
+ },
+ hsl: {
+ h: 233.79310344827587,
+ s: 0.16022099447513813,
+ l: 0.3549019607843137,
+ },
+ accent: false,
+ },
+ subtext1: {
+ hex: "#5c5f77",
+ rgb: {
+ r: 92,
+ g: 95,
+ b: 119,
+ },
+ hsl: {
+ h: 233.33333333333334,
+ s: 0.1279620853080569,
+ l: 0.4137254901960784,
+ },
+ accent: false,
+ },
+ subtext0: {
+ hex: "#6c6f85",
+ rgb: {
+ r: 108,
+ g: 111,
+ b: 133,
+ },
+ hsl: {
+ h: 232.79999999999998,
+ s: 0.10373443983402494,
+ l: 0.4725490196078431,
+ },
+ accent: false,
+ },
+ overlay2: {
+ hex: "#7c7f93",
+ rgb: {
+ r: 124,
+ g: 127,
+ b: 147,
+ },
+ hsl: {
+ h: 232.17391304347825,
+ s: 0.09623430962343092,
+ l: 0.5313725490196078,
+ },
+ accent: false,
+ },
+ overlay1: {
+ hex: "#8c8fa1",
+ rgb: {
+ r: 140,
+ g: 143,
+ b: 161,
+ },
+ hsl: {
+ h: 231.42857142857144,
+ s: 0.10047846889952144,
+ l: 0.5901960784313726,
+ },
+ accent: false,
+ },
+ overlay0: {
+ hex: "#9ca0b0",
+ rgb: {
+ r: 156,
+ g: 160,
+ b: 176,
+ },
+ hsl: {
+ h: 228.00000000000003,
+ s: 0.11235955056179768,
+ l: 0.6509803921568628,
+ },
+ accent: false,
+ },
+ surface2: {
+ hex: "#acb0be",
+ rgb: {
+ r: 172,
+ g: 176,
+ b: 190,
+ },
+ hsl: {
+ h: 226.6666666666667,
+ s: 0.12162162162162159,
+ l: 0.7098039215686275,
+ },
+ accent: false,
+ },
+ surface1: {
+ hex: "#bcc0cc",
+ rgb: {
+ r: 188,
+ g: 192,
+ b: 204,
+ },
+ hsl: {
+ h: 225.00000000000003,
+ s: 0.13559322033898308,
+ l: 0.7686274509803922,
+ },
+ accent: false,
+ },
+ surface0: {
+ hex: "#ccd0da",
+ rgb: {
+ r: 204,
+ g: 208,
+ b: 218,
+ },
+ hsl: {
+ h: 222.85714285714292,
+ s: 0.1590909090909089,
+ l: 0.8274509803921568,
+ },
+ accent: false,
+ },
+ base: {
+ hex: "#eff1f5",
+ rgb: {
+ r: 239,
+ g: 241,
+ b: 245,
+ },
+ hsl: {
+ h: 220.00000000000009,
+ s: 0.23076923076923136,
+ l: 0.9490196078431372,
+ },
+ accent: false,
+ },
+ mantle: {
+ hex: "#e6e9ef",
+ rgb: {
+ r: 230,
+ g: 233,
+ b: 239,
+ },
+ hsl: {
+ h: 220.00000000000006,
+ s: 0.21951219512195116,
+ l: 0.919607843137255,
+ },
+ accent: false,
+ },
+ crust: {
+ hex: "#dce0e8",
+ rgb: {
+ r: 220,
+ g: 224,
+ b: 232,
+ },
+ hsl: {
+ h: 220.00000000000006,
+ s: 0.20689655172413762,
+ l: 0.8862745098039215,
+ },
+ accent: false,
+ },
+ },
+ },
+ frappe: {
+ name: "Frappé",
+ dark: true,
+ colors: {
+ rosewater: {
+ hex: "#f2d5cf",
+ rgb: {
+ r: 242,
+ g: 213,
+ b: 207,
+ },
+ hsl: {
+ h: 10.2857142857143,
+ s: 0.5737704918032784,
+ l: 0.8803921568627451,
+ },
+ accent: true,
+ },
+ flamingo: {
+ hex: "#eebebe",
+ rgb: {
+ r: 238,
+ g: 190,
+ b: 190,
+ },
+ hsl: {
+ h: 0,
+ s: 0.5853658536585367,
+ l: 0.8392156862745098,
+ },
+ accent: true,
+ },
+ pink: {
+ hex: "#f4b8e4",
+ rgb: {
+ r: 244,
+ g: 184,
+ b: 228,
+ },
+ hsl: {
+ h: 316,
+ s: 0.7317073170731713,
+ l: 0.8392156862745098,
+ },
+ accent: true,
+ },
+ mauve: {
+ hex: "#ca9ee6",
+ rgb: {
+ r: 202,
+ g: 158,
+ b: 230,
+ },
+ hsl: {
+ h: 276.66666666666663,
+ s: 0.5901639344262294,
+ l: 0.7607843137254902,
+ },
+ accent: true,
+ },
+ red: {
+ hex: "#e78284",
+ rgb: {
+ r: 231,
+ g: 130,
+ b: 132,
+ },
+ hsl: {
+ h: 358.8118811881188,
+ s: 0.6778523489932885,
+ l: 0.7078431372549019,
+ },
+ accent: true,
+ },
+ maroon: {
+ hex: "#ea999c",
+ rgb: {
+ r: 234,
+ g: 153,
+ b: 156,
+ },
+ hsl: {
+ h: 357.77777777777777,
+ s: 0.6585365853658534,
+ l: 0.7588235294117647,
+ },
+ accent: true,
+ },
+ peach: {
+ hex: "#ef9f76",
+ rgb: {
+ r: 239,
+ g: 159,
+ b: 118,
+ },
+ hsl: {
+ h: 20.33057851239669,
+ s: 0.7908496732026143,
+ l: 0.7,
+ },
+ accent: true,
+ },
+ yellow: {
+ hex: "#e5c890",
+ rgb: {
+ r: 229,
+ g: 200,
+ b: 144,
+ },
+ hsl: {
+ h: 39.52941176470588,
+ s: 0.6204379562043796,
+ l: 0.7313725490196079,
+ },
+ accent: true,
+ },
+ green: {
+ hex: "#a6d189",
+ rgb: {
+ r: 166,
+ g: 209,
+ b: 137,
+ },
+ hsl: {
+ h: 95.83333333333331,
+ s: 0.4390243902439024,
+ l: 0.6784313725490196,
+ },
+ accent: true,
+ },
+ teal: {
+ hex: "#81c8be",
+ rgb: {
+ r: 129,
+ g: 200,
+ b: 190,
+ },
+ hsl: {
+ h: 171.5492957746479,
+ s: 0.3922651933701657,
+ l: 0.6450980392156862,
+ },
+ accent: true,
+ },
+ sky: {
+ hex: "#99d1db",
+ rgb: {
+ r: 153,
+ g: 209,
+ b: 219,
+ },
+ hsl: {
+ h: 189.09090909090907,
+ s: 0.47826086956521735,
+ l: 0.7294117647058823,
+ },
+ accent: true,
+ },
+ sapphire: {
+ hex: "#85c1dc",
+ rgb: {
+ r: 133,
+ g: 193,
+ b: 220,
+ },
+ hsl: {
+ h: 198.62068965517244,
+ s: 0.5541401273885351,
+ l: 0.692156862745098,
+ },
+ accent: true,
+ },
+ blue: {
+ hex: "#8caaee",
+ rgb: {
+ r: 140,
+ g: 170,
+ b: 238,
+ },
+ hsl: {
+ h: 221.6326530612245,
+ s: 0.7424242424242424,
+ l: 0.7411764705882353,
+ },
+ accent: true,
+ },
+ lavender: {
+ hex: "#babbf1",
+ rgb: {
+ r: 186,
+ g: 187,
+ b: 241,
+ },
+ hsl: {
+ h: 238.90909090909093,
+ s: 0.6626506024096385,
+ l: 0.8372549019607842,
+ },
+ accent: true,
+ },
+ text: {
+ hex: "#c6d0f5",
+ rgb: {
+ r: 198,
+ g: 208,
+ b: 245,
+ },
+ hsl: {
+ h: 227.2340425531915,
+ s: 0.7014925373134333,
+ l: 0.8686274509803922,
+ },
+ accent: false,
+ },
+ subtext1: {
+ hex: "#b5bfe2",
+ rgb: {
+ r: 181,
+ g: 191,
+ b: 226,
+ },
+ hsl: {
+ h: 226.66666666666669,
+ s: 0.43689320388349495,
+ l: 0.7980392156862746,
+ },
+ accent: false,
+ },
+ subtext0: {
+ hex: "#a5adce",
+ rgb: {
+ r: 165,
+ g: 173,
+ b: 206,
+ },
+ hsl: {
+ h: 228.29268292682926,
+ s: 0.2949640287769784,
+ l: 0.7274509803921569,
+ },
+ accent: false,
+ },
+ overlay2: {
+ hex: "#949cbb",
+ rgb: {
+ r: 148,
+ g: 156,
+ b: 187,
+ },
+ hsl: {
+ h: 227.69230769230768,
+ s: 0.22285714285714275,
+ l: 0.6568627450980392,
+ },
+ accent: false,
+ },
+ overlay1: {
+ hex: "#838ba7",
+ rgb: {
+ r: 131,
+ g: 139,
+ b: 167,
+ },
+ hsl: {
+ h: 226.66666666666669,
+ s: 0.16981132075471703,
+ l: 0.584313725490196,
+ },
+ accent: false,
+ },
+ overlay0: {
+ hex: "#737994",
+ rgb: {
+ r: 115,
+ g: 121,
+ b: 148,
+ },
+ hsl: {
+ h: 229.0909090909091,
+ s: 0.13360323886639683,
+ l: 0.515686274509804,
+ },
+ accent: false,
+ },
+ surface2: {
+ hex: "#626880",
+ rgb: {
+ r: 98,
+ g: 104,
+ b: 128,
+ },
+ hsl: {
+ h: 228.00000000000003,
+ s: 0.1327433628318584,
+ l: 0.44313725490196076,
+ },
+ accent: false,
+ },
+ surface1: {
+ hex: "#51576d",
+ rgb: {
+ r: 81,
+ g: 87,
+ b: 109,
+ },
+ hsl: {
+ h: 227.14285714285714,
+ s: 0.14736842105263157,
+ l: 0.37254901960784315,
+ },
+ accent: false,
+ },
+ surface0: {
+ hex: "#414559",
+ rgb: {
+ r: 65,
+ g: 69,
+ b: 89,
+ },
+ hsl: {
+ h: 230.00000000000003,
+ s: 0.15584415584415584,
+ l: 0.30196078431372547,
+ },
+ accent: false,
+ },
+ base: {
+ hex: "#303446",
+ rgb: {
+ r: 48,
+ g: 52,
+ b: 70,
+ },
+ hsl: {
+ h: 229.0909090909091,
+ s: 0.18644067796610175,
+ l: 0.23137254901960785,
+ },
+ accent: false,
+ },
+ mantle: {
+ hex: "#292c3c",
+ rgb: {
+ r: 41,
+ g: 44,
+ b: 60,
+ },
+ hsl: {
+ h: 230.52631578947367,
+ s: 0.18811881188118806,
+ l: 0.19803921568627453,
+ },
+ accent: false,
+ },
+ crust: {
+ hex: "#232634",
+ rgb: {
+ r: 35,
+ g: 38,
+ b: 52,
+ },
+ hsl: {
+ h: 229.41176470588238,
+ s: 0.19540229885057467,
+ l: 0.17058823529411765,
+ },
+ accent: false,
+ },
+ },
+ },
+ macchiato: {
+ name: "Macchiato",
+ dark: true,
+ colors: {
+ rosewater: {
+ hex: "#f4dbd6",
+ rgb: {
+ r: 244,
+ g: 219,
+ b: 214,
+ },
+ hsl: {
+ h: 9.999999999999963,
+ s: 0.5769230769230775,
+ l: 0.8980392156862745,
+ },
+ accent: true,
+ },
+ flamingo: {
+ hex: "#f0c6c6",
+ rgb: {
+ r: 240,
+ g: 198,
+ b: 198,
+ },
+ hsl: {
+ h: 0,
+ s: 0.5833333333333333,
+ l: 0.8588235294117648,
+ },
+ accent: true,
+ },
+ pink: {
+ hex: "#f5bde6",
+ rgb: {
+ r: 245,
+ g: 189,
+ b: 230,
+ },
+ hsl: {
+ h: 316.0714285714286,
+ s: 0.7368421052631583,
+ l: 0.8509803921568628,
+ },
+ accent: true,
+ },
+ mauve: {
+ hex: "#c6a0f6",
+ rgb: {
+ r: 198,
+ g: 160,
+ b: 246,
+ },
+ hsl: {
+ h: 266.51162790697674,
+ s: 0.8269230769230772,
+ l: 0.7960784313725491,
+ },
+ accent: true,
+ },
+ red: {
+ hex: "#ed8796",
+ rgb: {
+ r: 237,
+ g: 135,
+ b: 150,
+ },
+ hsl: {
+ h: 351.1764705882353,
+ s: 0.7391304347826088,
+ l: 0.7294117647058824,
+ },
+ accent: true,
+ },
+ maroon: {
+ hex: "#ee99a0",
+ rgb: {
+ r: 238,
+ g: 153,
+ b: 160,
+ },
+ hsl: {
+ h: 355.05882352941177,
+ s: 0.7142857142857143,
+ l: 0.7666666666666666,
+ },
+ accent: true,
+ },
+ peach: {
+ hex: "#f5a97f",
+ rgb: {
+ r: 245,
+ g: 169,
+ b: 127,
+ },
+ hsl: {
+ h: 21.355932203389827,
+ s: 0.8550724637681162,
+ l: 0.7294117647058824,
+ },
+ accent: true,
+ },
+ yellow: {
+ hex: "#eed49f",
+ rgb: {
+ r: 238,
+ g: 212,
+ b: 159,
+ },
+ hsl: {
+ h: 40.253164556962034,
+ s: 0.6991150442477877,
+ l: 0.7784313725490196,
+ },
+ accent: true,
+ },
+ green: {
+ hex: "#a6da95",
+ rgb: {
+ r: 166,
+ g: 218,
+ b: 149,
+ },
+ hsl: {
+ h: 105.21739130434783,
+ s: 0.4825174825174825,
+ l: 0.7196078431372549,
+ },
+ accent: true,
+ },
+ teal: {
+ hex: "#8bd5ca",
+ rgb: {
+ r: 139,
+ g: 213,
+ b: 202,
+ },
+ hsl: {
+ h: 171.08108108108107,
+ s: 0.46835443037974706,
+ l: 0.6901960784313725,
+ },
+ accent: true,
+ },
+ sky: {
+ hex: "#91d7e3",
+ rgb: {
+ r: 145,
+ g: 215,
+ b: 227,
+ },
+ hsl: {
+ h: 188.78048780487802,
+ s: 0.5942028985507245,
+ l: 0.7294117647058823,
+ },
+ accent: true,
+ },
+ sapphire: {
+ hex: "#7dc4e4",
+ rgb: {
+ r: 125,
+ g: 196,
+ b: 228,
+ },
+ hsl: {
+ h: 198.64077669902912,
+ s: 0.6560509554140128,
+ l: 0.692156862745098,
+ },
+ accent: true,
+ },
+ blue: {
+ hex: "#8aadf4",
+ rgb: {
+ r: 138,
+ g: 173,
+ b: 244,
+ },
+ hsl: {
+ h: 220.188679245283,
+ s: 0.8281250000000003,
+ l: 0.7490196078431373,
+ },
+ accent: true,
+ },
+ lavender: {
+ hex: "#b7bdf8",
+ rgb: {
+ r: 183,
+ g: 189,
+ b: 248,
+ },
+ hsl: {
+ h: 234.46153846153848,
+ s: 0.8227848101265824,
+ l: 0.8450980392156863,
+ },
+ accent: true,
+ },
+ text: {
+ hex: "#cad3f5",
+ rgb: {
+ r: 202,
+ g: 211,
+ b: 245,
+ },
+ hsl: {
+ h: 227.4418604651163,
+ s: 0.6825396825396831,
+ l: 0.8764705882352941,
+ },
+ accent: false,
+ },
+ subtext1: {
+ hex: "#b8c0e0",
+ rgb: {
+ r: 184,
+ g: 192,
+ b: 224,
+ },
+ hsl: {
+ h: 228,
+ s: 0.39215686274509803,
+ l: 0.8,
+ },
+ accent: false,
+ },
+ subtext0: {
+ hex: "#a5adcb",
+ rgb: {
+ r: 165,
+ g: 173,
+ b: 203,
+ },
+ hsl: {
+ h: 227.36842105263156,
+ s: 0.2676056338028167,
+ l: 0.7215686274509804,
+ },
+ accent: false,
+ },
+ overlay2: {
+ hex: "#939ab7",
+ rgb: {
+ r: 147,
+ g: 154,
+ b: 183,
+ },
+ hsl: {
+ h: 228.33333333333331,
+ s: 0.2000000000000001,
+ l: 0.6470588235294117,
+ },
+ accent: false,
+ },
+ overlay1: {
+ hex: "#8087a2",
+ rgb: {
+ r: 128,
+ g: 135,
+ b: 162,
+ },
+ hsl: {
+ h: 227.6470588235294,
+ s: 0.1545454545454545,
+ l: 0.5686274509803921,
+ },
+ accent: false,
+ },
+ overlay0: {
+ hex: "#6e738d",
+ rgb: {
+ r: 110,
+ g: 115,
+ b: 141,
+ },
+ hsl: {
+ h: 230.32258064516128,
+ s: 0.12350597609561753,
+ l: 0.49215686274509807,
+ },
+ accent: false,
+ },
+ surface2: {
+ hex: "#5b6078",
+ rgb: {
+ r: 91,
+ g: 96,
+ b: 120,
+ },
+ hsl: {
+ h: 229.65517241379308,
+ s: 0.13744075829383887,
+ l: 0.4137254901960784,
+ },
+ accent: false,
+ },
+ surface1: {
+ hex: "#494d64",
+ rgb: {
+ r: 73,
+ g: 77,
+ b: 100,
+ },
+ hsl: {
+ h: 231.11111111111114,
+ s: 0.15606936416184972,
+ l: 0.3392156862745098,
+ },
+ accent: false,
+ },
+ surface0: {
+ hex: "#363a4f",
+ rgb: {
+ r: 54,
+ g: 58,
+ b: 79,
+ },
+ hsl: {
+ h: 230.4,
+ s: 0.1879699248120301,
+ l: 0.2607843137254902,
+ },
+ accent: false,
+ },
+ base: {
+ hex: "#24273a",
+ rgb: {
+ r: 36,
+ g: 39,
+ b: 58,
+ },
+ hsl: {
+ h: 231.8181818181818,
+ s: 0.23404255319148934,
+ l: 0.1843137254901961,
+ },
+ accent: false,
+ },
+ mantle: {
+ hex: "#1e2030",
+ rgb: {
+ r: 30,
+ g: 32,
+ b: 48,
+ },
+ hsl: {
+ h: 233.33333333333334,
+ s: 0.23076923076923075,
+ l: 0.15294117647058825,
+ },
+ accent: false,
+ },
+ crust: {
+ hex: "#181926",
+ rgb: {
+ r: 24,
+ g: 25,
+ b: 38,
+ },
+ hsl: {
+ h: 235.71428571428572,
+ s: 0.22580645161290322,
+ l: 0.12156862745098039,
+ },
+ accent: false,
+ },
+ },
+ },
+ mocha: {
+ name: "Mocha",
+ dark: true,
+ colors: {
+ rosewater: {
+ hex: "#f5e0dc",
+ rgb: {
+ r: 245,
+ g: 224,
+ b: 220,
+ },
+ hsl: {
+ h: 9.599999999999968,
+ s: 0.555555555555556,
+ l: 0.911764705882353,
+ },
+ accent: true,
+ },
+ flamingo: {
+ hex: "#f2cdcd",
+ rgb: {
+ r: 242,
+ g: 205,
+ b: 205,
+ },
+ hsl: {
+ h: 0,
+ s: 0.587301587301587,
+ l: 0.8764705882352941,
+ },
+ accent: true,
+ },
+ pink: {
+ hex: "#f5c2e7",
+ rgb: {
+ r: 245,
+ g: 194,
+ b: 231,
+ },
+ hsl: {
+ h: 316.4705882352941,
+ s: 0.7183098591549301,
+ l: 0.8607843137254902,
+ },
+ accent: true,
+ },
+ mauve: {
+ hex: "#cba6f7",
+ rgb: {
+ r: 203,
+ g: 166,
+ b: 247,
+ },
+ hsl: {
+ h: 267.4074074074074,
+ s: 0.8350515463917528,
+ l: 0.8098039215686275,
+ },
+ accent: true,
+ },
+ red: {
+ hex: "#f38ba8",
+ rgb: {
+ r: 243,
+ g: 139,
+ b: 168,
+ },
+ hsl: {
+ h: 343.2692307692308,
+ s: 0.8124999999999998,
+ l: 0.7490196078431373,
+ },
+ accent: true,
+ },
+ maroon: {
+ hex: "#eba0ac",
+ rgb: {
+ r: 235,
+ g: 160,
+ b: 172,
+ },
+ hsl: {
+ h: 350.4,
+ s: 0.6521739130434779,
+ l: 0.7745098039215685,
+ },
+ accent: true,
+ },
+ peach: {
+ hex: "#fab387",
+ rgb: {
+ r: 250,
+ g: 179,
+ b: 135,
+ },
+ hsl: {
+ h: 22.95652173913043,
+ s: 0.92,
+ l: 0.7549019607843137,
+ },
+ accent: true,
+ },
+ yellow: {
+ hex: "#f9e2af",
+ rgb: {
+ r: 249,
+ g: 226,
+ b: 175,
+ },
+ hsl: {
+ h: 41.35135135135135,
+ s: 0.8604651162790699,
+ l: 0.8313725490196078,
+ },
+ accent: true,
+ },
+ green: {
+ hex: "#a6e3a1",
+ rgb: {
+ r: 166,
+ g: 227,
+ b: 161,
+ },
+ hsl: {
+ h: 115.45454545454544,
+ s: 0.5409836065573769,
+ l: 0.7607843137254902,
+ },
+ accent: true,
+ },
+ teal: {
+ hex: "#94e2d5",
+ rgb: {
+ r: 148,
+ g: 226,
+ b: 213,
+ },
+ hsl: {
+ h: 170.00000000000003,
+ s: 0.5735294117647057,
+ l: 0.7333333333333334,
+ },
+ accent: true,
+ },
+ sky: {
+ hex: "#89dceb",
+ rgb: {
+ r: 137,
+ g: 220,
+ b: 235,
+ },
+ hsl: {
+ h: 189.18367346938774,
+ s: 0.7101449275362316,
+ l: 0.7294117647058823,
+ },
+ accent: true,
+ },
+ sapphire: {
+ hex: "#74c7ec",
+ rgb: {
+ r: 116,
+ g: 199,
+ b: 236,
+ },
+ hsl: {
+ h: 198.5,
+ s: 0.759493670886076,
+ l: 0.6901960784313725,
+ },
+ accent: true,
+ },
+ blue: {
+ hex: "#89b4fa",
+ rgb: {
+ r: 137,
+ g: 180,
+ b: 250,
+ },
+ hsl: {
+ h: 217.1681415929203,
+ s: 0.9186991869918699,
+ l: 0.7588235294117647,
+ },
+ accent: true,
+ },
+ lavender: {
+ hex: "#b4befe",
+ rgb: {
+ r: 180,
+ g: 190,
+ b: 254,
+ },
+ hsl: {
+ h: 231.89189189189187,
+ s: 0.9736842105263159,
+ l: 0.8509803921568628,
+ },
+ accent: true,
+ },
+ text: {
+ hex: "#cdd6f4",
+ rgb: {
+ r: 205,
+ g: 214,
+ b: 244,
+ },
+ hsl: {
+ h: 226.15384615384616,
+ s: 0.6393442622950825,
+ l: 0.8803921568627451,
+ },
+ accent: false,
+ },
+ subtext1: {
+ hex: "#bac2de",
+ rgb: {
+ r: 186,
+ g: 194,
+ b: 222,
+ },
+ hsl: {
+ h: 226.66666666666669,
+ s: 0.35294117647058837,
+ l: 0.8,
+ },
+ accent: false,
+ },
+ subtext0: {
+ hex: "#a6adc8",
+ rgb: {
+ r: 166,
+ g: 173,
+ b: 200,
+ },
+ hsl: {
+ h: 227.6470588235294,
+ s: 0.23611111111111102,
+ l: 0.7176470588235294,
+ },
+ accent: false,
+ },
+ overlay2: {
+ hex: "#9399b2",
+ rgb: {
+ r: 147,
+ g: 153,
+ b: 178,
+ },
+ hsl: {
+ h: 228.38709677419354,
+ s: 0.16756756756756758,
+ l: 0.6372549019607843,
+ },
+ accent: false,
+ },
+ overlay1: {
+ hex: "#7f849c",
+ rgb: {
+ r: 127,
+ g: 132,
+ b: 156,
+ },
+ hsl: {
+ h: 229.65517241379308,
+ s: 0.12775330396475776,
+ l: 0.5549019607843138,
+ },
+ accent: false,
+ },
+ overlay0: {
+ hex: "#6c7086",
+ rgb: {
+ r: 108,
+ g: 112,
+ b: 134,
+ },
+ hsl: {
+ h: 230.7692307692308,
+ s: 0.10743801652892565,
+ l: 0.4745098039215686,
+ },
+ accent: false,
+ },
+ surface2: {
+ hex: "#585b70",
+ rgb: {
+ r: 88,
+ g: 91,
+ b: 112,
+ },
+ hsl: {
+ h: 232.5,
+ s: 0.12,
+ l: 0.39215686274509803,
+ },
+ accent: false,
+ },
+ surface1: {
+ hex: "#45475a",
+ rgb: {
+ r: 69,
+ g: 71,
+ b: 90,
+ },
+ hsl: {
+ h: 234.2857142857143,
+ s: 0.13207547169811326,
+ l: 0.31176470588235294,
+ },
+ accent: false,
+ },
+ surface0: {
+ hex: "#313244",
+ rgb: {
+ r: 49,
+ g: 50,
+ b: 68,
+ },
+ hsl: {
+ h: 236.84210526315792,
+ s: 0.16239316239316234,
+ l: 0.22941176470588237,
+ },
+ accent: false,
+ },
+ base: {
+ hex: "#1e1e2e",
+ rgb: {
+ r: 30,
+ g: 30,
+ b: 46,
+ },
+ hsl: {
+ h: 240,
+ s: 0.21052631578947367,
+ l: 0.14901960784313725,
+ },
+ accent: false,
+ },
+ mantle: {
+ hex: "#181825",
+ rgb: {
+ r: 24,
+ g: 24,
+ b: 37,
+ },
+ hsl: {
+ h: 240,
+ s: 0.2131147540983607,
+ l: 0.11960784313725491,
+ },
+ accent: false,
+ },
+ crust: {
+ hex: "#11111b",
+ rgb: {
+ r: 17,
+ g: 17,
+ b: 27,
+ },
+ hsl: {
+ h: 240,
+ s: 0.22727272727272727,
+ l: 0.08627450980392157,
+ },
+ accent: false,
+ },
+ },
+ },
+};
diff --git a/src/project.meta b/src/project.meta
new file mode 100644
index 0000000..499e306
--- /dev/null
+++ b/src/project.meta
@@ -0,0 +1,32 @@
+{
+ "version": 0,
+ "shared": {
+ "background": null,
+ "range": [
+ 0,
+ null
+ ],
+ "size": {
+ "x": 1920,
+ "y": 1080
+ },
+ "audioOffset": 0
+ },
+ "preview": {
+ "fps": 30,
+ "resolutionScale": 1
+ },
+ "rendering": {
+ "fps": 60,
+ "resolutionScale": 1,
+ "colorSpace": "srgb",
+ "exporter": {
+ "name": "@motion-canvas/core/image-sequence",
+ "options": {
+ "fileType": "image/png",
+ "quality": 100,
+ "groupByScene": false
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/project.ts b/src/project.ts
new file mode 100644
index 0000000..ecfbbeb
--- /dev/null
+++ b/src/project.ts
@@ -0,0 +1,7 @@
+import {makeProject} from '@motion-canvas/core';
+
+import example from './scenes/example?scene';
+
+export default makeProject({
+ scenes: [example],
+});
diff --git a/src/scenes/example.meta b/src/scenes/example.meta
new file mode 100644
index 0000000..011b988
--- /dev/null
+++ b/src/scenes/example.meta
@@ -0,0 +1,5 @@
+{
+ "version": 0,
+ "timeEvents": [],
+ "seed": 3229939754
+} \ No newline at end of file
diff --git a/src/scenes/example.tsx b/src/scenes/example.tsx
new file mode 100644
index 0000000..3e35184
--- /dev/null
+++ b/src/scenes/example.tsx
@@ -0,0 +1,8 @@
+import { makeScene2D } from "@motion-canvas/2d";
+import { waitFor } from "@motion-canvas/core";
+
+export default makeScene2D(function* (view) {
+ // Create your animations here
+
+ yield* waitFor(5);
+});
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..e7d5347
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "@motion-canvas/2d/tsconfig.project.json",
+ "include": ["src"]
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..42d9d68
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,10 @@
+import {defineConfig} from 'vite';
+import motionCanvas from '@motion-canvas/vite-plugin';
+import ffmpeg from '@motion-canvas/ffmpeg';
+
+export default defineConfig({
+ plugins: [
+ motionCanvas(),
+ ffmpeg(),
+ ],
+});