{"_id":"screengraft","_rev":"68-78a51189987f57effb57b1b99818702e","name":"screengraft","dist-tags":{"latest":"0.68.0"},"versions":{"0.13.1":{"name":"screengraft","version":"0.13.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk"},"license":"MIT","_id":"screengraft@0.13.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues"},"os":["darwin","linux"],"bin":{"screengraft":"bin/screengraft.js"},"dist":{"shasum":"d64c7d6d1b52b36a547becd7bc2fbc06f5811ea3","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.13.1.tgz","fileCount":18,"integrity":"sha512-IA5GsERyKlw+nDMz0H8PQgc/wHtptK6Lnj0QYGRdiqaAwbBNIerVsMdwXKFkurACYcA2kWpVj3dpJ4+t3gT6tA==","signatures":[{"sig":"MEQCICOF4/txvwGPk6vHNnx6weXf5WNxeBeuPkofF6FsVCPmAiB387mxxXJQOrYhT8wd4LeSDx/JyofLVkEWgXsvsKf2iQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246243},"type":"commonjs","engines":{"node":">=18"},"gitHead":"6e742575104a40fd9a231085cd4a70df1e9f7bce","scripts":{"start":"node bin/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.13.1_1788645768878_0.6768190688017177","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"screengraft","version":"0.17.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk"},"license":"MIT","_id":"screengraft@0.17.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues"},"os":["darwin","linux"],"bin":{"screengraft":"bin/screengraft.js"},"dist":{"shasum":"3f92b209c8890964587acd803f9c7537ac522ca5","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.17.0.tgz","fileCount":18,"integrity":"sha512-PwIgj0UbTWQBzbcNs9TRLigofeg8K3eQSlMwac9zEOKOiAOGWH9+tKtHUcPPcggal1owj0JJmE4UAiVFZrcecw==","signatures":[{"sig":"MEUCIH6GesFsVzN0s8z2crpHW6Eb8aB2Pbm8BvU0eV/dC0aPAiEA9fkSsqzDVw4z84QUO3rZubcJ80F9VhlLykBkj2GYWiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262668},"type":"commonjs","engines":{"node":">=18"},"gitHead":"5c778aa843eaa29872e418f9315b2ea3a90485bf","scripts":{"start":"node bin/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.17.0_1788811501871_0.5917225328650559","host":"s3://npm-registry-packages-npm-production"}},"0.20.4":{"name":"screengraft","version":"0.20.4","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk"},"license":"MIT","_id":"screengraft@0.20.4","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues"},"os":["darwin","linux"],"bin":{"screengraft":"bin/screengraft.js"},"dist":{"shasum":"50bacf1a099b917f6b2b451daac03389eb8bfc65","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.20.4.tgz","fileCount":18,"integrity":"sha512-Pd43oWMCJB6W5csKk/6bUMhpnTAGR6ZfWMipPEXhZE9erd3xAyKx2bAJA4fnHGm4W8r8cm247oAW4TROj27UuA==","signatures":[{"sig":"MEYCIQCNu1NUd1qeFGDGJT2GhTlnPz4sAZOrDEiTq9cM+uIdmwIhAL6KnkKqLdCdD6EFWoJqxmtbl7xYoUYbe6nu4H2lGQrv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292423},"type":"commonjs","engines":{"node":">=18"},"gitHead":"9f969d0bfc6c6f88fae9f4117037897304c9aa7c","scripts":{"start":"node bin/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.20.4_1788869230811_0.9687906280304774","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"screengraft","version":"0.21.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk"},"license":"MIT","_id":"screengraft@0.21.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues"},"os":["darwin","linux"],"bin":{"screengraft":"bin/screengraft.js"},"dist":{"shasum":"2c4901fe142fb71d5b8d3a4ff4067e804ab180bb","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.21.0.tgz","fileCount":18,"integrity":"sha512-aAxy7RIFnzWuiYxnywziVxEIec+Uuggx+jbirT7VmphoxBKbiF9vP0g9J5xXXHaEkTdJTIea5g4nKzAp78QbAw==","signatures":[{"sig":"MEUCIBmhJhpWRvT38klbnxzFHVISsBjxg2sHd+kzFwRdhSU+AiEAqT+XnY6fPxQE4CaQioNoyyqMPlD/zbHkInz3wz/8nL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300119},"type":"commonjs","engines":{"node":">=18"},"gitHead":"5519874789f431bd5f78c188289e92a7f6d8750b","scripts":{"start":"node bin/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.21.0_1788973714968_0.2356574663783393","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"screengraft","version":"0.21.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.21.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"bin/screengraft.js"},"dist":{"shasum":"15ca06b1b44b32ca4dc6031815d2c524d33d3b36","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.21.1.tgz","fileCount":18,"integrity":"sha512-hMVbRmKWjfchM6SzfTGSULtBWmjNXO6bUDE/UKT9HqmWVM1ocxCVnFvl3WVamVHyH6NfOQLeSopkywVq7M7V1w==","signatures":[{"sig":"MEYCIQDsiovtVqJeJQIA78dkjf07Ph/zz2Tkvlex69z1Gu0DLgIhALjeSHsTSLSD1qDiW2hw5x5r46QV/7uVKgpbNsnMXDWJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303002},"type":"commonjs","engines":{"node":">=18"},"gitHead":"40f66fb62acfe65370e942b21e175a92956f5443","scripts":{"start":"node bin/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.21.1_1788982471679_0.236395664376849","host":"s3://npm-registry-packages-npm-production"}},"0.24.1":{"name":"screengraft","version":"0.24.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.24.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"bin/screengraft.js"},"dist":{"shasum":"a7e896d26af9c23b5e98207b6d1108620456a8a2","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.24.1.tgz","fileCount":18,"integrity":"sha512-4PqfrdExkMY8M1mKmZf6FONQ2F8Il21y4+aiNs0Mbqd8zYHlxw+7Y3I/JGeIsu8Qp4iCn/ezCR2R1EZaaeXO1w==","signatures":[{"sig":"MEYCIQClqDKEpBaCrwhFhONHguBqBM0gPoG9LBW0/Yy6rftETwIhAOQlZ3hGWD11pQ/qphKydtwOsJFJD1F0jetTGKkX37ju","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332617},"type":"commonjs","engines":{"node":">=18"},"gitHead":"03588aa92468980444e3cbb8623ee70c35d8953f","scripts":{"start":"node bin/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.24.1_1789032391485_0.9646263914999063","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"screengraft","version":"0.25.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.25.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"90cf24be2688401b3556f96b5b84dda7c93fa75b","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.25.1.tgz","fileCount":18,"integrity":"sha512-8bpmaUOCBj0jgO5NU4T7i62u/+Nt5LhuS5bw3GeoVihjjEnvBPdOTQ2mC+7mzo4D502GYrs7rdMoJEHjrrZ97A==","signatures":[{"sig":"MEQCIHGnI56BUMbvo9OHSFxKS/eM0HOe+U6DVMW5nDjc49OjAiB3YKOY5A/BGduEKAs6LFhF5TQesl3E2l4ZtzjmfYaeOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335170},"type":"commonjs","engines":{"node":">=18"},"gitHead":"260113dc7cb5099237031a2e0c8f9d17da923c50","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.25.1_1789056040330_0.9212418558873612","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"screengraft","version":"0.25.2","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.25.2","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"5b3991b8c6c9f7a1f3e94f7d6c5d0462400e0a11","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.25.2.tgz","fileCount":18,"integrity":"sha512-V0P0rHAqdCKjM9W/H9KCrYgmJKHCl3Yr20jXz1xwUhAGAN1gNMP3bdecKhsYoFandM7Xw5URtV8m2IigRqPsXg==","signatures":[{"sig":"MEUCIChbDCXmLJ+Xegw4FLeczq3yF6m3LTERqVR2ko3OEGVgAiEAlUtMorHpOI4lfEXoX032aFHB3SDDje6IIMjT6nhBUFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":339098},"type":"commonjs","engines":{"node":">=18"},"gitHead":"86e7a15a727fbc26653be6b28cdb88437a33e40e","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.25.2_1789058619893_0.1168130895988222","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"screengraft","version":"0.37.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.37.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"09d37681549e5bc3e8937bae67a9ebe764ac3b23","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.37.0.tgz","fileCount":20,"integrity":"sha512-ohUP06Be4V1wK/2nnwR1EILuBvfcsjZdeX4u/gICb9hMj0ivmw5n/EEs/A4dLWC+wgBkdRE0bvq57xg4SxcocA==","signatures":[{"sig":"MEUCIC999UgXS/sCic1AkC4CPvnRjsqNzOogOtZlRKvLIiC2AiEAuFxOSxTJiLqSR4molGasmjVrVP9d1Ys5syK0wOigAgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFjMaoJONclmMosMWT+v3xgIeauqPLP80oqEypVJcCsRAiAulVPRmqPn8zlyciR0hMrsFSHbN3BxAhWS4LMaQuZKIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435095},"type":"commonjs","engines":{"node":">=18"},"gitHead":"4e49e96ffcd8f22ad35c7fe997078a263b6f8638","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"seq000","email":"papilla77.stirrer@icloud.com"},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"11.11.1","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"25.8.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.37.0_1789154768069_0.03850057639850979","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"screengraft","version":"0.38.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.38.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"556b6cc012f5081e67e8eafa202205eef83254b4","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.38.0.tgz","fileCount":20,"integrity":"sha512-ysnO1Sce+oyRdyZ9HTvQEMyTj82WjGUExGL1BJz2Ra0JrAYE9Rwax2IhQRvqlR9qTe0enMQmrOQ/PrUjBtPOVA==","signatures":[{"sig":"MEUCIQDy9kE3X7t02ETqYlLNinaCabqAx/qBvX3Os7VArBD6ggIgXsLI1D4rHDjqYkK5fZJ409U0DkpCPn5ZT+AhZF/jQ9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICtpU8dxApzav99kNB5Qakg+0/nIZLyozInq0xh/MTqfAiBydF26mPneQsEYgZFbBbZaU2JU8OacrdpuJ/MWRByePw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.38.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":438200},"type":"commonjs","engines":{"node":">=18"},"gitHead":"0d2f117a94ca3aedc54891a9747e9d51dccafa33","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.38.0_1789157528983_0.6908776798868588","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"screengraft","version":"0.39.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.39.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"f5867b2ed7b0c3ee7bde081677e5d4ce3d5c97cf","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.39.0.tgz","fileCount":20,"integrity":"sha512-YGQsaEyJGnGf5VME2sQ0vGP/yvq3AEFJ5Lyeh83Hi85YRc+JS6eMMLQAsPsyr+tD3PlZBCaM0t1L7BWK/PDAAw==","signatures":[{"sig":"MEUCIQC7RDdqBPavpqDGbK/jzFRafrd/Q2FepyXFiRdxrmKEagIgH8H0A+TiP18grcUDNmHHsMYw8c/E0Ieuf05Lesu6nGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIALulUfCRyHkvWubhfUOqK3JxTuXH3piZVKECJsc8+llAiA2321A1jQWabFpAz+y7WNZYw/Grh0w7ijzLH3fQjDHFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.39.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":440432},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f325583c56e24c84e1e4800d3bcffc8162c89834","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.39.0_1789158142815_0.7796802477704037","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"screengraft","version":"0.40.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.40.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"6e2397a81a10f6b1717f3e4ee10de232aa5cfc4f","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.40.0.tgz","fileCount":20,"integrity":"sha512-5TVkYImqlrh/9A95Wy6BBPB0mgx9PFoAWeOw/WUnxhCvjwfioxyIhjBtwMsyvUuLGvkh+a33P80dIeKRuZSCig==","signatures":[{"sig":"MEQCIElt5TX914cWzy1GSIj+lmu4mOUJZLFhTSSDCoZpXKKpAiA+T9afeHjUZYtKRtZX1QvIfSIVZMBbJ7nfS8x9lyqksA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDoTlF6XN3bj+hCWSt9pa5uxVUjgvZ4neFTsslaqAnFNwIhAOaM5GLTVbjtFk1sBlrvE38whwfYmgWIVOirMxvETOId","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.40.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":441656},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f4bcf911f57159f4ebfd18f503f47b23db5ff655","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.40.0_1789158691580_0.2389058024381343","host":"s3://npm-registry-packages-npm-production"}},"0.41.0":{"name":"screengraft","version":"0.41.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.41.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"d34e44cb0081a9fbe277e7de0f914f7ab2f6e523","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.41.0.tgz","fileCount":20,"integrity":"sha512-Zolj5PdPTa3GoDym7/bEbU9bf0QyVrvZX/ZFfrOUkNxKKu5omfdDirzbGAAZscTk0O+Hq0K+8aIQDqRwsgAQNA==","signatures":[{"sig":"MEUCIH6+gWanyaD2WpS5huM22A/dLUw2sAT6dath+wBYfHDrAiEAx0ctVTnDOhFqrqQMlATp2Tlr01ULmB+hcVjqLvTuCVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCT+IiMpHew/45LZ/frJpkFMRszDlA/VuZNgjVvzgG5BgIgeIjO7JJwgo1I0h0PphpWrO/R2NbDbT/KDvU+zGNfGWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.41.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445953},"type":"commonjs","engines":{"node":">=18"},"gitHead":"65317da18a9a9d78944c375ca90c405efe04674f","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.41.0_1789159389510_0.7044838908892179","host":"s3://npm-registry-packages-npm-production"}},"0.41.1":{"name":"screengraft","version":"0.41.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.41.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"4577187c0b1db9cd9647218fdc8c6f2699a079a6","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.41.1.tgz","fileCount":20,"integrity":"sha512-vjfggqVTaBpPBdmilcEWbqmamyraxuFfwP6CErAfpE+QeG7yCrJSnnma8kpmP1KzCUdhnTY1PsZReUvdTvIeRA==","signatures":[{"sig":"MEUCIQDVdBR0U7Q0FnBmomsn/UbkqLUuYt0XwxH8VjzZX62f/wIgXt5tC83bqt5DkMZlLaOARvX6wx1KEWH9S2bCXsgF66A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC7Iodpl2ml1yYCuHE7lWqJaNs6nb7iKB6Wx8EtwkXS1QIhALdUpPSrDBVD/04PCBlzR1L8LdNt2E8oik+SPMv4X+Rr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.41.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447074},"type":"commonjs","engines":{"node":">=18"},"gitHead":"2297f64e619908f70195a48df9676036e17a3d35","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.41.1_1789159614991_0.9362512907169891","host":"s3://npm-registry-packages-npm-production"}},"0.42.0":{"name":"screengraft","version":"0.42.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.42.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"70d0c360dccc4f9813fe9f31f187ae8092ef083f","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.42.0.tgz","fileCount":20,"integrity":"sha512-wM9yT6Lln68nYxLB6LBUQY0M9auLqnb4Q4UUTq17hsgZ+hjHKVmz/6dvY1aCfNkQk9YKp66GKrn5h5J8aYlcOw==","signatures":[{"sig":"MEUCIFtmiwiOSxG7YsXWEI9wh5ytMeOXfixhbaClQU+FSfIzAiEAr8ny/473kdbFgcPq2qpVz1imR+lRzSgrTOVIwBWV6WM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCNHkSDDJQueMyAhSz8ytt5fTLPOio+6oXSIWRDZi4O/QIhAK1Lw4cm+vZFLpmHQJ/UQK+muWI7LAt6DJsfdXP/cujE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.42.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":449754},"type":"commonjs","engines":{"node":">=18"},"gitHead":"60e67e1056fffb538a6060ad9c994fa5daca44c9","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.42.0_1789163920602_0.11838267278990133","host":"s3://npm-registry-packages-npm-production"}},"0.43.0":{"name":"screengraft","version":"0.43.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.43.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"52d15388abf550ab7ede8cfdfd31c9ffcb9c82c4","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.43.0.tgz","fileCount":20,"integrity":"sha512-olVzhhDeRnnBI+ESw16gndnPzTXlEbGUgzDemjWT1P8AIgkOzrky0Xe4s7+x3FtoeD3p9aXmR8YNqAmuFA4ssA==","signatures":[{"sig":"MEQCIC3PxSwHeW/prkWR8NX7IaPUKGDcfSufRMGhKodtuxL5AiAPuzV6Wey20STLHbx40Qfgwabbpf+T9oiPdTb6T0F6pA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFN8yvB2JqKT1nPrxToUO3pqHVfUf9/I+czjgD22PFbYAiB8E+RbgXLKul8DXT3S/6RHSA4z7tElTdoION0f3PWsIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.43.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451932},"type":"commonjs","engines":{"node":">=18"},"gitHead":"da7dd81b7c0a40e450519c05cd793a626e0c6d04","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.43.0_1789165294612_0.4467625562337556","host":"s3://npm-registry-packages-npm-production"}},"0.44.0":{"name":"screengraft","version":"0.44.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.44.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"13ba2b5794cfad89b822d22827bd2a3192d47eb1","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.44.0.tgz","fileCount":20,"integrity":"sha512-e73YqBEmr24/6rV6y9WCxNVfOEPMO56HQfXNLvzbCF3dCk1oa8LZdIN/2lpaHsC5mgDVsq++PBmqrfkGe4ZMiQ==","signatures":[{"sig":"MEUCIHlVBOBqci4oQe+5WmMbOLh+0sUGVCK62iphMyaoQDldAiEA/0mEEUr5awqsQsv3wZcHUals7GqhexzB4Tuda64WwE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGaUHaCCxuZYM+ZhPcSUtacSkI83YmJZFEuP2o/rk+v2AiEA0ovGv1Lgmcn0Cupf8p6UnXkwpY85A38MPc1rMPrlQdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.44.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454728},"type":"commonjs","engines":{"node":">=18"},"gitHead":"c9003953cedf013ad73e80d72f98d7afd1a2e2ef","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.44.0_1789168324565_0.3806138321050072","host":"s3://npm-registry-packages-npm-production"}},"0.45.0":{"name":"screengraft","version":"0.45.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.45.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"a0223dca007cbfd7d694701e0da7af894a6b1114","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.45.0.tgz","fileCount":20,"integrity":"sha512-xz11W3G4AeEDks8pe7IFLTyvTrEh+wy8c6OyRHYQ4hPi9u5mlKUBRtP2khijuf739hOqYccI8X1zvGFeofMiMg==","signatures":[{"sig":"MEQCIHJGdVddUi/WgUeocAq4PL/oAO23ykXvA9ONhWoMKGwLAiApo8dfVC5cP+82pqnZylS5RYRqudxaQlbSYPLjbWMgyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFxxok4qP2qusOpQp1rPwe0q+vq+3hza/iNj9ODwoNvOAiEA3kBia7+N8nGx4xJxpr6owlS3ZtK0GfCG5sMDOPEElmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.45.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":456029},"type":"commonjs","engines":{"node":">=18"},"gitHead":"d8b5415324e2b1042bf3a8d2919bff2c693261f6","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.45.0_1789201049727_0.42857416495969525","host":"s3://npm-registry-packages-npm-production"}},"0.46.0":{"name":"screengraft","version":"0.46.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.46.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"4a61bccdcda5f510a5979d3ca456287dfd7f66d6","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.46.0.tgz","fileCount":20,"integrity":"sha512-GBDft4bKTW82O4ybIIiwJ0PwCor4lH/rOLpMgKqQ07n0q9yvaGqFCzAaz3h2FwWTCfbr6mrbrKpzl3Fz4qPNFQ==","signatures":[{"sig":"MEQCIBUk8UUS9d6NVhOO8J9nzuaIgTEecAn13ZX9xxXwZTcqAiB7ssip+q7ZSwfbsrvkk0zL5PtpvFkxoie2KGXVJywP8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC5uGM/UTbnM8RWc5fDevILAFeNKjbUNLoLY7n/dtHxegIgHr/fKCAOwcS9K0JX79muclW+sEzQBwMXdu63g3mCxSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.46.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":460063},"type":"commonjs","engines":{"node":">=18"},"gitHead":"aba7fe45eb4e4a5308f2ac549783ec162768d05b","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.46.0_1789203157911_0.6406205652727917","host":"s3://npm-registry-packages-npm-production"}},"0.47.0":{"name":"screengraft","version":"0.47.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.47.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"173745bc7ae24be02e65c512b9dbce3d2bad5881","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.47.0.tgz","fileCount":20,"integrity":"sha512-rkOZNdkzVRgdTZEKxw0Vs3av3b3f6hngjz29eTGxokvekzTPM9cP0Dcw2UrIQtbBXWvrqt2OKc02cVAJjHodAQ==","signatures":[{"sig":"MEUCIFygioHgThcH5YjNJ1nWXDWW7k1lyjhMP9Yx0m0NZ3MyAiEA8EVWXC/N3Dvu8q0dTjSZ6Oi17trRh0YOL+jQWSz2msM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD7g7A4bF4N9Sem4Zpb6FhU0TNtoMoTqJR2URR0ko5S1QIhAPNJmN1FlgmD8oE+6srGjhGJr50NUplQbCzvy6Wi2Oa5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.47.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461112},"type":"commonjs","engines":{"node":">=18"},"gitHead":"5d9d5839d5f042915fcd677479a30e7fde2f9773","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.47.0_1789204779934_0.9633812871021636","host":"s3://npm-registry-packages-npm-production"}},"0.48.0":{"name":"screengraft","version":"0.48.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.48.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"b9118bb8d6ea55a40dccccaf35c31e0a2969a478","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.48.0.tgz","fileCount":20,"integrity":"sha512-a+Zi1PCmqbA6npDg2MF9LGM3oeB1boxXYeIO4RHSj0V7lydYS4YWw6xPJeQay8IsaNvLqZXue88WqtstqvbHDg==","signatures":[{"sig":"MEQCIB5hv3vBr67EVa/aovU9ij7WOe1EJZpMB1Kj9hSryGiqAiByKactnWDUAuziVh8mzjO7g7tSeovW67wxHmsjnigVww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCW6B0ozTBwbJndmbzZ7Q+FmwB3OV3AKFHXnCsKx5aSpAIgcoDpxkkdhkoticx5V4suhqKfy3/uJKlkMrzqbSTnOdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.48.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":465070},"type":"commonjs","engines":{"node":">=18"},"gitHead":"336a506eaef7efa2aefed5ec35082272bad27451","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.48.0_1789209335017_0.829310422015326","host":"s3://npm-registry-packages-npm-production"}},"0.49.0":{"name":"screengraft","version":"0.49.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.49.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"b631f9b6022e394db3281b7a239f3d02ddb3cb30","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.49.0.tgz","fileCount":21,"integrity":"sha512-dCIGQGozg6wJJDJIIQEoB7/62HPX5KbCS5H08NcBGRwbeIwmm6QkGlo5AQcun4S9Yjv6LII9u9LeDYxknYkjtw==","signatures":[{"sig":"MEUCIGYVZKvY9DSSQ3Ntw3k66g3nbTTig/L1QPPeZg0bNi61AiEAuvLg5+h/Fz+FRaJADX5a3SPi5eLodb8p63Crn4+Hsig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSv/eq90eqGKRHdy+G0914FV3DpA7okgWd77JX904UsAIgCYp+L2w9N9/Xm7v6+a5d9aHb1TrL5Plj3qB3ZxytOXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.49.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":468413},"type":"commonjs","engines":{"node":">=18"},"gitHead":"1e8153a8e1c3e6fcc02d827f992d8779f7739a8a","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.49.0_1789210230432_0.9897686521010947","host":"s3://npm-registry-packages-npm-production"}},"0.50.0":{"name":"screengraft","version":"0.50.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.50.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"94f14aed570813b4113f2d47e03b091f3c0a0bf3","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.50.0.tgz","fileCount":21,"integrity":"sha512-Li8+SGmc43FZJF07XMOUiWFaZfv5WDJyRSV39zNSLjw4nTf56PY+BXV2ZV2WxVnesiWUSWb6CnJuiZ+oNRVKcA==","signatures":[{"sig":"MEYCIQDaJJfrFW08f64nPlUL3Wmte1pMHhEzxrt2QTPU4O4KIQIhAOQ94tg9iU9wjjd6sGxLF27CtULk6eNhXXPDh2Cv1NAx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4K7ca/XEfsSF86UV3VXAMwYAZyeQvExcnpsAMys0HRwIhANvXRRNRFSay3EBjT6Q3aDfKM3zD4JgN7iikwQjMdk34","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.50.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":472072},"type":"commonjs","engines":{"node":">=18"},"gitHead":"355ca21390599def8e9f1fb3da22d03bcb66225b","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.50.0_1789210901170_0.40683593684271524","host":"s3://npm-registry-packages-npm-production"}},"0.51.0":{"name":"screengraft","version":"0.51.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.51.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"03466236111c975ceff22ed8247254e1af8d4583","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.51.0.tgz","fileCount":22,"integrity":"sha512-hlG+EOXVy000QBh2v48BnwMo2C7NtdDMcHjD1K+dgt2IkrB4MgdMMhWGMyLWjujXJ+b5W8mtudxxW2HUYYhJkw==","signatures":[{"sig":"MEUCIBUtsmlNDIzB1UJqWSNqse9uu5Ir2mSkhRDEegPApzrKAiEAsc3tIIhi0jNIfiwiKGGAWRR+vVRtk0m2YaKcb8w9lzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAXd6o1/pbGK0PZfZgrUk4JRvCYq4Xyn/xV82dKds4DBAiBpHdjVp1N51i/GVzo70H8kcYbU84az/MDJgg1ezax+tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.51.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":498425},"type":"commonjs","engines":{"node":">=18"},"gitHead":"7e820b69aab2cbc370adf03438f420b4124bea0f","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.51.0_1789250921331_0.7914657465976884","host":"s3://npm-registry-packages-npm-production"}},"0.52.0":{"name":"screengraft","version":"0.52.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.52.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"fd93eff3c346a707db66ec888b8b15729835454f","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.52.0.tgz","fileCount":22,"integrity":"sha512-5uUcpj4XbaEcmX41YwB1D6Ke11mrjtpnk1yX+8dORhJtbvrytWG99VMlbss7JmNxCDwgOgE7vS6I6KXkY5ikcA==","signatures":[{"sig":"MEQCIFDJljJ+Rco1ePWaGWcEZub0epn9+iF4Qe30gQe9g+YUAiBgZbQ+YUvw7jOTWNGwgi6/YVEk5gQz5oHA8S5RYMQmAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHl9iE0G9oC8Wmm+SchbCcwLy25bRSgw9mYde4t5agPSAiBOmAMWrdV3w3EbWPaUPdvjts0E9VzbbT/XJvfAcOSmfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.52.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":508056},"type":"commonjs","engines":{"node":">=18"},"gitHead":"ad8b202e22fd92e1a7f30bf57cde95bbe5cbfd5f","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.52.0_1789252442969_0.6082611429584521","host":"s3://npm-registry-packages-npm-production"}},"0.53.0":{"name":"screengraft","version":"0.53.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.53.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"5f8f2532134670ca4e7ffdfb6c5964de0964e731","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.53.0.tgz","fileCount":22,"integrity":"sha512-+JZq8KgIczze+FL3Xpxre/0OBZ2WP2ES8bRlr6DZhIMIzb+oe3z1fryr0k4G27to1TCMnmX5Ms2nmh6yegGZxw==","signatures":[{"sig":"MEUCIE6uKGF5nJyebPi3xdkG527KsDop3LEmyTypobik7qw/AiEA3t3SOB9uhzB5NUJM6j1zLzHHTmopHI5R4ZJP+y9kWYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDWh0pZDlgNjFZ7bywyL1pheuNFHdZwBV5MNpYJw0oI/gIhANMln8HpGYRiqnqsiInRZvwSugUZ9sZeqzEyGxftbGSN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.53.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512405},"type":"commonjs","engines":{"node":">=18"},"gitHead":"b68c1d1a0b83fd30f2d93eeb0e6e07a5f8f2d0b9","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.53.0_1789254912505_0.32404898470817933","host":"s3://npm-registry-packages-npm-production"}},"0.54.0":{"name":"screengraft","version":"0.54.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"7410053aec193dc73718a31cbf193231818e2990","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.0.tgz","fileCount":22,"integrity":"sha512-IvDcBjUUiQur002AMMcX47B7vGkbdtMQyaTez5+FfrOc4w2S4mWKYoAcv72YhXbtJZtexz9y9U0vhdK0nA61wg==","signatures":[{"sig":"MEUCIBX4dYhlHsmFZlZfUPREEMD+qz55ZR3jHnJOmoDl5OFzAiEArOISqf+OVpAmbnH6+jwgFL30AjXNKHKLDHHosBcmrhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGHeLtzwAxWm9bIkhz61I+pDz7iUR80JF4J4TZZiDASCAiBhSPQlQyv4X+PeX4I2o+E03YejEInCnEKuH7Fju25TQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516100},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f31d7d976149d682b6c483af592034f450cd3265","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.0_1789255994159_0.758699741431228","host":"s3://npm-registry-packages-npm-production"}},"0.54.1":{"name":"screengraft","version":"0.54.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"91e033e153ed6f42d43f170242133412a3badb0b","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.1.tgz","fileCount":22,"integrity":"sha512-So2MpKMJmQoiLWZbPtZTdmiolj2kR4fF374jQjklVeJwR0sbyXoUR0r37tm32m/qmYkvrkeT5gFJNNRHDsQ4SA==","signatures":[{"sig":"MEUCIAXLGzoeybj2t2a0npkfc9Gn+0kh0L5V3DVVUOZwnKGmAiEAogh8uxB2Y6v7+md2jVQdq+rpbOiBwGUIIfD1Bcxl7cs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICLxf2VPJRbEqNXpkgW/T2iYKdJxTT/cOK8nS7LJkCbuAiEAwhKC++ZbJr1mc4Jh/IJ8t2/9e4p9hBEsk8zThKmdR1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516249},"type":"commonjs","engines":{"node":">=18"},"gitHead":"c68e72f3da4de3fa769969d32a3b044779722024","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.1_1789256072423_0.7026490010513085","host":"s3://npm-registry-packages-npm-production"}},"0.54.2":{"name":"screengraft","version":"0.54.2","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.2","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"2ee7a22c9d06f2df5d505527a80a98e89562b077","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.2.tgz","fileCount":22,"integrity":"sha512-+fldNDuChsLg8ucmsB2XMNLQY7I9+X4MccGEM2syIyAmZL46eHK8euVmHivOuwDRkBfMPpRLGSc5KYcYiSIEIQ==","signatures":[{"sig":"MEUCIQCOcEk1Rn786rmC0cGWxHQwGS2PJIiWp90oyqb/kWPqUQIgdYVISD+Ehw7a33va50AtJ1VldmsPslLyDYBIndG2sQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCblVULCfhrNXesiWTsLb4iVWKAv1IOHI/w+FGoQKkh4QIgeno1W7j8eNHVbP5WZ9VSr30YJiqfJVET0quAjJZ1IL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":518045},"type":"commonjs","engines":{"node":">=18"},"gitHead":"62d66062001a40c611cce744ea52e0dd96da009d","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.2_1789256897798_0.8276278895060059","host":"s3://npm-registry-packages-npm-production"}},"0.54.3":{"name":"screengraft","version":"0.54.3","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.3","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"bc2750252f84f8e58a0389719a68cf0bd26712af","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.3.tgz","fileCount":22,"integrity":"sha512-LxTR1x0PRHlVVwDXIbOHCiEGVRiI5gyTGfoEpd9m7+ebyiJcamxx4fMVxogJ7CZSG/3CDL9Ic2ORBMQgBiqAXA==","signatures":[{"sig":"MEYCIQC09Asaq9rGKKWkTB5pCk/VjOWfddLEKE5jZKB6WEjGjAIhANd3pMIRUEFa52Qt3l2f9dmwnnvAemYgQKEL4ScmaSWN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD0WaiJ4Sr4LEfngt51uEpi6ZV9ReFGEx5jtDK7SqyfXgIhANl/puM6mu51XQ0/aGnav85EqkMAV+LnRJjkRnXvNOpP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":519332},"type":"commonjs","engines":{"node":">=18"},"gitHead":"dac1ac5dd3e2fc43b6ef58f2949370bcfbd540fc","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.3_1789321908065_0.31608584233614234","host":"s3://npm-registry-packages-npm-production"}},"0.54.4":{"name":"screengraft","version":"0.54.4","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.4","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"59bdd81beb1628790b64d449b112732f6aba2702","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.4.tgz","fileCount":22,"integrity":"sha512-b653nsAQ77qzR+qhmUi2RZu+Q2jPjJHdZjkieRFQ+UdbB67wgjnYT5j+Gj568I6SDLBUWVgjRGOnf6JbUZpjtA==","signatures":[{"sig":"MEQCIAMbFJU6TGZ7dEWhvXe2n6cA8R0dPZS8SPX/eNfZVun8AiANYCBoKaG1/nwaOXaw88hZMb1GknnF8/K+ETuNGCkYPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFIOJsME/TXcRC+6x9iih9ljnr7lmTNcDd+0RuQf1sVIAiBjEP5m1iRkZis13pesIE8wx5A3ILXYrH0XxoF6irmvJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":520252},"type":"commonjs","engines":{"node":">=18"},"gitHead":"8a1981362aaab9fbc27d15b87c480b6e1effc19b","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.4_1789322562453_0.501479534378378","host":"s3://npm-registry-packages-npm-production"}},"0.54.5":{"name":"screengraft","version":"0.54.5","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.5","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"ca6ad95e862164eeaf55317debb4c6d5989470fe","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.5.tgz","fileCount":22,"integrity":"sha512-zWJm6nX87PuY7rf9/6T0Wro5br9Kf484R2hIKQAMXVLUPSZjkr1mIdMp+eNHtnV24r9i5J3vaGQ/Fhd7QYG0vg==","signatures":[{"sig":"MEQCIAzRYao4M4/QQ6QHx5CYD5GJ6HGqPir4OYn2aGRmsJXgAiAYQ7zyoHs/ep5OMvLE/M1JYX6QURPoBqVhG6b6FklU7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCC46mChGqHMKq2Z64AdnlLrzp0vTuSuWMarH/PZGNA1gIgFXYMyKuun4X57VrdPuUwtbFnxqEHLXEdHAjvpznL5Ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":520702},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f57a56b14451f2c071fd20c2f996cab168a09191","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.5_1789323012551_0.7025568736279797","host":"s3://npm-registry-packages-npm-production"}},"0.54.6":{"name":"screengraft","version":"0.54.6","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.6","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"020c3fc6ed49a6db0b65209a1893ed5ed1a9e0b4","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.6.tgz","fileCount":22,"integrity":"sha512-yL8aRld09z5eV18lZ08bANWC4IHsU+kAvAx26pe/gKchJeqs1M5PrhGxqN8+a3tNatqEnRkLj9Sv5I+7uf/NqA==","signatures":[{"sig":"MEQCIAubF+3tNn2iHzi8lDc1U9Kxczwpv9XBJKt9cYKgSzZjAiAkI+BKcpH9X6kfK9TJIIPwrM9eSEnLUkV4zyNfr5avxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHTPUJyJ3EbWDk66kUhFmwK/MLQ2B0uQG/+fK/XvyRCzAiAQYL5NC3FH0EK/+n51W0ava+3vefRdcUySNt3CH9a0Dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":520572},"type":"commonjs","engines":{"node":">=18"},"gitHead":"c483fb22bd8bd5184f8b87dcc5ab372655c18b46","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.6_1789324267620_0.485383454875723","host":"s3://npm-registry-packages-npm-production"}},"0.54.7":{"name":"screengraft","version":"0.54.7","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.7","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"e20c49826f9ecf20a192e5e4f08cb542a6947278","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.7.tgz","fileCount":22,"integrity":"sha512-Aeiz0PBv4VocG7iSoFKvTZeIqmbrN3FqMU0aiWgPNkytAqQu43zrtJVvFA8fkhtECZh+YqptFlu74Isbts+t3Q==","signatures":[{"sig":"MEYCIQDKkaw7KqAJ4MHpCGIe2JX8MqiX5r6fPyVubpkvMBmKNAIhAK1xHI0st4eoutJzOl/DQaRm6NRyed8LX3cFfuC0lvNj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDB9EA4g65Hf/RteFLuuzG9QDOQPIa4prAdfT8gvV297AIhAN4cL6y0GxucFEMlc2oHrUefsMPQvHvXLIqzHum9393Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522050},"type":"commonjs","engines":{"node":">=18"},"gitHead":"71c3794848a76f90c27ef5380c018ffaf890327d","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.7_1789332132690_0.7099582890323746","host":"s3://npm-registry-packages-npm-production"}},"0.54.8":{"name":"screengraft","version":"0.54.8","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.54.8","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"18153eb0da21349360f6e8f3ab16d4ea7e0c7edf","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.54.8.tgz","fileCount":22,"integrity":"sha512-n4KDkIulYq7FldRtYsHndS9EBmBfzYJqe2EspHuTkNbvQvIxhobv2SGVtAguPeKh5aEZDrwSee6yE2a1lkMW7g==","signatures":[{"sig":"MEUCIGTH6IpGIyuVp0Wpd+Jn7qqJS2/B24ObZpF+XoOA1vvKAiEA/hu7ZGYQoeEe+DmExnaYFQScgFIawfqyKgHo5yKUWRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD6VqJaUJFmcjDNaZWhO983lX5OnkC1r3kfKwG7xfNTLQIgFtHWsWrLWR6Cj3/eg8O93b05RWiO8hqTwLpRdVaUOY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.54.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524035},"type":"commonjs","engines":{"node":">=18"},"gitHead":"38bfe41986bf099e24f24013efcf6d01c39b9f75","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.54.8_1789332681787_0.193568733514629","host":"s3://npm-registry-packages-npm-production"}},"0.55.0":{"name":"screengraft","version":"0.55.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.55.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"9289056ffd8245cb62e7c36809ed8a034a5b2ca3","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.55.0.tgz","fileCount":22,"integrity":"sha512-uJRojF1lPZuXn+3pxs1HOe5LdSE1RyomvBxyu5RKKl0BQyinL3lf3xcGQDXGhdXpV1aMy6Qivj50pimEIFtQ+g==","signatures":[{"sig":"MEYCIQCPQAg+P7/s8eMgqhqyJchHwJVI23zmgjGV1jfwBEM1hgIhAIm2frKA1rRA9E37M56WEApEz1KYIVHSkN+uIsPa45iy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICnF3mnaH4YMVFx5PvHnm8eC6hWVMEHkmBUnbEJuxlpFAiACNp0mVAKqjX6JwauTgYT/zutQSfJJyKDkHtcppG/voA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.55.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526373},"type":"commonjs","engines":{"node":">=18"},"gitHead":"a6965c6921345e373e1e2ecfcf4b6b6b68c8b376","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.55.0_1789334102582_0.7122031978849186","host":"s3://npm-registry-packages-npm-production"}},"0.56.0":{"name":"screengraft","version":"0.56.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.56.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"7cc29f02bd9f721cf4c8a4d108b794372241cf10","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.56.0.tgz","fileCount":22,"integrity":"sha512-jODALymm99vhRphFcZjLBZrLpUhExlQD2CFEUQwGHPnEG1toyWZAYUKrBOEIqb6pqJT09HhgOYYhL1Gj421JMw==","signatures":[{"sig":"MEUCIB0CCt0B8sz1bFLyorchHeBJ8FFupuZnYaOgFmnUwklfAiEAtMT0cg5j30fJVzkCXbU0Gs9wERfv6XF8irejEYM2tY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBltiOIRUNwHXL4o8HmsXoTUnw0VS/XmBSmxw3ai1nL8AiEAhjpi0MfSozdpL8liVpLF3D8gUfBPXoXux2+JfdzgLFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.56.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":530847},"type":"commonjs","engines":{"node":">=18"},"gitHead":"42fe6953f36180202e16b59f3e62cc1e4d890ade","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.56.0_1789335674615_0.11056877787125918","host":"s3://npm-registry-packages-npm-production"}},"0.56.1":{"name":"screengraft","version":"0.56.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.56.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"662382440dfad9ead6b11e1ea54e2415a2bfbf69","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.56.1.tgz","fileCount":22,"integrity":"sha512-9ML64IBil+xw59wthgKCAw5Eo9NyFHhjkxiEUt24ZAJ5ppQPiNvkQfK4gIIjPatR+iO68LWSVEEDDffKQs4J6g==","signatures":[{"sig":"MEUCIQC91I2/mb28fEnhviCUKKXP2HzWYU8N81oNnHoD+64/xAIgWvuAzl6tcyaQpP8qo8CkxX6pWcFoSomirbMhq/UJh/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDJbLyvzu1cFgHfoR9Og5QMRl1pO6hOyAaP23KvAHkfCAiEA5B7F5cewTpUtasxbNwh6Ls4/VyPA5Fw/4Rdio3rU7+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.56.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":531333},"type":"commonjs","engines":{"node":">=18"},"gitHead":"a8fd491e3c768202bfc04723763a446f09e9a4c9","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.56.1_1789335806251_0.6511508662676395","host":"s3://npm-registry-packages-npm-production"}},"0.57.0":{"name":"screengraft","version":"0.57.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.57.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"5a0ab1b45416c484f8af11e77e61521507518711","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.57.0.tgz","fileCount":22,"integrity":"sha512-yAP3G3lT6ZHMmJKr454X22+gpKAKOiwN3zEdEAOu2OmX9gm37N2J1rrbiNQQIz/5SGAJrW6gMtNvraXAs9GLfw==","signatures":[{"sig":"MEYCIQCxsYFYmxAVexP+P/vDeGcMRljfwtaRJum//R/4YZe7jQIhAOL8cfV2DD2gXE/NePev8Nj9fwW7GnsZ6c3gvkCk0JuL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAClEtVNlc0vVx4bcDAEdaXGu9oHbw2nTz+FXeB+xG14AiEA4zGJ9xExVH605zG7WTSQPJnX05ufedy07H36hQJDpro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.57.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":535132},"type":"commonjs","engines":{"node":">=18"},"gitHead":"639f5b3648858ef80a203f65444188f96cea8d39","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.57.0_1789336501655_0.06278626328189496","host":"s3://npm-registry-packages-npm-production"}},"0.58.0":{"name":"screengraft","version":"0.58.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.58.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"cf4f39b906e0ee76f8bc67673ca9c8408f3ad0f8","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.58.0.tgz","fileCount":22,"integrity":"sha512-d+TsqVYtqt3GdezSB7InenIZ1yEEA+u1drOI0I86OYg9V4J47KfQbTsdmlHrLPIvV7oHdkgnHqHvyPi5CE+VBQ==","signatures":[{"sig":"MEUCIEB/4JBBOicCeAHcZUR7Rdwcs+X/7FPT0Z+eEN+2sIP4AiEAmv9fC/8ARpqQOpWnMWQCJbW5ZJJOd91m4uA6vVNClyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC27o0WaWayEW1+Iw/WBQmDlp69b/gwE5dJNyQQqqMjjgIhAK7dEDPU7KnusOjZnyDnXZChRoRBh+EeKYE/JLvHYzFV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.58.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":541221},"type":"commonjs","engines":{"node":">=18"},"gitHead":"a1e39b456260139a809ad0ccad980922e5edd819","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.58.0_1789336786863_0.7602450161819061","host":"s3://npm-registry-packages-npm-production"}},"0.59.0":{"name":"screengraft","version":"0.59.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.59.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"4ec7cd61113a5ec3917e198a98e4f9b5bff3547a","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.59.0.tgz","fileCount":22,"integrity":"sha512-2TB8gnp7enFK4Q2hjeRxy483s4QfHxlKjDP5J85z9ch2E70vjziZp6TYmoPlkiGaOGblXFSudw38w5qHoEwrfQ==","signatures":[{"sig":"MEYCIQDDirdRVGsohzH0KpdIlx6D/CYYv/G8U5jRGAlw87OfnwIhANFjAjrf9D4CjeDWOms6DODbqW77Hg0DY2OXbrfUkNyH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDmNpcSpUKCc0az/Tt/TeuJsIVHWLIK4pSN7inyRuuWmgIgYFUM0y3x91VkTJ2MDiJaw4De4nsDRnZZYCqcSonO5vQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.59.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":542786},"type":"commonjs","engines":{"node":">=18"},"gitHead":"97aa5504d2968f13b1a941b9de48738f073b083a","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.59.0_1789339212952_0.2132730986984539","host":"s3://npm-registry-packages-npm-production"}},"0.59.1":{"name":"screengraft","version":"0.59.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.59.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"09942167a2a8028afde8c28e03c5e8790a94eed6","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.59.1.tgz","fileCount":22,"integrity":"sha512-Y0jnrY0/5bbHtbOtovhdcCVc38kyUCN/f1r73SR1zG9GQfuhI5jrerWklmB8ndiZ2PVB2XWmoEPOlJN22RJEZQ==","signatures":[{"sig":"MEUCIEjrCwEYLPV4iNTHqypTEW/I9GqyFZ2I/qI0CGXbMfJ0AiEA+8LMlRBnqN7oWsdyD1jeVrA8QebapFDjFd8YO5T1slY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDRqztR0/XPnTvWKApNqmHuFVpgWUXZBZHM2PVbKkhKHAiBTlDeuhmMw33PhUK6suyM9Z45e1lbLZj5Kj/VFhXNvgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.59.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":543473},"type":"commonjs","engines":{"node":">=18"},"gitHead":"016c90c3db63e1e5e6dd5e7561cf6dffe7c51053","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/screengraft_0.59.1_1789340618648_0.7415420716542864","host":"s3://npm-registry-packages-npm-production"}},"0.59.2":{"name":"screengraft","version":"0.59.2","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.59.2","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"f33f420c29d603a26859dca707a2fa379dbc5d03","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.59.2.tgz","fileCount":22,"integrity":"sha512-559LUshU/O4IsppoWNOuGa7L088O4zQycid96t/W0z3KNJkSYM+TfMDLbDlepToxm1ouYrpSC+nT9M8t9590pg==","signatures":[{"sig":"MEYCIQD3aTZBoNOafy6FUZz05cUj6NxoFKYc6Ronu3tpJY5NXQIhAJCU9XaY/CSDndpJ5bTMpzQ14xX8HdhDOI6Qq/WqIqVi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCEPRb1Lc4e4Op4gBzj23eh6nqJXVqwnjcZ76yoSdjjcAIgRniiBwRWb1HAkEfY/YqF3cJw6gDjWRYrZiUdlFwh7Lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.59.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":543474},"type":"commonjs","engines":{"node":">=18"},"gitHead":"493db9af6c0439f5b3a4d784e7e93d9ad6f029ee","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.59.2_1789340636726_0.6294315158602173","host":"s3://npm-registry-packages-npm-production"}},"0.60.0":{"name":"screengraft","version":"0.60.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.60.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"b9c95588fd6b675633113719a6c9271afcc86b7f","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.60.0.tgz","fileCount":22,"integrity":"sha512-SZYe5XEGl1g9bswyR9TwNoCFWgQt5BEDnQjhnYc9sMV91Lqa58nWnnjbN+JafzhiQCzCWUH9guFTQbxxQoXNMA==","signatures":[{"sig":"MEYCIQCM/d4Iaa0ZjcchB55qO81Xm9Fy5bM+Voo2gADyNmUnyQIhAOntbY03ayAmKPWAkKsNBnajq3sg4F9Wce1Fb6+GS6OH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEdlJjsRpb7U1ALWJVDjXD1O8IrIKBjulqPaLEc9Sy+7AiAlOdAtCzq9kZPnG29hN8VANadzTk0tEQXLhNZeI+iULw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.60.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":543780},"type":"commonjs","engines":{"node":">=18"},"gitHead":"b87089a635d9bb7d50e6e8e4bcecc7674e351aac","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.60.0_1789340767199_0.6711982392235709","host":"s3://npm-registry-packages-npm-production"}},"0.61.0":{"name":"screengraft","version":"0.61.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.61.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"c25704cd7912b23a56bc484da6d8cc8e72ba58b6","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.61.0.tgz","fileCount":23,"integrity":"sha512-ToXc9sx7QcRQHDxan2MVxcrIm14/CGMRtxv/DmEMl8j8unRgClcWPIe1PBmlKFQooqUT/bLXINwM1IfrEWempg==","signatures":[{"sig":"MEYCIQDLVBQh8BhreEL5smtTl7BH5Rekhf60svh4FUJ6B5ZwtQIhANstk2P/OzYEIrNEytEY2fyTF8BLBZnOUbTF/vau9sr1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQYk6MT/30BDLq+qmP5hKHHH4Q87U2QuBiNu/yeWLv4QIhAKnV77+Ggn4EGStKNSmQqNv1dGVCzBldnwSHerwGVibg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.61.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":550427},"type":"commonjs","engines":{"node":">=18"},"gitHead":"9d2d2f365ffb297ede848fcfe2024969ab2efa21","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.61.0_1789341274666_0.8557447367458333","host":"s3://npm-registry-packages-npm-production"}},"0.62.0":{"name":"screengraft","version":"0.62.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.62.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"55cf8523fb72df1dec13604fcdef44572e7ccc87","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.62.0.tgz","fileCount":23,"integrity":"sha512-AfCK6XJBm2fDdnHmEe8xFkBAgGADO9dEc1IJdFsHgzJDteYQo4X6FwZzViGUl1SR30bIDJuuetlVSBs7xAlJow==","signatures":[{"sig":"MEUCIDndBmLDfpf9wEstnS5nYl71vggExiMMdgO+9PRQWTwBAiEAjHeE105XmDe2cC9U/zHJ4XrS/ZE72UPix2gJypdvvLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAVUa0NLgERDe2h1W+Qn01W4PDGl7xP4RSaQzObymySGAiEAxShwwHMrrxsodg4N+pfAhRwDGx71hB3wv+FqJ1WR0LM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.62.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":553329},"type":"commonjs","engines":{"node":">=18"},"gitHead":"d0d6e12807f9f0ff89f4f800f482687fa4351dd0","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/screengraft_0.62.0_1789341572643_0.10548008225591166","host":"s3://npm-registry-packages-npm-production"}},"0.62.1":{"name":"screengraft","version":"0.62.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.62.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"00b76474e8212ff06c7e1aa2b71f019e4ff07557","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.62.1.tgz","fileCount":23,"integrity":"sha512-GjpJ7ugJ0r1jU9+9NZxJnXKONcoM9sDxnjhbUikmppAP8djGQWstf0A3LisrhG/HcfG25+9yAu9HMklKJtJZ1Q==","signatures":[{"sig":"MEQCIE/B0uduTTw17FKZ6RAO7azJXeoWarKPI3a+qZ0meX5QAiAy/zvNPzzTTKymAFYadi5vfENi9mLT3yic4SgRopO5bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCEhnElG9wp151r11U5evASHV8N7Zkc7fhW1d8J6BWkUgIgH7REACOihDjfP+/Wq3Dikhx0gg+u4In4ArazXPbvmeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.62.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":553663},"type":"commonjs","engines":{"node":">=18"},"gitHead":"fa5d6c39f88c44d534f69aa5d997b84be1742909","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.62.1_1789341633348_0.7549951514931927","host":"s3://npm-registry-packages-npm-production"}},"0.62.2":{"name":"screengraft","version":"0.62.2","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.62.2","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"9847309b6b22baad527226e7d57e52e75ff47064","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.62.2.tgz","fileCount":23,"integrity":"sha512-g7lqHwLehzgrFHEkNU1M1zmSeJzuhcNs7kP23JrKNMWYgYRS76oEOQWyQGVG26Ex/ofAoB2BaTglaVXR+uEKNQ==","signatures":[{"sig":"MEQCIFskJ+mf76JKYVXaXATTzcrS46oR6HU5OGKBUqDBq7e2AiBZJsuzv5RqOc7c5wsrkw33fyiXMqxth80pfYqzw33Ixw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2FSvGyFLNP/i/+9WEJNYp2nNG81kac25Ru/4vDbLs3wIhAKtnJeLINyDOz7IZ7qClLS1XAKAEilhgECXM0eQzvSNi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.62.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":554529},"type":"commonjs","engines":{"node":">=18"},"gitHead":"7dbe3660dec84a84167669608b2c6e575c683737","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.62.2_1789341997297_0.5531044908841241","host":"s3://npm-registry-packages-npm-production"}},"0.62.3":{"name":"screengraft","version":"0.62.3","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.62.3","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"acb62d0a3e754cf9c65357fa7a36a61dc277f1ff","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.62.3.tgz","fileCount":23,"integrity":"sha512-O6BuI3jg2Ix56gb/O7arGmGOMPKnyXwaBjnDRRme93d6hrykAbAoQ+LeTYhw9nqmtx2MymukTt8aB5TYt4wQlw==","signatures":[{"sig":"MEYCIQDJ4fsJIPW5X2LPhvOa5bum7Bri6oYA9kG0zYUt9gsFDQIhAIJRuooNZDJf3xrPYF2yPg1/egd/AxO5Q4a8ft+elxDZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIENj15JHGLLViCT66pCfk3JTBiRcD26nfar8J86IZKnTAiAZxk9lUWT0rZ/AHfo2bQEmvGge+pP7M+HOiiZ/+AHcyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.62.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":554724},"type":"commonjs","engines":{"node":">=18"},"gitHead":"1d15f5d294bddde6fb6e5ef654b1f7f8fa31e387","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.62.3_1789356485710_0.8828377026614718","host":"s3://npm-registry-packages-npm-production"}},"0.62.4":{"name":"screengraft","version":"0.62.4","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.62.4","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"27320b95cc3089737c97e160f818783da8630149","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.62.4.tgz","fileCount":23,"integrity":"sha512-ydLUOmjv2jP/xolB1AkgZVP5gSpEBD1ls52Zs2q7hNdnr2sfXmZdk22JQWpyTny7CBpbBqNW2OK8jMzsK2AZEg==","signatures":[{"sig":"MEYCIQCYT++rvBboS53fLpNPsRtB613cB5+b84fGeC9lmCMzogIhAKuL0xmQQo4G588jjesVgTPMACNTgeUVUa2ff13BqB2h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAFaQ8/sxmyO4yjoY+Cbr92YaSnSLLNMBaEY8fE/5TrLAiAn07Msx3pNpaTB8Pm3qETNfOMaCkcmla80qpPtzs1CzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.62.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":554462},"type":"commonjs","engines":{"node":">=18"},"gitHead":"c64f7991ba41ded14c27a1ae606da5f116e9f5d0","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.62.4_1789358414714_0.4868345273207111","host":"s3://npm-registry-packages-npm-production"}},"0.63.0":{"name":"screengraft","version":"0.63.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"23d1acbd6f540a9c345723a53f6678fd45d219a5","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.0.tgz","fileCount":23,"integrity":"sha512-OIYFQHB7ZyrK+8VoycAUOu2WBwqk8xW6GaTIeNi5grQsYKuRW5oQLqBantIYsm/Jmde+RiTdJe4SsihPfxOLYw==","signatures":[{"sig":"MEQCIEj9ZBI+TPqnmDBZQsIbT+ZQo6gGJRJjEthNpPyKUXNHAiA6Owclo/39H54m1M4MP0H5DGO/l367V4LT+NwLxPJcHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAJxVXamlVoXvTS07bZLDygXlnX7SVfoj74uvFzdP14sAiBTLnHL2HT++x4BZMZHKzmNQalV+X987MwDgaE2kb1Jfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":554761},"type":"commonjs","engines":{"node":">=18"},"gitHead":"387edcac1e573e76d681836f8bea8880ea17cddb","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.0_1789360004410_0.7000547778440267","host":"s3://npm-registry-packages-npm-production"}},"0.63.1":{"name":"screengraft","version":"0.63.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"555ac8d3c4cf20e982dba4b9d829e233962b51b1","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.1.tgz","fileCount":23,"integrity":"sha512-k+7w8FoDS2A+pQS529OmCabqwPC3RWp3xH6NEurSDhgzZncykKDFWYSvgay+jfNkUvTg2ZNn/f270GdxrVkwoA==","signatures":[{"sig":"MEYCIQCEQNFUnar5pHpFViXTyH+c5TXCa9saMeEkNWPGvPlHxwIhAKc/MGZUJomSmVHODBGhcoq/GbA3lCADFDJjIuXE98fY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCKv8aguEyaWRd9+ONzuP4uYc7rqT6LNKiRwOBZ9cGL6wIgFN+sp5PKSIi+ltj4m1p0cu0IGlr0WMRN+w3hRimxOWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555647},"type":"commonjs","engines":{"node":">=18"},"gitHead":"a37f2025d109870a5d4aeb8cd3a591a07722275e","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.1_1789360961831_0.539174971406793","host":"s3://npm-registry-packages-npm-production"}},"0.63.2":{"name":"screengraft","version":"0.63.2","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.2","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"e0cfc07361f97a2836226a6a6a9c09fe56e3b460","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.2.tgz","fileCount":23,"integrity":"sha512-JegxgEcYXOa8h9eSPRRekA8NsZeh1lkR52z/cVx3W2+5Rw8wgwO2Mf33iM/97He2ay11xEh1gpD5XWpLi944bw==","signatures":[{"sig":"MEQCICCZt5kxUSCwC7hXY0DlOsv/w87vF3udQVNjc0ez2ZYpAiBzPq6qjWi0tGReYhNkMtKuRIhdSQMzEQh70O00K+tmDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID57e6743XbXGWcl7luw8kdl4xjt6k3EO8u8iY1efRknAiAcevn9UcMBw49RVNA3rhy/FCajMN6V4U/skqvj6m+sMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557887},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f763b77d7721706607441232297c631303fc7ff3","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.2_1789361863368_0.85193335204323","host":"s3://npm-registry-packages-npm-production"}},"0.63.3":{"name":"screengraft","version":"0.63.3","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.3","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"657fccbde684a12e3a18621601a3c0459ce15c9b","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.3.tgz","fileCount":23,"integrity":"sha512-7FtDlS9y0SUbHKkI/hTAn2IgZt/z8K6eSYWCs/kAaD0LMExFXG0rSqks18KID69j/s5G5qsE4Luj+cQ59BhflQ==","signatures":[{"sig":"MEYCIQDjiwBGwDKoBmrY9pcMkrHzQ3diHrUj5oddHbGuDv8mKgIhAJf/n0DNU2rkXhrLHILUGyvBczXnv9mnEqvAjc+Xf6gB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE6lWH108ATB32DBGS5P3Ets/qTXYqpqacBLsfpXvpIGAiB9ssSzfQ4qW6HzIUVKu1zF71PeEk7HUAtmSEUio1LNuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":559164},"type":"commonjs","engines":{"node":">=18"},"gitHead":"76b9eead7cbb4c30096a7ba0b2713b0f4c37db7f","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.3_1789364651288_0.8956582816672929","host":"s3://npm-registry-packages-npm-production"}},"0.63.4":{"name":"screengraft","version":"0.63.4","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.4","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"53363f5b8de07c1c95b7b40257a741ab89bf04ae","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.4.tgz","fileCount":23,"integrity":"sha512-0KdpYuJkJeMSFFnBSDJBAg83auDKR2+jEXaOTvOmOCfZ9wkGOChhU/guxzhchfGUeaCuLIUTuccrvbgzLEo+lQ==","signatures":[{"sig":"MEQCICPop2XWxSgrok/z/BTSX2JJwI4ox1QyaNaKe0eb3WylAiBKR+LCV+yPc1MKcPDVhBp3Cv7XA/XYjoIloJFHG+xLPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFLEjlW66Vnj8r47DTZBxjuqSZjOpU5wf7zx1qJ1gxw4AiAkf+E3vMm5o6E1DDTTTEMfYEAT3SDbMglKguSFeVCsUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":559519},"type":"commonjs","engines":{"node":">=18"},"gitHead":"a64eafadfb003fda50f3b0d8ccb2004a2114c355","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.4_1789364880470_0.4970731665724206","host":"s3://npm-registry-packages-npm-production"}},"0.63.5":{"name":"screengraft","version":"0.63.5","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.5","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"520f906fe78434cf2eaf02e4325449ac794d56eb","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.5.tgz","fileCount":23,"integrity":"sha512-fi9NfWYgtmdV6NuHP7zaXYJHyCoKIZGhjMgQHCXzv6htm4CDox+JqMYphOvb+WVg4wYxoL1zB1RLr13wEPfTXw==","signatures":[{"sig":"MEQCIGK86Jo6dRWqyRlsYzwkHoV/ty+byobGu6lSMDP99oKAAiAlVXyZw5NSu1Qnry+jyNXZ62B4XmapgJEuEbwip6t+jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDROywdx8cUkz1p+5hmGmHGnLENrP5oPYz5Uf66KhqafwIhAK5+dcmMcTt2/8mlxQPHynUdm9PSGZDIkVUq1ZDh+lap","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":560670},"type":"commonjs","engines":{"node":">=18"},"gitHead":"ca5b1bf873942c304d09a11c0d889635d4fd3625","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.5_1789370845684_0.08239787597603887","host":"s3://npm-registry-packages-npm-production"}},"0.63.6":{"name":"screengraft","version":"0.63.6","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.6","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"e15f912ab7f7b23065b171e5379801153ee75a06","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.6.tgz","fileCount":23,"integrity":"sha512-wA3kNncmiFGii5L4mPXCMVYNdoFkPO8sKNvPtQ+pLWcNuUqA+5KCi5vj2uYrXzH9v18eFz5lH+k1sOUng/G2Ng==","signatures":[{"sig":"MEUCIQDNlUjxeit/eSDS/yFrExkVebGop2Vq2AWqQEaNCsJbnwIgVmSWa1L1AQiSX3q5Q65LjKfaqv3sgTEqNRd5qFJuA0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHYw8gsd76o1KagZp+oUDDggStgjBFb/eMw5XGnyBjmFAiEA+wM6sLe/LBGadt12kgQ8GA6kp8XDhhDjiM1vT3mI0bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":566117},"type":"commonjs","engines":{"node":">=18"},"gitHead":"405e918bce33704201eaaaf42045ac80fb0d7bf4","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.6_1789371226684_0.8993653369252328","host":"s3://npm-registry-packages-npm-production"}},"0.63.7":{"name":"screengraft","version":"0.63.7","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.7","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"54b73f334ec862d33291545f073b4c6d29b7f2cf","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.7.tgz","fileCount":23,"integrity":"sha512-rL/3P+2H4e3OzVIn8nNjnng1GlbXkSI74JeBwchPoE2iD7dDl86zIRswVD6CfntvIvAKnylysph4pLtVt136sg==","signatures":[{"sig":"MEQCIBIf2pVozpGjDmmWvpWm8GAFwn4VgtDDUK0oJh+nZrRUAiA2GjC33PW0pvCKYcRZLxhHq8Pwx5mb8v744tpmYCU6gQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC/mmg9IJjYnySTamTCgml5lPP8ORdiDxSUxMpD8XHzIgIgYpg380Q5sft5bQ9CMRWrkDzNvqPs1FUxQp3HCRl/5Zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":566507},"type":"commonjs","engines":{"node":">=18"},"gitHead":"0d64a420c4f22871ec7d02c9c22c892590fddef2","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.7_1789371404745_0.8933482802141559","host":"s3://npm-registry-packages-npm-production"}},"0.63.8":{"name":"screengraft","version":"0.63.8","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.8","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"cbb035f0d557056c22bb8814d317befb65ff2362","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.8.tgz","fileCount":23,"integrity":"sha512-ghumuhSwxMHSL2aWcT+OoDUU2YCa7Q4k/m4JnvZHpYF8qVpXnX4JJe/UgBRjaSFAspAlwFXpRNZv3voASUj19Q==","signatures":[{"sig":"MEQCIDXKBhnb1ANvaDg5mGuE/WrV8ddLgfKqjOlCegg6PMaHAiBPJzxEFGnKacpkiDan/Ltqf23+1fjIl2nEA8rsfIWPNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCFjN9fVHHo0412MMcnIY9CkWEmMNNuwdsgiJWq5cVUcAIgI4bsvUsfFTWiSRWuzrqlop6DD4YzHLcQipI/X2N5isg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":567084},"type":"commonjs","engines":{"node":">=18"},"gitHead":"3e8fac0faffe911af9367b32504ab988a185aa9e","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.8_1789372219839_0.181017205900871","host":"s3://npm-registry-packages-npm-production"}},"0.63.9":{"name":"screengraft","version":"0.63.9","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.9","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"71d4899bc1a48bfdafe833c1efd4ec674b7d9e84","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.9.tgz","fileCount":23,"integrity":"sha512-9TBQ8nUZRtk6fUUifxns69W0W8Egvb5+U6AqmaBhOYTrd66Nr3sL8+0JBZcm0auR+84Dm5kZjs0nDGhPHTW5uw==","signatures":[{"sig":"MEQCIDxJRxeSmy9gO+wMaF+t/5UlcmehvF2xOuW3jZHwONvqAiA0Gw/MwlxhsIefiscIJrZL/4nJ5djtJpKdRZLtTzq56Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDkB91rVlwyj762t2xZse89zXpKkPJeWl+1P1KPvzgRIQIgVJglM/93J3yxGIPVHU3i6K5+S4FqJqPsfg0q29l2ffw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":567875},"type":"commonjs","engines":{"node":">=18"},"gitHead":"ac074a37e47d3de228d7e871fe2e425af5ada87f","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.9_1789392806026_0.07801129727143952","host":"s3://npm-registry-packages-npm-production"}},"0.63.10":{"name":"screengraft","version":"0.63.10","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.63.10","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"be87702388d52b4e62f271af0b5bc635829e01b0","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.63.10.tgz","fileCount":23,"integrity":"sha512-y7xTlWQ3e8nuZUESBmVcewv2htp+qvrtXVUDjavMZ8Jeu4lo/UDAn3GyXaMi1BmXuTNKIvP9ifO4wTjdTuWDow==","signatures":[{"sig":"MEUCIQCJlracdGGU2u2pLDnhWrs2BowQj40lmuvG7hcMo/jlSgIgXq6O/urfGPAnZz8UqLw3xB1aiJdv96uPsPHdXbIw5Mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCQ8KfHtCjNfPPLpYvZgDBEzBsKwUpXoAo17FK01zsBcQIgOXMuo3f8V83shjN86w+XhOwbVknENQDDPIIM9qGx868=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.63.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568198},"type":"commonjs","engines":{"node":">=18"},"gitHead":"d3d3f6ed24e3d93364ed2d86bb98f7b5c49bab24","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.63.10_1789395634748_0.5332106949484445","host":"s3://npm-registry-packages-npm-production"}},"0.64.0":{"name":"screengraft","version":"0.64.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.64.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"8df63d36c0a8c07c011c51ed1abe9faa2240910a","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.64.0.tgz","fileCount":23,"integrity":"sha512-CNMiup2XQmJRpbZ/EeCnKM3XU3aROjJrKkCqVJVpVY1ffqMmvXO5I3CRj2Avb3iBHCtjBfd043ErGT52WMhxEw==","signatures":[{"sig":"MEQCIB1QDmlk4Vx/ijQw1cyON+EhFGtJJJrTbsf2su/MnGboAiBFmuLYeAP5QSQIlbHhNgd6FWaa8hEDUp2KDLJkw9Olhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAG4O86QTGcnQQS/sTr+3GSKRo/oWYJ5vz1hpLVhAiCoAiEAvwWeThQ6OYPeU6+h7h2KEYb6jrBscmPL6wSafAJWYZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.64.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":569749},"type":"commonjs","engines":{"node":">=18"},"gitHead":"3a0f48e81050b3a460beed7239e4b9f510fc23f1","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.64.0_1789497485066_0.6618561188642131","host":"s3://npm-registry-packages-npm-production"}},"0.64.1":{"name":"screengraft","version":"0.64.1","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.64.1","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"58731ac1cc02662efd561c193597ed9a673d2c8b","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.64.1.tgz","fileCount":23,"integrity":"sha512-U7VxVmgdZMUlGH3MwOWbuu07ilts58nDrGMhldseKjNkEd4UJbrusibAThSFCEyChgfEraXfoeF1ffYMrpHlvA==","signatures":[{"sig":"MEYCIQDlIlvQ5XsizwonvsCeftnEq6D3i9v//v8ZoMQAwllQ1QIhAKscIVwXcZshOUNvOEjS9Y2Yi64phIyJtUF4BLmN5S6g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE6BEGquIbvaQFT9esw20KpYM6h1o7yHX8eeWz3QfxAWAiBXX+VWUwzWSPjFTPhPmqEvgQcY83VJnIE8hOBfdNmYqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.64.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":570876},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f7a498c422596c591dec2879e9e7f065861269c5","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/screengraft_0.64.1_1789497937149_0.6745433953532272","host":"s3://npm-registry-packages-npm-production"}},"0.64.2":{"name":"screengraft","version":"0.64.2","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.64.2","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"af6258e64ed255aba9c9e2e7dd763a456d1ffb17","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.64.2.tgz","fileCount":23,"integrity":"sha512-jKacvJl3BAuFIB7EgShIpG65cLzF9L14QTW/IbqhZVOza8UezNHW0cjR9Iy9ELFcIwfKpg/qevcS1fLARD74lg==","signatures":[{"sig":"MEUCIQDXQpYAJud+lsbd0+TTinCTNG+omb3Qtw1h9+uR+gz78AIgKScrns8wdu/XeqxvaiKaphi0FDSzkuvKQoigZTBIL/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDtkWWG4Ir9qHHS2Q7ylZEIo35vNKtmWr3kLgoiy/GAmgIgSWOih0zerE+rDLkt4Dwhx1kp+pwGDlk3eHUJM/xq0+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.64.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":570942},"type":"commonjs","engines":{"node":">=18"},"gitHead":"ea56440add9abeacf2e07f4514bd83d5144c889f","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.64.2_1789498166843_0.5851954736061915","host":"s3://npm-registry-packages-npm-production"}},"0.65.0":{"name":"screengraft","version":"0.65.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.65.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"ec38c4bf20aa7bf784863b56e26732adcc70355d","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.65.0.tgz","fileCount":23,"integrity":"sha512-I4pJ1LA7kpQFhHXaTwVRRCdMCIbAlar4gXdv3Ukih5f48UnKoxXz90+40A6bcmG2RrBC3h27GREubHwagClHaw==","signatures":[{"sig":"MEUCIQDQottNiMVX0a5HdO6MH9xZgCsGgA+9QR0wxFoU3kpuDAIgYoFNbcrD0yD69OEaz5Lm1LyPyWhlSraP7tb/aQcJNFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA/xGh1zVBW9KsGyzNQH+699FGfRvOqEzErPZugRhZfBAiABGHhw1fXqnZjhO5u64fgMIy3d8F5CwZkIOjmhOi4l8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.65.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":581045},"type":"commonjs","engines":{"node":">=18"},"gitHead":"23d5494afb2adaaad6ca0f67ada9e697cf5b8916","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.65.0_1789576507573_0.6247805658144887","host":"s3://npm-registry-packages-npm-production"}},"0.66.0":{"name":"screengraft","version":"0.66.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.66.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"ea6f9201ba929c00838580f3ca806db961d97949","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.66.0.tgz","fileCount":23,"integrity":"sha512-4gwMUfr2wz1YsAxc/QKWhnjLSqMgVJL/nPEG9WebjhdlsNtvaeGCXdfy9SC2PIhTha6KdwhtPrNvwPr2wa69ag==","signatures":[{"sig":"MEYCIQDyQsZUMdpJcAsOeZt7jZfC8K6vdzwJ9I3ZF0vlhp7CWgIhAPjjBVMMJUQ64pZtCu/3EDqyPyi/IPUU5X4iPyrF373i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCa39CcCkRvWRARGuepRZB0YKKazmsU6KZSDNfNUhkqdAIhAOJwhIYTQNuwat073hSg4je5tHT21kLKcGY2HxAIixuu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.66.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":593093},"type":"commonjs","engines":{"node":">=18"},"gitHead":"056d3a4ff1515a11534de88de94cae63bd149780","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.66.0_1789719162881_0.997059056546072","host":"s3://npm-registry-packages-npm-production"}},"0.67.0":{"name":"screengraft","version":"0.67.0","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","_id":"screengraft@0.67.0","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"homepage":"https://github.com/seq000/screengraft#readme","bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"os":["darwin","linux"],"bin":{"screengraft":"cli/screengraft.js"},"dist":{"shasum":"943d6d93cade4d79e02fece4d4c5bb7531fc38c7","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.67.0.tgz","fileCount":23,"integrity":"sha512-Yr/JcDqBmhhO/kCZCCBHQrDci9/Oy4fYGqEjQoWh+Sm4D3Jit72ipw1Z7mm194t6fCgvloz+GyNPzzAu5egKyA==","signatures":[{"sig":"MEYCIQCOqeZhBz3xiijnGIT1IMoRAzn2pm+fkRAphU/4/PRGmQIhAN2qJklkJzUGIxUaYep8IMwN1XODynMILPNMWK861H/m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEvQ8LE1GoxwRodxCv3QcZBwq+nNv2mrbMhV+iO0b4BrAiEAlAjMFqgpQGhNKpOZ4nFZlfoh5QLSnH55MjHsX1ELMr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.67.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620319},"type":"commonjs","engines":{"node":">=18"},"gitHead":"268209ff3cd0efd404400697cd15952eddd28a32","scripts":{"start":"node cli/screengraft.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.0.2","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/screengraft_0.67.0_1789943582434_0.7246019030446642","host":"s3://npm-registry-packages-npm-production"}},"0.68.0":{"os":["darwin","linux"],"_id":"screengraft@0.68.0","bin":{"screengraft":"cli/screengraft.js"},"bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"dist":{"shasum":"c2fc09546fbb2d1dd60674a4ad1831ae53c21172","tarball":"https://registry.npmjs.org/screengraft/-/screengraft-0.68.0.tgz","fileCount":23,"integrity":"sha512-nQfpBHgD0oZp+k2GyAy/rWUwYZ00sw9T4Jlh7jYfGrYfy2A5U+5PggpxlLlOGVepwWjWg4qPALMIYgG6o1/i+Q==","signatures":[{"sig":"MEQCIEpUVcSnqCbyG7oKuhlrw+BaPwoGNn0JROJYOvZco0WSAiAWEaTSMiF8nGJh4KWGZ/vRHwCfHRZPcKIaGsgjQibV0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDr6bDMuzq1SrNoQZsTUH/ZUEuNhEjew8a7oBnFIxCTfwIhAPgmVpB+xDiPsYP5Xjjt5VFEiuIBNJ7tGJb3VFaNvaEi"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/screengraft@0.68.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":635742},"name":"screengraft","type":"commonjs","author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"engines":{"node":">=18"},"gitHead":"40639abeaba4ad6a551abe7c78ba529f4d9d73c7","license":"MIT","scripts":{"start":"node cli/screengraft.js"},"version":"0.68.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b49fc24c-d8b5-4c72-9362-b43ce3b8ee39"}},"homepage":"https://github.com/seq000/screengraft#readme","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"_npmVersion":"12.1.0","description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","directories":{},"maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/screengraft_0.68.0_1790343125412_0.8671949476561049"}}},"time":{"created":"2026-09-05T22:02:48.713Z","modified":"2026-09-25T13:32:06.098Z","0.13.1":"2026-09-05T22:02:49.031Z","0.17.0":"2026-09-07T20:05:02.033Z","0.20.4":"2026-09-08T12:07:10.943Z","0.21.0":"2026-09-09T17:08:35.121Z","0.21.1":"2026-09-09T19:34:31.857Z","0.24.1":"2026-09-10T09:26:31.619Z","0.25.1":"2026-09-10T16:00:40.469Z","0.25.2":"2026-09-10T16:43:40.055Z","0.37.0":"2026-09-11T19:26:08.199Z","0.38.0":"2026-09-11T20:12:09.075Z","0.39.0":"2026-09-11T20:22:22.923Z","0.40.0":"2026-09-11T20:31:31.760Z","0.41.0":"2026-09-11T20:43:09.591Z","0.41.1":"2026-09-11T20:46:55.081Z","0.42.0":"2026-09-11T21:58:40.720Z","0.43.0":"2026-09-11T22:21:34.739Z","0.44.0":"2026-09-11T23:12:04.668Z","0.45.0":"2026-09-12T08:17:29.820Z","0.46.0":"2026-09-12T08:52:38.022Z","0.47.0":"2026-09-12T09:19:40.040Z","0.48.0":"2026-09-12T10:35:35.136Z","0.49.0":"2026-09-12T10:50:30.553Z","0.50.0":"2026-09-12T11:01:41.263Z","0.51.0":"2026-09-12T22:08:41.426Z","0.52.0":"2026-09-12T22:34:03.063Z","0.53.0":"2026-09-12T23:15:12.616Z","0.54.0":"2026-09-12T23:33:14.274Z","0.54.1":"2026-09-12T23:34:32.504Z","0.54.2":"2026-09-12T23:48:17.903Z","0.54.3":"2026-09-13T17:51:48.157Z","0.54.4":"2026-09-13T18:02:42.542Z","0.54.5":"2026-09-13T18:10:12.774Z","0.54.6":"2026-09-13T18:31:07.734Z","0.54.7":"2026-09-13T20:42:12.771Z","0.54.8":"2026-09-13T20:51:21.870Z","0.55.0":"2026-09-13T21:15:02.709Z","0.56.0":"2026-09-13T21:41:14.727Z","0.56.1":"2026-09-13T21:43:26.351Z","0.57.0":"2026-09-13T21:55:01.790Z","0.58.0":"2026-09-13T21:59:46.944Z","0.59.0":"2026-09-13T22:40:13.066Z","0.59.1":"2026-09-13T23:03:38.759Z","0.59.2":"2026-09-13T23:03:56.810Z","0.60.0":"2026-09-13T23:06:07.294Z","0.61.0":"2026-09-13T23:14:34.759Z","0.62.0":"2026-09-13T23:19:32.730Z","0.62.1":"2026-09-13T23:20:33.440Z","0.62.2":"2026-09-13T23:26:37.409Z","0.62.3":"2026-09-14T03:28:05.812Z","0.62.4":"2026-09-14T04:00:14.801Z","0.63.0":"2026-09-14T04:26:44.519Z","0.63.1":"2026-09-14T04:42:41.910Z","0.63.2":"2026-09-14T04:57:43.494Z","0.63.3":"2026-09-14T05:44:11.397Z","0.63.4":"2026-09-14T05:48:00.559Z","0.63.5":"2026-09-14T07:27:25.781Z","0.63.6":"2026-09-14T07:33:46.769Z","0.63.7":"2026-09-14T07:36:44.855Z","0.63.8":"2026-09-14T07:50:19.923Z","0.63.9":"2026-09-14T13:33:26.107Z","0.63.10":"2026-09-14T14:20:34.847Z","0.64.0":"2026-09-15T18:38:05.177Z","0.64.1":"2026-09-15T18:45:37.259Z","0.64.2":"2026-09-15T18:49:26.930Z","0.65.0":"2026-09-16T16:35:07.683Z","0.66.0":"2026-09-18T08:12:42.983Z","0.67.0":"2026-09-20T22:33:02.541Z","0.68.0":"2026-09-25T13:32:05.546Z"},"bugs":{"url":"https://github.com/seq000/screengraft/issues","email":"screengraft@fraczyk.design"},"author":{"url":"https://fraczyk.design","name":"Dariusz Fraczyk","email":"screengraft@fraczyk.design"},"license":"MIT","homepage":"https://github.com/seq000/screengraft#readme","keywords":["mockup","device-frame","homography","perspective","compositing","screenshot","prototype","screen-recording","video","design","portfolio","figma"],"repository":{"url":"git+https://github.com/seq000/screengraft.git","type":"git"},"description":"Put a UI screenshot or screen recording onto a photographed device screen with the perspective exactly right — a homography you confirm by hand, not a generative guess.","maintainers":[{"name":"seq000","email":"papilla77.stirrer@icloud.com"}],"readme":"# screengraft\n\n**Put a UI screenshot — or a screen recording — onto a photographed screen so the perspective is exactly right.**\n\n![The fitting workbench: photo with the screen quad on the left, live composite on the right, and a magnified strip across the edge below](docs/workbench.png)\n\nEvery device mockup is a compromise. Templates give you three angles and someone\nelse's lighting. Generative tools give you a screen that looks *like* your design\nwithout being it — text reflowed, a button moved, a logo subtly wrong.\n\nscreengraft takes your photograph and your screenshot and computes the projective\ntransform between them. The screenshot lands on the glass because the geometry\nsays it must, not because a model thought it looked about right. Same inputs,\nsame output, every time.\n\nPoint it at a **video** instead and the same fit renders every frame: record a\nprototype, then put the recording inside a real photograph.\n\n---\n\n## What it does\n\n- **Any angle.** A homography handles arbitrary perspective — a phone leaning on\n  a wall, a laptop half-turned, a tablet held at 40°.\n- **Your pixels, unaltered.** The screenshot is resampled once and warped once.\n  9px legal copy stays legible.\n- **Rounded corners that actually follow the bezel**, measured from the photo or\n  taken from a device preset.\n- **Realism pass** *(optional)* — matches the screen's white balance and grain to\n  the light in the room, and can lift the device's real reflections from a\n  screen-off frame of the same shot.\n- **Depth of field** *(optional)* — a blur that grows across the screen in one\n  direction, glass edge included, so a screenshot on a phone shot at an angle\n  goes soft where the phone does. Direction and strength are yours; *Measure\n  from photo* proposes them from the photograph's own screen boundary.\n- **Emissive screens** *(optional)* — a display emits light *and* reflects the\n  room, which is why a switched-off phone looks dark grey rather than black.\n  Paint a true-black UI on flat and it reads as a hole cut in the photo. Turn\n  this on and the screenshot composites over the device's own glass, so the\n  photo's highlights carry across the screen.\n- **Video, not just stills.** The screen source can be an `mp4`/`mov`/`webm`.\n  You match the edges on one frame and every frame gets that same geometry — the\n  photograph is still, so there is nothing to track and nothing to drift. Output\n  is H.264 at CRF 16 or ProRes 422 HQ.\n- **Watch it before you render it.** Press Play and the clip runs on the photo\n  immediately — the browser warps it onto the same four corners, with the same\n  corner radius, and approximates the emissive blend. Nothing to wait for, and\n  it follows the quad while you drag. **Render preview** composites a few\n  seconds through the real pipeline for when the grade, the grain and the true\n  blend are what you need to judge.\n- **It remembers a photograph.** Fit a photo once and save, and the next run on\n  that photograph starts from those exact corners instead of a detection —\n  including a second screenshot into the same shot, which is the common case.\n  The photo is recognised by its pixels, not its name, so a rename or a\n  drag-drop from a different folder still match.\n- **And the fit is a file you can keep.** Every save writes `<mockup>.fit.json`\n  beside the output. Drag it back onto the page and the corners come back — on\n  another machine, from a colleague, or onto the same scene exported again,\n  which the pixel key cannot recognise. It says which photograph it was made\n  for, and stretches nothing without telling you.\n- **You confirm every fit.** Detection is advisory and says so; you drag the four\n  edges onto the glass with a magnified loupe. A silent misdetection producing a\n  confident, wrong result is the one failure this tool refuses to have.\n\n## Requirements\n\n`python3` with **OpenCV** and **numpy**. OpenCV is the engine — nothing runs\nwithout it. The installer provisions an isolated venv at `~/.screengraft/venv`\nand never touches your system Python.\n\nVideo rendering also uses **ffmpeg**, which arrives as a wheel (`imageio-ffmpeg`)\ninto that same venv — nothing is installed system-wide. It is optional: without\nit, stills work exactly as before.\n\n## Install as a Claude Code / Cowork plugin\n\n```\n/plugin marketplace add seq000/screengraft\n/plugin install screengraft@fraczyk-tools\n```\n\nThat route tracks versions and updates itself. If you would rather not add a\nmarketplace, download `screengraft-<version>.plugin` from\n[the latest release](https://github.com/seq000/screengraft/releases/latest) and\nopen it, or clone this repo and point Claude Code at the folder.\n\nThen ask Claude to inject a screenshot onto a photo. It opens a local page in\nyour browser, you fit the edges, press Save, and the composite lands in your\nproject folder. Nothing is uploaded anywhere; the page is served from\n`127.0.0.1`.\n\n## Or use it without Claude\n\n```bash\nnpx screengraft --out-dir ./mockups\n```\n\nnpm is a delivery mechanism here, not a claim about the language: the tool is\nPython and OpenCV, and `cli/screengraft.js` is a launcher. It installs nothing\nbehind your back — if the engine is missing it prints the one command that\nbuilds it (`npx screengraft --install`) and exits.\n\nFrom a clone:\n\n```bash\npython3 scripts/preflight.py --install        # one-time: creates the venv\npython3 scripts/ui.py --out-dir ./mockups     # opens the fitting page\n```\n\nHeadless, if you already know the corners:\n\n```bash\npython3 scripts/warp.py --photo shot.jpg --screenshot ui.png \\\n  --corners \"945,504 1310,475 1501,1408 1135,1459\" \\\n  --radius-frac 0.14 --out composite.png\n```\n\nCorners are `TL TR BR BL` in photo pixels.\n\n## Why not just use AI\n\nA diffusion model cannot guarantee the screenshot lands on the screen's four\ncorners, because nothing in it is solving for that. A projective transform can,\nby construction — it is the same maths a document scanner uses to flatten a page.\nSo the pipeline is computer vision and projective geometry end to end, and it is\ndeterministic: re-run it and you get a byte-identical file.\n\nGenerative AI has exactly one optional job in the design, and it is strictly\noutside the screen mask. It never touches the pixels you designed.\n\n## How it works\n\n1. **Corner acquisition** — an advisory detector proposes a quad; you correct it\n   by dragging *edges* (a rounded corner has no point to aim at; the straight\n   edges either side are unambiguous), with a rectified strip loupe at ~5×.\n2. **Warp** — the screenshot is area-averaged down to its destination footprint,\n   then warped once at the photo's resolution. Prefiltering matters: OpenCV's\n   warp never area-averages, so warping a 1206×2622 screenshot into a 226×454\n   quad without it turns body text into noise.\n3. **Realism pass** *(optional)* — white balance and exposure toward the\n   surrounding light, grain measured from the photo's own noise floor and\n   laid on the screen at 0.7× of it (a lit screen sits in the highlights, where\n   8-bit noise is lower than on the body around it), real speculars lifted\n   from a screen-off reference.\n4. **Video**, when the source is a clip — everything a fixed photo and a fixed\n   quad make constant is computed once, and only the frame changes. Three\n   consequences worth naming, because each is a way video normally goes wrong:\n   the light match is measured **once** from the frame you fitted on, so the\n   screen cannot pulse as your UI scrolls from dark to light; the grain stays\n   frozen, because the photograph's own noise does not move; and the screen's\n   antialiased **edge is pixel-identical in every frame**, so there is no edge\n   crawl. Frame 0 of a render is byte-identical to the still composite — the\n   test suite asserts it, because that is what stops the two paths drifting.\n\n## Where screengraft keeps things\n\n**Your output** goes to the folder you launched with (`--out-dir`), which the\nClaude skill points at your project. That is the only place anything is kept for\nyou, and nothing below ever touches it.\n\n**Working files** live in `~/.screengraft/sessions/<timestamp>/` — one directory\nper run. A source you pick by path is never copied: screengraft reads it where it\nis, and screengraft never deletes a file of yours. A source you drag in or browse\nto has to be copied, because a browser hands over bytes and will not say where\nthey came from.\n\nWhat happens to that copy depends on whether the run produced anything:\n\n- **A run that saved a mockup keeps its source.** The `result.json` sidecar names\n  it, and a recipe naming a file that no longer exists is not a recipe.\n- **A run that produced nothing keeps nothing.** That is the common case and\n  where the disk goes — previews, thumbnails, poster frames and abandoned\n  uploads are all swept when the run ends, or at the next launch after a crash.\n\nWhat survives either way is the `result.json` sidecar: a few hundred bytes\nrecording the corners, radius, grade and blend of that fit. It reproduces a\ncomposite exactly, and it is the first thing a bug report should include.\n\n**A detection trace**, when you ask for one, is written to\n`<session>/candidates.json`: every candidate quad the detectors generated, with\nits score and whether it was accepted, rejected, never reached, or filtered out\nby your click. Ask for it with `POST /api/detect {\"trace\": true}`, or from the\nCLI with `scripts/detect.py --trace FILE`. Nothing produces it unless asked, and\nit is the right thing to attach to a bug report about detection.\n\n**The fit file** is written beside every mockup as `<name>.fit.json` — four\ncorners, the corner radius, the device, and which photograph it was made for. It\nis yours: keep it with the project, send it to someone, drop it back on the page\nto reuse the fit. Geometry only; the grade and blend of a *composite* live in\n`result.json`.\n\n**Remembered fits** live in `~/.screengraft/fits.json`, outside any session so a\nsweep cannot take them. Each entry is the four corners, the radius fraction and\nthe device, keyed by a hash of the photograph's decoded pixels — no image data,\nno absolute paths, a couple of hundred bytes each, and the oldest are dropped\npast 500. Delete the file to forget every fit; nothing else depends on it.\n\nSidecars written by v0.23.0–v0.25.1 may name a dragged-in source that release\ndeleted. Those cannot be repaired — the bytes are gone — but screengraft now\nmarks them `\"source_retained\": false` rather than leaving them looking valid.\n\n\n## Roadmap\n\nDone: manual warp, advisory detectors, the fitting workbench, the realism pass,\nvideo into a still photo.\n\nOpen: **camera-motion tracking** — the photograph itself must currently be a\nstill, so a clip of a moving phone is out of scope; **SAM 2 auto-detect** (built\nand measured in a separate repo; it segments the phone body rather than the\nglass, so it is not shipped); **occluder matte**, so a finger in front of the\nscreen stays in front.\n\nKnown limits worth stating plainly: detection abstains rather than guessing when\nthe background is itself neutral (a pale tiled floor, a plain wall) — you place\nthe edges by hand there. And a prototype recording has no motion blur, so a very\nfast scroll will strobe; that is a property of the source, not of the composite.\n\n## Changelog\n\nEvery release is described in [CHANGELOG.md](CHANGELOG.md), with the\nmeasurements that drove it.\n\n## Support\n\nBugs and photographs that defeat the detector belong in\n[Issues](https://github.com/seq000/screengraft/issues) — the bug template asks\nfirst for the `result.json` sidecar, because it reproduces any composite\nexactly. Ideas and \"can it do X\" go in\n[Discussions](https://github.com/seq000/screengraft/discussions).\n\nIf the photograph or the UI is confidential — a client shot, something\nunreleased — email **screengraft@fraczyk.design** instead of posting it.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). The short version: there are tests, they\nrun in CI, and a change to the compositing engine needs a measurement, not an\nopinion.\n\n\n**Testing a change without reinstalling.** The desktop app snapshots an installed plugin per session and only refreshes it after *Check for updates*, so release → check → new session is a slow loop. Instead, run `scripts/dev-root.sh` once in your checkout: it writes `~/.screengraft/dev-root`, and from then on every session's `launch.sh` — including the installed copy's — runs the UI from your tree. The badge reads `dev <sha>+` while it does. `scripts/dev-root.sh off` restores the installed copy. Only `SKILL.md` and `mcp/server.py` changes still need a real update, because the app loads those itself.\n\n## Licence\n\nMIT. The bundled Mona Sans subset is SIL OFL — see `ui/fonts/OFL.txt`.\n","readmeFilename":"README.md"}