{"_id":"reframe-video","_rev":"54-0eced831ef97dcf70f08c035aadba754","name":"reframe-video","dist-tags":{"latest":"0.6.49"},"versions":{"0.1.0":{"name":"reframe-video","version":"0.1.0","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.1.0","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"d29a9ec0522f6c257ae606599bde66e34d5a45fd","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.1.0.tgz","fileCount":41,"integrity":"sha512-mvsKsXe8fzaxVtxj+CSs8uepj/3UUGDs6YN+F+dOXApg3F0FMnapQrK7T7dZrXFYxJOPC7VPaK3cXgAigDE5hg==","signatures":[{"sig":"MEUCIBb5suw0zg/akhi2JRJBdiFS45R4Wl5vOPGbMm7aH3G3AiEA3Eez/AtkyP47Epq6bDsZPIfN6qbq4o4D/EINnHNWHZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446198},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"69c84bf605e3b98402db30fd16727ae1b5820398","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"11.12.1","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.1.0_1781187653808_0.5790938823213718","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"reframe-video","version":"0.1.1","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.1.1","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"c979d53dc841d1643c8991ea7d622eb48f025303","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.1.1.tgz","fileCount":49,"integrity":"sha512-bd4Cwl69dLiFTYG7f0bClkXvxXeFrj+Q2B+AT0kmMIQaRs8iNGalRLRXEmxpEmAdehct+zzskudhRnnVoXkw0Q==","signatures":[{"sig":"MEUCIDYgR4biQ6IMvakA/5alsd8F5iurz9Hi4FUJI79+7QkTAiEA8QmU52OH3Fv9019eCJ1EapaaiyVmjqiTf4X+hH/Q32w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1368855},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a28a06e83acd1a219be9b19d779ca241e3f4fe7b","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"11.12.1","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.1.1_1781198436500_0.8908330237170883","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"reframe-video","version":"0.1.2","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.1.2","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"6afbf2aebb7cad80989a743f03a58ae54f4b4835","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.1.2.tgz","fileCount":53,"integrity":"sha512-inIoZcJqnGN4ogA5JqAVKmgDMuRJP+aUqxkuyaBsYutfyFWhDcJSc/+l549aCChQ6p86nPmkWiI8t+AUjiYO8w==","signatures":[{"sig":"MEQCICONFtJLkrf+6b7RgIi6pdPJT8u2PNVSGw98A0jw+hG4AiAQIJFr0iMkG0WGQfDe4l3MHVoDbKfG2S4uJHf3ZFSGeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1462894},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"98d0d25235edf00ee384a523b78a765904931484","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.1.2_1781540238073_0.47658539096176566","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"reframe-video","version":"0.1.3","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.1.3","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"b64cd09f505f5235e12c902e579280308ec2dc90","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.1.3.tgz","fileCount":53,"integrity":"sha512-dw9TQ3D2rXlebylkfz8UmZDeVJ1a5dk0Z4ytD0pydQyXGXTYyG4JlEhtH69VxBdYMnPcVAUaQrQtsxDzUERrpQ==","signatures":[{"sig":"MEUCIQCGSRxeMJAdlUlllGmK8L8JtqogMSWzIngI7EbWJFk5tAIgFi1JegQATPbQzhs5sc07hod0sAlm0rLd0sJCf+GEk3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1477314},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9b7e433cc0a9f6ad2e6e9a786a256cb92f7ef673","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.1.3_1781540970845_0.011337262907114676","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"reframe-video","version":"0.2.0","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.2.0","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"6f3c7f3c0ae59e1004e31daa5db52aa532f96eae","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.2.0.tgz","fileCount":73,"integrity":"sha512-1t8SSKSdkjcuFkHZJ1pLe/uYPZj16nM3gzQDY8ZBMp6PfS2naHQlyCTDuZklrvj+PPYYJ3i3QdiY4lOTGYxT5g==","signatures":[{"sig":"MEUCIQDL4Q8lwXliWV0B1NCcPcuPvmVaPeYcY71gmL1yZotR2gIgfRHwi+ieYqz6N4Uf3cPEiZQv59VusmNhbY4esqRkDFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1788654},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bc698662c550990d119b88433bf6196183387da1","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.2.0_1781577422911_0.7377523898299807","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"reframe-video","version":"0.3.0","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.3.0","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"4f96bcbcb4bc7e514971462d446dbd1b8dccd3f7","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.3.0.tgz","fileCount":79,"integrity":"sha512-c1cN4bH/R8idC8Ah8qH8+iut6Isp+bQjeJfePhc3hj2k8ch4pTWxs0T9UTBS6lbyJwr4bxvA34Gc3jKbKMcm2Q==","signatures":[{"sig":"MEYCIQDylPoPdpDSLIR2V/73OZgtIb9MFww/7mh49LvWYGzENwIhAOIktL6WsYdaXnV4QlpFynpUwggYDkLKD9O4xzA5dd9m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1853119},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6596c86d71619ec11de9e2d277f7848c59c8236e","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.3.0_1781619068221_0.4896495658071547","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"reframe-video","version":"0.4.0","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.4.0","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"78e15434c7e0f426392c068bd21b0e9a581aba62","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.4.0.tgz","fileCount":81,"integrity":"sha512-pOwitInFkZjH2v8Jt7LkO9zDWcAro8UOxDd1NzYuJWDCiW1pHMGPR2A6i76fPFQBlkMeFH32bO3Ao4ExqGJwRw==","signatures":[{"sig":"MEUCIGsfO0JwphBiz/havF92F8evenbJ7nko+trK8V7MjakgAiEAnba4JB6VeKDzbuCfwzL9mt9xxuV4POab5fv5MQWXCvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1872261},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dde225893bd81042ef077e88996d3712d4a7dabd","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.4.0_1781621383176_0.5279389914289061","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"reframe-video","version":"0.5.0","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.5.0","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"e64407ab5f1c66b51ffff4907271151ae44b836c","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.5.0.tgz","fileCount":82,"integrity":"sha512-PBZWpwY4j9NBYCJKzmNXq+jHhg5EH9uEHSR2qm62Cy18AcU5+mVfYQahICdg0EsMmnMgeVWOV6uIdW4kCjanWQ==","signatures":[{"sig":"MEQCIBh/ShSNhbFo4ICFAwpX05EgP2FJJ2jjZN15exHIoa58AiB7rQr4cEqqJwfai0ei6h+dzBUPQfrw8YP2nLPNFUQK8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1880554},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9d0d0c8392ef7a2b95ff7ae5b9ebf24e932a855f","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.5.0_1781622762745_0.686578090904304","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"reframe-video","version":"0.6.0","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.0","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"ad112ebf571b7d312620ca1b6ec963e4b79bacb5","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.0.tgz","fileCount":84,"integrity":"sha512-9OWu5Ier1MC96/Xh0Qd/WtniAlPSlShQoYmNjwriAdB4zIw2/e2B7cWuuOFADOQc4seDQxY5IRMNxaQmWYaTaw==","signatures":[{"sig":"MEUCIAqiCTsyJH8CNnFA3K8De97w/Aa8VJm4DwQhXRbIhJtgAiEA2WMOfLyqa8qyii031Si2Qevrxse4zAYGpCnhLAXMCrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1899093},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"01715d216e739896a66542cf4696fd842c460a94","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.0_1781694432971_0.46442792906596186","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"reframe-video","version":"0.6.1","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.1","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"d91f591432e97f4545cd14d7904d9a8c270f6dcd","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.1.tgz","fileCount":85,"integrity":"sha512-QI7GfkXs+uMvcsZVcm3l6v72/uJATvLOt1qtdW8FYdhvFSMS4Cu884HslxzRYrFBIK3fFGADweUy/OZ6TiQ6pA==","signatures":[{"sig":"MEYCIQDG8M5CZCtNFcvYH7CRZm3fwKvcYUTB66ElUrW7MOxvNwIhAPdLbrnaE7BQqpbvPt6t9VLDhZWHnxyieAh4Yj1JjPWw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1913416},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8acfca98672b3df3275edecb82aca809c0fc3f24","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.1_1781697161498_0.03811855100152495","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"reframe-video","version":"0.6.2","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.2","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"3bcd69309323aeccf4e5a33e8d90cd52339ae1be","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.2.tgz","fileCount":86,"integrity":"sha512-QQPqwWOaWLr8HvU/98Qj/j5LYr6w0Rz6qjcAbz1O641nvkoaRES54BMoGLKngYCDnF8XggBcaEKii+pnTKAbqg==","signatures":[{"sig":"MEYCIQCaXTQO7TMjSq9+0FyLxLTBXJfgvT/J9wRaDgNWT7pcggIhAL8s9i730YBy7B1NxaYBC7cGQPiHuZCMjAhR5pyew31c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1919910},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e00f6cb23339e95b208d65de223851969373be13","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.2_1781698416513_0.7397603790819898","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"reframe-video","version":"0.6.3","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.3","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"937d7c462c41ed14d5fb1a9105e27214153141b2","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.3.tgz","fileCount":86,"integrity":"sha512-teICfzyUZcHpB4slIBrxYnRTnu8znh+t/5H4p2U5i2sOW7JLZLOWOJwbHxT53IcpJZPxvR8GXloeBUavwZmPPQ==","signatures":[{"sig":"MEYCIQD8CfNQ2YkLJQmka996ptWdnVbI8CjATDFoH4lAeajcDQIhAOezKoOZyrOZikWTNCnRD6Sb0BGrxU7y4Yuqe0uttF+X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1923517},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"327935eb8fb35cb663216987627be649a7942281","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.3_1781705713338_0.3069143043021245","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"reframe-video","version":"0.6.4","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.4","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"6c1d3438c5cffe9e2c338dc047d500525f4da13f","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.4.tgz","fileCount":87,"integrity":"sha512-PPamMl4FtTI+wUYdSLEdhOH6hP9rI1T9+Y9vwy0Hl2V/dpHWlALhpM3pImEmH+R2rZ7Hb2vc7jIiNCJpGttLtw==","signatures":[{"sig":"MEQCIDWxQwpijpxhnk9I3WjpMhV5I5tSon5Ep00LuutdYim+AiBcjZfw1D8bDe1W330hS7anGMZQh/3NakE3ng8ds8iJSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1930879},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3c5f1d44f7ebecd7db7bfc31982c9be99c946e60","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.4_1781708571261_0.34573931201734975","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"reframe-video","version":"0.6.5","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.5","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"fcd41319a9dae0998cd27191c700c46810c0e079","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.5.tgz","fileCount":87,"integrity":"sha512-Q7CT6bJumQpSp3DZd4CIajroZpec2/A8lLbccay5Xka7oKx4rioS+ONEsWE+nnd/++MP/OWVoMyZUqx4MhG2gA==","signatures":[{"sig":"MEUCIQDaryfd13H+fn8LTT1uB1/svCnPy8eMWYDp4xJryl8x6AIgaBr5glPckpjZFscjxdvP039ika3uinnG7QtI3HtFxMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1934268},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4320c92727bb37163af2ca94b0555e0d4f185102","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.5_1781709696766_0.0036721877032050987","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"reframe-video","version":"0.6.6","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.6","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"abcb063321679c924dbb0ad84e1e236882ac44de","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.6.tgz","fileCount":87,"integrity":"sha512-oVrYRuhe2vXEoMSUcB51ZgO+gpMDFLuK9BiOjKh5r1r7dJok9PrfelLO03C1F1RgeMycPxGQThQHhOO0Q01wuw==","signatures":[{"sig":"MEQCIESflYOg1/NXmzxOu8nW7fApc5EBUqhOMa5IhHn/uoz4AiBQXo2I3aDV4Bl642SsVIpChq76ZrFaufcQQ4pmVU6LNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1947372},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e0dc70553e5634ffc1b8fc30f609ee56ca7dadd8","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.6_1781712179736_0.624429927115888","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"reframe-video","version":"0.6.7","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.7","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"cbf5401cdce946acca54fc751d7c5b7dd5bd248d","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.7.tgz","fileCount":87,"integrity":"sha512-lMSPUOYnd6+CBIFSw9iwvAnIZfjK/71AvwP8g7gIbDNI2Ug0YiI6LS2fMpID409s4a9Bc/v7T5O4EzlVi36bUA==","signatures":[{"sig":"MEUCIQDx0vbmjIggjIQmPofu/piRiSPYX/6QsK/YXMteoD0yxgIgKCWXTOh6VNKsCTU717hnF34Vn50+LvwHwzeaRKr+Z0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1958362},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"984414a06d6e45ce94a7cedd26d242fdc35aa71d","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.7_1781713256155_0.4105393349673694","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"reframe-video","version":"0.6.8","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.8","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"b2a13c6a246f0edd0e930a68f853ec7c67636ca1","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.8.tgz","fileCount":87,"integrity":"sha512-mRbYOPdFGam0Bp2U/ZVu2YCiSXt+ddhVOVZaVHXlwyFFHAM26qY+22+afxjwZZP6VDE3F32njWVBueX7KU1acQ==","signatures":[{"sig":"MEUCIQDnU7Re/VMcjLlWldRq2KVtOEnuXGOyCfQ6YxNuIxV3jQIgZaYgQhFJK1vycyig/ZgGwbUwyeUbAogUAaDMezt735k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1960323},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"73c9165955941b2afa1233ec23489cb6484ccca8","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.8_1781714080660_0.6149976327251132","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"reframe-video","version":"0.6.9","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.9","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"865ef9403316e31dbb5ac99f5ff0f35d3fd4bc38","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.9.tgz","fileCount":87,"integrity":"sha512-i5if85Vu7dcnwtB+Ur+KVg+XgZG+5gOLkMl9yX0jGB/RBzYtmeEkW9A72HFMF3iUGk7CpvV1gYssrLfjw11l5g==","signatures":[{"sig":"MEMCIH3ti/Whw5OvKOhF18mhvpmROwLMEAt1Q8pZz60Cj50rAh9sdSEcGipRh6q+tPV50bYEiOD2UPwk1uUKTaj4JyiO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1968902},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"488ae2ac3e5bb87923e30b8252dd1f42d187bf68","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.9_1781715590199_0.007302956604319455","host":"s3://npm-registry-packages-npm-production"}},"0.6.10":{"name":"reframe-video","version":"0.6.10","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.10","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"31afdb25ef4b7224c77ae30fe14227d53cf24441","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.10.tgz","fileCount":87,"integrity":"sha512-B1nOYId/HSoA24PFr2px7vp2pR2lUIEAmbUMjXN77ljH+azjIoycAWhWi4lLCu64NRvt4KNhOhbdhsjaJuK0cA==","signatures":[{"sig":"MEQCIG7FdEGnfCeCjeaZswF+Uoicwpkmu4BUjwqVKxu9l/BSAiAw4T9f0yKCaZ059xDcKwyjZ1zUt1hdInkAZVktEyJTNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1973257},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"59acf5a6419d5841037af22513d97a0380c4d709","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.10_1781760338811_0.18192843736233155","host":"s3://npm-registry-packages-npm-production"}},"0.6.11":{"name":"reframe-video","version":"0.6.11","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.11","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"0d170dcb49d71955892cbdf13bd4a134cff15b9c","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.11.tgz","fileCount":87,"integrity":"sha512-a6kbtUO5ldbwKzZFyfkEkl3htAWcMAqtdpAWqvBjAsCxZTCDO9Z44vEPXgytE6vXGVBHVOjVhxqkdAIytWkCMQ==","signatures":[{"sig":"MEQCIAUja7Y679+hLHusVvNhyZU0ZDpYAgIRlZSscBYpBKOrAiB6V9057OMlBYOERChMs+V+qxlzVh/1pf58tgcvhqm0Eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1983497},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c2b9137b1fe60611302cb2fb60ff7913b2f18fda","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.11_1781763998366_0.5978570136456127","host":"s3://npm-registry-packages-npm-production"}},"0.6.12":{"name":"reframe-video","version":"0.6.12","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.12","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"7eac231ff575a30292c83728920c5da74820a528","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.12.tgz","fileCount":88,"integrity":"sha512-nuu5OCymny4LMrGTXJA/F/U/DS5X7w2mFy+8t+jiMU8BBJr+xNnpKh/vfO6TBDfpWmzNgBFXbDS+njwRXos27A==","signatures":[{"sig":"MEUCIBN8xon1KQB+hnTC3z6RxhP6t3RkZraSKvbvpOU37nZvAiEAwcR9KvsaAK6WA63qhimfufTIChzPEkjsloK2vAQCQ3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1988642},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"92eab9af64e8ea2f872c070b52e80c6f6a66309e","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.12_1781774463929_0.6751964338061895","host":"s3://npm-registry-packages-npm-production"}},"0.6.13":{"name":"reframe-video","version":"0.6.13","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.13","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"dc3aeab4a39f637065e8bc64cd4a4019678208bd","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.13.tgz","fileCount":90,"integrity":"sha512-HUTqEprti+gyqKZNWnGP9PiLfKngbtJ8OOUumH6gFEBBQdTqNnBmofDA8RxAIBJFIUm2YujAKTkwUQguNge+Hg==","signatures":[{"sig":"MEYCIQDHqQ9zNpY/e4xsfcjnwlkJ5IhgeOAvhPZHr2KH3GscZAIhAO5vOrTotbLNMA6zx1OLBn+9QD6G6LRH1b3+oFAQefx2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2040999},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"78b342b43768c9496fa2fa99c5d3116bb45425ab","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.13_1781776491823_0.6319082985937361","host":"s3://npm-registry-packages-npm-production"}},"0.6.14":{"name":"reframe-video","version":"0.6.14","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.14","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"495c1470a2c540022bf2fdc8dad2be9990f85637","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.14.tgz","fileCount":90,"integrity":"sha512-rFMeHRTp7tLgAUe5+BZ37FmrzqYQfiTB8EzrvvLMbBrXi5k2ZzRsiseYYzWQgIzAIRi2ud74uSPFiDqOagCMNA==","signatures":[{"sig":"MEUCIQCd6aKf/UdEDEVipY4tKgVUmJpX/6ZWZ3VzEI9nKBCVgAIgS62N/vwEdmWbXRKhqS/UsSU4d6HOiktB4g6CQBxtsyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2042942},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6626e0f994a24dc56575d75d46ff7bff2a5a1fbb","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.14_1781786239043_0.9649862367591289","host":"s3://npm-registry-packages-npm-production"}},"0.6.15":{"name":"reframe-video","version":"0.6.15","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.15","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"d79c331d3ae366237032c1a07dce8b52367448e1","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.15.tgz","fileCount":90,"integrity":"sha512-yA97h8o/XqcNUwZX4VhOKcKzzdeHn1kacerA5tZPDNCoqvro5R3vudM7ZPabMVO+gVLD7oWg84ykNRzcFDOcFQ==","signatures":[{"sig":"MEQCICx7JR1eYDA9Iajnxcu2CQ7H7X81AU/3Dmuk24duospoAiA9DgbdfGiHLAZCcHKkWPwwbfKoJU8b/2DhRlc6nnN9PA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2048413},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c395b26d358abc05ddfceeff09b86beefad12957","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.15_1781786699446_0.852808470432723","host":"s3://npm-registry-packages-npm-production"}},"0.6.16":{"name":"reframe-video","version":"0.6.16","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.16","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"789d26b885f50a178877331f93ddba9c1a26d1e5","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.16.tgz","fileCount":90,"integrity":"sha512-CmKZXdVLbZPHWYu7Iy7pAxWB843QfX1lqAERWcWjkY+kk4le94RGNqSrPR9ye8qAaK58r/J5DcpZ5ydVIl0ZxA==","signatures":[{"sig":"MEUCIGqzdN8z/OgozX8DeNsOb0m5HarqYwdIlAQpcxcc/Wz1AiEA2+Sd1GdRFLcSkXv4zLLZUOzCWKXTRNKWTeKhFO03LO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2052617},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3d40ac68d21e3d3e1401efc8078238fbf52c357a","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.16_1781787384378_0.4286748743303086","host":"s3://npm-registry-packages-npm-production"}},"0.6.17":{"name":"reframe-video","version":"0.6.17","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.17","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"41ac1146963e441591a1140ab8bd92dcc3665fb0","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.17.tgz","fileCount":90,"integrity":"sha512-wx0n4uB5mB0I2KG8OA/rXe9XZl/rlbuhKXRHupOV5vVJCKU0NFCZOseBRKCgpL4XilUgHEDcqTm6tybp00LvnQ==","signatures":[{"sig":"MEQCIHFLamJWQeFIKABVHjEjCVc3CB6nd+NyvlFl7DQFX6cRAiAFtp+u3RNhhX1J5oAFXpPd6pGNsb2+0UzlGIOHcagJjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2055918},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b2bd03c67f3eb4f098acfa3b5f885b3c1219705a","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.17_1781790571394_0.004895644983624825","host":"s3://npm-registry-packages-npm-production"}},"0.6.18":{"name":"reframe-video","version":"0.6.18","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.18","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"fd055ae114bc11869fa88ff03804be932226e03f","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.18.tgz","fileCount":90,"integrity":"sha512-OhE6MS/wG8L5NCQLpyxo2PBKvHLWJnesWctDAWDnwpDu7jD+nw9DXu0s4kgVIKYQoBko/wPooJYHeqDWbUCwpg==","signatures":[{"sig":"MEUCIQCwGRKh4avcBVbNZ8pIT1k5526Eza1g9VsitLdl806v0QIgEeOj8vzzxIb1kYqdC3avBpECFlbhTETaPTnzCArBnHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2061153},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9f4132abc560a37a67fc319e720f1ef9b50b6e84","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.18_1781793547983_0.8957742072365864","host":"s3://npm-registry-packages-npm-production"}},"0.6.19":{"name":"reframe-video","version":"0.6.19","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.19","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"559af4a5ee327c54d43b7ecc0995d78542b8b094","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.19.tgz","fileCount":95,"integrity":"sha512-6GkqpMeK9aQZTV7luT3Pp5P9lO60tWLZ9JIAPowWWxD/J9ruVs6uZIlHbhQQK3EelxCoWMolYm6PRELIQqFodA==","signatures":[{"sig":"MEUCIGkKTdz/pI49peXDRge7CvLCHjwou5qo1ujDCK3w4tsuAiEA0e6JK0Q0J/XJJuS5w6DW1dYm74U8mcxP++jEbP9SDtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2112195},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"a20841234df27a0dec7fb1647e536349fc9d5c49","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.19_1781855193025_0.7521419945857941","host":"s3://npm-registry-packages-npm-production"}},"0.6.20":{"name":"reframe-video","version":"0.6.20","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.20","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"045ad28c7a256f17aac0476965e44d8df868f46f","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.20.tgz","fileCount":99,"integrity":"sha512-MuXeLkxT0jPipOlxnatgTDztEiiHh1438WUoZNobQ0gaUIi8bTgCyDYXs77nCGqFm7PJqTyfEU3IC+tpZOzOyw==","signatures":[{"sig":"MEQCICcpxzpnvTiNFqQ+KGnJVgquQJAGtID1eObZGo1A01yIAiAFrkBi3O9Rwy6toK8+X0LyHhbFbgEb+ybMlrBbz/Ay/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2163619},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"a55a32730d114ec2598561a4a189ecf2b0198a1f","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.20_1781864148523_0.19629800026988353","host":"s3://npm-registry-packages-npm-production"}},"0.6.21":{"name":"reframe-video","version":"0.6.21","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.21","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"4ee0a7784ce608de3027b553393f428f2df058e3","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.21.tgz","fileCount":99,"integrity":"sha512-f8ncYgZhXHPrUt/xHrhAYrBudupaIbihO7T3XWzcCExghxn7153qNKb079hTV3Kcv+UmZEDm9ZYy14D75rildw==","signatures":[{"sig":"MEUCIQDBVKDjAX1Do/5tg4Dqm+S+PMHrYpb/tegHtFSasY0TtwIgL+g5eV6xCJLlXMMlvX0WmtOUZarYM9pOIQpGMJxL+Tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2164845},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"f2f6573e66a363a4e10b106c70b6eecc888ae63f","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.21_1781872371398_0.9133718227278198","host":"s3://npm-registry-packages-npm-production"}},"0.6.22":{"name":"reframe-video","version":"0.6.22","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.22","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"923c5ebf8723f9de544bdb207ecf89396175338e","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.22.tgz","fileCount":100,"integrity":"sha512-4P0HnkaFQSlRp4iRENKVa3ZCFfYSvrkpKGDVBTeSn8PG/sVMDlPFOheimYigXYpGYG6X2GDgqSmvNIJjDLO89w==","signatures":[{"sig":"MEUCICOBZVbA+K6+4L3YOTgAQ92lVLPfBCauNb3sQjwbUz/UAiEAxDi7Cdil5Du1C732B+TMz2rF3G0QpxUvZursHL3ttQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2171795},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"e5cfa0437178f6fb98771a65dec52147899975a5","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.22_1781879260650_0.9595101740115453","host":"s3://npm-registry-packages-npm-production"}},"0.6.23":{"name":"reframe-video","version":"0.6.23","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.23","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"70092e759e9c3c7aca605f2a04e188c7bb93ac0f","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.23.tgz","fileCount":99,"integrity":"sha512-90VnREDCaIXAgIp5FjAlYFG/xNpaujK9DAAxaaHKSoQzdMQuDTluTYACNyrBXQQRBG7Dn/NP0EFdrack0HaFXg==","signatures":[{"sig":"MEYCIQDjcLsYcYuwmdpeVKl9Xm7t9AHuNcITN7uDq0abSmb4kgIhAIlBZS3lUrU151/0o0iqeu5ALPkr3wnXtJIfOp1sO7wG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2173295},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"469e30bb89aa0f151d899d8b310bc3838fa92ab4","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.23_1781884831678_0.3577258394888361","host":"s3://npm-registry-packages-npm-production"}},"0.6.24":{"name":"reframe-video","version":"0.6.24","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.24","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"dbb21dfc1cb9edfbb1956c026c711f63abcb30af","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.24.tgz","fileCount":99,"integrity":"sha512-4Qk+lKUsA3pW13P7yICgv5f2ZoXJgobdNvYlvTMEHMSLkWzBKdAQU0zzoWC96TB0rXQkPrRHYOZN28kytbmPfA==","signatures":[{"sig":"MEUCIHb2nQEFUPSL5toFJm0N2TOg/yFtkfCIp/oSeko7Oq3fAiEA7KyTxqkECIHtyFzvE+lklwIlF5PVDuN9vpurDdPsxAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2173596},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"302fa35afe09f59dc280d3b52ba1ae2aa318a532","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.24_1781921482906_0.4413853719102392","host":"s3://npm-registry-packages-npm-production"}},"0.6.25":{"name":"reframe-video","version":"0.6.25","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.25","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"5d2b7eee210bdf3db85a11c4b6ffe63ad75dda09","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.25.tgz","fileCount":99,"integrity":"sha512-eh3caNCUNvKb7+a3/kYKUNdadze/WfDbUAEc4QdaxU4ToINcy9dYPYAl7G0l8TsQdMTyaTMWjArVwHlIU+VxfQ==","signatures":[{"sig":"MEUCIC1dpm3lrS8shx356T6nCk7fLytL/Od/D/hpkChg65zHAiEA2+ahT1kxncrSdd0dBmYIlWlL/pjJAIu6x4G5mP3yvDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2180832},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"3821f02c09fd43a046d3063fa1c84ec962d189a4","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.25_1781925423232_0.12120086009688125","host":"s3://npm-registry-packages-npm-production"}},"0.6.26":{"name":"reframe-video","version":"0.6.26","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.26","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"a27b347aa2062c1d7142e8807cef504855aca277","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.26.tgz","fileCount":99,"integrity":"sha512-C49tH7JRGgwIyAtvMk9mJg+DZA9DM129bZJ3cEZXLa4VLLwShCatgqM4+qlI/PCVOgfzLFfQTMvWh5151P6XOg==","signatures":[{"sig":"MEYCIQDskZFtt70q48q7CZ7BQi69UZAfx6qqCEyRS5pp6w9FhwIhAJ9RakVbYKE5P0X9Tzi7kUzjhOZxTWC3Ts8jxKBABHTc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2183367},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"8a8113aa342f05e325cb6a5f8ab2099e8eedd240","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.26_1781926548205_0.6633631474907793","host":"s3://npm-registry-packages-npm-production"}},"0.6.27":{"name":"reframe-video","version":"0.6.27","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.27","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"97a0f295d887fb155d8172206e57cfb707f5ce43","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.27.tgz","fileCount":99,"integrity":"sha512-JVote/HTIc+Mezo9knCNZWFKQFHr2s9Afrly87nDMmGpknXb38tCFpp1RNvDjxH3cNQzrW6nbNexSq5sVvEX6Q==","signatures":[{"sig":"MEYCIQCyJVQnHNClnxWhwLH73xS35fplKsvdCihaJlXL4JrfSgIhAO4hRHwoNincDHrHCKuAX0jK1StBaR2/1xgvtqg67BF0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2209789},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"9450fda28c32723ee9ddb84aa0895514c1b178b7","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.27_1781929240567_0.5838133614054943","host":"s3://npm-registry-packages-npm-production"}},"0.6.28":{"name":"reframe-video","version":"0.6.28","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.28","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"17fcacf03b7ca3e7205c9da8b27d6772c5250334","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.28.tgz","fileCount":99,"integrity":"sha512-268oeeNnCj4F398395HTQwaEctN3L25Pea3FSUnKrBFoS/ivv/p0uaqRjuWYcYIzTq47KOpvL/HNrW2VtvEpNQ==","signatures":[{"sig":"MEYCIQDSLLVooruknvvFVum2dhpFbFj7UUwk9/U1vrlp/j9etgIhALxxmYMwsw+6m0eq9YJ9mPVKcTcdUGpZAJehCXUXVZJk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2222885},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"7409434a8ccdeb7478976ee19f7b3a4d2b4e7c26","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.28_1781930446068_0.20405522241128504","host":"s3://npm-registry-packages-npm-production"}},"0.6.29":{"name":"reframe-video","version":"0.6.29","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.29","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"00915823834acc9aa45edb2e84b69be6ebb11fab","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.29.tgz","fileCount":99,"integrity":"sha512-ozyKu/Mq9YJN4cykod03v3upxyGPkLBgCd/oKUDmzTvm1ADtJYaeZsG6ABs5SwnSTAEroe4COFWeXVpouWZLjQ==","signatures":[{"sig":"MEUCIQCHCJ7hEMNNNi4r7Rd90npjrX/OVa16qZJR1e8HL9OkSwIgH5sqW24FYJP+mGN6lqUPQvi87dRQ7RKL7pXP0Vn3KW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2223272},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"634f81e5746beba31d85048eeac60d366aa56f58","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.29_1781931192745_0.33890242638907586","host":"s3://npm-registry-packages-npm-production"}},"0.6.30":{"name":"reframe-video","version":"0.6.30","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.30","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"e097b320d51a9fb494c5da7ff6b565be5bf1fe1a","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.30.tgz","fileCount":130,"integrity":"sha512-RaaMPmGWriBCYIFRsR6YpOqGAUtKM83Ak+4pAObDyt+EeEjsRe5OQkq9lh1aKLVQqMAuZeaM7rFsoRStZKLHVg==","signatures":[{"sig":"MEUCIQC50NvIP+z0kCOMqhWyN0xdrXnqfttgNKLgJm4Ojs5OfQIgOXqjtwPWrAuYnAtB5JTzro2ObrmKHCge6rcLU6exqYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2613206},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"8e534007845638aec305c31b2b7ecacdef5a2220","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.30_1781932151251_0.04324618258325508","host":"s3://npm-registry-packages-npm-production"}},"0.6.31":{"name":"reframe-video","version":"0.6.31","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.31","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"61147c9be463b04dd7922e38490cc9e6dc611046","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.31.tgz","fileCount":133,"integrity":"sha512-VEQ6yMmgGLRaHnhHMKi4r8muDvSlXyeJvhiyr1MX4NEDVVUwPLv6jSbtMkmJozmxsKNKcOLaK2E4tfZ2HvmdCA==","signatures":[{"sig":"MEUCIQDCvvZv48KSyIHEHXdcRAGzkW6hpHw+o/xKywR1T4EkEQIgFlqesh6YpMF7poti5jHwOUFmCw0z033zCBPeYJWJ2TY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7283267},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"657c421de5c8b2bb455656068ee3f43766deb2d7","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.31_1781933105820_0.764570053451799","host":"s3://npm-registry-packages-npm-production"}},"0.6.32":{"name":"reframe-video","version":"0.6.32","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.32","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"8e006f26345728ba20a7097817c8821f6489e967","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.32.tgz","fileCount":133,"integrity":"sha512-+KDBijLLy84jxS+oi5ruBsJ68YJiBNNFLdewI7jJSG6vaNKFg5ZYPiFBpvThxmWgf1R3uzNOmfV9/kI1KlMOJQ==","signatures":[{"sig":"MEUCIQDJtKO2TMPKvTawUjzo8f4YfbujhHroy194RcTuNqv0/AIgRuOxLUr5SPkqYn4TKnvaip8mNfQu6x5EZrboC19Com4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7284001},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"4f9e0bc216fc74642c18520c431f7be4ed01b2c5","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.32_1781933821728_0.3008192875613991","host":"s3://npm-registry-packages-npm-production"}},"0.6.33":{"name":"reframe-video","version":"0.6.33","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.33","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"6e2976101ed1267e40630721465fa392f6ef4a08","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.33.tgz","fileCount":134,"integrity":"sha512-z4aLTlqWvlCBtEGclEiOU4/3BWc9HJBJU9Sd5Gq+b1tYoOnIa3TYpqj4Cq6nBu4+fzDIvcDNkOy1jtBqWgDY0A==","signatures":[{"sig":"MEUCIQDZKqts/W2UDXfWiYFDxCT/PM3ohJPCi1YcSWdyVUCOyQIgDQK67tpUy9PcWVf+8GUcPaYnxQAzu8bEDFfQSiw0Dpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7312457},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"bc151006e594c9d4076626fcfef25fdb7d6a112d","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.33_1781936292757_0.13879679979496484","host":"s3://npm-registry-packages-npm-production"}},"0.6.34":{"name":"reframe-video","version":"0.6.34","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.34","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"b2f1530d18bc0c2378b4c128bed62e26ec81f070","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.34.tgz","fileCount":134,"integrity":"sha512-vq2rw24Zad2zAtIQtsWDElhY/3gFYpfEQi32W1xlYc+zMaH2qxRikSrk10MiGUrQb/EEYDfRGjhfXN3wNt89gw==","signatures":[{"sig":"MEUCIQDfCXQROmfPxVOZa6T1A23xbStmxGa4hNe6oD3ZASkJMAIgQM1lFEzYbnnHDFvr6pzbcMhN3zYH1NMNYRTT1uEHc3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7317213},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"d5ee6ba734c318fcd4b5e45a40b90f0765c0611d","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.34_1781937015881_0.9395616081272418","host":"s3://npm-registry-packages-npm-production"}},"0.6.39":{"name":"reframe-video","version":"0.6.39","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.39","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"394dce0bb2d2871497d935c297f668e64039c916","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.39.tgz","fileCount":140,"integrity":"sha512-kB2wtD3iI04sCJ7/B6Pleh2YNVB4qnGKROvuc098d7uWOscF+jpQz+o2r+WoSpT/TqFXFYwPzA/b+LK9AHQY8g==","signatures":[{"sig":"MEUCIHZOzGpgPzdZOX/SMe7kg/qbQkeZRUQC5WODZn1QHu9sAiEAhbGiGlqjCQA+05PyVDHS1gFWDu7Zd6VLai2fN8FBqb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7505269},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"eea5df62f0b1b6250db49e6273b193077f85cef4","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.39_1781954075764_0.5796743599802656","host":"s3://npm-registry-packages-npm-production"}},"0.6.40":{"name":"reframe-video","version":"0.6.40","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.40","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"30a86642f59747150fdaba20125ef4ed7a0badd1","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.40.tgz","fileCount":140,"integrity":"sha512-YvZ0Wml+sIkkhUmqJUJ4+Iz9MH8AJpqc1pgL+8Axhi8P6Ftzz7giT1RzKVl9UONoz74V2jdady+sxkq0uubnkQ==","signatures":[{"sig":"MEUCIHozXwbM9Q7Jag6F5HQsiQOdGHEZRp9B4OgtPSvQHEdgAiEA3xnQrm2y4CaY54R7k6C1p5rQk8ozwgbVeAgEiBD7jd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7514812},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"f5818845bd3eebbe4d6efed8e335490e33d775f6","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.40_1781972312485_0.8441759727937328","host":"s3://npm-registry-packages-npm-production"}},"0.6.41":{"name":"reframe-video","version":"0.6.41","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.41","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"36d05f6e65f992c45bb2040cc7b89a74180bb751","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.41.tgz","fileCount":140,"integrity":"sha512-VNsDJUSllaMwI4pMYO1B67DZVvhJ38qk+vtnWBU85dJKqbuIr2mj+veuI8fVIdW7D6+xp2gghNApIecuZDk9ew==","signatures":[{"sig":"MEQCIAER7NEzxyhGl6OmxeH0Vjh0YF/ogavJtnhuh5okgDYIAiA7Fv7LDRTt4NFH0nY7+eP66KmQ6fwHwNYApaPAyjowpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7529723},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"05f700283b137c42a1b99b76a4e8918a58898fa7","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.41_1781973576757_0.7011896147313004","host":"s3://npm-registry-packages-npm-production"}},"0.6.42":{"name":"reframe-video","version":"0.6.42","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.42","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"fb91377b1486491a9eb639fbce79e4bde9e46951","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.42.tgz","fileCount":140,"integrity":"sha512-ePqKTpF3gaobhZJkXPZK4741ALRsLDSn824aBbHwuKGjxvMpCHAp4/bIlKEaV/OJ4Tm04vb/YBwIwZUBM9i/zQ==","signatures":[{"sig":"MEYCIQDBQlpXUXHnLmMdVEFzl4aP1FWgeWHYkvLIegE0BS9uBgIhAK/z6zEBjQLcSc3S8SpOEf/nBPekKFoGSyVXqhlvCL2k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7534424},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"26aceb9764fd814353c5338f7bab76ec6a500494","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.42_1781978718909_0.9261375143767765","host":"s3://npm-registry-packages-npm-production"}},"0.6.43":{"name":"reframe-video","version":"0.6.43","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.43","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://github.com/kiyeonjeon21/reframe#readme","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"9eefd45c75f1eb1496d9a28411c4e07f628c0f83","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.43.tgz","fileCount":140,"integrity":"sha512-oeEXiQ1tZJTnp3AxVe9T6MLWo3j7zOszRm9o2E25taeSS0qaEQaHwZG9llvZoRjheyN0wVuRcVZLRM5gSaLgAw==","signatures":[{"sig":"MEUCIQCUaItmBih8kEhPOlvwktH1I9HQP0/lOgjwC1FSvUdpuAIgNoIFxuc4w9NzvqJNvlH/joddu1qqzBVnAS7P4sgRNqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7550403},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"4c36c5a3f05f6625b00c091e77e2af7c29429476","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.43_1781982042205_0.9292884530065895","host":"s3://npm-registry-packages-npm-production"}},"0.6.44":{"name":"reframe-video","version":"0.6.44","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.44","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://docs.reframe-video.com","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"35e38792f0eff27851a19f14853c58af4f829ca4","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.44.tgz","fileCount":142,"integrity":"sha512-ZO99Nlu1S8ebGV+84X0s18kMWosNpz0T9AkkVTArGIJvnT57d9NTZRuYSofmlNDA8jd0zRA7WbPXF8zBh7Zogw==","signatures":[{"sig":"MEUCIGdqJS2GHtPqgp7RVeYArY2QxLRNBoo4+1hfGUZkZdbgAiEAwEqdw9O+HV05ZvCHXD6N2a6vb/CXqCMtYYSlN+zlY4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7615134},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"daf146e9a70bf8c8f655798f18c71a94200cc174","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.44_1782042948640_0.4889813853283347","host":"s3://npm-registry-packages-npm-production"}},"0.6.45":{"name":"reframe-video","version":"0.6.45","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.45","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://docs.reframe-video.com","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"2e5ac11afa70a1f252ce3f3a60f387759db3bb70","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.45.tgz","fileCount":143,"integrity":"sha512-rIU9DxJUKhmqM5b1awNI+zuFWKuSLDcm+uU2zuuz08OXiDo9mQ+AcQs5K+Din5YRdVlyXOH21TBoA0K8PZHrJw==","signatures":[{"sig":"MEQCIE15pHxDQzRVccFP/ctQvtcQb78dUjFXgKDCzB2HQ1/bAiAMYP63Db0CXxC3QVcZyEn6A9tRy9HrzxmIwx9410PAnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7738390},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"c8c59cf2ce98649c6f1073898303ba9a23754de7","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.45_1782044799280_0.3394952563954692","host":"s3://npm-registry-packages-npm-production"}},"0.6.46":{"name":"reframe-video","version":"0.6.46","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.46","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://docs.reframe-video.com","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"2714a77be1994f7df03cffdffb20c30f4f9be7e6","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.46.tgz","fileCount":145,"integrity":"sha512-bwHty3NHmfq8FqW1NieHRmRkl+MfuHZYH7dFfeyBDIkhN8d4+Zl7g3afH2+YUtP2KrkgEvSGMATF/LWfk7ujVw==","signatures":[{"sig":"MEQCIC7u7V0Mi3zJEMvDO2q0Yhl1SSiTBZGBnMO5ZFIWOLHNAiBTxJUOKjElYVYv1vMqE/3bwlBYJnC3DLRiHPWu9tpGXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7820218},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"80c1aed0842c71b44dbefe0685be8a1a4840588d","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.46_1782051970306_0.8743180932884631","host":"s3://npm-registry-packages-npm-production"}},"0.6.47":{"name":"reframe-video","version":"0.6.47","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.47","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://docs.reframe-video.com","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"e7fe32aaa19ccc3946e674585799a8fdc360acc7","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.47.tgz","fileCount":145,"integrity":"sha512-997xR0LkBl3ct/4xPYVX7cXGCeXGbeTemEB9Pj/S8BaOiR1O7uriBqo6DWa/5o+mx2sJ5pYUs2WgmPlSU1F+7g==","signatures":[{"sig":"MEYCIQD57C7tSdUOvVqE8N8wbIlGxSVAI8yyXaVRIX6P3LjDaQIhALWr8gS0bdWFO8LW18vuT0nMBU3mWE8FlGARXbuBQnGy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7828048},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"ad6c922914524deccba6e892c0df56a195377260","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.27.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.47_1782105094737_0.9641131886344649","host":"s3://npm-registry-packages-npm-production"}},"0.6.48":{"name":"reframe-video","version":"0.6.48","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"author":{"name":"Kiyeon Jeon"},"license":"MIT","_id":"reframe-video@0.6.48","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"homepage":"https://docs.reframe-video.com","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"dist":{"shasum":"6ddc5564df3446e3f4bc7b62081260b5cd8ebae3","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.48.tgz","fileCount":145,"integrity":"sha512-qoyVJY42ZHA4mos0AlkXBeP/JPuk3x3LGefGmK0u3u5scG4qcT2pRgR/8JWhQ6DH0+A9QfSRJEAuidQc+GMK+A==","signatures":[{"sig":"MEYCIQC/bW/LIh06xugm7tSndohpmcnXUOiVTPRgR/FN+T+HGAIhAJLyOC9kPYCN/ANo9wBE73skdGFA8+xFuPinLQYAnXNv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7829116},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./package.json":"./package.json"},"gitHead":"1dfd195b12dbc024ca071cef4020862541425778","scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"repository":{"url":"git+https://github.com/kiyeonjeon21/reframe.git","type":"git"},"_npmVersion":"10.8.2","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"^6.0.0","esbuild":"^0.28.1","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/reframe-video_0.6.48_1782127746060_0.6701281490884994","host":"s3://npm-registry-packages-npm-production"}},"0.6.49":{"name":"reframe-video","version":"0.6.49","description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"license":"MIT","author":{"name":"Kiyeon Jeon"},"repository":{"type":"git","url":"git+https://github.com/kiyeonjeon21/reframe.git"},"homepage":"https://docs.reframe-video.com","type":"module","bin":{"reframe":"dist/bin.js","reframe-video":"dist/bin.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./renderer":{"types":"./dist/renderer-canvas.d.ts","import":"./dist/renderer-canvas.js"},"./compile":{"types":"./dist/compile-api.d.ts","import":"./dist/compile-api.js"},"./package.json":"./package.json"},"engines":{"node":">=20"},"scripts":{"build":"tsx scripts/build.ts","typecheck":"tsc --noEmit"},"dependencies":{"esbuild":"^0.28.1","playwright":"^1.60.0","vite":"^6.0.0"},"devDependencies":{"@types/node":"^22.0.0","tsx":"^4.19.0"},"_id":"reframe-video@0.6.49","gitHead":"f604077044eca91c79d5a93a24f57653e598be3d","bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-11WaJ+fey7dciZ2dT2jTepr5C4zrKVMQk2CHufyf7SkqTxTaQC2OKXsanblDsGGAIJW/XMZapBkHIPFRSFkjWg==","shasum":"a70498816ab3e48a7309d1cc9429fffed82f654e","tarball":"https://registry.npmjs.org/reframe-video/-/reframe-video-0.6.49.tgz","fileCount":146,"unpackedSize":7882764,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHVb3HxY0tYTuibC7caOQGjNgGbKu31wVAwIYf+zSzHBAiEA3Lw0kqJm+WEFeRM78mwSz4zIS2QBx2CFLVEBr5BKWec="}]},"_npmUser":{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"},"directories":{},"maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/reframe-video_0.6.49_1782137806148_0.7512930316261597"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-11T14:20:53.575Z","modified":"2026-06-22T14:16:46.505Z","0.1.0":"2026-06-11T14:20:54.049Z","0.1.1":"2026-06-11T17:20:36.693Z","0.1.2":"2026-06-15T16:17:18.308Z","0.1.3":"2026-06-15T16:29:31.069Z","0.2.0":"2026-06-16T02:37:03.116Z","0.3.0":"2026-06-16T14:11:08.489Z","0.4.0":"2026-06-16T14:49:43.429Z","0.5.0":"2026-06-16T15:12:42.997Z","0.6.0":"2026-06-17T11:07:13.153Z","0.6.1":"2026-06-17T11:52:41.671Z","0.6.2":"2026-06-17T12:13:36.726Z","0.6.3":"2026-06-17T14:15:13.527Z","0.6.4":"2026-06-17T15:02:51.434Z","0.6.5":"2026-06-17T15:21:36.977Z","0.6.6":"2026-06-17T16:02:59.994Z","0.6.7":"2026-06-17T16:20:56.366Z","0.6.8":"2026-06-17T16:34:40.877Z","0.6.9":"2026-06-17T16:59:50.421Z","0.6.10":"2026-06-18T05:25:39.070Z","0.6.11":"2026-06-18T06:26:38.595Z","0.6.12":"2026-06-18T09:21:04.212Z","0.6.13":"2026-06-18T09:54:51.993Z","0.6.14":"2026-06-18T12:37:19.188Z","0.6.15":"2026-06-18T12:44:59.600Z","0.6.16":"2026-06-18T12:56:24.598Z","0.6.17":"2026-06-18T13:49:31.630Z","0.6.18":"2026-06-18T14:39:08.146Z","0.6.19":"2026-06-19T07:46:33.283Z","0.6.20":"2026-06-19T10:15:48.705Z","0.6.21":"2026-06-19T12:32:51.602Z","0.6.22":"2026-06-19T14:27:40.816Z","0.6.23":"2026-06-19T16:00:31.835Z","0.6.24":"2026-06-20T02:11:23.099Z","0.6.25":"2026-06-20T03:17:03.434Z","0.6.26":"2026-06-20T03:35:48.400Z","0.6.27":"2026-06-20T04:20:40.846Z","0.6.28":"2026-06-20T04:40:46.225Z","0.6.29":"2026-06-20T04:53:12.961Z","0.6.30":"2026-06-20T05:09:11.457Z","0.6.31":"2026-06-20T05:25:06.074Z","0.6.32":"2026-06-20T05:37:01.996Z","0.6.33":"2026-06-20T06:18:13.049Z","0.6.34":"2026-06-20T06:30:16.134Z","0.6.39":"2026-06-20T11:14:35.995Z","0.6.40":"2026-06-20T16:18:32.713Z","0.6.41":"2026-06-20T16:39:37.077Z","0.6.42":"2026-06-20T18:05:19.189Z","0.6.43":"2026-06-20T19:00:42.530Z","0.6.44":"2026-06-21T11:55:48.859Z","0.6.45":"2026-06-21T12:26:39.518Z","0.6.46":"2026-06-21T14:26:10.577Z","0.6.47":"2026-06-22T05:11:35.071Z","0.6.48":"2026-06-22T11:29:06.309Z","0.6.49":"2026-06-22T14:16:46.414Z"},"bugs":{"url":"https://github.com/kiyeonjeon21/reframe/issues"},"author":{"name":"Kiyeon Jeon"},"license":"MIT","homepage":"https://docs.reframe-video.com","keywords":["motion-graphics","video","animation","generative","ai","deterministic","claude","ffmpeg"],"repository":{"type":"git","url":"git+https://github.com/kiyeonjeon21/reframe.git"},"description":"Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.","maintainers":[{"name":"kiyeonjeon21","email":"kiyeon.jeon.21@gmail.com"}],"readme":"# reframe\n\n**Declarative motion graphics that AI can write, humans can tweak, and the\nhuman's edits survive an AI regeneration.**\n\nA scene is a single self-contained `.ts` file (plain-data IR, no React, no\nproject scaffold). Renders are deterministic: same input, byte-identical\nframes. Human edits live in a non-destructive overlay JSON addressed by stable\nnode ids, state names, and timeline labels. Regenerate the scene with an AI and\nthe overlay reapplies; anything broken is reported loudly, never silently lost.\n\n```bash\nbrew install ffmpeg                  # system dep (or apt install ffmpeg)\nnpx playwright install chromium      # one-time browser download\nnpx reframe-video new hello          # scaffold hello.ts in this directory\nnpx reframe-video render hello.ts    # → out/hello.mp4\n```\n\n## Commands\n\n| command | what it does |\n|---|---|\n| `reframe render <scene.ts> [--overlay edits.json] [--theme brand.json] [-o out.mp4]` | deterministic mp4; `--theme` re-skins `token()` colors |\n| `reframe batch <scene.ts> <data.json\\|csv>` | one mp4 per data row (row keys are overlay addresses; a `design.<token.path>` column = one mp4 per brand) |\n| `reframe compile <scene.ts> [-o out.json] [--json]` | bundle + validate a scene to SceneIR JSON, no render (fast; no ffmpeg/chromium) |\n| `reframe frame <scene.ts> [--t <sec>] [-o out.png]` | render one frame at time `t` to a PNG (chromium only, no mux) |\n| `reframe compose <scene.ts> --overlay f... [-o out.json]` | compose overlay(s) onto a scene and emit composed SceneIR, no render |\n| `reframe manifest <scene.ts> [--json]` | dump the addressable surface (nodes, states, labels, beats) with overlay addresses |\n| `reframe lint <scene.ts> [--strict]` | flag un-addressable motion + verify the scene is a pure function of time |\n| `reframe player <scene.ts> [--overlay f]... [--edit] [-o out.html]` | bundle into one self-contained HTML player |\n| `reframe preview` | scrub/play/edit UI for scenes in the current directory; edits export as overlay JSON |\n| `reframe new <name>` | scaffold a documented starter scene |\n| `reframe guide [--directing\\|--regen\\|--html]` | print a guide (default: eDSL syntax; `--regen`: stable-address contract; etc.). Feed this to your AI |\n| `reframe skill [--path]` | print the authoring skill for an agent; `--path` prints the plugin dir to load |\n\n(Installed as both `reframe` and `reframe-video`; with npx use `npx reframe-video <cmd>`.)\n\n## Writing a scene\n\n```ts\nimport { scene, text, seq, to, wait } from \"@reframe/core\"; // or \"reframe-video\"\n\nexport default scene({\n  id: \"hello\",\n  size: { width: 1920, height: 1080 },\n  fps: 30,\n  background: \"#101014\",\n  nodes: [\n    text({ id: \"title\", x: 960, y: 540, anchor: \"center\",\n      content: \"Hello\", fontFamily: \"Inter\", fontSize: 120, fontWeight: 800, fill: \"#FFF\" }),\n  ],\n  states: {\n    hidden: { title: { opacity: 0, y: 580 } },\n    shown:  { title: { opacity: 1, y: 540 } },\n  },\n  initial: \"hidden\",\n  timeline: seq(\n    to(\"shown\", { duration: 0.6, ease: \"easeOutCubic\", label: \"enter\" }),\n    wait(2, \"hold\"),\n  ),\n});\n```\n\nThe renderer resolves `@reframe/core` itself, so a scene file needs no\n`package.json` next to it. For editor IntelliSense, `npm i -D reframe-video`\nand import from `\"reframe-video\"` (same API, both specifiers work).\n\nAudio is label-anchored (`audio: { cues: [{ at: \"enter\", sfx: \"whoosh\" }] }`)\nso sound design follows retiming and regeneration. Full syntax:\n`npx reframe-video guide`.\n\n## Backdrop (live \"liquid glass\")\n\n`backdrop: { blur, saturate, brightness }` on a rect or ellipse makes the shape\nsample what is already drawn behind it and redraw it blurred and graded inside\nits outline. The node's translucent fill is the glass tint; the stroke is the\nrim. Works in both `render` (to mp4) and `player` (live in any browser). Use a\ngradient for the tint and rim (a solid color string loses its alpha):\n\n```ts\nrect({ id: \"panel\", x: 960, y: 540, width: 480, height: 320, anchor: \"center\",\n  fill: linearGradient([\"#FFFFFF24\", \"#FFFFFF0A\"], { angle: 90 }),   // translucent tint\n  stroke: linearGradient([\"#FFFFFFE6\", \"#FFFFFF33\"], { angle: 125 }), strokeWidth: 1.5,\n  backdrop: { blur: 24, saturate: 1.4 },\n})\n```\n\nAnimate the node's position or size and the frosted area re-samples each frame.\nSee `examples/scenes/liquid-glass.ts` and `liquid-glass-nav.ts`.\n\n## Rendering to a canvas (live preview)\n\nThe same renderer that produces the mp4 is exported as a subpath for drawing\nframes to a 2D canvas in the browser, so an editor or preview can render a\nscene live and match the export. Compile once, draw any time `t`:\n\n```ts\nimport { compileScene, evaluate } from \"reframe-video\";\nimport { renderFrame, drawDisplayList } from \"reframe-video/renderer\";\n\nconst compiled = compileScene(myScene);          // myScene: SceneIR\nconst ctx = canvas.getContext(\"2d\")!;\n\nrenderFrame(ctx, compiled, t);                    // clears + paints the frame at time t\n// or drive the DisplayList yourself (you own the clear/background):\ndrawDisplayList(ctx, evaluate(compiled, t));\n```\n\nCamera, clips, track mattes, group effects, gradients, and text are handled\nexactly like the mp4 path. Images and video need registries: pass `images`\n(`{ get(src) }`) and `videos` (`{ frame(src, i) }`) returning decoded\n`CanvasImageSource`s.\n\n## Compiling source to IR in-process (server)\n\nFor a backend that has an LLM author eDSL source and needs the **SceneIR** back\n(to preview, diff, or self-correct) without rendering, the loader is exported as\na Node-only subpath:\n\n```ts\nimport { loadSceneFromCode, loadScene, SceneLoadError } from \"reframe-video/compile\";\n\nconst ir = await loadSceneFromCode(generatedSource);   // bundle + validate, no ffmpeg/chromium\n// errors are classified and sanitized (no base64 bundle dump):\ntry { await loadSceneFromCode(badSource); }\ncatch (e) { if (e instanceof SceneLoadError) console.log(e.kind, e.message); } // \"eval\" | \"bundle\" | \"validation\"\n```\n\nThe same thing on the CLI is `reframe compile … --json`.\n\n## Why this instead of generating HTML/React?\n\nOne-shot generation quality is roughly equal (we measured it). The difference\nis the second turn: reframe's output is an addressable document, so \"tweak just\nthe timing\", \"redesign it but keep my edits\", and \"render 50 personalized\nversions\" are operations, not re-prompt-and-hope. Receipts, benchmarks, and the\nfull story: https://github.com/kiyeonjeon21/reframe\n\n## Requirements\n\nNode >= 20, ffmpeg on PATH, Playwright chromium (one-time\n`npx playwright install chromium`). macOS/Linux.\n","readmeFilename":"README.md"}