{"_id":"curvejs","_rev":"11-bc1d6a5593ea096497f8f278182fd92f","name":"curvejs","description":"Curve is a dancer.","dist-tags":{"latest":"0.3.4"},"versions":{"0.0.0":{"name":"curvejs","version":"0.0.0","description":"curvejs is curvejs.","main":"dist/curve.js","scripts":{"build":"webpack -w","simple":"webpack -w","test":"karma start test/karma.conf.js"},"devDependencies":{"babel-core":"^6.0.20","babel-loader":"^6.0.1","babel-plugin-transform-es3-member-expression-literals":"^6.22.0","babel-plugin-transform-es3-property-literals":"^6.22.0","babel-preset-es2015":"^6.0.15","jasmine-core":"^2.5.2","karma":"^1.3.0","karma-chrome-launcher":"^2.0.0","karma-jasmine":"^1.1.0","karma-webpack":"^1.8.1","md-text-loader":"^0.1.0","node-libs-browser":"^0.5.3","webpack":"^1.14.0"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/omi.git"},"keywords":["omi","omix"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/omi/issues/new"},"homepage":"http://alloyteam.github.io/omi","_id":"curvejs@0.0.0","_shasum":"2d4419680df47642d5642eef21e18499bcd07157","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"dist":{"shasum":"2d4419680df47642d5642eef21e18499bcd07157","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.0.0.tgz","integrity":"sha512-B2a+6Ptg11w8CakHdl/q0s3QHvG6CtM6ojk7tUAyMldwY+Okl09wQvMjo51TAxK5ktNP9S/+xygvPR38SDrISQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICk39AlmmOg/c3On8JGdG4g2zeXmCA4QavylWUkTQYQ3AiAhxauZ5U896kby5//ak0pWi8wDOF4CPmltLPS4YyWzAw=="}]},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/curvejs-0.0.0.tgz_1492321949935_0.6242335780989379"},"directories":{}},"0.1.0":{"name":"curvejs","version":"0.1.0","description":"Curve is a dancer.","main":"dist/curve.js","scripts":{"dev":"rollup -c","dist":"rollup -c","build":"npm run dev&&npm run dist","simple":"rollup -c","word":"rollup -c","curves":"rollup -c","watch":"rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"keywords":["curvejs","bezier","curve","canvas","animation","dance"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"files":["lib","dist"],"homepage":"https://github.com/AlloyTeam/curvejss","dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.18.0","babel-preset-es2015":"^6.18.0","babelrc-rollup":"^3.0.0","rollup":"^0.37.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-license":"^0.3.0","rollup-plugin-uglify":"^1.0.1","rollup-watch":"^2.5.0"},"gitHead":"786c3baded090ccf38c0dc8ccf9207b060f5b16b","_id":"curvejs@0.1.0","_shasum":"dff530ff52862d50e098c2aee90e5753df6defc9","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"dist":{"shasum":"dff530ff52862d50e098c2aee90e5753df6defc9","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.1.0.tgz","integrity":"sha512-zvOdZF8yfjEzs4lqZuwfg+dOE0OO8C/TyHarG0XJDMvPGmEwpbUIJrJDUM43asgNzVPx+7xNPSFkLBYiL8zg5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMlVtLtPfaWdtKMWEsHwna2eftJUyiDEL+tRBXGXeVEAIhAMIxvVfIIeasMFu9pJ6t22n+SNqOZmCcjwW+2srcfomT"}]},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/curvejs-0.1.0.tgz_1492406756088_0.4101546781603247"},"directories":{}},"0.2.0":{"name":"curvejs","version":"0.2.0","description":"Curve is a dancer.","main":"dist/curve.js","scripts":{"dev":"rollup -c","dist":"rollup -c","build":"npm run dev&&npm run dist","simple":"rollup -c","word":"rollup -c","points-to":"rollup -c","curves":"rollup -c","watch":"rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"keywords":["curvejs","bezier","curve","canvas","animation","dance"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"files":["lib","dist"],"homepage":"https://github.com/AlloyTeam/curvejss","dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.18.0","babel-preset-es2015":"^6.18.0","babelrc-rollup":"^3.0.0","rollup":"^0.37.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-license":"^0.3.0","rollup-plugin-uglify":"^1.0.1","rollup-watch":"^2.5.0"},"gitHead":"f1b314cf3324cfa65864c9c6ec9195d873c8d5f1","_id":"curvejs@0.2.0","_shasum":"34ea56c3dba9302a9de2ddc0072ac811b55f3240","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"dist":{"shasum":"34ea56c3dba9302a9de2ddc0072ac811b55f3240","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.2.0.tgz","integrity":"sha512-m5XoFi69scBwr8xevaREAZ+AvWfOqnwePVPZk3SwA5U3V2YfD/+yje4Ls/xiV/+jDePIAchZWGsLoFQLs4fpaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfSOvc5Qf8IctGEm97wv6/ugDqtSUgJLPsZSvTSsDGowIhAOCFMLb1GFpqZav5952zWDqI3eb2whI6HLtuDOqn8ZJo"}]},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/curvejs-0.2.0.tgz_1492740692089_0.9038417611736804"},"directories":{}},"0.3.0":{"name":"curvejs","version":"0.3.0","description":"Curve is a dancer.","main":"dist/curve.js","scripts":{"dev":"rollup -c","dist":"rollup -c","build":"npm run dev&&npm run dist","simple":"rollup -c","word":"rollup -c","points-to":"rollup -c","curves":"rollup -c","watch":"rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"keywords":["curvejs","bezier","curve","canvas","animation","dance"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"files":["lib","dist"],"homepage":"https://github.com/AlloyTeam/curvejss","dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.18.0","babel-preset-es2015":"^6.18.0","babelrc-rollup":"^3.0.0","rollup":"^0.37.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-license":"^0.3.0","rollup-plugin-uglify":"^1.0.1","rollup-watch":"^2.5.0"},"gitHead":"7152bc61120503286a3e3ce382001d760ef53e36","_id":"curvejs@0.3.0","_shasum":"f35941dd988bf46a041cadb0b4202857ef939303","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"dist":{"shasum":"f35941dd988bf46a041cadb0b4202857ef939303","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.3.0.tgz","integrity":"sha512-lOejYOxc2dHsJprTIJc4V9kqoIBciso1VuEPULCI6SVdlWMcJBV/zJDrrQMhxWRLayGW+mOIeXBUjssSOYmP4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGPlfWoeeYncTfQ8gGEv+8yIc6tvcZKrmuFYlt2v7qLQIhANw0L/hIDV1MUkKP4gSVd2JXX8s8BxOKFSTeLgFTBy94"}]},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/curvejs-0.3.0.tgz_1492823544421_0.45567869301885366"},"directories":{}},"0.3.1":{"name":"curvejs","version":"0.3.1","description":"Curve is a dancer.","main":"dist/curve.js","scripts":{"dev":"rollup -c","dist":"rollup -c","build":"npm run dev&&npm run dist","simple":"rollup -c","word":"rollup -c","noise":"rollup -c","points-to":"rollup -c","curves":"rollup -c","watch":"rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"keywords":["curvejs","bezier","curve","canvas","animation","dance"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"files":["lib","dist"],"homepage":"https://github.com/AlloyTeam/curvejss","dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.18.0","babel-preset-es2015":"^6.18.0","babelrc-rollup":"^3.0.0","rollup":"^0.37.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-license":"^0.3.0","rollup-plugin-uglify":"^1.0.1","rollup-watch":"^2.5.0"},"gitHead":"6e66d971613d49b6999d1638a3ac44b1001b3ca3","_id":"curvejs@0.3.1","_shasum":"9e60b2b29db73708db22ff6d3adf7ef421d1fb52","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"dist":{"shasum":"9e60b2b29db73708db22ff6d3adf7ef421d1fb52","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.3.1.tgz","integrity":"sha512-xy8Bv5EvFyjCTBWyeL2qXAru9LLM3CaDDEvJQguMrvbYzzlwMBmAl05KWC6I0ZU1hysaNxwcwQFk3w9K9rlamQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjD71v0YCDFls8VrfZq64bK2zl5CdjJ7p4W4YTyOKfaQIhAPSUhaDXuQCDJw7bbntsSzrYgCw7aJYbJsfRJcftGz8D"}]},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/curvejs-0.3.1.tgz_1492834006748_0.7840243994724005"},"directories":{}},"0.3.2":{"name":"curvejs","version":"0.3.2","description":"Curve is a dancer.","main":"dist/curve.js","scripts":{"dev":"rollup -c","dist":"rollup -c","build":"npm run dev&&npm run dist","simple":"rollup -c","word":"rollup -c","noise":"rollup -c","points-to":"rollup -c","curves":"rollup -c","scale-to":"rollup -c","watch":"rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"keywords":["curvejs","bezier","curve","canvas","animation","dance"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"files":["lib","dist"],"homepage":"https://github.com/AlloyTeam/curvejss","dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.18.0","babel-preset-es2015":"^6.18.0","babelrc-rollup":"^3.0.0","rollup":"^0.37.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-license":"^0.3.0","rollup-plugin-uglify":"^1.0.1","rollup-watch":"^2.5.0"},"gitHead":"2cd4ddb50c1697619e2ff70b75ac0ac60a4ab7a8","_id":"curvejs@0.3.2","_shasum":"afad330f99f175a6a561583238dc121dd2f0eca5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"dist":{"shasum":"afad330f99f175a6a561583238dc121dd2f0eca5","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.3.2.tgz","integrity":"sha512-92/qK27+ZEMhmaZsf7JGG9pm3iiH4RYbCjKcrU6KPBe6afCvZE0LgrDsNVtsA2vX4qXAB/PqHvGUFD8EajV9Dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBcW6ZpEYqyRUQghCC5lwWA/UNG+tpM4L3o88tsZdWCVAiEAsI1otQzgnWFRSKH5LtETrSyfoiFEVzrhPxJ5FBJnurw="}]},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/curvejs-0.3.2.tgz_1493089151102_0.5336877065710723"},"directories":{}},"0.3.3":{"name":"curvejs","version":"0.3.3","description":"Curve is a dancer.","main":"dist/curve.js","scripts":{"dev":"rollup -c","dist":"rollup -c","build":"npm run dev&&npm run dist","simple":"rollup -c -w","word":"rollup -c -w","water":"rollup -c -w","smooth":"rollup -c -w","sprout":"rollup -c -w","noise":"rollup -c -w","points-to":"rollup -c -w","curves":"rollup -c -w","scale-to":"rollup -c -w","watch":"rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"keywords":["curvejs","bezier","curve","canvas","animation","dance"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"files":["lib","dist"],"homepage":"https://github.com/AlloyTeam/curvejss","dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.18.0","babel-preset-es2015":"^6.18.0","babelrc-rollup":"^3.0.0","rollup":"^0.37.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-license":"^0.3.0","rollup-plugin-uglify":"^1.0.1","rollup-watch":"^2.5.0"},"gitHead":"1365235f829d0b15c5b1252ce56eed343241a101","_id":"curvejs@0.3.3","_shasum":"eac75b34b9ebf913b7b319ad3500e93a289f780a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"dist":{"shasum":"eac75b34b9ebf913b7b319ad3500e93a289f780a","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.3.3.tgz","integrity":"sha512-Txavc+d4vhVx8jssKlPB7DvWJ5J1PZ49tVlz78dUtVNyie2bLrMz7dBp2h4Td9nWwngRV9uKeOe2AZbCXEGDYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMqzYlu1wwqhETQSL90JgrItHnqqgB29vB/89quwAeDAIgBCcq6CGa4S4K+vLVOCatS5wlsWIYvFJk93zKIHcA1GY="}]},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/curvejs-0.3.3.tgz_1493345760064_0.6037219171412289"},"directories":{}},"0.3.4":{"name":"curvejs","version":"0.3.4","description":"Curve is a dancer.","main":"dist/curve.js","scripts":{"dev":"rollup -c","dist":"rollup -c","build":"npm run dev&&npm run dist","simple":"rollup -c -w","word":"rollup -c -w","rope":"rollup -c -w","water":"rollup -c -w","smooth":"rollup -c -w","sprout":"rollup -c -w","noise":"rollup -c -w","siri-wave":"rollup -c -w","points-to":"rollup -c -w","curves":"rollup -c -w","scale-to":"rollup -c -w","watch":"rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"keywords":["curvejs","bezier","curve","canvas","animation","dance"],"author":{"name":"dntzhang"},"license":"MIT","bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"files":["lib","dist"],"homepage":"https://github.com/AlloyTeam/curvejs","dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.18.0","babel-preset-es2015":"^6.18.0","babelrc-rollup":"^3.0.0","rollup":"^0.37.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-license":"^0.3.0","rollup-plugin-uglify":"^1.0.1","rollup-watch":"^2.5.0"},"gitHead":"53a1a806e48a1785285a53625660ef4a015b43d3","_id":"curvejs@0.3.4","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"dntzhang","email":"mhtml5@qq.com"},"maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"dist":{"integrity":"sha512-gzymek+lxlrYVpulT/mMAWrjm/mWfBH8Z6g2vzqbhuzFo/QMyq/ENDBF6JbhCMuuICSiQiaCvfWBf4K2Wk96aA==","shasum":"63a5938499e13d2bcdf2497851c6151a55f06ba6","tarball":"https://registry.npmjs.org/curvejs/-/curvejs-0.3.4.tgz","fileCount":4,"unpackedSize":65951,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGFQCgcEbqKMD9wD2xfS0rhMu/4ox/K15ZUZSQiaIP9PAiBe6dggpNARzCntnl+e6BGWAX4aOkA/YPXmeNJummsEvQ=="}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curvejs_0.3.4_1521946884888_0.17098887184574219"},"_hasShrinkwrap":false}},"readme":"﻿<p align=\"center\">\r\n  <a href =\"##\"><img alt=\"curvejs\" src=\"http://images2015.cnblogs.com/blog/105416/201704/105416-20170416212420259-931391833.png\"></a>\r\n</p>\r\n<p align=\"center\">\r\nMade curve a dancer in HTML5 canvas. \r\n</p>\r\n<p align=\"center\">\r\n  <a href=\"https://travis-ci.org/AlloyTeam/omi\"><img src=\"https://travis-ci.org/AlloyTeam/omi.svg\"></a>\r\n</p>\r\n\r\n---\r\n## [中文README](https://github.com/AlloyTeam/curvejs/blob/master/README-CN.md)\r\n\r\n## Demos\r\n\r\n* [Loading](https://alloyteam.github.io/curvejs/example/loading/)\r\n* [Rope](https://alloyteam.github.io/curvejs/example/rope/)\r\n* [Siri-Wave](https://alloyteam.github.io/curvejs/example/siri-wave/)\r\n* [Water](https://alloyteam.github.io/curvejs/example/water/)\r\n* [Sprout](https://alloyteam.github.io/curvejs/example/sprout/)\r\n* [Scale-To](https://alloyteam.github.io/curvejs/pg/rd.html?type=scale)\r\n* [Points-To](https://alloyteam.github.io/curvejs/pg/rd.html?type=points-to)\r\n* [Rotate](https://alloyteam.github.io/curvejs/pg/rd.html?type=rotate)\r\n* [Word](https://alloyteam.github.io/curvejs/pg/rd.html?type=word)\r\n* [Perlin-Noise](https://alloyteam.github.io/curvejs/pg/rd.html?type=noise)\r\n* [Simple](https://alloyteam.github.io/curvejs/pg/rd.html?type=simple)\r\n* [Simple-ES5](https://alloyteam.github.io/curvejs/pg/rd.html?type=simple-es5)\r\n* [Lerp Color](https://alloyteam.github.io/curvejs/pg/rd.html?type=color)\r\n* [Curves](https://alloyteam.github.io/curvejs/pg/rd.html?type=curves)\r\n* [Line](https://alloyteam.github.io/curvejs/pg/rd.html?type=line)\r\n* [Close](https://alloyteam.github.io/curvejs/pg/rd.html?type=close)\r\n\r\n## Usage\r\n\r\n```bash\r\n$ npm install curvejs\r\n```\r\n\r\n```javascript\r\nimport curvejs from 'curvejs'\r\n```\r\n\r\nOr get it by the cdn and link `curve.min.js` in your HTML:\r\n\r\n```html\r\n<script src=\"https://unpkg.com/curvejs@0.3.3/dist/curve.min.js\"></script>\r\n```\r\n\r\nThen start to dance:\r\n\r\n```js\r\nvar Stage = curvejs.Stage,\r\n    Curve = curvejs.Curve,\r\n    canvas = document.getElementById('myCanvas'),\r\n    stage = new Stage(canvas),\r\n    rd = function() {\r\n        return -2 + Math.random() * 2\r\n    }\r\n\r\nvar curve = new Curve({\r\n    color: '#00FF00',\r\n    points: [277, 327, 230, 314, 236, 326, 257, 326],\r\n    data: [rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd()],\r\n    motion: function motion(points, data) {\r\n      points.forEach(function (item, index) {\r\n          points[index] += data[index]\r\n      })\r\n    }\r\n})\r\n\r\nstage.add(curve)\r\n\r\nfunction tick(){\r\n    stage.update()\r\n    requestAnimationFrame(tick)\r\n}\r\n\r\ntick()\r\n```\r\n\r\n## Using built-in motion\r\n\r\n```js\r\nvar curve = new Curve({\r\n    points: [277, 327, 230, 314, 236, 326, 257, 326],\r\n    data: {angle: 0, r:5 ,step:Math.PI / 50 },\r\n    motion: curvejs.motion.dance\r\n})\r\n```\r\n\r\n## Submit your motion\r\n\r\nIn [this motion directory](https://github.com/AlloyTeam/curvejs/tree/master/src/motion), there are already some built-in motion. you can submit your motion and then create a pull request to the project. \r\n\r\nFormat and specification of your motion:\r\n\r\n```js\r\n/**\r\n * move motion.\r\n *\r\n * @param {points}\r\n * @param {data}\r\n *      data rule example:\r\n *      [1, 0.2, -3, 0.7, 0.5, 0.3, -1, 1]\r\n */\r\nexport default function (points, data) {\r\n    points.forEach(function (item, index) {\r\n        points[index] += data[index]\r\n    })\r\n}\r\n```\r\n\r\n## QQ Group\r\n\r\nThe group id is 179181560. Welcome to join the group.\r\n\r\n## License\r\n\r\n[MIT](http://opensource.org/licenses/MIT)\r\n\r\nCopyright (c) 2017-present, dntzhang & AlloyTeam","maintainers":[{"name":"dntzhang","email":"mhtml5@qq.com"}],"time":{"modified":"2022-06-14T06:07:32.234Z","created":"2017-04-16T05:52:30.271Z","0.0.0":"2017-04-16T05:52:30.271Z","0.1.0":"2017-04-17T05:25:57.934Z","0.2.0":"2017-04-21T02:11:33.863Z","0.3.0":"2017-04-22T01:12:24.646Z","0.3.1":"2017-04-22T04:06:49.437Z","0.3.2":"2017-04-25T02:59:11.413Z","0.3.3":"2017-04-28T02:16:00.301Z","0.3.4":"2018-03-25T03:01:25.012Z"},"homepage":"https://github.com/AlloyTeam/curvejs","keywords":["curvejs","bezier","curve","canvas","animation","dance"],"repository":{"type":"git","url":"git+https://github.com/AlloyTeam/curvejs.git"},"author":{"name":"dntzhang"},"bugs":{"url":"https://github.com/AlloyTeam/curvejs/issues"},"license":"MIT","readmeFilename":"README.md"}