{"_id":"@superhq/webmotion","_rev":"26-94673799facd73e63b95e531234d0a10","name":"@superhq/webmotion","dist-tags":{"latest":"0.18.2"},"versions":{"0.0.1":{"name":"@superhq/webmotion","version":"0.0.1","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.0.1","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"3b94511c98e47cee88270476a71cb7e8c107f4e8","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.0.1.tgz","fileCount":104,"integrity":"sha512-JpDqjNznh8+vwSws8v0BnyatOCsOnqj24of85GtyFEYeyuCvNw2wvhi+zFoqmGS2FlY1wm5AeFPUJcs3vkaYBA==","signatures":[{"sig":"MEYCIQCX8c8NWKmO4DT7q/BeKAWRFtEhLndm52PsxRvdcCgR0gIhAMw+IkoyhZS2w+TxdpuAnqENUB+ioiWCqaW/BRctI9AY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193630},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"125865dbe0eb97fb20d290d7e5d5b6ba6b9b500f","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"11.5.2","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.0.1_1784042935936_0.7306694567671734","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@superhq/webmotion","version":"0.1.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.1.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"8287473dfa96ce0230f783f0527526802ab16f5f","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.1.0.tgz","fileCount":104,"integrity":"sha512-xW1PMRKBDsjENzn7OIPxraF3qnlCs9sTek0BbKJThy4Tdplb3APwhsRNUOxR/yvlhTh19f5/YXipHeuXFZqnOA==","signatures":[{"sig":"MEUCIACjDLJhdwj72oBK8NMGyGwxlkB/q4YMFKGne8cqjva+AiEAoR/lPS7goAPmbuqG0y7ObNzTcdeuwQ25xYObbK60M0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198663},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"aa65a1ae6b18049e60519e030d20edb5eb1ba02f","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.1.0_1784046959704_0.35702343183009555","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@superhq/webmotion","version":"0.1.1","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.1.1","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"07e7a0ee1b8c84bd100e46040f1a450c64478f35","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.1.1.tgz","fileCount":104,"integrity":"sha512-aOcYMQNM+p1HrzwYM49L2EAYEXshnxJK/lQLujoAuVV9B1Gjt3U6qqTKfTWhqL26AX88OIY+Q7swIQxiERgMOQ==","signatures":[{"sig":"MEYCIQCW/ZRIC8V46wFrOkm0Hd0z3cq4w96HYgm5182V4XLqkwIhAIsYbMu2jvhKIOLexP2K7cRQzjy8OyfmLj1bzE+ZbYYt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203428},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"178a022bff32e92dadecacedacfa9d099ce707dd","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.1.1_1784048522477_0.19060634090087314","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@superhq/webmotion","version":"0.2.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.2.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"780efe7da6d89a04c96f419dad4e0ff747e5b4d8","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.2.0.tgz","fileCount":116,"integrity":"sha512-ozagzbQ8v1/dtPbQsG/8P329IR2vSYWep1pcQPwTlHDAP7fEInOig5sTMu1zRdqAc3eVLntFxTRJeuy4f+phIg==","signatures":[{"sig":"MEUCIDtzXHgimlBiuUb+E/+ADhjQekclGgc2ZaQGdaXHPBYoAiEAkRJxcvCzB8aD3g9lUrZM93fK8Ci2EpkyM+r3c1KAZNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":238133},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"df447e3fbe969d10b76b868b8c70fbbc52d617ed","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.2.0_1784053958562_0.962044603309155","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@superhq/webmotion","version":"0.3.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.3.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"688568da8c4ecbc41e4f510e3f54b564da09740e","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.3.0.tgz","fileCount":116,"integrity":"sha512-rJnzh0Pb3CTdoI/8lQV2RkE5ax26THpwQhxXlhjcOsWmr8IMrzz67pVPIq79nsFMhHMTElEn4JoWxbBkJ4Qxhg==","signatures":[{"sig":"MEUCIQDTwCwq7/YMYMYq75czHhzjvVFNp1g0GYA1USLEMgsfJAIgKGZ9AuYr4+gnrgRebOXp/oqpzrFdmMPUAt0/Ogpnh0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251797},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"7e81340843b061c5d40167d56e2e90b0d70ef808","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.3.0_1784056011637_0.016147421200884082","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@superhq/webmotion","version":"0.4.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.4.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"5ff4b0385dcb5d811b997dc98b5ad1db341b08b9","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.4.0.tgz","fileCount":120,"integrity":"sha512-Th+tNZeMRPcjpVeJqNRLusZxabTwWSwgoTBNF5mdoeqISjG+ED4Sc419p7I4W0R/XLl//lS7RRT0TnMqIZZiQQ==","signatures":[{"sig":"MEUCIQC1ERRK5MBnST37sP1CTBjRZ/kpv4LzzdeADRwP5waHdwIgfaFLLGx8VB9Y1+Y6quQMXzJ4PNXB5k0OpXv9NuP4njA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":270513},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"5e55c1789300fdb9d7998586f002362e655bdbf6","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","shiki":"^4.3.1","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.4.0_1784058179132_0.03152138875038757","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@superhq/webmotion","version":"0.5.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.5.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"81dcec91a87e70322e694eac4fba46f64072fa84","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.5.0.tgz","fileCount":120,"integrity":"sha512-plLSsGzmelyvz8GFZK956of5OlrNLAhO3XZoiY5Ranf94gfsoLTTSkjpJmXepnNmpJLFFAoS6v1guQTcZxmc0Q==","signatures":[{"sig":"MEUCIQDAeXUdTzU4budfeUUety2cOMGlzogYikrGLOLCTEs4KwIgdt7dMULMzuPYda3xhJPb0VhDlmtIcw491u9gAEGM+rY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":271025},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"b3104dfad896fd7ab4b2a5a8e85697166742306f","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","shiki":"^4.3.1","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.5.0_1784059993727_0.6791320217963839","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@superhq/webmotion","version":"0.6.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.6.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"b8d64f28c4eba0699fb6e2531eef93f4fbc64b71","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.6.0.tgz","fileCount":120,"integrity":"sha512-S4dbpgbGobROufQ4PbcNRqicWl6ATnHvkFIxDEdj3+IunNW9fMafvBMx7Y0mVc9dCFHyJ1TiYB/Q0tfJN0PeOQ==","signatures":[{"sig":"MEYCIQD6QdRwFWLwnXBEx6HGjESUQkqaOt9i2dZ1X2ZD/q2ANQIhAM5qjiW+d7cbBVttA2kMx1gg9NZF2KvPdgnfRlWxPAHu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":273453},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"70313628aaa3684723d201543b5872085628a9fc","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","shiki":"^4.3.1","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.6.0_1784060652312_0.25608595435106496","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@superhq/webmotion","version":"0.6.1","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.6.1","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"3e20d42f5d9fde5900906f1050624fd091d874e8","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.6.1.tgz","fileCount":120,"integrity":"sha512-CG66vhHEdywc0GS0Jrw0DepxtqiYG3MO6N725MRonR22tx69UY5dx0Qh/aJ3fHro2o3j14lKohXeyaVizR2KrQ==","signatures":[{"sig":"MEYCIQCIq5XzrGvPkgnlr9+lAXa8angGQe9ZLy1AmRz2TRyrAwIhAOPYfP0QrtjfCq8CYBLFPV0P3b9+s03EMMQIpU2hO1/R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274538},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"29caeee9bca5075472a7455d62734c8458957eeb","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","shiki":"^4.3.1","vitest":"^2.0.0","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^5.5.0","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.6.1_1784064504500_0.35165802593308815","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@superhq/webmotion","version":"0.7.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.7.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"0afa58938d81291f9636e2037dd6d53e011b64fc","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.7.0.tgz","fileCount":132,"integrity":"sha512-PyCs6eVUZshv+++4MglhAr0MSZJdpTsKlX40Uz//HPQp27QDRKAruRBagbeZPg/aUze5HpZXnYwD0E2akuRPAA==","signatures":[{"sig":"MEUCIHLItAw3WVmWD44W+rkD2NLXt7XLk4uZfjjn0gzT2R4cAiEAnDMADenpzVi7yHoYmZZR/tFiaswDV3BiEdhuRouTvN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345298},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"d780fb8645125c7dd38977e127dc8c6009aecb15","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.7.0_1784214566653_0.5229508655290505","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@superhq/webmotion","version":"0.7.1","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.7.1","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"7d751a1c86a9d9a54ea01a80cfb6b8917faef24a","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.7.1.tgz","fileCount":132,"integrity":"sha512-5AA7uXHMUpRlfceX6V3GZDUYP3s0M5uLYeaQqw53TBPn4ryHOIRrb7qqKilCBwyUsFuVEwRRcSy0hLZNDoyvsA==","signatures":[{"sig":"MEQCIGS2ap59mynM8h56i1vBrb0fiFqEpvpmzfsEdMeyVAPMAiANrOVhF+JY7e9xicVai9fEOnkX53HMdiUDmn7MbZrLjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345937},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"7fe14b9e848278a988cda8f3b676e135ec5bb2d3","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.7.1_1784214837554_0.433323319113716","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@superhq/webmotion","version":"0.8.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.8.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"9b40f2346ff5a150715af778ea482f11dcedc64f","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.8.0.tgz","fileCount":132,"integrity":"sha512-caQHwEKW8K4u455OtUNwk0Jxbjlo1lDhK4u9+/mDioEsFHstQGOdT06LyLjlSVZEwvAeQ8pJqKuiNKI2mGizzw==","signatures":[{"sig":"MEYCIQDzvP9CMHXlp0BoIIFIRq2QFFXvKbJLHTZo3JjOPjk9ZwIhAJYHk0cDzvYScP1W4ju7hsFLYFHtcs3EbzGLYRrRIRG3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":353851},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"154f34efdac6ec1bf2cf46b2913b511082031d5a","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.8.0_1784216001150_0.6708866378210994","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@superhq/webmotion","version":"0.8.1","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.8.1","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"1b2f6c4e087491dfbc397d638bbb540bd3671cc2","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.8.1.tgz","fileCount":132,"integrity":"sha512-4YjOgu+krubn4K3DQzEVXiOtdGsQaH75Nac3M1QRkux8cGM2hL72wCYi/f4yZ2LTfj+86EaTJJmCKKCK3wBe8g==","signatures":[{"sig":"MEQCICnwF7cbK2mR4bbXV9iDCP7fznYtO5eX1qAoIZHfBo+MAiAcM3cMVnE2XgVRGjcKVAw2YEJESXcqZ8JKfUSxAglAHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":359016},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"a04504b660c6452028a393357f9c61a7539794b6","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.8.1_1784216252302_0.6590514278524189","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@superhq/webmotion","version":"0.9.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.9.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"84b79d8480f34413be64079627f5d30c8a9ecb2c","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.9.0.tgz","fileCount":136,"integrity":"sha512-xM2oqRGSDroe8rYpUltvcipYrcRdRWgd/3m9x4Tpz+i+646V1RF7Dh66cCjequB1qSewMrLizIvYzoi0h8ucKg==","signatures":[{"sig":"MEYCIQC4onjGdULFJsui1qXDyaYa6Eag6MU7GVNjfL1PtRGqjwIhAPSpblnszK7htWnmLqGPN8T3gCWnwo9LIEDidbuMf2Ve","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395869},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"6a60fab6fdb1678d3c9efb4591ada33586c8c452","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@playwright/test":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.9.0_1784366534474_0.8466604055012481","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@superhq/webmotion","version":"0.10.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.10.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"3593b4a8f62f78aa289b6b82062da3219d101594","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.10.0.tgz","fileCount":166,"integrity":"sha512-sKVHYgyBVhAPs9W1cMgFAQFbLZPXn/psbz9OPbElINI7M/Bd5AalfZBayVOf8b8WduXS4/EI8NDLUkT77Wtksw==","signatures":[{"sig":"MEUCIQCpT3o9OXmmq7cu4m/04tkdBK5IRNb7XqZhSIBfGhMorAIgeoq74UJxbV3SanCyJ8zrGeeeYu5XrvV8kJBm8Zu/79E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1816324},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"1df37bc3726dff3a4fe871ebf364899580a763ec","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0"},"peerDependenciesMeta":{"three":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.10.0_1784370644980_0.0850831221900834","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@superhq/webmotion","version":"0.11.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.11.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"e8d48f7f3d90a81607c4d8e5d657872208b19f64","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.11.0.tgz","fileCount":186,"integrity":"sha512-pyG3n3RSq7iHmgCsO+5JXPi/kGRlVxTEvBHDVjrboQ78GJ+gwwn2OY+13dPpvW/8fmoWYhygDlz7aLDwfo25ag==","signatures":[{"sig":"MEQCIEFgaYr2XoxRW+1JcCjpAzsKwwGWJDi591Cic5Q0iJiIAiAlJVaoA52EpQMGSS/LKso8J2YLzPXUIo4hrAalSs6mQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1906782},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"060146c282072e893f44d3f4b8ce9f1d5df8a021","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0"},"peerDependenciesMeta":{"three":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.11.0_1784399287641_0.11242109729006278","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@superhq/webmotion","version":"0.12.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.12.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"9b0a37f89fbeed8d8cb48355f731b998f59be17a","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.12.0.tgz","fileCount":206,"integrity":"sha512-fNNsoUxWz8Hf9gkU5M/oVnUREZbI5cCtyKppXcgHKrUqXPdooJJoJSVZs7bG0XMxFClDxkIr3pIyVue9E4rgXA==","signatures":[{"sig":"MEUCIF9TPNhIenMV18mE8Di4VZHPIzp9PyRuUjSKm9qFVLMGAiEAlghEdsv4YuSbyfW5lCx+rFukZTTyCpGOgR6bIVOU+yQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2015964},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"319c418eeb72032348863cc7f795b9135f132af1","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.12.0_1784455777966_0.04303898677853857","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@superhq/webmotion","version":"0.13.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.13.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"7c28ccae9961a3d2ec8287e1d1c7e8cf1be60da1","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.13.0.tgz","fileCount":206,"integrity":"sha512-muN+wv0yRFnKL6az9l5rhO8m9ujjy91CoOa+7YFTtNo+reX55/DbyhKuWUrCwvv74ErKKCg2/PBcZlXZA75y6w==","signatures":[{"sig":"MEQCIAjr9yJoj5IsURDQ7JPHuT4DEggT25287S0mUfl0CF3rAiB63jWv1Lh0TRJUsjA10puEvC1nxzASZoTn2XBYmeilJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2033121},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"99001f72ac22739be965d989798a975237a47b5b","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.13.0_1784498503035_0.14166588786795398","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@superhq/webmotion","version":"0.14.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.14.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"f065487641f7144402510b95707feb93c11738a3","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.14.0.tgz","fileCount":210,"integrity":"sha512-ZB2kb/Lyozzk8a3HPOKMSj/BbdYldFVMawlzzHQr5C/ieLL8WTqkNESMcDto8V95kH0h3l97QqHbL6v0oCbo3g==","signatures":[{"sig":"MEUCIQDE4omo0OJkEAgAKLi+64cT5+8aG8GG5QPR/yeqS83DnAIgPpzpVWc0R4piDj54sFWNzb59LvseJssBAYu4IxK9i28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2042598},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"fb4058deed3cc5b00fd3b90dae6e888c247aeb23","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.14.0_1784500175166_0.3309677156872952","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@superhq/webmotion","version":"0.15.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.15.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"5c57ca720166a07a66eb0b35463bea8555cb7e96","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.15.0.tgz","fileCount":210,"integrity":"sha512-NeEYne7pW88sXcR1xNiVgnBVFpPX83ahZzTuUvAnMM66FDnoEbWaUpupnw5A/7xh6Yvcx89XWDc/W/Ij4ugn1A==","signatures":[{"sig":"MEUCIA21lnAbwA+S8m2mKazW1E8fzaTNtI9GfIl44w5BEozIAiEAjDdgN6vwagtSxTmUANEbFOzDGVfXl70LB6mZATWxhrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2053656},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"7444ab499bad606db715be244ba09cf753d84a82","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.15.0_1784500607668_0.6169904625490439","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@superhq/webmotion","version":"0.15.1","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.15.1","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"eaa1fe31c2a63b2878baf37995cdfb30590aaa27","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.15.1.tgz","fileCount":210,"integrity":"sha512-GEaGT9qiqB4rrKvSmye/KUlCKxP8UScDFvHWpzCK7/SBbfSsPkjwyZOSQhnBBtSNI8vXsgl7NhV0BBn0RSS+tA==","signatures":[{"sig":"MEUCIQDodOuLpko52QnuXDLlfJrmYcuhLHHlH5CAHiyqg6nmBQIgNDp55/wKqTd90w7lKJI6eGWpc9SIZfEA4I8OeB5AvdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2058397},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"e89bb5addedeeea5ab488b186ff622c8a49df0a8","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.15.1_1784500910136_0.32048662406513095","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@superhq/webmotion","version":"0.16.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.16.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"df61dcf2814922175d349452905390fc3dc48fca","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.16.0.tgz","fileCount":210,"integrity":"sha512-9WL0zNHQxI5sMH95CNRkD/Vqnm8/1A48Ne3g9pZ1WbfVhTxmSD9/5BaKuVsxDNdV1zWixAYMY+dZ+VxFfHa1Mw==","signatures":[{"sig":"MEUCID18QmN1at1j8aOoFjOwi8Nsv8Kn/rJTT5NGN6l1fMJWAiEAz05QJ+/7Ji0TsEMNA9GDjaP0fZQj9EilehorztfOxrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2060645},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"2cd9b76f491be8f0087ffa91e52b7017238946ac","scripts":{"demo":"npm run build && vite","test":"vitest run","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && vite build","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","shiki":"^4.3.1","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","@types/three":"^0.185.1","@playwright/test":"^1.61.1"},"peerDependencies":{"three":">=0.150.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.16.0_1784501820274_0.557921110304054","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@superhq/webmotion","version":"0.17.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.17.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"baafeab8637215b0e2985c8e6a87547fb905cff3","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.17.0.tgz","fileCount":210,"integrity":"sha512-e4JSsvkr+K421nWMMJGwjSv2bVJd5StXWfxSAHRsAD5ukeOQ8S4iOLOKtBFsFzRX+xPjxIvF+nf9eGSVtczBKA==","signatures":[{"sig":"MEQCIA/O2W9W+wJWYwjJULSovZtaPegDqmK0owAJ69An+Vm/AiAzO8tUvpnGLUtyuqr8K1tsmu4QxU/5jBhNT+jvu9lJ2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2076216},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"9831488727d5edc4dd1b30902f95a2d46fce7666","scripts":{"og":"astro build --root site && node site/scripts/shoot-og.mjs","demo":"npm run build && astro dev --root site","test":"vitest run","bench":"npm run build && vite","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && astro build --root site","test:watch":"vitest","demo:preview":"astro preview --root site"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","astro":"^7.1.3","three":"^0.185.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@playwright/test":"^1.61.1","@tailwindcss/vite":"^4.3.3"},"peerDependencies":{"three":">=0.150.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.17.0_1784816207488_0.7914921106848198","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@superhq/webmotion","version":"0.18.0","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.18.0","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"9a09571c24bb8d63863c6aa8e55fa455f5218f5f","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.18.0.tgz","fileCount":230,"integrity":"sha512-fiAff5DeLNIINkQpAmCmp7AWb03T6IFSeY3S3nlf/XBgefy3qKtYDC+E/B/uIhi4FQ+GoT1uceCWCExD4jO3fA==","signatures":[{"sig":"MEUCIE8DNhhIL+Gch2YUV5L90sUM1NFGOBmLoYrz7jio0e/iAiEAhGR7b4Bs4cVH5DZ4pV4z33kdl3L0UH48wcXcbJexbL0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2146706},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./video":{"types":"./dist/video/index.d.ts","import":"./dist/video/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"4c576c1ee9d9bcca4c94c8dc56f9b0cf61c4d87a","scripts":{"og":"astro build --root site && node site/scripts/shoot-og.mjs","demo":"npm run build && astro dev --root site","test":"vitest run","bench":"npm run build && vite","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && astro build --root site","test:watch":"vitest","demo:preview":"astro preview --root site"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","astro":"^7.1.3","three":"^0.185.1","mp4box":"^2.4.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@playwright/test":"^1.61.1","@tailwindcss/vite":"^4.3.3"},"peerDependencies":{"three":">=0.150.0","mp4box":">=2.0.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"mp4box":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.18.0_1784899854313_0.417794450537907","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@superhq/webmotion","version":"0.18.1","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"license":"MIT","_id":"@superhq/webmotion@0.18.1","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"homepage":"https://github.com/superhq-ai/webmotion#readme","bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"bin":{"webmotion":"dist/cli/index.js"},"dist":{"shasum":"ad84e605cad8fd3247504ad76c3f3ee8e7a9084d","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.18.1.tgz","fileCount":230,"integrity":"sha512-EZGRuLUOuYYQT1Z+fsywQICVDwxzv/f5zHD2zwCKmBUAvnJC2z8vFcSVT+3TpLoS99PsQJYS0yJFoA3e/Syklg==","signatures":[{"sig":"MEUCIQDV0P8eTU2ATPFyZz6W2ST5XLpjeUINqIq4gVC7hvLlNQIgSHiXeFA/yAVXrvaUMiFCXE3svwZNLZ2FQOcGmwsOeJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2149629},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./video":{"types":"./dist/video/index.d.ts","import":"./dist/video/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"574dcb5a93843a4b4fa67fc18a39d0c9d02864f6","scripts":{"og":"astro build --root site && node site/scripts/shoot-og.mjs","demo":"npm run build && astro dev --root site","test":"vitest run","bench":"npm run build && vite","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && astro build --root site","test:watch":"vitest","demo:preview":"astro preview --root site"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.1","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","astro":"^7.1.3","three":"^0.185.1","mp4box":"^2.4.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@playwright/test":"^1.61.1","@tailwindcss/vite":"^4.3.3"},"peerDependencies":{"three":">=0.150.0","mp4box":">=2.0.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"mp4box":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/webmotion_0.18.1_1784902949591_0.7281327831953144","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"_id":"@superhq/webmotion@0.18.2","bin":{"webmotion":"dist/cli/index.js"},"bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"dist":{"shasum":"872690156a5c295c82d762288e535ead3bc98703","tarball":"https://registry.npmjs.org/@superhq/webmotion/-/webmotion-0.18.2.tgz","fileCount":230,"integrity":"sha512-qIH85avxxgriHyre8OuCnTdB4v7wkMVwGOrrmtMTI4qaCZlAIHcoKX5s3dXM3wCUVyVcvm3ekmue9n6BqjDdPg==","signatures":[{"sig":"MEUCIHPpHovBJvctWmzfpmaPouZB5PPRnbqXpamukAN/d6yeAiEA79k28eWNGDeLU7hxj0rmZZVIPM7S0srqZPVxRe00Mrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQClzsVSm//6tXZwgnkCFH/gUN1+M2Slq0kEcoBbfLZivAIhAM8rtWwwwGtiwVJ9H0/Gzk4hRMKy14+4fx9mgbxdggmg"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@superhq%2fwebmotion@0.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2154706},"main":"./dist/index.js","name":"@superhq/webmotion","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./live":{"types":"./dist/live/index.d.ts","import":"./dist/live/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js"},"./video":{"types":"./dist/video/index.d.ts","import":"./dist/video/index.js"},"./elements":{"types":"./dist/elements/index.d.ts","import":"./dist/elements/index.js"},"./html-in-canvas":{"types":"./dist/html-in-canvas/index.d.ts","import":"./dist/html-in-canvas/index.js"}},"gitHead":"4c518e0f4e42e3cd97717b92601f1037cc881515","license":"MIT","scripts":{"og":"astro build --root site && node site/scripts/shoot-og.mjs","demo":"npm run build && astro dev --root site","test":"vitest run","bench":"npm run build && vite","build":"tsc -p tsconfig.json && tsc -p tsconfig.cli.json && node scripts/copy-decoders.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.cli.json --noEmit","demo:build":"npm run build && astro build --root site","test:watch":"vitest","demo:preview":"astro preview --root site"},"version":"0.18.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:793d15df-63a9-4fdd-b1dd-a5590f9804ee"}},"homepage":"https://github.com/superhq-ai/webmotion#readme","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"_npmVersion":"12.0.2","description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","directories":{},"maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"mp4-muxer":"^5.2.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","astro":"^7.1.3","three":"^0.185.1","mp4box":"^2.4.1","vitest":"^4.1.10","happy-dom":"^20.10.6","playwright":"^1.61.1","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@playwright/test":"^1.61.1","@tailwindcss/vite":"^4.3.3"},"peerDependencies":{"three":">=0.150.0","mp4box":">=2.0.0","playwright":">=1.40.0"},"peerDependenciesMeta":{"three":{"optional":true},"mp4box":{"optional":true},"playwright":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/webmotion_0.18.2_1788116806571_0.7277729611320678"}}},"time":{"created":"2026-07-14T15:28:55.734Z","modified":"2026-08-30T19:06:47.129Z","0.0.1":"2026-07-14T15:28:56.104Z","0.1.0":"2026-07-14T16:35:59.938Z","0.1.1":"2026-07-14T17:02:02.622Z","0.2.0":"2026-07-14T18:32:38.695Z","0.3.0":"2026-07-14T19:06:51.798Z","0.4.0":"2026-07-14T19:42:59.279Z","0.5.0":"2026-07-14T20:13:13.876Z","0.6.0":"2026-07-14T20:24:12.451Z","0.6.1":"2026-07-14T21:28:24.632Z","0.7.0":"2026-07-16T15:09:26.813Z","0.7.1":"2026-07-16T15:13:57.699Z","0.8.0":"2026-07-16T15:33:21.291Z","0.8.1":"2026-07-16T15:37:32.463Z","0.9.0":"2026-07-18T09:22:14.606Z","0.10.0":"2026-07-18T10:30:45.163Z","0.11.0":"2026-07-18T18:28:08.043Z","0.12.0":"2026-07-19T10:09:38.113Z","0.13.0":"2026-07-19T22:01:43.218Z","0.14.0":"2026-07-19T22:29:35.318Z","0.15.0":"2026-07-19T22:36:47.887Z","0.15.1":"2026-07-19T22:41:50.335Z","0.16.0":"2026-07-19T22:57:00.428Z","0.17.0":"2026-07-23T14:16:47.664Z","0.18.0":"2026-07-24T13:30:54.535Z","0.18.1":"2026-07-24T14:22:29.772Z","0.18.2":"2026-08-30T19:06:46.705Z"},"bugs":{"url":"https://github.com/superhq-ai/webmotion/issues"},"license":"MIT","homepage":"https://github.com/superhq-ai/webmotion#readme","keywords":["video","webcodecs","motion-graphics","remotion","composition","webgpu"],"repository":{"url":"git+https://github.com/superhq-ai/webmotion.git","type":"git"},"description":"Browser-native, deterministic video composition. A Remotion alternative built on web platform APIs.","maintainers":[{"name":"harshdoesdev","email":"harshdoesdev@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"./assets/banner.png\" alt=\"WebMotion: deterministic video composition, rendered entirely in the browser\" width=\"100%\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@superhq/webmotion\"><img src=\"https://img.shields.io/npm/v/%40superhq%2Fwebmotion?color=406eff\" alt=\"npm version\" /></a>\n  <a href=\"./LICENSE\"><img src=\"https://img.shields.io/npm/l/%40superhq%2Fwebmotion?color=9a5cff\" alt=\"license\" /></a>\n</p>\n\n**WebMotion** is a browser-native alternative to [Remotion](https://www.remotion.dev/). No headless Chrome, no FFmpeg, no render farm: compose in the DOM or on a canvas, encode with WebCodecs, and download an MP4, all client-side.\n\nIt rests on one rule: **everything visible is a pure function of the current frame.** Seeking to frame _N_ always produces the same image, whether it's the first frame rendered or the ten-thousandth, in preview or in export. That is what makes rendering seekable, cacheable, and frame-accurate without a server.\n\n## Install\n\n```bash\nnpm install @superhq/webmotion\n```\n\n## Start a project\n\nPrefer a ready-made setup? Scaffold a Vite project with a live preview, a zoomable scrub timeline (section labels and an audio lane), and one-click MP4 export:\n\n```bash\nnpx degit superhq-ai/webmotion/template my-video\ncd my-video\nnpm install\nnpm run dev\n```\n\nThen author your video in `src/scene.js` and the preview reloads as you save. See [template/README.md](./template/) for the details.\n\n## Write video in HTML\n\nImport the elements entry once and the scene is just markup:\n\n```html\n<script type=\"module\">\n  import \"@superhq/webmotion/elements\";\n</script>\n\n<w-composition width=\"1280\" height=\"720\" fps=\"30\" duration=\"150\" autoplay>\n  <w-defs>\n    <w-animation name=\"fade-up\">\n      <w-animate property=\"opacity\" from=\"0\"  to=\"1\" start=\"0\" end=\"18\" easing=\"easeOutCubic\"></w-animate>\n      <w-animate property=\"y\"       from=\"40\" to=\"0\" start=\"0\" end=\"18\" easing=\"easeOutCubic\"></w-animate>\n    </w-animation>\n  </w-defs>\n\n  <w-rect x=\"0\" y=\"0\" width=\"1280\" height=\"720\" fill=\"#0d101b\"></w-rect>\n\n  <w-sequence from=\"12\">\n    <w-text motion=\"fade-up\" x=\"0\" y=\"250\" width=\"1280\" align=\"center\"\n            font=\"700 96px system-ui\" color=\"#f5f6f8\">Author in HTML.</w-text>\n  </w-sequence>\n</w-composition>\n```\n\nA `<w-sequence from duration>` shifts the frame origin for its subtree; a `<w-animate>` is one tween of one property over a frame window, pure function of the local frame, so the live preview and the exported video are pixel-for-pixel the same scene. Tweens can be written inline as children for one-offs, or defined once in `<w-defs>` and applied by name with `motion=\"...\"`, class-like. The full rules (scoping, ordering, staggering through sequences) are in the [motion spec](./docs/MOTION.md). Repetition is declarative too: `<w-for>` stamps templated children from `<w-data>` JSON with `{path + arithmetic}` placeholders ([template spec](./docs/TEMPLATE.md)); sound is `<w-audio>` on the same timeline ([audio spec](./docs/AUDIO.md)); cuts and dissolves between scenes are one element, `<w-transition>`, a frame-pure dither, wipe, or iris plate that stays cheap at export ([transitions](./docs/TRANSITIONS.md)). For previewing there is a standard transport, `<w-player>`: wrap the composition and get play controls, a zoomable scrub timeline with chapter labels from `<w-sequence label>` and an audio lane, volume and mute, fullscreen, and keyboard control ([player spec](./docs/PLAYER.md)).\n\nThe element drives itself:\n\n```js\nconst comp = document.querySelector(\"w-composition\");\ncomp.play();\ncomp.seek(42); // deterministic: always the exact same image\nconst blob = await comp.export(); // MP4, encoded in the browser\n```\n\n## Or write video in TypeScript\n\nThe programmatic API underneath is a small component contract: `renderFrame` receives a frame index and draws.\n\n```ts\nimport { Composition, Runtime, Layer, Sequence, CanvasRenderer, interpolate, Easing } from \"@superhq/webmotion\";\n\nconst composition = new Composition({ width: 1280, height: 720, fps: 30, durationInFrames: 180 });\n\nclass Title {\n  mount() {}\n  renderFrame({ ctx, frame, width, height }) {\n    ctx.globalAlpha = interpolate(frame, [0, 20], [0, 1], { easing: Easing.easeOutCubic, extrapolateRight: \"clamp\" });\n    ctx.fillStyle = \"#fff\";\n    ctx.font = \"600 84px system-ui\";\n    ctx.textAlign = \"center\";\n    ctx.fillText(\"WebMotion\", width / 2, height / 2);\n  }\n  destroy() {}\n}\n\nconst runtime = new Runtime({\n  composition,\n  renderer: new CanvasRenderer(1280, 720, { canvas }),\n  layers: [new Layer({ component: new Title(), sequence: new Sequence({ from: 20 }) })],\n});\n\nawait runtime.renderFrame(30); // draws exactly frame 30, every time\n```\n\nPrefer real DOM over canvas drawing? The `@superhq/webmotion/html-in-canvas` backend renders live HTML and rasterizes it per frame. It is named after, and tracks, the [WICG html-in-canvas proposal](https://github.com/WICG/html-in-canvas): today a foreignObject rasterizer stands in as the polyfill, and the native APIs take over when browsers ship them. See the [architecture notes](./docs/ARCHITECTURE.md) for that and everything else.\n\nNeed 3D? Install `three` and import `@superhq/webmotion/three` to get `<w-model>`: an animated glTF entity whose clips run on the frame clock, composited with everything above and exported deterministically. See [THREE.md](./docs/THREE.md).\n\nGot raw footage? Install `mp4box` and import `@superhq/webmotion/video` to get `<w-video>`: a video clip decoded frame-exact with WebCodecs, drawn on a live canvas, with its audio folded into the export mix. See [VIDEO.md](./docs/VIDEO.md).\n\n## The site\n\n**Live: [webmotion.superhq.ai](https://webmotion.superhq.ai/)** - the hero there is a live\ncomposition you can scrub frame by frame and export to MP4 in the page.\n\nRun it locally:\n\n```bash\ngit clone https://github.com/superhq-ai/webmotion && cd webmotion\nnpm install\nnpm run demo\n```\n\nThe site is an Astro + Tailwind project in [`site/`](./site); `npm run demo:build` writes the\nstatic build to `site/dist`. Its scenes live in [`site/src/scenes/`](./site/src/scenes) and its\nassets are generated by the scripts in [`scripts/`](./scripts). `npm run bench` serves the\nrasterizer bench in [`examples/`](./examples), a dev harness for measuring the html-in-canvas\npath. Export needs a Chromium-based browser (WebCodecs H.264 and `OffscreenCanvas`).\n\n## AI skill\n\n`skills/webmotion/` is an installable agent skill that teaches AI coding agents to author WebMotion scenes: the element reference, motion rules, styling guidance, export wiring, and launch-film recipes with pacing craft.\n\nInstall with the [skills CLI](https://github.com/vercel-labs/skills) (works with Claude Code, Cursor, Copilot, and 15+ other agents):\n\n```bash\nnpx skills add superhq-ai/webmotion\n```\n\nOr copy the folder directly for Claude Code:\n\n```bash\nnpx -y degit superhq-ai/webmotion/skills/webmotion ~/.claude/skills/webmotion\n```\n\nThen ask for a video (\"make me a 10 second launch film for X\") and the agent knows the format.\n\n## Look at a scene without opening a browser\n\nAn agent writing a video is working blind: it can author 240 frames of timing and never see a pixel. The `webmotion` command closes that loop.\n\n```bash\nnpx webmotion shoot          # PNGs of the key frames, into .webmotion/shots\nnpx webmotion lint           # what is mechanically wrong with the scene\n```\n\nBoth take a scene entry and fall back to `src/scene.js`, `scene.js`, or `index.html` in the working directory. Either the starter's `config` + `scene` module or a plain HTML page holding a `<w-composition>` works.\n\n`shoot` picks its frames from the scene's own structure: the first frame, the last, and the start, middle, and end of every labelled `<w-sequence>`. Override with `--frames 0,45,120`.\n\n`lint` reports what a contact sheet is worst at showing: two tweens fighting over one property, text overflowing its box, an entity that never makes it into the frame, an asset that will export as a hole, a font stack that resolves to nothing, a labelled beat where nothing moves. It exits non-zero when it finds an error, so it works in CI as well as in a loop.\n\nBoth drive a real browser through Playwright, using your installed Chrome when there is one:\n\n```bash\nnpm install --save-dev playwright\n```\n\nEvery rule, what it means, and how to fix it: [CLI.md](./docs/CLI.md).\n\n## Agent plugin\n\nThe same thing, packaged as a plugin with commands: `/webmotion:create-video` writes a video from a brief and checks the frames, `/webmotion:review-scene` critiques an existing one, `/webmotion:edit-scene` makes a targeted change and verifies it.\n\n```bash\n# Claude Code\nclaude plugin marketplace add superhq-ai/webmotion\nclaude plugin install webmotion@webmotion\n\n# Codex\ncodex plugin marketplace add superhq-ai/webmotion\ncodex plugin add webmotion@webmotion\n```\n\nOne package serves both: Codex reads the same `.claude-plugin/plugin.json`.\n\n## Development\n\n```bash\nnpm test           # unit tests (Node, no browser needed)\nnpm run typecheck\nnpm run build      # tsc -> dist/\n```\n\n## License\n\n[MIT](./LICENSE). The HTML rasterizer is a derivative of MIT-licensed work by [repalash](https://github.com/repalash); see [CREDITS](./src/html-in-canvas/CREDITS.md).\n","readmeFilename":"README.md"}