- Backend: Add cubic bezier solver, static frame generator, PNG parser, CRC32, and APNG encoder for server-side APNG generation via format=apng - Backend: Cache raw font buffer for resvg rendering with custom fonts - Frontend: Add format selector UI (SVG / APNG buttons) in download tab - Frontend: Add browser-based APNG encoder using Canvas API - Frontend: Add progress indicator during APNG frame generation - Frontend: Update API URLs section with APNG Animation URL - Add package.json with @resvg/resvg-js dependency - Add .gitignore to exclude node_modules Co-authored-by: Corgiking0127 <54504179+Corgiking0127@users.noreply.github.com>
228 lines
7.1 KiB
JSON
228 lines
7.1 KiB
JSON
{
|
|
"name": "readme-signature-generate",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"dependencies": {
|
|
"@resvg/resvg-js": "^2.6.2"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.6.2.tgz",
|
|
"integrity": "sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==",
|
|
"license": "MPL-2.0",
|
|
"engines": {
|
|
"node": ">= 10"
|
|
},
|
|
"optionalDependencies": {
|
|
"@resvg/resvg-js-android-arm-eabi": "2.6.2",
|
|
"@resvg/resvg-js-android-arm64": "2.6.2",
|
|
"@resvg/resvg-js-darwin-arm64": "2.6.2",
|
|
"@resvg/resvg-js-darwin-x64": "2.6.2",
|
|
"@resvg/resvg-js-linux-arm-gnueabihf": "2.6.2",
|
|
"@resvg/resvg-js-linux-arm64-gnu": "2.6.2",
|
|
"@resvg/resvg-js-linux-arm64-musl": "2.6.2",
|
|
"@resvg/resvg-js-linux-x64-gnu": "2.6.2",
|
|
"@resvg/resvg-js-linux-x64-musl": "2.6.2",
|
|
"@resvg/resvg-js-win32-arm64-msvc": "2.6.2",
|
|
"@resvg/resvg-js-win32-ia32-msvc": "2.6.2",
|
|
"@resvg/resvg-js-win32-x64-msvc": "2.6.2"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-android-arm-eabi": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.2.tgz",
|
|
"integrity": "sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==",
|
|
"cpu": [
|
|
"arm"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"android"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-android-arm64": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.6.2.tgz",
|
|
"integrity": "sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"android"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-darwin-arm64": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.6.2.tgz",
|
|
"integrity": "sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-darwin-x64": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.6.2.tgz",
|
|
"integrity": "sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-arm-gnueabihf": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.6.2.tgz",
|
|
"integrity": "sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==",
|
|
"cpu": [
|
|
"arm"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-arm64-gnu": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.6.2.tgz",
|
|
"integrity": "sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-arm64-musl": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.6.2.tgz",
|
|
"integrity": "sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-x64-gnu": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.6.2.tgz",
|
|
"integrity": "sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-x64-musl": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.6.2.tgz",
|
|
"integrity": "sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-win32-arm64-msvc": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.6.2.tgz",
|
|
"integrity": "sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-win32-ia32-msvc": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.6.2.tgz",
|
|
"integrity": "sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==",
|
|
"cpu": [
|
|
"ia32"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-win32-x64-msvc": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.6.2.tgz",
|
|
"integrity": "sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
}
|
|
}
|
|
}
|